mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 12:16:42 +01:00
callback api for tracks and devices
This commit is contained in:
parent
f2774e67a6
commit
f928b026ed
3 changed files with 62 additions and 37 deletions
|
|
@ -121,11 +121,22 @@ impl Track {
|
|||
write_midi_output(&mut self.midi_out.writer(scope), &output, frames);
|
||||
}
|
||||
pub fn add_device (
|
||||
&mut self, device: JackDevice
|
||||
) -> &mut JackDevice {
|
||||
&mut self,
|
||||
mut device: JackDevice,
|
||||
) -> Usually<&mut JackDevice> {
|
||||
self.devices.push(device);
|
||||
let index = self.devices.len() - 1;
|
||||
&mut self.devices[index]
|
||||
Ok(&mut self.devices[index])
|
||||
}
|
||||
pub fn add_device_with_cb (
|
||||
&mut self,
|
||||
mut device: JackDevice,
|
||||
init: impl Fn(&Self, &mut JackDevice)->Usually<()>
|
||||
) -> Usually<&mut JackDevice> {
|
||||
init(&self, &mut device)?;
|
||||
self.devices.push(device);
|
||||
let index = self.devices.len() - 1;
|
||||
Ok(&mut self.devices[index])
|
||||
}
|
||||
pub fn get_device (&self, i: usize) -> Option<MutexGuard<Box<dyn Device>>> {
|
||||
self.devices.get(i).map(|d|d.state.lock().unwrap())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue