|
ALSA project - the C library reference
|
API library for ALSA rawmidi/UMP interface. More...


Go to the source code of this file.
Enumerations | |
| enum | { SND_UMP_MIDI2_NOTE_ATTR_NO_DATA = 0x00 , SND_UMP_MIDI2_NOTE_ATTR_MANUFACTURER = 0x01 , SND_UMP_MIDI2_NOTE_ATTR_PROFILE = 0x02 , SND_UMP_MIDI2_NOTE_ATTR_PITCH79 = 0x03 } |
| enum | { SND_UMP_MIDI2_PNMGMT_RESET_CONTROLLERS = 0x01 , SND_UMP_MIDI2_PNMGMT_DETACH_CONTROLLERS = 0x02 } |
| enum | { SND_UMP_MSG_TYPE_UTILITY = 0x00 , SND_UMP_MSG_TYPE_SYSTEM = 0x01 , SND_UMP_MSG_TYPE_MIDI1_CHANNEL_VOICE = 0x02 , SND_UMP_MSG_TYPE_DATA = 0x03 , SND_UMP_MSG_TYPE_MIDI2_CHANNEL_VOICE = 0x04 , SND_UMP_MSG_TYPE_EXTENDED_DATA = 0x05 , SND_UMP_MSG_TYPE_FLEX_DATA = 0x0d , SND_UMP_MSG_TYPE_STREAM = 0x0f } |
| enum | { SND_UMP_MSG_PER_NOTE_RCC = 0x0 , SND_UMP_MSG_PER_NOTE_ACC = 0x1 , SND_UMP_MSG_RPN = 0x2 , SND_UMP_MSG_NRPN = 0x3 , SND_UMP_MSG_RELATIVE_RPN = 0x4 , SND_UMP_MSG_RELATIVE_NRPN = 0x5 , SND_UMP_MSG_PER_NOTE_PITCHBEND = 0x6 , SND_UMP_MSG_NOTE_OFF = 0x8 , SND_UMP_MSG_NOTE_ON = 0x9 , SND_UMP_MSG_POLY_PRESSURE = 0xa , SND_UMP_MSG_CONTROL_CHANGE = 0xb , SND_UMP_MSG_PROGRAM_CHANGE = 0xc , SND_UMP_MSG_CHANNEL_PRESSURE = 0xd , SND_UMP_MSG_PITCHBEND = 0xe , SND_UMP_MSG_PER_NOTE_MGMT = 0xf } |
| enum | { SND_UMP_MSG_REALTIME = 0xf0 , SND_UMP_MSG_SYSEX_START = 0xf0 , SND_UMP_MSG_MIDI_TIME_CODE = 0xf1 , SND_UMP_MSG_SONG_POSITION = 0xf2 , SND_UMP_MSG_SONG_SELECT = 0xf3 , SND_UMP_MSG_TUNE_REQUEST = 0xf6 , SND_UMP_MSG_SYSEX_END = 0xf7 , SND_UMP_MSG_TIMING_CLOCK = 0xf8 , SND_UMP_MSG_START = 0xfa , SND_UMP_MSG_CONTINUE = 0xfb , SND_UMP_MSG_STOP = 0xfc , SND_UMP_MSG_ACTIVE_SENSING = 0xfe , SND_UMP_MSG_RESET = 0xff } |
| enum | { SND_UMP_SYSEX_STATUS_SINGLE = 0 , SND_UMP_SYSEX_STATUS_START = 1 , SND_UMP_SYSEX_STATUS_CONTINUE = 2 , SND_UMP_SYSEX_STATUS_END = 3 } |
| enum | { SND_UMP_MIXED_DATA_SET_STATUS_HEADER = 8 , SND_UMP_MIXED_DATA_SET_STATUS_PAYLOAD = 9 } |
| enum | { SND_UMP_UTILITY_MSG_STATUS_NOOP = 0x00 , SND_UMP_UTILITY_MSG_STATUS_JR_CLOCK = 0x01 , SND_UMP_UTILITY_MSG_STATUS_JR_TSTAMP = 0x02 , SND_UMP_UTILITY_MSG_STATUS_DCTPQ = 0x03 , SND_UMP_UTILITY_MSG_STATUS_DC = 0x04 } |
| enum | { SND_UMP_STREAM_MSG_STATUS_EP_DISCOVERY = 0x00 , SND_UMP_STREAM_MSG_STATUS_EP_INFO = 0x01 , SND_UMP_STREAM_MSG_STATUS_DEVICE_INFO = 0x02 , SND_UMP_STREAM_MSG_STATUS_EP_NAME = 0x03 , SND_UMP_STREAM_MSG_STATUS_PRODUCT_ID = 0x04 , SND_UMP_STREAM_MSG_STATUS_STREAM_CFG_REQUEST = 0x05 , SND_UMP_STREAM_MSG_STATUS_STREAM_CFG = 0x06 , SND_UMP_STREAM_MSG_STATUS_FB_DISCOVERY = 0x10 , SND_UMP_STREAM_MSG_STATUS_FB_INFO = 0x11 , SND_UMP_STREAM_MSG_STATUS_FB_NAME = 0x12 , SND_UMP_STREAM_MSG_STATUS_START_CLIP = 0x20 , SND_UMP_STREAM_MSG_STATUS_END_CLIP = 0x21 } |
| enum | { SND_UMP_STREAM_MSG_REQUEST_EP_INFO = (1U << 0) , SND_UMP_STREAM_MSG_REQUEST_DEVICE_INFO = (1U << 1) , SND_UMP_STREAM_MSG_REQUEST_EP_NAME = (1U << 2) , SND_UMP_STREAM_MSG_REQUEST_PRODUCT_ID = (1U << 3) , SND_UMP_STREAM_MSG_REQUEST_STREAM_CFG = (1U << 4) } |
| enum | { SND_UMP_STREAM_MSG_REQUEST_FB_INFO = (1U << 0) , SND_UMP_STREAM_MSG_REQUEST_FB_NAME = (1U << 1) } |
| enum | { SND_UMP_STREAM_MSG_EP_INFO_CAP_TXJR = (1U << 0) , SND_UMP_STREAM_MSG_EP_INFO_CAP_RXJR = (1U << 1) , SND_UMP_STREAM_MSG_EP_INFO_CAP_MIDI1 = (1U << 8) , SND_UMP_STREAM_MSG_EP_INFO_CAP_MIDI2 = (1U << 9) } |
| enum | { SND_UMP_STREAM_MSG_FORMAT_SINGLE = 0 , SND_UMP_STREAM_MSG_FORMAT_START = 1 , SND_UMP_STREAM_MSG_FORMAT_CONTINUE = 2 , SND_UMP_STREAM_MSG_FORMAT_END = 3 } |
| enum | { SND_UMP_FLEX_DATA_MSG_FORMAT_SINGLE = 0 , SND_UMP_FLEX_DATA_MSG_FORMAT_START = 1 , SND_UMP_FLEX_DATA_MSG_FORMAT_CONTINUE = 2 , SND_UMP_FLEX_DATA_MSG_FORMAT_END = 3 } |
| enum | { SND_UMP_FLEX_DATA_MSG_ADDR_CHANNEL = 0 , SND_UMP_FLEX_DATA_MSG_ADDR_GROUP = 1 } |
| enum | { SND_UMP_FLEX_DATA_MSG_BANK_SETUP = 0 , SND_UMP_FLEX_DATA_MSG_BANK_METADATA = 1 , SND_UMP_FLEX_DATA_MSG_BANK_PERF_TEXT = 2 } |
| enum | { SND_UMP_FLEX_DATA_MSG_STATUS_SET_TEMPO = 0x00 , SND_UMP_FLEX_DATA_MSG_STATUS_SET_TIME_SIGNATURE = 0x01 , SND_UMP_FLEX_DATA_MSG_STATUS_SET_METRONOME = 0x02 , SND_UMP_FLEX_DATA_MSG_STATUS_SET_KEY_SIGNATURE = 0x05 , SND_UMP_FLEX_DATA_MSG_STATUS_SET_CHORD_NAME = 0x06 } |
| enum | { SND_UMP_FLEX_DATA_MSG_STATUS_PROJECT_NAME = 0x01 , SND_UMP_FLEX_DATA_MSG_STATUS_SONG_NAME = 0x02 , SND_UMP_FLEX_DATA_MSG_STATUS_MIDI_CLIP_NAME = 0x03 , SND_UMP_FLEX_DATA_MSG_STATUS_COPYRIGHT_NOTICE = 0x04 , SND_UMP_FLEX_DATA_MSG_STATUS_COMPOSER_NAME = 0x05 , SND_UMP_FLEX_DATA_MSG_STATUS_LYRICIST_NAME = 0x06 , SND_UMP_FLEX_DATA_MSG_STATUS_ARRANGER_NAME = 0x07 , SND_UMP_FLEX_DATA_MSG_STATUS_PUBLISHER_NAME = 0x08 , SND_UMP_FLEX_DATA_MSG_STATUS_PRIMARY_PERFORMER = 0x09 , SND_UMP_FLEX_DATA_MSG_STATUS_ACCOMPANY_PERFORMAER = 0x0a , SND_UMP_FLEX_DATA_MSG_STATUS_RECORDING_DATE = 0x0b , SND_UMP_FLEX_DATA_MSG_STATUS_RECORDING_LOCATION = 0x0c } |
| enum | { SND_UMP_FLEX_DATA_MSG_STATUS_LYRICS = 0x01 , SND_UMP_FLEX_DATA_MSG_STATUS_LYRICS_LANGUAGE = 0x02 , SND_UMP_FLEX_DATA_MSG_STATUS_RUBY = 0x03 , SND_UMP_FLEX_DATA_MSG_STATUS_RUBY_LANGUAGE = 0x04 } |
Functions | |
| struct _snd_ump_msg_hdr | __attribute ((packed)) snd_ump_msg_hdr_t |
| 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 | |
Variables | |
| uint8_t | type |
| uint8_t | group |
| uint8_t | status |
| uint8_t | channel |
| uint8_t | byte1 |
| uint8_t | byte2 |
| uint8_t | note |
| uint8_t | velocity |
| uint8_t | data |
| uint8_t | index |
| uint8_t | program |
| uint8_t | reserved |
| uint8_t | data_lsb |
| uint8_t | data_msb |
| uint8_t | parm1 |
| uint8_t | parm2 |
| uint8_t | attr_type |
| uint16_t | attr_data |
| enum { ... } | __attribute |
| uint8_t | flags |
| uint8_t | bank |
| uint16_t | bank_valid |
| uint8_t | reserved2 |
| uint8_t | bank_msb |
| uint8_t | bank_lsb |
| uint16_t | format |
| uint16_t | data1 |
| uint32_t | data2 |
| uint32_t | data3 |
| uint32_t | data4 |
| uint8_t | addrs |
| uint8_t | status_bank |
| uint32_t | tempo |
| uint8_t | numerator |
| uint8_t | denominator |
| uint8_t | num_notes |
| uint8_t | reserved1 |
| uint8_t | clocks_primary |
| uint8_t | bar_accent_1 |
| uint8_t | bar_accent_2 |
| uint8_t | bar_accent_3 |
| uint8_t | subdivision_1 |
| uint8_t | subdivision_2 |
| uint8_t | sharps_flats |
| uint8_t | tonic_note |
| uint8_t | tonic_sharp |
| uint8_t | chord_tonic |
| uint8_t | chord_type |
| uint8_t | alter1_type |
| uint8_t | alter1_degree |
| uint8_t | alter2_type |
| uint8_t | alter2_degree |
| uint8_t | alter3_type |
| uint8_t | alter3_degree |
| uint8_t | alter4_type |
| uint8_t | alter4_degree |
| uint8_t | bass_sharp |
| uint8_t | bass_note |
| uint8_t | bass_type |
| uint8_t | bass_alter1_type |
| uint8_t | bass_alter1_degree |
| uint8_t | bass_alter2_type |
| uint8_t | bass_alter2_degree |
| uint16_t | time |
| uint16_t | ticks |
API library for ALSA rawmidi/UMP interface.
API library for ALSA rawmidi/UMP interface
| anonymous enum |
| anonymous enum |
| anonymous enum |
UMP Function Block Discovery filter bitmap
| anonymous enum |
UMP Endpoint Info capability bits (used for protocol request/notify, too)
| anonymous enum |
UMP Endpoint / Function Block name string format bits
| anonymous enum |
UMP Flex Data Format bits
| anonymous enum |
UMP Flex Data Address bits
| anonymous enum |
UMP Flex Data Status Bank bits
| anonymous enum |
UMP Flex Data Status bits for Setup (Status Bank = 0)
| anonymous enum |
UMP Flex Data Status bits for Metadata (Status Bank = 1)
| anonymous enum |
UMP Flex Data Status bits for Performance Text Events (Status Bank = 2)
| anonymous enum |
UMP message type
| anonymous enum |
UMP MIDI 1.0 / 2.0 message status code (4bit)
| anonymous enum |
MIDI System / Realtime message status code (8bit)
| anonymous enum |
MIDI 2.0 SysEx / Data Status; same values for both 7-bit and 8-bit SysEx
| anonymous enum |
MIDI 2.0 Mixed Data Set Status
| anonymous enum |
UMP Utility Type Status (type 0x0)
| anonymous enum |
UMP Stream Message Status (type 0xf)
| anonymous enum |
UMP Endpoint Discovery filter bitmap
| struct _snd_ump_msg_hdr __attribute | ( | (packed) | ) |
general UMP packet header in 32bit word
MIDI 1.0 Note Off / Note On (32bit)
MIDI 1.0 Poly Pressure (32bit)
MIDI 1.0 Control Change (32bit)
MIDI 1.0 Program Change (32bit)
MIDI 1.0 Channel Pressure (32bit)
MIDI 1.0 Pitch Bend (32bit)
System Common and Real Time messages (32bit); no channel field
MIDI 2.0 Note Off / Note On (64bit)
MIDI 2.0 Poly Pressure (64bit)
MIDI 2.0 Per-Note Controller (64bit)
MIDI 2.0 Per-Note Management (64bit)
MIDI 2.0 Control Change (64bit)
MIDI 2.0 Registered Controller (RPN) / Assignable Controller (NRPN) (64bit)
MIDI 2.0 Program Change (64bit)
MIDI 2.0 Channel Pressure (64bit)
MIDI 2.0 Pitch Bend (64bit)
MIDI 2.0 Per-Note Pitch Bend (64bit)
Stream Message (generic) (128bit)
Metadata / Text Message (128bit)
Set Tempo Message (128bit)
Set Time Signature Message (128bit)
Set Metronome Message (128bit)
Set Key Signature Message (128bit)
Set Chord Name Message (128bit)
Jitter Reduction Clock / Timestamp Message (32bit)
Delta Clockstamp Ticks Per Quarter Note (DCTPQ) (32bit)
Delta Clockstamp (DC) (32bit)
| 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
| 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 |
| int snd_ump_packet_length | ( | unsigned int | type | ) |
return the length of a UMP packet type
| type | UMP packet type |
| struct _snd_ump_msg_dc __attribute |
MIDI 2.0 per-note management flag bits
MIDI 1.0 Note Off / Note On (32bit)
MIDI 1.0 Poly Pressure (32bit)
MIDI 1.0 Control Change (32bit)
MIDI 1.0 Program Change (32bit)
MIDI 1.0 Channel Pressure (32bit)
MIDI 1.0 Pitch Bend (32bit)
System Common and Real Time messages (32bit); no channel field
MIDI 2.0 Note Off / Note On (64bit)
MIDI 2.0 Poly Pressure (64bit)
MIDI 2.0 Per-Note Controller (64bit)
MIDI 2.0 Per-Note Management (64bit)
MIDI 2.0 Control Change (64bit)
MIDI 2.0 Registered Controller (RPN) / Assignable Controller (NRPN) (64bit)
MIDI 2.0 Program Change (64bit)
MIDI 2.0 Channel Pressure (64bit)
MIDI 2.0 Pitch Bend (64bit)
MIDI 2.0 Per-Note Pitch Bend (64bit)
Stream Message (generic) (128bit)
Metadata / Text Message (128bit)
Set Tempo Message (128bit)
Set Time Signature Message (128bit)
Set Metronome Message (128bit)
Set Key Signature Message (128bit)
Set Chord Name Message (128bit)
Jitter Reduction Clock / Timestamp Message (32bit)
Delta Clockstamp Ticks Per Quarter Note (DCTPQ) (32bit)
Delta Clockstamp (DC) (32bit)
| uint8_t addrs |
Address
| uint8_t alter1_degree |
Alteration 1 Degree
| uint8_t alter1_type |
Alteration 1 Type
| uint8_t alter2_degree |
Alteration 2 Degree
| uint8_t alter2_type |
Alteration 2 Type
| uint8_t alter3_degree |
Alteration 3 Degree
| uint8_t alter3_type |
Alteration 3 Type
| uint8_t alter4_degree |
Alteration 4 Degree
| uint8_t alter4_type |
Alteration 4 Type
| uint16_t attr_data |
Attribute data (16bit)
| uint8_t attr_type |
Attribute type
| uint8_t bank |
Bank number (7bit)
| uint8_t bank_lsb |
LSB of bank (7bit)
| uint8_t bank_msb |
MSB of bank (8bit)
| uint16_t bank_valid |
Option flag: bank valid
| uint8_t bar_accent_1 |
Bar accent part 1
| uint8_t bar_accent_2 |
Bar accent part 2
| uint8_t bar_accent_3 |
Bar accent part 3
| uint8_t bass_alter1_degree |
Bass Alteration 1 Degree
| uint8_t bass_alter1_type |
Bass Alteration 1 Type
| uint8_t bass_alter2_degree |
Bass Alteration 2 Degree
| uint8_t bass_alter2_type |
Bass Alteration 2 Type
| uint8_t bass_note |
Bass Note
| uint8_t bass_sharp |
Bass Sharps/Flats
| uint8_t bass_type |
Bass Chord Type
| uint8_t byte1 |
First data byte
| uint8_t byte2 |
Second data byte
| uint8_t channel |
Channel
| uint8_t chord_tonic |
Chord Tonic Note
| uint8_t chord_type |
Chord Type
| uint8_t clocks_primary |
Num clocks per primary clock
| uint32_t data |
Pressure (7bit)
Control data (7bit)
Pressure (32bit)
Data (32bit)
Control data (32bit)
Data (96 bits)
| uint16_t data1 |
Data
| uint32_t data2 |
Data
| uint32_t data3 |
Data
| uint32_t data4 |
Data
| uint8_t data_lsb |
LSB of pitchbend (7bit)
| uint8_t data_msb |
MSB of pitchbend (7bit)
| uint8_t denominator |
Denominator
| uint8_t flags |
Option flags (8bit)
| uint8_t format |
Format
| uint32_t group |
UMP Group
| uint8_t index |
Control index (7bit)
Control index (8bit)
| uint8_t note |
Note (7bit)
| uint8_t num_notes |
Number of 1/32 notes
| uint8_t numerator |
Numerator
| uint8_t parm1 |
First parameter
| uint8_t parm2 |
Second parameter
| uint8_t program |
Program number (7bit)
| uint8_t reserved |
Unused
| uint8_t reserved1 |
Unused
| uint32_t reserved2 |
Unused
| uint8_t sharps_flats |
Sharps/Flats
| uint32_t status |
Status
| uint8_t status_bank |
Status Bank
| uint8_t subdivision_1 |
Num subdivision clicks 1
| uint8_t subdivision_2 |
Num subdivision clicks 1
| uint32_t tempo |
Number of 10nsec units per quarter note
| uint32_t ticks |
number of ticks per quarter note
number of ticks since last event
| uint16_t time |
clock time / timestamp
| uint8_t tonic_note |
Tonic Note 1
| uint8_t tonic_sharp |
Tonic Sharps/Flats
| uint32_t type |
UMP packet type
| uint16_t velocity |
Velocity (7bit)
Velocity (16bit)