13
0
Commit Graph

127 Commits

Author SHA1 Message Date
4fa4b9a135 remove use of boost::optional to define "undefined" Canvas::Rect, and use Rect::empty instead.
This commit includes Rect::operator bool() which might be a candidate for removal in a future commit, in an attempt
to make the meaning clearer
2017-01-19 20:54:54 +01:00
f1f47664ff fix compilation with newer version of *mm and gcc-6.2 (RefPtr<> cast) 2016-11-30 16:00:05 +01:00
208dec7231 remove debug output 2016-03-01 18:37:19 +01:00
79d9973fa0 fix waveform flickering during recording 2016-03-01 18:06:29 +01:00
a27fed772b NO OP, whitespace 2016-03-01 14:43:44 +01:00
4384aff43f protect current_request with request_queue_lock 2016-03-01 14:43:28 +01:00
36d30f8c89 use glib mutex API 2016-03-01 12:53:54 +01:00
49148b627c force waveform images to be least 1px wide 2016-02-28 18:07:46 +01:00
4cd77f0544 try to narrow down #6478 2016-02-27 23:16:05 +01:00
2d18283379 make threaded waveview rendering a configure time option (enabled by default) 2016-02-21 12:34:10 -05:00
b0518fa2be Revert "disable threaded waveform rendering for 4.7"
This reverts commit b0032adb44.
2016-02-19 21:13:29 +01:00
b0032adb44 disable threaded waveform rendering for 4.7 2016-02-18 18:56:05 -05:00
d61cf81997 The return of threaded waveform rendering and related crashes. 2016-01-16 14:18:59 +01:00
2992506652 disable threaded waveview rendering.
This will be re-enabled once 4.5 has been released
2015-12-16 10:28:17 -05:00
5bdc869e49 remove invalid assertion - #6634
There is a highly unlikely case where the render thread can have zero
requests in the queue, but it is not supposed to be terminated.

 1) WaveView::queue_get_image(); 
wake up thread, *but* the thread does not start yet
 2) WaveView::cancel_my_render_request(); 
and now the thread starts.

1,2 are initiated by user actions from the GUI thread and are normally
orders of magnitude slower than scheduler-thread wakeup.
2015-10-22 12:20:42 +02:00
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
2f69ee8ec8 a couple of debug output statements to help diagnose a crash, part 2 2015-09-02 12:58:07 -04:00
e91a0f7e11 a couple of debug output statements to help diagnose a crash 2015-09-02 12:24:37 -04:00
93aa8d3734 waveform, mutex for _current_image
may be used in render-thread while invalidate_image_cache() is called.
possible fix for #6478
2015-09-02 14:28:26 +02:00
c6d6f038b4 handle waveform drawing thread shutdown 2015-09-02 01:46:31 +02:00
e69368cc8f clear out some SessionHandleRef's on close. 2015-08-20 22:27:35 +02:00
63e3f326e9 clear waveform cache when shape changes - fixes #6525 2015-08-20 03:01:51 +02:00
bbece8f8d9 try using threaded waveviews in tracks also 2015-06-29 14:18:15 -04:00
a38e67d55b never use threaded waveview rendering for Tracks 2015-06-29 14:18:15 -04:00
329753241f clip level is adjusted only by region amplitude (which is audible), not by _amplitude_above_axis 2015-06-29 14:18:15 -04:00
bace0e85dc attempt to correctly respond to changes in _amplitude_above_axis in ArdourCanvas::WaveView 2015-06-29 14:18:15 -04:00
5aa834e1d8 fix windows debug builds:
undefined reference to `std::basic_ostream >& boost::operator<< , ArdourCanvas::Rect>(std::basic_ostream >&, boost::optional const&)'
2015-06-25 14:33:45 +02:00
fe672c827c show zero line when a DC offset moves waveform so that it doesn't intersect with the zero line (from Nimal Ratnayake <nimalr@pdn.ac.lk>) 2015-06-24 14:12:13 -04:00
2b81d4d0fe do not draw waveform outline at x-positions where the waveform "spread" would not leave at least 1 pixel between the two outline pixels.
Plus a better comment.
2015-06-23 17:12:52 -04:00
e9224a58d1 several changes, major and minor, to improve threaded waveview rendering 2015-06-23 14:26:26 -04:00
dece3c20ca create sortable, linear list for cache clearing on demand, rather than trying to maintain it in parallel with the cache map 2015-06-23 08:42:55 -04:00
424f6539b4 change location for initialization of static WaveView image cache, and provide a visible method to set the cache flush threshold 2015-06-23 08:17:48 -04:00
239052759f stop endless loop in WaveViewCache::cache_flush()
Still need to figure out how this could ever happen. It requires an image (shared pointer) to
be in the linear cache image list but not in the map
2015-06-22 22:00:45 -04:00
10203b5517 two more corrections to waveform zooming changes 2015-06-19 08:32:05 -04:00
3cf8cb3c3e fix call to consolidate image cache to use the information held in the request 2015-06-19 08:29:05 -04:00
8491a015e3 stop pixel jitter when changing waveview height.
To avoid pixel jitter, the top and bottom of each line in the waveview must be computed together in a single computation,
rather than independently.

Also, remove various height corrections and cairo translations that are not necessary or relevant anymore. A subsequent
commit for the GUI will pick up on this work to get the appearance completely correct
2015-06-19 08:14:02 -04:00
1043357cc9 attempt to correctly respond to changes in _amplitude_above_axis in ArdourCanvas::WaveView 2015-06-19 08:10:45 -04:00
a1932c7feb Correctly re-start an iteration (if we delete one of the items being iterated) 2015-06-19 12:55:38 +01:00
10643779b6 more refactoring of WaveView threaded code to try to get to heart of crash bug 2015-06-11 17:04:08 -04:00
077e625734 don't queue a callback with the idle event for waveview image generation if one is already queued.
Also, hold relevant lock when waking image rendering thread.
2015-06-11 13:35:01 -04:00
753d1ac392 possible fix for crashes related to vanishing waveviews (and if it doesn't fix anything, it is still more correct than it was) 2015-06-10 22:26:58 -04:00
ac2b0a327c fix basic error with computation of partial image width; add use of DEBUG_TRACE (DEBUG::WaveView,...) 2015-06-10 18:48:12 -04:00
bc945bb3d3 use existing partial existing waveview images (if they exist) while waiting for the full ones 2015-06-04 17:46:53 -04:00
25797d8618 don't use the return value from AudioRegion::read_peaks() because it is either zero or n_peaks 2015-06-02 12:17:50 -04:00
9706125526 Amend WaveView::send_request() such that it'll compile with MSVC
Hopefully, this was the original intention (I've simply amended a function call to match similar usages elsewhere in the code).
2015-06-02 11:17:31 +01:00
95c991ba35 reinstate absent image.
Then go back to bed and be ill some more.
2015-06-01 21:08:56 -04:00
0288454387 remove debug output and get logic correct to cause first render to always use the render thread 2015-06-01 14:55:17 -04:00
d17e35772d drop in threaded waveview changes via the two affected files.
Rebasing the feature branch against master was too messy, and only these two files were
changed. The development history of this branch could easily have been --squash'ed anyway,
so not much of a loss
2015-06-01 14:45:41 -04:00
89f5e22896 fix double precision abs value computation 2015-04-29 19:56:35 +02:00