This commit adds a new event of knob control specific to RME Fireface 400.
Unified · Split
| @@ -14,6 +14,7 @@ · 13 unmodified lines | |||
| 14 | #define SNDRV_FIREWIRE_EVENT_MOTU_NOTIFICATION 0x64776479 | 14 | #define SNDRV_FIREWIRE_EVENT_MOTU_NOTIFICATION 0x64776479 |
| 15 | #define SNDRV_FIREWIRE_EVENT_TASCAM_CONTROL 0x7473636d | 15 | #define SNDRV_FIREWIRE_EVENT_TASCAM_CONTROL 0x7473636d |
| 16 | #define SNDRV_FIREWIRE_EVENT_MOTU_REGISTER_DSP_CHANGE 0x4d545244 | 16 | #define SNDRV_FIREWIRE_EVENT_MOTU_REGISTER_DSP_CHANGE 0x4d545244 |
| 17 | #define SNDRV_FIREWIRE_EVENT_FF400_MESSAGE 0x4f6c6761 | ||
| 17 | 18 | ||
| 18 | struct snd_firewire_event_common { | 19 | struct snd_firewire_event_common { |
| 19 | unsigned int type; /* SNDRV_FIREWIRE_EVENT_xxx */ | 20 | unsigned int type; /* SNDRV_FIREWIRE_EVENT_xxx */ |
| @@ -72,6 +73,28 @@ struct snd_firewire_event_motu_register_dsp_change { · 52 unmodified lines | |||
| 72 | __u32 changes[]; /* Encoded event for change of register DSP. */ | 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 | union snd_firewire_event { | 98 | union snd_firewire_event { |
| 76 | struct snd_firewire_event_common common; | 99 | struct snd_firewire_event_common common; |
| 77 | struct snd_firewire_event_lock_status lock_status; | 100 | struct snd_firewire_event_lock_status lock_status; |
| @@ -81,6 +104,7 @@ union snd_firewire_event { · 3 unmodified lines | |||
| 81 | struct snd_firewire_event_tascam_control tascam_control; | 104 | struct snd_firewire_event_tascam_control tascam_control; |
| 82 | struct snd_firewire_event_motu_notification motu_notification; | 105 | struct snd_firewire_event_motu_notification motu_notification; |
| 83 | struct snd_firewire_event_motu_register_dsp_change motu_register_dsp_change; | 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 | ||