This commit adds a new event of knob control specific to RME Fireface 400.
Unified · Split
| @@ -14,6 +14,7 @@ · 13 unmodified lines | ||
| 14 | 14 | #define SNDRV_FIREWIRE_EVENT_MOTU_NOTIFICATION 0x64776479 |
| 15 | 15 | #define SNDRV_FIREWIRE_EVENT_TASCAM_CONTROL 0x7473636d |
| 16 | 16 | #define SNDRV_FIREWIRE_EVENT_MOTU_REGISTER_DSP_CHANGE 0x4d545244 |
| 17 | +#define SNDRV_FIREWIRE_EVENT_FF400_MESSAGE 0x4f6c6761 | |
| 17 | 18 | |
| 18 | 19 | struct snd_firewire_event_common { |
| 19 | 20 | unsigned int type; /* SNDRV_FIREWIRE_EVENT_xxx */ |
| @@ -72,6 +73,28 @@ struct snd_firewire_event_motu_register_dsp_change { · 52 unmodified lines | ||
| 72 | 73 | __u32 changes[]; /* Encoded event for change of register DSP. */ |
| 73 | 74 | }; |
| 74 | 75 | |
| 76 | +/** | |
| 77 | + * struct snd_firewire_event_ff400_message - the container for message from Fireface 400 when | |
| 78 | + * operating hardware knob. | |
| 79 | + * | |
| 80 | + * @type: Fixed to SNDRV_FIREWIRE_EVENT_FF400_MESSAGE. | |
| 81 | + * @messages.message: The messages expressing hardware knob operation. | |
| 82 | + * @messages.tstamp: The isochronous cycle at which the request subaction of asynchronous | |
| 83 | + * transaction was sent to deliver the message. It has 16 bit unsigned integer | |
| 84 | + * value. The higher 3 bits of value expresses the lower three bits of second | |
| 85 | + * field in the format of CYCLE_TIME, up to 7. The rest 13 bits expresses cycle | |
| 86 | + * field up to 7999. | |
| 87 | + * | |
| 88 | + * The structure expresses message transmitted by Fireface 400 when operating hardware knob. | |
| 89 | + */ | |
| 90 | +struct snd_firewire_event_ff400_message { | |
| 91 | + unsigned int type; | |
| 92 | + struct { | |
| 93 | + __u32 message; | |
| 94 | + __u32 tstamp; | |
| 95 | + } messages[]; | |
| 96 | +}; | |
| 97 | + | |
| 75 | 98 | union snd_firewire_event { |
| 76 | 99 | struct snd_firewire_event_common common; |
| 77 | 100 | struct snd_firewire_event_lock_status lock_status; |
| @@ -81,6 +104,7 @@ union snd_firewire_event { · 3 unmodified lines | ||
| 81 | 104 | struct snd_firewire_event_tascam_control tascam_control; |
| 82 | 105 | struct snd_firewire_event_motu_notification motu_notification; |
| 83 | 106 | struct snd_firewire_event_motu_register_dsp_change motu_register_dsp_change; |
| 107 | + struct snd_firewire_event_ff400_message ff400_message; | |
| 84 | 108 | }; |
| 85 | 109 | |
| 86 | 110 | |