scene and track gradients

This commit is contained in:
🪞👃🪞 2024-10-11 18:30:45 +03:00
parent 6bee5b0bcd
commit 12df6d5af2
4 changed files with 41 additions and 48 deletions

View file

@ -203,10 +203,10 @@ impl<E: Engine> Arrangement<E> {
pub fn track_prev (&mut self) {
self.selected.track_prev()
}
pub fn track_add (&mut self, name: Option<&str>) -> Usually<&mut ArrangementTrack<E>> {
pub fn track_add (&mut self, name: Option<&str>, color: Option<Color>) -> Usually<&mut ArrangementTrack<E>> {
self.tracks.push(name.map_or_else(
|| ArrangementTrack::new(&self.track_default_name(), None),
|name| ArrangementTrack::new(name, None),
|| ArrangementTrack::new(&self.track_default_name(), color),
|name| ArrangementTrack::new(name, color),
));
let index = self.tracks.len() - 1;
Ok(&mut self.tracks[index])
@ -243,12 +243,10 @@ impl<E: Engine> Arrangement<E> {
pub fn scene_prev (&mut self) {
self.selected.scene_prev()
}
pub fn scene_add (&mut self, name: Option<&str>) -> Usually<&mut Scene> {
pub fn scene_add (&mut self, name: Option<&str>, color: Option<Color>) -> Usually<&mut Scene> {
let clips = vec![None;self.tracks.len()];
self.scenes.push(match name {
Some(name) => Scene::new(name, clips, None),
None => Scene::new(&self.scene_default_name(), clips, None),
});
let name = name.map(|x|x.to_string()).unwrap_or_else(||self.scene_default_name());
self.scenes.push(Scene::new(name, clips, color));
let index = self.scenes.len() - 1;
Ok(&mut self.scenes[index])
}