// SPDX-License-Identifier: GPL-2.0-or-later /* * Universal MIDI Packet (UMP): Message Definitions */ #ifndef __SOUND_UMP_MSG_H #define __SOUND_UMP_MSG_H /* MIDI 1.0 / 2.0 Status Code (4bit) */ enum { … }; /* MIDI 1.0 Channel Control (7bit) */ enum { … }; /* MIDI 1.0 / 2.0 System Messages (0xfx) */ enum { … }; /* MIDI 1.0 Realtime and SysEx status messages (0xfx) */ enum { … }; /* * UMP Message Definitions */ /* MIDI 1.0 Note Off / Note On (32bit) */ struct snd_ump_midi1_msg_note { … } __packed; /* MIDI 1.0 Poly Pressure (32bit) */ struct snd_ump_midi1_msg_paf { … } __packed; /* MIDI 1.0 Control Change (32bit) */ struct snd_ump_midi1_msg_cc { … } __packed; /* MIDI 1.0 Program Change (32bit) */ struct snd_ump_midi1_msg_program { … } __packed; /* MIDI 1.0 Channel Pressure (32bit) */ struct snd_ump_midi1_msg_caf { … } __packed; /* MIDI 1.0 Pitch Bend (32bit) */ struct snd_ump_midi1_msg_pitchbend { … } __packed; /* System Common and Real Time messages (32bit); no channel field */ struct snd_ump_system_msg { … } __packed; /* MIDI 1.0 UMP CVM (32bit) */ snd_ump_midi1_msg; /* MIDI 2.0 Note Off / Note On (64bit) */ struct snd_ump_midi2_msg_note { … } __packed; /* MIDI 2.0 Poly Pressure (64bit) */ struct snd_ump_midi2_msg_paf { … } __packed; /* MIDI 2.0 Per-Note Controller (64bit) */ struct snd_ump_midi2_msg_pernote_cc { … } __packed; /* MIDI 2.0 Per-Note Management (64bit) */ struct snd_ump_midi2_msg_pernote_mgmt { … } __packed; /* MIDI 2.0 Control Change (64bit) */ struct snd_ump_midi2_msg_cc { … } __packed; /* MIDI 2.0 Registered Controller (RPN) / Assignable Controller (NRPN) (64bit) */ struct snd_ump_midi2_msg_rpn { … } __packed; /* MIDI 2.0 Program Change (64bit) */ struct snd_ump_midi2_msg_program { … } __packed; /* MIDI 2.0 Channel Pressure (64bit) */ struct snd_ump_midi2_msg_caf { … } __packed; /* MIDI 2.0 Pitch Bend (64bit) */ struct snd_ump_midi2_msg_pitchbend { … } __packed; /* MIDI 2.0 Per-Note Pitch Bend (64bit) */ struct snd_ump_midi2_msg_pernote_pitchbend { … } __packed; /* MIDI 2.0 UMP CVM (64bit) */ snd_ump_midi2_msg; /* UMP Stream Message: Endpoint Discovery (128bit) */ struct snd_ump_stream_msg_ep_discovery { … } __packed; /* UMP Stream Message: Endpoint Info Notification (128bit) */ struct snd_ump_stream_msg_ep_info { … } __packed; /* UMP Stream Message: Device Info Notification (128bit) */ struct snd_ump_stream_msg_devince_info { … } __packed; /* UMP Stream Message: Stream Config Request / Notification (128bit) */ struct snd_ump_stream_msg_stream_cfg { … } __packed; /* UMP Stream Message: Function Block Discovery (128bit) */ struct snd_ump_stream_msg_fb_discovery { … } __packed; /* UMP Stream Message: Function Block Info Notification (128bit) */ struct snd_ump_stream_msg_fb_info { … } __packed; /* UMP Stream Message: Function Block Name Notification (128bit) */ struct snd_ump_stream_msg_fb_name { … } __packed; /* MIDI 2.0 Stream Messages (128bit) */ snd_ump_stream_msg; #endif /* __SOUND_UMP_MSG_H */