]> git.sesse.net Git - nageru/blobdiff - futatabi/midi_mapper.h
Add support for a master speed MIDI light.
[nageru] / futatabi / midi_mapper.h
index 2240e70ce7e55854028b40d885201388935f9bb2..98ea6113ab6a7435f5c77c59c17b425bcbcb2de4 100644 (file)
@@ -63,7 +63,7 @@ public:
 
        void refresh_lights();
 
-       void set_preview_enabled(bool enabled) {
+       void set_preview_enabled(LightState enabled) {
                preview_enabled_light = enabled;
                refresh_lights();
        }
@@ -83,6 +83,10 @@ public:
                current_highlighted_camera = stream_idx;
                refresh_lights();
        }
+       void set_speed_light(float speed) {  // Goes from 0.0 to 2.0.
+               current_speed = speed;
+               refresh_lights();
+       }
 
        // MIDIReceiver.
        void controller_received(int controller, int value) override;
@@ -106,11 +110,12 @@ private:
        int num_controller_banks;  // Under <mu>.
        std::atomic<int> current_controller_bank{0};
 
-       std::atomic<bool> preview_enabled_light{false};
+       std::atomic<LightState> preview_enabled_light{Off};
        std::atomic<bool> queue_enabled_light{false};
        std::atomic<LightState> play_enabled_light{Off};
        std::atomic<LightState> locked_light{On};
        std::atomic<int> current_highlighted_camera{-1};
+       std::atomic<float> current_speed{1.0f};
 
        MIDIDevice midi_device;
 };