summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-01-13 11:08:37 +0100
committerRobin Gareus <robin@gareus.org>2014-01-13 11:08:37 +0100
commit1146d58d212423f67f19a490b6832d0496fa9e77 (patch)
treedeed45fc26ddef538045e8535f50ca9e9a99b867 /gtk2_ardour
parentbc88203ef5f343f87016a28104f6977675f2c050 (diff)
misc panning related UI tweaks:
* connect 2D panner "edit" to big window * disconnect 2D-panner GUI when it's visible but panner-type changes * ignore mixer-strip level-meter context-menu for Aux-sends
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/mixer_strip.cc3
-rw-r--r--gtk2_ardour/panner2d.cc8
-rw-r--r--gtk2_ardour/panner_ui.cc5
3 files changed, 16 insertions, 0 deletions
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 3a3c39ea17..780e8078c6 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -2149,6 +2149,9 @@ MixerStrip::ab_plugins ()
bool
MixerStrip::level_meter_button_press (GdkEventButton* ev)
{
+ if (_current_delivery && boost::dynamic_pointer_cast<Send>(_current_delivery)) {
+ return false;
+ }
if (ev->button == 3) {
popup_level_meter_menu (ev);
return true;
diff --git a/gtk2_ardour/panner2d.cc b/gtk2_ardour/panner2d.cc
index c59523abe3..9de8123ea8 100644
--- a/gtk2_ardour/panner2d.cc
+++ b/gtk2_ardour/panner2d.cc
@@ -201,6 +201,14 @@ void
Panner2d::handle_state_change ()
{
panconnect.drop_connections();
+ if (!panner_shell->panner()) {
+ /* we should really self-destruct the UI here
+ * -> * PannerUI::set_panner() -> delete
+ */
+ queue_draw ();
+ return;
+ }
+
panner_shell->panner()->SignalPositionChanged.connect (panconnect, invalidator(*this), boost::bind (&Panner2d::handle_position_change, this), gui_context());
set<Evoral::Parameter> params = panner_shell->panner()->what_can_be_automated();
diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc
index 3ee794e578..3602225c88 100644
--- a/gtk2_ardour/panner_ui.cc
+++ b/gtk2_ardour/panner_ui.cc
@@ -417,6 +417,11 @@ PannerUI::pan_edit ()
_mono_panner->edit ();
} else if (_stereo_panner) {
_stereo_panner->edit ();
+ } else if (twod_panner) {
+ if (!big_window) {
+ big_window = new Panner2dWindow (_panshell, 400, _panner->in().n_audio());
+ }
+ big_window->show ();
}
}