launchkey_sdk/launchkey/modes/
encoder_mode.rs

1use crate::bidirectional_enum_mappings;
2
3#[derive(Debug, Clone)]
4pub enum EncoderMode {
5    /// Controls plugin parameters.
6    Plugin,
7    /// Adjusts mixer levels, such as volume and pan.
8    Mixer,
9    /// Controls send levels for effects and routing.
10    Sends,
11    /// Handles transport functions like playback control.
12    Transport,
13    /// User-defined encoder mappings for custom controls (slot 1).
14    Custom1,
15    /// User-defined encoder mappings for custom controls (slot 2).
16    Custom2,
17    /// User-defined encoder mappings for custom controls (slot 3).
18    Custom3,
19    /// User-defined encoder mappings for custom controls (slot 4).
20    Custom4,
21}
22
23bidirectional_enum_mappings!(EncoderMode, u8, {
24    Plugin => 0x02,
25    Mixer => 0x01,
26    Sends => 0x04,
27    Transport => 0x05,
28    Custom1 => 0x06,
29    Custom2 => 0x07,
30    Custom3 => 0x08,
31    Custom4 => 0x09,
32});