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

1355 commits

Author SHA1 Message Date
reuk
7da615a7a3
Objective-C: Tidy up block usages, and document block helpers 2023-03-02 13:25:49 +00:00
reuk
d073a7e8ca
VST3 Host: Avoid reading from non-existent buses 2023-03-02 12:03:31 +00:00
reuk
3d09a98826
AudioProcessorGraph: Avoid data race when setting parent on AudioGraphIOProcessor 2023-03-02 12:03:31 +00:00
reuk
39a731de46
ScopedMessageBox: Replace old AlertWindow uses with new API 2023-02-22 21:00:17 +00:00
reuk
d5ad26a162
AUv2 Client: Add support for new MIDIEventList APIs on supported platforms 2023-02-15 22:23:56 +00:00
reuk
d4dd149b64 VST Host: Avoid re-adding VST window to list of active windows after destruction has started
On Windows, broughtToFront may be called during the destructor of
VSTPluginHost, adding the window back into activeVSTWindows, leading to
a heap-use-after-free in vstHookWndProc.

This change means that broughtToFront will only reorder
activeVSTWindows; it will never add a window that's not already in the
list.
2023-02-14 22:29:01 +00:00
Tom Poole
29a90a0231
BSD: Fix some compiler warnings 2023-02-14 17:00:02 +00:00
reuk
0889588ae4
VST3: Avoid copy in channel mapper 2023-02-06 10:21:37 +00:00
reuk
543b001e9c FileSearchPath: Allow working with paths that are not necessarily absolute
This allows paths that are prefixed with environment variables to behave
as expected. This is useful when scanning the default LV2 locations in
the AudioPluginHost on Windows.
2023-02-01 23:05:51 +00:00
reuk
ff534baf5f GenericAudioProcessorEditor: Fix issue where the ChoiceParameterComponent would re-set the parameter value in response to a parameter value change 2023-01-27 22:29:08 +00:00
reuk
39ba1c8383
VST3: Remove unhelpful assertion
Some hosts (e.g. REAPER) will attempt to instantiate plug-ins with 64
active channels, and JUCE can't represent this layout. In this case,
failing to convert between VST3/JUCE layouts is not a logical error, so
asserting is not appropriate.
2023-01-26 17:55:56 +00:00
reuk
621e5e3de4
AudioProcessorGraph: Add basic benchmark test 2023-01-25 17:12:33 +00:00
reuk
cd6939c073
AudioProcessorGraph: Improve lookup speed in isBufferNeedLater 2023-01-25 17:12:33 +00:00
reuk
4211a2a0fd
AudioProcessorGraph: Only prepare a render sequence for the current processing precision 2023-01-25 17:12:33 +00:00
reuk
eaa6dfc3ee
AudioProcessorGraph: Allow triggering manual rebuild, and avoid rebuilding if nothing has changed 2023-01-25 17:12:33 +00:00
reuk
4b222427f9
VST3: Avoid requesting channel layouts that cannot be represented as SpeakerArrangements 2023-01-25 17:07:23 +00:00
reuk
6bd31bab35
VST3 Client: Allow mismatched channel counts in safe cases 2023-01-25 13:14:54 +00:00
Tom Poole
78f1baae08 Bump version number to 7.0.5 2023-01-25 11:37:31 +00:00
reuk
210ed82ca2
VST3 Host: Send parameter changes to IEditController, even when process is not being called
Previously, all parameter changes were routed first into
cachedParamValues. Then, on each audio callback, an update would be sent
to the editor via the parameterDispatcher for each changed value in
cachedParamValues.

Now, parameter changes are immediately added to the parameterDispatcher,
without needing to wait for an audio callback.
2023-01-12 19:13:56 +00:00
reuk
1bc268de70
AudioProcessorGraph: Cache render buffer pointers for improved performance 2023-01-05 19:52:53 +00:00
Tom Poole
715fa7e8dc Bump version number to 7.0.4 2023-01-05 14:36:45 +00:00
attila
4ef83305e2 Windows DLL: Fix FloatVectorOperations related warnings 2023-01-03 18:59:48 +01:00
attila
6e96ad1f68 Windows DLL: Fix warning 2023-01-03 18:59:48 +01:00
attila
9da424a663 Fix Windows DLL build
In Windows DLL builds we inject operator new/delete definitions into
classes with a leak detector. This requires that all inheritance from
such classes must be public, and classes inheriting from multiple such
classes must disambiguate between the base's operators.
2023-01-03 17:48:22 +01:00
Aga Janowicz
83ba03a7de VST: Fix some unused variable warnings on iOS/Android 2022-12-22 22:08:14 +00:00
Tom Poole
bcefe7e892 Add some missing JUCE_BSD guards 2022-12-21 22:20:06 +00:00
reuk
76adebee13
AudioProcessorGraph: Fix an issue where IO nodes sometimes failed to update their channel counts 2022-12-14 11:12:33 +00:00
reuk
b70ab79173
LV2 Client: Sanitise parameter IDs to ensure validity of generated ttl files 2022-12-14 11:12:33 +00:00
reuk
54f5077eff
VST3 Host: Avoid rebuilding parameter tree in refreshParameterList
The VST3 spec disallows adding/removing parameters at runtime.
As far as I can tell, there's no way for a plugin to signal to the host
that the unitIds of one or more parameters have changed, so I suspect
these are not allowed to change at runtime either.

