summaryrefslogtreecommitdiff
path: root/gtk2_ardour/vca_time_axis.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-06-09 14:48:33 +0200
committerRobin Gareus <robin@gareus.org>2017-06-15 16:06:32 +0200
commitaf6941ac3409167cc7e4eb799035fbcdc9e835dd (patch)
tree027c6de093e8b49d041e1980b40f6feb32f121bd /gtk2_ardour/vca_time_axis.h
parent5957a4619ae06158dda68f92f346fbb26d7bb724 (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.h22
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__ */