ALSA project - the C library reference
Loading...
Searching...
No Matches
Macros | Typedefs | Enumerations | Functions
RawMidi Interface

Macros

#define SND_RAWMIDI_DLSYM_VERSION   _dlsym_rawmidi_001
 
#define SND_RAWMIDI_APPEND
 
#define SND_RAWMIDI_NONBLOCK
 
#define SND_RAWMIDI_SYNC
 
#define SND_RAWMIDI_INFO_UMP   0x00000008
 
#define SNDRV_RAWMIDI_INFO_STREAM_INACTIVE   0x00000010
 
#define snd_rawmidi_info_alloca(ptr)
 allocate an invalid snd_rawmidi_info_t using standard alloca
 
#define snd_rawmidi_params_alloca(ptr)
 allocate an invalid snd_rawmidi_params_t using standard alloca
 
#define snd_rawmidi_status_alloca(ptr)
 allocate an invalid snd_rawmidi_status_t using standard alloca
 
#define SND_UMP_MAX_GROUPS   16
 
#define SND_UMP_MAX_BLOCKS   32
 
#define SND_UMP_EP_INFO_STATIC_BLOCKS   0x01
 
#define SND_UMP_EP_INFO_PROTO_MIDI_MASK   0x0300
 
#define SND_UMP_EP_INFO_PROTO_MIDI1   0x0100
 
#define SND_UMP_EP_INFO_PROTO_MIDI2   0x0200
 
#define SND_UMP_EP_INFO_PROTO_JRTS_MASK   0x0003
 
#define SND_UMP_EP_INFO_PROTO_JRTS_TX   0x0001
 
#define SND_UMP_EP_INFO_PROTO_JRTS_RX   0x0002
 
#define SND_UMP_EP_INFO_DEFAULT_VERSION   0x0101
 
#define snd_ump_endpoint_info_alloca(ptr)
 allocate an invalid snd_ump_endpoint_info_t using standard alloca
 
#define SND_UMP_BLOCK_IS_MIDI1   (1U << 0)
 
#define SND_UMP_BLOCK_IS_LOWSPEED   (1U << 1)
 
#define SND_UMP_BLOCK_INFO_DEFAULT_MIDI_CI_VERSION   0x01
 
#define snd_ump_block_info_alloca(ptr)
 allocate an invalid snd_ump_block_info_t using standard alloca
 

Typedefs

typedef struct _snd_rawmidi_info snd_rawmidi_info_t
 
typedef struct _snd_rawmidi_params snd_rawmidi_params_t
 
typedef struct _snd_rawmidi_status snd_rawmidi_status_t
 
typedef struct _snd_rawmidi snd_rawmidi_t
 
typedef struct _snd_ump snd_ump_t
 
typedef struct snd_ump_endpoint_info snd_ump_endpoint_info_t
 
typedef struct snd_ump_block_info snd_ump_block_info_t
 

Enumerations

enum  snd_rawmidi_stream_t { SND_RAWMIDI_STREAM_OUTPUT = 0 , SND_RAWMIDI_STREAM_INPUT , SND_RAWMIDI_STREAM_LAST = SND_RAWMIDI_STREAM_INPUT }
 
enum  snd_rawmidi_type_t { SND_RAWMIDI_TYPE_HW , SND_RAWMIDI_TYPE_SHM , SND_RAWMIDI_TYPE_INET , SND_RAWMIDI_TYPE_VIRTUAL }
 
enum  snd_rawmidi_clock_t { SND_RAWMIDI_CLOCK_NONE = 0 , SND_RAWMIDI_CLOCK_REALTIME = 1 , SND_RAWMIDI_CLOCK_MONOTONIC = 2 , SND_RAWMIDI_CLOCK_MONOTONIC_RAW = 3 }
 
enum  snd_rawmidi_read_mode_t { SND_RAWMIDI_READ_STANDARD = 0 , SND_RAWMIDI_READ_TSTAMP = 1 }
 
enum  _snd_ump_direction { SND_UMP_DIR_INPUT = 0x01 , SND_UMP_DIR_OUTPUT = 0x02 , SND_UMP_DIR_BIDIRECTION = 0x03 }
 
enum  _snd_ump_block_ui_hint { SND_UMP_BLOCK_UI_HINT_UNKNOWN = 0x00 , SND_UMP_BLOCK_UI_HINT_RECEIVER = 0x01 , SND_UMP_BLOCK_UI_HINT_SENDER = 0x02 , SND_UMP_BLOCK_UI_HINT_BOTH = 0x03 }
 

Functions

int snd_rawmidi_open (snd_rawmidi_t **in_rmidi, snd_rawmidi_t **out_rmidi, const char *name, int mode)
 Opens a new connection to the RawMidi interface.
 
int snd_rawmidi_open_lconf (snd_rawmidi_t **in_rmidi, snd_rawmidi_t **out_rmidi, const char *name, int mode, snd_config_t *lconf)
 Opens a new connection to the RawMidi interface using local configuration.
 
int snd_rawmidi_close (snd_rawmidi_t *rmidi)
 close RawMidi handle
 
int snd_rawmidi_poll_descriptors_count (snd_rawmidi_t *rmidi)
 get count of poll descriptors for RawMidi handle
 
int snd_rawmidi_poll_descriptors (snd_rawmidi_t *rmidi, struct pollfd *pfds, unsigned int space)
 get poll descriptors
 
int snd_rawmidi_poll_descriptors_revents (snd_rawmidi_t *rawmidi, struct pollfd *pfds, unsigned int nfds, unsigned short *revent)
 get returned events from poll descriptors
 
int snd_rawmidi_nonblock (snd_rawmidi_t *rmidi, int nonblock)
 set nonblock mode
 
size_t snd_rawmidi_info_sizeof (void)
 get size of the snd_rawmidi_info_t structure in bytes
 
int snd_rawmidi_info_malloc (snd_rawmidi_info_t **ptr)
 allocate a new snd_rawmidi_info_t structure
 
void snd_rawmidi_info_free (snd_rawmidi_info_t *obj)
 frees the snd_rawmidi_info_t structure
 
void snd_rawmidi_info_copy (snd_rawmidi_info_t *dst, const snd_rawmidi_info_t *src)
 copy one snd_rawmidi_info_t structure to another
 
unsigned int snd_rawmidi_info_get_device (const snd_rawmidi_info_t *obj)
 get rawmidi device number
 
unsigned int snd_rawmidi_info_get_subdevice (const snd_rawmidi_info_t *obj)
 get rawmidi subdevice number
 
snd_rawmidi_stream_t snd_rawmidi_info_get_stream (const snd_rawmidi_info_t *obj)
 get rawmidi stream identification
 
int snd_rawmidi_info_get_card (const snd_rawmidi_info_t *obj)
 get rawmidi card number
 
unsigned int snd_rawmidi_info_get_flags (const snd_rawmidi_info_t *obj)
 get rawmidi flags
 
const char * snd_rawmidi_info_get_id (const snd_rawmidi_info_t *obj)
 get rawmidi hardware driver identifier
 
const char * snd_rawmidi_info_get_name (const snd_rawmidi_info_t *obj)
 get rawmidi hardware driver name
 
const char * snd_rawmidi_info_get_subdevice_name (const snd_rawmidi_info_t *obj)
 get rawmidi subdevice name
 
unsigned int snd_rawmidi_info_get_subdevices_count (const snd_rawmidi_info_t *obj)
 get rawmidi count of subdevices
 
unsigned int snd_rawmidi_info_get_subdevices_avail (const snd_rawmidi_info_t *obj)
 get rawmidi available count of subdevices
 
int snd_rawmidi_info_get_tied_device (const snd_rawmidi_info_t *obj)
 get the tied device number for the given rawmidi device
 
void snd_rawmidi_info_set_device (snd_rawmidi_info_t *obj, unsigned int val)
 set rawmidi device number
 
void snd_rawmidi_info_set_subdevice (snd_rawmidi_info_t *obj, unsigned int val)
 set rawmidi subdevice number
 
void snd_rawmidi_info_set_stream (snd_rawmidi_info_t *obj, snd_rawmidi_stream_t val)
 set rawmidi stream identifier
 
int snd_rawmidi_info (snd_rawmidi_t *rmidi, snd_rawmidi_info_t *info)
 get information about RawMidi handle
 
size_t snd_rawmidi_params_sizeof (void)
 get size of the snd_rawmidi_params_t structure in bytes
 
int snd_rawmidi_params_malloc (snd_rawmidi_params_t **ptr)
 allocate the snd_rawmidi_params_t structure
 
void snd_rawmidi_params_free (snd_rawmidi_params_t *obj)
 frees the snd_rawmidi_params_t structure
 
void snd_rawmidi_params_copy (snd_rawmidi_params_t *dst, const snd_rawmidi_params_t *src)
 copy one snd_rawmidi_params_t structure to another
 
int snd_rawmidi_params_set_buffer_size (snd_rawmidi_t *rmidi, snd_rawmidi_params_t *params, size_t val)
 set rawmidi I/O ring buffer size
 
size_t snd_rawmidi_params_get_buffer_size (const snd_rawmidi_params_t *params)
 get rawmidi I/O ring buffer size
 
int snd_rawmidi_params_set_avail_min (snd_rawmidi_t *rmidi, snd_rawmidi_params_t *params, size_t val)
 set minimum available bytes in rawmidi I/O ring buffer for wakeup
 
size_t snd_rawmidi_params_get_avail_min (const snd_rawmidi_params_t *params)
 get minimum available bytes in rawmidi I/O ring buffer for wakeup
 
int snd_rawmidi_params_set_no_active_sensing (snd_rawmidi_t *rmidi, snd_rawmidi_params_t *params, int val)
 set no-active-sensing action on snd_rawmidi_close()
 
int snd_rawmidi_params_get_no_active_sensing (const snd_rawmidi_params_t *params)
 get no-active-sensing action status
 
int snd_rawmidi_params_set_read_mode (const snd_rawmidi_t *rawmidi, snd_rawmidi_params_t *params, snd_rawmidi_read_mode_t val)
 set read mode
 
snd_rawmidi_read_mode_t snd_rawmidi_params_get_read_mode (const snd_rawmidi_params_t *params)
 get current read mode
 
int snd_rawmidi_params_set_clock_type (const snd_rawmidi_t *rawmidi, snd_rawmidi_params_t *params, snd_rawmidi_clock_t val)
 sets clock type for tstamp type framing
 
snd_rawmidi_clock_t snd_rawmidi_params_get_clock_type (const snd_rawmidi_params_t *params)
 get current clock type (for tstamp type framing)
 
int snd_rawmidi_params (snd_rawmidi_t *rmidi, snd_rawmidi_params_t *params)
 set parameters about rawmidi stream
 
int snd_rawmidi_params_current (snd_rawmidi_t *rmidi, snd_rawmidi_params_t *params)
 get current parameters about rawmidi stream
 
size_t snd_rawmidi_status_sizeof (void)
 get size of the snd_rawmidi_status_t structure in bytes
 
int snd_rawmidi_status_malloc (snd_rawmidi_status_t **ptr)
 allocate the snd_rawmidi_status_t structure
 
void snd_rawmidi_status_free (snd_rawmidi_status_t *obj)
 frees the snd_rawmidi_status_t structure
 
void snd_rawmidi_status_copy (snd_rawmidi_status_t *dst, const snd_rawmidi_status_t *src)
 copy one snd_rawmidi_status_t structure to another
 
void snd_rawmidi_status_get_tstamp (const snd_rawmidi_status_t *obj, snd_htimestamp_t *ptr)
 get the start timestamp
 
size_t snd_rawmidi_status_get_avail (const snd_rawmidi_status_t *obj)
 get current available bytes in the rawmidi I/O ring buffer
 
size_t snd_rawmidi_status_get_xruns (const snd_rawmidi_status_t *obj)
 get count of xruns
 
int snd_rawmidi_status (snd_rawmidi_t *rmidi, snd_rawmidi_status_t *status)
 get status of rawmidi stream
 
int snd_rawmidi_drain (snd_rawmidi_t *rmidi)
 drain all bytes in the rawmidi I/O ring buffer
 
int snd_rawmidi_drop (snd_rawmidi_t *rmidi)
 drop all bytes in the rawmidi I/O ring buffer immediately
 
ssize_t snd_rawmidi_write (snd_rawmidi_t *rmidi, const void *buffer, size_t size)
 write MIDI bytes to MIDI stream
 
ssize_t snd_rawmidi_read (snd_rawmidi_t *rmidi, void *buffer, size_t size)
 read MIDI bytes from MIDI stream
 
ssize_t snd_rawmidi_tread (snd_rawmidi_t *rmidi, struct timespec *tstamp, void *buffer, size_t size)
 read MIDI bytes from MIDI stream with timestamp
 
const char * snd_rawmidi_name (snd_rawmidi_t *rmidi)
 get identifier of RawMidi handle
 
snd_rawmidi_type_t snd_rawmidi_type (snd_rawmidi_t *rmidi)
 get type of RawMidi handle
 
snd_rawmidi_stream_t snd_rawmidi_stream (snd_rawmidi_t *rawmidi)
 get stream (direction) of RawMidi handle
 
int snd_ump_open (snd_ump_t **inputp, snd_ump_t **outputp, const char *name, int mode)
 Opens a new connection to the UMP interface.
 
int snd_ump_close (snd_ump_t *ump)
 close UMP handle
 
snd_rawmidi_tsnd_ump_rawmidi (snd_ump_t *ump)
 get RawMidi instance associated with the UMP handle
 
const char * snd_ump_name (snd_ump_t *ump)
 get identifier of UMP handle
 
int snd_ump_poll_descriptors_count (snd_ump_t *ump)
 get count of poll descriptors for UMP handle
 
int snd_ump_poll_descriptors (snd_ump_t *ump, struct pollfd *pfds, unsigned int space)
 get poll descriptors
 
int snd_ump_poll_descriptors_revents (snd_ump_t *ump, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)
 get returned events from poll descriptors
 
int snd_ump_nonblock (snd_ump_t *ump, int nonblock)
 set nonblock mode
 
int snd_ump_rawmidi_info (snd_ump_t *ump, snd_rawmidi_info_t *info)
 get information about associated RawMidi handle
 
int snd_ump_rawmidi_params (snd_ump_t *ump, snd_rawmidi_params_t *params)
 set parameters about associated RawMidi stream
 
int snd_ump_rawmidi_params_current (snd_ump_t *ump, snd_rawmidi_params_t *params)
 get current parameters about associated RawMidi stream
 
int snd_ump_rawmidi_status (snd_ump_t *ump, snd_rawmidi_status_t *status)
 get status of associated RawMidi stream
 
int snd_ump_drop (snd_ump_t *ump)
 drop all packets in the rawmidi I/O ring buffer immediately
 
int snd_ump_drain (snd_ump_t *ump)
 drain all packets in the UMP I/O ring buffer
 
ssize_t snd_ump_write (snd_ump_t *ump, const void *buffer, size_t size)
 write UMP packets to UMP stream
 
ssize_t snd_ump_read (snd_ump_t *ump, void *buffer, size_t size)
 read UMP packets from UMP stream
 
ssize_t snd_ump_tread (snd_ump_t *ump, struct timespec *tstamp, void *buffer, size_t size)
 read UMP packets from UMP stream with timestamp
 
size_t snd_ump_endpoint_info_sizeof (void)
 get size of the snd_ump_endpoint_info_t structure in bytes
 
int snd_ump_endpoint_info_malloc (snd_ump_endpoint_info_t **info)
 allocate the snd_ump_endpoint_info_t structure
 
void snd_ump_endpoint_info_free (snd_ump_endpoint_info_t *info)
 frees the snd_ump_endpoint_info_t structure
 
void snd_ump_endpoint_info_clear (snd_ump_endpoint_info_t *info)
 clears the snd_ump_endpoint_info_t structure
 
void snd_ump_endpoint_info_copy (snd_ump_endpoint_info_t *dst, const snd_ump_endpoint_info_t *src)
 copy one snd_ump_endpoint_info_t structure to another
 
int snd_ump_endpoint_info_get_card (const snd_ump_endpoint_info_t *info)
 get card number of UMP endpoint
 
int snd_ump_endpoint_info_get_device (const snd_ump_endpoint_info_t *info)
 get device number of UMP endpoint
 
unsigned int snd_ump_endpoint_info_get_flags (const snd_ump_endpoint_info_t *info)
 get UMP endpoint info flags
 
unsigned int snd_ump_endpoint_info_get_protocol_caps (const snd_ump_endpoint_info_t *info)
 get UMP endpoint protocol capability bits
 
unsigned int snd_ump_endpoint_info_get_protocol (const snd_ump_endpoint_info_t *info)
 get the current UMP endpoint protocol
 
unsigned int snd_ump_endpoint_info_get_num_blocks (const snd_ump_endpoint_info_t *info)
 get the number of UMP blocks belonging to the endpoint
 
unsigned int snd_ump_endpoint_info_get_version (const snd_ump_endpoint_info_t *info)
 get UMP version number
 
unsigned int snd_ump_endpoint_info_get_manufacturer_id (const snd_ump_endpoint_info_t *info)
 get UMP manufacturer ID
 
unsigned int snd_ump_endpoint_info_get_family_id (const snd_ump_endpoint_info_t *info)
 get UMP family ID
 
unsigned int snd_ump_endpoint_info_get_model_id (const snd_ump_endpoint_info_t *info)
 get UMP model ID
 
const unsigned char * snd_ump_endpoint_info_get_sw_revision (const snd_ump_endpoint_info_t *info)
 get UMP software revision
 
const char * snd_ump_endpoint_info_get_name (const snd_ump_endpoint_info_t *info)
 get UMP endpoint name string
 
const char * snd_ump_endpoint_info_get_product_id (const snd_ump_endpoint_info_t *info)
 get UMP endpoint product ID string
 
int snd_ump_endpoint_info (snd_ump_t *ump, snd_ump_endpoint_info_t *info)
 get endpoint information about UMP handle
 
void snd_ump_endpoint_info_set_card (snd_ump_endpoint_info_t *info, unsigned int card)
 set card number of UMP endpoint
 
void snd_ump_endpoint_info_set_device (snd_ump_endpoint_info_t *info, unsigned int device)
 set device number of UMP endpoint
 
void snd_ump_endpoint_info_set_flags (snd_ump_endpoint_info_t *info, unsigned int flags)
 set info flags of UMP endpoint
 
void snd_ump_endpoint_info_set_protocol_caps (snd_ump_endpoint_info_t *info, unsigned int caps)
 set protocol capability bits of UMP endpoint
 
void snd_ump_endpoint_info_set_protocol (snd_ump_endpoint_info_t *info, unsigned int protocols)
 set the current protocol of UMP endpoint
 
void snd_ump_endpoint_info_set_num_blocks (snd_ump_endpoint_info_t *info, unsigned int num_blocks)
 set the number of UMP blocks of UMP endpoint
 
void snd_ump_endpoint_info_set_version (snd_ump_endpoint_info_t *info, unsigned int version)
 set the UMP version number of UMP endpoint
 
void snd_ump_endpoint_info_set_manufacturer_id (snd_ump_endpoint_info_t *info, unsigned int id)
 set the UMP manufacturer ID of UMP endpoint
 
void snd_ump_endpoint_info_set_family_id (snd_ump_endpoint_info_t *info, unsigned int id)
 set the UMP family ID of UMP endpoint
 
void snd_ump_endpoint_info_set_model_id (snd_ump_endpoint_info_t *info, unsigned int id)
 set the UMP model ID of UMP endpoint
 
void snd_ump_endpoint_info_set_sw_revision (snd_ump_endpoint_info_t *info, const unsigned char *id)
 set the UMP software revision of UMP endpoint
 
void snd_ump_endpoint_info_set_name (snd_ump_endpoint_info_t *info, const char *name)
 set the name of UMP endpoint
 
void snd_ump_endpoint_info_set_product_id (snd_ump_endpoint_info_t *info, const char *id)
 set the product ID string of UMP endpoint
 
size_t snd_ump_block_info_sizeof (void)
 get size of the snd_ump_block_info_t structure in bytes
 
int snd_ump_block_info_malloc (snd_ump_block_info_t **info)
 allocate the snd_ump_block_info_t structure
 
void snd_ump_block_info_free (snd_ump_block_info_t *info)
 frees the snd_ump_block_info_t structure
 
void snd_ump_block_info_clear (snd_ump_block_info_t *info)
 clears the snd_ump_block_info_t structure
 
void snd_ump_block_info_copy (snd_ump_block_info_t *dst, const snd_ump_block_info_t *src)
 copy one snd_ump_block_info_t structure to another
 
int snd_ump_block_info_get_card (const snd_ump_block_info_t *info)
 get card number of UMP block
 
int snd_ump_block_info_get_device (const snd_ump_block_info_t *info)
 get device number of UMP block
 
unsigned int snd_ump_block_info_get_block_id (const snd_ump_block_info_t *info)
 get UMP block ID
 
unsigned int snd_ump_block_info_get_active (const snd_ump_block_info_t *info)
 get UMP block activeness
 
unsigned int snd_ump_block_info_get_flags (const snd_ump_block_info_t *info)
 get UMP block information flags
 
unsigned int snd_ump_block_info_get_direction (const snd_ump_block_info_t *info)
 get UMP block direction
 
unsigned int snd_ump_block_info_get_first_group (const snd_ump_block_info_t *info)
 get first UMP group ID belonging to the block
 
unsigned int snd_ump_block_info_get_num_groups (const snd_ump_block_info_t *info)
 get number of UMP groups belonging to the block
 
unsigned int snd_ump_block_info_get_midi_ci_version (const snd_ump_block_info_t *info)
 get MIDI-CI version number
 
unsigned int snd_ump_block_info_get_sysex8_streams (const snd_ump_block_info_t *info)
 get number of supported SysEx8 streams
 
unsigned int snd_ump_block_info_get_ui_hint (const snd_ump_block_info_t *info)
 get UI hint of the given UMP block
 
const char * snd_ump_block_info_get_name (const snd_ump_block_info_t *info)
 get the name string of UMP block
 
int snd_ump_block_info (snd_ump_t *ump, snd_ump_block_info_t *info)
 get UMP block information
 
void snd_ump_block_info_set_card (snd_ump_block_info_t *info, unsigned int card)
 set card number to snd_ump_block_info_t structure
 
void snd_ump_block_info_set_device (snd_ump_block_info_t *info, unsigned int device)
 set device number to snd_ump_block_info_t structure
 
void snd_ump_block_info_set_block_id (snd_ump_block_info_t *info, unsigned int id)
 set UMP block ID to snd_ump_block_info_t structure
 
void snd_ump_block_info_set_active (snd_ump_block_info_t *info, unsigned int active)
 set activeness to snd_ump_block_info_t structure
 
void snd_ump_block_info_set_flags (snd_ump_block_info_t *info, unsigned int flags)
 set UMP block information flags to snd_ump_block_info_t structure
 
void snd_ump_block_info_set_direction (snd_ump_block_info_t *info, unsigned int direction)
 set UMP block direction to snd_ump_block_info_t structure
 
void snd_ump_block_info_set_first_group (snd_ump_block_info_t *info, unsigned int first_group)
 set first UMP group to snd_ump_block_info_t structure
 
void snd_ump_block_info_set_num_groups (snd_ump_block_info_t *info, unsigned int num_groups)
 set number of UMP groups to snd_ump_block_info_t structure
 
void snd_ump_block_info_set_midi_ci_version (snd_ump_block_info_t *info, unsigned int version)
 set MIDI-CI version number to snd_ump_block_info_t structure
 
void snd_ump_block_info_set_sysex8_streams (snd_ump_block_info_t *info, unsigned int streams)
 set number of supported SysEx8 streams to snd_ump_block_info_t structure
 
void snd_ump_block_info_set_ui_hint (snd_ump_block_info_t *info, unsigned int hint)
 set UI Hint to snd_ump_block_info_t structure
 
void snd_ump_block_info_set_name (snd_ump_block_info_t *info, const char *name)
 set the name string to snd_ump_block_info_t structure
 

Detailed Description

The RawMidi Interface. See RawMidi interface page for more details.

Macro Definition Documentation

◆ SND_RAWMIDI_APPEND

#define SND_RAWMIDI_APPEND

Append (flag to open mode)

◆ SND_RAWMIDI_DLSYM_VERSION

#define SND_RAWMIDI_DLSYM_VERSION   _dlsym_rawmidi_001

dlsym version for interface entry callback

◆ snd_rawmidi_info_alloca

#define snd_rawmidi_info_alloca (   ptr)

allocate an invalid snd_rawmidi_info_t using standard alloca

Parameters
ptrreturned pointer

◆ SND_RAWMIDI_INFO_UMP

#define SND_RAWMIDI_INFO_UMP   0x00000008

rawmidi info bit flags rawmidi is UMP

◆ SND_RAWMIDI_NONBLOCK

#define SND_RAWMIDI_NONBLOCK

Non blocking mode (flag to open mode)

◆ snd_rawmidi_params_alloca

#define snd_rawmidi_params_alloca (   ptr)

allocate an invalid snd_rawmidi_params_t using standard alloca

Parameters
ptrreturned pointer

◆ snd_rawmidi_status_alloca

#define snd_rawmidi_status_alloca (   ptr)

allocate an invalid snd_rawmidi_status_t using standard alloca

Parameters
ptrreturned pointer

◆ SND_RAWMIDI_SYNC

#define SND_RAWMIDI_SYNC

Write sync mode (Flag to open mode)

◆ snd_ump_block_info_alloca

#define snd_ump_block_info_alloca (   ptr)

allocate an invalid snd_ump_block_info_t using standard alloca

Parameters
ptrreturned pointer

◆ SND_UMP_BLOCK_INFO_DEFAULT_MIDI_CI_VERSION

#define SND_UMP_BLOCK_INFO_DEFAULT_MIDI_CI_VERSION   0x01

Default MIDI CI version passed to UMP Block info

◆ SND_UMP_BLOCK_IS_LOWSPEED

#define SND_UMP_BLOCK_IS_LOWSPEED   (1U << 1)

Bit flag for 31.25Kbps B/W MIDI1 port in UMP Block info flags

◆ SND_UMP_BLOCK_IS_MIDI1

#define SND_UMP_BLOCK_IS_MIDI1   (1U << 0)

Bit flag for MIDI 1.0 port w/o restrict in UMP Block info flags

◆ snd_ump_endpoint_info_alloca

#define snd_ump_endpoint_info_alloca (   ptr)

allocate an invalid snd_ump_endpoint_info_t using standard alloca

Parameters
ptrreturned pointer

◆ SND_UMP_EP_INFO_DEFAULT_VERSION

#define SND_UMP_EP_INFO_DEFAULT_VERSION   0x0101

Default version passed to UMP Endpoint info

◆ SND_UMP_EP_INFO_PROTO_JRTS_MASK

#define SND_UMP_EP_INFO_PROTO_JRTS_MASK   0x0003

Bitmask for UMP Jitter-reduction timestamp

◆ SND_UMP_EP_INFO_PROTO_JRTS_RX

#define SND_UMP_EP_INFO_PROTO_JRTS_RX   0x0002

Bit flag for JRTS in Receive

◆ SND_UMP_EP_INFO_PROTO_JRTS_TX

#define SND_UMP_EP_INFO_PROTO_JRTS_TX   0x0001

Bit flag for JRTS in Transmit

◆ SND_UMP_EP_INFO_PROTO_MIDI1

#define SND_UMP_EP_INFO_PROTO_MIDI1   0x0100

Bit flag for MIDI 1.0 protocol

◆ SND_UMP_EP_INFO_PROTO_MIDI2

#define SND_UMP_EP_INFO_PROTO_MIDI2   0x0200

Bit flag for MIDI 2.0 protocol

◆ SND_UMP_EP_INFO_PROTO_MIDI_MASK

#define SND_UMP_EP_INFO_PROTO_MIDI_MASK   0x0300

Bitmask for UMP EP MIDI protocols

◆ SND_UMP_EP_INFO_STATIC_BLOCKS

