Robin Gareus
9ce847c843
re-work bounce/freeze. Freezer stops at first active delivery.
...
amend to 8f52bf7d9f
2014-08-17 13:45:42 -04:00
Robin Gareus
c65e827969
ALSABackend: elaborate on start-up error cases
2014-08-17 13:45:34 -04:00
Paul Davis
88c511f2d1
Revert "When writing '.jackdrc' make sure we enclose any device names in
...
quotation marks". This patch is incorrect. The string quoting must be done ONLY
when creating a string to be written to ~/.jackdrc or similar, not when
constructing an argument list.
This reverts commit 5626ea2b1f .
2014-08-17 13:45:19 -04:00
Paul Davis
0fb82b76e4
fix two mysterious problems with stdint types
2014-08-17 13:45:14 -04:00
Paul Davis
fdbb93ea3c
merge onecanvas and cairocanvas branches, and manually resolve conflicts, including rounding in item_to_window() methods
2014-08-17 13:44:57 -04:00
Paul Davis
e8e3460665
more profound changes to canvas scrolling, in particular find appropriate ScrollGroup for Canvas::{window,canvas}_to_{canvas,window}()
...
Conflicts:
gtk2_ardour/editor_mouse.cc
2014-08-17 13:43:52 -04:00
Paul Davis
0bfbb030fa
fix missing leftover Canvas::pick_current_item() which was confusing button release event coordinates
2014-08-17 13:39:19 -04:00
Paul Davis
f60e579653
use window-based coordinates when picking current item so that we get per-item (per-scroll-group,really) computation of position and coverage.
2014-08-17 13:39:15 -04:00
Paul Davis
bed0c78432
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-08-17 13:39:10 -04:00
Paul Davis
7bbd63dc39
clean up ArdourCanvas::Arrow implementation to remove unshown polygon/head
2014-08-17 13:39:02 -04:00
Paul Davis
d408fffe4e
rationalize and centralize computation of positional offset and scroll offset for canvas items
2014-08-17 13:38:45 -04:00
Paul Davis
2b361eecec
inline ScrollGroup::canvas_position() for no particular reason
2014-08-17 13:38:35 -04:00
Paul Davis
11e789df5b
avoid recursing through the entire canvas when scrolling - only scroll explicitly identified ScrollGroups
2014-08-17 13:37:45 -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
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
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
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
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
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
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
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
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
31c49330f0
don't allow waveform to bleed into TimeAxisViewItem frame border
2014-08-16 17:59:10 -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
Paul Davis
9e82cb582d
fix data loss/file deletion caused by mistaken used of Session::source_by_path() to check if an AUDIO filesource with a given path already exists.
...
::source_by_path() was written for MIDI files only. I fixed the call and renamed the two similar functions (one for audio and one for MIDI) to make it more clear.
2014-08-16 17:56:44 -04:00
Robin Gareus
e545bcb193
fix symmetric fade-shape (still variable number of steps)
2014-08-16 17:56:40 -04:00
Robin Gareus
4ee31432e4
Symmetric x-fade, use equivalent of -6dB per step for 7 steps.
2014-08-16 17:56:34 -04:00
Robin Gareus
ec90b1c774
fix typo in vst doc.
2014-08-16 17:56:14 -04:00
Robin Gareus
08666b2cfd
smoothen rendering of x-fades
2014-08-16 17:56:05 -04:00
Robin Gareus
c79776d0e9
increase accuracy of fades.
2014-08-16 17:55:59 -04:00
Robin Gareus
f91194f60f
fix prev commit
2014-08-16 17:55:54 -04:00
Robin Gareus
93fea9021e
renice x-fade rendering w/cairo-antialiasing
2014-08-16 17:55:47 -04:00
Robin Gareus
e06a7e60f0
revert x-fade curves to Mixbus2.
2014-08-16 17:55:40 -04:00
Paul Davis
050254d521
make building the dummy backend be a configure-time option. defaults to False for the time being
...
Conflicts:
libs/backends/wscript
2014-08-16 17:55:18 -04:00
Paul Davis
c934033e23
manually jump forward state of system_exec files to avoid various cherry-picking-related problems during merge with ardour
2014-08-16 17:53:33 -04:00