diff options
author | Robin Gareus <robin@gareus.org> | 2017-06-09 14:48:33 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-06-15 16:06:32 +0200 |
commit | af6941ac3409167cc7e4eb799035fbcdc9e835dd (patch) | |
tree | 027c6de093e8b49d041e1980b40f6feb32f121bd /gtk2_ardour/vca_time_axis.h | |
parent | 5957a4619ae06158dda68f92f346fbb26d7bb724 (diff) |
Prepare VCA Automation Lanes -- refactor TAV
* add an abstract StripableTimeAxisView (Route TAV + VCA TAV)
* move common strip-methods into STAV
* Add Automation Lanes to VCA TAV
* Allow ATAV without Automatable for VCA Controls
Diffstat (limited to 'gtk2_ardour/vca_time_axis.h')
-rw-r--r-- | gtk2_ardour/vca_time_axis.h | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/gtk2_ardour/vca_time_axis.h b/gtk2_ardour/vca_time_axis.h index c40b1ab288..128c3c478a 100644 --- a/gtk2_ardour/vca_time_axis.h +++ b/gtk2_ardour/vca_time_axis.h @@ -21,7 +21,7 @@ #define __ardour_vca_time_axis_h__ #include "ardour_button.h" -#include "time_axis_view.h" +#include "stripable_time_axis.h" #include "gain_meter.h" namespace ArdourCanvas { @@ -33,7 +33,7 @@ namespace ARDOUR { class VCA; } -class VCATimeAxisView : public TimeAxisView +class VCATimeAxisView : public StripableTimeAxisView { public: VCATimeAxisView (PublicEditor&, ARDOUR::Session*, ArdourCanvas::Canvas& canvas); @@ -59,12 +59,24 @@ class VCATimeAxisView : public TimeAxisView boost::shared_ptr<ARDOUR::VCA> _vca; ArdourButton solo_button; ArdourButton mute_button; - ArdourButton spill_button; + ArdourButton automation_button; ArdourButton drop_button; ArdourButton number_label; GainMeterBase gain_meter; PBD::ScopedConnectionList vca_connections; + void create_gain_automation_child (const Evoral::Parameter &, bool); + void create_trim_automation_child (const Evoral::Parameter &, bool) {} + void create_mute_automation_child (const Evoral::Parameter &, bool); + + virtual void show_all_automation (bool apply_to_selection = false); + virtual void show_existing_automation (bool apply_to_selection = false); + virtual void hide_all_automation (bool apply_to_selection = false); + + void create_automation_child (const Evoral::Parameter& param, bool show); + virtual void build_automation_action_menu (bool); + Gtk::Menu* automation_action_menu; + void parameter_changed (std::string const& p); void vca_property_changed (PBD::PropertyChange const&); void update_vca_name (); @@ -74,9 +86,9 @@ class VCATimeAxisView : public TimeAxisView void update_track_number_visibility (); bool solo_release (GdkEventButton*); bool mute_release (GdkEventButton*); - bool spill_release (GdkEventButton*); + bool automation_click (GdkEventButton*); bool drop_release (GdkEventButton*); void self_delete (); }; -#endif /* __ardour_route_time_axis_h__ */ +#endif /* __ardour_vca_time_axis_h__ */ |