Given this, I can't think of a good reason for refreshParameterList to
have any effect for VST3 plug-ins.
2022-12-14 11:12:31 +00:00
reuk
8d4b3774b2
VST3: Add missing warning for clang 15 on Windows 2022-12-01 11:41:51 +00:00
reuk
755e25cb5b
PluginHostType: Add checks for auvaltool and com.apple.audio.InfoHelper 2022-12-01 11:41:51 +00:00
reuk
28f2157912
Convert ignoreUnused to [[maybe_unused]] 2022-12-01 11:41:50 +00:00
Tom Poole
306ed633c6 Bump version number to 7.0.3 2022-11-29 11:04:54 +00:00
attila
23445ebd92 ARAPluginDemo: Add more features to demo host integration 2022-11-23 16:05:04 +01:00
reuk
cbf59e185f
APVTS: Add missing qualification to std::move 2022-11-02 11:35:51 +00:00
reuk
5ad617edc0
LV2 Host: By default, search in lib64 directories on multilib systems when host is 64-bit 2022-11-02 11:35:51 +00:00
hogliux
11bd36b3ce AudioProcessorGraph: Ensured that nodes are deleted soon after being removed from the graph 2022-10-26 09:35:27 +02:00
reuk
08b737e095
VST3 Host: Fix argument forwarding
Co-authored-by: Dan Raviv <dan@soundradix.com>
2022-10-06 17:34:00 +01:00
reuk
9b1b518998
VST Host: Fix warnings when compiling with mingw on Linux 2022-10-06 17:34:00 +01:00
hogliux
f370edcb5d VST3: Fix an issue with sidechain configurations in Cubase 2022-10-05 08:41:56 +02:00
hogliux
447c760be3 VST2 Host: Fix an incorrect assertion in the VST2 hosting code's handling of channel pointers 2022-10-04 19:28:19 +02:00
reuk
7c14c1fcd7
Use more concise stdlib type aliases 2022-09-26 18:03:47 +01:00
attila
f075de78fa AudioIODeviceCallback, AudioBuffer, AudioFormatReader: Use const T* const* for multi-channel data 2022-09-22 07:50:18 +00:00
reuk
8b8ae10059
Build: Replace JUCE_NODISCARD with [[nodiscard]] 2022-09-12 16:14:57 +01:00
reuk
045214c986
Build: Allow building with llvm-mingw headers 2022-09-12 16:14:57 +01:00
reuk
b3a4d54a72
Build: Update the minimum C++ standard to C++17 2022-09-12 16:14:57 +01:00
reuk
98d81bf87a
VST3 Client: Allow channel size mismatches on inactive buses
Previously, the bus layout was considered invalid if the host provided
an unexpected number of channels on a disabled bus. Specifically,
Acoustica 7 would prepare sidechain input buses with a non-zero number
of channels, but provide a zero-channel bus during processing.

Given that the plug-in doesn't attempt to read from disabled buses, it
should be safe to process as normal in this scenario.
2022-09-01 15:44:26 +01:00
reuk
6feeb7dcdd
VST3 Host: Avoid updating bus layout and activation of activated plug-ins
According to the VST3 spec, activateBus and setBusArrangements shall not
be called when a plugin is in the 'activated' state.

Previously, if prepareToPlay was called twice in a row on a hosted VST3
plugin, during the second call the plug-in would already be activated,
but its bus layout would still be adjusted. Now, we always ensure that
the plugin is inactive before the bus properties are adjusted.
2022-09-01 15:44:26 +01:00
reuk
b663c36c97
AU Host: Refactor PositionInfo usage
This avoids repeating the 'fallback' values in the case that the
AudioPlayHead or PositionInfo is not available.

As a side-effect of this change, when an AudioPlayHead is available but
does not supply a valid BPM value, a fallback of 120 will be used,
instead of 0. This fixes an issue where the Microtonic sequencer failed
to play in the AudioPluginHost.
2022-09-01 15:44:26 +01:00
reuk
34341bc597
APVTS: Avoid calling null function when unspecified 2022-09-01 15:44:26 +01:00