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)