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

15550 commits

Author SHA1 Message Date
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
reuk
c1c0b58787
UIViewComponentPeer: Remove orientation-related methods that are deprecated on all supported JUCE deployment targets 2025-11-04 14:18:19 +00:00
reuk
a2ed4e3ffd
UIViewComponentPeer: Use correct return type for supportedInterfaceOrientations 2025-11-04 14:18:19 +00:00
reuk
22fa992187
iOS AppDelegate: Tidy up constructor of keyboard-tracking DelegateClass 2025-11-04 14:18:19 +00:00
reuk
a7a20747f0
iOS AppDelegate: Tidy up application:configurationForConnectingSceneSession:options 2025-11-04 14:18:19 +00:00
reuk
8b0ae502ff
CoreMidi: Fix timestamps for incoming MIDI messages
Previously, the elapsed time in nanoseconds was multiplied by 1e6
instead of 1e-6, leading to incorrect timestamps on incoming messages.

This change also DRYs the code handling time conversions between the
native/host time and JUCE timestamps (milliseconds in double format).
2025-11-03 18:30:24 +00:00
Anthony Nicholls
5ec4d85d82 Component: Add some basic unit tests 2025-11-03 13:48:02 +00:00
Anthony Nicholls
961ff32b9e Component: Improve opaque component checks
- Improve default performance when components check if they are opaque
- Allows all components to take advantage of setPaintingIsUnclipped
- Give more control to opt out of opaque checks separate from setPaintingIsUnclipped
2025-11-03 13:48:02 +00:00
reuk
79dfa1d392 VST3 Client: Fix UIDs in generated manifest when AppConfig is enabled 2025-10-28 18:48:31 +00:00
attila
cb34975457 Fix crash after OpenGL::detach in the presence of buffered child components
The crash fixed by this commit could be triggered by attaching an OpenGL
context to a component, calling setBufferedToImage (true) on one of its
child components, and then detaching the OpenGL context from the parent.

Since 4ba01a80a0 we are creating images
with the current rendering context's native image type, so the above
scenario would leave an image buffer that references the detached
context.
2025-10-28 15:33:13 +01:00
Oli
2da6a5fb62 SystemStats (Linux): Fix locale clobbering
This fixes a bug where the wrong locale was being restored when querying locale 
information.
2025-10-28 11:58:54 +00:00
reuk
a2a9c54e31
JPEG: Sort list of warnings 2025-10-27 13:31:40 +00:00
reuk
8a9713cfbf
JPEG: Suppress format-nonliteral warning in third-party code 2025-10-27 13:31:40 +00:00
attila
b72343cf8c Fix font sizing with the software and OpenGL renderers when ascent override is used 2025-10-24 11:22:15 +02:00
attila
39ff0f91f4 Docs: Add a note about ascent override to Font::getHeight() 2025-10-24 11:22:15 +02:00
reuk
79748d269a
Docs: Fix more typos in LICENSE file 2025-10-22 15:26:44 +01:00
reuk
d78484b392
Resave all projects 2025-10-22 15:26:44 +01:00
reuk
6a73e63277
VST3: Update bundled sources to 3.8.0 2025-10-22 15:07:49 +01:00
Oli
793a694de2 Examples: Add missing juce_audio_processors_headless module to PIPs 2025-10-22 00:38:11 +01:00
reuk
f5dc5c3956
Android: Fix crash when deleting peer on touch event 2025-10-21 19:09:47 +01:00
reuk
84f29c5c5e
Fix relative paths in LICENSE.md 2025-10-21 19:08:38 +01:00
reuk
c4a72814f1
Resave all projects 2025-10-21 19:08:30 +01:00
reuk
89fc608a34
ASIO: Bundle required headers from SDK 2025-10-21 17:32:36 +01:00
reuk
bd5e4415f9
RectangleList: DRY implementation of subtract() and avoid unnecessary allocations for int-based rectangle lists 2025-10-21 14:26:35 +01:00
reuk
d10c5c36e3
RectangleList: Avoid infinite loops due to numerical precision issues 2025-10-21 14:23:59 +01:00
reuk
92573ca1ad
RectangleList: Remove some curly braces 2025-10-20 17:34:48 +01:00
reuk
e525e12061
JustifiedText: Fix caret positioning when clicking on a trailing whitespace
When clicking in a TextEditor to position the caret, the caret would be
placed at the penultimate position when clicking at the end of a line
with trailing non-newline whitespaces.

Co-authored-by: Aga Janowicz <aga@roli.com>
2025-10-20 17:34:48 +01:00
reuk
3a0135ffb7
SimpleShapedText: Fix detection of control characters
Newlines get removed in the sanitised string, so we need to take extra
steps to keep track of their positions.

Co-authored-by: Aga Janowicz <aga@roli.com>
2025-10-20 17:34:48 +01:00
reuk
de4696d891
SimpleShapedText: Reorganise function declarations 2025-10-20 17:34:48 +01:00
reuk
2abd6f2f71
VST3 Client: Fix duplicate symbols when building a VST3 client that is itself a VST3 host 2025-10-20 17:34:48 +01:00
reuk
2f1c74981f
FreeType: Make font fallback slightly more robust
On Ubuntu 25.10, which includes Noto Color Emoji, I was seeing that the
FontsDemo would assert when attempting to render non-emoji text using
this font. It appears that FontConfig will tend to return Noto Color
Emoji when this family name is passed, even though the font may not
cover the required character set.

The new strategy is to use FontConfig as before, but then to check the
resolved font for coverage of the string. If the resolved font still
can't render the string, we relax the font matching constraints by
removing the family name from the pattern, then try matching again.
2025-10-20 17:34:48 +01:00
reuk
37cc73ad9f
FreeType: Avoid scanning pfb/pcf fonts
Harfbuzz doesn't support these font formats, so attempting to shape text
using these kinds of fonts will fail.

I noticed this on Ubuntu 25.10 for Arm, which seems to include pfb and
otf versions of some fonts. The FontsDemo would assert in cases where
the pfb font was selected instead of the otf font.
2025-10-20 17:34:48 +01:00
reuk
7aa7f49a8c
LruCache: Add workaround for GCC 15.2 bug 2025-10-20 17:34:48 +01:00
reuk
8daab60325
Resave all projects 2025-10-20 17:34:48 +01:00
reuk
46f812034e
SheenBidi: Update internal include paths 2025-10-20 17:34:47 +01:00
reuk
e8beaa4a1f
SheenBidi: Update bundled sources to v2.9.0 2025-10-20 17:34:47 +01:00
reuk
7f22db449a
AffineTransform: Add horizontalFlip() 2025-10-20 17:34:47 +01:00
reuk
2f05ebe8d2
FileTreeComponent: Fix typo in docs 2025-10-20 17:34:47 +01:00
Anthony Nicholls
68f7ed4ecc Colour: Prevent an integer alpha value being processed as a float 2025-10-16 16:55:44 +01:00