]> git.sesse.net Git - nageru/blobdiff - midi_mapper.h
Rename ui_foo.ui to foo.ui; seemingly, it is more standard.
[nageru] / midi_mapper.h
index be785ecdc709095340dbbe3cd98ccfd9a67174a8..42bf19a64aeb68388fe41722bf1727d4dcde1431 100644 (file)
@@ -27,11 +27,14 @@ typedef struct _snd_seq snd_seq_t;
 // Interface for receiving interpreted controller messages.
 class ControllerReceiver {
 public:
+       virtual ~ControllerReceiver() {}
+
        // All values are [0.0, 1.0].
        virtual void set_locut(float value) = 0;
        virtual void set_limiter_threshold(float value) = 0;
        virtual void set_makeup_gain(float value) = 0;
 
+       virtual void set_stereo_width(unsigned bus_idx, float value) = 0;
        virtual void set_treble(unsigned bus_idx, float value) = 0;
        virtual void set_mid(unsigned bus_idx, float value) = 0;
        virtual void set_bass(unsigned bus_idx, float value) = 0;
@@ -39,6 +42,7 @@ public:
        virtual void set_compressor_threshold(unsigned bus_idx, float value) = 0;
        virtual void set_fader(unsigned bus_idx, float value) = 0;
 
+       virtual void toggle_mute(unsigned bus_idx) = 0;
        virtual void toggle_locut(unsigned bus_idx) = 0;
        virtual void toggle_auto_gain_staging(unsigned bus_idx) = 0;
        virtual void toggle_compressor(unsigned bus_idx) = 0;
@@ -54,6 +58,7 @@ public:
        virtual void highlight_limiter_threshold(bool highlight) = 0;
        virtual void highlight_makeup_gain(bool highlight) = 0;
 
+       virtual void highlight_stereo_width(unsigned bus_idx, bool highlight) = 0;
        virtual void highlight_treble(unsigned bus_idx, bool highlight) = 0;
        virtual void highlight_mid(unsigned bus_idx, bool highlight) = 0;
        virtual void highlight_bass(unsigned bus_idx, bool highlight) = 0;
@@ -61,6 +66,7 @@ public:
        virtual void highlight_compressor_threshold(unsigned bus_idx, bool highlight) = 0;
        virtual void highlight_fader(unsigned bus_idx, bool highlight) = 0;
 
+       virtual void highlight_mute(unsigned bus_idx, bool highlight) = 0;
        virtual void highlight_toggle_locut(unsigned bus_idx, bool highlight) = 0;
        virtual void highlight_toggle_auto_gain_staging(unsigned bus_idx, bool highlight) = 0;
        virtual void highlight_toggle_compressor(unsigned bus_idx, bool highlight) = 0;
@@ -117,6 +123,7 @@ private:
        std::unique_ptr<MIDIMappingProto> mapping_proto;  // Under <mu>.
        int num_controller_banks;  // Under <mu>.
        std::atomic<int> current_controller_bank{0};
+       std::atomic<int> num_subscribed_ports{0};
 
        std::thread midi_thread;
        std::map<unsigned, bool> current_light_status;  // Keyed by note number. Under <mu>.