mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-08 20:56:43 +01:00
extract Sequencer model
This commit is contained in:
parent
f347ca838b
commit
aa478099d9
14 changed files with 211 additions and 348 deletions
|
|
@ -58,10 +58,10 @@ impl Arranger {
|
|||
self.selected.track_prev()
|
||||
}
|
||||
pub fn track_add (&mut self, name: Option<&str>) -> Usually<&mut Track> {
|
||||
self.tracks.push(match name {
|
||||
Some(name) => Track::new(name, None, None)?,
|
||||
None => Track::new(&self.track_default_name(), None, None)?
|
||||
});
|
||||
self.tracks.push(name.map_or_else(
|
||||
|| Track::new(&self.track_default_name()),
|
||||
|name| Track::new(name),
|
||||
)?);
|
||||
let index = self.tracks.len() - 1;
|
||||
Ok(&mut self.tracks[index])
|
||||
}
|
||||
|
|
@ -106,15 +106,15 @@ impl Arranger {
|
|||
|
||||
/// Phrase management methods
|
||||
impl Arranger {
|
||||
pub fn phrase (&self) -> Option<&Phrase> {
|
||||
pub fn phrase (&self) -> Option<&Arc<RwLock<Phrase>>> {
|
||||
let track_id = self.selected.track()?;
|
||||
self.tracks.get(track_id)?.phrases.get((*self.scene()?.clips.get(track_id)?)?)
|
||||
}
|
||||
pub fn phrase_mut (&mut self) -> Option<&mut Phrase> {
|
||||
let track_id = self.selected.track()?;
|
||||
let clip = *self.scene()?.clips.get(track_id)?;
|
||||
self.tracks.get_mut(track_id)?.phrases.get_mut(clip?)
|
||||
}
|
||||
//pub fn phrase_mut (&mut self) -> Option<&mut Phrase> {
|
||||
//let track_id = self.selected.track()?;
|
||||
//let clip = *self.scene()?.clips.get(track_id)?;
|
||||
//self.tracks.get_mut(track_id)?.phrases.get_mut(clip?)
|
||||
//}
|
||||
pub fn phrase_next (&mut self) {
|
||||
unimplemented!();
|
||||
//if let Some((track_index, track)) = self.track_mut() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue