mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-09 05:06:43 +01:00
redraw editor sooner
This commit is contained in:
parent
9cbe805c46
commit
059b4c0aa8
4 changed files with 30 additions and 81 deletions
|
|
@ -138,8 +138,12 @@ impl<E: Engine> Arranger<E> {
|
|||
Ok(Some(true))
|
||||
}
|
||||
/// Focus the editor with the current phrase
|
||||
pub fn show_phrase (&mut self) {
|
||||
self.editor.show(self.arrangement.phrase().as_ref());
|
||||
}
|
||||
/// Focus the editor with the current phrase
|
||||
pub fn edit_phrase (&mut self) {
|
||||
self.editor.phrase = self.arrangement.phrase().clone();
|
||||
self.show_phrase();
|
||||
self.focus(ArrangerFocus::PhraseEditor);
|
||||
}
|
||||
/// Rename the selected track, scene, or clip
|
||||
|
|
@ -237,7 +241,6 @@ impl<E: Engine> Arrangement<E> {
|
|||
ArrangementFocus::Clip(_, _) => self.phrase_del(),
|
||||
_ => {}
|
||||
}
|
||||
self.show_phrase()
|
||||
}
|
||||
pub fn increment (&mut self) {
|
||||
match self.selected {
|
||||
|
|
@ -246,7 +249,6 @@ impl<E: Engine> Arrangement<E> {
|
|||
ArrangementFocus::Clip(_, _) => self.phrase_next(),
|
||||
_ => {}
|
||||
}
|
||||
self.show_phrase()
|
||||
}
|
||||
pub fn decrement (&mut self) {
|
||||
match self.selected {
|
||||
|
|
@ -255,7 +257,6 @@ impl<E: Engine> Arrangement<E> {
|
|||
ArrangementFocus::Clip(_, _) => self.phrase_prev(),
|
||||
_ => {}
|
||||
}
|
||||
self.show_phrase()
|
||||
}
|
||||
pub fn is_first_row (&self) -> bool {
|
||||
let selected = self.selected;
|
||||
|
|
@ -279,28 +280,24 @@ impl<E: Engine> Arrangement<E> {
|
|||
ArrangementViewMode::Horizontal => self.track_prev(),
|
||||
_ => self.scene_prev(),
|
||||
};
|
||||
self.show_phrase();
|
||||
}
|
||||
pub fn go_down (&mut self) {
|
||||
match self.mode {
|
||||
ArrangementViewMode::Horizontal => self.track_next(),
|
||||
_ => self.scene_next(),
|
||||
};
|
||||
self.show_phrase();
|
||||
}
|
||||
pub fn go_left (&mut self) {
|
||||
match self.mode {
|
||||
ArrangementViewMode::Horizontal => self.scene_prev(),
|
||||
_ => self.track_prev(),
|
||||
};
|
||||
self.show_phrase();
|
||||
}
|
||||
pub fn go_right (&mut self) {
|
||||
match self.mode {
|
||||
ArrangementViewMode::Horizontal => self.scene_next(),
|
||||
_ => self.track_next(),
|
||||
};
|
||||
self.show_phrase();
|
||||
}
|
||||
pub fn move_back (&mut self) {
|
||||
match self.selected {
|
||||
|
|
@ -442,16 +439,6 @@ impl<E: Engine> Arrangement<E> {
|
|||
.map(|track|self.tracks.get_mut(track))
|
||||
.flatten()
|
||||
}
|
||||
pub fn show_phrase (&mut self) {
|
||||
let (scene, track) = (self.selected.scene(), self.selected.track());
|
||||
if let (Some(scene_index), Some(track_index)) = (scene, track) {
|
||||
let scene = self.scenes.get(scene_index);
|
||||
let track = self.tracks.get_mut(track_index);
|
||||
if let (Some(scene), Some(track)) = (scene, track) {
|
||||
track.player.phrase = scene.clips[track_index].clone()
|
||||
}
|
||||
}
|
||||
}
|
||||
pub fn phrase (&self) -> Option<Arc<RwLock<Phrase>>> {
|
||||
self.scene()?.clips.get(self.selected.track()?)?.clone()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue