[][src]Struct midir::MidiInput

pub struct MidiInput { /* fields omitted */ }

An instance of MidiInput is required for anything related to MIDI input. Create one with MidiInput::new.

Implementations

impl MidiInput[src]

pub fn new(client_name: &str) -> Result<Self, InitError>[src]

Creates a new MidiInput object that is required for any MIDI input functionality.

pub fn ignore(&mut self, flags: Ignore)[src]

Set flags to decide what kind of messages should be ignored (i.e., filtered out) by this MidiInput. By default, no messages are ignored.

pub fn ports(&self) -> MidiInputPorts[src]

Get a collection of all MIDI input ports that midir can connect to. The resulting vector contains one object per port, which you can use to query metadata about the port or connect to it in order to receive MIDI messages.

pub fn port_count(&self) -> usize[src]

Get the number of available MIDI input ports that midir can connect to.

pub fn port_name(&self, port: &MidiInputPort) -> Result<String, PortInfoError>[src]

Get the name of a specified MIDI input port.

An error will be returned when the port is no longer valid (e.g. the respective device has been disconnected).

pub fn connect<F, T: Send>(
    self,
    port: &MidiInputPort,
    port_name: &str,
    callback: F,
    data: T
) -> Result<MidiInputConnection<T>, ConnectError<MidiInput>> where
    F: FnMut(u64, &[u8], &mut T) + Send + 'static, 
[src]

Connect to a specified MIDI input port in order to receive messages. For each incoming MIDI message, the provided callback function will be called. The first parameter of the callback function is a timestamp (in microseconds) designating the time since some unspecified point in the past (which will not change during the lifetime of a MidiInputConnection). The second parameter contains the actual bytes of the MIDI message.

Additional data that should be passed whenever the callback is invoked can be specified by data. Use the empty tuple () if you do not want to pass any additional data.

The connection will be kept open as long as the returned MidiInputConnection is kept alive.

The port_name is an additional name that will be assigned to the connection. It is only used by some backends.

An error will be returned when the port is no longer valid (e.g. the respective device has been disconnected).

Trait Implementations

impl<T: Send> VirtualInput<T> for MidiInput[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.