wip: unpetrify, tryna dodge 4000

This commit is contained in:
🪞👃🪞 2024-07-03 15:53:14 +03:00
parent ea529b7734
commit b4fdddc0aa
7 changed files with 161 additions and 78 deletions

View file

@ -61,7 +61,7 @@ impl Launcher {
cursor: (2, 2),
current_frame: 0,
scenes: scenes.unwrap_or_else(||vec![Scene::new(&"Scene 1", &[None])]),
tracks: if let Some(tracks) = tracks { tracks } else { vec![
tracks: vec![]/*if let Some(tracks) = tracks { tracks } else { vec![
Track::new("Track 1", &timebase, None, Some(vec![
Phrase::new("MIDI Clip 1", ppq * 4, Some(BTreeMap::from([
( ppq * 0, vec![MidiMessage::NoteOn { key: 36.into(), vel: 100.into() }] ),
@ -70,7 +70,7 @@ impl Launcher {
( ppq * 3, vec![MidiMessage::NoteOn { key: 36.into(), vel: 100.into() }] ),
])))
]))?,
] },
] }*/,
show_help: true,
})
}

View file

@ -5,17 +5,20 @@ pub struct Track {
pub name: String,
pub sequencer: Sequencer,
pub chain: Chain,
pub midi_out: Port<MidiOut>,
}
impl Track {
pub fn new (
name: &str,
tempo: &Arc<Timebase>,
devices: Option<Vec<Box<dyn Device>>>,
phrases: Option<Vec<Phrase>>,
name: &str,
jack: &Client,
timebase: &Arc<Timebase>,
devices: Option<Vec<Box<dyn Device>>>,
phrases: Option<Vec<Phrase>>,
) -> Usually<Self> {
let sequencer = Sequencer::new(&name, tempo, phrases)?;
let chain = Chain::new(&name, devices)?;
let sequencer = Sequencer::new(&name, timebase, phrases)?;
let chain = Chain::new(&name, devices)?;
let midi_out = jack.register_port(name, MidiOut)?;
//let (client, _status) = Client::new("init", ClientOptions::NO_START_SERVER)?;
//{
//if let (Some(output), Some(input)) = (
@ -33,7 +36,7 @@ impl Track {
//client.connect_ports_by_name(&output, &input)?;
//}
//}
Ok(Self { name: name.to_string(), sequencer, chain })
Ok(Self { name: name.to_string(), sequencer, chain, midi_out })
}
}