#define SND_UMP_EP_INFO_STATIC_BLOCKS   0x01

UMP EP holds only static blocks

◆ SND_UMP_MAX_BLOCKS

#define SND_UMP_MAX_BLOCKS   32

Max number of UMP Blocks

◆ SND_UMP_MAX_GROUPS

#define SND_UMP_MAX_GROUPS   16

Max number of UMP Groups

◆ SNDRV_RAWMIDI_INFO_STREAM_INACTIVE

#define SNDRV_RAWMIDI_INFO_STREAM_INACTIVE   0x00000010

the selected substream is inactive

Typedef Documentation

◆ snd_rawmidi_info_t

typedef struct _snd_rawmidi_info snd_rawmidi_info_t

RawMidi information container

◆ snd_rawmidi_params_t

typedef struct _snd_rawmidi_params snd_rawmidi_params_t

RawMidi settings container

◆ snd_rawmidi_status_t

typedef struct _snd_rawmidi_status snd_rawmidi_status_t

RawMidi status container

◆ snd_rawmidi_t

typedef struct _snd_rawmidi snd_rawmidi_t

RawMidi handle

◆ snd_ump_block_info_t

UMP Block information container

◆ snd_ump_endpoint_info_t

UMP Endpoint information container

◆ snd_ump_t

typedef struct _snd_ump snd_ump_t

UMP (Endpoint) RawMIDI device

Enumeration Type Documentation

◆ _snd_ump_block_ui_hint

UMP block user-interface hint

Enumerator
SND_UMP_BLOCK_UI_HINT_UNKNOWN 

Unknown or undeclared

SND_UMP_BLOCK_UI_HINT_RECEIVER 

Primarily a receiver or a destination for MIDI messages

SND_UMP_BLOCK_UI_HINT_SENDER 

Primarily a sender or a source of MIDI messages

SND_UMP_BLOCK_UI_HINT_BOTH 

Both a sender and receiver of MIDI messages

◆ _snd_ump_direction

UMP direction

Enumerator
SND_UMP_DIR_INPUT 

Input only

SND_UMP_DIR_OUTPUT 

Output only

SND_UMP_DIR_BIDIRECTION 

Bidirectional

◆ snd_rawmidi_clock_t

Type of clock used with rawmidi timestamp

◆ snd_rawmidi_read_mode_t

Select the read mode (standard or with timestamps)

◆ snd_rawmidi_stream_t

RawMidi stream (direction)

Enumerator
SND_RAWMIDI_STREAM_OUTPUT 

Output stream

SND_RAWMIDI_STREAM_INPUT 

Input stream

◆ snd_rawmidi_type_t

RawMidi type

Enumerator
SND_RAWMIDI_TYPE_HW 

Kernel level RawMidi

SND_RAWMIDI_TYPE_SHM 

Shared memory client RawMidi (not yet implemented)

SND_RAWMIDI_TYPE_INET 

INET client RawMidi (not yet implemented)

SND_RAWMIDI_TYPE_VIRTUAL 

Virtual (sequencer) RawMidi

Function Documentation

◆ snd_rawmidi_close()

int snd_rawmidi_close ( snd_rawmidi_t rawmidi)

close RawMidi handle

Parameters
rawmidiRawMidi handle
Returns
0 on success otherwise a negative error code

Closes the specified RawMidi handle and frees all associated resources.

Examples
/test/rawmidi.c.

◆ snd_rawmidi_drain()

int snd_rawmidi_drain ( snd_rawmidi_t rawmidi)

drain all bytes in the rawmidi I/O ring buffer

Parameters
rawmidiRawMidi handle
Returns
0 on success otherwise a negative error code

Waits until all MIDI bytes are not drained (sent) to the hardware device.

Examples
/test/rawmidi.c.

◆ snd_rawmidi_drop()

int snd_rawmidi_drop ( snd_rawmidi_t rawmidi)

drop all bytes in the rawmidi I/O ring buffer immediately

Parameters
rawmidiRawMidi handle
Returns
0 on success otherwise a negative error code

◆ snd_rawmidi_info()

int snd_rawmidi_info ( snd_rawmidi_t rawmidi,
snd_rawmidi_info_t info 
)

get information about RawMidi handle

Parameters
rawmidiRawMidi handle
infopointer to a snd_rawmidi_info_t structure to be filled
Returns
0 on success otherwise a negative error code

◆ snd_rawmidi_info_copy()

void snd_rawmidi_info_copy ( snd_rawmidi_info_t dst,
const snd_rawmidi_info_t src 
)

copy one snd_rawmidi_info_t structure to another

Parameters
dstdestination snd_rawmidi_info_t structure
srcsource snd_rawmidi_info_t structure

◆ snd_rawmidi_info_free()

void snd_rawmidi_info_free ( snd_rawmidi_info_t info)

frees the snd_rawmidi_info_t structure

Parameters
infopointer to the snd_rawmidi_info_t structure to free

Frees the given snd_rawmidi_params_t structure using the standard free C library function.

◆ snd_rawmidi_info_get_card()

int snd_rawmidi_info_get_card ( const snd_rawmidi_info_t info)

get rawmidi card number

Parameters
infopointer to a snd_rawmidi_info_t structure
Returns
rawmidi card number

◆ snd_rawmidi_info_get_device()

unsigned int snd_rawmidi_info_get_device ( const snd_rawmidi_info_t info)

get rawmidi device number

Parameters
infopointer to a snd_rawmidi_info_t structure
Returns
rawmidi device number

◆ snd_rawmidi_info_get_flags()

unsigned int snd_rawmidi_info_get_flags ( const snd_rawmidi_info_t info)

get rawmidi flags

Parameters
infopointer to a snd_rawmidi_info_t structure
Returns
rawmidi flags

◆ snd_rawmidi_info_get_id()

const char * snd_rawmidi_info_get_id ( const snd_rawmidi_info_t info)

get rawmidi hardware driver identifier

Parameters
infopointer to a snd_rawmidi_info_t structure
Returns
rawmidi hardware driver identifier

◆ snd_rawmidi_info_get_name()

const char * snd_rawmidi_info_get_name ( const snd_rawmidi_info_t info)

get rawmidi hardware driver name

Parameters
infopointer to a snd_rawmidi_info_t structure
Returns
rawmidi hardware driver name

◆ snd_rawmidi_info_get_stream()

snd_rawmidi_stream_t snd_rawmidi_info_get_stream ( const snd_rawmidi_info_t info)

get rawmidi stream identification

Parameters
infopointer to a snd_rawmidi_info_t structure
Returns
rawmidi stream identification

◆ snd_rawmidi_info_get_subdevice()

unsigned int snd_rawmidi_info_get_subdevice ( const snd_rawmidi_info_t info)

get rawmidi subdevice number

Parameters
infopointer to a snd_rawmidi_info_t structure
Returns
rawmidi subdevice number

◆ snd_rawmidi_info_get_subdevice_name()

const char * snd_rawmidi_info_get_subdevice_name ( const snd_rawmidi_info_t info)

get rawmidi subdevice name

Parameters
infopointer to a snd_rawmidi_info_t structure
Returns
rawmidi subdevice name

◆ snd_rawmidi_info_get_subdevices_avail()

unsigned int snd_rawmidi_info_get_subdevices_avail ( const snd_rawmidi_info_t info)

get rawmidi available count of subdevices

Parameters
infopointer to a snd_rawmidi_info_t structure
Returns
rawmidi available count of subdevices

◆ snd_rawmidi_info_get_subdevices_count()

unsigned int snd_rawmidi_info_get_subdevices_count ( const snd_rawmidi_info_t info)

get rawmidi count of subdevices

Parameters
infopointer to a snd_rawmidi_info_t structure
Returns
rawmidi count of subdevices

◆ snd_rawmidi_info_get_tied_device()

int snd_rawmidi_info_get_tied_device ( const snd_rawmidi_info_t info)

get the tied device number for the given rawmidi device

Parameters
infopointer to a snd_rawmidi_info_t structure
Returns
the device number for the tied device, or -1 if untied / unknown.

This function is useful for UMP rawmidi devices where each of them may have the mirroring legacy rawmidi device. Those are shown as "tied".

◆ snd_rawmidi_info_malloc()

int snd_rawmidi_info_malloc ( snd_rawmidi_info_t **  info)

allocate a new snd_rawmidi_info_t structure

Parameters
inforeturned pointer
Returns
0 on success otherwise a negative error code if fails

Allocates a new snd_rawmidi_params_t structure using the standard malloc C library function.

◆ snd_rawmidi_info_set_device()

void snd_rawmidi_info_set_device ( snd_rawmidi_info_t info,
unsigned int  val 
)

set rawmidi device number

Parameters
infopointer to a snd_rawmidi_info_t structure
valdevice number

◆ snd_rawmidi_info_set_stream()

void snd_rawmidi_info_set_stream ( snd_rawmidi_info_t info,
snd_rawmidi_stream_t  val 
)

set rawmidi stream identifier

Parameters
infopointer to a snd_rawmidi_info_t structure
valrawmidi stream identifier

◆ snd_rawmidi_info_set_subdevice()

void snd_rawmidi_info_set_subdevice ( snd_rawmidi_info_t info,
unsigned int  val 
)

set rawmidi subdevice number

Parameters
infopointer to a snd_rawmidi_info_t structure
valsubdevice number

◆ snd_rawmidi_info_sizeof()

size_t snd_rawmidi_info_sizeof ( void  )

