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

1140 commits

Author SHA1 Message Date
Tom Poole
8a6e1980d0 Bump version number to 6.1.4 2021-12-20 11:06:15 +00:00
reuk
44404508fe Bump version number to 6.1.3 2021-12-08 15:26:08 +00:00
reuk
6f80be1edb
VST3 Client: Ensure editor scale is correct immediately after creation
This fixes a bug where selecting "Always on top" in the plugin editor
window in Cubase 11 on Windows 11 on a display with > 100% scale would
cause the editor to display with the wrong scale factor.

It seems that Cubase calls removed() then attached() on the plugin view,
destroying and recreating the editor wrapper component. The editor
opened with 100% scale, but requests from the host to set the "real"
scale factor were ignored because the JUCE wrapper thought that the
requested scale had already been applied.

Applying the cached scale factor directly after constructing the editor
keeps everything in a consistent state, and seems to resolve the issue.
2021-11-24 16:20:36 +00:00
reuk
144b444f93
VST2 Client: Reapply custom scale factor if scale is set before editor is opened 2021-11-24 16:20:36 +00:00
reuk
7d8c5b845d
AU: Cache MIDI output block 2021-11-24 16:20:35 +00:00
reuk
6de3af3566
AU: Make channel/bus handling more robust 2021-11-24 16:20:35 +00:00
reuk
81fa777ff7
ObjC Helpers: Automatically derive appropriate signature for function 2021-11-24 11:51:11 +00:00
reuk
3850a2bb20
AudioPlayHead: Update wrappers to use new FrameRate type 2021-11-19 16:35:22 +00:00
reuk
cccb3d360a
AAX Client: Avoid overwriting bypass parameter value on state recall 2021-11-01 10:04:34 +00:00
reuk
4ca923a34b
NSViewComponentPeer: Allow mouse events to reach unfocused windows
This change allows mouse events (including enter and exit events) to
reach unfocused views on macOS. This matches the behaviour of unfocused
windows on Linux and Windows, where components paint in their "hovered"
states even when the application window is in the background.

As a byproduct of using tracking areas on macOS, we can remove the fake
mouse move generator.
2021-10-27 16:33:37 +01:00
reuk
4c2dba0822
VST3 Client: Ensure that all programs can be selected via parameter in hosts
Hosts such as REAPER normalise the program parameter value by dividing
the program value by the step count, rather than going via the
parameter's toNormalized function. To be compatible, we should use the
same scaling technique. At time of writing, the coversion process is
detailed under the heading "Conversion of normalized values" on this
page:

https://developer.steinberg.help/display/VST/Parameters+and+Automation
2021-10-26 16:52:15 +01:00
attila
63ac579c1b VST3 Client: Fix build when JUCE_VST3_CAN_REPLACE_VST2 is enabled 2021-10-14 18:56:18 +02:00
reuk
718097fd60
StandaloneFilterWindow: Avoid recursively resizing plugin editor 2021-10-14 13:15:25 +01:00
ed
7d1918b385 macOS/iOS: Replace compile-time deployment target checks with runtime checks using the available keyword 2021-10-13 15:06:18 +01:00
reuk
47dcc31e77
VST3 Client: Allow setting latency from inside prepareToPlay 2021-10-07 14:31:26 +01:00
reuk
e797c993a8
AAX Client: Add dirty state reporting via updateHostDisplay 2021-10-06 16:59:08 +01:00
reuk
294caba2b5
VST3: Add dirty-state set/get
Adds a mechanism to notify the host that the plugin state needs saving,
using updateHostDisplay.

Also allows JUCE hosts to detect when a plugin needs its state saving
via the AudioProcessorListener.
2021-10-06 16:59:07 +01:00
ed
b9542ccc4c Update code to use C++14 [[deprecated]] attribute
This commit removes the various compiler-specific JUCE_DEPRECATED macros and replaces them with C++14's deprecated attribute. It also removes the JUCE_CATCH_DEPRECATED_CODE_MISUSE flag as we can rely on the override specifier catching usage of these old virtual methods, and tidies up the DOXYGEN preprocessor checks as they were inconsistent across the codebase.
2021-09-29 16:14:00 +01:00
ed
d39d0f4885 Docs: Fix some Doxygen warnings 2021-09-29 16:11:30 +01:00
reuk
fd24769019
PluginUtilities: Fix security (4996) warnings on Windows 2021-09-28 14:04:11 +01:00
reuk
afa6465098
UB Sanitizer: Avoid warnings in third party code, with clang 2021-09-28 11:31:50 +01:00
reuk
d0615041f0
Plugin clients: Avoid notifying listeners when parameters have not changed 2021-09-28 11:31:49 +01:00
reuk
ea250b3655
VST3 Client: Change VST3 native menu so that its position is specified in logical pixels 2021-09-28 11:31:48 +01:00
reuk
cfec0b5356
GenericAudioProcessorEditor: Add support for grouped parameters 2021-09-27 15:44:48 +01:00
reuk
f989182f32
Linux windowing: Display utf-8 native window titles correctly 2021-09-21 11:01:31 +01:00
Tom Poole
bc75010116 Bump version number to 6.1.2 2021-09-20 12:15:47 +01:00
Tom Poole
5109e30c6f Bump version number to 6.1.1 2021-09-09 12:51:15 +01:00
reuk
b2a51eb253
VST3 Client: Avoid segfaults when updating program and bypass parameters
Previously, updating the program or bypass parameter could cause an
out-of-bounds access into the parameter value cache. This is because
AudioProcessorParameter::getParameterIndex() was used to index into the
cache, but the parameter index could be negative for parameters that
had not been added to the AudioProcessor.

We now use the appropriate index in the cache for parameters that
have not been added to the AudioProcessor.
2021-09-07 11:30:19 +01:00
Tom Poole
46fe3789fc Bump version number to 6.1.0 2021-08-23 09:55:56 +01:00
reuk
cef6974c7c StandaloneFilterWindow: Fix window resizing bug on Linux
On some Linux distros, the audio settings dialog was opening with the
wrong size and position. The culprit seems to be the call to setSize()
which was called inside resized(). We now try to avoid calling setSize()
if we would do so inside a resized() call.
2021-08-10 16:48:27 +01:00
reuk
d51354d704
AAX: Avoid adding plugin description as an alternative name 2021-08-04 15:56:53 +01:00
reuk
334bd2a926 AUv3 Client: Notify host when updating current program 2021-08-03 18:27:23 +01:00
reuk
f46d4a0401
VST Client: Remove unused variable 2021-07-30 09:18:46 +01:00
reuk
8f29b2cb83
VST3: Allow plugins to designate the first input bus as Aux rather than Main
To use this feature, derive your AudioProcessor from
VST3ClientExtensions and override getPluginHasMainInput() to return
false. The main input bus will then be designated as an Aux bus, rather
than a Main bus.

This is mainly useful for synth plugins like vocoders, which may need a
sidechain audio input, but which should replace all audio on the channel
with the output of the synth, rather than mixing with the audio input.
2021-07-27 15:10:53 +01:00
ed
6d53ed3fec AUv3: Handle AURenderEventMIDIEventList 2021-07-27 12:32:28 +01:00
ed
bdc2334c98 AUv3: Fix unhandled enumeration warning when building against the 12.0 SDK 2021-07-26 10:21:51 +01:00
ed
d52fb9ca26 AUv3: Suppress undeclared selector warning for supportsMPE when building against the 10.11 SDK 2021-07-26 10:21:51 +01:00
reuk
3c68581567
Use jassertquiet where possible 2021-07-23 10:58:44 +01:00
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