Paul Davis
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
Paul Davis
2f69ee8ec8
a couple of debug output statements to help diagnose a crash, part 2
2015-09-02 12:58:07 -04:00
Paul Davis
e91a0f7e11
a couple of debug output statements to help diagnose a crash
2015-09-02 12:24:37 -04:00
Robin Gareus
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
Robin Gareus
c6d6f038b4
handle waveform drawing thread shutdown
2015-09-02 01:46:31 +02:00
Robin Gareus
e69368cc8f
clear out some SessionHandleRef's on close.
2015-08-20 22:27:35 +02:00
Robin Gareus
63e3f326e9
clear waveform cache when shape changes - fixes #6525
2015-08-20 03:01:51 +02:00
Paul Davis
bbece8f8d9
try using threaded waveviews in tracks also
2015-06-29 14:18:15 -04:00
Paul Davis
a38e67d55b
never use threaded waveview rendering for Tracks
2015-06-29 14:18:15 -04:00
Paul Davis
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
Paul Davis
bace0e85dc
attempt to correctly respond to changes in _amplitude_above_axis in ArdourCanvas::WaveView
2015-06-29 14:18:15 -04:00
Robin Gareus
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
Paul Davis
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
Paul Davis
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
Paul Davis
e9224a58d1
several changes, major and minor, to improve threaded waveview rendering
2015-06-23 14:26:26 -04:00
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
10203b5517
two more corrections to waveform zooming changes
2015-06-19 08:32:05 -04:00
Paul Davis
3cf8cb3c3e
fix call to consolidate image cache to use the information held in the request
2015-06-19 08:29:05 -04:00
Paul Davis
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
Paul Davis
1043357cc9
attempt to correctly respond to changes in _amplitude_above_axis in ArdourCanvas::WaveView
2015-06-19 08:10:45 -04:00
John Emmas
a1932c7feb
Correctly re-start an iteration (if we delete one of the items being iterated)
2015-06-19 12:55:38 +01:00
Paul Davis
10643779b6
more refactoring of WaveView threaded code to try to get to heart of crash bug
2015-06-11 17:04:08 -04:00
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
bc945bb3d3
use existing partial existing waveview images (if they exist) while waiting for the full ones
2015-06-04 17:46:53 -04:00
Paul Davis
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
John Emmas
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
Paul Davis
95c991ba35
reinstate absent image.
...
Then go back to bed and be ill some more.
2015-06-01 21:08:56 -04:00
Paul Davis
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
Paul Davis
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
Robin Gareus
89f5e22896
fix double precision abs value computation
2015-04-29 19:56:35 +02:00
Paul Davis
5ab699f898
manually apply grygorii's waveform amplitude implementation
2015-04-29 07:54:21 -04:00
nick_m
dff83c77cf
Amend ac1f7e0b
2015-04-17 05:36:13 +10:00
nick_m
ac1f7e0b9f
Indicate all clips on rectified view.
2015-04-17 05:26:57 +10:00
nick_m
7f41de7427
Improve waveview height and scaling.
...
The top line of the selection rect is arguably 1 px too low, but
waveviews seem centered on the area properly.
2015-04-17 05:03:51 +10:00
Robin Gareus
47110c983c
fix OSX/PPC 10.4 long maths
2015-03-31 16:05:15 +02:00
John Emmas
2e27b55179
For the canvas library, #include 'gtkmm2ext/gui_thread.h' rather than 'gtk2_ardour/gui_thread.h'
...
Technically it doesn't make much difference but from what I can tell, the only files which #include 'gtk2_ardour/gui_thread.h' are the source files from gtk2_ardour itself. The support libraries always #include 'gtkmm2ext/gui_thread.h' directly (which seems sensible). So for consistency's sake, let's keep it the same for libcanvas.
2015-03-29 09:53:02 +01:00
nick_m
8962bfba61
Better fix for 6183.
...
Invalidate all source entries from the image cache when we get our
region's DropReferences signal, while ignoring any subsequent regions with
no source.
2015-03-29 02:13:40 +11:00
nick_m
eff25b06f5
Fix 0006183 (waveview crash).
...
Should fix crash when audiosource disappears.
Reworked from submitted patch from tlat.
2015-03-24 23:35:43 +11:00
nick_m
bc20da35f7
Revert mistaken change in e7b0e67bc8
2015-03-22 05:35:13 +11:00
nick_m
69a6c4d747
Provide an image if there are no peaks.
2015-03-22 00:31:32 +11:00
nick_m
e7b0e67bc8
Manual merge of the drawing component of waveview branch.
...
In summary:
* no antialiasing of waveviews
* no diagonal lines
* simplify clip detection
* don't use LINE_CAP_ROUND for outline
* use the wave colour when drawing outline only
2015-03-10 23:35:53 +11:00
nick_m
5d5f83c56b
The commit 3da9c3b740
...
wasn't the no-op it claimed to be.
2015-02-20 23:30:48 +11:00
Paul Davis
0f0aebf26b
remove naive attempt to avoid drawing first vertical pixel line of Canvas::WaveView
...
And add commented out attempt at more subtle attempt to get it right
2015-02-11 21:59:38 -05:00
Paul Davis
34779ee81e
add a sort-of hack to allow us to avoid drawing the first pixel of a waveview when necessary
2015-02-10 19:48:47 -05:00
Robin Gareus
f282884094
apply Theme > “Show waveform clipping”
...
fixes http://tracker.ardour.org/view.php?id=5589#c15515
2015-01-21 19:35:04 +01:00
Paul Davis
318a9edab9
massive reworking of color selection implementation
2014-11-26 18:22:22 +02:00