summaryrefslogtreecommitdiff
path: root/libs/canvas/wave_view.cc
AgeCommit message (Collapse)Author
2017-01-19remove use of boost::optional to define "undefined" Canvas::Rect, and use ↵Paul Davis
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
2016-11-30fix compilation with newer version of *mm and gcc-6.2 (RefPtr<> cast)Robin Gareus
2016-03-01remove debug outputRobin Gareus
2016-03-01fix waveform flickering during recordingRobin Gareus
2016-03-01NO OP, whitespaceRobin Gareus
2016-03-01protect current_request with request_queue_lockRobin Gareus
2016-03-01use glib mutex APIRobin Gareus
2016-02-28force waveform images to be least 1px wideRobin Gareus
2016-02-27try to narrow down #6478Robin Gareus
2016-02-21make threaded waveview rendering a configure time option (enabled by default)Paul Davis
2016-02-19Revert "disable threaded waveform rendering for 4.7"Robin Gareus
This reverts commit b0032adb4484eaa07188c46ce1d69a37c14878b6.
2016-02-18disable threaded waveform rendering for 4.7Paul Davis
2016-01-16The return of threaded waveform rendering and related crashes.Robin Gareus
2015-12-16disable threaded waveview rendering.Paul Davis
This will be re-enabled once 4.5 has been released
2015-10-22remove invalid assertion - #6634Robin Gareus
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-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2015-09-02a couple of debug output statements to help diagnose a crash, part 2Paul Davis
2015-09-02a couple of debug output statements to help diagnose a crashPaul Davis
2015-09-02waveform, mutex for _current_imageRobin Gareus
may be used in render-thread while invalidate_image_cache() is called. possible fix for #6478
2015-09-02handle waveform drawing thread shutdownRobin Gareus
2015-08-20clear out some SessionHandleRef's on close.Robin Gareus
2015-08-20clear waveform cache when shape changes - fixes #6525Robin Gareus
2015-06-29try using threaded waveviews in tracks alsoPaul Davis
2015-06-29never use threaded waveview rendering for TracksPaul Davis
2015-06-29clip level is adjusted only by region amplitude (which is audible), not by ↵Paul Davis
_amplitude_above_axis
2015-06-29attempt to correctly respond to changes in _amplitude_above_axis in ↵Paul Davis
ArdourCanvas::WaveView
2015-06-25fix windows debug builds:Robin Gareus
undefined reference to `std::basic_ostream >& boost::operator<< , ArdourCanvas::Rect>(std::basic_ostream >&, boost::optional const&)'
2015-06-24show zero line when a DC offset moves waveform so that it doesn't intersect ↵4.1Paul Davis
with the zero line (from Nimal Ratnayake <nimalr@pdn.ac.lk>)
2015-06-23do not draw waveform outline at x-positions where the waveform "spread" ↵Paul Davis
would not leave at least 1 pixel between the two outline pixels. Plus a better comment.
2015-06-23several changes, major and minor, to improve threaded waveview renderingPaul Davis
2015-06-23create sortable, linear list for cache clearing on demand, rather than ↵Paul Davis
trying to maintain it in parallel with the cache map
2015-06-23change location for initialization of static WaveView image cache, and ↵Paul Davis
provide a visible method to set the cache flush threshold
2015-06-22stop endless loop in WaveViewCache::cache_flush()Paul Davis
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-19two more corrections to waveform zooming changesPaul Davis
2015-06-19fix call to consolidate image cache to use the information held in the requestPaul Davis
2015-06-19stop pixel jitter when changing waveview height.Paul Davis
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-19attempt to correctly respond to changes in _amplitude_above_axis in ↵Paul Davis
ArdourCanvas::WaveView
2015-06-19Correctly re-start an iteration (if we delete one of the items being iterated)John Emmas
2015-06-11more refactoring of WaveView threaded code to try to get to heart of crash bugPaul Davis
2015-06-11don't queue a callback with the idle event for waveview image generation if ↵Paul Davis
one is already queued. Also, hold relevant lock when waking image rendering thread.
2015-06-10possible fix for crashes related to vanishing waveviews (and if it doesn't ↵Paul Davis
fix anything, it is still more correct than it was)
2015-06-10fix basic error with computation of partial image width; add use of ↵Paul Davis
DEBUG_TRACE (DEBUG::WaveView,...)
2015-06-04use existing partial existing waveview images (if they exist) while waiting ↵Paul Davis
for the full ones
2015-06-02don't use the return value from AudioRegion::read_peaks() because it is ↵Paul Davis
either zero or n_peaks
2015-06-02Amend WaveView::send_request() such that it'll compile with MSVCJohn Emmas
Hopefully, this was the original intention (I've simply amended a function call to match similar usages elsewhere in the code).
2015-06-01reinstate absent image.Paul Davis
Then go back to bed and be ill some more.
2015-06-01remove debug output and get logic correct to cause first render to always ↵Paul Davis
use the render thread
2015-06-01drop in threaded waveview changes via the two affected files.Paul Davis
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-04-29fix double precision abs value computationRobin Gareus