1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00
Commit graph

1421 commits

Author SHA1 Message Date
reuk
35d3fab960
AU Client: Improve AUChannelInfo reporting and add tests
The previous implementation could emit 'wildcard' channel layouts in too
many scenarios.

A wildcard channel count is -1 or -2, and indicates that any number of
channels is supported on the bus.

If the input and output layouts must match, then a layout of [-1, -1]
should be returned.

If any layout is valid in both directions, then a layout of [-1, -2]
should be returned.

In the case where we have a bus A and opposite bus B, we will now only
emit a wildcard count for bus A if every bus standard bus layout up to a
channel count of 16 can be applied successfully without changing the bus
count of B.
2025-08-14 14:13:09 +01:00
reuk
aebba3c875
AAX Client: Manually declare compatibility with all channel layouts for MIDI FX
Previously, MIDI FX plugins would only load on mono tracks.

Now, we add a separate plugin description for each potential track
layout. This is the same approach used by the example MIDI FX from the
AAX SDK.
2025-08-14 13:09:51 +01:00
Anthony Nicholls
34675235e5 VST3: Prevent some warnings 2025-06-12 15:52:01 +01:00
Anthony Nicholls
26edac975d VST3: Fix a bug converting a compatibility ID to a string 2025-06-12 15:52:01 +01:00
Anthony Nicholls
7c7e51176e VST3: Include the name and version in the moduleinfo 2025-06-12 15:52:01 +01:00
Anthony Nicholls
af256aab02 VST3: Prevent a compiler warning 2025-06-11 15:50:44 +01:00
Anthony Nicholls
f3d7c74ea1 VST3: Allow manifest helper to run independently 2025-06-10 16:13:33 +01:00
reuk
b20df8d713
PopupMenu: Add missing target components for menus created by built-in widgets 2025-06-03 16:08:56 +01:00
Anthony Nicholls
34c32cbaf0 VST3: Add flag for ignoring parameter migration warning to the module header 2025-06-03 14:17:26 +01:00
Tom Poole
b0d569c74b Bump version number to 8.0.8 2025-06-02 09:24:54 +01:00
reuk
ee37564083
AudioDeviceManager: Move CallbackMaxSizeEnforcer from StandaloneFilterWindow 2025-05-27 14:39:25 +01:00
reuk
5d11fa5045
VST3 Client: Include VST2 ID in set of compatible classes when JUCE_VST3_CAN_REPLACE_VST2 is set
With this change in place:
- The compatible VST2 ID will be included in the list of compatible
  classes in the moduleinfo.json.
- getCompatibleParameterIds() will be called with the ID of the
  commpatible VST2 plugin.
2025-05-22 10:57:35 +01:00
reuk
dae152ee99
VST3 Client: Move parameter migration warning to ensure that relevant macros are defined when error state is checked 2025-05-21 17:48:11 +01:00
reuk
626a4ea475
VST2 Client: Fix issue where compatible VST3 IDs were misreported
`convertVST2PluginId` returns `array<byte, 16>` rather than `String`, so
it's incorrect to interpret the result as a hex string.
2025-05-06 16:11:20 +01:00
reuk
e42ab22a78
VST3 Client: Add null checks, in case Edit Controller is used before being connected 2025-05-06 16:11:20 +01:00
Tom Poole
99b752a1d2 Bump version number to 8.0.7 2025-04-08 10:51:07 +01:00
attila
7f4176e259 Fix potential crash in Ableton Live when dismissing the plugin window with Esc
The crash could be reproduced with a WebBrowserComponent, but it was not
the root cause of it.
2025-03-27 17:41:18 +01:00
attila
4deee6976b AU Client: Fix calling makeFirstResponder for nil window in Ableton Live
When pressing the Escape key the call to hostView keyDown: closes the
plugin window and the subsequent [hostView window] returns nil.
2025-03-06 18:33:10 +01:00
attila
93b02effee Suppress ARA warning emitted by clang-cl 19.1.1 2025-02-27 14:26:41 +01:00
reuk
2d01e326db
ObjCHelpers: Rename makeCGRect from makeNSRect 2025-01-23 12:20:27 +00:00
tpoole
0baffff182 Bump version number to 8.0.6 2025-01-10 09:29:00 +00:00
tpoole
902ddc7567 Bump version number to 8.0.5 2025-01-08 14:23:21 +00:00
Oliver James
9b959bd223 AudioProcessor: Use std::optional in TrackProperties 2024-12-19 13:36:35 +00:00
Oliver James
96e4ba06af AudioProcessor: Add VST2/VST3 midi note name support
Co-authored-by: Roland Rabien <roland@rabien.com>
2024-12-19 10:15:34 +00:00
Anthony Nicholls
34f7d467c9 VST2 Client: Fix compilation issue when compiling with JUCE_VST3_CAN_REPLACE_VST2 2024-12-11 14:50:49 +00:00
reuk
9b73f07e07 AUv3 Client: Add support for MIDI sysex input 2024-12-08 22:25:11 +00:00
reuk
330792dcee AUv3 Client: Use MIDIEventList for output 2024-12-08 22:25:11 +00:00
Anthony Nicholls
7ab382d357 VST3 Client: Remove unhelpful jassert 2024-11-28 11:09:03 +00:00
Anthony Nicholls
6b08ced201 VST3: Add support for parameter migration 2024-11-27 11:07:04 +00:00
reuk
6e910d8010
VST2 Client: Avoid C-style casts of function pointers 2024-11-21 13:41:08 +00:00
reuk
04fa895f38
AAX Client: Enable host-provided editor when plugin does not supply an editor 2024-11-21 13:41:08 +00:00
reuk
4e6440c3d7
AAX Client: Remove channel layout compatibility checks
It's important that the plugin always returns the full set of available
components.

