13
0
Commit Graph

10330 Commits

Author SHA1 Message Date
5bb213f53b add Canvas::Circle 2013-04-18 15:47:30 -04:00
74126c48c0 expand bbox for Canvas::Line to get rid of artifacts caused when moving them around, as is done for Rectangle and others 2013-04-18 15:47:10 -04:00
ddd21c110c fix various event coordinate system problems with button events on the rulers 2013-04-18 15:14:48 -04:00
55d7e8da19 reset xfade colors after theme change 2013-04-18 14:21:53 -04:00
19b6b45a2a get xfade drawing back to pre-cc days 2013-04-18 11:18:18 -04:00
ec8d521e98 semi-fix xfade display, and reduce number of calls to Curve::get_vector() by a factor of two 2013-04-18 09:56:01 -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
731b2c1ae9 tweak up waveform fill colors 2013-04-17 15:32:39 -04:00
fce1733808 fix playhead dragging from rulers 2013-04-17 15:29:03 -04:00
3737f346ee Merge branch 'cairocanvas' of git.ardour.org:ardour/ardour into cairocanvas 2013-04-17 15:23:01 -04:00
ec102f94e1 various work waveview amplitude mgmt; fix playhead cursor drag from timebar click 2013-04-17 15:22:09 -04:00
8f2a2877b5 ArdourCanvas::Image allow to set custom data instead of class pre-allocated memory. 2013-04-17 20:26:09 +02:00
9727a23111 Merge branch 'cairocanvas' of git.ardour.org:ardour/ardour into cairocanvas 2013-04-17 11:01:03 -04:00
b9c94f6dbf remove all calls to Outline::set_outline_width (1) because this is "wrong" when using Cairo - the default is 0.5 and it can remain that way 2013-04-17 10:56:04 -04:00
d1a05240ef fix clamping of line and rect coordinates to avoid issues with cairo when drawing way outside a surface's dimensions; move various coordinate methods down to Canvas, because they don't require GTK information; make visible_area() a Canvas virtual method so that we don't have to cast to call it 2013-04-17 10:53:17 -04:00
74f2472c7d vtl: more frame->sample renames and cleaning 2013-04-17 09:10:47 +02:00
96eee9e7a1 change UIConfig to use accessor/setter methods like RCConfig so that ParameterChanged methods can actually be emitted; add variable (over a small range) background shading for all TimeAxisViewItems 2013-04-16 23:46:22 -04:00
eed0201c07 fix bug with tempo lines not extending far enough in the y-axis - since this is the cairo canvas now, just extend them to COORD_MAX .. yay! 2013-04-16 22:22:45 -04:00
c6d5b2ce6d fix typo 2013-04-16 21:39:24 -04:00
3beadec936 fix screwup with 5285d2 and 930fce 2013-04-17 03:36:35 +02:00
5285d21e35 amend to 930fce 2013-04-17 03:34:54 +02:00
6a4cddbc4c Merge branch 'cairocanvas' of git.ardour.org:ardour/ardour into cairocanvas 2013-04-16 21:23:55 -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
930fce8696 vtl: s/[audio]frame/sample/ 2013-04-17 03:21:39 +02:00
131b8eac57 vtl: remove cruft 2013-04-17 03:10:51 +02:00
6b78532dd5 Merge branch 'cairocanvas' of git.ardour.org:ardour/ardour into cairocanvas 2013-04-16 20:38:17 -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
5cac4a6885 vtl: get rid of unused "bar" inside the ruler 2013-04-17 02:27:17 +02:00
1227f2b73e vtl: get rid of one more unnecessary canvas-group 2013-04-17 02:27:06 +02:00
81eed21dde some rationalization of how global WaveView properties and per-WaveView properties interact 2013-04-16 18:02:12 -04:00
3d169d00bb vtl: remove superfluous group 2013-04-16 23:28:53 +02:00
b713af2083 vtl: use ArdourImage
* update videotimeline -> new zoom, position API
* update image-frame use Cairo based ArdourImage instead of GdkPixbuf
2013-04-16 23:28:08 +02: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
ef60401d92 (hopefully) fix double-buffering design of ArdourCanvas::Image 2013-04-16 14:20:04 -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
abba366fce fix some unused argument warnings 2013-04-16 14:04:07 -04:00
5665227669 fix some unused argument warnings 2013-04-16 14:03:51 -04:00
caaa70a810 remove commented out popup about video export success 2013-04-16 14:03:21 -04:00
a0044e5f71 add back various functionality to waveviews such as zero line, amplitude scaling 2013-04-16 10:07:52 -04:00
e3db2d3ca5 partially fix scaling issues with pathological MIDI regions (e.g. 15k notes per region), particularly during loading. more to be done, perhaps, for editing purposes where we redisplay the entire model after a change 2013-04-16 09:25:53 -04:00
be23e48e7f add some comments to Canvas::Image and ensure that the canvas redraws after a put_image() call is handled in the GUI thread 2013-04-15 22:34:36 -04:00
37dd7e952b add headers to all canvas .cc and .h files 2013-04-15 22:10:18 -04:00
64d3763652 remove all xml++.h inclusion by canvas implementations 2013-04-15 22:00:13 -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
fe34485907 add new canvas Image item, with somewhat optimized API for asynchronous, threaded rendering directly into an image buffer suitable for use by cairo as a source surface (currently untested) 2013-04-15 21:40:15 -04:00
64c861a791 fix markers so that the blue line spans both canvases 2013-04-15 16:10:13 -04:00
393ba98422 tweak time axis view item text positioning; allow ArdourCanvas::Text to have its width clamped, and use this as TAVI's get narrow so that text doesn't overflow 2013-04-15 14:45:22 -04:00
7e19053b88 Fix dragging objects on the canvas and remove redundant canvas groups
Delivery of fake motion events to the editor needed the event coordinates to be
in canvas space, as they are with "real" events. Editor and other objects had
many redundant groups from timbyr's work on gnomecanvas to scroll by moving
groups. We don't need this anymore with cairo-canvas (though possibly a
stationay background group for the canvas might be useful again one day as in
the SAE logo. Its implementation would be fairly different though, since we
would have to explicitly move the group on every scroll, since nothing else
ever moves on scroll).

Also tweaks to text item placement, and switch TimeAxisViewItem from
name_pixbuf to name_text, since ArdourCanvas::Text is already "pixbuf optimized".
2013-04-15 13:50:05 -04:00
af4539f857 a few changes to fix region dragging, all related to coordinate system handling, which is now much simpler with the new canvas; more debugging output when asked for 2013-04-15 10:38:12 -04:00