Commit graph

15735 commits

Author SHA1 Message Date
Robin Gareus
6d99e1b162
VKeybd: Set default MIDI port flags 2019-12-05 23:40:29 +01:00
Paul Davis
9eac4936dc remove mistakenly left in session event enum 2019-12-05 13:13:16 -07:00
Paul Davis
8b4e714006 changes to use overwrite-buffers when loop is disabled or loop range changed 2019-12-05 13:13:16 -07:00
Robin Gareus
551702b9e9
Fix for-loop condition (comma has no effect) 2019-12-05 18:23:49 +01:00
Robin Gareus
7d94e1e1f9
Fix well-known control LPF/HPF order. 2019-12-05 16:43:20 +01:00
Robin Gareus
fa6a21f94e
Ardour 6.0 Alpha - Enterprise Edition
Its 5 year mission
To explore strange new sounds
To seek out new bugs and new users
To boldly go where no Ardour session has gone before
2019-12-04 23:07:42 +01:00
Robin Gareus
d8c63568a5
Clear AudioEngine Error at app start 2019-12-04 19:02:16 +01:00
Robin Gareus
1f73668756
New approach for Lua bindings to avoid LuaBridge_API in GUI code
Declare DoubleArray in GUI context so that runtime uses the symbol
from the .exe (not the .dll).

This is mainly for the benefit of MSVC, that does not allow to use
LuaBridge_API in .exe
2019-12-03 17:55:37 +01:00
Robin Gareus
d3ca91a0b4
Libardour part of 1caef18 (Windows Lua bindings) 2019-12-03 02:29:37 +01:00
Robin Gareus
e3544db3aa
Amend previous commit, fluidsynth tables 2019-12-03 00:23:54 +01:00
Robin Gareus
d425f6dcb5
Update to fluidsynth-2.1
see https://github.com/FluidSynth/fluidsynth/releases/tag/v2.1.0

