mirror of
https://codeberg.org/unspeaker/tek.git
synced 2026-08-09 06:46:56 +02:00
launch clips
This commit is contained in:
parent
8a2693c297
commit
a4061535b5
7 changed files with 117 additions and 28 deletions
|
|
@ -43,12 +43,31 @@ pub const KEYMAP_TRACKS: &'static [KeyBinding<Launcher>] = keymap!(Launcher {
|
|||
[Char(','), NONE, "clip_prev", "set clip to last phrase", clip_prev],
|
||||
[Delete, CONTROL, "delete_track", "delete track", delete_track],
|
||||
[Char('d'), CONTROL, "duplicate", "duplicate scene or track", duplicate],
|
||||
[Enter, NONE, "clip_enter", "play or record clip or stop and advance", clip_enter],
|
||||
[Enter, NONE, "activate", "activate item at cursor", activate],
|
||||
});
|
||||
fn duplicate (_: &mut Launcher) -> Usually<bool> {
|
||||
Ok(true)
|
||||
}
|
||||
fn clip_enter (_: &mut Launcher) -> Usually<bool> {
|
||||
fn activate (state: &mut Launcher) -> Usually<bool> {
|
||||
if let (
|
||||
Some((scene_id, scene)),
|
||||
Some((track_id, track)),
|
||||
) = (state.scene(), state.track()) {
|
||||
// Launch clip
|
||||
if let Some(Some(phrase_id)) = scene.clips.get(track_id) {
|
||||
track.sequencer.state().sequence = *phrase_id;
|
||||
}
|
||||
} else if let Some((scene_id, scene)) = state.scene() {
|
||||
// Launch scene
|
||||
for (track_id, track) in state.tracks.iter().enumerate() {
|
||||
if let Some(Some(phrase_id)) = scene.clips.get(track_id) {
|
||||
track.sequencer.state().sequence = *phrase_id;
|
||||
}
|
||||
}
|
||||
} else if let Some((track_id, track)) = state.track() {
|
||||
// Rename track?
|
||||
}
|
||||
|
||||
//let track = state.active_track().unwrap();
|
||||
//let scene = state.active_scene();
|
||||
//if state.cursor.1 >= 2 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue