summaryrefslogtreecommitdiff
path: root/libs/surfaces/mackie
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2017-05-05 16:38:19 -0500
committerRobin Gareus <robin@gareus.org>2017-05-12 15:43:44 +0200
commit6f298b1a8312f9dee8431c818b2e20b020f3503d (patch)
tree9c45b8d5cdca207149267a99329a71cddac12bed /libs/surfaces/mackie
parent471ed5af4e80d85b6f29e38f85f3e81b74291a2a (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.cc13
-rw-r--r--libs/surfaces/mackie/gui.h1
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);
};