get size of the snd_rawmidi_info_t structure in bytes

Returns
size of the snd_rawmidi_info_t structure in bytes

◆ snd_rawmidi_name()

const char * snd_rawmidi_name ( snd_rawmidi_t rawmidi)

get identifier of RawMidi handle

Parameters
rawmidia RawMidi handle
Returns
ascii identifier of RawMidi handle

Returns the ASCII identifier of given RawMidi handle. It's the same identifier specified in snd_rawmidi_open().

◆ snd_rawmidi_nonblock()

int snd_rawmidi_nonblock ( snd_rawmidi_t rawmidi,
int  nonblock 
)

set nonblock mode

Parameters
rawmidiRawMidi handle
nonblock0 = block, 1 = nonblock mode
Returns
0 on success otherwise a negative error code

The nonblock mode cannot be used when the stream is in SND_RAWMIDI_APPEND state.

◆ snd_rawmidi_open()

int snd_rawmidi_open ( snd_rawmidi_t **  inputp,
snd_rawmidi_t **  outputp,
const char *  name,
int  mode 
)

Opens a new connection to the RawMidi interface.

Parameters
inputpReturned input handle (NULL if not wanted)
outputpReturned output handle (NULL if not wanted)
nameASCII identifier of the RawMidi handle
modeOpen mode
Returns
0 on success otherwise a negative error code

Opens a new connection to the RawMidi interface specified with an ASCII identifier and mode.

Examples
/test/rawmidi.c.

◆ snd_rawmidi_open_lconf()

int snd_rawmidi_open_lconf ( snd_rawmidi_t **  inputp,
snd_rawmidi_t **  outputp,
const char *  name,
int  mode,
snd_config_t lconf 
)

Opens a new connection to the RawMidi interface using local configuration.

Parameters
inputpReturned input handle (NULL if not wanted)
outputpReturned output handle (NULL if not wanted)
nameASCII identifier of the RawMidi handle
modeOpen mode
lconfLocal configuration
Returns
0 on success otherwise a negative error code

Opens a new connection to the RawMidi interface specified with an ASCII identifier and mode.

◆ snd_rawmidi_params()

int snd_rawmidi_params ( snd_rawmidi_t rawmidi,
snd_rawmidi_params_t params 
)

set parameters about rawmidi stream

Parameters
rawmidiRawMidi handle
paramspointer to a snd_rawmidi_params_t structure to be filled
Returns
0 on success otherwise a negative error code
Examples
/test/rawmidi.c.

◆ snd_rawmidi_params_copy()

void snd_rawmidi_params_copy ( snd_rawmidi_params_t dst,
const snd_rawmidi_params_t src 
)

copy one snd_rawmidi_params_t structure to another

Parameters
dstdestination snd_rawmidi_params_t structure
srcsource snd_rawmidi_params_t structure

◆ snd_rawmidi_params_current()

int snd_rawmidi_params_current ( snd_rawmidi_t rawmidi,
snd_rawmidi_params_t params 
)

get current parameters about rawmidi stream

Parameters
rawmidiRawMidi handle
paramspointer to a snd_rawmidi_params_t structure to be filled
Returns
0 on success otherwise a negative error code
Examples
/test/rawmidi.c.

◆ snd_rawmidi_params_free()

void snd_rawmidi_params_free ( snd_rawmidi_params_t params)

frees the snd_rawmidi_params_t structure

Parameters
paramspointer to the snd_rawmidi_params_t structure to free

Frees the given snd_rawmidi_params_t structure using the standard free C library function.

Examples
/test/rawmidi.c.

◆ snd_rawmidi_params_get_avail_min()

size_t snd_rawmidi_params_get_avail_min ( const snd_rawmidi_params_t params)

get minimum available bytes in rawmidi I/O ring buffer for wakeup

Parameters
paramspointer to snd_rawmidi_params_t structure
Returns
minimum available bytes

◆ snd_rawmidi_params_get_buffer_size()

size_t snd_rawmidi_params_get_buffer_size ( const snd_rawmidi_params_t params)

get rawmidi I/O ring buffer size

Parameters
paramspointer to a snd_rawmidi_params_t structure
Returns
size of rawmidi I/O ring buffer in bytes

◆ snd_rawmidi_params_get_clock_type()

snd_rawmidi_clock_t snd_rawmidi_params_get_clock_type ( const snd_rawmidi_params_t params)

get current clock type (for tstamp type framing)

Parameters
paramspointer to snd_rawmidi_params_t structure
Returns
the current clock type (one of the SND_RAWMIDI_CLOCK_* constants)

◆ snd_rawmidi_params_get_no_active_sensing()

int snd_rawmidi_params_get_no_active_sensing ( const snd_rawmidi_params_t params)

get no-active-sensing action status

Parameters
paramspointer to snd_rawmidi_params_t structure
Returns
the current status (0 = enable, 1 = disable the active sensing message)

◆ snd_rawmidi_params_get_read_mode()

snd_rawmidi_read_mode_t snd_rawmidi_params_get_read_mode ( const snd_rawmidi_params_t params)

get current read mode

Parameters
paramspointer to snd_rawmidi_params_t structure
Returns
the current read mode (see enum)

◆ snd_rawmidi_params_malloc()

int snd_rawmidi_params_malloc ( snd_rawmidi_params_t **  params)

allocate the snd_rawmidi_params_t structure

Parameters
paramsreturned pointer
Returns
0 on success otherwise a negative error code if fails

Allocates a new snd_rawmidi_params_t structure using the standard malloc C library function.

Examples
/test/rawmidi.c.

◆ snd_rawmidi_params_set_avail_min()

int snd_rawmidi_params_set_avail_min ( snd_rawmidi_t rawmidi,
snd_rawmidi_params_t params,
size_t  val 
)

set minimum available bytes in rawmidi I/O ring buffer for wakeup

Parameters
rawmidiRawMidi handle
paramspointer to a snd_rawmidi_params_t structure
valdesired value

◆ snd_rawmidi_params_set_buffer_size()

int snd_rawmidi_params_set_buffer_size ( snd_rawmidi_t rawmidi,
snd_rawmidi_params_t params,
size_t  val 
)

set rawmidi I/O ring buffer size

Parameters
rawmidiRawMidi handle
paramspointer to a snd_rawmidi_params_t structure
valsize in bytes
Returns
0 on success otherwise a negative error code

◆ snd_rawmidi_params_set_clock_type()

int snd_rawmidi_params_set_clock_type ( const snd_rawmidi_t rawmidi,
snd_rawmidi_params_t params,
snd_rawmidi_clock_t  val 
)

sets clock type for tstamp type framing

Parameters
rawmidiRawMidi handle
paramspointer to snd_rawmidi_params_t structure
valone of the SND_RAWMIDI_CLOCK_* constants
Returns
0 on success, otherwise a negative error code.

Notable error codes: -EINVAL - "val" is invalid -ENOTSUP - Kernel is too old to support framing.

Examples
/test/rawmidi.c.

◆ snd_rawmidi_params_set_no_active_sensing()

int snd_rawmidi_params_set_no_active_sensing ( snd_rawmidi_t rawmidi,
snd_rawmidi_params_t params,
int  val 
)

set no-active-sensing action on snd_rawmidi_close()

Parameters
rawmidiRawMidi handle
paramspointer to snd_rawmidi_params_t structure
valvalue: 0 = enable to send the active sensing message, 1 = disable
Returns
0 on success otherwise a negative error code

◆ snd_rawmidi_params_set_read_mode()

int snd_rawmidi_params_set_read_mode ( const snd_rawmidi_t rawmidi,
snd_rawmidi_params_t params,
snd_rawmidi_read_mode_t  val 
)

set read mode

Parameters
rawmidiRawMidi handle
paramspointer to snd_rawmidi_params_t structure
valtype of read_mode
Returns
0 on success, otherwise a negative error code.

Notable error codes: -EINVAL - "val" is invalid -ENOTSUP - mode is not supported

Examples
/test/rawmidi.c.

◆ snd_rawmidi_params_sizeof()

size_t snd_rawmidi_params_sizeof ( void  )

get size of the snd_rawmidi_params_t structure in bytes

Returns
size of the snd_rawmidi_params_t structure in bytes

◆ snd_rawmidi_poll_descriptors()

int snd_rawmidi_poll_descriptors ( snd_rawmidi_t rawmidi,
struct pollfd *  pfds,
unsigned int  space 
)

get poll descriptors

Parameters
rawmidiRawMidi handle
pfdsarray of poll descriptors
spacespace in the poll descriptor array
Returns
count of filled descriptors

◆ snd_rawmidi_poll_descriptors_count()

int snd_rawmidi_poll_descriptors_count ( snd_rawmidi_t rawmidi)

get count of poll descriptors for RawMidi handle

Parameters
rawmidiRawMidi handle
Returns
count of poll descriptors

◆ snd_rawmidi_poll_descriptors_revents()

int snd_rawmidi_poll_descriptors_revents ( snd_rawmidi_t rawmidi,
struct pollfd *  pfds,
unsigned int  nfds,
unsigned short *  revents 
)

get returned events from poll descriptors

Parameters
rawmidirawmidi RawMidi handle
pfdsarray of poll descriptors
nfdscount of poll descriptors
reventsreturned events
Returns
zero if success, otherwise a negative error code

◆ snd_rawmidi_read()

ssize_t snd_rawmidi_read ( snd_rawmidi_t rawmidi,
void *  buffer,
size_t  size 
)

read MIDI bytes from MIDI stream

