X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=midi_mapper.h;h=42bf19a64aeb68388fe41722bf1727d4dcde1431;hb=6ffaabac0a523617b686f40c154a25cb548cc561;hp=be785ecdc709095340dbbe3cd98ccfd9a67174a8;hpb=7a81f05c63a992acf4a859fd1136700e1d8b98ac;p=nageru diff --git a/midi_mapper.h b/midi_mapper.h index be785ec..42bf19a 100644 --- a/midi_mapper.h +++ b/midi_mapper.h @@ -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 mapping_proto; // Under . int num_controller_banks; // Under . std::atomic current_controller_bank{0}; + std::atomic num_subscribed_ports{0}; std::thread midi_thread; std::map current_light_status; // Keyed by note number. Under .