From f1ae16fe8f4febcf03eabf283eaea1305792b4a0 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 6 Aug 2017 22:48:38 +0200 Subject: 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) --- gtk2_ardour/vca_time_axis.cc | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'gtk2_ardour/vca_time_axis.cc') 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" @@ -437,6 +438,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) { @@ -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()); + } +} + +void +VCATimeAxisView::choose_color () { + _color_picker.popup (_vca); +} -- cgit v1.2.3