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
c5066dcf38
Lua MIDI genertors
2019-12-01 21:32:51 +01:00
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
5fb83da69c
Use a detached window for Preferences at first run
...
Once a user explicitly attaches the Window as Tab, we
expect the user to know about tabbing, tab-cycling, related
window/tab actions, and relevant shortcuts.
Otherwise it can confusing:
https://discourse.ardour.org/t/cant-get-out-of-preferences/102147
2019-11-29 16:27:37 +01:00
279faad75c
Update tomsloop script for A6 - Thanks to Tom Brand
2019-11-28 00:54:30 +01:00
ccefc64418
Reset paste-count, paste-offset on undo/redo
...
This fixes an workflow edge-case when undoing a paste in order
to paste at a different location on the same track or automation lane.
After undo, any accumulated paste-offset needs to be reset
2019-11-26 23:49:06 +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
7d8918034a
Update Lua scripts to use new transport request API
2019-11-26 17:02:41 +01:00
c10df23a0f
fix crash when using Region > Loop
2019-11-24 11:33:25 -07:00
1df47e9fb4
Remember Virtual-Keyboard window size and position
2019-11-24 18:20:49 +01:00
9a8ca01cb0
remove debug output
2019-11-23 15:54:34 -07:00
f561cc6dc2
remove debug output
2019-11-23 15:54:21 -07:00
e75182b418
tweak comment text
2019-11-23 15:54:09 -07:00
205bfb9416
2nd part of fix for autoloop event removal when loop bounds are changed while looping
2019-11-23 15:53:54 -07:00
bcd47ebffb
remove debug message about LOCATE WITHOUT DECLICK. This behavior is normal and legal when looping
2019-11-23 15:52:49 -07:00
d39f19f559
fix incorrect removal of autoloop event when loop bounds are changed while looping
2019-11-23 15:52:05 -07:00
dbf06eb2cf
fix locate-while-rolling
2019-11-23 15:51:30 -07:00
8972f69e68
fix startup crash if no loop range is defined
2019-11-23 13:37:00 -07:00
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
1a2665e25f
redesign of declicking and fades around loop boundaries
2019-11-22 23:41:56 -07:00
c456006f82
Enable some key release event forwarding
...
This is needed for the virtual MIDI keyboard to trigger note-off events
2019-11-22 22:12:48 +01:00
ceee42f7af
Virtual MIDI keyboard, when visible, gets to handle keyboard input first
2019-11-22 22:11:55 +01:00
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
f7b3dffebe
Inform LV2 plugins about main window ID
2019-11-22 20:05:04 +01:00
c2d44c0f05
Add support for LV2/KX transient-ID option
2019-11-22 20:01:32 +01:00
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
6ee21fb77e
GUI: Use new boost::optional API
...
get_value_or() has been deprecated since boost 1.56
2019-11-21 17:49:20 +01:00
d4ecfc7d85
Use new boost::optional API
...
get_value_or() has been deprecated since boost 1.56
2019-11-21 17:48:56 +01:00
216492c60c
Bump boost version requirement
...
1.56 is needed for boost::optional::value_or
2019-11-21 17:43:32 +01:00
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
78d5e6af28
add mixer actions for toggle disk & input monitoring; bind to d and i in mixer bindings
2019-11-20 09:37:33 -07:00
7fec401b8d
Fix declick offset position for multi-channel tracks
2019-11-19 16:20:28 +01:00
4534af0a4c
DiskReader::_declick_offs should only advance once per ::run() call
2019-11-18 21:45:39 -07:00
9b92084ed6
DiskReader::_declick_amp needs to repeat the same work for each audio channel handled
2019-11-18 21:45:39 -07:00
530a4393dc
fix transport FSM to stop first and declick later
2019-11-18 21:45:39 -07:00
5048b86d5d
small changes to make declick out triggered by just stopping
2019-11-18 21:45:39 -07:00
cf8a808bd7
Fix some script icons for non-square buttons
2019-11-19 04:41:12 +01:00
7aaf212a9b
Fix Lua Pangolayout ellipsis width
2019-11-19 04:41:12 +01:00
7b733eb3f0
Consistent toolbar button height
2019-11-19 04:41:11 +01:00
605a87f402
Improve toolbar layout consistency
...
Directly pack Lua Script buttons into top-level table,
use same size-constraints.
Use consistent Lua Action button width, in particular for buttons 10..12.
prefer "a" instead of "10" for default numeric label
2019-11-19 04:41:06 +01:00
c07db6d655
unset _reversed whenever RTMidiBuffer gets ::clear()'ed
2019-11-18 15:38:18 -07:00
75cb57194e
add missing NULL check
2019-11-18 13:07:40 -07:00
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
a8d62ce056
use reverse-reading of MIDI data in DiskReader
2019-11-18 12:01:43 -07:00
725a6fc67f
support backwards reading of MIDI from RTMidiBuffer
2019-11-18 12:01:43 -07:00
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
3cf888498a
Fix automation lookup when rolling backwards
2019-11-18 15:55:32 +01:00
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
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
81d8f0faa7
Tweak LFO script
...
* thin automation to prevent too dense events
* add icon (cosine wave)
2019-11-17 14:52:22 +01:00