9 #if !defined(__ASOUNDLIB_H) && !defined(ALSA_LIBRARY_BUILD) 11 #warning "use #include <alsa/asoundlib.h>, <alsa/ump_msg.h> should not be used directly" 12 #include <alsa/asoundlib.h> 15 #ifndef __ALSA_UMP_MSG_H 16 #define __ALSA_UMP_MSG_H 22 #if __BYTE_ORDER != __LITTLE_ENDIAN && __BYTE_ORDER != __BIG_ENDIAN 23 #error "Endianness check failed!" 28 #if __BYTE_ORDER == __BIG_ENDIAN 47 #if __BYTE_ORDER == __BIG_ENDIAN 66 #if __BYTE_ORDER == __BIG_ENDIAN 85 #if __BYTE_ORDER == __BIG_ENDIAN 104 #if __BYTE_ORDER == __BIG_ENDIAN 119 }
__attribute((packed)) snd_ump_msg_midi1_program_t;
123 #if __BYTE_ORDER == __BIG_ENDIAN 142 #if __BYTE_ORDER == __BIG_ENDIAN 157 }
__attribute((packed)) snd_ump_msg_midi1_pitchbend_t;
161 #if __BYTE_ORDER == __BIG_ENDIAN 177 typedef union _snd_ump_msg_midi1 {
183 snd_ump_msg_midi1_caf_t channel_pressure;
184 snd_ump_msg_midi1_pitchbend_t pitchbend;
185 snd_ump_msg_system_t system;
186 snd_ump_msg_hdr_t hdr;
200 #if __BYTE_ORDER == __BIG_ENDIAN 225 #if __BYTE_ORDER == __BIG_ENDIAN 248 #if __BYTE_ORDER == __BIG_ENDIAN 267 }
__attribute((packed)) snd_ump_msg_midi2_per_note_cc_t;
277 #if __BYTE_ORDER == __BIG_ENDIAN 296 }
__attribute((packed)) snd_ump_msg_midi2_per_note_mgmt_t;
300 #if __BYTE_ORDER == __BIG_ENDIAN 323 #if __BYTE_ORDER == __BIG_ENDIAN 346 #if __BYTE_ORDER == __BIG_ENDIAN 371 }
__attribute((packed)) snd_ump_msg_midi2_program_t;
375 #if __BYTE_ORDER == __BIG_ENDIAN 396 #if __BYTE_ORDER == __BIG_ENDIAN 413 }
__attribute((packed)) snd_ump_msg_midi2_pitchbend_t;
417 #ifdef __BIG_ENDIAN_BITFIELD 436 }
__attribute((packed)) snd_ump_msg_midi2_per_note_pitchbend_t;
439 typedef union _snd_ump_msg_midi2 {
447 snd_ump_msg_midi2_rpn_t
rpn;
461 #if __BYTE_ORDER == __BIG_ENDIAN 481 typedef union _snd_ump_msg_stream {
482 snd_ump_msg_stream_gen_t
gen;
489 #if __BYTE_ORDER == __BIG_ENDIAN 508 }
__attribute((packed)) snd_ump_msg_flex_data_meta_t;
512 #if __BYTE_ORDER == __BIG_ENDIAN 541 #if __BYTE_ORDER == __BIG_ENDIAN 572 }
__attribute((packed)) snd_ump_msg_set_time_sig_t;
576 #if __BYTE_ORDER == __BIG_ENDIAN 615 }
__attribute((packed)) snd_ump_msg_set_metronome_t;
619 #if __BYTE_ORDER == __BIG_ENDIAN 652 #if __BYTE_ORDER == __BIG_ENDIAN 713 }
__attribute((packed)) snd_ump_msg_set_chord_name_t;
716 typedef union _snd_ump_msg_flex_data {
717 snd_ump_msg_flex_data_meta_t
meta;
718 snd_ump_msg_flex_data_meta_t
text;
729 typedef struct _snd_ump_msg_mixed_data_header {
730 #ifdef __BIG_ENDIAN_BITFIELD 740 uint16_t manufacturer;
764 typedef struct _snd_ump_msg_mixed_data_payload {
765 #ifdef __BIG_ENDIAN_BITFIELD 772 uint32_t payloads[3];
780 uint32_t payloads[3];
785 typedef union _snd_ump_msg_mixed_data {
793 #if __BYTE_ORDER == __BIG_ENDIAN 810 #if __BYTE_ORDER == __BIG_ENDIAN 827 #if __BYTE_ORDER == __BIG_ENDIAN 841 typedef union _snd_ump_msg_utility {
853 SND_UMP_MSG_TYPE_UTILITY = 0x00,
854 SND_UMP_MSG_TYPE_SYSTEM = 0x01,
855 SND_UMP_MSG_TYPE_MIDI1_CHANNEL_VOICE = 0x02,
856 SND_UMP_MSG_TYPE_DATA = 0x03,
857 SND_UMP_MSG_TYPE_MIDI2_CHANNEL_VOICE = 0x04,
858 SND_UMP_MSG_TYPE_EXTENDED_DATA = 0x05,
859 SND_UMP_MSG_TYPE_FLEX_DATA = 0x0d,
860 SND_UMP_MSG_TYPE_STREAM = 0x0f,
867 SND_UMP_MSG_PER_NOTE_RCC = 0x0,
868 SND_UMP_MSG_PER_NOTE_ACC = 0x1,
869 SND_UMP_MSG_RPN = 0x2,
870 SND_UMP_MSG_NRPN = 0x3,
871 SND_UMP_MSG_RELATIVE_RPN = 0x4,
872 SND_UMP_MSG_RELATIVE_NRPN = 0x5,
873 SND_UMP_MSG_PER_NOTE_PITCHBEND = 0x6,
874 SND_UMP_MSG_NOTE_OFF = 0x8,
875 SND_UMP_MSG_NOTE_ON = 0x9,
876 SND_UMP_MSG_POLY_PRESSURE = 0xa,
877 SND_UMP_MSG_CONTROL_CHANGE = 0xb,
878 SND_UMP_MSG_PROGRAM_CHANGE = 0xc,
879 SND_UMP_MSG_CHANNEL_PRESSURE = 0xd,
880 SND_UMP_MSG_PITCHBEND = 0xe,
881 SND_UMP_MSG_PER_NOTE_MGMT = 0xf,
888 SND_UMP_MSG_REALTIME = 0xf0,
889 SND_UMP_MSG_SYSEX_START = 0xf0,
890 SND_UMP_MSG_MIDI_TIME_CODE = 0xf1,
891 SND_UMP_MSG_SONG_POSITION = 0xf2,
892 SND_UMP_MSG_SONG_SELECT = 0xf3,
893 SND_UMP_MSG_TUNE_REQUEST = 0xf6,
894 SND_UMP_MSG_SYSEX_END = 0xf7,
895 SND_UMP_MSG_TIMING_CLOCK = 0xf8,
896 SND_UMP_MSG_START = 0xfa,
897 SND_UMP_MSG_CONTINUE = 0xfb,
898 SND_UMP_MSG_STOP = 0xfc,
899 SND_UMP_MSG_ACTIVE_SENSING = 0xfe,
900 SND_UMP_MSG_RESET = 0xff,
905 SND_UMP_SYSEX_STATUS_SINGLE = 0,
906 SND_UMP_SYSEX_STATUS_START = 1,
907 SND_UMP_SYSEX_STATUS_CONTINUE = 2,
908 SND_UMP_SYSEX_STATUS_END = 3,
913 SND_UMP_MIXED_DATA_SET_STATUS_HEADER = 8,
914 SND_UMP_MIXED_DATA_SET_STATUS_PAYLOAD = 9,
919 SND_UMP_UTILITY_MSG_STATUS_NOOP = 0x00,
920 SND_UMP_UTILITY_MSG_STATUS_JR_CLOCK = 0x01,
921 SND_UMP_UTILITY_MSG_STATUS_JR_TSTAMP = 0x02,
922 SND_UMP_UTILITY_MSG_STATUS_DCTPQ = 0x03,
923 SND_UMP_UTILITY_MSG_STATUS_DC = 0x04,
928 SND_UMP_STREAM_MSG_STATUS_EP_DISCOVERY = 0x00,
929 SND_UMP_STREAM_MSG_STATUS_EP_INFO = 0x01,
930 SND_UMP_STREAM_MSG_STATUS_DEVICE_INFO = 0x02,
931 SND_UMP_STREAM_MSG_STATUS_EP_NAME = 0x03,
932 SND_UMP_STREAM_MSG_STATUS_PRODUCT_ID = 0x04,
933 SND_UMP_STREAM_MSG_STATUS_STREAM_CFG_REQUEST = 0x05,
934 SND_UMP_STREAM_MSG_STATUS_STREAM_CFG = 0x06,
935 SND_UMP_STREAM_MSG_STATUS_FB_DISCOVERY = 0x10,
936 SND_UMP_STREAM_MSG_STATUS_FB_INFO = 0x11,
937 SND_UMP_STREAM_MSG_STATUS_FB_NAME = 0x12,
938 SND_UMP_STREAM_MSG_STATUS_START_CLIP = 0x20,
939 SND_UMP_STREAM_MSG_STATUS_END_CLIP = 0x21,
944 SND_UMP_STREAM_MSG_REQUEST_EP_INFO = (1U << 0),
945 SND_UMP_STREAM_MSG_REQUEST_DEVICE_INFO = (1U << 1),
946 SND_UMP_STREAM_MSG_REQUEST_EP_NAME = (1U << 2),
947 SND_UMP_STREAM_MSG_REQUEST_PRODUCT_ID = (1U << 3),
948 SND_UMP_STREAM_MSG_REQUEST_STREAM_CFG = (1U << 4),
953 SND_UMP_STREAM_MSG_REQUEST_FB_INFO = (1U << 0),
954 SND_UMP_STREAM_MSG_REQUEST_FB_NAME = (1U << 1),
959 SND_UMP_STREAM_MSG_EP_INFO_CAP_TXJR = (1U << 0),
960 SND_UMP_STREAM_MSG_EP_INFO_CAP_RXJR = (1U << 1),
961 SND_UMP_STREAM_MSG_EP_INFO_CAP_MIDI1 = (1U << 8),
962 SND_UMP_STREAM_MSG_EP_INFO_CAP_MIDI2 = (1U << 9),
967 SND_UMP_STREAM_MSG_FORMAT_SINGLE = 0,
968 SND_UMP_STREAM_MSG_FORMAT_START = 1,
969 SND_UMP_STREAM_MSG_FORMAT_CONTINUE = 2,
970 SND_UMP_STREAM_MSG_FORMAT_END = 3,
975 SND_UMP_FLEX_DATA_MSG_FORMAT_SINGLE = 0,
976 SND_UMP_FLEX_DATA_MSG_FORMAT_START = 1,
977 SND_UMP_FLEX_DATA_MSG_FORMAT_CONTINUE = 2,
978 SND_UMP_FLEX_DATA_MSG_FORMAT_END = 3,
983 SND_UMP_FLEX_DATA_MSG_ADDR_CHANNEL = 0,
984 SND_UMP_FLEX_DATA_MSG_ADDR_GROUP = 1,
989 SND_UMP_FLEX_DATA_MSG_BANK_SETUP = 0,
990 SND_UMP_FLEX_DATA_MSG_BANK_METADATA = 1,
991 SND_UMP_FLEX_DATA_MSG_BANK_PERF_TEXT = 2,
996 SND_UMP_FLEX_DATA_MSG_STATUS_SET_TEMPO = 0x00,
997 SND_UMP_FLEX_DATA_MSG_STATUS_SET_TIME_SIGNATURE = 0x01,
998 SND_UMP_FLEX_DATA_MSG_STATUS_SET_METRONOME = 0x02,
999 SND_UMP_FLEX_DATA_MSG_STATUS_SET_KEY_SIGNATURE = 0x05,
1000 SND_UMP_FLEX_DATA_MSG_STATUS_SET_CHORD_NAME = 0x06,
1005 SND_UMP_FLEX_DATA_MSG_STATUS_PROJECT_NAME = 0x01,
1006 SND_UMP_FLEX_DATA_MSG_STATUS_SONG_NAME = 0x02,
1007 SND_UMP_FLEX_DATA_MSG_STATUS_MIDI_CLIP_NAME = 0x03,
1008 SND_UMP_FLEX_DATA_MSG_STATUS_COPYRIGHT_NOTICE = 0x04,
1009 SND_UMP_FLEX_DATA_MSG_STATUS_COMPOSER_NAME = 0x05,
1010 SND_UMP_FLEX_DATA_MSG_STATUS_LYRICIST_NAME = 0x06,
1011 SND_UMP_FLEX_DATA_MSG_STATUS_ARRANGER_NAME = 0x07,
1012 SND_UMP_FLEX_DATA_MSG_STATUS_PUBLISHER_NAME = 0x08,
1013 SND_UMP_FLEX_DATA_MSG_STATUS_PRIMARY_PERFORMER = 0x09,
1014 SND_UMP_FLEX_DATA_MSG_STATUS_ACCOMPANY_PERFORMAER = 0x0a,
1015 SND_UMP_FLEX_DATA_MSG_STATUS_RECORDING_DATE = 0x0b,
1016 SND_UMP_FLEX_DATA_MSG_STATUS_RECORDING_LOCATION = 0x0c,
1021 SND_UMP_FLEX_DATA_MSG_STATUS_LYRICS = 0x01,
1022 SND_UMP_FLEX_DATA_MSG_STATUS_LYRICS_LANGUAGE = 0x02,
1023 SND_UMP_FLEX_DATA_MSG_STATUS_RUBY = 0x03,
1024 SND_UMP_FLEX_DATA_MSG_STATUS_RUBY_LANGUAGE = 0x04,
1030 static inline uint8_t snd_ump_msg_hdr_status(uint32_t ump)
1032 return (ump >> 20) & 0x0f;
1038 static inline uint8_t snd_ump_msg_hdr_channel(uint32_t ump)
1040 return (ump >> 16) & 0x0f;
1046 static inline uint8_t snd_ump_msg_hdr_type(uint32_t ump)
1054 static inline int snd_ump_msg_type_is_groupless(uint8_t
type)
1056 return type == SND_UMP_MSG_TYPE_UTILITY ||
type == SND_UMP_MSG_TYPE_STREAM;
1062 static inline uint8_t snd_ump_msg_hdr_group(uint32_t ump)
1064 return (ump >> 24) & 0x0f;
1070 static inline uint8_t snd_ump_msg_status(
const uint32_t *ump)
1072 return snd_ump_msg_hdr_status(*ump);
1078 static inline uint8_t snd_ump_msg_channel(
const uint32_t *ump)
1080 return snd_ump_msg_hdr_channel(*ump);
1086 static inline uint8_t snd_ump_msg_type(
const uint32_t *ump)
1088 return snd_ump_msg_hdr_type(*ump);
1094 static inline uint8_t snd_ump_msg_group(
const uint32_t *ump)
1096 return snd_ump_msg_hdr_group(*ump);
1102 static inline uint8_t snd_ump_sysex_msg_status(
const uint32_t *ump)
1104 return (*ump >> 20) & 0xf;
1110 static inline uint8_t snd_ump_sysex_msg_length(
const uint32_t *ump)
1112 return (*ump >> 16) & 0xf;
1118 static inline uint8_t snd_ump_get_byte(
const uint32_t *ump,
unsigned int offset)
1120 #if __BYTE_ORDER == __BIG_ENDIAN 1121 return ((
const uint8_t *)ump)[offset];
1123 return ((
const uint8_t *)ump)[(offset & ~3) | (3 - (offset & 3))];
uint8_t data
Definition: ump_msg.h:91
uint8_t status
Definition: ump_msg.h:107
uint8_t channel
Definition: ump_msg.h:89
uint16_t reserved
Definition: ump_msg.h:673
uint8_t type
Definition: ump_msg.h:48
Definition: ump_msg.h:160
Definition: ump_msg.h:103
uint8_t channel
Definition: ump_msg.h:51
uint8_t channel
Definition: ump_msg.h:229
uint8_t bar_accent_1
Definition: ump_msg.h:586
Definition: ump_msg.h:177
uint8_t note
Definition: ump_msg.h:52
uint8_t group
Definition: ump_msg.h:543
uint8_t group
Definition: ump_msg.h:250
uint8_t addrs
Definition: ump_msg.h:656
snd_ump_msg_midi2_per_note_pitchbend_t per_note_pitchbend
Definition: ump_msg.h:454
uint8_t tonic_note
Definition: ump_msg.h:629
snd_ump_msg_mixed_data_header_t header
Definition: ump_msg.h:786
uint8_t group
Definition: ump_msg.h:68
uint8_t channel
Definition: ump_msg.h:546
uint8_t group
Definition: ump_msg.h:348
uint32_t data
Definition: ump_msg.h:403
uint8_t format
Definition: ump_msg.h:579
uint8_t data_msb
Definition: ump_msg.h:148
Definition: ump_msg.h:618
uint8_t subdivision_1
Definition: ump_msg.h:590
uint8_t alter2_type
Definition: ump_msg.h:666
uint8_t addrs
Definition: ump_msg.h:516
snd_ump_msg_midi1_cc_t control_change
Definition: ump_msg.h:181
uint8_t type
Definition: ump_msg.h:105
uint8_t status
Definition: ump_msg.h:548
uint8_t type
Definition: ump_msg.h:29
snd_ump_msg_midi2_pitchbend_t pitchbend
Definition: ump_msg.h:453
uint8_t status
Definition: ump_msg.h:303
uint8_t group
Definition: ump_msg.h:377
snd_ump_msg_midi2_rpn_t nrpn
Definition: ump_msg.h:448
snd_ump_msg_midi2_rpn_t relative_rpn
Definition: ump_msg.h:449
uint8_t channel
Definition: ump_msg.h:304
uint32_t data4
Definition: ump_msg.h:468
uint8_t channel
Definition: ump_msg.h:379
snd_ump_msg_set_time_sig_t set_time_sig
Definition: ump_msg.h:720
uint8_t byte2
Definition: ump_msg.h:34
Definition: ump_msg.h:809
Definition: ump_msg.h:194
uint8_t group
Definition: ump_msg.h:812
Definition: ump_msg.h:272
uint8_t bank_msb
Definition: ump_msg.h:356
uint8_t type
Definition: ump_msg.h:183
uint16_t reserved
Definition: ump_msg.h:401
snd_ump_msg_hdr_t hdr
Definition: ump_msg.h:455
uint32_t reserved2[2]
Definition: ump_msg.h:632
Definition: ump_msg.h:575
uint8_t alter3_type
Definition: ump_msg.h:669
uint8_t group
Definition: ump_msg.h:621
uint16_t type
Definition: ump_msg.h:462
uint8_t status
Definition: ump_msg.h:251
uint8_t status
Definition: ump_msg.h:185
snd_ump_msg_midi2_paf_t poly_pressure
Definition: ump_msg.h:442
Definition: ump_msg.h:439
Definition: ump_msg.h:322
uint8_t status
Definition: ump_msg.h:203
Definition: ump_msg.h:481
uint8_t group
Definition: ump_msg.h:202
Definition: ump_msg.h:195
snd_ump_msg_dctpq_t dctpq
Definition: ump_msg.h:843
uint8_t sharps_flats
Definition: ump_msg.h:628
uint8_t bass_sharp
Definition: ump_msg.h:675
uint8_t type
Definition: ump_msg.h:811
snd_ump_msg_hdr_t hdr
Definition: ump_msg.h:483
snd_ump_msg_midi1_note_t note_on
Definition: ump_msg.h:178
uint8_t group
Definition: ump_msg.h:163
uint8_t type
Definition: ump_msg.h:324
uint8_t channel
Definition: ump_msg.h:350
snd_ump_msg_hdr_t hdr
Definition: ump_msg.h:724
snd_ump_msg_stream_gen_t gen
Definition: ump_msg.h:482
Definition: ump_msg.h:792
uint8_t status
Definition: ump_msg.h:349
uint8_t channel
Definition: ump_msg.h:32
uint8_t type
Definition: ump_msg.h:513
uint8_t type
Definition: ump_msg.h:620
uint16_t bank_valid
Definition: ump_msg.h:352
snd_ump_msg_midi2_cc_t control_change
Definition: ump_msg.h:446
uint8_t alter4_type
Definition: ump_msg.h:671
uint8_t type
Definition: ump_msg.h:542
uint8_t addrs
Definition: ump_msg.h:545
Definition: ump_msg.h:345
uint8_t status
Definition: ump_msg.h:583
uint8_t status
Definition: ump_msg.h:228
uint8_t type
Definition: ump_msg.h:67
snd_ump_msg_dc_t dc
Definition: ump_msg.h:844
Definition: ump_msg.h:841
uint8_t status
Definition: ump_msg.h:659
uint8_t channel
Definition: ump_msg.h:281
uint8_t note
Definition: ump_msg.h:428
snd_ump_msg_set_chord_name_t set_chord_name
Definition: ump_msg.h:723
uint8_t type
Definition: ump_msg.h:376
uint32_t reserved[2]
Definition: ump_msg.h:555
uint8_t bass_alter2_type
Definition: ump_msg.h:680
uint8_t group
Definition: ump_msg.h:125
int snd_ump_packet_length(unsigned int type)
return the length of a UMP packet type
Definition: ump.c:1100
uint32_t data2
Definition: ump_msg.h:466
uint16_t velocity
Definition: ump_msg.h:208
uint8_t note
Definition: ump_msg.h:205
uint8_t status
Definition: ump_msg.h:378
uint8_t data
Definition: ump_msg.h:128
uint8_t group
Definition: ump_msg.h:279
uint8_t channel
Definition: ump_msg.h:252
uint8_t status_bank
Definition: ump_msg.h:582
uint8_t status
Definition: ump_msg.h:626
uint8_t status
Definition: ump_msg.h:399
uint8_t channel
Definition: ump_msg.h:70
uint8_t channel
Definition: ump_msg.h:624
uint8_t reserved1[3]
Definition: ump_msg.h:630
uint8_t group
Definition: ump_msg.h:431
uint8_t note
Definition: ump_msg.h:253
uint8_t reserved
Definition: ump_msg.h:797
uint8_t data
Definition: ump_msg.h:72
uint8_t status
Definition: ump_msg.h:813
uint8_t bass_alter1_type
Definition: ump_msg.h:678
uint8_t channel
Definition: ump_msg.h:581
uint8_t type
Definition: ump_msg.h:778
uint32_t reserved[2]
Definition: ump_msg.h:523
uint8_t group
Definition: ump_msg.h:49
uint32_t tempo
Definition: ump_msg.h:521
uint8_t data_lsb
Definition: ump_msg.h:147
uint8_t type
Definition: ump_msg.h:794
uint8_t group
Definition: ump_msg.h:777
uint8_t bank_lsb
Definition: ump_msg.h:357
uint8_t note
Definition: ump_msg.h:230
uint8_t status
Definition: ump_msg.h:69
uint8_t type
Definition: ump_msg.h:143
uint8_t alter4_degree
Definition: ump_msg.h:672
snd_ump_msg_midi2_rpn_t relative_nrpn
Definition: ump_msg.h:450
uint8_t type
Definition: ump_msg.h:432
uint8_t channel
Definition: ump_msg.h:657
snd_ump_msg_midi1_paf_t poly_pressure
Definition: ump_msg.h:180
uint8_t reserved
Definition: ump_msg.h:129
snd_ump_msg_midi2_note_t note_on
Definition: ump_msg.h:440
uint8_t type
Definition: ump_msg.h:397
Definition: ump_msg.h:299
snd_ump_msg_midi2_caf_t channel_pressure
Definition: ump_msg.h:452
Definition: ump_msg.h:122
uint8_t status
Definition: ump_msg.h:126
Definition: ump_msg.h:224
uint8_t reserved
Definition: ump_msg.h:110
uint8_t mds_id
Definition: ump_msg.h:775
uint16_t data1
Definition: ump_msg.h:465
uint32_t status
Definition: ump_msg.h:830
snd_ump_msg_midi2_per_note_mgmt_t per_note_mgmt
Definition: ump_msg.h:445
Definition: ump_msg.h:247
Definition: ump_msg.h:374
uint32_t ticks
Definition: ump_msg.h:831
Definition: ump_msg.h:511
uint8_t format
Definition: ump_msg.h:622
Definition: ump_msg.h:199
uint16_t time
Definition: ump_msg.h:798
uint8_t subdivision_2
Definition: ump_msg.h:591
uint8_t velocity
Definition: ump_msg.h:53
uint8_t type
Definition: ump_msg.h:347
uint32_t data
Definition: ump_msg.h:331
Definition: ump_msg.h:276
uint8_t index
Definition: ump_msg.h:90
uint8_t reserved
Definition: ump_msg.h:306
uint32_t data
Definition: ump_msg.h:382
uint8_t group
Definition: ump_msg.h:654
uint8_t bass_note
Definition: ump_msg.h:676
uint8_t group
Definition: ump_msg.h:325
uint8_t denominator
Definition: ump_msg.h:551
uint8_t bass_alter1_degree
Definition: ump_msg.h:679
uint8_t group
Definition: ump_msg.h:227
Definition: ump_msg.h:141
uint8_t format
Definition: ump_msg.h:655
snd_ump_msg_midi2_per_note_cc_t per_note_rcc
Definition: ump_msg.h:444
Definition: ump_msg.h:193
snd_ump_msg_midi1_note_t note_off
Definition: ump_msg.h:179
uint8_t note
Definition: ump_msg.h:71
uint8_t status_bank
Definition: ump_msg.h:518
uint8_t reserved1
Definition: ump_msg.h:553
uint8_t byte1
Definition: ump_msg.h:33
uint8_t channel
Definition: ump_msg.h:127
uint16_t payload1
Definition: ump_msg.h:774
snd_ump_msg_set_key_sig_t set_key_sig
Definition: ump_msg.h:722
uint8_t alter3_degree
Definition: ump_msg.h:670
uint32_t raw
Definition: ump_msg.h:846
uint8_t group
Definition: ump_msg.h:302
uint8_t channel
Definition: ump_msg.h:108
uint16_t reserved
Definition: ump_msg.h:351
uint8_t num_notes
Definition: ump_msg.h:552
uint16_t status
Definition: ump_msg.h:464
uint8_t reserved
Definition: ump_msg.h:427
snd_ump_msg_flex_data_meta_t meta
Definition: ump_msg.h:717
uint8_t reserved
Definition: ump_msg.h:814
uint8_t group
Definition: ump_msg.h:398
uint32_t data
Definition: ump_msg.h:434
uint32_t reserved2
Definition: ump_msg.h:594
Definition: ump_msg.h:764
uint8_t type
Definition: ump_msg.h:249
uint32_t group
Definition: ump_msg.h:829
uint8_t group
Definition: ump_msg.h:30
Definition: ump_msg.h:826
uint8_t channel
Definition: ump_msg.h:517
uint8_t alter2_degree
Definition: ump_msg.h:667
uint8_t note
Definition: ump_msg.h:282
uint8_t status
Definition: ump_msg.h:164
snd_ump_msg_midi2_note_t note_off
Definition: ump_msg.h:441
uint8_t channel
Definition: ump_msg.h:400
uint8_t group
Definition: ump_msg.h:87
snd_ump_msg_jr_clock_t jr_clock
Definition: ump_msg.h:842
uint8_t channel
Definition: ump_msg.h:146
uint32_t data
Definition: ump_msg.h:308
Definition: ump_msg.h:416
uint32_t data
Definition: ump_msg.h:233
uint8_t chord_type
Definition: ump_msg.h:663
uint8_t bank
Definition: ump_msg.h:328
uint8_t status
Definition: ump_msg.h:796
Definition: ump_msg.h:395
uint8_t group
Definition: ump_msg.h:795
uint8_t status_bank
Definition: ump_msg.h:658
uint8_t index
Definition: ump_msg.h:254
uint8_t type
Definition: ump_msg.h:162
uint8_t type
Definition: ump_msg.h:653
uint8_t status
Definition: ump_msg.h:88
uint16_t reserved1
Definition: ump_msg.h:592
uint8_t tonic_sharp
Definition: ump_msg.h:661
uint8_t status
Definition: ump_msg.h:519
uint8_t status
Definition: ump_msg.h:50
uint8_t alter1_degree
Definition: ump_msg.h:665
uint32_t type
Definition: ump_msg.h:828
uint8_t reserved
Definition: ump_msg.h:231
uint8_t bar_accent_2
Definition: ump_msg.h:587
Definition: ump_msg.h:785
uint8_t type
Definition: ump_msg.h:86
uint8_t alter1_type
Definition: ump_msg.h:664
Definition: ump_msg.h:540
uint8_t index
Definition: ump_msg.h:305
uint8_t chord_tonic
Definition: ump_msg.h:662
uint8_t group
Definition: ump_msg.h:578
uint32_t data3
Definition: ump_msg.h:467
snd_ump_msg_mixed_data_payload_t payload
Definition: ump_msg.h:787
uint8_t type
Definition: ump_msg.h:577
uint8_t status
Definition: ump_msg.h:326
uint32_t reserved
Definition: ump_msg.h:285
uint8_t group
Definition: ump_msg.h:514
uint16_t ticks
Definition: ump_msg.h:815
uint8_t parm1
Definition: ump_msg.h:165
uint16_t format
Definition: ump_msg.h:463
snd_ump_msg_hdr_t hdr
Definition: ump_msg.h:845
uint8_t status
Definition: ump_msg.h:430
snd_ump_msg_midi1_program_t program_change
Definition: ump_msg.h:182
uint8_t type
Definition: ump_msg.h:301
uint8_t status
Definition: ump_msg.h:776
uint16_t reserved
Definition: ump_msg.h:380
uint8_t index
Definition: ump_msg.h:329
uint8_t program
Definition: ump_msg.h:109
uint8_t group
Definition: ump_msg.h:106
uint8_t status
Definition: ump_msg.h:280
uint8_t group
Definition: ump_msg.h:144
snd_ump_msg_midi2_rpn_t rpn
Definition: ump_msg.h:447
uint8_t parm2
Definition: ump_msg.h:166
snd_ump_msg_set_tempo_t set_tempo
Definition: ump_msg.h:719
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:1081
Definition: ump_msg.h:271
uint16_t attr_data
Definition: ump_msg.h:209
uint8_t flags
Definition: ump_msg.h:283
uint8_t status
Definition: ump_msg.h:145
uint8_t type
Definition: ump_msg.h:124
snd_ump_msg_flex_data_meta_t text
Definition: ump_msg.h:718
uint8_t addrs
Definition: ump_msg.h:623
uint8_t program
Definition: ump_msg.h:354
uint8_t type
Definition: ump_msg.h:201
uint8_t status_bank
Definition: ump_msg.h:625
Definition: ump_msg.h:192
uint8_t status_bank
Definition: ump_msg.h:547
snd_ump_msg_midi2_per_note_cc_t per_note_acc
Definition: ump_msg.h:443
uint8_t bar_accent_3
Definition: ump_msg.h:588
uint8_t format
Definition: ump_msg.h:544
snd_ump_msg_set_metronome_t set_metronome
Definition: ump_msg.h:721
uint8_t status
Definition: ump_msg.h:31
uint8_t channel
Definition: ump_msg.h:204
snd_ump_msg_midi2_program_t program_change
Definition: ump_msg.h:451
uint8_t bass_type
Definition: ump_msg.h:677
uint8_t channel
Definition: ump_msg.h:327
uint8_t format
Definition: ump_msg.h:515
uint32_t data
Definition: ump_msg.h:256
uint8_t addrs
Definition: ump_msg.h:580
uint8_t type
Definition: ump_msg.h:226
Definition: ump_msg.h:716
uint8_t channel
Definition: ump_msg.h:429
uint8_t numerator
Definition: ump_msg.h:550
uint8_t group
Definition: ump_msg.h:184
Definition: ump_msg.h:651
uint8_t bass_alter2_degree
Definition: ump_msg.h:681
uint8_t attr_type
Definition: ump_msg.h:206
uint8_t clocks_primary
Definition: ump_msg.h:585
uint8_t reserved2
Definition: ump_msg.h:355
Definition: ump_msg.h:460
uint8_t type
Definition: ump_msg.h:278