1c74a3ab2d
waveform drawing improvements
...
* handle logscaled and rectified
* put dark tips in right places
* improve color selection algorithm
2013-06-21 13:17:37 -04:00
68779e0c0a
(working) start of an experiment with pyramix-style waveform drawing
2013-06-20 23:12:19 -04:00
27c943f1dd
new image cache design for waveviews, with various fixes.
...
Rather than maintain a set of images in a cache, when we no longer have the required waveform data, create a new image that is appropriately centered and extends to roughly twice the screen width (or the limits of the region's source file(s), as necessary)
2013-06-20 14:37:31 -04:00
3604bf12a2
get wave drawing improved, but commit before i tear it all up and go back to a single cached image per waveview
2013-06-19 20:23:22 -04:00
f9d30cf41a
inching pretty close to fully working waves now
2013-06-19 14:44:08 -04:00
79384aeb66
initial semi-working attempt at getting waveview cache to work correctly
2013-06-18 23:03:20 -04:00
691be68ac2
fix rect redraw problems caused by intersection requiring the usual 0.5 expansion (though consider a more general fix for this at teh group level)
2013-06-18 13:46:24 -04:00
77f5f4c4bf
basically operational switch to canvas drawing coordinates, although text and waves don't work, and redraw areas are too small
2013-06-18 08:23:06 -04:00
f9a46e78d6
fix incorrect 3rd arg to AudioRegion::read_peaks() - was passing end, not cnt. Fixes waveforms at high zoom
2013-04-26 11:10:19 -04:00
fd7ac62ca5
don't invalidate image cache for every regionr esize, only region start changes
2013-04-25 09:48:38 -04:00
6f664c1f67
many pervasive changes primarily related to waveform drawing, particular content-dragging, colors, and more
2013-04-24 15:42:14 -04:00
0c170b0897
no create cached waveview images that span from render-start to cache-start, but always clamp the end to render-end, to avoid creating over-sized images
2013-04-19 10:53:52 -04:00
b7aeb147f2
display waveform polarity correctly
...
* cairo's Y axis points downward -> invert phase display
* fix logarithmic view for value.max < 0
2013-04-18 10:25:35 +02:00
ec102f94e1
various work waveview amplitude mgmt; fix playhead cursor drag from timebar click
2013-04-17 15:22:09 -04:00
381d4debf4
make waveform gradient depth continuously variable. color probably needs adjusting as do color stops to get a pleasing effect at most settings
2013-04-16 21:23:50 -04:00
c1df3295c1
virtual Fill:: and Outline:: methods so that Canvas::Items that cache image renderings of themselves can invalidate those caches when colors etc. change; add Item::{begin,end}_visual_change() so that we can notify the canvas more efficiently when *only* visual properties have changed and not the bounding box (probably needs to be used more widely)
2013-04-16 20:38:10 -04:00
81eed21dde
some rationalization of how global WaveView properties and per-WaveView properties interact
2013-04-16 18:02:12 -04:00
a74743f551
somewhat restore ability to see rectified waveforms
2013-04-16 16:14:57 -04:00
33e09447e9
restore log-scaled waveform functionality
2013-04-16 15:38:18 -04:00
ccc9b6adee
change rendering technique for waveforms, add back optional gradient, add back amplitude scaling, add rgb/hsv conversion utilities to canvas
2013-04-16 14:04:59 -04:00
a0044e5f71
add back various functionality to waveviews such as zero line, amplitude scaling
2013-04-16 10:07:52 -04:00
84fb0a8dce
remove all XML related API from canvas. it may have been useful during development, but it is just a distraction - we will NEVER be saving or restoring canvas state via XML or any kind of serialized state
2013-04-15 21:57:08 -04:00
e5a3747686
switch from frames_per_pixel to samples_per_pixel in the one canvas object that uses this
2013-04-12 11:31:17 -04:00
ae2b39b2e3
remove intermediate GdkPixbuf from waveview rendering, and use shared_array<> to manage peak data
2013-04-10 15:27:55 -04:00
aaea166135
initial commit of hand merging, plus getting "ancient" waf script to work correctly
2013-04-04 00:32:52 -04:00