summaryrefslogtreecommitdiff
path: root/gtk2_ardour/route_ui.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-08-13 21:33:01 +0000
committerCarl Hetherington <carl@carlh.net>2010-08-13 21:33:01 +0000
commit063b91313f374db228aeda6fd8ce52a23485cc4b (patch)
treec3dcfe4126c7621b196c8412ba817b3941af758f /gtk2_ardour/route_ui.h
parentd62f7e1c72523e77b8d1fd1b3f4a2e8d078ac5f1 (diff)
Implement per-channel phase invert. Fixes #3392. Breaks loading of existing 3.0 session files.
git-svn-id: svn://localhost/ardour2/branches/3.0@7621 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/route_ui.h')
-rw-r--r--gtk2_ardour/route_ui.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h
index 945e49cb12..3ba0635fd7 100644
--- a/gtk2_ardour/route_ui.h
+++ b/gtk2_ardour/route_ui.h
@@ -85,7 +85,7 @@ class RouteUI : public virtual AxisView
bool multiple_mute_change;
bool multiple_solo_change;
- BindableToggleButton* invert_button;
+ Gtk::HBox _invert_button_box;
BindableToggleButton* mute_button;
BindableToggleButton* solo_button;
BindableToggleButton* rec_enable_button; /* audio tracks */
@@ -96,7 +96,6 @@ class RouteUI : public virtual AxisView
Gtk::Label solo_button_label;
Gtk::Label mute_button_label;
- Gtk::Label invert_button_label;
Gtk::Label rec_enable_button_label;
void send_blink (bool);
@@ -114,7 +113,6 @@ class RouteUI : public virtual AxisView
virtual XMLNode* get_automation_child_xml_node (Evoral::Parameter param);
- void invert_toggled();
bool mute_press(GdkEventButton*);
bool mute_release(GdkEventButton*);
bool solo_press(GdkEventButton*);
@@ -246,6 +244,17 @@ class RouteUI : public virtual AxisView
SoloMuteRelease* _solo_release;
SoloMuteRelease* _mute_release;
+ void setup_invert_buttons ();
+ void set_invert_button_state ();
+ void invert_toggled (uint32_t, BindableToggleButton *);
+ void invert_menu_toggled (uint32_t);
+ bool invert_press (GdkEventButton *);
+
+ int _i_am_the_modifier;
+ std::list<BindableToggleButton*> _invert_buttons;
+ Gtk::Menu* _invert_menu;
+
+ static uint32_t _max_invert_buttons;
};
#endif /* __ardour_route_ui__ */