From 2772d27ab889c5e20039e63b0a4cd768cdac230b Mon Sep 17 00:00:00 2001 From: Weird Constructor Date: Wed, 19 May 2021 03:58:33 +0200 Subject: [PATCH] added preliminary sampler node --- src/dsp/mod.rs | 11 +++++++++++ src/lib.rs | 10 ++++++++++ src/sample_lib.rs | 2 +- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/dsp/mod.rs b/src/dsp/mod.rs index d561b14..b766636 100644 --- a/src/dsp/mod.rs +++ b/src/dsp/mod.rs @@ -12,6 +12,8 @@ mod node_out; mod node_test; #[allow(non_upper_case_globals)] mod node_tseq; +#[allow(non_upper_case_globals)] +mod node_sampl; pub mod tracker; mod satom; @@ -31,6 +33,7 @@ use node_sin::Sin; use node_out::Out; use node_test::Test; use node_tseq::TSeq; +use node_sampl::Sampl; pub const MIDI_MAX_FREQ : f32 = 13289.75; @@ -270,6 +273,10 @@ macro_rules! node_list { [3 trk4] [4 trk5] [5 trk6], + sampl => Sampl UIType::Generic UICategory::Osc + (0 freq n_pit d_pit -1.0, 1.0, 440.0) + {1 0 sample audio_unloaded("") 0 0} + [0 sig], sin => Sin UIType::Generic UICategory::Osc (0 freq n_pit d_pit -1.0, 1.0, 440.0) [0 sig], @@ -310,6 +317,10 @@ pub mod labels { pub mod TSeq { pub const cmode : [&'static str; 3] = ["RowT", "PatT", "Phase"]; } + + pub mod Sampl { + pub const sample : [&'static str; 0] = []; + } } impl UICategory { diff --git a/src/lib.rs b/src/lib.rs index 446b21c..3674924 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -123,25 +123,35 @@ I have a pretty detailed TODO list in my private notebook. You need nightly rust: +```text rustup toolchain install nightly +``` To run the example: +```text cargo +nightly run --release --example jack_demo +``` You might need following dependencies (Ubuntu Linux): +```text sudo apt install libjack0 libjack-jackd2-dev qjackctl +``` These might work on Debian too: +```text sudo apt install libjack0 libjack-dev +``` ## Running the Automated Testsuite: There exists an automate test suite for the DSP and backend code: +```text cargo test +``` ## Known Bugs diff --git a/src/sample_lib.rs b/src/sample_lib.rs index b5267f8..0c0a79f 100644 --- a/src/sample_lib.rs +++ b/src/sample_lib.rs @@ -32,7 +32,7 @@ impl SampleLibrary { } } - /// Synchronous blocking loading of a sample from `path`. + /// Synchronous/blocking loading of a sample from `path`. /// Returns an SAtom reference that you can clone and send directly /// to the sampling node of your choice. ///