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

9064 commits

Author SHA1 Message Date
reuk
53238e3cc7
AAX Client: Fix unused function warnings 2023-02-15 22:23:56 +00:00
reuk
d5ad26a162
AUv2 Client: Add support for new MIDIEventList APIs on supported platforms 2023-02-15 22:23:56 +00:00
reuk
78a12d2f57 UMP: Migrate to std::byte 2023-02-14 22:29:01 +00:00
reuk
f1f68007c6 Containers: Add simple Span implementation 2023-02-14 22:29:01 +00:00
reuk
d4dd149b64 VST Host: Avoid re-adding VST window to list of active windows after destruction has started
On Windows, broughtToFront may be called during the destructor of
VSTPluginHost, adding the window back into activeVSTWindows, leading to
a heap-use-after-free in vstHookWndProc.

This change means that broughtToFront will only reorder
activeVSTWindows; it will never add a window that's not already in the
list.
2023-02-14 22:29:01 +00:00
reuk
eecb8ad995 UIViewComponentPeer: Call setNeedsUpdateOfSupportedInterfaceOrientations on orientation change 2023-02-14 22:29:01 +00:00
attila
d037d45e3b AAX: Use unity build style for the AAX_SDK
JUCE no longer depends on built artifacts of the AAX_SDK
2023-02-14 20:04:08 +00:00
attila
dab95a8404 AudioSampleBuffer: Fix warning 2023-02-14 20:04:08 +00:00
Tom Poole
29a90a0231
BSD: Fix some compiler warnings 2023-02-14 17:00:02 +00:00
reuk
cb14aa983d
Path: Allow addPath to take a reference to self 2023-02-09 17:54:19 +00:00
reuk
a59cba010b
ColourGradient: Create lookup tables using non-premultiplied colours
The OpenGL renderer uses ColourGradient::createLookupTable to generate
gradient textures. However, the tweening method used was different to
the tweening used by CoreGraphics gradients, and by the software
renderer.

Gradient tweening is now computed using non-premultiplied colours, to
ensure consistency between gradients rendered using OpenGL, and with
other renderers.
2023-02-09 17:54:19 +00:00
reuk
9cfbccca8e
Accessibility: Make createAccessibilityHandler public to allow calls from derived classes 2023-02-09 17:54:18 +00:00
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