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

10399 commits

Author SHA1 Message Date
reuk
cfa48ec7b8
Android: Use AFontMatcher to locate generic system fonts on supported platforms 2025-06-19 14:48:07 +01:00
reuk
9dd9ef5b8d
juce_core: Update instructions for generating Java bytecode with new tools 2025-06-19 14:48:07 +01:00
reuk
8b815678b2
WinRT: Silence function casting warnings when building with clang 2025-06-19 14:48:07 +01:00
reuk
306f0dee03
MIDI: Get rid of InputHandler types that are no longer required 2025-06-19 14:48:07 +01:00
reuk
75ccfa02cc
MIDI: Update UMPDispatcher to allow dispatching on a specific group 2025-06-19 14:48:07 +01:00
reuk
3ada192c7b
MIDI: Switch BytestreamMidiView for BytesOnGroup in a few places 2025-06-19 14:48:07 +01:00
reuk
a87a61e47b
Midi1ToMidi2DefaultTranslator: Use std::byte in implementation 2025-06-19 14:48:06 +01:00
reuk
443f014c26
UMPMidi1ToBytestreamTranslator: Refactor to separate responsibilities between translator and extractor 2025-06-19 14:48:06 +01:00
reuk
a68317c26c
MIDI: Use Spans instead of pointer pairs in more places 2025-06-19 14:48:06 +01:00
reuk
7a128a6cc5
MIDI: Add span getters for MidiMessage and MidiMessageMetadata 2025-06-19 14:48:06 +01:00
reuk
6c30f5e289
UMPIterator: Fix misleading variable naming 2025-06-19 14:48:06 +01:00
reuk
e2d3b8372e
FunctionNotificationCenterObserver: Move to ObjCHelpers header
This type will be used to monitor UMP endpoint changes in an upcoming
commit.
2025-06-19 14:48:06 +01:00
reuk
88bd3b0bbb
ObjCClass: Remove virtual destructor and add move operations
ObjCClass doesn't have other virtual methods; it is not intended to be
used as an interface or dynamic type. Removing the virtual destructor
is intended to promote composition over inheritance when using this
type.
2025-06-19 14:48:06 +01:00
reuk
6190384fe1
UMPFactory: Use new stronger types 2025-06-19 14:48:06 +01:00
reuk
9da7c5ce53
MIDI: Add stronger MessageKind type in UMPUtils.h 2025-06-19 14:48:06 +01:00
reuk
0e7e7a9b75
StringArray: Add nodiscard 2025-06-19 14:48:05 +01:00
reuk
e80ce08a85
Bela: Drop support 2025-06-19 14:48:05 +01:00
reuk
8896ae72d3
JNI: Add WeakGlobalRef helper type 2025-06-19 14:48:05 +01:00
reuk
a22585553d
JNI: Tidying 2025-06-19 14:48:05 +01:00
reuk
8d935b25b2
Windows: Disable edge-resizer cursors for kiosk-mode windows 2025-06-19 14:45:31 +01:00
reuk
3e70c37ce3
Windows: Disable window decorations for kiosk-mode windows
This fixes an issue where kiosk-mode windows would incorrectly receive
rounded corners and a 1px transparent border.
2025-06-19 14:45:31 +01:00
reuk
aa9b352483
Windows: Use ScopedValueSetter to make function implementation more concise 2025-06-19 14:45:31 +01:00
reuk
70f3c788b7
Toolbar: Avoid use-after-free when toolbar is destroyed before customisation dialog 2025-06-19 14:45:30 +01:00
reuk
9b9b98bc8f
Windows: Make static data members inline 2025-06-19 14:45:30 +01:00
reuk
6bc274286f
Windows: Fix mouse state tracking when mouse leaves window
467f20a7a1 introduced a change to start processing WM_NCMOUSELEAVE
messages as mouse-exit events. This behaviour is not quite correct,
because NCMOUSELEAVE may be triggered when moving the cursor from the
nonclient area to the client area, in which case the mouse is still over
the window.

