-
Notifications
You must be signed in to change notification settings - Fork 1
Audiogridder patches #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: audiogridder-patches
Are you sure you want to change the base?
Conversation
add_custom_command rejects this argument in CMake 3.31+ according to CMP0175.
…gions 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.
… 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.
…ents out of tight loops
This allows us to exercise classes using DeletedAtShutdown in tests, without triggering leaked object warnings
…d 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 9223805.
Co-authored-by: Roland Rabien <[email protected]>
…ods. This fixes a bug introduced in the previous commit that caused all menu items to be sized too large.
Co-authored-by: Matt Gonzalez <[email protected]>
This should also fix https://forum.juce.com/t/bug-d2d-renderer-does-not-draw-purely-horizontal-vertical-paths/65686/3 Co-authored-by: Matt Gonzalez <[email protected]>
This fixes the issue reported here: https://forum.juce.com/t/regression-in-drawimage/65084/5
Co-authored-by: Ryaan Ahmed <[email protected]>
This makes Direct2DMetrics and current frameId accessible to implementation subclasses. It also replaces JUCE_WRITE_TRACE_LOG with JUCE_WRITE_TRACE_LOG_VA as intended in original implementation. Co-authored-by: Matt Gonzalez <[email protected]>
The merge commit below should show some of the hotspots, there was one method signature I intended to change as well, putting the IsUnixDomain boolean after the SocketOptions struct since I think our customizations should always be tacked onto the end of the arg list where possible. |
Last thought: we might want to instead re-apply the custom tweaks to JUCE against a fresh branch off of upstream's master for a cleaner changeset. |
Hey Andreas!
Setting up for the feature work I've been planning.. which is finally going ahead from today!
This PR is to reconcile your patches to JUCE with the latest version of JUCE 8 - I can't develop from Sequoia without using JUCE 8 it would seem...
We should check this carefully as juce_Socket.cpp in particular had a fairly involved merge process.
I'll test as much as I can on my side...
Cheers!
PS: Another thing I might be able to help with is PRing some of the changes (which look like genuine improvements) upstream to JUCE.. with enough effort we might be able to eliminate the need to maintain a custom fork of JUCE for audiogridder.. which can result in hard-to-review PRs like this one if we get really out-of-date with upstream!