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

1452 commits

Author SHA1 Message Date
ed
4fd0401752 VST3: Fix editor creation in Adobe Premiere Pro
See commit message of a1337a38 for more details
2021-07-22 16:33:42 +01:00
attila
7c68dd3709 VST3 Client: Avoid allocation in processParameterChanges() 2021-07-22 12:18:11 +02:00
ed
e467473157 Standalone: Fixed a crash due to a dangling input muted value listener 2021-07-15 14:32:42 +01:00
reuk
85226c33d4
Mac MainMenu: Allow commands without modifiers to be passed to peer
Ideally, we want to pass shortcut keys to the component to handle, and
only fall back to invoking a menu item if the component was unable to
handle the keyboard event, or if the action was triggered by
clicking/selecting an item in the menu itself. The old implementation
tried to work out whether the action was triggered by a shortcut by
checking the event's characters and modifiers. This method was
inaccurate, because some shortcuts (such as arrow keys) may add
unexpected numpad/function modifier flags.

We now try handling shortcut keys directly in the peer, and pass events
up to the superclass (which will forward them to the main menu) if the
event could not be handled.

This commit also adjusts some Objective-C method signatures to use the
correct string encoding for the BOOL type.
2021-07-14 14:49:05 +01:00
Tom Poole
fe4ba9071b Set the default value of JUCE_MODAL_LOOPS_PERMITTED to 0
See BREAKING-CHANGES.txt for more details.
2021-06-30 13:01:14 +01:00
ed
f1768843fb StandaloneFilterWindow: Check that stored previous window position is onscreen 2021-06-30 11:01:29 +01:00
ed
88ec2759cb AAX: Support unicode track names for TrackProperties 2021-06-29 16:14:54 +01:00
attila
56cf81d32b AU Client: Fix allocation on audio thread in JuceAU::audioProcessorChanged() 2021-06-25 15:05:19 +00:00
attila
570e173583 VST3 Client: Fix allocation on audio thread caused by PluginHostType ctor 2021-06-25 15:05:19 +00:00
reuk
423d46c9ba
AU Client: Avoid potential out-of-bounds read when adding buses 2021-06-25 12:38:18 +01:00
reuk
bc2ad3d7c5
Build: Improve support for AU resource files on ARM Macs 2021-06-25 11:12:37 +01:00
Tom Poole
78be43888e Update the minimum C++ standard to C++14 2021-06-24 16:09:48 +01:00
reuk
63284e783d
AAX Client: Fix potential out-of-bounds array access 2021-06-21 19:05:40 +01:00
reuk
c3ab3eb77f
VST3 Client: Implement IProcessContextRequirements
This function is required by the Steinberg VST3 validator from VST 3.7
onwards.
2021-06-21 19:05:40 +01:00
reuk
bfb521b610
AudioProcessorEditor: Allow showing a host-provided parameter menu in VST3 plugins 2021-06-11 11:12:35 +01:00
reuk
63a40188d9
AudioProcessor: Add extensions API for VST3 clients 2021-06-11 10:53:26 +01:00
reuk
75922cac38
VST3 Client: Ensure main buses are enabled by default when using PreferredChannelConfigurations 2021-06-04 17:44:02 +01:00
reuk
712b14a272
VST3 Client: Normalise and denormalise program parameter correctly 2021-06-04 17:44:02 +01:00
reuk
77ad8b23bb
VST3 Client: Enable support for more FrameRateTypes, and set editOriginTime correctly 2021-06-04 13:04:44 +01:00
reuk
3399c34d0d
Windows: Fix more warnings emitted by clang with GNU-like command-line 2021-06-04 12:09:05 +01:00
ed
17d967551c AAX: Added JucePlugin_AAXDisableDefaultSettingsChunks flag to set the AAX_eProperty_Constraint_DoNotApplyDefaultSettings property 2021-06-02 15:06:43 +01:00
reuk
31a7c62baf
Windows: Fix and suppress some analysis warnings
This fixes warnings that are emitted when building with the `-analyze`
flag enabled.
2021-05-26 15:34:26 +01:00
reuk
6db900926b
VST3 Client: Fix issue where host failed to receive latency change notifications
In cases where a VST3 plugin set a non-zero latency in its
prepareToPlay, and then set its latency to 0 later on, the host was not
notified about the latency change.
2021-05-21 16:30:18 +01:00
reuk
2f04d6a846
VST3 Client: Fix leak caused by unnecessary manual refcounting
In older versions of the VST3SDK, hostContext is a raw pointer,
in newer versions it's a smart pointer. If we do manual
refcounting with the smart pointer, we may cause leaks.
2021-05-21 16:29:48 +01:00
Tom Poole
bfdda737a2 Projucer: Removed the live build 2021-05-14 12:54:07 +01:00
reuk
900282ccf3
MinGW: Fix warnings and errors emitted when building VST3 plugins 2021-05-13 12:10:06 +01:00
reuk
40fa4ff90c
AU Client: Fix variable naming 2021-05-12 15:54:53 +01:00
reuk
47c7751750
VST3 Host: Avoid calling IMidiMapping functions on the audio thread 2021-05-12 11:14:35 +01:00
reuk
f35c2d90e2
VST3 Host: Ensure AudioProcessor parameter indices are used when appropriate
Previously, IEditController parameter indices were being used to index
into the AudioProcessor parameter array, but these parameter indices are
not guaranteed to point to the same parameter (parameter groups may
cause reordering on JUCE's side). Now, we use the IEditController
indices universally.
2021-05-06 16:04:22 +01:00
ed
c9731d4827 AUv3: Removed a duplicate statement in getCurrentPosition() 2021-04-29 17:31:33 +01:00
reuk
0e7fd1b909
StandalonePluginHolder: Fix out-of-bounds read when audio callbacks use larger-than-expected buffers 2021-04-28 12:59:08 +01:00
reuk
0e47da1474
VST Client: Ensure audioMasterIOChanged is sent when latency is updated 2021-04-28 09:57:12 +01:00
ed
a8aafed53d Removed some unnecessary virtual keywords 2021-04-27 15:56:01 +01:00
ed
a1337a3863 VST3: Workaround incorrect VST3 editor ref-count bug in Adobe Audition
Audition incorrectly increments the ref-count of the IPlugView* returned from IEditController::createView() and never fully releases it. This commit reverts e0306d25 for Audition to ensure that an editor is always returned, otherwise Audition displays a blank GUI.
2021-04-22 12:20:07 +01:00
reuk
75ed712b19 AU Wrapper: Fix build errors when using PreferredChannelConfigurations 2021-04-19 22:32:51 +01:00
reuk
965f14311d
AUv3 Wrapper: Tidy up sample rate detection 2021-04-19 14:37:38 +01:00
reuk
cafb437762
AU Wrapper: Use correct sample rate for MIDI FX with no buses
MIDI FX AudioUnits can retrieve their current sample rate from an output
bus. However, it's reasonable for a JUCE MIDI FX plugin to require 0
output buses, in which case the correct sample rate cannot be retrieved.

This patch modifies the AU wrapper to ensure that MIDI FX plugins will
always have at least one output bus. This bus does not necessarily
correspond to a matching bus in the AudioProcessor, and it will not be
passed to AudioProcessor::processBlock. With the output bus in place,
the correct sample rate is reported in `prepareToPlay`.
2021-04-19 14:37:38 +01:00
ed
a06063dfd7 VST3: Added a missing return in the previous commit 2021-04-14 11:44:13 +01:00
ed
b1294fdadb VST3: Call setComponentState() on message thread on Linux 2021-04-13 16:25:43 +01:00
ed
dbf5789cda Linux: Fixed a compile error when building VST3 plug-ins with JUCE_MODAL_LOOPS_PERMITTED=0 2021-04-13 16:25:26 +01:00
reuk
6832dca430 StandaloneFilterWindow: Auto-resize settings dialog when IO options change 2021-04-11 17:09:57 +01:00
ed
04fdc4c209 Standalone: Add a dummy output channel to MIDI effect plug-ins 2021-04-09 16:45:28 +01:00
reuk
361f839546
VST3 Client: Avoid calling performEdit from the audio thread
Previously, all VST3 parameter changes were signalled to the host via
performEdit, regardless of the originating thread. This breaks the
contract of the IEditController interface, which requires that all calls
are made from the UI thread.

This change modifies the VST3 wrapper so that it will only call
performEdit when a parameter is set on the message thread. If a
parameter is set on the audio thread instead, then the parameter change
will be signalled to the host using
`ProcessData::outputParameterChanges`.

If your VST3 plugin uses a background thread to update parameters for
some reason, you'll encounter data races. Please don't do that.
2021-04-09 12:19:22 +01:00
reuk
c507ec9e73
VST3 Client: Ensure IComponentHandler::restartComponent is only called from the UI thread
When loading a JUCE plugin in Live, Live was producing diagnostic
messages in its Log.txt warning that restartComponent was being called
from a non-UI thread. This change should silence this warning, and
improve compliance with the VST3 spec.
2021-04-09 12:19:22 +01:00
reuk
44441d3d79
VST2: Prefer unique_ptr to manual delete calls 2021-04-08 13:33:12 +01:00
ed
0aeee97b91 VST3: Reduced the scope of some MessageManagerLocks on Linux/BSD 2021-04-08 11:51:41 +01:00
ed
efd52398d1 VST3: Use shared MessageThread on Linux to run the message loop when host run loop interface isn't available 2021-04-08 11:51:41 +01:00
ed
33f37847bc VST: Use RAII initialisation for JUCE GUI and SharedResourcePointer for MessageThread 2021-04-08 11:51:41 +01:00
ed
ab90229583 VST: Pulled Linux SharedMessageThread out into its own file 2021-04-08 11:51:41 +01:00
Tom Poole
60e13bec0c Allow use of an external VST3 SDK on BSD 2021-04-01 08:39:25 +01:00