diff --git a/Cargo.lock b/Cargo.lock
index fc37a383..40f6193f 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -102,9 +102,9 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
[[package]]
name = "backtrace"
-version = "0.3.74"
+version = "0.3.75"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a"
+checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002"
dependencies = [
"addr2line",
"cfg-if",
@@ -166,9 +166,9 @@ checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06"
[[package]]
name = "bytemuck"
-version = "1.22.0"
+version = "1.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540"
+checksum = "9134a6ef01ce4b366b50689c94f82c14bc72bc5d0386829828a2e2752ef7958c"
[[package]]
name = "cassowary"
@@ -471,9 +471,9 @@ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
[[package]]
name = "hashbrown"
-version = "0.15.2"
+version = "0.15.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
+checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3"
dependencies = [
"allocator-api2",
"equivalent",
@@ -869,7 +869,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall 0.5.11",
+ "redox_syscall 0.5.12",
"smallvec",
"windows-targets",
]
@@ -1113,9 +1113,9 @@ dependencies = [
[[package]]
name = "redox_syscall"
-version = "0.5.11"
+version = "0.5.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3"
+checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af"
dependencies = [
"bitflags 2.9.0",
]
@@ -1156,9 +1156,9 @@ dependencies = [
[[package]]
name = "rustix"
-version = "1.0.5"
+version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf"
+checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
dependencies = [
"bitflags 2.9.0",
"errno",
@@ -1499,9 +1499,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.100"
+version = "2.0.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
+checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
dependencies = [
"proc-macro2",
"quote",
@@ -1510,7 +1510,7 @@ dependencies = [
[[package]]
name = "tek"
-version = "0.2.1"
+version = "0.2.2"
dependencies = [
"backtrace",
"clap",
@@ -1529,7 +1529,7 @@ dependencies = [
[[package]]
name = "tek_cli"
-version = "0.2.1"
+version = "0.2.2"
dependencies = [
"clap",
"tek",
@@ -1537,17 +1537,18 @@ dependencies = [
[[package]]
name = "tek_jack"
-version = "0.2.1"
+version = "0.2.2"
dependencies = [
"jack",
]
[[package]]
name = "tek_midi"
-version = "0.2.1"
+version = "0.2.2"
dependencies = [
"midly",
"tek_jack",
+ "tek_midi",
"tek_time",
"tengri",
"uuid",
@@ -1555,7 +1556,7 @@ dependencies = [
[[package]]
name = "tek_plugin"
-version = "0.2.1"
+version = "0.2.2"
dependencies = [
"livi",
"tek_jack",
@@ -1566,7 +1567,7 @@ dependencies = [
[[package]]
name = "tek_sampler"
-version = "0.2.1"
+version = "0.2.2"
dependencies = [
"symphonia",
"tek_jack",
@@ -1578,7 +1579,7 @@ dependencies = [
[[package]]
name = "tek_time"
-version = "0.2.1"
+version = "0.2.2"
dependencies = [
"atomic_float",
"tek_jack",
@@ -1594,13 +1595,13 @@ dependencies = [
"fastrand",
"getrandom 0.3.2",
"once_cell",
- "rustix 1.0.5",
+ "rustix 1.0.7",
"windows-sys 0.59.0",
]
[[package]]
name = "tengri"
-version = "0.10.0"
+version = "0.11.0"
dependencies = [
"tengri_dsl",
"tengri_input",
@@ -1610,7 +1611,7 @@ dependencies = [
[[package]]
name = "tengri_dsl"
-version = "0.10.0"
+version = "0.11.0"
dependencies = [
"itertools 0.14.0",
"konst",
@@ -1619,21 +1620,21 @@ dependencies = [
[[package]]
name = "tengri_input"
-version = "0.10.0"
+version = "0.11.0"
dependencies = [
"tengri_dsl",
]
[[package]]
name = "tengri_output"
-version = "0.10.0"
+version = "0.11.0"
dependencies = [
"tengri_dsl",
]
[[package]]
name = "tengri_tui"
-version = "0.10.0"
+version = "0.11.0"
dependencies = [
"atomic_float",
"better-panic",
@@ -1691,9 +1692,9 @@ dependencies = [
[[package]]
name = "toml"
-version = "0.8.20"
+version = "0.8.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148"
+checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae"
dependencies = [
"serde",
"serde_spanned",
@@ -1703,26 +1704,33 @@ dependencies = [
[[package]]
name = "toml_datetime"
-version = "0.6.8"
+version = "0.6.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
+checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
-version = "0.22.24"
+version = "0.22.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474"
+checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e"
dependencies = [
"indexmap",
"serde",
"serde_spanned",
"toml_datetime",
+ "toml_write",
"winnow",
]
+[[package]]
+name = "toml_write"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076"
+
[[package]]
name = "typewit"
version = "1.11.0"
@@ -2004,9 +2012,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "winnow"
-version = "0.7.6"
+version = "0.7.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63d3fcd9bba44b03821e7d699eeee959f3126dcc4aa8e4ae18ec617c2a5cea10"
+checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec"
dependencies = [
"memchr",
]
@@ -2022,18 +2030,18 @@ dependencies = [
[[package]]
name = "zerocopy"
-version = "0.8.24"
+version = "0.8.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879"
+checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
-version = "0.8.24"
+version = "0.8.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be"
+checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef"
dependencies = [
"proc-macro2",
"quote",
diff --git a/Cargo.toml b/Cargo.toml
index 215d7797..54715113 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[workspace.package]
edition = "2021"
-version = "0.2.1"
+version = "0.2.2"
[workspace]
resolver = "2"
diff --git a/crates/app/src/view/view_layout.rs b/crates/app/src/view/view_layout.rs
index 34fb37e8..722b7007 100644
--- a/crates/app/src/view/view_layout.rs
+++ b/crates/app/src/view/view_layout.rs
@@ -1,59 +1,5 @@
use crate::*;
-/// A three-column layout.
-pub(crate) struct Tryptich {
- pub top: bool,
- pub h: u16,
- pub left: (u16, A),
- pub middle: (u16, B),
- pub right: (u16, C),
-}
-
-impl Tryptich<(), (), ()> {
- pub fn center (h: u16) -> Self {
- Self { h, top: false, left: (0, ()), middle: (0, ()), right: (0, ()) }
- }
- pub fn top (h: u16) -> Self {
- Self { h, top: true, left: (0, ()), middle: (0, ()), right: (0, ()) }
- }
-}
-
-impl Tryptich {
- pub fn left (self, w: u16, content: D) -> Tryptich {
- Tryptich { left: (w, content), ..self }
- }
- pub fn middle (self, w: u16, content: D) -> Tryptich {
- Tryptich { middle: (w, content), ..self }
- }
- pub fn right (self, w: u16, content: D) -> Tryptich {
- Tryptich { right: (w, content), ..self }
- }
-}
-
-impl Content for Tryptich
-where A: Content, B: Content, C: Content {
- fn content (&self) -> impl Render {
- let Self { top, h, left: (w_a, ref a), middle: (w_b, ref b), right: (w_c, ref c) } = *self;
- Fixed::y(h, if top {
- Bsp::a(
- Fill::x(Align::n(Fixed::x(w_b, Align::x(Tui::bg(Reset, b))))),
- Bsp::a(
- Fill::x(Align::nw(Fixed::x(w_a, Tui::bg(Reset, a)))),
- Fill::x(Align::ne(Fixed::x(w_c, Tui::bg(Reset, c)))),
- ),
- )
- } else {
- Bsp::a(
- Fill::xy(Align::c(Fixed::x(w_b, Align::x(Tui::bg(Reset, b))))),
- Bsp::a(
- Fill::xy(Align::w(Fixed::x(w_a, Tui::bg(Reset, a)))),
- Fill::xy(Align::e(Fixed::x(w_c, Tui::bg(Reset, c)))),
- ),
- )
- })
- }
-}
-
pub(crate) fn wrap (
bg: Color, fg: Color, content: impl Content
) -> impl Content {
diff --git a/crates/midi/Cargo.toml b/crates/midi/Cargo.toml
index a64a74a3..02c0aa6f 100644
--- a/crates/midi/Cargo.toml
+++ b/crates/midi/Cargo.toml
@@ -11,3 +11,6 @@ tek_time = { workspace = true }
midly = { workspace = true }
uuid = { workspace = true }
+
+[dev-dependencies]
+tek_midi = { workspace = true }
diff --git a/deps/tengri b/deps/tengri
index dd42a991..aa66760b 160000
--- a/deps/tengri
+++ b/deps/tengri
@@ -1 +1 @@
-Subproject commit dd42a99186440ffec3ad975c971241482dd4188a
+Subproject commit aa66760b8c18385e326b9b45e788978f386a6c78