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

1532 commits

Author SHA1 Message Date
reuk
96ff7a0dcb
AudioProcessor: Move getDefaultNumParameterSteps() to AudioProcessorParameter 2025-08-14 14:14:47 +01:00
reuk
476f09f2c9
AudioProcessorParameter: Remove friendship with unrelated types 2025-08-14 14:14:47 +01:00
reuk
edd274f18e
AudioProcessorListener: Move impl to dedicated file 2025-08-14 14:14:47 +01:00
reuk
1623b63889
AudioProcessorParameter: Move impl to dedicated file 2025-08-14 14:14:47 +01:00
reuk
90b948dffd
AudioProcessor: Remove deprecated functions 2025-08-14 14:14:47 +01:00
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
7e3aae3cb9
AU: Refactor getAUChannelInfo to make mismatch checking more concise 2025-08-14 14:13:09 +01:00
reuk
0fb62bd240
AU: Refactor getAUChannelInfo to reduce duplication 2025-08-14 14:13:09 +01:00
reuk
b5ea607dcc
AU Host: Avoid potential UB reads of MIDI data 2025-08-14 14:13:09 +01:00
Anthony Nicholls
36d07a6ce3 Docs: Replace doxygen preprocessor conditionals with @cond and @endconds 2025-07-21 18:11:43 +02:00
reuk
b0a3be2bb4
AudioProcessorGraph: Fix bug where channel delays could incorrectly be applied multiple times 2025-06-19 18:12:33 +01:00
Anthony Nicholls
46703f3e65 PluginListComponent: Replace inappropriate naming with more suitable alternatives 2025-06-10 16:14:06 +01:00
Anthony Nicholls
f3d7c74ea1 VST3: Allow manifest helper to run independently 2025-06-10 16:13:33 +01:00
Anthony Nicholls
80116d60da VST3: Platform header should be included from user supplied SDK 2025-06-10 16:13:33 +01:00
reuk
5c34248d00
PluginListComponent: Wait for current scan to complete before calling owner.scanFinished()
I observed a deadlock when scanning AU plugins in-process in the
AudioPluginHost, and then clicking the "cancel" button in the scan
progress alert window.

The cause of the deadlock seems to be that JUCE uses async messages to
create and destroy AU plugins on the main thread. When running a plugin
scanner on a background thread, it was possible to end up in a situation
where the background thread was waiting on the message thread to process
a create/destroy message; and, at the same time, the main thread was
blocked waiting for all scan jobs to complete. This seemed to happen
because scanFinished() was called directly from the Scanner's
timerCallback as soon as the progress window was cancelled, even if
there was still a scan in progress at that point.

To avoid the deadlock, we now wait until the current scan has completely
finished before allowing the timerCallback to call scanFinished(). If no
scan is in progress, then the main thread can safely destroy the scanner
ThreadPool without needing to wait at that point.
2025-06-06 23:12:16 +01:00
reuk
dc890c69c2
PluginListComponent: Use lambda form of ModalCallbackFunction 2025-06-06 23:12:16 +01:00
reuk
6cd9566868
GenericAudioProcessorEditor: Avoid creating choice parameter components for discrete parameters with large numbers of steps 2025-06-06 23:12:16 +01:00
reuk
b349531966
AU Host: Avoid caching parameter value strings when getNumSteps() returns a large value 2025-06-03 16:12:00 +01:00
reuk
b20df8d713
PopupMenu: Add missing target components for menus created by built-in widgets 2025-06-03 16:08:56 +01:00
reuk
336a475921
PluginListComponent: Pass associatedComponent for temporary AlertWindows
This should allow these alert windows to display at the correct scale on
HiDPI Windows machines.
2025-06-03 16:08:56 +01:00
Tom Poole
b0d569c74b Bump version number to 8.0.8 2025-06-02 09:24:54 +01:00
reuk
e92cac9ae0
VST3 Client: Clarify documentation for compatibility extensions 2025-05-22 11:15:46 +01:00
Sudara
9a4ab937ad Docs: Fix a few tiny typos in comments 2025-05-08 16:33:24 +02:00
reuk
e30670a69a
AudioProcessorGraph: Add missing callback lock 2025-04-10 17:28:17 +01:00
reuk
43b9dc4905
AudioProcessorGraph: Tidy up long line 2025-04-10 17:28:17 +01:00
reuk
5297df9995
AudioProcessorGraph: Remove unnecessary precision conversion buffer
The double-precision buffer is unnecessary because internal nodes should
be prepared using the same precision as the graph itself, and all
AudioProcessors *must* support single-precision processing. Therefore,
if the graph is prepared to use single-precision, then all inner nodes
*must* also use single-precision.

This change also shares the remaining temporary buffer.
2025-04-10 17:28:17 +01:00
reuk
a31cadaa18
AudioProcessorGraph: Add constexpr annotations 2025-04-10 17:28:17 +01:00
reuk
953a404359
VST3: Silence clang-20 nontrivial-memcall warning 2025-04-09 12:07:43 +01:00
Tom Poole
99b752a1d2 Bump version number to 8.0.7 2025-04-08 10:51:07 +01:00
reuk
70652e3d23
AudioProcessor: Use new MessageManager::callSync 2025-02-06 18:22:33 +00: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
7e8b2b25ae Docs: Add some missing Doxygen markup 2025-01-10 09:25:04 +00:00
tpoole
902ddc7567 Bump version number to 8.0.5 2025-01-08 14:23:21 +00:00
Oliver James
7145356583 AudioProcessor: Update getNameForMidiNoteNumber docs for note ranges 2024-12-27 12:24:18 +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
reuk
330792dcee AUv3 Client: Use MIDIEventList for output 2024-12-08 22:25:11 +00:00
attila
67e7a638fd Fix VST3 plugin compilation when JUCE_PLUGINHOST_VST3=1 2024-12-06 15:24:41 +00:00
Anthony Nicholls
0e12c2da92 VST3 Client: Fix an issue with the reporting of VST3 plugin IDs 2024-12-03 08:42:56 +00:00
reuk
3186522b0b
VST3 Host: Fix bug where MIDI CCs mapped to parameters would fail to update the host and editcontroller 2024-12-02 17:20:42 +00:00
reuk
c2f567f3ee
Fix unused variable warnings 2024-12-02 14:44:24 +00:00
Anthony Nicholls
5e803ded5f Deprecations: Add ignore deprecation warning macros 2024-11-27 11:07:04 +00:00
Anthony Nicholls
6b08ced201 VST3: Add support for parameter migration 2024-11-27 11:07:04 +00:00
Christian Haase
9de56d0aab
PluginListComponent: Add missing TRANS statements 2024-11-21 13:42:54 +00:00
reuk
73cb3b88ad
VST2 Host: Avoid C-style casts of function pointers 2024-11-21 13:41:08 +00:00
Tom Poole
71af005543 Bump version number to 8.0.4 2024-11-18 10:12:15 +00:00
reuk
be6fe2b403
VST3 Host: Avoid calling addPoint on input parameter queue 2024-11-10 11:29:45 +00:00
reuk
3005b716fe
ObjCHelpers: Add new macros to help with version checking 2024-10-29 19:46:35 +00:00
無常
d9ed81b4f0
WindowsDLL: Add missing JUCE_API attributes 2024-10-27 16:16:26 +00:00