9 #ifndef __ALSA_UMP_MSG_H
10 #define __ALSA_UMP_MSG_H
20 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
39 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
58 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
77 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
96 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
111 }
__attribute((packed)) snd_ump_msg_midi1_program_t;
115 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
134 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
149 }
__attribute((packed)) snd_ump_msg_midi1_pitchbend_t;
153 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
169 typedef union _snd_ump_msg_midi1 {
192 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
217 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
240 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
259 }
__attribute((packed)) snd_ump_msg_midi2_per_note_cc_t;
269 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
288 }
__attribute((packed)) snd_ump_msg_midi2_per_note_mgmt_t;
292 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
315 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
338 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
363 }
__attribute((packed)) snd_ump_msg_midi2_program_t;
367 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
388 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
405 }
__attribute((packed)) snd_ump_msg_midi2_pitchbend_t;
409 #ifdef __BIG_ENDIAN_BITFIELD
428 }
__attribute((packed)) snd_ump_msg_midi2_per_note_pitchbend_t;
431 typedef union _snd_ump_msg_midi2 {
439 snd_ump_msg_midi2_rpn_t
rpn;
453 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
473 typedef union _snd_ump_msg_stream {
474 snd_ump_msg_stream_gen_t
gen;
481 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
500 }
__attribute((packed)) snd_ump_msg_flex_data_meta_t;
504 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
527 uint32_t reserved[2];
533 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
562 uint32_t reserved[2];
564 }
__attribute((packed)) snd_ump_msg_set_time_sig_t;
568 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
607 }
__attribute((packed)) snd_ump_msg_set_metronome_t;
611 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
634 uint8_t reserved1[3];
638 uint32_t reserved2[2];
644 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
705 }
__attribute((packed)) snd_ump_msg_set_chord_name_t;
708 typedef union _snd_ump_msg_flex_data {
709 snd_ump_msg_flex_data_meta_t
meta;
710 snd_ump_msg_flex_data_meta_t
text;
721 typedef struct _snd_ump_msg_mixed_data_header {
722 #ifdef __BIG_ENDIAN_BITFIELD
732 uint16_t manufacturer;
756 typedef struct _snd_ump_msg_mixed_data_payload {
757 #ifdef __BIG_ENDIAN_BITFIELD
764 uint32_t payloads[3];
772 uint32_t payloads[3];
777 typedef union _snd_ump_msg_mixed_data {
785 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
802 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
819 #ifdef SNDRV_BIG_ENDIAN_BITFIELD
833 typedef union _snd_ump_msg_utility {
845 SND_UMP_MSG_TYPE_UTILITY = 0x00,
846 SND_UMP_MSG_TYPE_SYSTEM = 0x01,
847 SND_UMP_MSG_TYPE_MIDI1_CHANNEL_VOICE = 0x02,
848 SND_UMP_MSG_TYPE_DATA = 0x03,
849 SND_UMP_MSG_TYPE_MIDI2_CHANNEL_VOICE = 0x04,
850 SND_UMP_MSG_TYPE_EXTENDED_DATA = 0x05,
851 SND_UMP_MSG_TYPE_FLEX_DATA = 0x0d,
852 SND_UMP_MSG_TYPE_STREAM = 0x0f,
859 SND_UMP_MSG_PER_NOTE_RCC = 0x0,
860 SND_UMP_MSG_PER_NOTE_ACC = 0x1,
861 SND_UMP_MSG_RPN = 0x2,
862 SND_UMP_MSG_NRPN = 0x3,
863 SND_UMP_MSG_RELATIVE_RPN = 0x4,
864 SND_UMP_MSG_RELATIVE_NRPN = 0x5,
865 SND_UMP_MSG_PER_NOTE_PITCHBEND = 0x6,
866 SND_UMP_MSG_NOTE_OFF = 0x8,
867 SND_UMP_MSG_NOTE_ON = 0x9,
868 SND_UMP_MSG_POLY_PRESSURE = 0xa,
869 SND_UMP_MSG_CONTROL_CHANGE = 0xb,
870 SND_UMP_MSG_PROGRAM_CHANGE = 0xc,
871 SND_UMP_MSG_CHANNEL_PRESSURE = 0xd,
872 SND_UMP_MSG_PITCHBEND = 0xe,
873 SND_UMP_MSG_PER_NOTE_MGMT = 0xf,
880 SND_UMP_MSG_REALTIME = 0xf0,
881 SND_UMP_MSG_SYSEX_START = 0xf0,
882 SND_UMP_MSG_MIDI_TIME_CODE = 0xf1,
883 SND_UMP_MSG_SONG_POSITION = 0xf2,
884 SND_UMP_MSG_SONG_SELECT = 0xf3,
885 SND_UMP_MSG_TUNE_REQUEST = 0xf6,
886 SND_UMP_MSG_SYSEX_END = 0xf7,
887 SND_UMP_MSG_TIMING_CLOCK = 0xf8,
888 SND_UMP_MSG_START = 0xfa,
889 SND_UMP_MSG_CONTINUE = 0xfb,
890 SND_UMP_MSG_STOP = 0xfc,
891 SND_UMP_MSG_ACTIVE_SENSING = 0xfe,
892 SND_UMP_MSG_RESET = 0xff,
897 SND_UMP_SYSEX_STATUS_SINGLE = 0,
898 SND_UMP_SYSEX_STATUS_START = 1,
899 SND_UMP_SYSEX_STATUS_CONTINUE = 2,
900 SND_UMP_SYSEX_STATUS_END = 3,
905 SND_UMP_MIXED_DATA_SET_STATUS_HEADER = 8,
906 SND_UMP_MIXED_DATA_SET_STATUS_PAYLOAD = 9,
911 SND_UMP_UTILITY_MSG_STATUS_NOOP = 0x00,
912 SND_UMP_UTILITY_MSG_STATUS_JR_CLOCK = 0x01,
913 SND_UMP_UTILITY_MSG_STATUS_JR_TSTAMP = 0x02,
914 SND_UMP_UTILITY_MSG_STATUS_DCTPQ = 0x03,
915 SND_UMP_UTILITY_MSG_STATUS_DC = 0x04,
920 SND_UMP_STREAM_MSG_STATUS_EP_DISCOVERY = 0x00,
921 SND_UMP_STREAM_MSG_STATUS_EP_INFO = 0x01,
922 SND_UMP_STREAM_MSG_STATUS_DEVICE_INFO = 0x02,
923 SND_UMP_STREAM_MSG_STATUS_EP_NAME = 0x03,
924 SND_UMP_STREAM_MSG_STATUS_PRODUCT_ID = 0x04,
925 SND_UMP_STREAM_MSG_STATUS_STREAM_CFG_REQUEST = 0x05,
926 SND_UMP_STREAM_MSG_STATUS_STREAM_CFG = 0x06,
927 SND_UMP_STREAM_MSG_STATUS_FB_DISCOVERY = 0x10,
928 SND_UMP_STREAM_MSG_STATUS_FB_INFO = 0x11,
929 SND_UMP_STREAM_MSG_STATUS_FB_NAME = 0x12,
930 SND_UMP_STREAM_MSG_STATUS_START_CLIP = 0x20,
931 SND_UMP_STREAM_MSG_STATUS_END_CLIP = 0x21,
936 SND_UMP_STREAM_MSG_REQUEST_EP_INFO = (1U << 0),
937 SND_UMP_STREAM_MSG_REQUEST_DEVICE_INFO = (1U << 1),
938 SND_UMP_STREAM_MSG_REQUEST_EP_NAME = (1U << 2),
939 SND_UMP_STREAM_MSG_REQUEST_PRODUCT_ID = (1U << 3),
940 SND_UMP_STREAM_MSG_REQUEST_STREAM_CFG = (1U << 4),
945 SND_UMP_STREAM_MSG_REQUEST_FB_INFO = (1U << 0),
946 SND_UMP_STREAM_MSG_REQUEST_FB_NAME = (1U << 1),
951 SND_UMP_STREAM_MSG_EP_INFO_CAP_TXJR = (1U << 0),
952 SND_UMP_STREAM_MSG_EP_INFO_CAP_RXJR = (1U << 1),
953 SND_UMP_STREAM_MSG_EP_INFO_CAP_MIDI1 = (1U << 8),
954 SND_UMP_STREAM_MSG_EP_INFO_CAP_MIDI2 = (1U << 9),
959 SND_UMP_STREAM_MSG_FORMAT_SINGLE = 0,
960 SND_UMP_STREAM_MSG_FORMAT_START = 1,
961 SND_UMP_STREAM_MSG_FORMAT_CONTINUE = 2,
962 SND_UMP_STREAM_MSG_FORMAT_END = 3,
967 SND_UMP_FLEX_DATA_MSG_FORMAT_SINGLE = 0,
968 SND_UMP_FLEX_DATA_MSG_FORMAT_START = 1,
969 SND_UMP_FLEX_DATA_MSG_FORMAT_CONTINUE = 2,
970 SND_UMP_FLEX_DATA_MSG_FORMAT_END = 3,
975 SND_UMP_FLEX_DATA_MSG_ADDR_CHANNEL = 0,
976 SND_UMP_FLEX_DATA_MSG_ADDR_GROUP = 1,
981 SND_UMP_FLEX_DATA_MSG_BANK_SETUP = 0,
982 SND_UMP_FLEX_DATA_MSG_BANK_METADATA = 1,
983 SND_UMP_FLEX_DATA_MSG_BANK_PERF_TEXT = 2,
988 SND_UMP_FLEX_DATA_MSG_STATUS_SET_TEMPO = 0x00,
989 SND_UMP_FLEX_DATA_MSG_STATUS_SET_TIME_SIGNATURE = 0x01,
990 SND_UMP_FLEX_DATA_MSG_STATUS_SET_METRONOME = 0x02,
991 SND_UMP_FLEX_DATA_MSG_STATUS_SET_KEY_SIGNATURE = 0x05,
992 SND_UMP_FLEX_DATA_MSG_STATUS_SET_CHORD_NAME = 0x06,
997 SND_UMP_FLEX_DATA_MSG_STATUS_PROJECT_NAME = 0x01,
998 SND_UMP_FLEX_DATA_MSG_STATUS_SONG_NAME = 0x02,
999 SND_UMP_FLEX_DATA_MSG_STATUS_MIDI_CLIP_NAME = 0x03,
1000 SND_UMP_FLEX_DATA_MSG_STATUS_COPYRIGHT_NOTICE = 0x04,
1001 SND_UMP_FLEX_DATA_MSG_STATUS_COMPOSER_NAME = 0x05,
1002 SND_UMP_FLEX_DATA_MSG_STATUS_LYRICIST_NAME = 0x06,
1003 SND_UMP_FLEX_DATA_MSG_STATUS_ARRANGER_NAME = 0x07,
1004 SND_UMP_FLEX_DATA_MSG_STATUS_PUBLISHER_NAME = 0x08,
1005 SND_UMP_FLEX_DATA_MSG_STATUS_PRIMARY_PERFORMER = 0x09,
1006 SND_UMP_FLEX_DATA_MSG_STATUS_ACCOMPANY_PERFORMAER = 0x0a,
1007 SND_UMP_FLEX_DATA_MSG_STATUS_RECORDING_DATE = 0x0b,
1008 SND_UMP_FLEX_DATA_MSG_STATUS_RECORDING_LOCATION = 0x0c,
1013 SND_UMP_FLEX_DATA_MSG_STATUS_LYRICS = 0x01,
1014 SND_UMP_FLEX_DATA_MSG_STATUS_LYRICS_LANGUAGE = 0x02,
1015 SND_UMP_FLEX_DATA_MSG_STATUS_RUBY = 0x03,
1016 SND_UMP_FLEX_DATA_MSG_STATUS_RUBY_LANGUAGE = 0x04,
1022 static inline uint8_t snd_ump_msg_hdr_status(uint32_t ump)
1024 return (ump >> 20) & 0x0f;
1030 static inline uint8_t snd_ump_msg_hdr_channel(uint32_t ump)
1032 return (ump >> 16) & 0x0f;
1038 static inline uint8_t snd_ump_msg_hdr_type(uint32_t ump)
1046 static inline int snd_ump_msg_type_is_groupless(uint8_t
type)
1048 return type == SND_UMP_MSG_TYPE_UTILITY || type == SND_UMP_MSG_TYPE_STREAM;
1054 static inline uint8_t snd_ump_msg_hdr_group(uint32_t ump)
1056 return (ump >> 24) & 0x0f;
1062 static inline uint8_t snd_ump_msg_status(
const uint32_t *ump)
1064 return snd_ump_msg_hdr_status(*ump);
1070 static inline uint8_t snd_ump_msg_channel(
const uint32_t *ump)
1072 return snd_ump_msg_hdr_channel(*ump);
1078 static inline uint8_t snd_ump_msg_type(
const uint32_t *ump)
1080 return snd_ump_msg_hdr_type(*ump);
1086 static inline uint8_t snd_ump_msg_group(
const uint32_t *ump)
1088 return snd_ump_msg_hdr_group(*ump);
1094 static inline uint8_t snd_ump_sysex_msg_status(
const uint32_t *ump)
1096 return (*ump >> 20) & 0xf;
1102 static inline uint8_t snd_ump_sysex_msg_length(
const uint32_t *ump)
1104 return (*ump >> 16) & 0xf;
1110 static inline uint8_t snd_ump_get_byte(
const uint32_t *ump,
unsigned int offset)
1112 #ifdef SNDRV_BIG_ENDIAN
1113 return ((
const uint8_t *)ump)[offset];
1115 return ((
const uint8_t *)ump)[(offset & ~3) | (3 - (offset & 3))];
uint8_t data
Definition: ump_msg.h:85
uint8_t data
Definition: ump_msg.h:184
uint8_t velocity
Definition: ump_msg.h:184
uint16_t reserved
Definition: ump_msg.h:691
Definition: ump_msg.h:152
uint8_t bar_accent_1
Definition: ump_msg.h:598
uint8_t reserved1
Definition: ump_msg.h:200
Definition: ump_msg.h:169
uint8_t note
Definition: ump_msg.h:48
snd_ump_msg_midi2_per_note_pitchbend_t per_note_pitchbend
Definition: ump_msg.h:446
snd_ump_msg_mixed_data_header_t header
Definition: ump_msg.h:778
uint32_t data
Definition: ump_msg.h:403
uint8_t parm2
Definition: ump_msg.h:183
uint8_t bass_alter1_degree
Definition: ump_msg.h:231
uint8_t data_msb
Definition: ump_msg.h:142
Definition: ump_msg.h:610
uint8_t subdivision_1
Definition: ump_msg.h:603
uint8_t subdivision_2
Definition: ump_msg.h:210
snd_ump_msg_midi1_cc_t control_change
Definition: ump_msg.h:173
uint8_t status
Definition: ump_msg.h:549
uint8_t type
Definition: ump_msg.h:33
snd_ump_msg_midi2_pitchbend_t pitchbend
Definition: ump_msg.h:445
snd_ump_msg_midi2_rpn_t nrpn
Definition: ump_msg.h:440
snd_ump_msg_midi2_rpn_t relative_rpn
Definition: ump_msg.h:441
uint32_t data4
Definition: ump_msg.h:468
snd_ump_msg_set_time_sig_t set_time_sig
Definition: ump_msg.h:712
uint8_t byte2
Definition: ump_msg.h:28
Definition: ump_msg.h:801
Definition: ump_msg.h:186
Definition: ump_msg.h:264
uint8_t bank_msb
Definition: ump_msg.h:359
uint8_t type
Definition: ump_msg.h:189
uint8_t program
Definition: ump_msg.h:185
uint16_t reserved
Definition: ump_msg.h:397
snd_ump_msg_hdr_t hdr
Definition: ump_msg.h:447
uint8_t chord_tonic
Definition: ump_msg.h:220
Definition: ump_msg.h:567
uint8_t alter1_type
Definition: ump_msg.h:218
uint8_t reserved
Definition: ump_msg.h:184
uint8_t bass_type
Definition: ump_msg.h:233
uint16_t type
Definition: ump_msg.h:465
uint8_t status
Definition: ump_msg.h:187
snd_ump_msg_midi2_paf_t poly_pressure
Definition: ump_msg.h:434
Definition: ump_msg.h:431
Definition: ump_msg.h:314
uint8_t tonic_note
Definition: ump_msg.h:200
uint8_t status
Definition: ump_msg.h:206
Definition: ump_msg.h:473
uint8_t group
Definition: ump_msg.h:207
Definition: ump_msg.h:187
snd_ump_msg_dctpq_t dctpq
Definition: ump_msg.h:835
uint8_t bass_alter2_degree
Definition: ump_msg.h:229
snd_ump_msg_hdr_t hdr
Definition: ump_msg.h:475
snd_ump_msg_midi1_note_t note_on
Definition: ump_msg.h:170
snd_ump_msg_hdr_t hdr
Definition: ump_msg.h:716
snd_ump_msg_hdr_t hdr
Definition: ump_msg.h:178
snd_ump_msg_stream_gen_t gen
Definition: ump_msg.h:474
uint8_t denominator
Definition: ump_msg.h:202
uint8_t subdivision_1
Definition: ump_msg.h:211
Definition: ump_msg.h:784
uint32_t raw
Definition: ump_msg.h:179
uint8_t channel
Definition: ump_msg.h:30
uint8_t bar_accent_2
Definition: ump_msg.h:205
snd_ump_msg_midi2_cc_t control_change
Definition: ump_msg.h:438
Definition: ump_msg.h:337
uint8_t status
Definition: ump_msg.h:588
snd_ump_msg_dc_t dc
Definition: ump_msg.h:836
uint8_t alter4_type
Definition: ump_msg.h:225
Definition: ump_msg.h:833
uint8_t status
Definition: ump_msg.h:675
uint32_t tempo
Definition: ump_msg.h:197
uint8_t channel
Definition: ump_msg.h:281
uint8_t note
Definition: ump_msg.h:420
snd_ump_msg_set_chord_name_t set_chord_name
Definition: ump_msg.h:715
uint8_t clocks_primary
Definition: ump_msg.h:207
int snd_ump_packet_length(unsigned int type)
return the length of a UMP packet type
Definition: ump.c:1082
uint8_t bank_lsb
Definition: ump_msg.h:196
snd_ump_msg_midi1_caf_t channel_pressure
Definition: ump_msg.h:175
uint8_t bank
Definition: ump_msg.h:187
uint32_t data2
Definition: ump_msg.h:466
uint16_t velocity
Definition: ump_msg.h:211
uint8_t alter3_degree
Definition: ump_msg.h:226
uint8_t note
Definition: ump_msg.h:204
uint8_t data
Definition: ump_msg.h:124
uint8_t group
Definition: ump_msg.h:283
uint8_t status_bank
Definition: ump_msg.h:589
uint8_t status
Definition: ump_msg.h:626
uint8_t bass_note
Definition: ump_msg.h:234
uint8_t alter1_degree
Definition: ump_msg.h:217
uint8_t note
Definition: ump_msg.h:251
uint16_t ticks
Definition: ump_msg.h:183
uint8_t reserved
Definition: ump_msg.h:793
uint8_t data
Definition: ump_msg.h:66
uint8_t parm1
Definition: ump_msg.h:184
uint32_t tempo
Definition: ump_msg.h:525
uint8_t reserved2
Definition: ump_msg.h:198
uint8_t data_lsb
Definition: ump_msg.h:143
uint8_t type
Definition: ump_msg.h:796
uint8_t bank_msb
Definition: ump_msg.h:197
uint8_t bank_lsb
Definition: ump_msg.h:358
uint8_t note
Definition: ump_msg.h:228
snd_ump_msg_midi2_rpn_t relative_nrpn
Definition: ump_msg.h:442
snd_ump_msg_midi1_paf_t poly_pressure
Definition: ump_msg.h:172
uint8_t reserved
Definition: ump_msg.h:123
snd_ump_msg_midi2_note_t note_on
Definition: ump_msg.h:432
uint8_t tonic_sharp
Definition: ump_msg.h:221
Definition: ump_msg.h:291
snd_ump_msg_midi2_caf_t channel_pressure
Definition: ump_msg.h:444
uint8_t bar_accent_3
Definition: ump_msg.h:204
Definition: ump_msg.h:114
Definition: ump_msg.h:216
uint8_t reserved
Definition: ump_msg.h:104
uint16_t data1
Definition: ump_msg.h:462
snd_ump_msg_system_t system
Definition: ump_msg.h:177
snd_ump_msg_midi2_per_note_mgmt_t per_note_mgmt
Definition: ump_msg.h:437
Definition: ump_msg.h:239
Definition: ump_msg.h:366
Definition: ump_msg.h:503
Definition: ump_msg.h:191
uint16_t time
Definition: ump_msg.h:792
uint8_t subdivision_2
Definition: ump_msg.h:602
uint8_t velocity
Definition: ump_msg.h:47
uint32_t data
Definition: ump_msg.h:332
uint8_t chord_type
Definition: ump_msg.h:219
uint8_t addrs
Definition: ump_msg.h:189
Definition: ump_msg.h:268
uint8_t index
Definition: ump_msg.h:86
uint8_t reserved
Definition: ump_msg.h:302
uint32_t data
Definition: ump_msg.h:382
uint8_t numerator
Definition: ump_msg.h:203
uint8_t denominator
Definition: ump_msg.h:559
snd_ump_msg_midi1_pitchbend_t pitchbend
Definition: ump_msg.h:176
Definition: ump_msg.h:133
uint16_t format
Definition: ump_msg.h:187
uint8_t alter3_type
Definition: ump_msg.h:227
snd_ump_msg_midi2_per_note_cc_t per_note_rcc
Definition: ump_msg.h:436
Definition: ump_msg.h:185
snd_ump_msg_midi1_note_t note_off
Definition: ump_msg.h:171
uint8_t note
Definition: ump_msg.h:67
uint8_t alter2_degree
Definition: ump_msg.h:215
uint8_t status_bank
Definition: ump_msg.h:518
uint8_t reserved1
Definition: ump_msg.h:557
uint8_t byte1
Definition: ump_msg.h:29
uint16_t payload1
Definition: ump_msg.h:766
snd_ump_msg_set_key_sig_t set_key_sig
Definition: ump_msg.h:714
uint8_t note
Definition: ump_msg.h:185
uint8_t bass_alter2_type
Definition: ump_msg.h:230
uint32_t raw
Definition: ump_msg.h:838
uint8_t alter4_degree
Definition: ump_msg.h:224
uint8_t num_notes
Definition: ump_msg.h:558
uint16_t status
Definition: ump_msg.h:463
uint8_t reserved
Definition: ump_msg.h:419
snd_ump_msg_flex_data_meta_t meta
Definition: ump_msg.h:709
uint32_t data
Definition: ump_msg.h:426
uint32_t reserved2
Definition: ump_msg.h:605
uint8_t bass_alter1_type
Definition: ump_msg.h:232
Definition: ump_msg.h:756
uint8_t bar_accent_1
Definition: ump_msg.h:206
uint8_t group
Definition: ump_msg.h:32
Definition: ump_msg.h:818
uint8_t note
Definition: ump_msg.h:280
uint8_t channel
Definition: ump_msg.h:186
uint8_t status
Definition: ump_msg.h:162
snd_ump_msg_midi2_note_t note_off
Definition: ump_msg.h:433
snd_ump_msg_jr_clock_t jr_clock
Definition: ump_msg.h:834
uint32_t data
Definition: ump_msg.h:309
Definition: ump_msg.h:408
uint8_t chord_type
Definition: ump_msg.h:687
uint8_t bank
Definition: ump_msg.h:326
uint8_t status
Definition: ump_msg.h:794
Definition: ump_msg.h:387
uint8_t group
Definition: ump_msg.h:795
uint8_t bass_sharp
Definition: ump_msg.h:235
uint8_t status_bank
Definition: ump_msg.h:676
uint8_t index
Definition: ump_msg.h:250
uint8_t index
Definition: ump_msg.h:185
uint16_t reserved1
Definition: ump_msg.h:601
uint8_t status
Definition: ump_msg.h:517
uint8_t data_lsb
Definition: ump_msg.h:185
uint8_t bar_accent_2
Definition: ump_msg.h:597
Definition: ump_msg.h:777
Definition: ump_msg.h:532
uint8_t index
Definition: ump_msg.h:303
uint8_t num_notes
Definition: ump_msg.h:201
uint32_t data3
Definition: ump_msg.h:467
snd_ump_msg_mixed_data_payload_t payload
Definition: ump_msg.h:779
uint8_t alter2_type
Definition: ump_msg.h:216
uint32_t reserved
Definition: ump_msg.h:286
uint8_t status_bank
Definition: ump_msg.h:187
uint16_t ticks
Definition: ump_msg.h:809
uint8_t parm1
Definition: ump_msg.h:161
uint16_t format
Definition: ump_msg.h:464
snd_ump_msg_hdr_t hdr
Definition: ump_msg.h:837
uint8_t sharps_flats
Definition: ump_msg.h:201
snd_ump_msg_midi1_program_t program_change
Definition: ump_msg.h:174
uint16_t reserved
Definition: ump_msg.h:376
uint8_t index
Definition: ump_msg.h:325
uint8_t program
Definition: ump_msg.h:105
uint8_t status
Definition: ump_msg.h:282
snd_ump_msg_midi2_rpn_t rpn
Definition: ump_msg.h:439
uint8_t parm2
Definition: ump_msg.h:160
snd_ump_msg_set_tempo_t set_tempo
Definition: ump_msg.h:711
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
Definition: ump.c:1063
Definition: ump_msg.h:263
uint16_t attr_data
Definition: ump_msg.h:210
uint8_t flags
Definition: ump_msg.h:279
snd_ump_msg_flex_data_meta_t text
Definition: ump_msg.h:710
uint8_t program
Definition: ump_msg.h:361
uint8_t type
Definition: ump_msg.h:208
uint8_t status_bank
Definition: ump_msg.h:627
Definition: ump_msg.h:184
uint8_t status_bank
Definition: ump_msg.h:550
snd_ump_msg_midi2_per_note_cc_t per_note_acc
Definition: ump_msg.h:435
uint8_t bar_accent_3
Definition: ump_msg.h:596
snd_ump_msg_set_metronome_t set_metronome
Definition: ump_msg.h:713
uint8_t status
Definition: ump_msg.h:31
uint8_t channel
Definition: ump_msg.h:205
snd_ump_msg_midi2_program_t program_change
Definition: ump_msg.h:443
uint8_t bass_type
Definition: ump_msg.h:701
uint8_t data_msb
Definition: ump_msg.h:184
uint32_t data
Definition: ump_msg.h:257
Definition: ump_msg.h:708
uint8_t numerator
Definition: ump_msg.h:560
uint8_t group
Definition: ump_msg.h:188
Definition: ump_msg.h:643
uint8_t attr_type
Definition: ump_msg.h:203
uint16_t bank_valid
Definition: ump_msg.h:189
uint8_t clocks_primary
Definition: ump_msg.h:599
uint8_t reserved2
Definition: ump_msg.h:360
Definition: ump_msg.h:452
uint8_t type
Definition: ump_msg.h:284