summaryrefslogtreecommitdiff
path: root/gtk2_ardour/route_ui.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-03-31 00:59:09 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-03-31 00:59:09 +0000
commitf7a943403485c63032362c8f29cdc4abb43e18b4 (patch)
treeadfe8f3413ba49ea532ae43d25cb249af648835a /gtk2_ardour/route_ui.cc
parente3dd8cc3ee481924997a1650e3a130b2579be209 (diff)
functioning invert (polarity) button; menu item removed and track name button no longer relablled when inverted
git-svn-id: svn://localhost/ardour2/branches/3.0@6813 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/route_ui.cc')
-rw-r--r--gtk2_ardour/route_ui.cc56
1 files changed, 17 insertions, 39 deletions
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index 60fead1e21..99b8b24a4b 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -103,7 +103,6 @@ RouteUI::init ()
_solo_release = 0;
_mute_release = 0;
route_active_menu_item = 0;
- polarity_menu_item = 0;
denormal_menu_item = 0;
multiple_mute_change = false;
multiple_solo_change = false;
@@ -158,8 +157,7 @@ RouteUI::init ()
solo_button->signal_button_release_event().connect (sigc::mem_fun(*this, &RouteUI::solo_release), false);
mute_button->signal_button_press_event().connect (sigc::mem_fun(*this, &RouteUI::mute_press), false);
mute_button->signal_button_release_event().connect (sigc::mem_fun(*this, &RouteUI::mute_release), false);
- invert_button->signal_button_press_event().connect (sigc::mem_fun(*this, &RouteUI::invert_press), false);
- invert_button->signal_button_release_event().connect (sigc::mem_fun(*this, &RouteUI::invert_release), false);
+ invert_button->signal_toggled().connect (sigc::mem_fun(*this, &RouteUI::invert_toggled), false);
}
@@ -180,7 +178,6 @@ RouteUI::reset ()
}
route_active_menu_item = 0;
- polarity_menu_item = 0;
denormal_menu_item = 0;
}
@@ -215,6 +212,7 @@ RouteUI::set_route (boost::shared_ptr<Route> rp)
_route->solo_changed.connect (route_connections, invalidator (*this), ui_bind (&RouteUI::solo_changed, this, _1), gui_context());
_route->listen_changed.connect (route_connections, invalidator (*this), ui_bind (&RouteUI::listen_changed, this, _1), gui_context());
_route->solo_isolated_changed.connect (route_connections, invalidator (*this), ui_bind (&RouteUI::solo_changed, this, _1), gui_context());
+ _route->phase_invert_changed.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::polarity_changed, this), gui_context());
_route->PropertyChanged.connect (route_connections, invalidator (*this), ui_bind (&RouteUI::property_changed, this, _1), gui_context());
if (_session->writable() && is_track()) {
@@ -248,16 +246,25 @@ RouteUI::set_route (boost::shared_ptr<Route> rp)
map_frozen ();
}
-bool
-RouteUI::invert_press (GdkEventButton* ev)
+void
+RouteUI::invert_toggled ()
{
- return false;
+ cerr << this << " button state = " << invert_button->get_active() << " PI = " << _route->phase_invert() << endl;
+ _route->set_phase_invert (invert_button->get_active());
}
-bool
-RouteUI::invert_release (GdkEventButton* ev)
+void
+RouteUI::polarity_changed ()
{
- return false;
+ if (!_route) {
+ return;
+ }
+
+ if (_route->phase_invert()) {
+ invert_button->set_active (true);
+ } else {
+ invert_button->set_active (false);
+ }
}
bool
@@ -1219,35 +1226,6 @@ RouteUI::route_active_changed ()
}
}
-void
-RouteUI::toggle_polarity ()
-{
- if (polarity_menu_item) {
-
- bool x;
-
- ENSURE_GUI_THREAD (*this, &RouteUI::toggle_polarity)
-
- if ((x = polarity_menu_item->get_active()) != _route->phase_invert()) {
- _route->set_phase_invert (x);
- if (x) {
- name_label.set_text (X_("Ø ") + name_label.get_text());
- } else {
- name_label.set_text (_route->name());
- }
- }
- }
-}
-
-void
-RouteUI::polarity_changed ()
-{
- if (_route->phase_invert()) {
- name_label.set_text (X_("Ø ") + name_label.get_text());
- } else {
- name_label.set_text (_route->name());
- }
-}
void
RouteUI::toggle_denormal_protection ()