Paul Davis
22e7252729
inline ScrollGroup::canvas_position() for no particular reason
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
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
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
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
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
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
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
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
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
2342b7d611
don't allow waveform to bleed into TimeAxisViewItem frame border
2014-05-31 14:06:10 +02:00
Robin Gareus
62e8d1a25f
use CubicSpline interpolation for x-fade preset Shapes
2014-05-30 17:24:12 +02:00
Robin Gareus
c91f847454
update Evoral::Curve to honor ControlList::InterpolationStyle
2014-05-30 17:00:28 +02:00
John Emmas
161a3258ee
Add newly introduced sources to MSVC project
...
(xfade_curve stuff)
2014-05-30 12:52:03 +01:00
John Emmas
33412421f6
Rearrange some #includes to keep MSVC happy
2014-05-30 12:50:49 +01:00
Robin Gareus
5aecc877d6
Fix code to prepare re-enable cubic spline interpolation of automation data.
...
see also 24917e4c9e
2014-05-30 04:25:59 +02:00
Robin Gareus
e69057319e
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-05-30 03:54:15 +02:00
Robin Gareus
fed5599baa
smooth visual curve drawing
2014-05-30 03:04:02 +02:00
Robin Gareus
38891288f3
use fixed number of steps for dB-scale x-fade curves.
...
32 steps is sufficient for all practical musical purposes.
2014-05-29 22:41:13 +02:00
Robin Gareus
1cfdad6ffb
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-05-29 22:41:13 +02:00
Paul Davis
08a1409b1f
back port 6576105 from cairocanvas as fix for data loss/file deletion
2014-05-29 16:28:57 -04:00
Paul Davis
be575b7945
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-05-29 16:27:41 -04:00
Robin Gareus
c6930c1aef
fix symmetric fade-shape (still variable number of steps)
2014-05-29 20:53:18 +02:00
Robin Gareus
7953df93bf
Symmetric x-fade, use equivalent of -6dB per step for 7 steps.
2014-05-29 16:59:04 +02:00
Robin Gareus
cc6eb5049a
fix typo in vst doc.
2014-05-29 07:49:36 +02:00
Robin Gareus
202d926916
smoothen rendering of x-fades
2014-05-29 07:48:43 +02:00
Robin Gareus
5451a70a16
increase accuracy of fades.
2014-05-29 07:48:25 +02:00
Robin Gareus
604abffeb5
fix prev commit
2014-05-29 05:30:13 +02:00
Robin Gareus
86e7d86089
renice x-fade rendering w/cairo-antialiasing
2014-05-29 05:06:02 +02:00
Robin Gareus
0ba8bbdbfc
revert x-fade curves to Mixbus2.
2014-05-29 04:38:06 +02:00
Paul Davis
796f4e9711
make building the dummy backend be a configure-time option. defaults to False for the time being
2014-05-28 22:30:06 -04:00
Robin Gareus
30f204b90e
Canvas: new x-fade drawing, two curve widget
2014-05-29 03:09:57 +02:00
Robin Gareus
034f3dafd7
Revert "cairo sub-surface prototype & example
...
This reverts commit c57fcde78c .
and also commit f1f8f89fcb .
2014-05-28 19:13:25 +02:00
Robin Gareus
f1f8f89fcb
exercise subsurface rendering for x-fade curves
2014-05-28 17:38:42 +02:00
Robin Gareus
c57fcde78c
cairo sub-surface prototype - intermediate flattened group renderer.
2014-05-28 17:38:42 +02:00
Robin Gareus
a1cbe0f1d9
VST: fix name detection if effGetEffectName is N/A, remove superfluous \0.
2014-05-28 02:15:52 +02:00
Robin Gareus
84ccf721ba
VST: properly query name from plugin
2014-05-28 01:59:19 +02:00
Robin Gareus
c03b658531
Curve: anti-aliasing.
...
use cairo for anti-aliasing, and ignore explicit Catmull-Rom
points for that fall on the same x-cordinate.
2014-05-27 19:36:10 +02:00
Robin Gareus
99c953514b
implement Curve in/outside fill
2014-05-27 16:37:01 +02:00
Robin Gareus
432611113d
directly apply waveform clip-level changes
2014-05-27 16:37:01 +02:00