diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc index b6eb90eaf8..b12713433b 100644 --- a/gtk2_ardour/audio_region_view.cc +++ b/gtk2_ardour/audio_region_view.cc @@ -990,12 +990,14 @@ AudioRegionView::set_waveform_shape (WaveformShape shape) GhostRegion* AudioRegionView::add_ghost (AutomationTimeAxisView& atv) { - RouteTimeAxisView& myatv (*(dynamic_cast(&trackview))); // ick + RouteTimeAxisView* rtv = dynamic_cast(&trackview); + assert(rtv); + double unit_position = _region.position () / samples_per_unit; GhostRegion* ghost = new GhostRegion (atv, unit_position); uint32_t nchans; - nchans = myatv.get_diskstream()->n_channels(); + nchans = rtv->get_diskstream()->n_channels(); for (uint32_t n = 0; n < nchans; ++n) { diff --git a/gtk2_ardour/streamview.cc b/gtk2_ardour/streamview.cc index 13d07f6cb1..d1d163d7a2 100644 --- a/gtk2_ardour/streamview.cc +++ b/gtk2_ardour/streamview.cc @@ -302,7 +302,10 @@ StreamView::region_layered (RegionView* rv) get events - the parent group does instead ... */ - rv->get_canvas_group()->raise (rv->region().layer() + 1); + /* this used to be + 1, but regions to the left ended up below + ..something.. and couldn't receive events. why? good question. + */ + rv->get_canvas_group()->raise (rv->region().layer() + 2); } void diff --git a/libs/ardour/audioregion.cc b/libs/ardour/audioregion.cc index 51c7612137..20d1dbfbd6 100644 --- a/libs/ardour/audioregion.cc +++ b/libs/ardour/audioregion.cc @@ -1379,7 +1379,7 @@ AudioRegion::speed_mismatch (float sr) const float fsr = sources.front()->sample_rate(); - return fsr == sr; + return fsr != sr; } extern "C" {