Commit graph

13875 commits

Author SHA1 Message Date
Paul Davis
dc96ea25d3 whitespace deletion 2014-08-17 13:37:33 -04:00
Paul Davis
cb9453b475 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-08-17 13:37:27 -04:00
Paul Davis
6e91e9fd5f remove unused variable 2014-08-17 13:37:23 -04:00
Paul Davis
87fa554ac9 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-08-17 13:37:16 -04:00
Paul Davis
ce63f22d80 comment tweak 2014-08-17 13:32:47 -04:00
Paul Davis
a69f7a9282 adding a new track via copy-region-drag now works (and shares code with the non-copy case
Conflicts:
	gtk2_ardour/editor_drag.cc
2014-08-17 13:32:39 -04:00
Paul Davis
6d3b9fe7e6 overwrite state of libs/canvas with code from corresponding period in ardour-cairocanvas
This makes continued merges with ardour codebase easier, at the
small cost of removing the XML-based constructors. They were not
in use anyway and their use doesn't really fit into the
conception of the canvas as a dynamic UI element. Could reintroduce
them at a later date.
2014-08-17 13:29:01 -04:00
Paul Davis
dcbcf09cf5 make creation of ArdourCanvas objects in waves_ui.cc conditional on ARDOUR_CANVAS_HAS_XML_UI 2014-08-17 13:27:00 -04:00
Paul Davis
4078063b00 non-copy region drag now creates a new track when a region is dragged to the drop zone 2014-08-16 21:48:25 -04:00
Paul Davis
56762ecf3e part one of allowing region drag to the bottom (drop-zone) rect of track canvas 2014-08-16 21:48:12 -04:00
John Emmas
1d945f26be When writing '.jackdrc' make sure we enclose any device names in quotation marks
(in Windows, device names almost always contain whitespace)
2014-08-16 21:48:07 -04:00
John Emmas
68a34d0d6f Keep this #include consistent with similar ones
(evoral/evoral doesn't get used anywhere else)
2014-08-16 21:48:01 -04:00
Robin Gareus
7ade736a35 fix wscript for x-compiling 2014-08-16 21:47:55 -04:00
Robin Gareus
55c4c3d819 ALSA backend: tweak midi parser (fix start mid sequence) 2014-08-16 21:47:48 -04:00
Robin Gareus
151a410a13 ALSA backend: device detection 2014-08-16 21:47:40 -04:00
Robin Gareus
e1ec25ede9 fix linking against libasound 2014-08-16 21:47:34 -04:00
Robin Gareus
8f285657db make ALSA backend optional and disable by default
Conflicts:
	libs/backends/wscript
2014-08-16 21:47:25 -04:00
Robin Gareus
a5e1cbda85 ALSA backend: add raw midi parser 2014-08-16 21:44:58 -04:00
Robin Gareus
78d967d48c ALSA backend: raw midi prototype 2014-08-16 21:44:51 -04:00
Robin Gareus
c90428b5b8 ALSA backend (based on Dummy backend and zita-alsa-pcmi)
Conflicts:
	gtk2_ardour/ardev_common.sh.in
	libs/backends/wscript
2014-08-16 21:44:42 -04:00
Robin Gareus
d150d76823 allow latency measurement at startup 2014-08-16 21:43:27 -04:00
Robin Gareus
f0ef57147c tentative fix for requesting driver+device list from backend 2014-08-16 21:43:13 -04:00
Paul Davis
60bb0b5f58 substantive changes to the logic and safety for naming of (audio/MIDI) sources, especially when created via import
Conflicts:
	libs/ardour/import.cc
2014-08-16 18:02:22 -04:00
Robin Gareus
206b9acb5f DummyBackend: fix midi event mux+sorting 2014-08-16 18:00:48 -04:00
Robin Gareus
684927cce7 fix display of cd-track-detail UI 2014-08-16 18:00:38 -04:00
Robin Gareus
33b19c61d5 Dummy backend, revise small things 2014-08-16 18:00:01 -04:00
Robin Gareus
3d9498e351 dummy-backend, fix physical ports in/out convention. 2014-08-16 17:59:56 -04:00
Robin Gareus
1c17431aa6 disable snap fades to 'other' region (for now) 2014-08-16 17:59:50 -04:00
Robin Gareus
bafc5b816c test possible 'flickering' with nvidia 2014-08-16 17:59:45 -04:00
Robin Gareus
a37a75a05c 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-08-16 17:59:35 -04:00
Robin Gareus
b1bf1fe34c frankenstein'ed fade+trim cursors 2014-08-16 17:59:30 -04:00
Robin Gareus
ebc797115b initialize variables 2014-08-16 17:59:25 -04:00
Robin Gareus
4b00dea155 show fade+trim handles only if the operation is possible 2014-08-16 17:59:20 -04:00
Robin Gareus
a8eb104f4c session fade-region-visible is for fades - not controls 2014-08-16 17:59:15 -04:00
Robin Gareus
31c49330f0 don't allow waveform to bleed into TimeAxisViewItem frame border 2014-08-16 17:59:10 -04:00
Robin Gareus
ea9a5e45e6 prepare fade+trim cursors (cursor image still missing) 2014-08-16 17:59:05 -04:00
Robin Gareus
102c1dc66c reduce outline of fade-in/active rectangle to line 2014-08-16 17:58:56 -04:00
Robin Gareus
7478412ce8 show x-fade-rectangle only when hovering 2014-08-16 17:58:49 -04:00
Robin Gareus
00dbbc6fdb fix fade+trim handle hover color 2014-08-16 17:58:43 -04:00
Robin Gareus
23a711d370 reset [trim] fade handle position if track-height changes 2014-08-16 17:58:38 -04:00
Robin Gareus
40ffd0600b towards region-trims preserving fade duration 2014-08-16 17:58:34 -04:00
Robin Gareus
f413ab6ace use CubicSpline interpolation for x-fade preset Shapes 2014-08-16 17:58:29 -04:00
Robin Gareus
de84813c0d update Evoral::Curve to honor ControlList::InterpolationStyle 2014-08-16 17:58:23 -04:00
John Emmas
8dd1ed2b7a Add newly introduced sources to MSVC project
(xfade_curve stuff)

Conflicts:
	libs/canvas/MSVCcanvas/cairocanvas.vcproj
2014-08-16 17:58:17 -04:00
John Emmas
c7dc741bed Rearrange some #includes to keep MSVC happy 2014-08-16 17:58:01 -04:00
Robin Gareus
ece0d75122 Fix code to prepare re-enable cubic spline interpolation of automation data.
see also 24917e4c9e
2014-08-16 17:57:52 -04:00
Robin Gareus
9bbc29c022 panner: backwards compatibility, constrain pan-range in old sessions
fixes http://tracker.ardour.org/view.php?id=5823#c15686

This is only an issue when loading an old session
(pre 3.5.308 - actual change was 21ca6a10) for the first
time with newer ardour.
Saving and re-loading with ardour >= 3.5.308 fixed this as well.
2014-08-16 17:57:47 -04:00
Robin Gareus
81068a7932 smooth visual curve drawing 2014-08-16 17:57:42 -04:00
Robin Gareus
d8bdfa6f17 use fixed number of steps for dB-scale x-fade curves.
32 steps is sufficient for all practical musical purposes.
2014-08-16 17:57:13 -04:00
Robin Gareus
1685c2bff2 fixed number of steps for symmetric fades:
Extra steps are all below -20dB vs inverse signal being over -2dB.
linear interpolation -6dB steps is sufficient for the tail.
2014-08-16 17:57:08 -04:00