reuk
47c7751750
VST3 Host: Avoid calling IMidiMapping functions on the audio thread
2021-05-12 11:14:35 +01:00
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.
2021-05-06 16:04:22 +01:00
ed
a8aafed53d
Removed some unnecessary virtual keywords
2021-04-27 15:56:01 +01:00
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.
2021-04-22 12:20:07 +01:00
ed
a06063dfd7
VST3: Added a missing return in the previous commit
2021-04-14 11:44:13 +01:00
ed
b1294fdadb
VST3: Call setComponentState() on message thread on Linux
2021-04-13 16:25:43 +01:00
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.
2021-04-09 12:19:22 +01:00
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.
2021-04-09 12:19:22 +01:00
ed
0aeee97b91
VST3: Reduced the scope of some MessageManagerLocks on Linux/BSD
2021-04-08 11:51:41 +01:00
ed
efd52398d1
VST3: Use shared MessageThread on Linux to run the message loop when host run loop interface isn't available
2021-04-08 11:51:41 +01:00
Tom Poole
60e13bec0c
Allow use of an external VST3 SDK on BSD
2021-04-01 08:39:25 +01:00
ed
af4b727b8a
VST3: Fixed an assertion when JUCE_FORCE_LEGACY_PARAM_IDS=1 due to getProgramParameter() returning the wrong parameter
2021-03-29 17:02:00 +01:00
ed
d8004e2e2b
Docs: Fixed a few switched "namespace juce" comments
2021-03-29 09:22:01 +01:00
ed
4b5a67f067
VST3: Fixed bypass and program parameter indices when JUCE_FORCE_USE_LEGACY_PARAM_IDS=1 and AudioProcessor::getBypassParameter() is implemented
2021-03-29 09:20:35 +01:00
Tom Poole
ef5608654d
VST3: Fixed a bug loading plug-ins
2021-03-26 10:31:45 +00:00
Tom Poole
a9ad07a945
Use RAII for CFTypes
2021-03-25 15:48:35 +00:00
ed
71b8885460
VST3: Fixed a crash accessing the program parameter when JUCE_FORCE_USE_LEGACY_PARAM_IDS=1
2021-03-22 08:34:10 +00:00
reuk
e0306d25d4
VST3 Client: Disallow creating a new editor if one editor is already active
2021-03-08 15:36:50 +00:00
ed
e813531d9b
VST3: Fixed an issue with jumpy resizing when using a fixed aspect ratio
2021-02-26 09:35:19 +00:00
ed
a7c5337568
VST/VST3: Removed a workaround for checking whether DPI-aware windows were incorrectly scaled in editor resized() callback
2021-02-19 19:07:12 +00:00
ed
3c494b8a70
VST3: Improved stability of scaled plug-in windows
2021-02-19 19:07:12 +00:00
reuk
b1917085db
AudioProcessor: Update listener callback with change details
2021-02-18 10:54:29 +00:00
ed
94330cbb53
VST3: Repaint editor when size changes in Bitwig on Linux to fix UI glitches
2021-02-11 11:23:33 +00:00
ed
d8542481fd
VST3: Fixed some intellisense arithmetic overflow warnings
2021-02-11 11:23:06 +00:00
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.
2021-02-11 11:23:06 +00:00
ed
5fc20f7106
VST: Made the check for Windows high-DPI screen change resizing more strict to prevent UI glitches when resizing manually
2021-02-11 11:23:06 +00:00
ed
46f5b126d5
Tidied up some template statement whitespace
2021-01-29 15:40:12 +00:00
ed
a1ff4eec6a
VST: Renamed ComSmartPtr -> VSTComSmartPtr to avoid confusion with existing class in juce_core
2021-01-28 11:26:13 +00:00
ed
9a127e32e4
VST3: Added explicit check for current program value in setComponentState() so it is recalled correctly when loading
2021-01-25 09:37:53 +00:00
Tom Poole
9cc7e40c86
Updated some documentation
2021-01-22 16:54:08 +00:00
ed
2b3d0c05f5
VST3: Fixed program parameter automation not being recorded in Live
2021-01-13 09:53:58 +00:00
ed
dd1ec144c4
VST3: Add AudioProcessorParameter behind the scenes in the VST3 wrapper to manage program parameter changes
2021-01-11 17:45:44 +00:00
ed
0715b7ebdd
VST3: Wrap program parameter changes in begin/endEdit() calls to ensure that automation data is recorded correctly
2021-01-06 17:17:04 +00:00
ed
3ff966603e
VST3: Update program parameter when current program is changed
2021-01-06 17:17:04 +00:00
Tom Poole
1fbd6dff9b
VST3: Fixed invalid AudioProcessorParameterGroup unit IDs
2020-12-21 10:50:57 +00:00
reuk
90664b42df
VST3: Fix issue where aftertouch messages from the host were incorrectly converted to LegacyMIDICCOut messages
2020-09-24 12:48:29 +01:00
ed
333f98d204
Squashed some compiler warnings with -Wmissing-prototypes enabled
2020-08-27 14:13:58 +01:00
ed
9f68aff35b
macOS: Fixed some symbol clashes when building 32-bit plug-ins
2020-08-12 17:02:34 +01:00
ed
e19b1bde71
VST3: Don't remove content wrapper component from desktop before destroying on Linux
2020-07-06 14:10:49 +01:00
ed
31022e4521
VST3: Fixed some build errors and warnings with JUCE_VST3_CAN_REPLACE_VST2=1 on Linux
2020-07-03 16:30:28 +01:00
reuk
422e4a0083
VST3: Fix link of 32-bit plugins
2020-07-03 11:09:05 +01:00
reuk
394c4fd475
Clang: Fix warnings when building with clang 10
2020-07-01 10:00:43 +01:00
reuk
286bb40a9e
Clang: Ensure that the VST3 entry point is exported when building with Clang on Windows
2020-07-01 10:00:43 +01:00
reuk
3c15dc79de
Clang: Fix some preprocessor defs on windows
2020-07-01 10:00:43 +01:00
ed
a2d1fc412a
VST3: Return correct count for MIDI input/output buses in getBusCount() and enable/disable them based on activateBus() calls
2020-06-30 17:33:48 +01:00
ed
009d685179
Updated all license headers
2020-06-29 08:30:22 +01:00
ed
6a5d554451
VST3: Only call restartComponent() with necessary flags
2020-06-24 10:03:08 +01:00
ed
d510b73cdf
Normalised all whitespace before args in std::function
2020-06-05 09:37:49 +01:00
reuk
b5dac7968f
Xcode: Fix ambiguous symbol errors in VST3 wrapper
...
The missing CoreFoundation include was causing issues when building
VST3 plugin-hosts.
2020-06-02 20:02:29 +01:00
ed
fb34363c0a
VST3: Fixed some alignment warnings when loading VST2-compatible state data
2020-05-28 09:48:50 +01:00