X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=midi_mapping_dialog.h;h=5a1ec3f425a9b4caada9a8fe768e1cb26717636c;hb=fa54f2630c56a1df0046923d6a77b1bd58abf240;hp=df4e97f3c066b4cad0365d9d157b145bede6902b;hpb=379449a2d9d8f75cf7e37302ebe6b54e373bc2e4;p=nageru diff --git a/midi_mapping_dialog.h b/midi_mapping_dialog.h index df4e97f..5a1ec3f 100644 --- a/midi_mapping_dialog.h +++ b/midi_mapping_dialog.h @@ -1,21 +1,24 @@ #ifndef _MIDI_MAPPING_DIALOG_H #define _MIDI_MAPPING_DIALOG_H +#include #include +#include +#include +#include #include #include #include -#include -#include "audio_mixer.h" #include "midi_mapper.h" -#include "mixer.h" + +class QEvent; +class QObject; namespace Ui { class MIDIMappingDialog; } // namespace Ui -class MIDIMapper; class MIDIMappingProto; class QComboBox; class QSpinBox; @@ -51,10 +54,34 @@ public: void set_compressor_threshold(unsigned bus_idx, float value) override {} void set_fader(unsigned bus_idx, float value) override {} + void toggle_mute(unsigned bus_idx) override {} void toggle_locut(unsigned bus_idx) override {} void toggle_auto_gain_staging(unsigned bus_idx) override {} void toggle_compressor(unsigned bus_idx) override {} void clear_peak(unsigned bus_idx) override {} + void toggle_limiter() override {} + void toggle_auto_makeup_gain() override {} + + void clear_all_highlights() override {} + + void highlight_locut(bool highlight) override {} + void highlight_limiter_threshold(bool highlight) override {} + void highlight_makeup_gain(bool highlight) override {} + + void highlight_treble(unsigned bus_idx, bool highlight) override {} + void highlight_mid(unsigned bus_idx, bool highlight) override {} + void highlight_bass(unsigned bus_idx, bool highlight) override {} + void highlight_gain(unsigned bus_idx, bool highlight) override {} + void highlight_compressor_threshold(unsigned bus_idx, bool highlight) override {} + void highlight_fader(unsigned bus_idx, bool highlight) override {} + + void highlight_mute(unsigned bus_idx, bool highlight) override {} + void highlight_toggle_locut(unsigned bus_idx, bool highlight) override {} + void highlight_toggle_auto_gain_staging(unsigned bus_idx, bool highlight) override {} + void highlight_toggle_compressor(unsigned bus_idx, bool highlight) override {} + void highlight_clear_peak(unsigned bus_idx, bool highlight) override {} + void highlight_toggle_limiter(bool highlight) override {} + void highlight_toggle_auto_makeup_gain(bool highlight) override {} // Raw events; used for the editor dialog only. void controller_changed(unsigned controller) override; @@ -77,13 +104,15 @@ private: ALL_GROUPS = -1, PER_BUS_CONTROLLERS, PER_BUS_BUTTONS, + PER_BUS_LIGHTS, GLOBAL_CONTROLLERS, - GLOBAL_BUTTONS + GLOBAL_BUTTONS, + GLOBAL_LIGHTS }; void add_bank_selector(QTreeWidgetItem *item, const MIDIMappingProto &mapping_proto, int bank_field_number); - enum class ControlType { CONTROLLER, BUTTON }; + enum class ControlType { CONTROLLER, BUTTON, LIGHT }; void add_controls(const std::string &heading, ControlType control_type, SpinnerGroup spinner_group, const MIDIMappingProto &mapping_proto, const std::vector &controls); @@ -99,6 +128,7 @@ private: struct FocusInfo { int bus_idx; // -1 for none. SpinnerGroup spinner_group; + int field_number; }; FocusInfo find_focus() const; @@ -107,7 +137,7 @@ private: Ui::MIDIMappingDialog *ui; MIDIMapper *mapper; ControllerReceiver *old_receiver; - FocusInfo last_focus{-1, SpinnerGroup::ALL_GROUPS}; + FocusInfo last_focus{-1, SpinnerGroup::ALL_GROUPS, -1}; // All controllers actually laid out on the grid (we need to store them // so that we can move values back and forth between the controls and @@ -124,6 +154,7 @@ private: }; std::vector controller_spinners; std::vector button_spinners; + std::vector light_spinners; std::vector bank_combo_boxes; // Keyed on bus index, then field number.