Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
using namespace PBD;
using namespace Editing;
AutomationStreamView::AutomationStreamView (AutomationTimeAxisView& tv)
: StreamView (*dynamic_cast<RouteTimeAxisView*>(tv.get_parent()),
using namespace PBD;
using namespace Editing;
AutomationStreamView::AutomationStreamView (AutomationTimeAxisView& tv)
: StreamView (*dynamic_cast<RouteTimeAxisView*>(tv.get_parent()),
, _automation_view(tv)
, _pending_automation_state (Off)
{
CANVAS_DEBUG_NAME (_canvas_group, string_compose ("SV canvas group auto %1", tv.name()));
CANVAS_DEBUG_NAME (canvas_rect, string_compose ("SV canvas rectangle auto %1", tv.name()));
, _automation_view(tv)
, _pending_automation_state (Off)
{
CANVAS_DEBUG_NAME (_canvas_group, string_compose ("SV canvas group auto %1", tv.name()));
CANVAS_DEBUG_NAME (canvas_rect, string_compose ("SV canvas rectangle auto %1", tv.name()));
RegionView*
AutomationStreamView::add_region_view_internal (boost::shared_ptr<Region> region, bool wait_for_data, bool /*recording*/)
{
RegionView*
AutomationStreamView::add_region_view_internal (boost::shared_ptr<Region> region, bool wait_for_data, bool /*recording*/)
{
boost::shared_ptr<AutomationList> list;
if (control) {
list = boost::dynamic_pointer_cast<AutomationList>(control->list());
boost::shared_ptr<AutomationList> list;
if (control) {
list = boost::dynamic_pointer_cast<AutomationList>(control->list());
- /*if (_trackview.is_midi_track()) {
- canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->get_MidiTrackBase();
+ if (_trackview.is_midi_track()) {
+ canvas_rect->set_fill_color (UIConfiguration::instance().color_mod ("midi track base", "midi track base"));
+ } else {
+ canvas_rect->set_fill_color (UIConfiguration::instance().color ("midi bus base"));
* @param bot Bottom position expressed as a fraction of track height where 0 is the bottom of the track.
* @param top Top position expressed as a fraction of track height where 0 is the bottom of the track.
* NOTE: this y system is different to that for the StreamView method that this overrides, which is a little
* confusing.
*/
void
* @param bot Bottom position expressed as a fraction of track height where 0 is the bottom of the track.
* @param top Top position expressed as a fraction of track height where 0 is the bottom of the track.
* NOTE: this y system is different to that for the StreamView method that this overrides, which is a little
* confusing.
*/
void
-AutomationStreamView::get_selectables (framepos_t start, framepos_t end, double botfrac, double topfrac, list<Selectable*>& results)
+AutomationStreamView::get_selectables (samplepos_t start, samplepos_t end, double botfrac, double topfrac, list<Selectable*>& results, bool /*within*/)
{
for (list<RegionView*>::iterator i = region_views.begin(); i != region_views.end(); ++i) {
AutomationRegionView* arv = dynamic_cast<AutomationRegionView*> (*i);
{
for (list<RegionView*>::iterator i = region_views.begin(); i != region_views.end(); ++i) {
AutomationRegionView* arv = dynamic_cast<AutomationRegionView*> (*i);
- assert (arv);
- arv->line()->get_selectables (start, end, botfrac, topfrac, results);
+ if (arv) {
+ arv->line()->get_selectables (start, end, botfrac, topfrac, results);
+ }
for (list<RegionView*>::const_iterator i = region_views.begin(); i != region_views.end(); ++i) {
AutomationRegionView* arv = dynamic_cast<AutomationRegionView*> (*i);
for (list<RegionView*>::const_iterator i = region_views.begin(); i != region_views.end(); ++i) {
AutomationRegionView* arv = dynamic_cast<AutomationRegionView*> (*i);