wip: reenable sampling

This commit is contained in:
🪞👃🪞 2025-04-27 17:19:33 +03:00
parent e9c825e865
commit efd182f302
6 changed files with 61 additions and 38 deletions

View file

@ -10,4 +10,4 @@
(@right select :sample-right)
(@d select :sample-right)
(@r record/begin :sample)
(@r record/toggle :sample)

View file

@ -24,12 +24,16 @@ expose!([self: Tek]
([isize])
([Color])
([Arc<RwLock<MidiClip>>])
([u7] (":pitch" (self.editor().map(|e|e.note_pos()).unwrap() as u8).into()))
([u16] (":w-sidebar" self.w_sidebar()))
([usize] (":scene-last" self.scenes.len())
(":track-last" self.tracks.len()))
([Option<usize>] (":scene" self.selected.scene())
(":track" self.selected.track()))
([u7]
(":pitch" (self.editor().map(|e|e.note_pos()).unwrap() as u8).into()))
([u16]
(":w-sidebar" self.w_sidebar()))
([usize]
(":scene-last" self.scenes.len())
(":track-last" self.tracks.len()))
([Option<usize>]
(":scene" self.selected.scene())
(":track" self.selected.track()))
([MaybeClip]
(":clip" match self.selected {
Selection::Clip(t, s) => self.scenes[s].clips[t].clone(),
@ -108,7 +112,7 @@ impose!([app: Tek]
defcom!([self, app: Tek]
(TekCommand
(Sampler [cmd: SamplerCommand] cmd_todo!("\n\rtodo: sampler {cmd:?}"))
(Sampler [cmd: SamplerCommand] app.sampler_mut().map(|s|cmd.delegate(s, Self::Sampler)).transpose()?.flatten())
(Scene [cmd: SceneCommand] cmd.delegate(app, Self::Scene)?)
(Track [cmd: TrackCommand] cmd.delegate(app, Self::Track)?)
(Output [cmd: OutputCommand] cmd.delegate(app, Self::Output)?)

View file

@ -316,7 +316,12 @@ impl Tek {
/// Get the first sampler of the active track
pub fn sampler (&self) -> Option<&Sampler> {
self.tracks.get(0).map(|t|t.sampler(0)).flatten()
self.track().map(|t|t.sampler(0)).flatten()
}
/// Get the first sampler of the active track
pub fn sampler_mut (&mut self) -> Option<&mut Sampler> {
self.track_mut().map(|t|t.sampler_mut(0)).flatten()
}
/// Set the color of the selected entity