diff --git a/crates/tek/src/api.rs b/crates/tek/src/api.rs index 4a83fd07..cc13d65c 100644 --- a/crates/tek/src/api.rs +++ b/crates/tek/src/api.rs @@ -1,5 +1,4 @@ mod phrase; pub(crate) use phrase::*; -mod clock; pub(crate) use clock::*; mod scene; pub(crate) use scene::*; mod track; pub(crate) use track::*; mod sampler; pub(crate) use sampler::*; diff --git a/crates/tek/src/api/note.rs b/crates/tek/src/api/note.rs deleted file mode 100644 index e69de29b..00000000 diff --git a/crates/tek/src/api/timeline.ts b/crates/tek/src/api/timeline.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/crates/tek/src/core.rs b/crates/tek/src/core.rs index a7cb629a..d90e39c8 100644 --- a/crates/tek/src/core.rs +++ b/crates/tek/src/core.rs @@ -4,10 +4,6 @@ pub(crate) mod engine; pub(crate) use engine::*; pub(crate) mod focus; pub(crate) use focus::*; pub(crate) mod input; pub(crate) use input::*; pub(crate) mod output; pub(crate) use output::*; -pub(crate) mod perf; pub(crate) use perf::*; -pub(crate) mod pitch; pub(crate) use pitch::*; -pub(crate) mod space; pub(crate) use space::*; -pub(crate) mod time; pub(crate) use time::*; pub use self::{ engine::Engine, diff --git a/crates/tek/src/core/pitch.rs b/crates/tek/src/core/pitch.rs deleted file mode 100644 index e442c60f..00000000 --- a/crates/tek/src/core/pitch.rs +++ /dev/null @@ -1,20 +0,0 @@ -pub fn to_note_name (n: usize) -> &'static str { - if n > 127 { - panic!("to_note_name({n}): must be 0-127"); - } - MIDI_NOTE_NAMES[n] -} - -pub const MIDI_NOTE_NAMES: [&'static str;128] = [ - "C0", "C#0", "D0", "D#0", "E0", "F0", "F#0", "G0", "G#0", "A0", "A#0", "B0", - "C1", "C#1", "D1", "D#1", "E1", "F1", "F#1", "G1", "G#1", "A1", "A#1", "B1", - "C2", "C#2", "D2", "D#2", "E2", "F2", "F#2", "G2", "G#2", "A2", "A#2", "B2", - "C3", "C#3", "D3", "D#3", "E3", "F3", "F#3", "G3", "G#3", "A3", "A#3", "B3", - "C4", "C#4", "D4", "D#4", "E4", "F4", "F#4", "G4", "G#4", "A4", "A#4", "B4", - "C5", "C#5", "D5", "D#5", "E5", "F5", "F#5", "G5", "G#5", "A5", "A#5", "B5", - "C6", "C#6", "D6", "D#6", "E6", "F6", "F#6", "G6", "G#6", "A6", "A#6", "B6", - "C7", "C#7", "D7", "D#7", "E7", "F7", "F#7", "G7", "G#7", "A7", "A#7", "B7", - "C8", "C#8", "D8", "D#8", "E8", "F8", "F#8", "G8", "G#8", "A8", "A#8", "B8", - "C9", "C#9", "D9", "D#9", "E9", "F9", "F#9", "G9", "G#9", "A9", "A#9", "B9", - "C10", "C#10", "D10", "D#10", "E10", "F10", "F#10", "G10", -]; diff --git a/crates/tek/src/lib.rs b/crates/tek/src/lib.rs index b570e28d..f63205e5 100644 --- a/crates/tek/src/lib.rs +++ b/crates/tek/src/lib.rs @@ -1,3 +1,13 @@ +pub mod core; pub(crate) use self::core::*; +pub mod layout; pub(crate) use self::layout::*; +pub mod api; pub(crate) use self::api::*; +pub mod tui; pub(crate) use self::tui::*; +pub mod edn; pub(crate) use self::edn::*; +pub mod jack; pub(crate) use self::jack::*; +pub mod midi; pub(crate) use self::midi::*; +pub mod time; pub(crate) use self::time::*; +pub mod space; pub(crate) use self::space::*; + /// Standard result type. pub type Usually = Result>; @@ -19,27 +29,6 @@ pub type Perhaps = Result, Box>; ($($name:ident)*) => { $(#[cfg(test)] mod $name;)* }; } -pub mod core; -pub(crate) use core::*; - -pub mod layout; pub(crate) -use layout::*; - -pub mod api; -pub(crate) use api::*; - -pub mod tui; -pub(crate) use tui::*; - -pub mod edn; -pub(crate) use edn::*; - -pub mod jack; -pub(crate) use jack::*; - -pub mod midi; -pub(crate) use midi::*; - testmod! { test } pub(crate) use clap::{self, Parser}; diff --git a/crates/tek/src/midi.rs b/crates/tek/src/midi.rs index a7ed508f..db92d43f 100644 --- a/crates/tek/src/midi.rs +++ b/crates/tek/src/midi.rs @@ -34,3 +34,24 @@ pub fn update_keys (keys: &mut[bool;128], message: &MidiMessage) { _ => {} } } + +pub fn to_note_name (n: usize) -> &'static str { + if n > 127 { + panic!("to_note_name({n}): must be 0-127"); + } + MIDI_NOTE_NAMES[n] +} + +pub const MIDI_NOTE_NAMES: [&'static str;128] = [ + "C0", "C#0", "D0", "D#0", "E0", "F0", "F#0", "G0", "G#0", "A0", "A#0", "B0", + "C1", "C#1", "D1", "D#1", "E1", "F1", "F#1", "G1", "G#1", "A1", "A#1", "B1", + "C2", "C#2", "D2", "D#2", "E2", "F2", "F#2", "G2", "G#2", "A2", "A#2", "B2", + "C3", "C#3", "D3", "D#3", "E3", "F3", "F#3", "G3", "G#3", "A3", "A#3", "B3", + "C4", "C#4", "D4", "D#4", "E4", "F4", "F#4", "G4", "G#4", "A4", "A#4", "B4", + "C5", "C#5", "D5", "D#5", "E5", "F5", "F#5", "G5", "G#5", "A5", "A#5", "B5", + "C6", "C#6", "D6", "D#6", "E6", "F6", "F#6", "G6", "G#6", "A6", "A#6", "B6", + "C7", "C#7", "D7", "D#7", "E7", "F7", "F#7", "G7", "G#7", "A7", "A#7", "B7", + "C8", "C#8", "D8", "D#8", "E8", "F8", "F#8", "G8", "G#8", "A8", "A#8", "B8", + "C9", "C#9", "D9", "D#9", "E9", "F9", "F#9", "G9", "G#9", "A9", "A#9", "B9", + "C10", "C#10", "D10", "D#10", "E10", "F10", "F#10", "G10", +]; diff --git a/crates/tek/src/core/space.rs b/crates/tek/src/space.rs similarity index 100% rename from crates/tek/src/core/space.rs rename to crates/tek/src/space.rs diff --git a/crates/tek/src/core/time.rs b/crates/tek/src/time.rs similarity index 99% rename from crates/tek/src/core/time.rs rename to crates/tek/src/time.rs index 6677431f..c8e61490 100644 --- a/crates/tek/src/core/time.rs +++ b/crates/tek/src/time.rs @@ -1,3 +1,7 @@ +pub(crate) mod perf; pub(crate) use perf::*; +pub(crate) mod clock; pub(crate) use clock::*; +pub(crate) use self::clock::ClockCommand; + use crate::*; use std::iter::Iterator; diff --git a/crates/tek/src/api/clock.rs b/crates/tek/src/time/clock.rs similarity index 100% rename from crates/tek/src/api/clock.rs rename to crates/tek/src/time/clock.rs diff --git a/crates/tek/src/core/perf.rs b/crates/tek/src/time/perf.rs similarity index 100% rename from crates/tek/src/core/perf.rs rename to crates/tek/src/time/perf.rs diff --git a/crates/tek/src/tui/app_sequencer.rs b/crates/tek/src/tui/app_sequencer.rs index cf2a2fdb..16b62cab 100644 --- a/crates/tek/src/tui/app_sequencer.rs +++ b/crates/tek/src/tui/app_sequencer.rs @@ -1,4 +1,5 @@ -use crate::{*, api::ClockCommand::{Play, Pause}}; +use crate::*; +use ClockCommand::{Play, Pause}; use KeyCode::{Tab, BackTab, Char}; use SequencerCommand::*; use PhraseCommand::*; diff --git a/crates/tek/src/tui/app_transport.rs b/crates/tek/src/tui/app_transport.rs index 535bad5a..f368a621 100644 --- a/crates/tek/src/tui/app_transport.rs +++ b/crates/tek/src/tui/app_transport.rs @@ -1,5 +1,5 @@ use crate::*; -use crate::api::ClockCommand::{Play, Pause, SetBpm, SetQuant, SetSync}; +use ClockCommand::{Play, Pause, SetBpm, SetQuant, SetSync}; use TransportCommand::{Focus, Clock}; use FocusCommand::{Next, Prev}; use KeyCode::{Enter, Left, Right, Char};