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

10102 commits

Author SHA1 Message Date
reuk
408f6030e6
NSViewComponentPeer: Attempt to avoid reentrant calls to makeKeyWindow
AUv2 plugins on Arm that are hosted out-of-process (e.g. in Logic 10.7)
can sometimes crash due to endlessly recursing through becomeKeyWindow.
This tends to happen when displaying a secondary window in a plugin,
e.g. an AlertWindow, then clicking on a secondary app, then clicking
back on the AlertWindow.

To avoid this case, we check that the peer isn't already key before
calling makeKeyWindow.

Unfortunately, we can't use isKeyWindow to avoid the recursion because
this may not return true until after becomeKeyWindow has returned.
2023-02-06 19:42:09 +00:00
reuk
f5aa881b6f FileChooser: Improve modal behaviour in plugins on Windows
The previous method for finding the dialog's owner was ineffective, and
it was still possible for other windows to obscure the file picker in
many cases. Using GetActiveWindow seems to produce the expected
behaviour.
2023-02-06 17:29:04 +00:00
reuk
793df5dd3d
iOS Windowing: Avoid private selector warnings 2023-02-06 10:22:41 +00:00
reuk
0889588ae4
VST3: Avoid copy in channel mapper 2023-02-06 10:21:37 +00:00
reuk
0033e52179
VBlankAttachment: Make isEmpty const 2023-02-06 10:21:37 +00:00
attila
a662e5584b PopupMenu: Add explicit focus order to menu items
Without this VoiceOver will iterate over menu items left to right first,
and iteration order will be affected by whether the PopupMenu gets
broken up into multiple columns due to not enough screen space.
2023-02-03 16:11:11 +01:00
attila
6c720bf3f1 Android: Add simulated mouse exit event to the mouse up callback
Without this event Components such as Button would remain in a hover
state indefinitely after being clicked on a touch screen. The simulated
event matches the behaviour of the other platforms.
2023-02-03 16:11:11 +01:00
attila
043182faa6 Linux: Avoid logging BadShmSeg error when SHM capability is not detected 2023-02-03 16:11:11 +01:00
reuk
454bc7c63a CoreGraphicsContext: Avoid hanging when drawing transformed tiled images
CGContextGetClipBoundingBox sometimes returns a 'null' rect. When it
does, the following logic will get stuck in the while loop drawing
individual tiles over and over again.
2023-02-03 15:16:13 +01:00
reuk
13d27987f4
VST3 Client: Enforce that process and setActive are not called simultaneously in FL Studio
Opening some JUCE VST3s in FL Studio's patcher can cause crashes because
of data races on objects accessed from setActive() and process().

According to the VST3 specification, these functions should never be
called simultaneously, so I think this is a bug in FL Studio.
2023-02-02 15:06:06 +00:00
reuk
f7d01e9a5e CodeEditorComponent: Remove unnecessary assertion 2023-02-01 23:05:51 +00:00
reuk
543b001e9c FileSearchPath: Allow working with paths that are not necessarily absolute
This allows paths that are prefixed with environment variables to behave
as expected. This is useful when scanning the default LV2 locations in
the AudioPluginHost on Windows.
2023-02-01 23:05:51 +00:00
Tom Poole
a28597c3c9 Fix GCC 12 compiler warnings 2023-01-31 12:54:56 +00:00
reuk
ff534baf5f GenericAudioProcessorEditor: Fix issue where the ChoiceParameterComponent would re-set the parameter value in response to a parameter value change 2023-01-27 22:29:08 +00:00
Oli James
b9cc72b167 LinuxWebComponent: Fix high CPU usage 2023-01-27 11:08:58 +00:00
reuk
39ba1c8383
VST3: Remove unhelpful assertion
Some hosts (e.g. REAPER) will attempt to instantiate plug-ins with 64
active channels, and JUCE can't represent this layout. In this case,
failing to convert between VST3/JUCE layouts is not a logical error, so
asserting is not appropriate.
2023-01-26 17:55:56 +00:00
martin@ncore.li
f7a28a6d62
VST3: Fix bad value returned from setBusArrangements() (false == kResultTrue) when in/out bus counts are mismatching 2023-01-26 16:51:39 +00:00
reuk
db90a31813
TreeView: Fix getAllVisibleItems() when only the final row of the tree fits in the viewport
Fixes #1118
2023-01-25 17:12:34 +00:00
reuk
621e5e3de4
AudioProcessorGraph: Add basic benchmark test 2023-01-25 17:12:33 +00:00
reuk
cd6939c073
AudioProcessorGraph: Improve lookup speed in isBufferNeedLater 2023-01-25 17:12:33 +00:00
reuk
4211a2a0fd
AudioProcessorGraph: Only prepare a render sequence for the current processing precision 2023-01-25 17:12:33 +00:00
reuk
eaa6dfc3ee
AudioProcessorGraph: Allow triggering manual rebuild, and avoid rebuilding if nothing has changed 2023-01-25 17:12:33 +00:00
reuk
c56102f50a
AudioFormatReaderSource: Avoid reading past the end of the wrapped AudioFormatReader 2023-01-25 17:07:25 +00:00
reuk
273275cf07
Android: Allow recording demo to write files on recent Android versions 2023-01-25 17:07:25 +00:00
reuk
a9a95fe69f
SystemStats: Add helper function to detect app sandbox 2023-01-25 17:07:24 +00:00
reuk
26a872ba9f
AudioDeviceManager: Send changeNotification when MIDI devices change
This patch also updates the MidiDemo to automatically refresh the device
lists when the set of available devices changes.
2023-01-25 17:07:24 +00:00
reuk
49a954d473
WASAPI: Only send change broadcast when devices are updated 2023-01-25 17:07:24 +00:00
reuk
238fbfca94
AudioIODeviceType: Fix typo 2023-01-25 17:07:24 +00:00
reuk
5401ad6427
FileChooser: Allow directory selection on iOS 2023-01-25 17:07:24 +00:00
reuk
0f83e90f0d
FileChooser: Fix opening native dialogs in sandboxed macOS apps 2023-01-25 17:07:23 +00:00
reuk
cf297c75c6
PopupMenu: Fix issue where PopupMenu would sometimes use the default rather than the parent look and feel
Previously, for the following snippet, the menu's LnF was incorrectly
being forced to the default LnF. The correct behaviour is to display the
menu using LnF v4. The menu doesn't have an explicit LnF set, so it
should use the LnF of its parent component.

    LookAndFeel::setDefaultLookAndFeel (&lookAndFeel_V1);
    setLookAndFeel (&lookAndFeel_V4);
    PopupMenu().showMenuAsync (PopupMenu::Options{}.withParentComponent (this));
