reorder tracks and scenes

This commit is contained in:
🪞👃🪞 2024-10-18 17:33:21 +03:00
parent bbbf4309cb
commit 57cd9644e6

View file

@ -240,10 +240,41 @@ impl<E: Engine> Arrangement<E> {
self.show_phrase(); self.show_phrase();
} }
pub fn move_back (&mut self) { pub fn move_back (&mut self) {
todo!("arrangement: move back") match self.selected {
ArrangementFocus::Scene(s) => {
if s > 0 {
self.scenes.swap(s, s - 1);
self.selected = ArrangementFocus::Scene(s - 1);
}
},
ArrangementFocus::Track(t) => {
if t > 0 {
self.tracks.swap(t, t - 1);
self.selected = ArrangementFocus::Track(t - 1);
// FIXME: also swap clip order in scenes
}
},
_ => todo!("arrangement: move forward")
}
} }
pub fn move_forward (&mut self) { pub fn move_forward (&mut self) {
todo!("arrangement: move forward") match self.selected {
ArrangementFocus::Scene(s) => {
if s < self.scenes.len().saturating_sub(1) {
self.scenes.swap(s, s + 1);
self.selected = ArrangementFocus::Scene(s + 1);
}
},
ArrangementFocus::Track(t) => {
if t < self.tracks.len().saturating_sub(1) {
self.tracks.swap(t, t + 1);
self.selected = ArrangementFocus::Track(t + 1);
// FIXME: also swap clip order in scenes
}
},
_ => todo!("arrangement: move forward")
}
} }
} }
/// Methods for tracks in arrangement /// Methods for tracks in arrangement