1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-20 01:14:20 +00:00
Commit graph

254 commits

Author SHA1 Message Date
reuk
31a7c62baf
Windows: Fix and suppress some analysis warnings
This fixes warnings that are emitted when building with the `-analyze`
flag enabled.
2021-05-26 15:34:26 +01:00
reuk
6db900926b
VST3 Client: Fix issue where host failed to receive latency change notifications
In cases where a VST3 plugin set a non-zero latency in its
prepareToPlay, and then set its latency to 0 later on, the host was not
notified about the latency change.
2021-05-21 16:30:18 +01:00
reuk
2f04d6a846
VST3 Client: Fix leak caused by unnecessary manual refcounting
In older versions of the VST3SDK, hostContext is a raw pointer,
in newer versions it's a smart pointer. If we do manual
refcounting with the smart pointer, we may cause leaks.
2021-05-21 16:29:48 +01:00
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