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

15593 commits

Author SHA1 Message Date
Tom Poole
29396c22c9 JUCE version 8.0.12 2025-12-16 08:51:21 +00:00
reuk
2e72048cd2 Projucer: Enable ARM64EC for Visual Studio 2026 exporter 2025-12-16 08:50:50 +00:00
Tom Poole
edeb175c12 Resave all projects 2025-12-16 08:50:10 +00:00
Tom Poole
acc4b9c6d0 Bump version number to 8.0.12 2025-12-16 08:48:49 +00:00
Tom Poole
7617f6b480 Projucer: Fix a module path in provided projects 2025-12-12 20:35:44 +00:00
Aga Janowicz
195795047e
DrawableText: 0-initialise fontHeight and fontHScale variables 2025-12-08 17:19:57 +00:00
reuk
1b0911dda6
iOS: Always update peer bounds when window scene coordinate space is updated 2025-12-08 14:19:45 +00:00
reuk
4d1c9c9b12
AccessibilityHelpers: Move function definition out of header 2025-12-08 14:15:55 +00:00
reuk
44c552c614
AudioPluginInstance: Use inherited constructors directly 2025-12-08 14:15:55 +00:00
Kengo Suzuki
84bcf6965c
CMake: Remove dead code in _juce_configure_bundle function 2025-12-08 14:15:55 +00:00
reuk
caac369b45
MIDI: Remove separating ':' between endpoint name and group name 2025-12-08 14:15:50 +00:00
Anthony Nicholls
1a66a03103 InAppPurchaces: Increase Android minimum SDK for JuceBillingClient 2025-12-04 16:13:21 +00:00
reuk
54813c8937
Projucer: Make VS2026 the default exporter on Windows 2025-12-03 13:13:11 +00:00
reuk
2a9c249aba
Projucer: Enable ARM64EC for Visual Studio 2026 exporter 2025-12-03 12:08:06 +00:00
Tom Poole
c352e24890 JUCE version 8.0.11 2025-12-01 10:27:34 +00:00
Tom Poole
8f2fa81bd1 Resave all projects 2025-12-01 10:25:47 +00:00
Tom Poole
ae3b811c50 Bump version number to 8.0.11 2025-12-01 10:21:13 +00:00
reuk
eecf40ba95 Direct2D: Avoid creating multiple MemoryFontFileLoaders all referencing the same data 2025-11-27 13:25:55 +00:00
szkkng
230340dbfc
Docs: Correct VST3_CATEGORIES defaults in CMake API 2025-11-26 10:32:20 +00:00
reuk
540830506b
MemoryOutputStream: Avoid integer overflow which may result in incorrect size after expansion 2025-11-26 10:32:20 +00:00
attila
65e9bf1c52 Fix bug where a disabled ComboBox could be displayed using screen readers 2025-11-26 10:17:06 +01:00
attila
07f801143c Fix bug where a disabled ToggleButton could be toggled using screen readers 2025-11-26 10:17:06 +01:00
attila
fd1c29e56b WASAPI: Fix bug where an external device sample rate change could permanently stop audio processing 2025-11-25 20:23:26 +01:00
reuk
e26c69e7bf
Docs: Fix up description of FORMATS argument in CMake API doc 2025-11-24 12:54:39 +00:00
Anthony Nicholls
10ec977d05 Component: Revert improvements to opaque component checks
Reverts commits cea19a9d, 961ff32b, and partially reverts 5ec4d85d
Some issues have appeared on the forums so these commits have been
reverted while the issue is investigated.
2025-11-20 17:47:47 +00:00
Anthony Nicholls
fc29df83b5 Direct2D: Fix an issue with excludeClipRectangle
Without this fix many of the component tests that appear in the
following commit will fail for the Direct2D renderer only.
2025-11-20 17:47:47 +00:00
Anthony Nicholls
a4e03bdad1 CharPointer: Fix a crash in the UTF32 unit tests
In a recent version of Xcode (26.1) release builds would crash the
unittest runner during any tests using a std::vector<char32_t> where
its data was reinterpreted as const CharPointer_UTF32::CharType*.
Similar attempts were made to update the UTF8 a UTF16 tests,
unfortunately avoiding a reinterpret_cast for UTF16 isn't as easy
because CharPointer_UTF16 uses a signed integer type which makes the
test data more awkward to work with.
2025-11-20 17:43:41 +00:00
Anthony Nicholls
c37c18c5b4 macOS: Prevent visual glitches in images
CGImages created from a juce Image may be drawn after or during
changes to the underlying data. This change copies the required
data into a new buffer to ensure the CGImage data is always
independent from the juce image data.
2025-11-20 15:04:46 +00:00
reuk
f0560cefbb
String: Fix mangled decoding of UTF-16 strings containing surrogate pairs in createStringFromData() 2025-11-19 20:01:17 +00:00
reuk
e3f3d32fe6
UIViewComponentPeer: Remove rootViewController from old window before adding it to new window
This fixes an issue where the view would disappear and the window would
become black when the window scene changed, e.g. because screen sharing
was started.
2025-11-19 14:09:52 +00:00
attila
a9779b4546 OpenGL: Fix missing buffered image after context detach
Prior to this commit a Component with setBufferedToImage (true) could
have its image buffer deleted when an OpenGL context was detached. This
meant that this Component continued to be rendered without buffering
even though it was previously requested that it use a buffer.
2025-11-19 14:07:59 +01:00
reuk
ef54f013c3
QuickJS: Update header from CHOC upstream, and disable CONFIG_STACK_CHECK
The CONFIG_STACK_CHECK option doesn't work correctly when the QuickJS
engine is initialised on one thread and then later accessed by another
thread, which is a usage pattern implicitly supported by JUCE.
2025-11-19 11:12:21 +00:00
reuk
9715b901a8
OutputStream: Fix implementation of writeText when converting to UTF-16 2025-11-19 10:32:59 +00:00
reuk
8b77aca786
CharPointer_UTF16: Make behaviour consistent when iterating through unpaired surrogates
There's a few things going on in this commit:

