summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-08-02 02:03:50 +0000
committerDavid Robillard <d@drobilla.net>2006-08-02 02:03:50 +0000
commitc3a00bf1e9662751f65b0dc22b27bc1a6ddcc1cd (patch)
tree9b4aae5dac73bb139951a295a0f849807bc69488
parentee1477f9b65107673e581a4d0598dbb1ccbfb89a (diff)
Fix for all regions having a "speed mismatch" (showing a * in the regionview name)
Fix for region stacking problem (leftmost region view grayed out and un selectable) git-svn-id: svn://localhost/ardour2/trunk@745 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/audio_region_view.cc6
-rw-r--r--gtk2_ardour/streamview.cc5
-rw-r--r--libs/ardour/audioregion.cc2
3 files changed, 9 insertions, 4 deletions
diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc
index a9a758481f..feb8f4fd0b 100644
--- a/gtk2_ardour/audio_region_view.cc
+++ b/gtk2_ardour/audio_region_view.cc
@@ -992,12 +992,14 @@ AudioRegionView::set_waveform_shape (WaveformShape shape)
GhostRegion*
AudioRegionView::add_ghost (AutomationTimeAxisView& atv)
{
- RouteTimeAxisView& myatv (*(dynamic_cast<RouteTimeAxisView*>(&trackview))); // ick
+ RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*>(&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" {