Loading...
Searching...
No Matches
ump.c File Reference

Universal MIDI Protocol (UMP) Interface. More...

## Functions

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_t * | snd_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
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 protocol)
| set the current protocol of UMP endpoint
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
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
int | snd_ump_endpoint_info (snd_ump_t *ump, snd_ump_endpoint_info_t *info)
| get endpoint information about UMP handle
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
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
int | snd_ump_block_info (snd_ump_t *ump, snd_ump_block_info_t *info)
| get UMP block information
int | snd_ump_msg_sysex_expand (const uint32_t *ump, uint8_t *buf, size_t maxlen, size_t *filled)
| fill sysex byte from a UMP packet
int | snd_ump_packet_length (unsigned int type)
| return the length of a UMP packet type

## Detailed Description

Universal MIDI Protocol (UMP) Interface.

## Function Documentation

## snd_ump_msg_sysex_expand()

int snd_ump_msg_sysex_expand | ( | const uint32_t * | ump,
|  | uint8_t * | buf,
|  | size_t | maxlen,
|  | size_t * | filled )

fill sysex byte from a UMP packet

Parameters

  ump | UMP packet pointer
  buf | buffer point to fill sysex bytes
  maxlen | max buffer size in bytes
  filled | the size of filled sysex bytes on the buffer

Returns
  1 if the sysex finished, otherwise 0

## snd_ump_packet_length()

int snd_ump_packet_length | ( | unsigned int | type | ) |

return the length of a UMP packet type

Parameters

  type | UMP packet type

Returns
  the length of the given UMP packet type in 32bit words (from 1 to 4), or 0 for negative inputs.