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

1189 commits

Author SHA1 Message Date
reuk
ed1bc944fd
AudioChannelSet: Add 7.1.6 speaker layout 2021-11-25 11:42:40 +00:00
reuk
8a95fb1c82
SliderParameterAttachment: Allow right-click to change parameter value
Previously, right-clicking on a slider could change its value, but the
parameter value would not be changed, leaving the slider in a different
state to the parameter.
2021-11-24 16:20:36 +00:00
reuk
7828cad753
VST2 Host: Fix window titlebar repainting when editor sizes change
When opening the "settings" menu of Arturia Pigments VST2, the editor
window would move itself over the JUCE non-native titlebar in the
AudioPluginHost. Then, when the editor was moved back into the correct
location, the titlebar would not be redrawn, leaving it in an incorrect
state.

This change forces a repaint of the editor's peer whenever the size
changes, forcing the titlebar to repaint after the editor has moved.
2021-11-24 16:20:36 +00:00
reuk
2884610d01
VST2 Host: Respect high DPI plugin sizes on Linux 2021-11-24 16:20:36 +00:00
reuk
6de3af3566
AU: Make channel/bus handling more robust 2021-11-24 16:20:35 +00:00
reuk
81fa777ff7
ObjC Helpers: Automatically derive appropriate signature for function 2021-11-24 11:51:11 +00:00
reuk
b13bbbefb3
AudioChannelSet: Add atmos layouts 2021-11-19 16:35:22 +00:00
reuk
718307b516
AudioPlayHead: Use more descriptive FrameRate type 2021-11-19 16:35:22 +00:00
reuk
555408be40
VST3 Host: Avoid resusing IMessage and IAttributeList instances
This fixes an issue where the editor of VocAlign Project 5 would fail to
open in the AudioPluginHost.
2021-11-01 10:04:34 +00:00
attila
63ac579c1b VST3 Client: Fix build when JUCE_VST3_CAN_REPLACE_VST2 is enabled 2021-10-14 18:56:18 +02:00
reuk
7da8b73a96
AudioPluginHost: Add subprocess plugin scanning feature 2021-10-14 16:56:20 +01:00
reuk
1f15f59db6
AudioUnitPluginFormat: Fix result of hasEditor on Mac
Fixes a bug introduced in 7d1918b385,
where Ozone 9's editor failed to open correctly in the AudioPluginHost.
2021-10-14 13:15:25 +01:00
reuk
b5064f361f
HostedAudioProcessorParameter: Extract from AudioPluginInstance 2021-10-14 13:15:25 +01:00
reuk
d59230aecc
AudioPluginFormat: Remove canScanOnBackgroundThread(), as it is not generally useful 2021-10-14 12:40:25 +01:00
ed
7d1918b385 macOS/iOS: Replace compile-time deployment target checks with runtime checks using the available keyword 2021-10-13 15:06:18 +01:00
Attila Szarvas
50f3415885 ExtensionsVisitor: use forward declared types instead of void* for format-specific pointers 2021-10-12 11:47:18 +00:00
reuk
d286e690b2
PluginListComponent: Disallow scanning VST3 plugins on background threads
Native Instrument VST3s (I tested Kontakt and Supercharger) crash when
the bundleEntry function is called from a background thread on macOS.
This change disables scanning for VST3 plugins on a background thread
using the PluginListComponent, to allow loading these plugins in the
AudioPluginHost.

I can't find any "official" word on whether the bundleEntry and
bundleExit functions should be guaranteed to be made from the main
thread. However, the VST3PluginTestHost app seems to call these
functions exclusively from the main thread.
2021-10-07 14:31:26 +01:00
reuk
96612b12d8
VST Host: Ensure parent window is showing before attempting to open an editor
This fixes an issue with NI Raum and Choral where the editors would open
in a new window, rather than in the same window as the VST
AudioProcessorEditor.
2021-10-06 16:59:08 +01:00
reuk
294caba2b5
VST3: Add dirty-state set/get
Adds a mechanism to notify the host that the plugin state needs saving,
using updateHostDisplay.

Also allows JUCE hosts to detect when a plugin needs its state saving
via the AudioProcessorListener.
2021-10-06 16:59:07 +01:00
reuk
832bbed8c3
VST3: Fix error when building VST3 plugins
On macOS 10.15, stdatomic.h (included by the VST3 SDK) defines a macro
named atomic_thread_fence when building in C++20 mode. This macro was
trampling over a call to std::atomic_thread_fence from the C++ atomic
header, made in juce_Atomic.h.

No JUCE implementation files use the C11 atomic functions, so I think
it's safe to just undef the problematic symbol after including all the
VST3 implementation files.
2021-10-06 16:59:07 +01:00
reuk
462c3a8dd4
VST Host: Ensure editor windows open at correct size
Previously, on hi res displays, "Plogue AlterEgo" was opening with a
window that was too large, because the window size was applied before
the scale factor was known. When the scale factor was updated, the
window size was not changed if the window was hidden, so the window
would remain too large when it was shown.
2021-09-30 16:58:23 +01:00
reuk
8f1ba916ff
VST3 Host: Set content scale before opening plugin window for the first time
Some plugins (e.g. FabFilter Pro-C 2) will reopen their windows at their
previous size, but without accounting for a new scale factor. For these
plugins, we need to explicitly set a scale factor of 1 before calling
getSize for the first time, in order to ensure that the plugin knows it
should return its desired unscaled size, and not its size at the scale
factor it was using last.

Other plugins (Surge) misreport their desired size when it is requested
before the window has become visible. For these plugins, we need to
re-request the plugin's desired window size after it has opened.