2023-01-25 17:07:23 +00:00
reuk
4b222427f9
VST3: Avoid requesting channel layouts that cannot be represented as SpeakerArrangements 2023-01-25 17:07:23 +00:00
reuk
6bd31bab35
VST3 Client: Allow mismatched channel counts in safe cases 2023-01-25 13:14:54 +00:00
Tom Poole
78f1baae08 Bump version number to 7.0.5 2023-01-25 11:37:31 +00:00
Tom Poole
cb494df663 Docs: Update Doxygen configuration 2023-01-18 15:00:42 +00:00
reuk
ed3c40c2d1
ValueTree: Avoid void* 2023-01-12 19:13:57 +00:00
reuk
9127ff39a7
Windows: Tidy up function-loader singletons 2023-01-12 19:13:57 +00:00
reuk
164c9121ce
Windows: Fix Vista/7 compatibility 2023-01-12 19:13:57 +00:00
reuk
f4f8f8e86b
iOS: Fix build issues with Xcode 10.1 2023-01-12 19:13:57 +00:00
reuk
42bd861d70
AUv3 Client: Notify host when parameter info changes 2023-01-12 19:13:57 +00:00
reuk
210ed82ca2
VST3 Host: Send parameter changes to IEditController, even when process is not being called
Previously, all parameter changes were routed first into
cachedParamValues. Then, on each audio callback, an update would be sent
to the editor via the parameterDispatcher for each changed value in
cachedParamValues.

Now, parameter changes are immediately added to the parameterDispatcher,
without needing to wait for an audio callback.
2023-01-12 19:13:56 +00:00
reuk
1bc268de70
AudioProcessorGraph: Cache render buffer pointers for improved performance 2023-01-05 19:52:53 +00:00
reuk
c9ebb167a3
ScopedNotificationCenterObserver: Fix dark mode detection regression on macOS 2023-01-05 19:52:53 +00:00
Tom Poole
715fa7e8dc Bump version number to 7.0.4 2023-01-05 14:36:45 +00:00
reuk
b46edc31ce
Optional: Make operator bool() explicit 2023-01-04 15:00:33 +00:00
reuk
0774162691
FloatVectorOperations: Simplify NameForwarder 2023-01-04 12:47:23 +00:00
reuk
ba604f4ced
LV2 Client: Use unicode consistently for filepaths on Windows 2023-01-04 12:47:23 +00:00
reuk
ec13f4b744
AU Client: Use stored timestamp when host transport is unavailable 2023-01-04 11:39:43 +00:00
attila
4ef83305e2 Windows DLL: Fix FloatVectorOperations related warnings 2023-01-03 18:59:48 +01:00
attila
6e96ad1f68 Windows DLL: Fix warning 2023-01-03 18:59:48 +01:00