- The implementation of CharPointer_UTF16 now uses helpers from
  CharacterFunctions to avoid a few instances of magic numbers.
- Where it makes sense, member functions of that class have been DRYed
  by e.g. implementing getAndAdvance in terms of operator*() and
  operator++().
- Added more tests for incrementing/decrementing/dereferencing
  CharPointer_UTF16.

After this change, a CharPointer_UTF16 that points to an unpaired
surrogate will always dereference to a 32-bit character with that
surrogate's value.

Note that dereferencing a CharPointer_UTF16 that points to a high
surrogate at the final code unit in a memory region is inherently
unsafe, because CharPointer_UTF16 can't track its own size, and the
dereference operation will check the following code unit to see whether
it is a low surrogate.
2025-11-18 18:54:47 +00:00
reuk
c514c95797
ScopedValueSetter: Make nodiscard 2025-11-18 15:47:42 +00:00
reuk
e465b71188
Docs: Update language to be more diplomatic 2025-11-18 15:47:42 +00:00
reuk
83e5264c86
Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
reuk
82dc6d1c7e
Windows: Fix a bug where windows with non-native titlebars could be maximised to the wrong size
This issue presented after the following sequence of steps:

- Display a window with a non-native titlebar
- Maximise it
- Click the taskbar icon to minimise it
- Click the taskbar icon again to maximise it

After being maximised for the second time, the window bounds were too
large for the display. This is because the check in WM_NCCALCSIZE was
failing to determine the target monitor for the window, and therefore
failing to adjust the new area appropriately. We now determine the
target monitor based on the proposed new bounds of the new window,
rather than the current bounds of the window, which may not be
meaningful if the window is minimised.
2025-11-17 19:33:54 +00:00
reuk
e890736965
AudioDeviceManager: Improve initialise() parameter naming 2025-11-17 19:33:54 +00:00
reuk
b1ec95db6e
Revert "AudioDeviceManager: Handle loading of XML with missing fields more gracefully"
This reverts commit 3c1012baeb.

This change caused the AudioDeviceManager to open a fallback device if
the device name was empty, the requested number of channels was
positive, and selectDefaultDeviceOnFailure was true.

The new behaviour conflicted with the documented behaviour of
initialise(). The number of input/output channels is to be treated as a
maximum, rather than a preferred count. If a positive channelsNeeded is
requested but the device name is empty, a default device should not be
opened since the actual number of channels (0) is lower than the maximum
specified number.
2025-11-17 19:33:54 +00:00
nathan411
7b9ff97ff2
Docs: Fixed typo in juce::SamplerSound documentation (SampledSound -> SamplerSound) 2025-11-14 13:36:03 +00:00
reuk
a3f81eb2fb
OpenGL: Correctly restore blend mode when nested context goes out-of-scope
Fixes an issue where primitives such as text could end up with sharp
edges when creating temporary contexts:

    void paint (Graphics& g)
    {
        g.fillAll (Colours::white);
        const auto preferredType = g.getInternalContext().getPreferredImageTypeForTemporaryImages();
        Image img (Image::ARGB, getWidth(), getHeight(), false, *preferredType);
        {
            Graphics g2 (img);
        }
        g.setColour (Colours::black);
        g.setFont (32);
        g.drawText ("test", getLocalBounds(), Justification::centred);
    }
2025-11-14 13:36:03 +00:00
Anthony Nicholls
2efd3e0661 Component: Prevent unnecessary image clearing in createComponentSnapshot 2025-11-10 22:37:39 +00:00
Anthony Nicholls
cea19a9d12 Component: Fix an issue calculating the relative bounds of opaque components
For top level components the relative bounds of a child opaque
component would be wrong unless the top level component was at 0,0
2025-11-10 22:37:39 +00:00
attila
f257fef7f7 TextLayout: Fix hang when shaping text containing a zero-width glyph 2025-11-10 22:14:35 +00:00
Tom Poole
79053759a5 iOS: Fix a crash selecting files in iOS 12 and 13 2025-11-05 15:59:52 +00:00
reuk
9d6c0c0f50
BluetoothMidiDevicePairingDialog (iOS): Avoid moving the pairing dialog offscreen when device orientation changes 2025-11-04 14:18:19 +00:00
reuk
514718e037
UIViewComponentPeer: Fix bug where onscreen keyboard would fail to follow view orientation
The important part seems to be initialising the UIWindow directly with
the UIWindowScene, instead of initialising it with a frame and then
assigning a scene later on.
2025-11-04 14:18:19 +00:00
reuk
d66ca542b8
UIViewComponentPeer: Avoid sending unnecessary UIWindowScene change notifications 2025-11-04 14:18:19 +00:00
reuk
87cec3b743
UIViewComponentPeer: Fix an issue where the status bar could remain visible in landscape on iPhones 2025-11-04 14:18:19 +00:00