The problems above are mostly noticeable when opening/reopening plugins
on a hi-DPI display on Windows.
2021-09-30 16:57:11 +01:00
reuk
61cdcff2e9
VST3 Host: Ensure requested size is applied, even when plugin does not support scaling
This fixes some issues with Izotope Ozone 9:
- Resizing would stutter, and could leave the view in an inconsistent
  state.
- Closing and reopening the view after resizing would display black bars
  around the editor view.

The root of the problem was that the call to Component::setSize() inside
the resizeView call checked whether the plugin supported resizing. If
not, it would force the embedded view back to the current size. This
behaviour is incorrect - if the plugin requests a resize via resizeView,
the new size should be applied whether or not the plugin "supports
resizing".
2021-09-30 14:19:27 +01:00
reuk
ebf86b5f35
VST3 Host: Correctly size unscalable editors when DPI changes 2021-09-30 14:19:27 +01:00
reuk
9bec8e633a
VST3 Host: Ensure that plugins open with their top left corner in the right position
This fixes a bug on Windows where plugins that do not implement the
IPlugViewContentScaleSupport interface opened in the AudioPluginHost
with their editors in the very top left corner of the window, rather
than below the window's titlebar.

Examples of plugins with no scaling support, suitable for reproducing
the issue:
- U-He Hive 2.1.1 Rev 12092 x64
- FabFilter Pro-C 1.23 x64
2021-09-30 14:19:26 +01:00
ed
b9542ccc4c Update code to use C++14 [[deprecated]] attribute
This commit removes the various compiler-specific JUCE_DEPRECATED macros and replaces them with C++14's deprecated attribute. It also removes the JUCE_CATCH_DEPRECATED_CODE_MISUSE flag as we can rely on the override specifier catching usage of these old virtual methods, and tidies up the DOXYGEN preprocessor checks as they were inconsistent across the codebase.
2021-09-29 16:14:00 +01:00
ed
aacca9b23c VST3 Host: Fix some issues with FabFilter plug-ins in DPI-aware Windows hosts 2021-09-29 11:46:41 +01:00
reuk
3a1be39cb6
VSTMidiEventList: Avoid UB Sanitizer warnings about out-of-bounds VLA access 2021-09-28 11:31:50 +01:00
reuk
afa6465098
UB Sanitizer: Avoid warnings in third party code, with clang 2021-09-28 11:31:50 +01:00
reuk
ea250b3655
VST3 Client: Change VST3 native menu so that its position is specified in logical pixels 2021-09-28 11:31:48 +01:00
reuk
ab966fb499
PopupMenu: Add withMousePosition helper function to Options 2021-09-28 11:31:48 +01:00
reuk
07ca7ae13b
GenericAudioProcessorEditor: Update parameter names when AudioProcessor changes 2021-09-27 15:44:48 +01:00
reuk
cfec0b5356
GenericAudioProcessorEditor: Add support for grouped parameters 2021-09-27 15:44:48 +01:00
reuk
3d1d060317
AudioPluginInstance: Add API to retrieve parameter IDs from hosted plugins 2021-09-27 15:44:47 +01:00
ed
300f573163 PluginHostType: Add Ableton Live 11 detection 2021-09-23 10:21:02 +01:00
ed
d589f65b36 AUv3: Fall back to view size if AUViewControllerBase preferredContentSize property has a zero size when opening plug-in editor 2021-09-22 13:52:56 +01:00
ed
ada1b2d693 AU: Reset plug-in host callbacks in prepareToPlay() in case they were removed when uninitialising or resetting the audio unit 2021-09-22 13:52:36 +01:00
Tom Poole
bc75010116 Bump version number to 6.1.2 2021-09-20 12:15:47 +01:00
Tom Poole
f1fecfdc88 Add some missing Doxygen tags 2021-09-20 11:36:56 +01:00
reuk
0a288fc71e
AU Host: Fix bug where modifying parameters from a custom editor would sometimes update incorrect parameters in the host
This issue could be seen when modifying the "OSC FmModSrc" parameter of
U-He Diva AU from the custom editor in the AudioPluginHost. The
parameter display in the generic parameter editor did not update
properly because the wrong parameter was marked as changed.
2021-09-14 19:36:57 +01:00
ed
24910cc4b4 Fix GCC Wshadow warnings 2021-09-14 08:42:56 +01:00
ed
1d55452b78 VST3 Host: Ensure that plug-ins without IPlugViewContentScaleSupport support are resized correctly when the native scale factor changes 2021-09-13 11:47:34 +01:00
ed
f17425c880 VST3 Host: Be more forgiving of internal parameter IDs in beginEdit/performEdit/endEdit methods 2021-09-13 11:47:34 +01:00
ed
3f699f5b14 VST3 Host: Only call onSize() in resizeView() if the size has changed
This fixes a recursive resizeView()->onSize()->resizeView() loop in Arturia Pigments as it immediately calls resizeView() with the same size.
2021-09-13 11:47:24 +01:00
ed
598748c825 VST3 Host: Call updateMidiMapping() after enabling plug-in MIDI busses in setupIO()
This fixes a crash in Roland Cloud plug-ins due to calling methods on the IMidiMapping interface before it was initialised.
2021-09-13 11:47:10 +01:00
Tom Poole
5109e30c6f Bump version number to 6.1.1 2021-09-09 12:51:15 +01:00
reuk
4f5c559ce2
VST3 Host: Ensure that program parameter is updated in response to program change requests 2021-09-07 11:30:19 +01:00
reuk
5dfae8b58b
VST3 Host: Update parameter values after plugin requests restart with kParamValuesChanged 2021-09-01 10:58:50 +01:00
Tom Poole
46fe3789fc Bump version number to 6.1.0 2021-08-23 09:55:56 +01:00
Tom Poole
9ac96840aa Fix some Doxygen warnings 2021-08-23 09:17:53 +01:00