Commit graph

13634 commits

Author SHA1 Message Date
Paul Davis
8fa81c1436 merge onecanvas and cairocanvas branches, and manually resolve conflicts, including rounding in item_to_window() methods 2014-06-03 16:37:53 -04:00
Paul Davis
e0533e9dd7 more profound changes to canvas scrolling, in particular find appropriate ScrollGroup for Canvas::{window,canvas}_to_{canvas,window}() 2014-06-03 16:13:12 -04:00
Paul Davis
d4989ed9ce fix missing leftover Canvas::pick_current_item() which was confusing button release event coordinates 2014-06-03 16:12:00 -04:00
Paul Davis
073df89c4d use window-based coordinates when picking current item so that we get per-item (per-scroll-group,really) computation of position and coverage. 2014-06-03 16:12:00 -04:00
Paul Davis
54a56cd3c6 various changes to get independent scrolling to work better in canvas. mostly tweaks relating to how scroll offsets are used during rendering.
Event handling offsets still require work.
2014-06-03 16:12:00 -04:00
Paul Davis
f17b84ad10 clean up ArdourCanvas::Arrow implementation to remove unshown polygon/head 2014-06-03 16:11:24 -04:00
Paul Davis
dc349514fa remove utterly useless unused code 2014-06-03 16:11:24 -04:00
Paul Davis
da7a860256 remove useless groups from timebar area, clarify scroll group naming in editor 2014-06-03 16:11:24 -04:00
Paul Davis
bf7b35388b rationalize and centralize computation of positional offset and scroll offset for canvas items 2014-06-03 16:11:24 -04:00
Paul Davis
ee8fb7758a remove timebar canvas item from markers 2014-06-03 16:10:27 -04:00
Paul Davis
22e7252729 inline ScrollGroup::canvas_position() for no particular reason 2014-06-03 16:10:27 -04:00
Paul Davis
5696199daf remove timebar canvas and just use a single canvas instead. This is just part one - lots of minor fixes to be done 2014-06-03 16:10:27 -04:00
Paul Davis
c9f890bd7c avoid recursing through the entire canvas when scrolling - only scroll explicitly identified ScrollGroups 2014-06-03 16:10:27 -04:00
Paul Davis
a551181842 remove incorrect calls to Editor::maybe_autoscroll() from specific Drag classes (autoscroll is handled by the Drag manager) 2014-06-03 16:10:27 -04:00
Paul Davis
da67cb92e9 whitespace deletion 2014-06-03 16:10:27 -04:00
Paul Davis
6019f06bdf different approach to independent scrolling, involving ArdourCanvas::ScrollGroup
The idea now is that a scroll group item can be added to the canvas which will causes its children to scroll in either or both
directions (horizontal or vertical). There are few complications: the position() of the ScrollGroup is ambiguous depending
on whether you want it with scroll taken into account or not, so Item::canvas_position() was added, which defaults to
the same value as Item::position() but is overridden by ScrollGroup to return the position independent of scrolling. This
method is used when translating between item/canvas/window coordinate systems.

