rebind sequencer keys

This commit is contained in:
🪞👃🪞 2024-10-23 20:19:51 +03:00
parent 27b1c27891
commit 98fa0c4c4f
4 changed files with 31 additions and 17 deletions

View file

@ -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 {
let selected = self.selected;
selected.is_mix() || selected.is_track()

View file

@ -81,6 +81,10 @@ impl Handle<Tui> for Arrangement<Tui> {
key!(KeyCode::Enter) => { self.activate(); },
key!(KeyCode::Char('.')) => { self.increment(); },
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_forward(); },
key!(KeyCode::Char('c')) => { self.randomize_color(); },

View file

@ -42,7 +42,7 @@ impl Content for ArrangerStatusBar {
Self::ArrangementMix => command(&[
["", "c", "olor"],
["", ",.", "scale rows"],
["", "<>", "resize view"],
["", "+-", "resize view"],
]),
Self::ArrangementClip => command(&[
["", "g", "et"],
@ -71,19 +71,19 @@ impl Content for ArrangerStatusBar {
["re", "n", "ame"],
["leng", "t", "h"],
["", ",.", "move"],
["", "<>", "resize view"],
["", "+-", "resize view"],
]),
Self::PhraseView => command(&[
["", "enter", " edit"],
["", "arrows/pgup/pgdn", " scroll"],
["", ",.", "zoom"],
["", "+=", "zoom"],
]),
Self::PhraseEdit => command(&[
["", "esc", " exit"],
["", "a", "ppend"],
["", "s", "et"],
["", ",.", "length"],
["", "<>", "zoom"],
["", "][", "length"],
["", "+-", "zoom"],
]),
_ => command(&[])
};
@ -259,13 +259,13 @@ impl<'a> Content for VerticalArranger<'a, Tui> {
to.render_in(clip_area, &CORNERS)?;
//to.fill_bg(clip_area, Color::Rgb(40, 50, 30));
} 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));
} else if let Some(scene_area) = scene_area {
to.render_in(scene_area.clip_w(offset-1), &CORNERS)?;
//to.fill_bg(scene_area, Color::Rgb(40, 50, 30));
} 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(())

View file

@ -107,19 +107,23 @@ impl Handle<Tui> for PhraseEditor<Tui> {
true => { self.time_axis.point_inc(self.time_axis.scale); },
false => { self.time_axis.start_inc(self.time_axis.scale); },
},
key!(KeyCode::Char('>')) => {
self.time_axis.scale = prev_note_length(self.time_axis.scale)
},
key!(KeyCode::Char('<')) => {
key!(KeyCode::Char('-')) => {
self.time_axis.scale = next_note_length(self.time_axis.scale)
},
key!(KeyCode::Char(',')) => match self.entered {
true => { self.note_len = prev_note_length(self.note_len) },
false => { self.time_axis.scale = next_note_length(self.time_axis.scale) },
key!(KeyCode::Char('_')) => {
self.time_axis.scale = next_note_length(self.time_axis.scale)
},
key!(KeyCode::Char('.')) => match self.entered {
true => { self.note_len = next_note_length(self.note_len) },
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('+')) => {
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 {
self.put();