summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-11-02 16:03:58 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-11-02 16:03:58 +0000
commitf8f7323f6fa11323810f1c640edbe0014c832306 (patch)
tree7e4a905fc5dd12386fe140ef3bacd62836c46b7b /gtk2_ardour
parent39aec8e0ca34feb78be8cc526fa57687b5cbe642 (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.cc4
-rw-r--r--gtk2_ardour/canvas-waveview.c5
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