diff options
author | Ben Loftis <ben@harrisonconsoles.com> | 2017-05-05 16:38:19 -0500 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-05-12 15:43:44 +0200 |
commit | 6f298b1a8312f9dee8431c818b2e20b020f3503d (patch) | |
tree | 9c45b8d5cdca207149267a99329a71cddac12bed /libs/surfaces/mackie | |
parent | 471ed5af4e80d85b6f29e38f85f3e81b74291a2a (diff) |
Mackie control panel: display the profile name when any button action is changed.
Diffstat (limited to 'libs/surfaces/mackie')
-rw-r--r-- | libs/surfaces/mackie/gui.cc | 13 | ||||
-rw-r--r-- | libs/surfaces/mackie/gui.h | 1 |
2 files changed, 11 insertions, 3 deletions
diff --git a/libs/surfaces/mackie/gui.cc b/libs/surfaces/mackie/gui.cc index 15be6394ef..708fc5328c 100644 --- a/libs/surfaces/mackie/gui.cc +++ b/libs/surfaces/mackie/gui.cc @@ -94,6 +94,7 @@ MackieControlProtocolGUI::MackieControlProtocolGUI (MackieControlProtocol& p) , ipmidi_base_port_adjustment (_cp.ipmidi_base(), 0, 32767, 1, 1000) , discover_button (_("Discover Mackie Devices")) , _device_dependent_widget (0) + , _ignore_profile_changed (false) , ignore_active_change (false) { Gtk::Label* l; @@ -805,6 +806,10 @@ MackieControlProtocolGUI::action_changed (const Glib::ustring &sPath, const Glib _cp.device_profile().set_button_action ((*row)[function_key_columns.id], modifier, i->second); } + _ignore_profile_changed = true; + _profile_combo.set_active_text ( _cp.device_profile().name() ); + _ignore_profile_changed = false; + } else { std::cerr << "no such action\n"; } @@ -834,11 +839,13 @@ MackieControlProtocolGUI::device_changed () void MackieControlProtocolGUI::profile_combo_changed () { - string profile = _profile_combo.get_active_text(); + if (!_ignore_profile_changed) { + string profile = _profile_combo.get_active_text(); - _cp.set_profile (profile); + _cp.set_profile (profile); - refresh_function_key_editor (); + refresh_function_key_editor (); + } } void diff --git a/libs/surfaces/mackie/gui.h b/libs/surfaces/mackie/gui.h index 15d266634c..0f91a32e12 100644 --- a/libs/surfaces/mackie/gui.h +++ b/libs/surfaces/mackie/gui.h @@ -151,6 +151,7 @@ class MackieControlProtocolGUI : public Gtk::Notebook void connection_handler (); Glib::RefPtr<Gtk::ListStore> build_midi_port_list (std::vector<std::string> const & ports, bool for_input); + bool _ignore_profile_changed; bool ignore_active_change; void active_port_changed (Gtk::ComboBox* combo, boost::weak_ptr<Mackie::Surface> ws, bool for_input); }; |