Note that the basic idea is that we MOVE the scroll group when a scroll happens. This mirrors what happens in the GnomeCanvas,
where Nick Mainsbridge came up with a great idea that allowed unification of the time bar and track canvases.
2014-06-03 16:10:27 -04:00
Paul Davis
fc9e6651dd remove unused variable 2014-06-03 16:09:06 -04:00
Paul Davis
97109672c7 initial redesign of canvas scrolling to facilitate independent x- and y-axis scrolling of specific groups within the canvas.
This commit should cause no change in behaviour, but contains all the code and changes necessary
for the next step
2014-06-03 16:09:06 -04:00
Paul Davis
ee6c483d18 non-copy region drag now creates a new track when a region is dragged to the drop zone 2014-06-03 16:07:05 -04:00
Paul Davis
7e36d4c9bb part one of allowing region drag to the bottom (drop-zone) rect of track canvas 2014-06-03 16:06:41 -04:00
John Emmas
5626ea2b1f When writing '.jackdrc' make sure we enclose any device names in quotation marks
(in Windows, device names almost always contain whitespace)
2014-06-03 14:04:10 +01:00
John Emmas
fd50cf14dd Keep this #include consistent with similar ones
(evoral/evoral doesn't get used anywhere else)
2014-06-03 14:02:05 +01:00
Robin Gareus
745c3cce1d fix wscript for x-compiling 2014-06-03 02:06:22 +02:00
Robin Gareus
01cedf0e05 ALSA backend: tweak midi parser (fix start mid sequence) 2014-06-03 01:00:58 +02:00
Robin Gareus
b050f91323 ALSA backend: device detection 2014-06-03 00:50:26 +02:00
Robin Gareus
d5fa80e01d fix linking against libasound 2014-06-02 21:09:21 +02:00
Robin Gareus
432f54db24 make ALSA backend optional and disable by default 2014-06-02 20:33:12 +02:00
Robin Gareus
c79a56a08f ALSA backend: add raw midi parser 2014-06-02 19:23:07 +02:00
Robin Gareus
5cd2010c79 ALSA backend: raw midi prototype 2014-06-02 19:23:07 +02:00
Robin Gareus
8e9b02cfa2 ALSA backend (based on Dummy backend and zita-alsa-pcmi) 2014-06-02 19:23:07 +02:00
Robin Gareus
b517695256 allow latency measurement at startup 2014-06-02 19:21:15 +02:00
Robin Gareus
6dfb63bb46 tentative fix for requesting driver+device list from backend 2014-06-02 19:21:15 +02:00
Paul Davis
7f18913e6d fix errors in manual conflict resolution 2014-06-02 11:42:35 -04:00
Paul Davis
8c9749e42f merge with master and fix 4 conflicts by hand 2014-06-02 11:32:13 -04:00
Robin Gareus
f6d29abfc7 DummyBackend: fix midi event mux+sorting 2014-06-02 12:20:40 +02:00
Robin Gareus
3f82052d11 fix display of cd-track-detail UI 2014-06-01 19:48:21 +02:00
Robin Gareus
1c60652bd8 fix --with-dummy config option 2014-06-01 18:18:32 +02:00
Robin Gareus
dc1a7a15fa Dummy backend, revise small things 2014-06-01 18:18:08 +02:00
Robin Gareus
b800a01ea6 dummy-backend, fix physical ports in/out convention. 2014-06-01 18:16:15 +02:00
Robin Gareus
ea3918ba2d disable snap fades to 'other' region (for now) 2014-06-01 00:40:07 +02:00
Robin Gareus
ab60429efc test possible 'flickering' with nvidia 2014-05-31 18:22:34 +02:00
Robin Gareus
f382aef5ac do not thin() automation event list on load.
only thin() when writing automation. This fixes issues with
loading short x-fades (which can be stretched later).

TODO: thinning should not just drop, but interpolate and use
more elaborate logic, compared to A2/MB2 Curve::merge_nascent()
2014-05-31 17:13:47 +02:00
Robin Gareus
3b717da783 frankenstein'ed fade+trim cursors 2014-05-31 16:07:38 +02:00
Robin Gareus
6894b1c7de initialize variables 2014-05-31 15:18:43 +02:00
Robin Gareus
12d4989067 show fade+trim handles only if the operation is possible 2014-05-31 15:15:46 +02:00
Robin Gareus
ef3c27bc1d session fade-region-visible is for fades - not controls 2014-05-31 14:16:15 +02:00
Robin Gareus
2342b7d611 don't allow waveform to bleed into TimeAxisViewItem frame border 2014-05-31 14:06:10 +02:00
Robin Gareus
d6b1a9f6e3 prepare fade+trim cursors (cursor image still missing) 2014-05-31 14:04:41 +02:00
Robin Gareus
f0536816ab reduce outline of fade-in/active rectangle to line 2014-05-31 14:00:28 +02:00
Robin Gareus
1c32e45771 show x-fade-rectangle only when hovering 2014-05-31 14:00:04 +02:00