implement phrase_next/phrase_prev

This commit is contained in:
🪞👃🪞 2024-10-14 22:53:12 +03:00
parent 05e0299f5f
commit 6accb265d9

View file

@ -309,52 +309,30 @@ impl<E: Engine> Arrangement<E> {
} }
} }
pub fn phrase_next (&mut self) { pub fn phrase_next (&mut self) {
todo!("phrase_next"); if let ArrangementFocus::Clip(track, scene) = self.selected {
//let track_index = self.selected.track(); if let Some(ref mut phrase) = self.scenes[scene].clips[track] {
//let scene_index = self.selected.scene(); let phrases = self.phrases.read().unwrap();
//track_index let index = phrases.index_of(&*phrase.read().unwrap());
//.and_then(|index|self.tracks.get_mut(index).map(|track|(index, track))) if let Some(index) = index {
//.and_then(|(track_index, track)|{ if index < phrases.phrases.len().saturating_sub(1) {
//let phrases = track.phrases.len(); *phrase = phrases.phrases[index + 1].clone();
//scene_index }
//.and_then(|index|self.scenes.get_mut(index)) }
//.and_then(|scene|{ }
//if let Some(phrase_index) = scene.clips[track_index] { }
//if phrase_index >= phrases - 1 {
//scene.clips[track_index] = None;
//} else {
//scene.clips[track_index] = Some(phrase_index + 1);
//}
//} else if phrases > 0 {
//scene.clips[track_index] = Some(0);
//}
//Some(())
//})
//});
} }
pub fn phrase_prev (&mut self) { pub fn phrase_prev (&mut self) {
todo!("phrase_prev"); if let ArrangementFocus::Clip(track, scene) = self.selected {
//let track_index = self.selected.track(); if let Some(ref mut phrase) = self.scenes[scene].clips[track] {
//let scene_index = self.selected.scene(); let phrases = self.phrases.read().unwrap();
//track_index let index = phrases.index_of(&*phrase.read().unwrap());
//.and_then(|index|self.tracks.get_mut(index).map(|track|(index, track))) if let Some(index) = index {
//.and_then(|(track_index, track)|{ if index > 0 {
//let phrases = track.phrases.len(); *phrase = phrases.phrases[index - 1].clone();
//scene_index }
//.and_then(|index|self.scenes.get_mut(index)) }
//.and_then(|scene|{ }
//if let Some(phrase_index) = scene.clips[track_index] { }
//scene.clips[track_index] = if phrase_index == 0 {
//None
//} else {
//Some(phrase_index - 1)
//};
//} else if phrases > 0 {
//scene.clips[track_index] = Some(phrases - 1);
//}
//Some(())
//})
//});
} }
} }
impl<E: Engine> ArrangementTrack<E> { impl<E: Engine> ArrangementTrack<E> {