- new, less "ringing" reverb engine
- new, stereophonic chorus engine
- improved integrity checking of SoundFont modulators
...
2019-12-03 00:01:10 +01:00
Robin Gareus
5e1a73a28c
Add Lua typecast from C++ vector to C-Array
This is useful for MIDI bytes amongst other things
2019-12-01 21:32:10 +01:00
Stefan Westerfeld
be1012d64e
Fix thread-safety issue in a-fluidsynth.
This fix ensures that the a-fluidsynth "synth" object is not used in two
threads at the same time during midi event handling (run() in RT thread vs.
load_sf2() in worker thread), which could result in crashes.
2019-11-26 17:09:11 +01:00
Paul Davis
c10df23a0f fix crash when using Region > Loop 2019-11-24 11:33:25 -07:00
Paul Davis
9a8ca01cb0 remove debug output 2019-11-23 15:54:34 -07:00
Paul Davis
f561cc6dc2 remove debug output 2019-11-23 15:54:21 -07:00
Paul Davis
e75182b418 tweak comment text 2019-11-23 15:54:09 -07:00
Paul Davis
205bfb9416 2nd part of fix for autoloop event removal when loop bounds are changed while looping 2019-11-23 15:53:54 -07:00
Paul Davis
bcd47ebffb remove debug message about LOCATE WITHOUT DECLICK. This behavior is normal and legal when looping 2019-11-23 15:52:49 -07:00
Paul Davis
d39f19f559 fix incorrect removal of autoloop event when loop bounds are changed while looping 2019-11-23 15:52:05 -07:00
Paul Davis
dbf06eb2cf fix locate-while-rolling 2019-11-23 15:51:30 -07:00
Paul Davis
8972f69e68 fix startup crash if no loop range is defined 2019-11-23 13:37:00 -07:00
Paul Davis
d04c9b3244 more tweaks to correctly (or more correctly) reload disk reader buffers when loop fade choice changes 2019-11-23 00:09:46 -07:00
Paul Davis
1a2665e25f redesign of declicking and fades around loop boundaries 2019-11-22 23:41:56 -07:00
Robin Gareus
98bcfb1485
Save VST paths after successful scan
Ardour only saves Config when the session is saved.
When changing the VST Path and starting a plugin-scan the newly
discovered plugins would otherwise not be avalable unless
the session is explicitly saved after a scan.
2019-11-22 20:06:43 +01:00
Robin Gareus
c2d44c0f05
Add support for LV2/KX transient-ID option 2019-11-22 20:01:32 +01:00
Robin Gareus
512c27d277
Fix buffer-overflow when vari-speeding
Session::process() can call split-cycle which offset the
buffer pointers. When vari-speeding at speed > 1.0, the
engine also splits the cycle every n_samples, to not exceed
the configured buffersize. This needs to take prior buffer
offsets into account.
2019-11-21 23:37:31 +01:00
Robin Gareus
d4ecfc7d85
Use new boost::optional API
get_value_or() has been deprecated since boost 1.56
2019-11-21 17:48:56 +01:00
Robin Gareus
53b1d17c60
Fix multi-channel de-click
_declick_amp gain needs to be reset for each channel before
the test (_declick_amp.gain() != target_gain) if de-clicking
is needed.
2019-11-21 02:54:19 +01:00
Robin Gareus
7fec401b8d
Fix declick offset position for multi-channel tracks 2019-11-19 16:20:28 +01:00
Paul Davis
4534af0a4c DiskReader::_declick_offs should only advance once per ::run() call 2019-11-18 21:45:39 -07:00
Paul Davis
9b92084ed6 DiskReader::_declick_amp needs to repeat the same work for each audio channel handled 2019-11-18 21:45:39 -07:00
Paul Davis
530a4393dc fix transport FSM to stop first and declick later 2019-11-18 21:45:39 -07:00
Paul Davis
5048b86d5d small changes to make declick out triggered by just stopping 2019-11-18 21:45:39 -07:00
Paul Davis
c07db6d655 unset _reversed whenever RTMidiBuffer gets ::clear()'ed 2019-11-18 15:38:18 -07:00
Paul Davis
75cb57194e add missing NULL check 2019-11-18 13:07:40 -07:00
Robin Gareus
e52fd47049
Latency compensation is independent of transport-logic
This also fixes a concurrency issue when when non-realtime-stop
and graph-reorder or other rt-latency changes coincide.
2019-11-18 20:22:08 +01:00
Paul Davis
a8d62ce056 use reverse-reading of MIDI data in DiskReader 2019-11-18 12:01:43 -07:00
Paul Davis
725a6fc67f support backwards reading of MIDI from RTMidiBuffer 2019-11-18 12:01:43 -07:00
Paul Davis
80cab52a06 fix typo/thinko in logic to decide if MIDI buffers in DiskWriter require the butler (to write to disk) 2019-11-18 12:01:43 -07:00
Robin Gareus
3cf888498a
Fix automation lookup when rolling backwards 2019-11-18 15:55:32 +01:00
Robin Gareus
3b2b946d4e
NO-OP: simplify code
find_next_ac_event, needs to find the next event *after* (but not
at) start.

std::upper_bound returns an iterator pointing to the first element
in the range [first, last) that is greater than value.
This is equivalent to using std::lower_bound an iterating until
finding the first element greater than.
2019-11-18 15:55:17 +01:00
Robin Gareus
f49d11d5e3
Automation event lookup when rolling backwards
When rolling backwards we need to be able to find
the *next* event before "start".
2019-11-18 15:55:13 +01:00
Paul Davis
8e8249b595 remove debug output 2019-11-15 20:42:15 -07:00
Paul Davis
bd509bba49 fix questionable and not entirely intended change that was a part of dad47e445c 2019-11-15 20:40:23 -07:00
Paul Davis
1c7e446cb4 better transport master behavior when working with sample-clock-synced transport masters 2019-11-15 16:06:04 -07:00
Paul Davis
d64cf7a762 improve behavior when synced to JACK transport
Heuristic and actions when a locate is needed are different for
JACK transport than TC
2019-11-15 16:06:04 -07:00
Paul Davis
098bce1ece improve initial coordinate with JACK transport state 2019-11-15 16:06:04 -07:00
Paul Davis
3d74af6c1f better debugging message 2019-11-15 16:06:04 -07:00
Paul Davis
a7613eb191 consolidate setting of "get roll after locate" in TFSM 2019-11-15 16:06:04 -07:00