diff --git a/Cargo.lock b/Cargo.lock index f12bbd2e..818ce2c4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1414,11 +1414,11 @@ name = "tek" version = "0.2.0" dependencies = [ "backtrace", - "livi", "palette", "rand", "tek_jack", "tek_midi", + "tek_plugin", "tek_sampler", "tek_time", "tek_tui", @@ -1474,6 +1474,17 @@ dependencies = [ "tek_tui", ] +[[package]] +name = "tek_plugin" +version = "0.2.0" +dependencies = [ + "livi", + "tek_jack", + "tek_midi", + "tek_time", + "tek_tui", +] + [[package]] name = "tek_sampler" version = "0.2.0" diff --git a/Cargo.toml b/Cargo.toml index fa0a504b..46faf09a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,6 +7,7 @@ members = [ "./jack", "./midi", "./output", + "./plugin", "./sampler", "./tek", "./time", diff --git a/Justfile b/Justfile index 24518c7b..63dea41c 100644 --- a/Justfile +++ b/Justfile @@ -14,7 +14,7 @@ test: cargo test cloc: - for src in {cli,edn/src,input/src,jack/src,midi/src,output/src,tek/src,time/src,tui/src}; do echo; echo $src; cloc --quiet $src; done + for src in {cli,edn/src,input/src,jack/src,midi/src,output/src,plugin/src,sampler/src,tek/src,time/src,tui/src}; do echo; echo $src; cloc --quiet $src; done status: cargo c diff --git a/plugin/Cargo.toml b/plugin/Cargo.toml new file mode 100644 index 00000000..6d571136 --- /dev/null +++ b/plugin/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "tek_plugin" +edition = "2021" +version = "0.2.0" + +[dependencies] +tek_tui = { path = "../tui" } +tek_jack = { path = "../jack" } +tek_time = { path = "../time" } +tek_midi = { path = "../midi" } + +livi = "0.7.4" +#once_cell = "1.19.0" +#no_deadlocks = "1.3.2" +#suil-rs = { path = "../suil" } +#vst = "0.4.0" +#vst3 = "0.1.0" +#winit = { version = "0.30.4", features = [ "x11" ] } diff --git a/plugin/src/lib.rs b/plugin/src/lib.rs new file mode 100644 index 00000000..26249c1b --- /dev/null +++ b/plugin/src/lib.rs @@ -0,0 +1,17 @@ +mod plugin; pub use self::plugin::*; +mod lv2; pub use self::lv2::*; + +pub(crate) use ::tek_jack::{*, jack::*}; +pub(crate) use ::tek_tui::{ + *, + tek_output::*, + tek_input::*, + tek_edn::*, + ratatui::prelude::*, + crossterm::event::*, +}; + +pub(crate) use std::cmp::Ord; +pub(crate) use std::fmt::{Debug, Formatter}; +pub(crate) use std::sync::{Arc, RwLock}; +pub(crate) use std::thread::JoinHandle; diff --git a/tek/src/plugin/lv2.rs b/plugin/src/lv2.rs similarity index 100% rename from tek/src/plugin/lv2.rs rename to plugin/src/lv2.rs diff --git a/tek/src/plugin/lv2_gui.rs b/plugin/src/lv2_gui.rs similarity index 100% rename from tek/src/plugin/lv2_gui.rs rename to plugin/src/lv2_gui.rs diff --git a/tek/src/plugin/lv2_tui.rs b/plugin/src/lv2_tui.rs similarity index 100% rename from tek/src/plugin/lv2_tui.rs rename to plugin/src/lv2_tui.rs diff --git a/tek/src/plugin.rs b/plugin/src/plugin.rs similarity index 99% rename from tek/src/plugin.rs rename to plugin/src/plugin.rs index fe058038..49cfb89d 100644 --- a/tek/src/plugin.rs +++ b/plugin/src/plugin.rs @@ -1,8 +1,5 @@ use crate::*; -pub mod lv2; pub(crate) use lv2::*; -pub use self::lv2::LV2Plugin; - /// A plugin device. #[derive(Debug)] pub struct Plugin { diff --git a/tek/src/plugin/vst2_tui.rs b/plugin/src/vst2_tui.rs similarity index 100% rename from tek/src/plugin/vst2_tui.rs rename to plugin/src/vst2_tui.rs diff --git a/tek/src/plugin/vst3_tui.rs b/plugin/src/vst3_tui.rs similarity index 100% rename from tek/src/plugin/vst3_tui.rs rename to plugin/src/vst3_tui.rs diff --git a/sampler/src/lib.rs b/sampler/src/lib.rs index 68b5bf7f..ab5aaecc 100644 --- a/sampler/src/lib.rs +++ b/sampler/src/lib.rs @@ -1,6 +1,8 @@ mod sampler; pub use self::sampler::*; mod sampler_tui; pub use self::sampler_tui::*; +pub(crate) use ::tek_jack::{*, jack::*}; +pub(crate) use ::tek_midi::{*, midly::{*, live::*, num::*}}; pub(crate) use ::tek_tui::{ *, tek_output::*, @@ -9,8 +11,6 @@ pub(crate) use ::tek_tui::{ ratatui::prelude::*, crossterm::event::*, }; -pub(crate) use ::tek_jack::{*, jack::*}; -pub(crate) use ::tek_midi::{*, midly::{*, live::*, num::*}}; pub(crate) use std::sync::{Arc, RwLock, atomic::{AtomicUsize, Ordering::Relaxed}}; pub(crate) use std::fs::File; diff --git a/tek/Cargo.toml b/tek/Cargo.toml index 8dc7134b..69148a37 100644 --- a/tek/Cargo.toml +++ b/tek/Cargo.toml @@ -9,18 +9,12 @@ tek_jack = { path = "../jack" } tek_time = { path = "../time" } tek_midi = { path = "../midi" } tek_sampler = { path = "../sampler" } +tek_plugin = { path = "../plugin" } backtrace = "0.3.72" -livi = "0.7.4" palette = { version = "0.7.6", features = [ "random" ] } rand = "0.8.5" toml = "0.8.12" -#once_cell = "1.19.0" -#no_deadlocks = "1.3.2" -#suil-rs = { path = "../suil" } -#vst = "0.4.0" -#vst3 = "0.1.0" -#winit = { version = "0.30.4", features = [ "x11" ] } [features] default = [] diff --git a/tek/src/lib.rs b/tek/src/lib.rs index eca5375c..5f4a75f3 100644 --- a/tek/src/lib.rs +++ b/tek/src/lib.rs @@ -14,7 +14,6 @@ pub mod app; pub use self::app::*; pub mod arranger; pub use self::arranger::*; pub mod groovebox; pub use self::groovebox::*; pub mod mixer; pub use self::mixer::*; -pub mod plugin; pub use self::plugin::*; pub mod pool; pub use self::pool::*; pub mod sequencer; pub use self::sequencer::*; @@ -22,6 +21,7 @@ pub use ::tek_time; pub use ::tek_time::*; pub use ::tek_jack; pub use ::tek_jack::{*, jack::{*, contrib::*}}; pub use ::tek_midi; pub use ::tek_midi::{*, midly::{*, num::*, live::*}}; pub use ::tek_sampler::{self, *}; +pub use ::tek_plugin::{self, *}; pub use ::tek_tui::{ *, tek_edn::*,