We now check whether the mouse is really over the window inside
doMouseExit(), and continue to track it if necessary.
2025-06-19 14:45:30 +01:00
reuk
b8e0146a3c
Network: Make Linux networking code robust against user headers that already end with CRLF 2025-06-19 14:45:30 +01:00
reuk
58fabf3a8f
XmlElement: Add new API to allow iterating over attributes 2025-06-19 14:45:30 +01:00
reuk
a3f813d8a5
ToolbarItem: Tidy up constructor 2025-06-19 14:42:49 +01:00
reuk
5d7208bb54
ModifierKeys: Avoid direct access to currentModifiers when reading but not writing 2025-06-19 14:42:49 +01:00
Oli
8fd73d33a8 Graphics: Modify imported libjpeg sources for unity build compatibility 2025-06-19 13:18:43 +01:00
Oli
34c8704a25 Graphics: Import JPEG library code 2025-06-19 13:18:42 +01:00
Oliver James
d651f6740c Fonts: Add OpenType feature support 2025-06-17 12:38:20 +01:00
attila
f371fecb34 Fix compilation when JUCE_USE_LAME_AUDIO_FORMAT=1
This fixes a regression in 1ce35453db.
2025-06-17 10:13:52 +02:00
reuk
fa701a1bd9
SimpleShapedText: Use string with replaced whitspace during fallback font substitution
This is intended to address an assertion that sometimes fired during
shaping text on Android, for example when using the font "Noto Sans
Symbols" and shaping ASCII text including a line break in a multiline
text editor.

The cause of the issue seems to be that the shaper would search for
substitute fonts using the original string content, but would then
replace some characters in the string during shaping. Shaping could then
fail if the font did not contain glyphs for the replaced characters.

We now create a UTF32 string with replaced characters at the beginning
of the shaping process, and use that new string for all queries other
than unicode analysis.
2025-06-16 16:59:55 +01:00
reuk
e5049ad6e9
SimpleShapedText: Avoid UTF8-lookup allocations 2025-06-16 16:59:55 +01:00
reuk
a3d64c7784
Typeface: Enable advanced colour glyph rendering on Android
Android 15+ removed the 'legacy' png-based emoji font. Modern Android
versions may include only a COLR-v1-based font, which JUCE cannot
render itself.

As a workaround, on Android, we use a Canvas object to render each emoji
glyph into a bitmap, and then render that bitmap in the same way as a
legacy png-based glyph. This won't look as crisp as rendering COLRv1
glyphs directly, especially at larger sizes, but this is a sufficient
stop-gap for the time being.
2025-06-16 16:59:55 +01:00
reuk
70a2dd7e15
UIViewComponentPeer: Adopt the UIScene lifecycle on iOS 13+ 2025-06-16 16:59:55 +01:00
reuk
2c5b1fbb6f
NativeMessageBox: On iOS, prefer the peer of the associatedComponent to the focused peer to determine the parent controller 2025-06-16 16:59:55 +01:00
attila
1ce35453db Deprecate the old AudioFormat::createWriterFor functions 2025-06-12 20:02:33 +02:00
attila
386daafe23 WavAudioFormat: Add support for writing 32 bit integral (PCM) format 2025-06-12 20:02:33 +02:00
Anthony Nicholls
34675235e5 VST3: Prevent some warnings 2025-06-12 15:52:01 +01:00
Anthony Nicholls
26edac975d VST3: Fix a bug converting a compatibility ID to a string 2025-06-12 15:52:01 +01:00
Anthony Nicholls
7c7e51176e VST3: Include the name and version in the moduleinfo 2025-06-12 15:52:01 +01:00
Anthony Nicholls
af256aab02 VST3: Prevent a compiler warning 2025-06-11 15:50:44 +01:00
reuk
37bb7a6c30
iOS: Fix deprecation warning 2025-06-10 20:16:02 +01:00
reuk
6f1d116279
macOS: Add initial macOS 26 suport 2025-06-10 20:15:58 +01:00
Anthony Nicholls
46703f3e65 PluginListComponent: Replace inappropriate naming with more suitable alternatives 2025-06-10 16:14:06 +01:00
Anthony Nicholls
f3d7c74ea1 VST3: Allow manifest helper to run independently 2025-06-10 16:13:33 +01:00
Anthony Nicholls
80116d60da VST3: Platform header should be included from user supplied SDK 2025-06-10 16:13:33 +01:00
Anthony Nicholls
c1c8eccb99 Core: Prevent a preprocessor definition leak in zlib 2025-06-10 16:13:33 +01:00