show tracks ins and outs

This commit is contained in:
🪞👃🪞 2024-10-31 23:33:08 +02:00
parent 45f57214f1
commit 325492ec42
2 changed files with 52 additions and 63 deletions

View file

@ -74,11 +74,11 @@ pub struct ArrangementTrack<E: Engine> {
/// Name of track
pub name: Arc<RwLock<String>>,
/// Inputs
pub inputs: Vec<()>,
pub inputs: Vec<Port<MidiIn>>,
/// MIDI player/recorder
pub player: PhrasePlayer<E>,
/// Outputs
pub outputs: Vec<()>,
pub outputs: Vec<Port<MidiIn>>,
/// Preferred width of track column
pub width: usize,
/// Identifying color of track
@ -152,9 +152,7 @@ impl<E: Engine> Arranger<E> {
Ok(Some(true))
}
/// Focus the editor with the current phrase
pub fn show_phrase (&mut self) {
self.editor.show(self.arrangement.phrase().as_ref());
}
pub fn show_phrase (&mut self) { self.editor.show(self.arrangement.phrase().as_ref()); }
/// Focus the editor with the current phrase
pub fn edit_phrase (&mut self) {
if self.arrangement.phrase().is_none() {
@ -382,18 +380,10 @@ impl<E: Engine> Arrangement<E> {
pub fn track_mut (&mut self) -> Option<&mut ArrangementTrack<E>> {
self.selected.track().map(|t|self.tracks.get_mut(t)).flatten()
}
pub fn track_width_inc (&mut self) {
self.track_mut().map(|t|t.width_inc());
}
pub fn track_width_dec (&mut self) {
self.track_mut().map(|t|t.width_dec());
}
pub fn track_next (&mut self) {
self.selected.track_next(self.tracks.len() - 1)
}
pub fn track_prev (&mut self) {
self.selected.track_prev()
}
pub fn track_width_inc (&mut self) { self.track_mut().map(|t|t.width_inc()); }
pub fn track_width_dec (&mut self) { self.track_mut().map(|t|t.width_dec()); }
pub fn track_next (&mut self) { self.selected.track_next(self.tracks.len() - 1) }
pub fn track_prev (&mut self) { self.selected.track_prev() }
pub fn track_add (
&mut self, name: Option<&str>, color: Option<Color>
) -> Usually<&mut ArrangementTrack<E>> {
@ -460,14 +450,10 @@ impl<E: Engine> Arrangement<E> {
/// Methods for phrases in arrangement
impl<E: Engine> Arrangement<E> {
pub fn sequencer (&self) -> Option<&ArrangementTrack<E>> {
self.selected.track()
.map(|track|self.tracks.get(track))
.flatten()
self.selected.track().map(|track|self.tracks.get(track)).flatten()
}
pub fn sequencer_mut (&mut self) -> Option<&mut ArrangementTrack<E>> {
self.selected.track()
.map(|track|self.tracks.get_mut(track))
.flatten()
self.selected.track().map(|track|self.tracks.get_mut(track)).flatten()
}
pub fn phrase (&self) -> Option<Arc<RwLock<Phrase>>> {
self.scene()?.clips.get(self.selected.track()?)?.clone()