reuk
c19c38a199
Projucer: Add manifest option to allow virtual MIDI on Android
2025-06-19 14:48:07 +01:00
reuk
62e56e73ba
Projucer: Update default Android toolchain versions
2025-06-19 14:48:07 +01:00
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
523f6eed0c
MidiDemo: Add virtual ins/outs to allow connections from other applications
2025-06-19 14:48:06 +01:00
reuk
59f04f66b0
Projucer: Add support for Windows MIDI Services nuget package
2025-06-19 14:48:06 +01:00
reuk
337dc27092
CMake: Add support for optional Windows MIDI Services dependency
2025-06-19 14:48:05 +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
reuk
0a71227126
DemoRunner: Protect against null peer when updating renderer
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
7f00a8bcb4
Projucer (MSVC): Make Zi default debug info flag
...
This restores the original debug-flag for MSVC projects generated by the Projucer.
2025-06-19 12:03:26 +01:00
Oliver James
4a79bc5cfd
CMake (MSVC): Make Zi default debug info flag
...
This restores the original debug-flag for CMake builds on Windows.
2025-06-19 12:03:26 +01:00
Oli
20b6a2c290
DemoRunner: Add FontFeatures Demo
2025-06-17 12:38:20 +01:00
Oliver James
d651f6740c
Fonts: Add OpenType feature support
2025-06-17 12:38:20 +01:00
Tom Poole
a5797efeb0
CI: Handle more errors when connecting to the GitHub API
2025-06-17 09:59:44 +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
Tom Poole
e926ecb9e9
CI: Fix skipped docs job
2025-06-17 09:02:33 +01: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
Tom Poole
6bee9d515c
CI: Don't unconditionally skip the deploy job if the build job was skipped
2025-06-16 14:34:34 +01:00