Parameters
rawmidiRawMidi handle
bufferbuffer to store the input MIDI bytes
sizeinput buffer size in bytes
Return values
countof MIDI bytes otherwise a negative error code
Examples
/test/rawmidi.c.

◆ snd_rawmidi_status()

int snd_rawmidi_status ( snd_rawmidi_t rawmidi,
snd_rawmidi_status_t status 
)

get status of rawmidi stream

Parameters
rawmidiRawMidi handle
statuspointer to a snd_rawmidi_status_t structure to be filled
Returns
0 on success otherwise a negative error code

◆ snd_rawmidi_status_copy()

void snd_rawmidi_status_copy ( snd_rawmidi_status_t dst,
const snd_rawmidi_status_t src 
)

copy one snd_rawmidi_status_t structure to another

Parameters
dstdestination snd_rawmidi_status_t structure
srcsource snd_rawmidi_status_t structure

◆ snd_rawmidi_status_free()

void snd_rawmidi_status_free ( snd_rawmidi_status_t status)

frees the snd_rawmidi_status_t structure

Parameters
statuspointer to the snd_rawmidi_status_t structure to free

Frees the given snd_rawmidi_status_t structure using the standard free C library function.

◆ snd_rawmidi_status_get_avail()

size_t snd_rawmidi_status_get_avail ( const snd_rawmidi_status_t status)

get current available bytes in the rawmidi I/O ring buffer

Parameters
statuspointer to a snd_rawmidi_status_t structure
Returns
current available bytes in the rawmidi I/O ring buffer

◆ snd_rawmidi_status_get_tstamp()

void snd_rawmidi_status_get_tstamp ( const snd_rawmidi_status_t status,
snd_htimestamp_t tstamp 
)

get the start timestamp

Parameters
statuspointer to a snd_rawmidi_status_t structure
tstampreturned timestamp value

◆ snd_rawmidi_status_get_xruns()

size_t snd_rawmidi_status_get_xruns ( const snd_rawmidi_status_t status)

get count of xruns

Parameters
statuspointer to a snd_rawmidi_status_t structure
Returns
count of xruns

◆ snd_rawmidi_status_malloc()

int snd_rawmidi_status_malloc ( snd_rawmidi_status_t **  ptr)

allocate the snd_rawmidi_status_t structure

Parameters
ptrreturned pointer
Returns
0 on success otherwise a negative error code if fails

Allocates a new snd_rawmidi_status_t structure using the standard malloc C library function.

◆ snd_rawmidi_status_sizeof()

size_t snd_rawmidi_status_sizeof ( void  )

get size of the snd_rawmidi_status_t structure in bytes

Returns
size of the snd_rawmidi_status_t structure in bytes

◆ snd_rawmidi_stream()

snd_rawmidi_stream_t snd_rawmidi_stream ( snd_rawmidi_t rawmidi)

get stream (direction) of RawMidi handle

Parameters
rawmidia RawMidi handle
Returns
stream of RawMidi handle

Returns the stream snd_rawmidi_stream_t of given RawMidi handle.

◆ snd_rawmidi_tread()

ssize_t snd_rawmidi_tread ( snd_rawmidi_t rawmidi,
struct timespec *  tstamp,
void *  buffer,
size_t  size 
)

read MIDI bytes from MIDI stream with timestamp

Parameters
rawmidiRawMidi handle
[out]tstamptimestamp for the returned MIDI bytes
bufferbuffer to store the input MIDI bytes
sizeinput buffer size in bytes
Return values
countof MIDI bytes otherwise a negative error code
Examples
/test/rawmidi.c.

◆ snd_rawmidi_type()

snd_rawmidi_type_t snd_rawmidi_type ( snd_rawmidi_t rawmidi)

get type of RawMidi handle

Parameters
rawmidia RawMidi handle
Returns
type of RawMidi handle

Returns the type snd_rawmidi_type_t of given RawMidi handle.

◆ snd_rawmidi_write()

ssize_t snd_rawmidi_write ( snd_rawmidi_t rawmidi,
const void *  buffer,
size_t  size 
)

write MIDI bytes to MIDI stream

Parameters
rawmidiRawMidi handle
bufferbuffer containing MIDI bytes
sizeoutput buffer size in bytes
Examples
/test/rawmidi.c.

◆ snd_ump_block_info()

int snd_ump_block_info ( snd_ump_t ump,
snd_ump_block_info_t info 
)

get UMP block information

Parameters
umpUMP handle
infopointer to a snd_ump_block_info_t structure
Returns
0 on success otherwise a negative error code

The caller should fill the block ID to query at first via snd_ump_block_info_set_block_id().

◆ snd_ump_block_info_clear()

void snd_ump_block_info_clear ( snd_ump_block_info_t info)

clears the snd_ump_block_info_t structure

Parameters
infopointer to the snd_ump_block_info_t structure to clear

Zero-clear the snd_ump_block_info_t object.

◆ snd_ump_block_info_copy()

void snd_ump_block_info_copy ( snd_ump_block_info_t dst,
const snd_ump_block_info_t src 
)

copy one snd_ump_block_info_t structure to another

Parameters
dstdestination snd_ump_block_info_t structure
srcsource snd_ump_block_info_t structure

◆ snd_ump_block_info_free()

void snd_ump_block_info_free ( snd_ump_block_info_t info)

frees the snd_ump_block_info_t structure

Parameters
infopointer to the snd_ump_block_info_t structure to free

Frees the given snd_ump_block_info_t structure using the standard free C library function.

◆ snd_ump_block_info_get_active()

unsigned int snd_ump_block_info_get_active ( const snd_ump_block_info_t info)

get UMP block activeness

Parameters
infopointer to a snd_ump_block_info_t structure
Returns
1 if the block is active or 0 if inactive

◆ snd_ump_block_info_get_block_id()

unsigned int snd_ump_block_info_get_block_id ( const snd_ump_block_info_t info)

get UMP block ID

Parameters
infopointer to a snd_ump_block_info_t structure
Returns
ID number of the given UMP block

◆ snd_ump_block_info_get_card()

int snd_ump_block_info_get_card ( const snd_ump_block_info_t info)

get card number of UMP block

Parameters
infopointer to a snd_ump_block_info_t structure
Returns
the card number of the given UMP block

◆ snd_ump_block_info_get_device()

int snd_ump_block_info_get_device ( const snd_ump_block_info_t info)

get device number of UMP block

Parameters
infopointer to a snd_ump_block_info_t structure
Returns
the device number of the given UMP block

◆ snd_ump_block_info_get_direction()

unsigned int snd_ump_block_info_get_direction ( const snd_ump_block_info_t info)

get UMP block direction

Parameters
infopointer to a snd_ump_block_info_t structure
Returns
direction of UMP block (input,output,bidirectional)

◆ snd_ump_block_info_get_first_group()

unsigned int snd_ump_block_info_get_first_group ( const snd_ump_block_info_t info)

get first UMP group ID belonging to the block

Parameters
infopointer to a snd_ump_block_info_t structure
Returns
the first UMP group ID belonging to the block

◆ snd_ump_block_info_get_flags()

unsigned int snd_ump_block_info_get_flags ( const snd_ump_block_info_t info)

get UMP block information flags

Parameters
infopointer to a snd_ump_block_info_t structure
Returns
info flag bits for the given UMP block

◆ snd_ump_block_info_get_midi_ci_version()

unsigned int snd_ump_block_info_get_midi_ci_version ( const snd_ump_block_info_t info)

get MIDI-CI version number

Parameters
infopointer to a snd_ump_block_info_t structure
Returns
MIDI-CI version number

◆ snd_ump_block_info_get_name()

const char * snd_ump_block_info_get_name ( const snd_ump_block_info_t info)

get the name string of UMP block

Parameters
infopointer to a snd_ump_block_info_t structure
Returns
the name string of UMP block

◆ snd_ump_block_info_get_num_groups()

unsigned int snd_ump_block_info_get_num_groups ( const snd_ump_block_info_t info)

get number of UMP groups belonging to the block

Parameters
infopointer to a snd_ump_block_info_t structure
Returns
the number of UMP groups belonging to the block

◆ snd_ump_block_info_get_sysex8_streams()

unsigned int snd_ump_block_info_get_sysex8_streams ( const snd_ump_block_info_t info)

get number of supported SysEx8 streams

Parameters
infopointer to a snd_ump_block_info_t structure
Returns
number of supported SysEx8 streams

◆ snd_ump_block_info_get_ui_hint()

unsigned int snd_ump_block_info_get_ui_hint ( const snd_ump_block_info_t info)

get UI hint of the given UMP block

Parameters
infopointer to a snd_ump_block_info_t structure
Returns
the hint bits

◆ snd_ump_block_info_malloc()

int snd_ump_block_info_malloc ( snd_ump_block_info_t **  info)

allocate the snd_ump_block_info_t structure

Parameters
inforeturned pointer
Returns
0 on success otherwise a negative error code if fails

Allocates a new snd_ump_block_info_t structure using the standard malloc C library function.

◆ snd_ump_block_info_set_active()

void snd_ump_block_info_set_active ( snd_ump_block_info_t info,
unsigned int  active 
)

set activeness to snd_ump_block_info_t structure

Parameters
infopointer to a snd_ump_block_info_t structure
active1 if the block is active or 0 if inactive

◆ snd_ump_block_info_set_block_id()

void snd_ump_block_info_set_block_id ( snd_ump_block_info_t info,
unsigned int  id 
)

set UMP block ID to snd_ump_block_info_t structure

