Robin Gareus [Mon, 29 Oct 2018 20:52:47 +0000 (21:52 +0100)]
Safe-guard non-rt-safe sidechain operations
This is required by
7d8b93ad for showing error when actively recording.
It also prevents other UIs (OSC, Lua,..) to change re-configuring
sidechain ports/plugins while recording.
Robin Gareus [Mon, 29 Oct 2018 20:50:08 +0000 (21:50 +0100)]
Consolidate PinDialog Session/recording checks
- _session cannot be NULL while the dialog is visible.
This removes extra `if (_session)` tests.
- Operations now no longer fail silently, but show error messages.
Johannes Mueller [Sun, 28 Oct 2018 20:29:52 +0000 (21:29 +0100)]
Set session of PluginPinWidget created after ::set_session()
PluginPinWidgets initially receive their Session pointer by
PluginPinDialog::set_session(). When a RouteProcessorChange occurs all
PluginPinWidgets are recreated. Those newly created instances need a pointer to
the session.
Robin Gareus [Sun, 28 Oct 2018 20:03:43 +0000 (21:03 +0100)]
Processor-box control context menu update
Robin Gareus [Sun, 28 Oct 2018 19:37:20 +0000 (20:37 +0100)]
Don't show hidden controls inline in the mixer-strip
Robin Gareus [Sun, 28 Oct 2018 19:34:21 +0000 (20:34 +0100)]
Only allow LV2 touch events for control inputs
This fixes a crash when a plugin sends a touch events for non-control ports.
Robin Gareus [Sat, 27 Oct 2018 08:33:58 +0000 (10:33 +0200)]
Fix incorrect VST callback fall-though (effective NOOP)
Robin Gareus [Sat, 27 Oct 2018 08:33:07 +0000 (10:33 +0200)]
Fix another compiler warning
Robin Gareus [Fri, 26 Oct 2018 12:53:11 +0000 (14:53 +0200)]
Wimplicit-fallthrough fixes for tools/utils
Robin Gareus [Fri, 26 Oct 2018 12:31:14 +0000 (14:31 +0200)]
Wimplicit-fallthrough fixes for gtk-ardour
Robin Gareus [Fri, 26 Oct 2018 12:30:26 +0000 (14:30 +0200)]
Fix some Wimplicit-fallthrough
A "fall through" comment is most portable way to indicate
"no break, fallthru" cases.
* __attribute__ ((fallthrough)) // is not portable
* [[fallthrough]]; // is C++17
Robin Gareus [Fri, 26 Oct 2018 12:25:55 +0000 (14:25 +0200)]
Fix some compiler warnings (exception catches)
Robin Gareus [Fri, 26 Oct 2018 11:40:03 +0000 (13:40 +0200)]
Glib throws a const FileError exception
Robin Gareus [Fri, 26 Oct 2018 11:38:28 +0000 (13:38 +0200)]
Fix Lua bindings (music-time, mapping)
Robin Gareus [Thu, 25 Oct 2018 02:25:15 +0000 (04:25 +0200)]
Plugin analysis numerics
Show vertical marker-line (freq) and precise numeric data of the
transfer function (dB, deg).
Robin Gareus [Thu, 25 Oct 2018 00:00:08 +0000 (02:00 +0200)]
Fix race-condition/deadlock, plugin-copy while rolling
lili93's session (#ardour) triggered this w/jackd 512fpp:
Drag/Drop copy a latent plugin from one track to another while rolling.
The GUI-thread as well as the auto-connect thread concurrently call
jack_recompute_total_latencies(). The auto-connect thread holds
a process lock while doing so. The GUI does not use any mutexes.
This randomly deadlocks in libjack.
backtrace: https://pastebin.com/6m3KGhWS
Robin Gareus [Tue, 23 Oct 2018 22:15:44 +0000 (00:15 +0200)]
Fix typo in binding, amend
9bbbc7fbe
John Emmas [Tue, 23 Oct 2018 08:55:31 +0000 (09:55 +0100)]
Add some missing link libs to MSVC zita-convolver
Robin Gareus [Mon, 22 Oct 2018 13:46:39 +0000 (15:46 +0200)]
Fix an edge-case in Dummy backend's random generator
INT_MAX == 2^31 is not a valid random seed for this LCG.
Robin Gareus [Mon, 22 Oct 2018 13:43:46 +0000 (15:43 +0200)]
Sort VST factory presets
This is more of a workaround than a fix. Simply by forcing the
URI to be sortable (VST-user presets are sorted at the end).
This eventually needs a deeper cleanup and API consolidation
PluginInfo::get_presets(bool) returns an ordered std::vector.
However this API is only used in a few cases where the plugin is
not instantiated. PluginInfo::get_presets(bool).
The problem is Plugin::get_presets(). The method returns
information that was previously cached by Plugin::find_presets() in
std::map<URI, ...>
John Emmas [Mon, 22 Oct 2018 07:56:22 +0000 (08:56 +0100)]
Remaining changes needed to build zita-convolver with MSVC
John Emmas [Mon, 22 Oct 2018 07:53:20 +0000 (08:53 +0100)]
Add MSVC support for building the 'zita-convolver' library (which is now needed by libardour)
John Emmas [Mon, 22 Oct 2018 07:46:59 +0000 (08:46 +0100)]
Accommodate newly introduced source(s) in our MSVC project (fluidsynth)
Robin Gareus [Sun, 21 Oct 2018 18:45:25 +0000 (20:45 +0200)]
Potential fix for lost VST MIDI events
Ardour's VST MIDI buffer API does not yet implement offsets and limits.
When a cycle is split, the same midi-buffer is used for all sub-divisions
leading to duplicate, offset, events.
Robin Gareus [Sun, 21 Oct 2018 15:02:14 +0000 (17:02 +0200)]
MSVC compatibility for zita-convolver
Christopher Arndt [Sat, 20 Oct 2018 22:56:38 +0000 (00:56 +0200)]
Avoid use of 'std::to_string
Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
Christopher Arndt [Sat, 20 Oct 2018 21:48:21 +0000 (23:48 +0200)]
Add plugin version and parameter count to VST user presets
Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
Len Ovens [Fri, 19 Oct 2018 23:58:39 +0000 (16:58 -0700)]
Personal monitor now saves and restores
Robin Gareus [Fri, 19 Oct 2018 17:13:36 +0000 (19:13 +0200)]
Example convolution plugin (Lua script, hardcoded IR)
Robin Gareus [Thu, 18 Oct 2018 23:08:04 +0000 (01:08 +0200)]
Lua bindings for convolution DSP
Robin Gareus [Thu, 11 Oct 2018 13:29:10 +0000 (15:29 +0200)]
Implement basic libardour convolution DSP
Robin Gareus [Thu, 11 Oct 2018 15:25:26 +0000 (17:25 +0200)]
zita-convolver windows/mingw build fix
- semaphore is available,
- pthread_t is not a pointer type (but here it's not used anyway)
Robin Gareus [Wed, 10 Oct 2018 22:52:37 +0000 (00:52 +0200)]
NO-OP: clang-format whitespace
Robin Gareus [Wed, 10 Oct 2018 22:43:06 +0000 (00:43 +0200)]
zita-convolver: add namespace & visibility, remove global externs
Robin Gareus [Wed, 10 Oct 2018 22:35:53 +0000 (00:35 +0200)]
Add upstream libzita-convolver 4.0.3
Robin Gareus [Fri, 19 Oct 2018 16:10:19 +0000 (18:10 +0200)]
Allow Lua DSP processors to report latency
Len Ovens [Fri, 19 Oct 2018 15:49:30 +0000 (08:49 -0700)]
Add personal monitor sends
Robin Gareus [Thu, 18 Oct 2018 13:07:45 +0000 (15:07 +0200)]
Fix copy/edit in
e047b01aa256
Robin Gareus [Thu, 18 Oct 2018 02:15:47 +0000 (04:15 +0200)]
Fix scalar initialization of shared_ptr<>.
Robin Gareus [Thu, 18 Oct 2018 02:09:14 +0000 (04:09 +0200)]
Fluidsynth 2.0 uses anonymous unions (added in c11, or gnu99)
Andreas Müller [Thu, 11 Oct 2018 22:56:59 +0000 (00:56 +0200)]
Follow fluidsynth's API changes introduced with 2.0.0
Updated patch from Andreas Müller <schnitzeltony@gmail.com>
Robin Gareus [Wed, 17 Oct 2018 22:41:02 +0000 (00:41 +0200)]
Update Fluidsynth to 2.0.1
Len Ovens [Wed, 17 Oct 2018 23:25:49 +0000 (16:25 -0700)]
Noop: fix white space
Len Ovens [Wed, 17 Oct 2018 22:58:08 +0000 (15:58 -0700)]
Option to hide send if aux is hidden
Andreas Müller [Wed, 17 Oct 2018 20:10:41 +0000 (22:10 +0200)]
Prevent excessive meter redraws for inactive meters at zero II
Same as
be826f363522dbca96c8263d404c57c4fe9ff0e2
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Paul Davis [Wed, 17 Oct 2018 18:13:52 +0000 (14:13 -0400)]
correct comment
Paul Davis [Wed, 17 Oct 2018 18:11:32 +0000 (14:11 -0400)]
use IsPhysical port flag to decide what to show in the "system" tab of a patchbay/matrix
Paul Davis [Wed, 17 Oct 2018 18:10:50 +0000 (14:10 -0400)]
add new API for retrieving port flags from backend
Robin Gareus [Wed, 17 Oct 2018 17:56:06 +0000 (19:56 +0200)]
Fix MMC range 0..127 (libardour uses and 0x7f)
Paul Davis [Wed, 17 Oct 2018 17:15:52 +0000 (13:15 -0400)]
when calling Session::engine_halted() after a user-driven engine stop, make sure Engine::running() will be false
Jan Lentfer [Fri, 21 Sep 2018 14:06:16 +0000 (16:06 +0200)]
LCXL: complete overhaul and Mixbus support
Térence Clastres [Sat, 8 Sep 2018 17:03:45 +0000 (19:03 +0200)]
LCXL: Assign one callback function per Knob/Fader
Len Ovens [Tue, 16 Oct 2018 20:56:09 +0000 (13:56 -0700)]
OSC: personal monitor can hide the aux bus
Len Ovens [Tue, 16 Oct 2018 20:33:42 +0000 (13:33 -0700)]
OSC: personal monitor send hidden follows aux hidden
Len Ovens [Mon, 15 Oct 2018 17:38:52 +0000 (10:38 -0700)]
OSC: personal monitor should only send signal present on change
Paul Davis [Mon, 15 Oct 2018 20:38:21 +0000 (16:38 -0400)]
indentation fix
Paul Davis [Mon, 15 Oct 2018 20:38:07 +0000 (16:38 -0400)]
#include tidy-up
Paul Davis [Mon, 15 Oct 2018 20:04:53 +0000 (16:04 -0400)]
change region->row map of EditorRegions to use iterator, not RowReference
RowReference was responsible for 75% of the cost of building the region list, and incurs cost
at every later insert/delete/reorder. Since both ListStore and TreeStore have persistent iterators,
use them instead
John Emmas [Mon, 15 Oct 2018 09:21:45 +0000 (10:21 +0100)]
Remove a #include and substitute a forward declaration (to simplify and speed up compilation)
John Emmas [Mon, 15 Oct 2018 09:19:26 +0000 (10:19 +0100)]
Adapt some MSVC projects to accommodate the changes to 'ptformat' library
Len Ovens [Sat, 13 Oct 2018 18:02:47 +0000 (11:02 -0700)]
OSC: allow personal monitor to add a send.
Paul Davis [Mon, 15 Oct 2018 02:06:13 +0000 (22:06 -0400)]
remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead
Paul Davis [Mon, 15 Oct 2018 02:06:11 +0000 (22:06 -0400)]
remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead
Paul Davis [Mon, 15 Oct 2018 01:22:39 +0000 (21:22 -0400)]
fix mixup with previous commit
Paul Davis [Mon, 15 Oct 2018 00:35:31 +0000 (20:35 -0400)]
fix several inter-related problems with libptformat
Paul Davis [Mon, 15 Oct 2018 00:35:29 +0000 (20:35 -0400)]
fix several inter-related problems with libptformat
John Emmas [Sat, 13 Oct 2018 12:49:50 +0000 (13:49 +0100)]
Clarify where the file 'ptfformat.h' can be found
John Emmas [Sat, 13 Oct 2018 12:47:16 +0000 (13:47 +0100)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
John Emmas [Sat, 13 Oct 2018 12:46:30 +0000 (13:46 +0100)]
Accommodate newly introduced source(s) in our MSVC project (libardour)
Damien Zammit [Wed, 10 Oct 2018 09:24:47 +0000 (20:24 +1100)]
PT import: Fix circular dependency with libptformat <-> libardour
Damien Zammit [Wed, 10 Oct 2018 09:17:57 +0000 (20:17 +1100)]
PT import: Minor changes to session
Damien Zammit [Wed, 10 Oct 2018 09:19:12 +0000 (20:19 +1100)]
PT import: Add new import_pt.cc session methods
Damien Zammit [Wed, 10 Oct 2018 09:13:14 +0000 (20:13 +1100)]
PT import: editor_pt_import complete rewrite
Damien Zammit [Wed, 10 Oct 2018 09:09:24 +0000 (20:09 +1100)]
PT import: Add new PTImportSelector dialog
Damien Zammit [Wed, 10 Oct 2018 09:21:29 +0000 (20:21 +1100)]
libptformat: Update lib to upstream
e75320e (+source lengths)
Robin Gareus [Wed, 10 Oct 2018 22:17:00 +0000 (00:17 +0200)]
Always use internal, modified, zita-resampler
zita-resampler was modified from the original:
* a dedicated mono variable-resampler version was added
* full-cycle no-resampling was optimized into a delayline
Robin Gareus [Wed, 10 Oct 2018 23:47:46 +0000 (01:47 +0200)]
Consolidate relative sched_get_priority computation
Robin Gareus [Wed, 10 Oct 2018 23:36:49 +0000 (01:36 +0200)]
Use new RT-priority API
Robin Gareus [Wed, 10 Oct 2018 23:36:10 +0000 (01:36 +0200)]
Add API to query backend realtime thread priority
Robin Gareus [Wed, 10 Oct 2018 20:41:49 +0000 (22:41 +0200)]
Fix master_send_enable_controllable for Mixbusses
Robin Gareus [Wed, 10 Oct 2018 20:32:08 +0000 (22:32 +0200)]
Fix inconsistent controllable Lua binding names
This also fixes incorrectly mapped send_level/enable
Robin Gareus [Wed, 10 Oct 2018 20:15:28 +0000 (22:15 +0200)]
Fix well-known control Lua bindings
Paul Davis [Wed, 10 Oct 2018 15:56:49 +0000 (11:56 -0400)]
revert the coupling of location UI clock modes to transport clocks
Paul Davis [Wed, 10 Oct 2018 15:47:05 +0000 (11:47 -0400)]
use primary, not secondary, clock mode to drive other clock modes, and dynamically update region editors, location UI and editor regions when it changes
Paul Davis [Wed, 10 Oct 2018 15:24:17 +0000 (11:24 -0400)]
region editor should use primary clock mode, not secondary
Robin Gareus [Tue, 9 Oct 2018 17:26:02 +0000 (19:26 +0200)]
Ignore small (or negative) radii.
Some calls use e.g. (corner_radius - 1.5). With small radii or boxy
layout the radius can become negative.
Robin Gareus [Tue, 9 Oct 2018 17:24:42 +0000 (19:24 +0200)]
Constant radian/degree factor
Robin Gareus [Tue, 9 Oct 2018 17:23:17 +0000 (19:23 +0200)]
Remove unused variable
Paul Davis [Mon, 8 Oct 2018 16:59:51 +0000 (12:59 -0400)]
some rather simple code to allow MIDI Clock to set the tempo of the session.
This is only allowed if the session has only 1 tempo marker
Paul Davis [Sun, 7 Oct 2018 16:57:56 +0000 (12:57 -0400)]
use C++, dammit
Paul Davis [Sun, 7 Oct 2018 16:43:28 +0000 (12:43 -0400)]
fix duplicate name check for new transport master
Paul Davis [Sun, 7 Oct 2018 16:43:14 +0000 (12:43 -0400)]
show message if adding transport master doesn't work
Paul Davis [Sun, 7 Oct 2018 16:36:04 +0000 (12:36 -0400)]
make name entry activation close dialog (potentially)
Paul Davis [Sun, 7 Oct 2018 16:29:52 +0000 (12:29 -0400)]
delete transport masters from an idle callback
Paul Davis [Sun, 7 Oct 2018 16:29:37 +0000 (12:29 -0400)]
fix return value and avoid unnecessary extra conditional
Paul Davis [Sun, 7 Oct 2018 16:28:53 +0000 (12:28 -0400)]
remove crazy thinko
Paul Davis [Sun, 7 Oct 2018 15:09:54 +0000 (11:09 -0400)]
add dialog for adding new transport masters
Ben Loftis [Sun, 7 Oct 2018 15:09:38 +0000 (10:09 -0500)]
Faderport(Classic): Add Record-PreRoll and Record-CountIn actions to the footswitch selections. Could make this menu access -any- action, but I think a short useful list of transport items is better in this case.
Robin Gareus [Sat, 6 Oct 2018 23:44:33 +0000 (01:44 +0200)]
Fix DSP-load window when removing plugins/routes
DropReferences of a single item should only drop references of the
instance in question -- and refill, keep the remaining items.
Robin Gareus [Sat, 6 Oct 2018 19:30:24 +0000 (21:30 +0200)]
Sort Sidechain port list by mixer-order instead of alphabetically