summaryrefslogtreecommitdiff
path: root/gtk2_ardour/vca_time_axis.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-08-06 22:48:38 +0200
committerRobin Gareus <robin@gareus.org>2017-08-06 22:48:38 +0200
commitf1ae16fe8f4febcf03eabf283eaea1305792b4a0 (patch)
tree78596a0a9e258ba8cd97589202093555e804dfcc /gtk2_ardour/vca_time_axis.cc
parentfff9a3cc7f3f2d09be1fd7aed547c5e9c1fe4528 (diff)
VCA TimeAxis Context Menu
NB. This calls for a vca_ui (alike route_ui) to consolidate common methods like choose_color, assign/drop slaves etc)
Diffstat (limited to 'gtk2_ardour/vca_time_axis.cc')
-rw-r--r--gtk2_ardour/vca_time_axis.cc42
1 files changed, 42 insertions, 0 deletions
diff --git a/gtk2_ardour/vca_time_axis.cc b/gtk2_ardour/vca_time_axis.cc
index 31bcdf6222..efa1c3cdea 100644
--- a/gtk2_ardour/vca_time_axis.cc
+++ b/gtk2_ardour/vca_time_axis.cc
@@ -33,6 +33,7 @@
#include "gui_thread.h"
#include "public_editor.h"
+#include "mixer_ui.h"
#include "ui_config.h"
#include "vca_time_axis.h"
@@ -438,6 +439,32 @@ VCATimeAxisView::create_automation_child (const Evoral::Parameter& param, bool s
}
void
+VCATimeAxisView::build_display_menu ()
+{
+ using namespace Menu_Helpers;
+ /* prepare it */
+ TimeAxisView::build_display_menu ();
+
+ MenuList& items = display_menu->items();
+ items.push_back (MenuElem (_("Color..."), sigc::mem_fun (*this, &VCATimeAxisView::choose_color)));
+ if (_size_menu) {
+ detach_menu (*_size_menu);
+ }
+ build_size_menu ();
+ items.push_back (MenuElem (_("Height"), *_size_menu));
+ items.push_back (SeparatorElem());
+
+ build_automation_action_menu (true);
+ items.push_back (MenuElem (_("Automation"), *automation_action_menu));
+
+ items.push_back (SeparatorElem());
+ items.push_back (MenuElem (_("Drop All Slaves"), sigc::mem_fun (*this, &VCATimeAxisView::drop_all_slaves)));
+ items.push_back (SeparatorElem());
+ items.push_back (MenuElem (_("Remove"), sigc::mem_fun(_editor, &PublicEditor::remove_tracks)));
+}
+
+
+void
VCATimeAxisView::build_automation_action_menu (bool for_selection)
{
using namespace Menu_Helpers;
@@ -518,3 +545,18 @@ VCATimeAxisView::hide_all_automation (bool apply_to_selection)
no_redraw = false;
request_redraw ();
}
+
+void
+VCATimeAxisView::drop_all_slaves ()
+{
+ _vca->Drop (); /* EMIT SIGNAL */
+
+ if (Mixer_UI::instance()->showing_spill_for (_vca)) {
+ Mixer_UI::instance()->show_spill (boost::shared_ptr<Stripable>());
+ }
+}
+
+void
+VCATimeAxisView::choose_color () {
+ _color_picker.popup (_vca);
+}