Parameters
infopointer to a snd_ump_block_info_t structure
idthe ID number

This function is mostly used for setting the block ID to query.

◆ snd_ump_block_info_set_card()

void snd_ump_block_info_set_card ( snd_ump_block_info_t info,
unsigned int  card 
)

set card number to snd_ump_block_info_t structure

Parameters
infopointer to a snd_ump_block_info_t structure
cardthe card number

◆ snd_ump_block_info_set_device()

void snd_ump_block_info_set_device ( snd_ump_block_info_t info,
unsigned int  device 
)

set device number to snd_ump_block_info_t structure

Parameters
infopointer to a snd_ump_block_info_t structure
devicethe device number

◆ snd_ump_block_info_set_direction()

void snd_ump_block_info_set_direction ( snd_ump_block_info_t info,
unsigned int  direction 
)

set UMP block direction to snd_ump_block_info_t structure

Parameters
infopointer to a snd_ump_block_info_t structure
directiondirection of UMP block (input,output,bidirectional)

◆ snd_ump_block_info_set_first_group()

void snd_ump_block_info_set_first_group ( snd_ump_block_info_t info,
unsigned int  first_group 
)

set first UMP group to snd_ump_block_info_t structure

Parameters
infopointer to a snd_ump_block_info_t structure
first_groupthe first UMP group ID belonging to the block

◆ snd_ump_block_info_set_flags()

void snd_ump_block_info_set_flags ( snd_ump_block_info_t info,
unsigned int  flags 
)

set UMP block information flags to snd_ump_block_info_t structure

Parameters
infopointer to a snd_ump_block_info_t structure
flagsflag bits for the given UMP block

◆ snd_ump_block_info_set_midi_ci_version()

void snd_ump_block_info_set_midi_ci_version ( snd_ump_block_info_t info,
unsigned int  version 
)

set MIDI-CI version number to snd_ump_block_info_t structure

Parameters
infopointer to a snd_ump_block_info_t structure
versionMIDI-CI version number

◆ snd_ump_block_info_set_name()

void snd_ump_block_info_set_name ( snd_ump_block_info_t info,
const char *  name 
)

set the name string to snd_ump_block_info_t structure

Parameters
infopointer to a snd_ump_block_info_t structure
namethe name string of UMP block

◆ snd_ump_block_info_set_num_groups()

void snd_ump_block_info_set_num_groups ( snd_ump_block_info_t info,
unsigned int  num_groups 
)

set number of UMP groups to snd_ump_block_info_t structure

Parameters
infopointer to a snd_ump_block_info_t structure
num_groupsthe number of UMP groups belonging to the block

◆ snd_ump_block_info_set_sysex8_streams()

void snd_ump_block_info_set_sysex8_streams ( snd_ump_block_info_t info,
unsigned int  streams 
)

set number of supported SysEx8 streams to snd_ump_block_info_t structure

Parameters
infopointer to a snd_ump_block_info_t structure
streamsnumber of supported SysEx8 streams

◆ snd_ump_block_info_set_ui_hint()

void snd_ump_block_info_set_ui_hint ( snd_ump_block_info_t info,
unsigned int  hint 
)

set UI Hint to snd_ump_block_info_t structure

Parameters
infopointer to a snd_ump_block_info_t structure
hintthe hint bits

◆ snd_ump_block_info_sizeof()

size_t snd_ump_block_info_sizeof ( void  )

get size of the snd_ump_block_info_t structure in bytes

Returns
size of the snd_ump_block_info_t structure in bytes

◆ snd_ump_close()

int snd_ump_close ( snd_ump_t ump)

close UMP handle

Parameters
umpUMP handle
Returns
0 on success otherwise a negative error code

Closes the specified UMP handle and frees all associated resources.

◆ snd_ump_drain()

int snd_ump_drain ( snd_ump_t ump)

drain all packets in the UMP I/O ring buffer

Parameters
umpUMP handle
Returns
0 on success otherwise a negative error code

Waits until all MIDI packets are not drained (sent) to the hardware device.

◆ snd_ump_drop()

int snd_ump_drop ( snd_ump_t ump)

drop all packets in the rawmidi I/O ring buffer immediately

Parameters
umpUMP handle
Returns
0 on success otherwise a negative error code

◆ snd_ump_endpoint_info()

int snd_ump_endpoint_info ( snd_ump_t ump,
snd_ump_endpoint_info_t info 
)

get endpoint information about UMP handle

Parameters
umpUMP handle
infopointer to a snd_ump_endpoint_info_t structure to be filled
Returns
0 on success otherwise a negative error code

◆ snd_ump_endpoint_info_clear()

void snd_ump_endpoint_info_clear ( snd_ump_endpoint_info_t info)

clears the snd_ump_endpoint_info_t structure

Parameters
infopointer to the snd_ump_endpoint_info_t structure to clear

Zero-clear the snd_ump_endpoint_info_t object.

◆ snd_ump_endpoint_info_copy()

void snd_ump_endpoint_info_copy ( snd_ump_endpoint_info_t dst,
const snd_ump_endpoint_info_t src 
)

copy one snd_ump_endpoint_info_t structure to another

Parameters
dstdestination snd_ump_endpoint_info_t structure
srcsource snd_ump_endpoint_info_t structure

◆ snd_ump_endpoint_info_free()

void snd_ump_endpoint_info_free ( snd_ump_endpoint_info_t info)

frees the snd_ump_endpoint_info_t structure

Parameters
infopointer to the snd_ump_endpoint_info_t structure to free

Frees the given snd_ump_endpoint_info_t structure using the standard free C library function.

◆ snd_ump_endpoint_info_get_card()

int snd_ump_endpoint_info_get_card ( const snd_ump_endpoint_info_t info)

get card number of UMP endpoint

Parameters
infopointer to a snd_ump_endpoint_info_t structure
Returns
the card number of the given UMP endpoint

◆ snd_ump_endpoint_info_get_device()

int snd_ump_endpoint_info_get_device ( const snd_ump_endpoint_info_t info)

get device number of UMP endpoint

Parameters
infopointer to a snd_ump_endpoint_info_t structure
Returns
the device number of the given UMP endpoint

◆ snd_ump_endpoint_info_get_family_id()

unsigned int snd_ump_endpoint_info_get_family_id ( const snd_ump_endpoint_info_t info)

get UMP family ID

Parameters
infopointer to a snd_ump_endpoint_info_t structure
Returns
UMP family ID

◆ snd_ump_endpoint_info_get_flags()

unsigned int snd_ump_endpoint_info_get_flags ( const snd_ump_endpoint_info_t info)

get UMP endpoint info flags

Parameters
infopointer to a snd_ump_endpoint_info_t structure
Returns
UMP endpoint flag bits

◆ snd_ump_endpoint_info_get_manufacturer_id()

unsigned int snd_ump_endpoint_info_get_manufacturer_id ( const snd_ump_endpoint_info_t info)

get UMP manufacturer ID

Parameters
infopointer to a snd_ump_endpoint_info_t structure
Returns
UMP manufacturer ID

◆ snd_ump_endpoint_info_get_model_id()

unsigned int snd_ump_endpoint_info_get_model_id ( const snd_ump_endpoint_info_t info)

get UMP model ID

Parameters
infopointer to a snd_ump_endpoint_info_t structure
Returns
UMP model ID

◆ snd_ump_endpoint_info_get_name()

const char * snd_ump_endpoint_info_get_name ( const snd_ump_endpoint_info_t info)

get UMP endpoint name string

Parameters
infopointer to a snd_ump_endpoint_info_t structure
Returns
UMP endpoint name string

◆ snd_ump_endpoint_info_get_num_blocks()

unsigned int snd_ump_endpoint_info_get_num_blocks ( const snd_ump_endpoint_info_t info)

get the number of UMP blocks belonging to the endpoint

Parameters
infopointer to a snd_ump_endpoint_info_t structure
Returns
number of UMP blocks

◆ snd_ump_endpoint_info_get_product_id()

const char * snd_ump_endpoint_info_get_product_id ( const snd_ump_endpoint_info_t info)

get UMP endpoint product ID string

Parameters
infopointer to a snd_ump_endpoint_info_t structure
Returns
UMP endpoint product ID string

◆ snd_ump_endpoint_info_get_protocol()

unsigned int snd_ump_endpoint_info_get_protocol ( const snd_ump_endpoint_info_t info)

get the current UMP endpoint protocol

Parameters
infopointer to a snd_ump_endpoint_info_t structure
Returns
UMP endpoint protocol bits

◆ snd_ump_endpoint_info_get_protocol_caps()

unsigned int snd_ump_endpoint_info_get_protocol_caps ( const snd_ump_endpoint_info_t info)

get UMP endpoint protocol capability bits

Parameters
infopointer to a snd_ump_endpoint_info_t structure
Returns
UMP endpoint protocol capability bits

◆ snd_ump_endpoint_info_get_sw_revision()

const unsigned char * snd_ump_endpoint_info_get_sw_revision ( const snd_ump_endpoint_info_t info)

get UMP software revision

Parameters
infopointer to a snd_ump_endpoint_info_t structure
Returns
UMP software revision

◆ snd_ump_endpoint_info_get_version()

unsigned int snd_ump_endpoint_info_get_version ( const snd_ump_endpoint_info_t info)

get UMP version number

Parameters
infopointer to a snd_ump_endpoint_info_t structure
Returns
UMP version number

◆ snd_ump_endpoint_info_malloc()

