David Robillard [Mon, 9 Dec 2019 21:58:08 +0000 (22:58 +0100)]
Fix catch of polymorphic type by value
David Robillard [Mon, 9 Dec 2019 21:56:14 +0000 (22:56 +0100)]
Remove unused variable
David Robillard [Mon, 9 Dec 2019 21:50:37 +0000 (22:50 +0100)]
Fix incorrect parameter type
This takes a bool.
Robin Gareus [Mon, 9 Dec 2019 17:23:17 +0000 (18:23 +0100)]
Fix automation alignment for latent plugins
This also solves bi-stable automation for plugins where latency
can change due to automation. e.g.
cycle 1: run (t): automation (t) = on: -> increase latency
cycle 2: run (t-latency): automation (t-latency) = off -> decrease latency
repeat.
Ben Loftis [Mon, 9 Dec 2019 13:49:16 +0000 (07:49 -0600)]
When a marker is selected, change the marker color in addition to the line color.
Paul Davis [Mon, 9 Dec 2019 05:37:07 +0000 (22:37 -0700)]
fix error when continuing to refill audio playback buffers after a buffer switch
The file_sample[AUDIO] member was not updated to reflect the last-read sample in the
switched-to buffer.
Also move several methods and members from DiskIO to DiskReader where they belong.
Robin Gareus [Mon, 9 Dec 2019 00:10:50 +0000 (01:10 +0100)]
Fix two compiler warnings
Paul Davis [Mon, 9 Dec 2019 00:01:05 +0000 (17:01 -0700)]
more debug output
Paul Davis [Mon, 9 Dec 2019 00:00:30 +0000 (17:00 -0700)]
avoid a locate-to-loop-start from cancelling looping
Paul Davis [Mon, 9 Dec 2019 00:00:08 +0000 (17:00 -0700)]
correct logic errors related to roll-after-locate in TransportFSM
This might have broken some other subtle behavior, but testing hasn't shown it thus far
Paul Davis [Sun, 8 Dec 2019 23:56:11 +0000 (16:56 -0700)]
fix missing SessionEvent when **all** tracks need a buffer overwrite
Robin Gareus [Sun, 8 Dec 2019 23:07:33 +0000 (00:07 +0100)]
Better, more consistent fix for
d0dcca109
Robin Gareus [Sun, 8 Dec 2019 22:52:48 +0000 (23:52 +0100)]
Fix Pan automation when using "Touch"
Pan->touching was left uninitialized, and usually non-zero.
So pan automation was assumed to be currently touched,
and hence never interpolated.
Daniel Appelt [Sun, 8 Dec 2019 16:40:38 +0000 (17:40 +0100)]
Update lua script to current playlist API
John Emmas [Sun, 8 Dec 2019 15:04:02 +0000 (15:04 +0000)]
MSVC project changes needed to support the new 'mp3 import' stuff
John Emmas [Sun, 8 Dec 2019 15:01:59 +0000 (15:01 +0000)]
Minor changes needed to make the 'mp3 import' sources build with MSVC
(MSVC project changes to follow...)
Robin Gareus [Sun, 8 Dec 2019 14:21:30 +0000 (15:21 +0100)]
Add support for LV2 state:freePath feature
This fixes a memory-leak issue for Windows builds.
see also https://github.com/drobilla/lilv/issues/14
Robin Gareus [Sun, 8 Dec 2019 14:20:26 +0000 (15:20 +0100)]
NO-OP: whitespace
Paul Davis [Sat, 7 Dec 2019 17:30:27 +0000 (10:30 -0700)]
fix behavior when pressing l to loop (not in loop-is-mode) and the required stop-during locate cancels looping
Paul Davis [Sat, 7 Dec 2019 17:28:56 +0000 (10:28 -0700)]
"revert" back to previous loop rect in editor color
Paul Davis [Fri, 6 Dec 2019 21:21:40 +0000 (14:21 -0700)]
functional double buffering when using DiskReader::overwrite_existing_buffers
Paul Davis [Thu, 5 Dec 2019 22:34:51 +0000 (15:34 -0700)]
a few parameter changes, and flesh out code to switch rbufs in DiskReader
Paul Davis [Thu, 5 Dec 2019 22:01:41 +0000 (15:01 -0700)]
initial conversion to double buffering inside DiskReader
Second buffer is not used (or allocated) yet.
Robin Gareus [Sat, 7 Dec 2019 14:46:20 +0000 (15:46 +0100)]
Fix 64bit OSX/MacOS builds
Robin Gareus [Sat, 7 Dec 2019 14:38:09 +0000 (15:38 +0100)]
Do not allow to embed ogg/vorbis files, require import
Robin Gareus [Sat, 7 Dec 2019 14:09:20 +0000 (15:09 +0100)]
Remove #ifdef'ed format-specific error-log messages
With inclusion of Mp3FileSource, this would get tricky.
On MacOS, the SndFileSource's sf_error_str message is never displayed,
anyway, also calling methods all handle failed-constructor.
So error-log is less important.
Robin Gareus [Sat, 7 Dec 2019 10:39:09 +0000 (11:39 +0100)]
Flatten nested try/catch clauses
This also consistently throws a failed_constructor() when instantiating
a CoreAudioSource fails, regardless of the actual exception
Robin Gareus [Sat, 7 Dec 2019 10:32:07 +0000 (11:32 +0100)]
Remove unused API, reduce sndfile/coreaudio specialization
Robin Gareus [Sat, 7 Dec 2019 00:13:38 +0000 (01:13 +0100)]
Fix nested comments
Robin Gareus [Fri, 6 Dec 2019 23:46:33 +0000 (00:46 +0100)]
Add tsan option to trace data-races
Robin Gareus [Fri, 6 Dec 2019 22:13:20 +0000 (23:13 +0100)]
Speed up seeking in mp3s
Robin Gareus [Fri, 6 Dec 2019 20:53:03 +0000 (21:53 +0100)]
Fix issues with VBR mp3s, detect duration by decoding
Robin Gareus [Fri, 6 Dec 2019 20:28:48 +0000 (21:28 +0100)]
Clear TransportAbort flag after stop
This fixes an issue with unresponsive transport controls after
an abort (e.g. post-export).
Robin Gareus [Fri, 6 Dec 2019 19:22:00 +0000 (20:22 +0100)]
Fix Windows build
Robin Gareus [Fri, 6 Dec 2019 17:30:53 +0000 (18:30 +0100)]
Mark .mp2 and .mp3 as valid file-extensions
Robin Gareus [Fri, 6 Dec 2019 17:11:19 +0000 (18:11 +0100)]
UI limitations for mp3 import
Robin Gareus [Fri, 6 Dec 2019 17:18:33 +0000 (18:18 +0100)]
Implement mp3 import, using minimp3
Robin Gareus [Fri, 6 Dec 2019 17:08:38 +0000 (18:08 +0100)]
Add "seekable" SoundFile info (in prep for mp3 import)
Robin Gareus [Fri, 6 Dec 2019 17:06:13 +0000 (18:06 +0100)]
Flatten nested try/catch clauses
This also consistently throws a failed_constructor() when instantiating
SoundFile fails, regardless of the actual exception
Robin Gareus [Thu, 5 Dec 2019 22:40:29 +0000 (23:40 +0100)]
VKeybd: Set default MIDI port flags
Robin Gareus [Thu, 5 Dec 2019 22:33:27 +0000 (23:33 +0100)]
Undo habits of a Serif font lover
Robin Gareus [Thu, 5 Dec 2019 21:12:49 +0000 (22:12 +0100)]
VKeybd: grab and ignore some keys
With default QWERTY and QWERTZ layout some keys that are easily
accidentally pressed. Those triggered editor actions,
(e.g. "a" (audition), or "1" (edit-tool)) and are now ignored.
Paul Davis [Thu, 5 Dec 2019 20:12:58 +0000 (13:12 -0700)]
remove mistakenly left in session event enum
Paul Davis [Thu, 5 Dec 2019 20:00:24 +0000 (13:00 -0700)]
changes to use overwrite-buffers when loop is disabled or loop range changed
Robin Gareus [Thu, 5 Dec 2019 17:23:49 +0000 (18:23 +0100)]
Fix for-loop condition (comma has no effect)
Robin Gareus [Thu, 5 Dec 2019 15:43:20 +0000 (16:43 +0100)]
Fix well-known control LPF/HPF order.
Robin Gareus [Wed, 4 Dec 2019 23:50:36 +0000 (00:50 +0100)]
Prefer wider/fatter Sans font
ArdourSans is now based on "Noto Sans"
https://fonts.google.com/specimen/Noto+Sans
(C) by Google - Apache License 2.0
Robin Gareus [Wed, 4 Dec 2019 23:44:10 +0000 (00:44 +0100)]
Reduce script button width
The default text is single digit hex number (0..c)
Robin Gareus [Wed, 4 Dec 2019 22:07:42 +0000 (23:07 +0100)]
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
Robin Gareus [Wed, 4 Dec 2019 21:59:51 +0000 (22:59 +0100)]
Allow using ArdourSans as optional default font
Robin Gareus [Wed, 4 Dec 2019 18:02:16 +0000 (19:02 +0100)]
Clear AudioEngine Error at app start
Robin Gareus [Wed, 4 Dec 2019 18:02:00 +0000 (19:02 +0100)]
Bundle ArdourSans with packages
Robin Gareus [Wed, 4 Dec 2019 18:01:44 +0000 (19:01 +0100)]
Load and register ArdourSans font at application start
Robin Gareus [Wed, 4 Dec 2019 18:01:20 +0000 (19:01 +0100)]
Bundle a common Sans Font
ArdourSans is based on Oxygen from https://fonts.google.com/
Copyright (c) 2012, vernon adams (vern@newtypography.co.uk)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
Robin Gareus [Tue, 3 Dec 2019 21:02:46 +0000 (22:02 +0100)]
Remove cruft - amend
279faad7
Robin Gareus [Tue, 3 Dec 2019 16:55:37 +0000 (17:55 +0100)]
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
Robin Gareus [Tue, 3 Dec 2019 02:29:35 +0000 (03:29 +0100)]
Amend
1caef183 (Windows Lua bindings)
Robin Gareus [Tue, 3 Dec 2019 01:29:37 +0000 (02:29 +0100)]
Libardour part of
1caef18 (Windows Lua bindings)
Robin Gareus [Tue, 3 Dec 2019 01:27:44 +0000 (02:27 +0100)]
Fix Windows builds
This fixes a missing symbol error due to the weird way how
Windows maps the same, identical symbols using different addresses
in .dll and .exe. Here specifically for
int luabridge::CFunc::vectorToArray<double, std::vector<double, std::allocator<double> > >(lua_State*)
which was added in
5e1a73a28c07 resulting in
gtk2_ardour/luainstance.cc error: explicit instantiation of 'static const void* luabridge::ClassInfo<T>::getStaticKey() [with T = std::vector<double>]' but no definition available [-fpermissive]
gtk2_ardour/luainstance.cc error: explicit instantiation of 'static const void* luabridge::ClassInfo<T>::getClassKey() [with T = std::vector<double>]' but no definition available [-fpermissive]
gtk2_ardour/luainstance.cc error: explicit instantiation of 'static const void* luabridge::ClassInfo<T>::getConstKey() [with T = std::vector<double>]' but no definition available [-fpermissive]
Robin Gareus [Mon, 2 Dec 2019 23:22:33 +0000 (00:22 +0100)]
Amend previous commit, fluidsynth tables
Robin Gareus [Mon, 2 Dec 2019 22:58:15 +0000 (23:58 +0100)]
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
...
Robin Gareus [Sun, 1 Dec 2019 20:32:51 +0000 (21:32 +0100)]
Lua MIDI genertors
Robin Gareus [Sun, 1 Dec 2019 20:32:10 +0000 (21:32 +0100)]
Add Lua typecast from C++ vector to C-Array
This is useful for MIDI bytes amongst other things
Robin Gareus [Fri, 29 Nov 2019 15:27:37 +0000 (16:27 +0100)]
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
Robin Gareus [Wed, 27 Nov 2019 23:54:30 +0000 (00:54 +0100)]
Update tomsloop script for A6 - Thanks to Tom Brand
Robin Gareus [Tue, 26 Nov 2019 22:49:06 +0000 (23:49 +0100)]
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
Stefan Westerfeld [Tue, 26 Nov 2019 10:22:04 +0000 (11:22 +0100)]
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.
Robin Gareus [Tue, 26 Nov 2019 16:02:41 +0000 (17:02 +0100)]
Update Lua scripts to use new transport request API
Paul Davis [Sun, 24 Nov 2019 18:32:34 +0000 (11:32 -0700)]
fix crash when using Region > Loop
Robin Gareus [Sun, 24 Nov 2019 17:20:49 +0000 (18:20 +0100)]
Remember Virtual-Keyboard window size and position
Paul Davis [Sat, 23 Nov 2019 22:54:34 +0000 (15:54 -0700)]
remove debug output
Paul Davis [Sat, 23 Nov 2019 22:54:21 +0000 (15:54 -0700)]
remove debug output
Paul Davis [Sat, 23 Nov 2019 22:54:09 +0000 (15:54 -0700)]
tweak comment text
Paul Davis [Sat, 23 Nov 2019 22:53:54 +0000 (15:53 -0700)]
2nd part of fix for autoloop event removal when loop bounds are changed while looping
Paul Davis [Sat, 23 Nov 2019 22:52:49 +0000 (15:52 -0700)]
remove debug message about LOCATE WITHOUT DECLICK. This behavior is normal and legal when looping
Paul Davis [Sat, 23 Nov 2019 22:52:05 +0000 (15:52 -0700)]
fix incorrect removal of autoloop event when loop bounds are changed while looping
Paul Davis [Sat, 23 Nov 2019 22:51:30 +0000 (15:51 -0700)]
fix locate-while-rolling
Paul Davis [Sat, 23 Nov 2019 20:37:00 +0000 (13:37 -0700)]
fix startup crash if no loop range is defined
Paul Davis [Sat, 23 Nov 2019 07:09:46 +0000 (00:09 -0700)]
more tweaks to correctly (or more correctly) reload disk reader buffers when loop fade choice changes
Paul Davis [Sat, 23 Nov 2019 06:41:56 +0000 (23:41 -0700)]
redesign of declicking and fades around loop boundaries
Robin Gareus [Fri, 22 Nov 2019 21:12:48 +0000 (22:12 +0100)]
Enable some key release event forwarding
This is needed for the virtual MIDI keyboard to trigger note-off events
Robin Gareus [Fri, 22 Nov 2019 21:11:55 +0000 (22:11 +0100)]
Virtual MIDI keyboard, when visible, gets to handle keyboard input first
Robin Gareus [Fri, 22 Nov 2019 19:06:43 +0000 (20:06 +0100)]
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.
Robin Gareus [Fri, 22 Nov 2019 19:05:04 +0000 (20:05 +0100)]
Inform LV2 plugins about main window ID
Robin Gareus [Fri, 22 Nov 2019 19:01:32 +0000 (20:01 +0100)]
Add support for LV2/KX transient-ID option
Robin Gareus [Thu, 21 Nov 2019 22:37:31 +0000 (23:37 +0100)]
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.
Robin Gareus [Thu, 21 Nov 2019 16:49:20 +0000 (17:49 +0100)]
GUI: Use new boost::optional API
get_value_or() has been deprecated since boost 1.56
Robin Gareus [Thu, 21 Nov 2019 16:48:56 +0000 (17:48 +0100)]
Use new boost::optional API
get_value_or() has been deprecated since boost 1.56
Robin Gareus [Thu, 21 Nov 2019 16:43:32 +0000 (17:43 +0100)]
Bump boost version requirement
1.56 is needed for boost::optional::value_or
Robin Gareus [Thu, 21 Nov 2019 01:54:19 +0000 (02:54 +0100)]
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.
Paul Davis [Wed, 20 Nov 2019 16:37:14 +0000 (09:37 -0700)]
add mixer actions for toggle disk & input monitoring; bind to d and i in mixer bindings
Robin Gareus [Tue, 19 Nov 2019 15:20:28 +0000 (16:20 +0100)]
Fix declick offset position for multi-channel tracks
Paul Davis [Tue, 19 Nov 2019 04:38:46 +0000 (21:38 -0700)]
DiskReader::_declick_offs should only advance once per ::run() call
Paul Davis [Tue, 19 Nov 2019 04:38:25 +0000 (21:38 -0700)]
DiskReader::_declick_amp needs to repeat the same work for each audio channel handled
Paul Davis [Tue, 19 Nov 2019 04:29:32 +0000 (21:29 -0700)]
fix transport FSM to stop first and declick later
Paul Davis [Tue, 19 Nov 2019 03:47:47 +0000 (20:47 -0700)]
small changes to make declick out triggered by just stopping
Robin Gareus [Tue, 19 Nov 2019 02:33:28 +0000 (03:33 +0100)]
Fix some script icons for non-square buttons
Robin Gareus [Tue, 19 Nov 2019 02:19:08 +0000 (03:19 +0100)]
Fix Lua Pangolayout ellipsis width
Robin Gareus [Tue, 19 Nov 2019 01:52:35 +0000 (02:52 +0100)]
Consistent toolbar button height
Robin Gareus [Tue, 19 Nov 2019 01:47:11 +0000 (02:47 +0100)]
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