Oliver James
e360d83057
PopupMenu: Move IdealSize modifiers to LookAndFeel
2024-12-19 14:00:23 +00:00
Oliver James
8be4c49c19
Projucer: Warn when MSVC toolchain is x86 and system is x64
2024-12-19 13:58:58 +00:00
Oliver James
9b959bd223
AudioProcessor: Use std::optional in TrackProperties
2024-12-19 13:36:35 +00:00
Oliver James
59ca34daaf
Projucer (MSVC): Move copy plugin step into VST2 codepath
2024-12-19 11:37:38 +00:00
Oliver James
96e4ba06af
AudioProcessor: Add VST2/VST3 midi note name support
...
Co-authored-by: Roland Rabien <roland@rabien.com>
2024-12-19 10:15:34 +00:00
Anthony Nicholls
ad3457434e
SimpleShapedText: Prevent running tests when no default typefaces can be found
2024-12-18 17:55:27 +00:00
Anthony Nicholls
7a1f397de6
Fonts (Linux): Return a null typeface when no default typefaces can be found
2024-12-18 16:00:44 +00:00
tpoole
4d5636c66d
Fix some text formatting
2024-12-18 13:18:50 +00:00
tpoole
df14e83838
Image: Remove an unused function
2024-12-18 13:04:27 +00:00
attila
9dd8a2af13
Fix SimpleShapedText::getTextRange() when the input text contains hard breaks
...
The issue prior to this commit would be observable when using the
GlyphArrangement functions e.g. addFittedText.
This is a fix for a regression introduced in
9223805b9c .
2024-12-17 18:27:30 +01:00
attila
633777e005
UnitTestRunner: call DeletedAtShutdown::deleteAll() before exiting
...
This allows us to exercise classes using DeletedAtShutdown in tests,
without triggering leaked object warnings
2024-12-17 18:27:30 +01:00
reuk
52beda1396
ImagePixelData: Speed up format conversions by hoisting switch statements out of tight loops
2024-12-13 14:49:46 +00:00
reuk
d3d7d4c89c
VBlank: If previous frame is still in progress, wait until next frame to trigger a new vblank
...
Previously, the vblank's thread loop would block on each iteration until
the current async callback had finished, at which point a new async
callback would be immediately triggered.
The new implementation only waits on the vblank event. If a vblank
callback is still in progress the next time the vblank event is
signalled, we assume the last frame is overrunning and avoid sending a
new async update.
The intention of this change is to avoid saturating the message thread
with expensive vblank callbacks. It's also nice to remove a lock,
although that's just an incidental change.
2024-12-13 14:49:46 +00:00
reuk
f887979ec0
Direct2D: Fix performance issue when drawing transformed unclipped regions
...
This issue could be observed in the GraphicsDemo's SVG pane, when the
"rotation" option was enabled.
Drawables internally enable the unclipped painting flag, which normally
prevents slow clipping when drawing subcomponents of the drawable.
The Direct2D graphics context was using the frame area as the default
area, used to signal that no clipping should be applied. However, when
non-axis-aligned transform was active, this area was incorrectly applied
as a geometric clipping region. D2D geometric clips are relatively slow,
so this caused large slowdowns.
This solution adds a flag that is set whenever a clip is explicitly
requested. If no clip is explicitly requested, then clipping will be
entirely bypassed. This can make rendering of Drawables significantly
faster.
2024-12-13 14:49:46 +00:00
reuk
336dcfc08c
Direct2DImage: Update interface to accept a Device instead of a DeviceContext
2024-12-13 14:43:06 +00:00
reuk
21357f26b5
OpenGLTexture: Respect pixelStride when loading Image to texture
2024-12-13 14:42:26 +00:00
reuk
f05031a898
Image: Convert structs to lambdas in implementation
2024-12-13 14:42:26 +00:00
reuk
dcca72484f
Image: Update return type of getPixelData to avoid dangling pointers
2024-12-13 14:42:26 +00:00
reuk
0be5ad1afc
CMake: Fix invalid DEPENDS argument passed to add_custom_command
...
add_custom_command rejects this argument in CMake 3.31+ according to
CMP0175.
2024-12-13 14:42:26 +00:00
reuk
80bb7b0861
ScopedThreadDPIAwarenessSetter: Make moveable
2024-12-13 14:42:26 +00:00
Anthony Nicholls
880b76983e
Graphics: Use cached glyph shaping when only the position of text changes
2024-12-13 14:41:26 +00:00
reuk
4f474d97f4
FileChooser: Fix double-delete of UTType instances
2024-12-12 12:58:54 +00:00
Anthony Nicholls
34f7d467c9
VST2 Client: Fix compilation issue when compiling with JUCE_VST3_CAN_REPLACE_VST2
2024-12-11 14:50:49 +00:00
Oliver James
bc6a7ecdf5
Resave all projects
2024-12-11 13:50:13 +00:00
Oliver James
f608e7cce2
juce_audio_devices: Add support for JACK on Windows and macOS
2024-12-11 13:50:13 +00:00
Oliver James
b7d0364e69
AudioTransportSource: hasStreamFinished returns true when stream finished
2024-12-11 13:48:47 +00:00
attila
6f4a2f6b6a
Upgrade to harfbuzz 10.1.0
2024-12-10 13:43:51 +01:00
reuk
9b73f07e07
AUv3 Client: Add support for MIDI sysex input
2024-12-08 22:25:11 +00:00
reuk
330792dcee
AUv3 Client: Use MIDIEventList for output
2024-12-08 22:25:11 +00:00
reuk
a6fa345ccc
SheenBidi: Disable implicit-fallthrough warning for clang/gcc
2024-12-08 22:25:11 +00:00
attila
67e7a638fd
Fix VST3 plugin compilation when JUCE_PLUGINHOST_VST3=1
2024-12-06 15:24:41 +00:00
attila
4a5076d3a3
Fix WebControlRelays documentation
2024-12-06 15:24:41 +00:00
Oliver James
951b02c86d
AudioDeviceManager: Always save audioDeviceBufferSize
2024-12-06 12:19:16 +00:00
reuk
914f55683c
StandardHeader: Fix missing definition of alignment_of_v
...
When building in C++23 mode for iOS with Xcode 16.1 and Ninja, this
symbol could not be found, presumably because it is no longer included
transitively via other standard headers.
2024-12-05 11:54:11 +00:00
Oliver James
7ba1107d24
Juceaide: Fix CMake not expanding passed through variables
2024-12-04 20:25:50 +00:00
attila
9223805b9c
Refactor shaping to eliminate false soft break points at shaping parameter boundaries
...
Prior to this a soft break could occur between two characters printed in
different fonts, even though there was no break opportunity there in the
Unicode string.
2024-12-04 16:52:57 +01:00
attila
0474dacd31
Add Ranges::covers
2024-12-04 16:50:36 +01:00
attila
c69119a7b7
Add Ranges::find and RangedValues::find
2024-12-04 16:50:36 +01:00
attila
0dc97de993
Add Ranges::eraseUpTo
2024-12-04 16:48:12 +01:00
attila
5b604e6d3c
Fix AudioFormatReaderSource::getNextAudioBlock
...
The issue occurred when using looping and reading a block that is larger
than the length of the underlying AudioFormatReader.
2024-12-04 15:40:21 +00:00
attila
1f8882dee0
Avoid assertions during AudioDeviceManagerTests
2024-12-04 15:40:21 +00:00
attila
9b87c1a50e
Fix assertion during WaveAudioFormatTests
2024-12-04 15:40:21 +00:00
reuk
5d5829927a
AccessibilityDemo: Add local notifications example
...
Also updates the DemoRunner so that the new push notifications example
works properly on Android.
2024-12-04 11:13:44 +00:00
reuk
269ebbb525
Accessibility: Add AccessibilityHandler::postSystemNotification() function for posting an OS-specific accessible notification
2024-12-04 11:11:21 +00:00
reuk
6d10eb536f
PushNotifications: Update Android implementation to properly request permissions
2024-12-04 11:09:18 +00:00
reuk
ed0092a8bc
PushNotifications: Assert instead of crashing if Android notification icon cannot be located
2024-12-04 11:09:18 +00:00
reuk
98031a814c
PushNotifications: Remove unnecessary qualifications in Android impl
2024-12-04 11:09:18 +00:00
reuk
0329635ed2
RuntimePermissions: Allow requesting the POST_NOTIFICATIONS permission at runtime on Android
2024-12-04 11:09:18 +00:00
reuk
5878adaecd
Projucer: Add android.permission.POST_NOTIFICATIONS to manifest when push notifications enabled
2024-12-04 11:09:18 +00:00
reuk
051e701780
Windowing: Update mousewheel handler on Windows to always process messages in the context of the peer receiving the event
2024-12-03 14:26:21 +00:00