int snd_ump_endpoint_info_malloc ( snd_ump_endpoint_info_t **  info)

allocate the snd_ump_endpoint_info_t structure

Parameters
inforeturned pointer
Returns
0 on success otherwise a negative error code if fails

Allocates a new snd_rawmidi_status_t structure using the standard malloc C library function.

◆ snd_ump_endpoint_info_set_card()

void snd_ump_endpoint_info_set_card ( snd_ump_endpoint_info_t info,
unsigned int  card 
)

set card number of UMP endpoint

Parameters
infopointer to a snd_ump_endpoint_info_t structure
cardthe card number of the given UMP endpoint

◆ snd_ump_endpoint_info_set_device()

void snd_ump_endpoint_info_set_device ( snd_ump_endpoint_info_t info,
unsigned int  device 
)

set device number of UMP endpoint

Parameters
infopointer to a snd_ump_endpoint_info_t structure
devicethe device number of the given UMP endpoint

◆ snd_ump_endpoint_info_set_family_id()

void snd_ump_endpoint_info_set_family_id ( snd_ump_endpoint_info_t info,
unsigned int  id 
)

set the UMP family ID of UMP endpoint

Parameters
infopointer to a snd_ump_endpoint_info_t structure
idUMP family ID

◆ snd_ump_endpoint_info_set_flags()

void snd_ump_endpoint_info_set_flags ( snd_ump_endpoint_info_t info,
unsigned int  flags 
)

set info flags of UMP endpoint

Parameters
infopointer to a snd_ump_endpoint_info_t structure
flagsUMP endpoint flag bits

◆ snd_ump_endpoint_info_set_manufacturer_id()

void snd_ump_endpoint_info_set_manufacturer_id ( snd_ump_endpoint_info_t info,
unsigned int  id 
)

set the UMP manufacturer ID of UMP endpoint

Parameters
infopointer to a snd_ump_endpoint_info_t structure
idUMP manufacturer ID

◆ snd_ump_endpoint_info_set_model_id()

void snd_ump_endpoint_info_set_model_id ( snd_ump_endpoint_info_t info,
unsigned int  id 
)

set the UMP model ID of UMP endpoint

Parameters
infopointer to a snd_ump_endpoint_info_t structure
idUMP model ID

◆ snd_ump_endpoint_info_set_name()

void snd_ump_endpoint_info_set_name ( snd_ump_endpoint_info_t info,
const char *  name 
)

set the name of UMP endpoint

Parameters
infopointer to a snd_ump_endpoint_info_t structure
nameUMP endpoint name string

◆ snd_ump_endpoint_info_set_num_blocks()

void snd_ump_endpoint_info_set_num_blocks ( snd_ump_endpoint_info_t info,
unsigned int  blocks 
)

set the number of UMP blocks of UMP endpoint

Parameters
infopointer to a snd_ump_endpoint_info_t structure
blocksthe number of UMP blocks

◆ snd_ump_endpoint_info_set_product_id()

void snd_ump_endpoint_info_set_product_id ( snd_ump_endpoint_info_t info,
const char *  id 
)

set the product ID string of UMP endpoint

Parameters
infopointer to a snd_ump_endpoint_info_t structure
idUMP endpoint product ID string

◆ snd_ump_endpoint_info_set_protocol()

void snd_ump_endpoint_info_set_protocol ( snd_ump_endpoint_info_t info,
unsigned int  protocol 
)

set the current protocol of UMP endpoint

Parameters
infopointer to a snd_ump_endpoint_info_t structure
protocolthe UMP endpoint protocol bits

◆ snd_ump_endpoint_info_set_protocol_caps()

void snd_ump_endpoint_info_set_protocol_caps ( snd_ump_endpoint_info_t info,
unsigned int  caps 
)

set protocol capability bits of UMP endpoint

Parameters
infopointer to a snd_ump_endpoint_info_t structure
capsUMP endpoint protocol capability bits

◆ snd_ump_endpoint_info_set_sw_revision()

void snd_ump_endpoint_info_set_sw_revision ( snd_ump_endpoint_info_t info,
const unsigned char *  id 
)

set the UMP software revision of UMP endpoint

Parameters
infopointer to a snd_ump_endpoint_info_t structure
idUMP software revision in 4 bytes array

◆ snd_ump_endpoint_info_set_version()

void snd_ump_endpoint_info_set_version ( snd_ump_endpoint_info_t info,
unsigned int  version 
)

set the UMP version number of UMP endpoint

Parameters
infopointer to a snd_ump_endpoint_info_t structure
versionthe UMP version number

◆ snd_ump_endpoint_info_sizeof()

size_t snd_ump_endpoint_info_sizeof ( void  )

get size of the snd_ump_endpoint_info_t structure in bytes

Returns
size of the snd_ump_endpoint_info_t structure in bytes

◆ snd_ump_name()

const char * snd_ump_name ( snd_ump_t ump)

get identifier of UMP handle

Parameters
umpUMP handle
Returns
ascii identifier of UMP handle

Returns the ASCII identifier of given UMP handle. It's the same identifier specified in snd_ump_open().

◆ snd_ump_nonblock()

int snd_ump_nonblock ( snd_ump_t ump,
int  nonblock 
)

set nonblock mode

Parameters
umpUMP handle
nonblock0 = block, 1 = nonblock mode
Returns
0 on success otherwise a negative error code

The nonblock mode cannot be used when the stream is in SND_RAWMIDI_APPEND state.

◆ snd_ump_open()

int snd_ump_open ( snd_ump_t **  inputp,
snd_ump_t **  outputp,
const char *  name,
int  mode 
)

Opens a new connection to the UMP interface.

Parameters
inputpReturned input handle (NULL if not wanted)
outputpReturned output handle (NULL if not wanted)
nameASCII identifier of the UMP handle
modeOpen mode
Returns
0 on success otherwise a negative error code

Opens a new connection to the UMP interface specified with an ASCII identifier and mode.

◆ snd_ump_poll_descriptors()

int snd_ump_poll_descriptors ( snd_ump_t ump,
struct pollfd *  pfds,
unsigned int  space 
)

get poll descriptors

Parameters
umpUMP handle
pfdsarray of poll descriptors
spacespace in the poll descriptor array
Returns
count of filled descriptors

◆ snd_ump_poll_descriptors_count()

int snd_ump_poll_descriptors_count ( snd_ump_t ump)

get count of poll descriptors for UMP handle

Parameters
umpUMP handle
Returns
count of poll descriptors

◆ snd_ump_poll_descriptors_revents()

int snd_ump_poll_descriptors_revents ( snd_ump_t ump,
struct pollfd *  pfds,
unsigned int  nfds,
unsigned short *  revents 
)

get returned events from poll descriptors

Parameters
umpUMP handle
pfdsarray of poll descriptors
nfdscount of poll descriptors
reventsreturned events
Returns
zero if success, otherwise a negative error code

◆ snd_ump_rawmidi()

snd_rawmidi_t * snd_ump_rawmidi ( snd_ump_t ump)

get RawMidi instance associated with the UMP handle

Parameters
umpUMP handle
Returns
the associated RawMidi handle

Returns the associated RawMidi instance with the given UMP handle

◆ snd_ump_rawmidi_info()

int snd_ump_rawmidi_info ( snd_ump_t ump,
snd_rawmidi_info_t info 
)

get information about associated RawMidi handle

Parameters
umpUMP handle
infopointer to a snd_rawmidi_info_t structure to be filled
Returns
0 on success otherwise a negative error code

◆ snd_ump_rawmidi_params()

int snd_ump_rawmidi_params ( snd_ump_t ump,
snd_rawmidi_params_t params 
)

set parameters about associated RawMidi stream

Parameters
umpUMP handle
paramspointer to a snd_rawmidi_params_t structure to be filled
Returns
0 on success otherwise a negative error code

◆ snd_ump_rawmidi_params_current()

int snd_ump_rawmidi_params_current ( snd_ump_t ump,
snd_rawmidi_params_t params 
)

get current parameters about associated RawMidi stream

Parameters
umpUMP handle
paramspointer to a snd_rawmidi_params_t structure to be filled
Returns
0 on success otherwise a negative error code

◆ snd_ump_rawmidi_status()

int snd_ump_rawmidi_status ( snd_ump_t ump,
snd_rawmidi_status_t status 
)

get status of associated RawMidi stream

Parameters
umpUMP handle
statuspointer to a snd_rawmidi_status_t structure to be filled
Returns
0 on success otherwise a negative error code

◆ snd_ump_read()

ssize_t snd_ump_read ( snd_ump_t ump,
void *  buffer,
size_t  size 
)

read UMP packets from UMP stream

Parameters
umpUMP handle
bufferbuffer to store the input MIDI bytes
sizeinput buffer size in bytes
Return values
countof UMP packet in bytes otherwise a negative error code

◆ snd_ump_tread()

ssize_t snd_ump_tread ( snd_ump_t ump,
struct timespec *  tstamp,
void *  buffer,
size_t  size 
)

read UMP packets from UMP stream with timestamp

Parameters
umpUMP handle
[out]tstamptimestamp for the returned UMP packets
bufferbuffer to store the input UMP packets
sizeinput buffer size in bytes
Return values
countof UMP packet in bytes otherwise a negative error code

◆ snd_ump_write()

ssize_t snd_ump_write ( snd_ump_t ump,
const void *  buffer,
size_t  size 
)

write UMP packets to UMP stream

Parameters
umpUMP handle
bufferbuffer containing UMP packets
sizeoutput buffer size in bytes