reuk
7ea93ce5d2
LV2 Host: Avoid potential deadlock in AudioProcessorGraph
Previously, preparing an AudioProcessorGraph containing hosted LV2
plugins would recreate the plugins and then set their state. For plugins
without threadsafe restore, setting the state would take the
callbackLock to avoid races with processBlock. This meant that
- During prepare, the graph would take the processorLock, then the
processor would take its own callbackLock.
- During playback, the graph would take the processor's callbackLock,
and then would take the node's processorLock.
This is probably benign (prepare shouldn't be called concurrently with
processBlock at all), but to be on the safe side we now avoid taking the
callbackLock when setting new plugin state during prepareToPlay.
3 years ago
reuk
b88b8f13c7
LV2 Host: Supply correct bundle path during instantiation
3 years ago
Tom Poole
b0a8bc0ce2
VST3: Fix a compiler warning in the VST3 SDK
3 years ago
Tom Poole
db3c6e6216
macOS/iOS: Fix unguarded availability warnings
3 years ago
Tom Poole
e984395b1d
GCC: Fix some compiler warnings in GCC 11
3 years ago
Tom Poole
a77936ecda
VST3: Fix a compiler warning in the VST3 SDK
3 years ago
reuk
1182024fc4
LV2: Add initial hosting support
3 years ago
reuk
6fffbdae92
LV2: Add generated resources
3 years ago
reuk
e4b3eda5ef
LV2: Add supporting library files
3 years ago
reuk
77090bb499
AudioProcessorGraph: Fix processing of plugins with no inputs or outputs
3 years ago
reuk
092314deac
VST2 Host: Avoid bad window errors when editor peer is deleted
3 years ago
reuk
c30b3a1a31
Plugin Hosting: Take custom scaling into account when computing editor sizes
3 years ago
reuk
cfa289d943
AudioProcessor: Allow querying of the host timestamp in processBlock
3 years ago
reuk
19ddbe2368
Warnings: Fix missing-prototypes warnings
3 years ago
Tom Poole
eda5c696e5
macOS/iOS: Fix unguarded availability warnings
3 years ago
Tom Poole
ef8ad92138
GCC: Fix some compiler warnings in GCC 11
3 years ago
Tom Poole
dea3fe60e4
Update copyright banners
3 years ago
reuk
624a898e00
VST3 Host: Avoid disabling midi buses while plugin is active
3 years ago
reuk
c7a17934e3
Formatting
3 years ago
Oli
b918fd3159
AudioProcessorGraph: Fix MIDI channel bug and graph execution modification
MIDI only plugins are no longer provided valid audio buffers
Graph nodes are only executed when they have active connections
3 years ago
attila
5343f70d02
AU Host: Avoid using wrong BundleResourceMap when opening plugin from file
Previously it was possible to have a dangling resource map. In that case
opening an AU from a file that did not have a resource map would lead to
using the previously unclosed map and attempting to load the previous
plugin again.
3 years ago
reuk
fe3d42025b
VST3: Add channel mapping tests
3 years ago
reuk
bb2b36a253
VST3 Client: Properly map between VST3 and JUCE layouts
3 years ago
reuk
bfa4f93a43
VST3 Host: Properly map between VST3 and JUCE layouts
3 years ago
reuk
d69706e08a
AudioProcessorGraph: Avoid race on AudioProcessor::suspended
3 years ago
reuk
5b3aa7fc2d
AU Client: Ensure processBlock receives AudioBuffer of correct size
fc378aaf9a
introduced a regression where
plugins with no audio channels (such as MIDI FX plugins) would receive
an audio buffer with a length-in-samples of '0', rather than the actual
block length.
3 years ago
reuk
88b5f0dc95
VST: Remove unused function
3 years ago
reuk
a8c160691c
VST3: Tidy up channel layout conversion tables
3 years ago
reuk
8c718e7ac7
VST3: Map proximity channels correctly
3 years ago
reuk
e6b6bc2cfc
AudioProcessorValueTreeState: Add default values for Parameter constructor arguments
These were mistakenly removed in afe5199848
3 years ago
reuk
ebac835673
Fix some deprecation warnings
3 years ago
reuk
afe5199848
AudioProcessorParameter: Add new ParameterID and Attributes types
3 years ago
reuk
26aa932e5f
AudioProcessor: Validate parameter version hints
3 years ago
reuk
7068e70758
AudioProcessorParameter: Add getVersionHint function
3 years ago
Tom Poole
111bbc0979
Bump version number to 6.1.6
3 years ago
reuk
288765b3c8
AU Client: Avoid potential out-of-bounds write when clearing buffers
Fixes an issue introduced in 72fa2d98e1
where zeromem might write past the end of the channel buffer.
3 years ago
reuk
63b6ecde4f
AudioProcessorParameter: Fix documentation
3 years ago
reuk
fb1f94767d
AU Host: Improve allocation checks
If the block size changes from block to block, then it's possible for
inputBuffer to be smaller than buffer, but for buffer to be smaller than
the initially-allocated size of inputBuffer.
3 years ago
reuk
c229d160f9
PluginDescription: Fall back to using deprecatedUID in createIdentifierString() if the new uniqueID is not known
3 years ago
reuk
ec867690b7
VST3: Fix leak when setting/getting state via extensions mechanism
3 years ago
reuk
72fa2d98e1
AU Wrapper: Ensure that correct input channels are cleared before processing
3 years ago
reuk
1bf9ebb4b1
VST3 Host: Avoid calling initialize twice on objects that implement both IComponent and IEditController
3 years ago
reuk
a3c55a967f
VST3 Host: Only call IPlugView::removed() if a previous call to attached() succeeded
3 years ago
reuk
068dffdb8c
AudioProcessorEditorHostContext: Fix naming of getContextMenuForParameter
3 years ago
reuk
903873dad2
VST3: Add local search path on Windows
We haven't updated the default post-build copy paths yet, as the new
local directory is not yet well-supported by DAWs.
3 years ago
reuk
ad94a69263
GenericAudioProcessorEditor: Refresh parameter value text when parameter info changes
When plugins change their 'parameter info' this often means that their
previous parameter text is no longer valid, so we should fetch new text
to represent the parameter value.
This change was primarily tested with Kontakt.
3 years ago
reuk
70b667281f
AU Host: Refresh parameter names and labels when requested by the plugin
3 years ago
reuk
093dbc7df1
Plugin Scanning: Fix thread sanitizer issues in the AudioPluginHost
3 years ago
reuk
6c046ffc04
AudioPluginHost: Allow out-of-process scanner to scan AUv3 plugins
3 years ago
reuk
b80927fc91
Nodiscard: Add to builder-pattern functions
3 years ago