add Arranger model

This commit is contained in:
🪞👃🪞 2024-07-13 00:56:58 +03:00
parent c85fa3cd06
commit 20e30cb472
14 changed files with 310 additions and 241 deletions

View file

@ -23,7 +23,7 @@ pub fn main () -> Usually<()> {
let app = app.read().unwrap();
let jack = app.jack.as_ref().unwrap();
let midi_in = jack.register_port("midi-in", MidiIn)?;
let midi_outs = app.tracks.iter()
let midi_outs = app.arranger.tracks.iter()
.map(|t|Some(jack.register_port(&t.name, MidiOut).unwrap()))
.collect::<Vec<_>>();
(midi_in, midi_outs)
@ -40,10 +40,10 @@ pub fn main () -> Usually<()> {
}
}
app.midi_in = Some(Arc::new(midi_in));
for (index, track) in app.tracks.iter_mut().enumerate() {
for (index, track) in app.arranger.tracks.iter_mut().enumerate() {
track.midi_out = midi_outs[index].take();
}
for track in app.tracks.iter() {
for track in app.arranger.tracks.iter() {
track.connect_first_device()?;
track.connect_last_device(&app)?;
}