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
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
Anthony Nicholls
4212720f7d Time: Add support for variable number of millisecond digits in ISO8601 format 2025-10-16 16:55:44 +01:00
Anthony Nicholls
ea37e71f87 Time: Add assertions for issues parsing an ISO8601 formatted string 2025-10-16 16:55:44 +01:00
Anthony Nicholls
1294562075 VST3: Add support for defining a custom VST3 component class ID 2025-10-16 16:32:46 +01:00
attila
a1a56cd54c Linux: WebBrowserComponent: Terminate subprocess if main process crashes 2025-10-14 17:57:55 +02:00
Tom Poole
be58c6de30 AbstractFifo: Improve docs 2025-10-13 12:07:00 +01:00
Anthony Nicholls
60c34d3ccb PopupMenu: Adjust the bounds of a menu that intersects with safe inset areas 2025-10-10 18:07:52 +01:00
Anthony Nicholls
88af872d4d AUv3: Fix an issue in detecting the available screen user area
On at least iOS 26 using a temporary window frame is unreliable. This
change tries to use an existing window for any non-standalone app. It
also updates the details on any changes, such as when the device
orientation changes.
2025-10-10 18:07:52 +01:00
Anthony Nicholls
32b4423ca8 AUv3: Ensure an editor is always available if possible 2025-10-10 18:07:52 +01:00
attila
7449867337 MacOS: Fix WebBrowserComponent going blank in FL Studio
The issue could be triggered by opening the plugin in FL Studio, and
then using the TAB button to switch between FL Studio UI elements, until
the plugin became invisible and then it became visible again. This would
cause the WebBrowserComponent to navigate to about:blank permanently.

This was caused by the component becoming invisible and visible again in
rapid succession. This triggered a navigation to about:blank. To
understand the root cause of this, some undocumented behaviour of
WkWebView had to be uncovered. To understand this, see the following
test code, where the test1, test2 and test3 functions are called with
ample time in between one after the other.

void test1()
{
    goToURL ("A");
}

void test2()
{
    goToURL ("B");
    goToURL ("C");

    // B, C ignored completely, only D inserted into back-forward navigation queue
    goToURL ("D");
}

void test3()
{
    goToURL ("E");
    goToURL ("F");

    // E, F ignored completely, back navigation executed from D to A
    goBack();
}
2025-10-09 17:52:29 +02:00
attila
bc8e9e05af Linux: WebBrowserComponent: Fix crash when accessing resources larger than 4k
This commit reverts 8e6aeab799.

The WebBrowserComponent subprocess calls tryNextRead() in an infinite
loop. Prior to the reverted change this allowed it to handle the
transfer of larger files, which would span multiple calls to the
function. The transfer state would be remembered in the receivingLength
and pos class members.

The simplification in 8e6aeab799 mainly
comes from moving these class members into function locals, but this
means, that the transfer state is lost whenever the break statements are
hit. This would cause bad access during the transfer of larger files.
2025-10-09 16:30:52 +02:00
attila
3592a73682 Windows: Bump suggested WebView2 version number to current stable 2025-10-03 14:30:47 +02:00
attila
efcc8bb6f0 Remove unused function
The NSWindow class doesn't have isFlipped. Consequently the removed
function wasn't overriding it, and it wasn't called otherwise either.
2025-10-02 15:40:20 +02:00