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
169typedef 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;
431typedef union _snd_ump_msg_midi2 {
439 snd_ump_msg_midi2_rpn_t
rpn;
453#ifdef SNDRV_BIG_ENDIAN_BITFIELD
473typedef 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
533#ifdef SNDRV_BIG_ENDIAN_BITFIELD
568#ifdef SNDRV_BIG_ENDIAN_BITFIELD
607}
__attribute((packed)) snd_ump_msg_set_metronome_t;
611#ifdef SNDRV_BIG_ENDIAN_BITFIELD
644#ifdef SNDRV_BIG_ENDIAN_BITFIELD
705}
__attribute((packed)) snd_ump_msg_set_chord_name_t;
708typedef union _snd_ump_msg_flex_data {
709 snd_ump_msg_flex_data_meta_t
meta;
710 snd_ump_msg_flex_data_meta_t
text;
721typedef struct _snd_ump_msg_mixed_data_header {
722#ifdef __BIG_ENDIAN_BITFIELD
756typedef struct _snd_ump_msg_mixed_data_payload {
757#ifdef __BIG_ENDIAN_BITFIELD
777typedef union _snd_ump_msg_mixed_data {
785#ifdef SNDRV_BIG_ENDIAN_BITFIELD
802#ifdef SNDRV_BIG_ENDIAN_BITFIELD
819#ifdef SNDRV_BIG_ENDIAN_BITFIELD
833typedef 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,
1022static inline uint8_t snd_ump_msg_hdr_status(uint32_t ump)
1024 return (ump >> 20) & 0x0f;
1030static inline uint8_t snd_ump_msg_hdr_channel(uint32_t ump)
1032 return (ump >> 16) & 0x0f;
1038static inline uint8_t snd_ump_msg_hdr_type(uint32_t ump)
1046static 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;
1054static inline uint8_t snd_ump_msg_hdr_group(uint32_t ump)
1056 return (ump >> 24) & 0x0f;
1062static inline uint8_t snd_ump_msg_status(
const uint32_t *ump)
1064 return snd_ump_msg_hdr_status(*ump);
1070static inline uint8_t snd_ump_msg_channel(
const uint32_t *ump)
1072 return snd_ump_msg_hdr_channel(*ump);
1078static inline uint8_t snd_ump_msg_type(
const uint32_t *ump)
1080 return snd_ump_msg_hdr_type(*ump);
1086static inline uint8_t snd_ump_msg_group(
const uint32_t *ump)
1088 return snd_ump_msg_hdr_group(*ump);
1094static inline uint8_t snd_ump_sysex_msg_status(
const uint32_t *ump)
1096 return (*ump >> 20) & 0xf;
1102static inline uint8_t snd_ump_sysex_msg_length(
const uint32_t *ump)
1104 return (*ump >> 16) & 0xf;
1110static 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))];
uint32_t group
Definition ump_msg.h:827
uint32_t status
Definition ump_msg.h:826
uint32_t ticks
Definition ump_msg.h:825
uint32_t type
Definition ump_msg.h:828
uint8_t type
Definition ump_msg.h:813
uint8_t reserved
Definition ump_msg.h:810
uint8_t group
Definition ump_msg.h:812
uint16_t ticks
Definition ump_msg.h:809
uint8_t status
Definition ump_msg.h:811
uint8_t byte1
Definition ump_msg.h:29
uint8_t type
Definition ump_msg.h:33
uint8_t status
Definition ump_msg.h:31
uint8_t channel
Definition ump_msg.h:30
uint8_t byte2
Definition ump_msg.h:28
uint8_t group
Definition ump_msg.h:32
uint8_t status
Definition ump_msg.h:794
uint8_t type
Definition ump_msg.h:796
uint16_t time
Definition ump_msg.h:792
uint8_t reserved
Definition ump_msg.h:793
uint8_t group
Definition ump_msg.h:795
uint8_t data
Definition ump_msg.h:124
uint8_t type
Definition ump_msg.h:128
uint8_t reserved
Definition ump_msg.h:123
uint8_t channel
Definition ump_msg.h:125
uint8_t status
Definition ump_msg.h:126
uint8_t group
Definition ump_msg.h:127
uint8_t channel
Definition ump_msg.h:87
uint8_t data
Definition ump_msg.h:85
uint8_t group
Definition ump_msg.h:89
uint8_t type
Definition ump_msg.h:90
uint8_t status
Definition ump_msg.h:88
uint8_t index
Definition ump_msg.h:86
uint8_t status
Definition ump_msg.h:50
uint8_t velocity
Definition ump_msg.h:47
uint8_t note
Definition ump_msg.h:48
uint8_t channel
Definition ump_msg.h:49
uint8_t type
Definition ump_msg.h:52
uint8_t group
Definition ump_msg.h:51
uint8_t type
Definition ump_msg.h:71
uint8_t group
Definition ump_msg.h:70
uint8_t data
Definition ump_msg.h:66
uint8_t status
Definition ump_msg.h:69
uint8_t channel
Definition ump_msg.h:68
uint8_t note
Definition ump_msg.h:67
uint8_t status
Definition ump_msg.h:145
uint8_t channel
Definition ump_msg.h:144
uint8_t group
Definition ump_msg.h:146
uint8_t data_lsb
Definition ump_msg.h:143
uint8_t type
Definition ump_msg.h:147
uint8_t data_msb
Definition ump_msg.h:142
uint8_t group
Definition ump_msg.h:108
uint8_t program
Definition ump_msg.h:105
uint8_t reserved
Definition ump_msg.h:104
uint8_t type
Definition ump_msg.h:109
uint8_t status
Definition ump_msg.h:107
uint8_t channel
Definition ump_msg.h:106
uint8_t type
Definition ump_msg.h:380
uint32_t data
Definition ump_msg.h:382
uint8_t status
Definition ump_msg.h:378
uint16_t reserved
Definition ump_msg.h:376
uint8_t group
Definition ump_msg.h:379
uint8_t channel
Definition ump_msg.h:377
uint8_t group
Definition ump_msg.h:306
uint8_t type
Definition ump_msg.h:307
uint8_t channel
Definition ump_msg.h:304
uint8_t index
Definition ump_msg.h:303
uint32_t data
Definition ump_msg.h:309
uint8_t status
Definition ump_msg.h:305
uint8_t reserved
Definition ump_msg.h:302
uint8_t group
Definition ump_msg.h:207
uint8_t status
Definition ump_msg.h:206
uint8_t note
Definition ump_msg.h:204
uint16_t velocity
Definition ump_msg.h:211
uint8_t attr_type
Definition ump_msg.h:203
uint8_t channel
Definition ump_msg.h:205
uint16_t attr_data
Definition ump_msg.h:210
uint8_t type
Definition ump_msg.h:208
uint8_t group
Definition ump_msg.h:231
uint32_t data
Definition ump_msg.h:234
uint8_t channel
Definition ump_msg.h:229
uint8_t reserved
Definition ump_msg.h:227
uint8_t type
Definition ump_msg.h:232
uint8_t note
Definition ump_msg.h:228
uint8_t status
Definition ump_msg.h:230
uint32_t data
Definition ump_msg.h:257
uint8_t note
Definition ump_msg.h:251
uint8_t channel
Definition ump_msg.h:252
uint8_t status
Definition ump_msg.h:253
uint8_t type
Definition ump_msg.h:255
uint8_t index
Definition ump_msg.h:250
uint8_t group
Definition ump_msg.h:254
uint8_t note
Definition ump_msg.h:280
uint8_t group
Definition ump_msg.h:283
uint8_t status
Definition ump_msg.h:282
uint8_t flags
Definition ump_msg.h:279
uint8_t channel
Definition ump_msg.h:281
uint32_t reserved
Definition ump_msg.h:286
uint8_t type
Definition ump_msg.h:284
uint8_t channel
Definition ump_msg.h:421
uint8_t note
Definition ump_msg.h:420
uint8_t type
Definition ump_msg.h:424
uint8_t status
Definition ump_msg.h:422
uint8_t reserved
Definition ump_msg.h:419
uint32_t data
Definition ump_msg.h:426
uint8_t group
Definition ump_msg.h:423
uint8_t channel
Definition ump_msg.h:398
uint8_t group
Definition ump_msg.h:400
uint16_t reserved
Definition ump_msg.h:397
uint8_t status
Definition ump_msg.h:399
uint8_t type
Definition ump_msg.h:401
uint32_t data
Definition ump_msg.h:403
uint16_t reserved
Definition ump_msg.h:352
uint8_t program
Definition ump_msg.h:361
uint8_t group
Definition ump_msg.h:355
uint8_t status
Definition ump_msg.h:354
uint8_t channel
Definition ump_msg.h:353
uint8_t bank_msb
Definition ump_msg.h:359
uint8_t reserved2
Definition ump_msg.h:360
uint16_t bank_valid
Definition ump_msg.h:351
uint8_t bank_lsb
Definition ump_msg.h:358
uint8_t type
Definition ump_msg.h:356
uint8_t bank
Definition ump_msg.h:326
uint8_t status
Definition ump_msg.h:328
uint8_t type
Definition ump_msg.h:330
uint8_t channel
Definition ump_msg.h:327
uint32_t data
Definition ump_msg.h:332
uint8_t index
Definition ump_msg.h:325
uint8_t group
Definition ump_msg.h:329
uint8_t alter4_type
Definition ump_msg.h:693
uint8_t bass_sharp
Definition ump_msg.h:703
uint8_t alter3_type
Definition ump_msg.h:695
uint8_t tonic_sharp
Definition ump_msg.h:689
uint8_t type
Definition ump_msg.h:681
uint8_t alter4_degree
Definition ump_msg.h:692
uint8_t bass_type
Definition ump_msg.h:701
uint8_t alter3_degree
Definition ump_msg.h:694
uint8_t alter1_degree
Definition ump_msg.h:685
uint8_t bass_note
Definition ump_msg.h:702
uint8_t bass_alter1_degree
Definition ump_msg.h:699
uint8_t format
Definition ump_msg.h:679
uint8_t addrs
Definition ump_msg.h:678
uint8_t chord_tonic
Definition ump_msg.h:688
uint8_t bass_alter2_degree
Definition ump_msg.h:697
uint8_t alter1_type
Definition ump_msg.h:686
uint8_t bass_alter2_type
Definition ump_msg.h:698
uint16_t reserved
Definition ump_msg.h:691
uint8_t channel
Definition ump_msg.h:677
uint8_t status_bank
Definition ump_msg.h:676
uint8_t chord_type
Definition ump_msg.h:687
uint8_t alter2_degree
Definition ump_msg.h:683
uint8_t alter2_type
Definition ump_msg.h:684
uint8_t status
Definition ump_msg.h:675
uint8_t group
Definition ump_msg.h:680
uint8_t bass_alter1_type
Definition ump_msg.h:700
uint8_t sharps_flats
Definition ump_msg.h:636
uint8_t group
Definition ump_msg.h:631
uint32_t reserved2[2]
Definition ump_msg.h:638
uint8_t tonic_note
Definition ump_msg.h:635
uint8_t reserved1[3]
Definition ump_msg.h:634
uint8_t status
Definition ump_msg.h:626
uint8_t status_bank
Definition ump_msg.h:627
uint8_t channel
Definition ump_msg.h:628
uint8_t format
Definition ump_msg.h:630
uint8_t addrs
Definition ump_msg.h:629
uint8_t type
Definition ump_msg.h:632
uint8_t clocks_primary
Definition ump_msg.h:599
uint16_t reserved1
Definition ump_msg.h:601
uint8_t channel
Definition ump_msg.h:590
uint8_t bar_accent_1
Definition ump_msg.h:598
uint8_t status_bank
Definition ump_msg.h:589
uint8_t group
Definition ump_msg.h:593
uint8_t format
Definition ump_msg.h:592
uint8_t type
Definition ump_msg.h:594
uint8_t status
Definition ump_msg.h:588
uint8_t bar_accent_2
Definition ump_msg.h:597
uint8_t subdivision_1
Definition ump_msg.h:603
uint8_t addrs
Definition ump_msg.h:591
uint8_t subdivision_2
Definition ump_msg.h:602
uint32_t reserved2
Definition ump_msg.h:605
uint8_t bar_accent_3
Definition ump_msg.h:596
uint8_t group
Definition ump_msg.h:522
uint8_t format
Definition ump_msg.h:521
uint8_t addrs
Definition ump_msg.h:520
uint8_t status
Definition ump_msg.h:517
uint8_t type
Definition ump_msg.h:523
uint32_t tempo
Definition ump_msg.h:525
uint8_t channel
Definition ump_msg.h:519
uint32_t reserved[2]
Definition ump_msg.h:527
uint8_t status_bank
Definition ump_msg.h:518
uint8_t addrs
Definition ump_msg.h:552
uint8_t channel
Definition ump_msg.h:551
uint8_t format
Definition ump_msg.h:553
uint8_t status
Definition ump_msg.h:549
uint32_t reserved[2]
Definition ump_msg.h:562
uint8_t numerator
Definition ump_msg.h:560
uint8_t denominator
Definition ump_msg.h:559
uint8_t type
Definition ump_msg.h:555
uint8_t group
Definition ump_msg.h:554
uint8_t reserved1
Definition ump_msg.h:557
uint8_t status_bank
Definition ump_msg.h:550
uint8_t num_notes
Definition ump_msg.h:558
uint16_t data1
Definition ump_msg.h:462
uint32_t data2
Definition ump_msg.h:466
uint32_t data4
Definition ump_msg.h:468
uint32_t data3
Definition ump_msg.h:467
uint16_t type
Definition ump_msg.h:465
uint16_t format
Definition ump_msg.h:464
uint16_t status
Definition ump_msg.h:463
uint8_t group
Definition ump_msg.h:769
uint8_t mds_id
Definition ump_msg.h:767
uint8_t type
Definition ump_msg.h:770
uint32_t payloads[3]
Definition ump_msg.h:772
uint16_t payload1
Definition ump_msg.h:766
uint8_t status
Definition ump_msg.h:768
uint8_t parm1
Definition ump_msg.h:161
uint8_t type
Definition ump_msg.h:164
uint8_t status
Definition ump_msg.h:162
uint8_t parm2
Definition ump_msg.h:160
uint8_t group
Definition ump_msg.h:163
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
uint8_t group
Definition ump_msg.h:12
uint8_t data
Definition ump_msg.h:8
@ SND_UMP_MIDI2_PNMGMT_RESET_CONTROLLERS
Definition ump_msg.h:263
@ SND_UMP_MIDI2_PNMGMT_DETACH_CONTROLLERS
Definition ump_msg.h:264
uint8_t byte2
Definition ump_msg.h:8
uint8_t byte1
Definition ump_msg.h:9
uint8_t channel
Definition ump_msg.h:10
uint8_t note
Definition ump_msg.h:9
uint8_t velocity
Definition ump_msg.h:8
int snd_ump_packet_length(unsigned int type)
return the length of a UMP packet type
Definition ump.c:1082
@ SND_UMP_MIDI2_NOTE_ATTR_MANUFACTURER
Definition ump_msg.h:185
@ SND_UMP_MIDI2_NOTE_ATTR_PROFILE
Definition ump_msg.h:186
@ SND_UMP_MIDI2_NOTE_ATTR_NO_DATA
Definition ump_msg.h:184
@ SND_UMP_MIDI2_NOTE_ATTR_PITCH79
Definition ump_msg.h:187
uint8_t type
Definition ump_msg.h:13
uint8_t status
Definition ump_msg.h:11
enum @200117165113047007046214241147260313261302351231 __attribute
snd_ump_msg_set_metronome_t set_metronome
Definition ump_msg.h:713
snd_ump_msg_set_chord_name_t set_chord_name
Definition ump_msg.h:715
snd_ump_msg_set_key_sig_t set_key_sig
Definition ump_msg.h:714
uint32_t raw[4]
Definition ump_msg.h:717
snd_ump_msg_set_time_sig_t set_time_sig
Definition ump_msg.h:712
snd_ump_msg_hdr_t hdr
Definition ump_msg.h:716
snd_ump_msg_flex_data_meta_t meta
Definition ump_msg.h:709
snd_ump_msg_flex_data_meta_t text
Definition ump_msg.h:710
snd_ump_msg_set_tempo_t set_tempo
Definition ump_msg.h:711
snd_ump_msg_midi1_pitchbend_t pitchbend
Definition ump_msg.h:176
snd_ump_msg_midi1_program_t program_change
Definition ump_msg.h:174
uint32_t raw
Definition ump_msg.h:179
snd_ump_msg_midi1_cc_t control_change
Definition ump_msg.h:173
snd_ump_msg_midi1_note_t note_on
Definition ump_msg.h:170
snd_ump_msg_midi1_note_t note_off
Definition ump_msg.h:171
snd_ump_msg_midi1_caf_t channel_pressure
Definition ump_msg.h:175
snd_ump_msg_hdr_t hdr
Definition ump_msg.h:178
snd_ump_msg_system_t system
Definition ump_msg.h:177
snd_ump_msg_midi1_paf_t poly_pressure
Definition ump_msg.h:172
snd_ump_msg_midi2_rpn_t relative_rpn
Definition ump_msg.h:441
snd_ump_msg_midi2_paf_t poly_pressure
Definition ump_msg.h:434
snd_ump_msg_midi2_note_t note_off
Definition ump_msg.h:433
snd_ump_msg_midi2_program_t program_change
Definition ump_msg.h:443
snd_ump_msg_midi2_rpn_t rpn
Definition ump_msg.h:439
snd_ump_msg_midi2_per_note_mgmt_t per_note_mgmt
Definition ump_msg.h:437
snd_ump_msg_midi2_pitchbend_t pitchbend
Definition ump_msg.h:445
snd_ump_msg_midi2_cc_t control_change
Definition ump_msg.h:438
snd_ump_msg_midi2_per_note_pitchbend_t per_note_pitchbend
Definition ump_msg.h:446
snd_ump_msg_midi2_note_t note_on
Definition ump_msg.h:432
snd_ump_msg_midi2_rpn_t nrpn
Definition ump_msg.h:440
uint32_t raw[2]
Definition ump_msg.h:448
snd_ump_msg_midi2_per_note_cc_t per_note_acc
Definition ump_msg.h:435
snd_ump_msg_hdr_t hdr
Definition ump_msg.h:447
snd_ump_msg_midi2_caf_t channel_pressure
Definition ump_msg.h:444
snd_ump_msg_midi2_per_note_cc_t per_note_rcc
Definition ump_msg.h:436
snd_ump_msg_midi2_rpn_t relative_nrpn
Definition ump_msg.h:442
uint32_t raw[4]
Definition ump_msg.h:780
snd_ump_msg_mixed_data_payload_t payload
Definition ump_msg.h:779
snd_ump_msg_mixed_data_header_t header
Definition ump_msg.h:778
snd_ump_msg_hdr_t hdr
Definition ump_msg.h:475
snd_ump_msg_stream_gen_t gen
Definition ump_msg.h:474
uint32_t raw[4]
Definition ump_msg.h:476
snd_ump_msg_dc_t dc
Definition ump_msg.h:836
snd_ump_msg_jr_clock_t jr_clock
Definition ump_msg.h:834
snd_ump_msg_dctpq_t dctpq
Definition ump_msg.h:835
uint32_t raw
Definition ump_msg.h:838
snd_ump_msg_hdr_t hdr
Definition ump_msg.h:837