mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 19:56:42 +01:00
arranger: fix t keybind on main (thx @magicpotatobean)
This commit is contained in:
parent
75f8fd8746
commit
e684415c2f
3 changed files with 17 additions and 1 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
(@c color)
|
(@c color)
|
||||||
(@q launch)
|
(@q launch)
|
||||||
(@t select :track 0)
|
(@t select :select-track-header)
|
||||||
(@tab edit :clip)
|
(@tab edit :clip)
|
||||||
(@shift-I input add)
|
(@shift-I input add)
|
||||||
(@shift-O output add)
|
(@shift-O output add)
|
||||||
|
|
|
||||||
|
|
@ -131,6 +131,9 @@ handle!(TuiIn: |self: App, input|Ok(if let Some(command) = self.config.keys.comm
|
||||||
fn select_scene_prev (&self) -> Selection {
|
fn select_scene_prev (&self) -> Selection {
|
||||||
self.selected.scene_prev()
|
self.selected.scene_prev()
|
||||||
}
|
}
|
||||||
|
fn select_track_header (&self) -> Selection {
|
||||||
|
self.selected.track_header(self.tracks.len())
|
||||||
|
}
|
||||||
fn select_track_next (&self) -> Selection {
|
fn select_track_next (&self) -> Selection {
|
||||||
self.selected.track_next(self.tracks.len())
|
self.selected.track_next(self.tracks.len())
|
||||||
}
|
}
|
||||||
|
|
@ -373,16 +376,19 @@ impl<'state> Context<'state, ClockCommand> for App {
|
||||||
Context::get(&self.clock, iter)
|
Context::get(&self.clock, iter)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'state> Context<'state, MidiEditCommand> for App {
|
impl<'state> Context<'state, MidiEditCommand> for App {
|
||||||
fn get <'source> (&'state self, iter: &mut TokenIter<'source>) -> Option<MidiEditCommand> {
|
fn get <'source> (&'state self, iter: &mut TokenIter<'source>) -> Option<MidiEditCommand> {
|
||||||
self.editor().map(|e|Context::get(e, iter)).flatten()
|
self.editor().map(|e|Context::get(e, iter)).flatten()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'state> Context<'state, PoolCommand> for App {
|
impl<'state> Context<'state, PoolCommand> for App {
|
||||||
fn get <'source> (&'state self, iter: &mut TokenIter<'source>) -> Option<PoolCommand> {
|
fn get <'source> (&'state self, iter: &mut TokenIter<'source>) -> Option<PoolCommand> {
|
||||||
self.pool().map(|p|Context::get(p, iter)).flatten()
|
self.pool().map(|p|Context::get(p, iter)).flatten()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'state> Context<'state, SamplerCommand> for App {
|
impl<'state> Context<'state, SamplerCommand> for App {
|
||||||
fn get <'source> (&'state self, iter: &mut TokenIter<'source>) -> Option<SamplerCommand> {
|
fn get <'source> (&'state self, iter: &mut TokenIter<'source>) -> Option<SamplerCommand> {
|
||||||
self.sampler().map(|p|Context::get(p, iter)).flatten()
|
self.sampler().map(|p|Context::get(p, iter)).flatten()
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,16 @@ impl Selection {
|
||||||
_ => None
|
_ => None
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
pub fn track_header (&self, track_count: usize) -> Self {
|
||||||
|
use Selection::*;
|
||||||
|
match self {
|
||||||
|
Mix => Track(0),
|
||||||
|
Scene(_) => Mix,
|
||||||
|
Track(t) => Track((t + 1) % track_count),
|
||||||
|
TrackClip { track, .. } => Track(*track),
|
||||||
|
_ => todo!(),
|
||||||
|
}
|
||||||
|
}
|
||||||
pub fn track_next (&self, len: usize) -> Self {
|
pub fn track_next (&self, len: usize) -> Self {
|
||||||
use Selection::*;
|
use Selection::*;
|
||||||
match self {
|
match self {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue