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});