load project from file

This commit is contained in:
🪞👃🪞 2024-07-08 17:27:58 +03:00
parent e2a842492e
commit eeb2faf064
9 changed files with 320 additions and 245 deletions

View file

@ -146,11 +146,14 @@ impl App {
};
Ok(())
}
pub fn new_track_name (&self) -> String {
format!("Track {}", self.tracks.len() + 1)
}
pub fn add_track (
&mut self,
name: Option<&str>,
) -> Usually<&mut Track> {
let name = name.ok_or_else(||format!("Track {}", self.tracks.len() + 1))?;
let name = name.ok_or_else(||self.new_track_name())?;
self.tracks.push(Track::new(&name, self.client(), None, None)?);
self.track_cursor = self.tracks.len();
Ok(&mut self.tracks[self.track_cursor - 1])
@ -160,7 +163,7 @@ impl App {
name: Option<&str>,
init: impl FnOnce(&Client, &mut Track)->Usually<()>,
) -> Usually<&mut Track> {
let name = name.ok_or_else(||format!("Track {}", self.tracks.len() + 1))?;
let name = name.ok_or_else(||self.new_track_name())?;
let mut track = Track::new(&name, self.client(), None, None)?;
init(self.client(), &mut track)?;
self.tracks.push(track);