std1.0.0-beta-7 SafeC docs

std :: audio::midi

Struct std::MidiIn

#include <std/audio/midi.h> source

struct MidiIn {
    int api_id;
    ?&struct MidiPortState_ impl;
}

Fields

§int api_idsource
§?&struct MidiPortState_ implsource

std-private; null when closed

Methods

§static struct Result<MidiIn, AudioError> open( int api, const &char client_name, unsigned long queue_bytes, )source · definition

A client of 'api' (MIDI_API_UNSPECIFIED: midi_default_api()) named 'client_name' (what other programs see); 'queue_bytes' sizes the polling queue (0 = MIDI_DEFAULT_QUEUE_BYTES).

§static struct MidiIn closed()source · definition
§int is_open() constsource · definition
§int api() constsource · definition
§unsigned int port_count()source · definition
§struct Result<MidiPortInfo, AudioError> port_info(unsigned int index)source · definition
§struct AudioError open_port(unsigned int index, const &char port_name)source · definition

Connects to the index-th port; 'port_name' names our end.

§struct AudioError open_virtual_port(const &char port_name)source · definition

Creates a port other programs can connect to.

§void close_port()source · definition
§int is_port_open() constsource · definition
§generic<T: Send + Sync> void set_callback(fn void(&MidiEvent, ?&T) callback, ?&T user)source · definition

The callback runs on the API's receiving thread, so T must be Send + Sync (as for Audio::open_stream).

§void cancel_callback()source · definition

Back to the polling queue.

§void ignore_types(int sysex, int timing, int active_sensing)source · definition

Which message kinds to drop (non-zero = drop): sysex, clock/time code, active sensing.

§long get_message([]unsigned char buf, &double timestamp)source · definition

Polling: copies the next queued message into 'buf' and returns its length (its timestamp into 'timestamp'); 0 when the queue is empty; -(length) when 'buf' is too small (the message stays queued).

§unsigned long dropped() constsource · definition

Messages lost to a full queue or an oversized sysex.

§void drop()source · definition
§void close() consumesource · definition

= drop()