wip: fixing some assumptions

This commit is contained in:
🪞👃🪞 2024-08-06 16:43:04 +03:00
parent 5ae99b4ada
commit 2a60808239
11 changed files with 73 additions and 125 deletions

View file

@ -4,10 +4,10 @@ use super::Arranger;
/// Track management methods
impl Arranger {
pub fn track (&self) -> Option<&Track> {
pub fn track (&self) -> Option<&SequencerTrack> {
self.selected.track().map(|t|self.tracks.get(t)).flatten()
}
pub fn track_mut (&mut self) -> Option<&mut Track> {
pub fn track_mut (&mut self) -> Option<&mut SequencerTrack> {
self.selected.track().map(|t|self.tracks.get_mut(t)).flatten()
}
pub fn track_next (&mut self) {
@ -16,10 +16,10 @@ impl Arranger {
pub fn track_prev (&mut self) {
self.selected.track_prev()
}
pub fn track_add (&mut self, name: Option<&str>) -> Usually<&mut Track> {
pub fn track_add (&mut self, name: Option<&str>) -> Usually<&mut SequencerTrack> {
self.tracks.push(name.map_or_else(
|| Track::new(&self.track_default_name()),
|name| Track::new(name),
|| SequencerTrack::new(&self.track_default_name()),
|name| SequencerTrack::new(name),
)?);
let index = self.tracks.len() - 1;
Ok(&mut self.tracks[index])
@ -32,13 +32,13 @@ impl Arranger {
}
}
pub fn track_name_max_len (tracks: &[Track]) -> usize {
pub fn track_name_max_len (tracks: &[SequencerTrack]) -> usize {
tracks.iter()
.map(|s|s.name.len())
.fold(0, usize::max)
}
pub fn track_clip_name_lengths (tracks: &[Track]) -> Vec<(usize, usize)> {
pub fn track_clip_name_lengths (tracks: &[SequencerTrack]) -> Vec<(usize, usize)> {
let mut total = 0;
let mut lengths: Vec<(usize, usize)> = tracks.iter().map(|track|{
let len = 2 + track.phrases