13
0
Commit Graph

10290 Commits

Author SHA1 Message Date
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
cfe4bfb732 remove another pointless adjustment 2013-04-13 07:50:31 -04:00
05caa9caa1 removal of sundry Adjustments and consolidation of scrolling around two editor-owned Adjustments 2013-04-13 07:29:49 -04:00
83c6aee3b7 Merge branch 'cairocanvas' of git.ardour.org:ardour/ardour into cairocanvas 2013-04-12 21:47:02 -04:00
4e84bc3a39 changes to get cairocanvas branch to build on OS X, with its stupid nil and Rect macros, plus some const_cast<> and unused variable fixes that should really be in master but will have to wait till we rebase master 2013-04-12 21:46:44 -04:00
4e9108cd1e remove TimeAxisView::clip_to_viewport() and Editor::update_canvas_now() and Editor::flush_canvas() which should no longer be necessary with a sane canvas design 2013-04-12 18:01:44 -04:00
41f63fc61a manual translate events in Editor::track_canvas_scroll() to canvas space, because the event arrives there directly, not via the canvas. no other similar eventhandler in that code uses the event coordinates 2013-04-12 18:00:46 -04:00
e9a82b6714 stop using vertical adjustment to account for scrolling, since event coordinates for all events that are delivered to the canvas are adjusted before Editor sees them 2013-04-12 12:53:52 -04:00
b05968fb4e change frames_per_pixel to samples_per_pixel 2013-04-12 11:31:50 -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
8877199ae0 leftmost_position => leftmost_sample, current_page_frames => current_page_samples 2013-04-12 11:21:12 -04:00
4258a34912 change all frame_to_pixel and pixel_to_frame to sample_to_pixel and pixel_to_sample 2013-04-12 11:15:45 -04:00
ecfd2a7455 remove all unit-based methods from (Public)Editor; rationalize Editor::event_frame() to clearly identify whether the passed-in GdkEvent has window units or canvas units (the latter will be true for all events that are handled by the canvas and then passed to Editor 2013-04-12 11:09:49 -04:00
fcb423f3f6 slightly optimize drawing of rectangles with all 4 sides outlined to avoid multiple paths etc 2013-04-12 11:08:24 -04:00
f208593249 Merge branch 'cairocanvas' of git.ardour.org:ardour/ardour into cairocanvas 2013-04-11 22:54:22 -04:00
7caf517b27 add (bezier) curves to canvas, use for automation lines; fix issue with rectangles missing their upper line segment; more cairo canvas fixes 2013-04-11 22:54:12 -04:00
ee1f0520a8 many changes to get the cairo-canvas version much, much more functional. still problems with a lot of subtle and not-so-subtle issues 2013-04-11 20:19:22 -04:00
1fda7b293a fix up positioning of verbose cursor if it is too close to the bottom of the canvas (for MidiRegionView) 2013-04-11 20:01:14 -04:00
6ae4f10437 Merge branch 'master' into cairocanvas
Conflicts:
	gtk2_ardour/editor.h
	gtk2_ardour/editor_canvas.cc
	gtk2_ardour/wscript
2013-04-11 22:24:05 +02:00
66ee2c8e59 enable videotimeline by default 2013-04-11 19:49:48 +02:00
b7c617b057 possible fix for #5441 -- ardour hangs on shutdown (trying to stop harvid/xjadeo) 2013-04-10 23:41:44 +02:00
ca1d58c254 vtl: remove inadvertently committed CURLERRORDEBUG 2013-04-10 23:40:23 +02:00
ae2b39b2e3 remove intermediate GdkPixbuf from waveview rendering, and use shared_array<> to manage peak data 2013-04-10 15:27:55 -04:00
204da61f98 remove incorrect merge of cairocanvas patch that stopped most tracks from displaying; add more debugging info 2013-04-10 14:42:36 -04:00
9a8ee11f65 Merge branch 'master' into cairocanvas 2013-04-10 12:37:16 -04:00
75118796e1 add -D canvasevents tracing for grabbed items and remove render count output 2013-04-10 11:09:16 -04:00
a1745f2cf1 remove debugging output 2013-04-10 10:53:21 -04:00
1cb9779401 remove extra output from PBD::stacktrace 2013-04-10 10:49:27 -04:00
54e101eb3f alter arrow drawing to fully close path and thus avoid cairo mitering variability 2013-04-10 10:27:37 -04:00
97da762c50 make size/shape of playhead cursor match gnomecanvas version 2013-04-10 10:24:17 -04:00
56bc98f78b fix LXVST support for plugins that make audioMaster callbacks from within effOpen (e.g. glitch) 2013-04-10 08:32:39 -04:00
6592c8696a Merge branch 'master' of git.ardour.org:ardour/ardour 2013-04-09 14:25:02 -04:00
bca507a808 Merge branch 'master' into cairocanvas 2013-04-09 14:23:41 -04:00
053eaf77fd a variety of fixes for the cairocanvas, but it still buggy as hell handling events and lots of other stuff 2013-04-09 14:22:58 -04:00
082de27a4e vtl: query video-monitor-state on explicit session save 2013-04-09 17:13:42 +02:00
722d7f4de6 update all i18n .po files 2013-04-09 09:32:14 -04:00
ed1f310f10 vtl: rework session-needs-save logic
* videotimeline now immediately marks the session dirty on
  every state-changing operation
* video-montor is polled every 2.5 seconds for menu-relevant state info
  (ontop, OSD,..) and every 30 seconds for full state (window pos, size,..)
* new interface to query the video-monitor for its state and wait for
  all replies - terminating the process and using ::wait() is no longer
  required
* Ardour> quit and Ardour > close-session does no longer close the video
  session to enforce video-monitor state sync but uses above new interface
2013-04-09 04:05:46 +02:00
49ddf8ecce vtl: disconnect from session-save signal
the videotimeline is a global unique instance that is allocated during
startup and deleted on exit. The Scopedconnection is not deleted
with the session.
2013-04-09 04:05:42 +02:00
8a3ebe7510 vtl: resume if "don't close/exit" is selected 2013-04-09 04:05:34 +02:00
1267b1d61c mo' better debugging of canvas "structure" via Item::dump and derivatives 2013-04-08 19:48:09 -04:00
18048747b6 fix up marker text color 2013-04-08 19:47:54 -04:00