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

1571 commits

Author SHA1 Message Date
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
reuk
90f37e27ea Windows: Fix DLL build
There were a few "ambiguous operator new/delete" errors that were due to
inheriting from a private base class that used the leak detector. These
errors are resolved by adding the leak detector to the derived classes.

JUCE_API was missing from a few useful types, notably the ARA hosting
types.
2024-10-22 13:24:46 +01:00
reuk
1f71b5f4fb
AudioProcessor: Update documentation to make implementation requirements clearer for MIDI-related member functions 2024-10-21 12:28:56 +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
6c18a352f1
VST3 Host: Retain parameter timestamps for MIDI CC messages 2024-10-20 22:59:39 +01:00
Tom Poole
14c8d06fb0 Bump version number to 8.0.3 2024-10-15 22:16:12 +01:00
reuk
1e902bcdee
VST3: Avoid potential memory allocations during buffer remapping 2024-10-10 14:07:04 +01:00
reuk
ca8b5f7483 VST3 Host: Use correct path to .so on Linux
This fixes an issue where VST3 plugins failed to scan and load on Linux.
2024-10-10 13:18:11 +01:00
attila
df024aaf3b VST3 Host: Fix growing windows due to inaccurate coordinate operations
Prior to this commit we used the integral version of localAreaToGlobal
before multiplying its result by the scale factor. This multiplied the
rounding error of localAreaToGlobal<int> by the scale factor. Now we
only round after all calculations have been carried out.
2024-10-01 13:53:25 +02:00
reuk
1798b12d4b VST3 Client: Fix build failure when JUCE_PLUGINHOST_VST3=1 is defined 2024-09-30 20:12:51 +01:00
Tom Poole
c1d2846e47 Bump version number to 8.0.2 2024-09-26 08:31:50 +01:00
reuk
515c42db4b
VST3 Host: Use refcounting to automatically unload VST3 modules 2024-09-18 15:44:04 +01:00