Trait rsynth::meta::Port [−][src]
Define meta-data for input ports and output ports.
The type parameter T
is a dummy type parameter so that meta-data for different types of
ports can be defined.
Typical values for T
are MidiPort
and AudioPort
.
Example
use rsynth::meta::{Port, MidiPort, AudioPort}; struct MyMetaData { audio_input_port_names: Vec<String>, audio_output_port_names: Vec<String>, midi_input_port_names: Vec<String>, midi_output_port_names: Vec<String>, } impl Port<AudioPort> for MyMetaData { type PortData = String; fn in_ports(&self) -> &[Self::PortData] { self.audio_input_port_names.as_slice() } fn out_ports(&self) -> &[Self::PortData] { self.audio_output_port_names.as_slice() } } impl Port<MidiPort> for MyMetaData { type PortData = String; fn in_ports(&self) -> &[Self::PortData] { self.audio_input_port_names.as_slice() } fn out_ports(&self) -> &[Self::PortData] { self.audio_output_port_names.as_slice() } }
Note
For most use cases, you can use the pre-defined MetaData
struct, which already implements
Port<MidiPort>
and Port<AudioPort>
.