reuk
f35c2d90e2
VST3 Host: Ensure AudioProcessor parameter indices are used when appropriate
Previously, IEditController parameter indices were being used to index
into the AudioProcessor parameter array, but these parameter indices are
not guaranteed to point to the same parameter (parameter groups may
cause reordering on JUCE's side). Now, we use the IEditController
indices universally.
4 years ago
ed
a8aafed53d
Removed some unnecessary virtual keywords
4 years ago
ed
a1337a3863
VST3: Workaround incorrect VST3 editor ref-count bug in Adobe Audition
Audition incorrectly increments the ref-count of the IPlugView* returned from IEditController::createView() and never fully releases it. This commit reverts e0306d25
for Audition to ensure that an editor is always returned, otherwise Audition displays a blank GUI.
4 years ago
ed
a06063dfd7
VST3: Added a missing return in the previous commit
4 years ago
ed
b1294fdadb
VST3: Call setComponentState() on message thread on Linux
4 years ago
reuk
361f839546
VST3 Client: Avoid calling performEdit from the audio thread
Previously, all VST3 parameter changes were signalled to the host via
performEdit, regardless of the originating thread. This breaks the
contract of the IEditController interface, which requires that all calls
are made from the UI thread.
This change modifies the VST3 wrapper so that it will only call
performEdit when a parameter is set on the message thread. If a
parameter is set on the audio thread instead, then the parameter change
will be signalled to the host using
`ProcessData::outputParameterChanges`.
If your VST3 plugin uses a background thread to update parameters for
some reason, you'll encounter data races. Please don't do that.
4 years ago
reuk
c507ec9e73
VST3 Client: Ensure IComponentHandler::restartComponent is only called from the UI thread
When loading a JUCE plugin in Live, Live was producing diagnostic
messages in its Log.txt warning that restartComponent was being called
from a non-UI thread. This change should silence this warning, and
improve compliance with the VST3 spec.
4 years ago
ed
0aeee97b91
VST3: Reduced the scope of some MessageManagerLocks on Linux/BSD
4 years ago
ed
efd52398d1
VST3: Use shared MessageThread on Linux to run the message loop when host run loop interface isn't available
4 years ago
Tom Poole
60e13bec0c
Allow use of an external VST3 SDK on BSD
4 years ago
ed
af4b727b8a
VST3: Fixed an assertion when JUCE_FORCE_LEGACY_PARAM_IDS=1 due to getProgramParameter() returning the wrong parameter
4 years ago
ed
d8004e2e2b
Docs: Fixed a few switched "namespace juce" comments
4 years ago
ed
4b5a67f067
VST3: Fixed bypass and program parameter indices when JUCE_FORCE_USE_LEGACY_PARAM_IDS=1 and AudioProcessor::getBypassParameter() is implemented
4 years ago
Tom Poole
ef5608654d
VST3: Fixed a bug loading plug-ins
4 years ago
Tom Poole
a9ad07a945
Use RAII for CFTypes
4 years ago
ed
71b8885460
VST3: Fixed a crash accessing the program parameter when JUCE_FORCE_USE_LEGACY_PARAM_IDS=1
4 years ago
reuk
e0306d25d4
VST3 Client: Disallow creating a new editor if one editor is already active
4 years ago
ed
e813531d9b
VST3: Fixed an issue with jumpy resizing when using a fixed aspect ratio
4 years ago
ed
a7c5337568
VST/VST3: Removed a workaround for checking whether DPI-aware windows were incorrectly scaled in editor resized() callback
4 years ago
ed
3c494b8a70
VST3: Improved stability of scaled plug-in windows
4 years ago
reuk
b1917085db
AudioProcessor: Update listener callback with change details
4 years ago
ed
94330cbb53
VST3: Repaint editor when size changes in Bitwig on Linux to fix UI glitches
4 years ago
ed
d8542481fd
VST3: Fixed some intellisense arithmetic overflow warnings
4 years ago
ed
77f8e48730
VST3: Fixed incorrect high-DPI plug-in initial window size in Live on Windows
Live calls getSize() before the plug-in has been attached to the system window and can query the correct system scale factor, this size is then used to resize the plug-in after it has been attached resulting in an unscaled window size.
4 years ago
ed
5fc20f7106
VST: Made the check for Windows high-DPI screen change resizing more strict to prevent UI glitches when resizing manually
4 years ago
ed
46f5b126d5
Tidied up some template statement whitespace
4 years ago
ed
a1ff4eec6a
VST: Renamed ComSmartPtr -> VSTComSmartPtr to avoid confusion with existing class in juce_core
4 years ago
ed
cc9fdc3d6a
VST3: Added explicit check for current program value in setComponentState() so it is recalled correctly when loading
4 years ago
ed
9a127e32e4
VST3: Added explicit check for current program value in setComponentState() so it is recalled correctly when loading
4 years ago
Tom Poole
9cc7e40c86
Updated some documentation
4 years ago
ed
2b3d0c05f5
VST3: Fixed program parameter automation not being recorded in Live
4 years ago
ed
dd1ec144c4
VST3: Add AudioProcessorParameter behind the scenes in the VST3 wrapper to manage program parameter changes
4 years ago
ed
0715b7ebdd
VST3: Wrap program parameter changes in begin/endEdit() calls to ensure that automation data is recorded correctly
4 years ago
ed
3ff966603e
VST3: Update program parameter when current program is changed
4 years ago
Tom Poole
1fbd6dff9b
VST3: Fixed invalid AudioProcessorParameterGroup unit IDs
4 years ago
reuk
90664b42df
VST3: Fix issue where aftertouch messages from the host were incorrectly converted to LegacyMIDICCOut messages
4 years ago
ed
333f98d204
Squashed some compiler warnings with -Wmissing-prototypes enabled
4 years ago
ed
9f68aff35b
macOS: Fixed some symbol clashes when building 32-bit plug-ins
4 years ago
ed
e19b1bde71
VST3: Don't remove content wrapper component from desktop before destroying on Linux
4 years ago
ed
31022e4521
VST3: Fixed some build errors and warnings with JUCE_VST3_CAN_REPLACE_VST2=1 on Linux
4 years ago
reuk
422e4a0083
VST3: Fix link of 32-bit plugins
4 years ago
reuk
394c4fd475
Clang: Fix warnings when building with clang 10
4 years ago
reuk
286bb40a9e
Clang: Ensure that the VST3 entry point is exported when building with Clang on Windows
4 years ago
reuk
3c15dc79de
Clang: Fix some preprocessor defs on windows
4 years ago
ed
a2d1fc412a
VST3: Return correct count for MIDI input/output buses in getBusCount() and enable/disable them based on activateBus() calls
4 years ago
ed
009d685179
Updated all license headers
4 years ago
ed
51fe471461
VST3: Only call restartComponent() with necessary flags
4 years ago
ed
6a5d554451
VST3: Only call restartComponent() with necessary flags
4 years ago
ed
d510b73cdf
Normalised all whitespace before args in std::function
5 years ago
reuk
b5dac7968f
Xcode: Fix ambiguous symbol errors in VST3 wrapper
The missing CoreFoundation include was causing issues when building
VST3 plugin-hosts.
5 years ago