}
}
}
+
+PresentationInfo const &
+AutomationTimeAxisView::presentation_info () const
+{
+ return _route->presentation_info();
+}
void set_samples_per_pixel (double);
std::string name() const { return _name; }
+ ARDOUR::PresentationInfo const & presentation_info () const;
+
void add_automation_event (GdkEvent *, framepos_t, double, bool with_guard_points);
void clear_lines ();
struct PresentationInfoTimeAxisViewSorter {
bool operator() (TimeAxisView* a, TimeAxisView* b) {
- RouteTimeAxisView* ra = dynamic_cast<RouteTimeAxisView*> (a);
- RouteTimeAxisView* rb = dynamic_cast<RouteTimeAxisView*> (b);
- /* anything not a route goes at the end */
- if (!ra && rb) {
- return false;
- }
- if (!rb && ra) {
- return true;
- }
- if (!ra && !rb) {
- /* XXXX pointer comparison. Should use
- presentation_info in a time axis view
- */
- return a < b;
- }
- return ra->route()->presentation_info () < rb->route()->presentation_info();
+ return a->presentation_info() < b->presentation_info();
}
};
}
}
}
+
+PresentationInfo const &
+RouteTimeAxisView::presentation_info () const
+{
+ return _route->presentation_info();
+}
class RouteTimeAxisView : public RouteUI, public TimeAxisView
{
public:
- RouteTimeAxisView (PublicEditor&, ARDOUR::Session*, ArdourCanvas::Canvas& canvas);
- virtual ~RouteTimeAxisView ();
+ RouteTimeAxisView (PublicEditor&, ARDOUR::Session*, ArdourCanvas::Canvas& canvas);
+ virtual ~RouteTimeAxisView ();
void set_route (boost::shared_ptr<ARDOUR::Route>);
+ ARDOUR::PresentationInfo const & presentation_info () const;
+
void show_selection (TimeSelection&);
void set_button_names ();
void set_samples_per_pixel (double);
- void set_height (uint32_t h, TrackHeightMode m = OnlySelf);
+ void set_height (uint32_t h, TrackHeightMode m = OnlySelf);
void show_timestretch (framepos_t start, framepos_t end, int layers, int layer);
void hide_timestretch ();
void selection_click (GdkEventButton*);
};
#endif /* __ardour_route_time_axis_h__ */
-
#include "pbd/signals.h"
#include "ardour/types.h"
+#include "ardour/presentation_info.h"
#include "ardour/region.h"
+
#include "evoral/Parameter.hpp"
#include "canvas/line.h"
static void setup_sizes ();
+ virtual ARDOUR::PresentationInfo const & presentation_info () const = 0;
+
/** @return index of this TimeAxisView within its parent */
int order () const { return _order; }
return true;
}
+
+PresentationInfo const &
+VCATimeAxisView::presentation_info () const
+{
+ return _vca->presentation_info();
+}
VCATimeAxisView (PublicEditor&, ARDOUR::Session*, ArdourCanvas::Canvas& canvas);
virtual ~VCATimeAxisView ();
+ ARDOUR::PresentationInfo const & presentation_info () const;
+
void set_vca (boost::shared_ptr<ARDOUR::VCA>);
boost::shared_ptr<ARDOUR::VCA> vca() const { return _vca; }