diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2006-11-02 16:03:58 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2006-11-02 16:03:58 +0000 |
commit | f8f7323f6fa11323810f1c640edbe0014c832306 (patch) | |
tree | 7e4a905fc5dd12386fe140ef3bacd62836c46b7b /gtk2_ardour | |
parent | 39aec8e0ca34feb78be8cc526fa57687b5cbe642 (diff) |
fix unset timeline position for destructive sources; fix duplicate, unmanaged waveviews being created by a thread race
git-svn-id: svn://localhost/ardour2/trunk@1060 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/audio_region_view.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/canvas-waveview.c | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc index c7bb048945..6de409b7ec 100644 --- a/gtk2_ardour/audio_region_view.cc +++ b/gtk2_ardour/audio_region_view.cc @@ -847,6 +847,9 @@ AudioRegionView::create_one_wave (uint32_t which, bool direct) waves = tmp_waves; tmp_waves.clear (); + /* all waves created, don't hook into peaks ready anymore */ + data_ready_connection.disconnect (); + if (!zero_line) { zero_line = new ArdourCanvas::SimpleLine (*group); zero_line->property_x1() = (gdouble) 1.0; @@ -861,7 +864,6 @@ void AudioRegionView::peaks_ready_handler (uint32_t which) { Gtkmm2ext::UI::instance()->call_slot (bind (mem_fun(*this, &AudioRegionView::create_one_wave), which, false)); - if (!waves.empty()) { /* all waves created, don't hook into peaks ready anymore */ data_ready_connection.disconnect (); diff --git a/gtk2_ardour/canvas-waveview.c b/gtk2_ardour/canvas-waveview.c index 48834f37da..080f6871fa 100644 --- a/gtk2_ardour/canvas-waveview.c +++ b/gtk2_ardour/canvas-waveview.c @@ -977,7 +977,7 @@ gnome_canvas_waveview_render (GnomeCanvasItem *item, #if 0 printf ("0x%x r (%d..%d)(%d..%d) bbox (%d..%d)(%d..%d)" - " b/e %d..%d s= %lu..%lu\n", + " b/e %d..%d s= %lu..%lu @ %f\n", waveview, buf->rect.x0, buf->rect.x1, @@ -987,7 +987,8 @@ gnome_canvas_waveview_render (GnomeCanvasItem *item, waveview->bbox_lrx, waveview->bbox_uly, waveview->bbox_lry, - begin, end, s1, s2); + begin, end, s1, s2, + waveview->samples_per_unit); #endif /* now ensure that the cache is full and properly |