mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 04:06:45 +01:00
rebind sequencer keys
This commit is contained in:
parent
27b1c27891
commit
98fa0c4c4f
4 changed files with 31 additions and 17 deletions
|
|
@ -266,6 +266,12 @@ impl<E: Engine> Arrangement<E> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
pub fn zoom_in (&mut self) {
|
||||||
|
todo!("zoom in")
|
||||||
|
}
|
||||||
|
pub fn zoom_out (&mut self) {
|
||||||
|
todo!("zoom in")
|
||||||
|
}
|
||||||
pub fn is_first_row (&self) -> bool {
|
pub fn is_first_row (&self) -> bool {
|
||||||
let selected = self.selected;
|
let selected = self.selected;
|
||||||
selected.is_mix() || selected.is_track()
|
selected.is_mix() || selected.is_track()
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,10 @@ impl Handle<Tui> for Arrangement<Tui> {
|
||||||
key!(KeyCode::Enter) => { self.activate(); },
|
key!(KeyCode::Enter) => { self.activate(); },
|
||||||
key!(KeyCode::Char('.')) => { self.increment(); },
|
key!(KeyCode::Char('.')) => { self.increment(); },
|
||||||
key!(KeyCode::Char(',')) => { self.decrement(); },
|
key!(KeyCode::Char(',')) => { self.decrement(); },
|
||||||
|
key!(KeyCode::Char('+')) => { self.zoom_in(); },
|
||||||
|
key!(KeyCode::Char('=')) => { self.zoom_in(); },
|
||||||
|
key!(KeyCode::Char('_')) => { self.zoom_out(); },
|
||||||
|
key!(KeyCode::Char('-')) => { self.zoom_out(); },
|
||||||
key!(KeyCode::Char('<')) => { self.move_back(); },
|
key!(KeyCode::Char('<')) => { self.move_back(); },
|
||||||
key!(KeyCode::Char('>')) => { self.move_forward(); },
|
key!(KeyCode::Char('>')) => { self.move_forward(); },
|
||||||
key!(KeyCode::Char('c')) => { self.randomize_color(); },
|
key!(KeyCode::Char('c')) => { self.randomize_color(); },
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ impl Content for ArrangerStatusBar {
|
||||||
Self::ArrangementMix => command(&[
|
Self::ArrangementMix => command(&[
|
||||||
["", "c", "olor"],
|
["", "c", "olor"],
|
||||||
["", ",.", "scale rows"],
|
["", ",.", "scale rows"],
|
||||||
["", "<>", "resize view"],
|
["", "+-", "resize view"],
|
||||||
]),
|
]),
|
||||||
Self::ArrangementClip => command(&[
|
Self::ArrangementClip => command(&[
|
||||||
["", "g", "et"],
|
["", "g", "et"],
|
||||||
|
|
@ -71,19 +71,19 @@ impl Content for ArrangerStatusBar {
|
||||||
["re", "n", "ame"],
|
["re", "n", "ame"],
|
||||||
["leng", "t", "h"],
|
["leng", "t", "h"],
|
||||||
["", ",.", "move"],
|
["", ",.", "move"],
|
||||||
["", "<>", "resize view"],
|
["", "+-", "resize view"],
|
||||||
]),
|
]),
|
||||||
Self::PhraseView => command(&[
|
Self::PhraseView => command(&[
|
||||||
["", "enter", " edit"],
|
["", "enter", " edit"],
|
||||||
["", "arrows/pgup/pgdn", " scroll"],
|
["", "arrows/pgup/pgdn", " scroll"],
|
||||||
["", ",.", "zoom"],
|
["", "+=", "zoom"],
|
||||||
]),
|
]),
|
||||||
Self::PhraseEdit => command(&[
|
Self::PhraseEdit => command(&[
|
||||||
["", "esc", " exit"],
|
["", "esc", " exit"],
|
||||||
["", "a", "ppend"],
|
["", "a", "ppend"],
|
||||||
["", "s", "et"],
|
["", "s", "et"],
|
||||||
["", ",.", "length"],
|
["", "][", "length"],
|
||||||
["", "<>", "zoom"],
|
["", "+-", "zoom"],
|
||||||
]),
|
]),
|
||||||
_ => command(&[])
|
_ => command(&[])
|
||||||
};
|
};
|
||||||
|
|
@ -259,13 +259,13 @@ impl<'a> Content for VerticalArranger<'a, Tui> {
|
||||||
to.render_in(clip_area, &CORNERS)?;
|
to.render_in(clip_area, &CORNERS)?;
|
||||||
//to.fill_bg(clip_area, Color::Rgb(40, 50, 30));
|
//to.fill_bg(clip_area, Color::Rgb(40, 50, 30));
|
||||||
} else if let Some(track_area) = track_area {
|
} else if let Some(track_area) = track_area {
|
||||||
to.render_in(track_area.clip_h(2u16), &CORNERS)?;
|
to.render_in(track_area.clip_h(2), &CORNERS)?;
|
||||||
//to.fill_bg(track_area, Color::Rgb(40, 50, 30));
|
//to.fill_bg(track_area, Color::Rgb(40, 50, 30));
|
||||||
} else if let Some(scene_area) = scene_area {
|
} else if let Some(scene_area) = scene_area {
|
||||||
to.render_in(scene_area.clip_w(offset-1), &CORNERS)?;
|
to.render_in(scene_area.clip_w(offset-1), &CORNERS)?;
|
||||||
//to.fill_bg(scene_area, Color::Rgb(40, 50, 30));
|
//to.fill_bg(scene_area, Color::Rgb(40, 50, 30));
|
||||||
} else {
|
} else {
|
||||||
to.render_in(area.clip_w(offset-1).clip_h(2u16), &CORNERS)?;
|
to.render_in(area.clip_w(offset-1).clip_h(2), &CORNERS)?;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
|
||||||
|
|
@ -107,19 +107,23 @@ impl Handle<Tui> for PhraseEditor<Tui> {
|
||||||
true => { self.time_axis.point_inc(self.time_axis.scale); },
|
true => { self.time_axis.point_inc(self.time_axis.scale); },
|
||||||
false => { self.time_axis.start_inc(self.time_axis.scale); },
|
false => { self.time_axis.start_inc(self.time_axis.scale); },
|
||||||
},
|
},
|
||||||
key!(KeyCode::Char('>')) => {
|
key!(KeyCode::Char('-')) => {
|
||||||
self.time_axis.scale = prev_note_length(self.time_axis.scale)
|
|
||||||
},
|
|
||||||
key!(KeyCode::Char('<')) => {
|
|
||||||
self.time_axis.scale = next_note_length(self.time_axis.scale)
|
self.time_axis.scale = next_note_length(self.time_axis.scale)
|
||||||
},
|
},
|
||||||
key!(KeyCode::Char(',')) => match self.entered {
|
key!(KeyCode::Char('_')) => {
|
||||||
true => { self.note_len = prev_note_length(self.note_len) },
|
self.time_axis.scale = next_note_length(self.time_axis.scale)
|
||||||
false => { self.time_axis.scale = next_note_length(self.time_axis.scale) },
|
|
||||||
},
|
},
|
||||||
key!(KeyCode::Char('.')) => match self.entered {
|
key!(KeyCode::Char('=')) => {
|
||||||
true => { self.note_len = next_note_length(self.note_len) },
|
self.time_axis.scale = prev_note_length(self.time_axis.scale)
|
||||||
false => { self.time_axis.scale = prev_note_length(self.time_axis.scale) },
|
},
|
||||||
|
key!(KeyCode::Char('+')) => {
|
||||||
|
self.time_axis.scale = prev_note_length(self.time_axis.scale)
|
||||||
|
},
|
||||||
|
key!(KeyCode::Char('[')) => if self.entered {
|
||||||
|
self.note_len = prev_note_length(self.note_len)
|
||||||
|
},
|
||||||
|
key!(KeyCode::Char(']')) => if self.entered {
|
||||||
|
self.note_len = next_note_length(self.note_len)
|
||||||
},
|
},
|
||||||
key!(KeyCode::Char('a')) => if self.entered {
|
key!(KeyCode::Char('a')) => if self.entered {
|
||||||
self.put();
|
self.put();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue