28 #include "canvas/debug.h"
56 , _automation_view(tv)
57 , _pending_automation_state (
Off)
94 if (control->
list() && !list) {
95 error <<
_(
"unable to display automation region for control without list") <<
endmsg;
101 std::list<RegionView *>::iterator i;
104 if ((*i)->region() == region) {
112 (*i)->set_valid (
true);
113 (*i)->enable_display (wait_for_data);
126 region_view->
init (
false);
166 list<boost::shared_ptr<AutomationLine> > lines =
get_lines ();
169 if ((*i)->the_list()) {
170 (*i)->the_list()->set_automation_state (state);
181 (*i)->set_valid (
false);
182 (*i)->enable_display(
false);
230 list<boost::shared_ptr<AutomationLine> > lines =
get_lines ();
233 if ((*i)->npoints() > 0) {
247 list<boost::shared_ptr<AutomationLine> > lines =
get_lines ();
250 (*i)->the_list()->set_interpolation (s);
254 AutomationList::InterpolationStyle
272 list<boost::shared_ptr<AutomationLine> > lines =
get_lines ();
300 list<boost::shared_ptr<AutomationLine> > lines =
get_lines ();
303 (*i)->set_selected_points (ps);
307 list<boost::shared_ptr<AutomationLine> >
310 list<boost::shared_ptr<AutomationLine> > lines;
315 lines.push_back (arv->
line());
324 unsigned paste_count,
336 list<RegionView*>::const_iterator prev =
region_views.begin ();
339 if ((*i)->region()->position() > pos) {
353 return arv ? arv->
paste(pos, paste_count, times, alist) :
false;
void set_automation_state(AutoState)
void set_selected_points(PointSelection &)
bool has_automation() const
PBD::Signal0< void > DropReferences
bool is_midi_track() const
Glib::Threads::Mutex::Lock Lock
bool paste(framepos_t pos, unsigned paste_count, float times, boost::shared_ptr< const ARDOUR::AutomationList > slist)
sigc::signal< void, RegionView * > RegionViewAdded
double _samples_per_pixel
ArdourCanvas::Container * _canvas_group
shared_ptr< T > dynamic_pointer_cast(shared_ptr< U > const &r)
boost::shared_ptr< ARDOUR::AutomationList > the_list() const
AutomationTimeAxisView & _automation_view
LIBPBD_API Transmitter error
std::ostream & endmsg(std::ostream &ostr)
virtual void remove_region_view(boost::weak_ptr< ARDOUR::Region >)
LIBARDOUR_API PBD::PropertyDescriptor< framepos_t > start
boost::shared_ptr< AutomationLine > line()
ARDOUR::AutoState automation_state() const
virtual void enable_display(bool yn)
bool paste(framepos_t pos, unsigned paste_count, float times, boost::shared_ptr< ARDOUR::AutomationList > list)
Evoral::Parameter parameter() const
AutoState automation_state() const
RegionView * add_region_view_internal(boost::shared_ptr< ARDOUR::Region >, bool wait_for_data, bool recording=false)
void get_selectables(ARDOUR::framepos_t, ARDOUR::framepos_t, double, double, std::list< Selectable * > &, bool within=false)
boost::shared_ptr< ARDOUR::Track > track() const
AutomationStreamView(AutomationTimeAxisView &tv)
ARDOUR::AutoState _pending_automation_state
boost::shared_ptr< Playlist > playlist()
virtual boost::shared_ptr< Evoral::Control > control(const Evoral::Parameter &id, bool create=false)=0
void foreach_region(boost::function< void(boost::shared_ptr< Region >)>)
RouteTimeAxisView & _trackview
RegionViewList region_views
framepos_t position() const
ArdourCanvas::Rectangle * canvas_rect
void set_interpolation(ARDOUR::AutomationList::InterpolationStyle)
std::list< boost::shared_ptr< AutomationLine > > get_lines() const
InterpolationStyle interpolation() const
void get_selectables(ARDOUR::framepos_t, ARDOUR::framepos_t, double, double, std::list< Selectable * > &)
void display_region(AutomationRegionView *region_view)
ARDOUR::AutomationList::InterpolationStyle interpolation() const
boost::shared_ptr< ControlList > list()
static UIConfiguration * config()
void add_region_view(boost::weak_ptr< ARDOUR::Region >)
sigc::signal< void > ColorsChanged
framecnt_t length() const
boost::shared_ptr< MidiSource > midi_source(uint32_t n=0) const
void set_list(boost::shared_ptr< ARDOUR::AutomationList > list)
void set_automation_state(ARDOUR::AutoState state)
uint32_t region_color
Contained region color.
std::string string_compose(const std::string &fmt, const T1 &o1)
LIBARDOUR_API PBD::PropertyDescriptor< bool > color