The plugin may be scanned by a separate process from the 'main' DAW
process, and these processes may report different compatibility levels.
If the scanner has more restricted compatibility than the 'main' DAW
process, then some channel layouts may not be registered, and will be
hidden in the DAW.
2024-11-21 13:40:56 +00:00
reuk
0aaaea265a
AU Client: Ignore availability warnings for MIDIEventList functions
Xcode 13.2.1 warns on these functions, despite the lambdas being
declared inside an @availability-checked block.
2024-11-21 13:29:53 +00:00
Tom Poole
71af005543 Bump version number to 8.0.4 2024-11-18 10:12:15 +00:00
reuk
a7e9edb2e9
StandaloneFilterWindow: Update implementation of getInstance to avoid iterating through desktop windows 2024-11-05 13:28:08 +00:00
reuk
1189687611
AAX Client: Add support for AAX_EPlugInCategory_MIDIEffect, added in AAX SDK 2.6.1
This change also bumps the minimum supported AAX SDK to 2.6.1
2024-10-28 11:12:47 +00:00
reuk
efb0daf2e9
Standalone: Fix typo in standalone wrapper 2024-10-23 12:32:24 +01:00
reuk
ee641f7baf VST2 Client: Avoid data race on appDelegate pointer
Previously, it was possible for the Timer destructor to run after the
last ScopeJuceInitialiser_GUI destructor, which meant that timer
callbacks could continue to be fired (via the appDelegate pointer) after
the static appDelegate instance had been destroyed.

With this change in place, we now ensure the Timer is destroyed before
the ScopedJuceInitialiser_GUI.
2024-10-21 21:54:30 +01:00
reuk
4a87eb3c40
AAX Client: Query processor instead of relying on JucePlugin_IsMidiEffect 2024-10-21 12:28:56 +01:00
reuk
499abb7637
VST Client: Query processor instead of relying on JucePlugin_IsMidiEffect 2024-10-21 12:28:56 +01:00
reuk
64823f2d37
LV2 Client: Query processor instead of relying on JucePlugin_IsMidiEffect 2024-10-21 12:28:55 +01:00
reuk
436100c94b
AU Client: Replace use of JucePlugin_IsMidiEffect with AUMainType
An audio unit with main type aumi should always have a MIDI input and
output, regardless of how IsMidiEffect is set.
2024-10-21 12:28:55 +01:00
reuk
103ac55b92
AU Client: Refactor scopeToDirection 2024-10-21 12:28:55 +01:00
reuk
1f56562652
StandaloneFilterWindow: Allow plugin to run when no display is present
This is useful on headless Linux systems. When no display is attached,
window creation is bypassed but a StandalonePluginHolder is still
created, allowing audio to be processed.
2024-10-21 12:28:55 +01:00
reuk
420922253f
StandaloneFilterWindow: Avoid null pointer dereference when displays array is empty 2024-10-21 12:28:55 +01:00
Tom Poole
14c8d06fb0 Bump version number to 8.0.3 2024-10-15 22:16:12 +01:00
attila
2c9b15e52c VST3 Client: Fix drifting and growing windows due to inaccurate constrainer operations
The input coordinates were unnecessarily converted and truncated to
integral values before follow up calculations, and then a final
conversion back to integral values.
2024-10-01 13:53:25 +02:00
reuk
d6e37d78b8
AAX Client: Update embedded SDK to 2.8.0 2024-09-30 20:37:43 +01:00
Tom Poole
7d3affbcb3 Merge master JUCE 8.0.2 branch 2024-09-26 12:43:39 +01:00
Anthony Nicholls
6c2d149ef3 Versioning: Add the JUCE version number to any internally created threads 2024-09-26 08:10:56 +00:00