track: pass initial clip

This commit is contained in:
🪞👃🪞 2025-05-11 01:40:38 +03:00
parent ee2efd1c26
commit 836624674e
2 changed files with 10 additions and 5 deletions

View file

@ -28,6 +28,7 @@ impl Track {
color: Option<ItemTheme>, color: Option<ItemTheme>,
jack: &Jack, jack: &Jack,
clock: Option<&Clock>, clock: Option<&Clock>,
clip: Option<&Arc<RwLock<MidiClip>>>,
midi_from: &[PortConnect], midi_from: &[PortConnect],
midi_to: &[PortConnect], midi_to: &[PortConnect],
) -> Usually<Self> { ) -> Usually<Self> {
@ -38,7 +39,7 @@ impl Track {
format!("{}/sequencer", name.as_ref()), format!("{}/sequencer", name.as_ref()),
jack, jack,
clock, clock,
None, clip,
midi_from, midi_from,
midi_to midi_to
)?, )?,
@ -51,13 +52,14 @@ impl Track {
color: Option<ItemTheme>, color: Option<ItemTheme>,
jack: &Jack, jack: &Jack,
clock: Option<&Clock>, clock: Option<&Clock>,
clip: Option<&Arc<RwLock<MidiClip>>>,
midi_from: &[PortConnect], midi_from: &[PortConnect],
midi_to: &[PortConnect], midi_to: &[PortConnect],
audio_from: &[&[PortConnect];2], audio_from: &[&[PortConnect];2],
audio_to: &[&[PortConnect];2], audio_to: &[&[PortConnect];2],
) -> Usually<Self> { ) -> Usually<Self> {
let mut track = Self::new( let mut track = Self::new(
name, color, jack, clock, midi_from, midi_to name, color, jack, clock, clip, midi_from, midi_to
)?; )?;
track.devices.push(Device::Sampler(Sampler::new( track.devices.push(Device::Sampler(Sampler::new(
jack, jack,

View file

@ -84,9 +84,10 @@ impl Cli {
let audio_froms = &[left_froms.as_slice(), right_froms.as_slice()]; let audio_froms = &[left_froms.as_slice(), right_froms.as_slice()];
let audio_tos = &[left_tos.as_slice(), right_tos.as_slice()]; let audio_tos = &[left_tos.as_slice(), right_tos.as_slice()];
let clip = match mode { let clip = match mode {
LaunchMode::Sequencer | LaunchMode::Groovebox => Some(Arc::new(RwLock::new(MidiClip::new( LaunchMode::Sequencer | LaunchMode::Groovebox =>
"Clip", true, 384usize, None, Some(ItemColor::random().into())), Some(Arc::new(RwLock::new(MidiClip::new(
))), "Clip", true, 384usize, None, Some(ItemColor::random().into())),
))),
_ => None, _ => None,
}; };
let scenes = vec![]; let scenes = vec![];
@ -141,6 +142,7 @@ impl Cli {
None, None,
jack, jack,
None, None,
clip.as_ref(),
midi_froms.as_slice(), midi_froms.as_slice(),
midi_tos.as_slice() midi_tos.as_slice()
)? )?
@ -151,6 +153,7 @@ impl Cli {
None, None,
jack, jack,
None, None,
clip.as_ref(),
midi_froms.as_slice(), midi_froms.as_slice(),
midi_froms.as_slice(), midi_froms.as_slice(),
audio_froms, audio_froms,