#include "canvas/rectangle.h"
+#include "widgets/ardour_button.h"
+#include "widgets/ardour_dropdown.h"
+
#include "time_axis_view.h"
#include "automation_controller.h"
-#include "ardour_button.h"
-#include "ardour_dropdown.h"
namespace ARDOUR {
class Session;
class AutomationController;
class ItemCounts;
-class AutomationTimeAxisView : public TimeAxisView {
- public:
+class AutomationTimeAxisView : public TimeAxisView
+{
+public:
AutomationTimeAxisView (ARDOUR::Session*,
- boost::shared_ptr<ARDOUR::Stripable>,
- boost::shared_ptr<ARDOUR::Automatable>,
- boost::shared_ptr<ARDOUR::AutomationControl>,
- Evoral::Parameter,
- PublicEditor&,
- TimeAxisView& parent,
- bool show_regions,
- ArdourCanvas::Canvas& canvas,
- const std::string & name, /* translatable */
- const std::string & plug_name = "");
+ boost::shared_ptr<ARDOUR::Stripable>,
+ boost::shared_ptr<ARDOUR::Automatable>,
+ boost::shared_ptr<ARDOUR::AutomationControl>,
+ Evoral::Parameter,
+ PublicEditor&,
+ TimeAxisView& parent,
+ bool show_regions,
+ ArdourCanvas::Canvas& canvas,
+ const std::string & name, /* translatable */
+ const std::string & plug_name = "");
~AutomationTimeAxisView();
static void what_has_visible_automation (const boost::shared_ptr<ARDOUR::Automatable>& automatable, std::set<Evoral::Parameter>& visible);
- protected:
+protected:
/* Note that for MIDI controller "automation" (in regions), all of these
- may be set. In this case, _automatable is likely _route so the
- controller will send immediate events out the route's MIDI port. */
+ * may be set. In this case, _automatable is likely _route so the
+ * controller will send immediate events out the route's MIDI port. */
/** parent strip */
boost::shared_ptr<ARDOUR::Stripable> _stripable;
bool ignore_toggle;
bool first_call_to_set_height;
- ArdourButton hide_button;
- ArdourDropdown auto_dropdown;
+ ArdourWidgets::ArdourButton hide_button;
+ ArdourWidgets::ArdourDropdown auto_dropdown;
Gtk::Label* plugname;
bool plugname_packed;
bool ignore_state_request;
bool ignore_mode_request;
+ bool propagate_time_selection () const;
+
void automation_state_changed ();
void set_interpolation (ARDOUR::AutomationList::InterpolationStyle);
static Pango::FontDescription name_font;
static bool have_name_font;
+ std::string automation_state_off_string () const;
+
private:
int set_state_2X (const XMLNode &, int);
};