reuk
8eea88dec3
Direct2DHwndContext: Remove unnecessary prefixes
2025-12-17 16:22:39 +00:00
reuk
f6a81fe5f2
WebBrowserComponent: On Linux, avoid asserting when no callback is passed to evaluateJavascript()
2025-12-17 15:20:48 +00:00
attila
d252e8ced5
Add Icon Composer icons to the Projucer, DemoRunner and AudioPluginHost
2025-12-17 13:09:18 +00:00
attila
07120c2f4e
MacOS: Projucer: CMake: Add option to use an Icon Composer icon
2025-12-17 13:09:18 +00:00
reuk
ea5cffcbd2
XEmbedComponent: Improve formatting
2025-12-16 12:29:59 +00:00
reuk
f48ca1b1e3
XEmbedComponent: Update embedded window size when peer scale changes
2025-12-16 12:29:59 +00:00
reuk
28aa387f8d
VST Host: Fix issue where the Component bounds computed for a hosted editor on Linux could be incorrect for non-unity scale factors
2025-12-16 12:29:59 +00:00
reuk
8e4832dcf5
WebBrowserComponent: Improve formatting
2025-12-16 12:29:59 +00:00
reuk
14ee9e46ff
WebBrowserComponent: Fix bug where Linux browser process could segfault during shutdown
...
This issue could be observed when loading the WebViewPluginDemo in the
AudioPluginHost, opening its editor, and then attempting to close the
editor window using the titlebar button. Tested on Fedora 42 with
libwebkit2gtk-4.1.
Unloading the webkit library with dlclose seems to cause the webview
process to crash, even if gtk_main() has already exited at that point.
Maybe this points to a need to manually clean up the webview somehow
before calling gtk_main_quit, but I can't see any obvious candidate
functions in the docs (gtk_widget_destroy doesn't seem to help).
The workaround presented here just opens the webkit library with
RTLD_NODELETE, which isn't ideal but might be necessary if this library
hasn't been designed with dynamic load/unload in mind.
2025-12-16 12:23:59 +00:00
reuk
3b569d5801
WebBrowserComponent: Fix hang when browser window exits unexpectedly
...
If the browser process happened to segfault, the old WIFEXITED check
would never succeed and the loop would never break.
The issue is resolved by additionally checking for other statuses that
also indicate that the child process is no longer alive.
2025-12-16 12:23:59 +00:00
reuk
983cbdc441
VST Host: Use a "wrapper" window on Linux so that the client does not have to be responsible for window position
...
Previously, on Linux, client plugin editors were embedded directly into the peer
displaying the client's AudioProcessorEditor.
Although this approach is simple and lightweight, it means that plugin
editors are able to reposition themselves over controls in the parent
window just by calling XMoveResizeWindow or similar on their own widget.
It's more desirable that the client editor should be clipped if it
attempts to draw outside the area of the AudioProcessorEditor.
2025-12-16 12:23:59 +00:00
reuk
cad3e2f054
LV2 Client: Avoid potential nullptr deref when widget is not set by client UI
2025-12-16 12:23:59 +00:00
reuk
aaa204c608
LV2 Client: Avoid advertising noUserResize as extension data
2025-12-16 12:23:59 +00:00
reuk
e57dac4a63
LV2 Host: Avoid sending resize events back to the plugin if they originated from the plugin
2025-12-16 12:23:59 +00:00
reuk
648a7bcecc
LV2 Host: Avoid checking for noUserResize in UI extension data
2025-12-16 12:23:59 +00:00
reuk
3bc7692868
LV2 Host: Fix some confusion between logical/physical coordinate spaces
2025-12-16 12:23:59 +00:00
reuk
1c2d5f69f3
LV2 Host: Avoid double-nesting XEmbed views
...
This fixes an issue where some LV2 plugin UIs failed to display
correctly. The issue seemed to be more likely to manifest on a plain
Xorg session.
2025-12-16 12:23:59 +00:00
reuk
167d9b64c3
LV2 Host: Query ComponentPeer directly for scale factor instead of using a cached value
2025-12-16 12:23:58 +00:00
reuk
0ba96f15a0
LV2: Use std::optional in more places
2025-12-16 12:23:58 +00:00
reuk
fcf1971122
Plugin Client: Change scaling mechanism on Linux/Windows plugins
2025-12-16 12:23:58 +00:00
reuk
b4c28db765
ComponentPeer: Add method for overriding native scale factor
2025-12-16 12:23:58 +00:00
reuk
6648e13fa6
X11: Ignore ConfigureNotify events containing stale information
2025-12-16 12:03:35 +00:00
reuk
89d019b5da
X11: Load XNextRequest function
2025-12-16 12:03:35 +00:00
reuk
141b2d64cc
X11: Remove isStandaloneApp check
2025-12-16 12:03:35 +00:00
reuk
254e03a435
Windows: Use ComSmartPtr to manage FileDropTarget
2025-12-16 12:03:35 +00:00
reuk
57c739c444
Windows: Remove isStandaloneApp checks
2025-12-16 12:03:35 +00:00
reuk
3f13cdb314
HWNDComponentPeer: Add setBoundsPhysical() method to set window size in physical pixels
2025-12-16 12:03:35 +00:00
reuk
0fab062726
TopLevelWindow: Simplify setBounds() call
2025-12-16 12:03:35 +00:00
reuk
82cc2ab282
Windows: Fix target version preprocessor definition
...
This now matches the definition in juce_BasicNativeHeaders.h
2025-12-16 12:03:35 +00:00
reuk
1237b34c84
Windowing: Avoid dynamically loading GetSystemMetricsForDpi, which is always present on Windows 10
2025-12-16 12:03:35 +00:00
reuk
5048d359e5
Windowing: Avoid dynamically loading EnableNonClientDpiScaling, which is always present on Windows 10
2025-12-16 12:03:35 +00:00
reuk
e2a1af48e5
Windowing: Avoid dynamically loading GetWindowDpiAwarenessContext, which is always present on Windows 10
2025-12-16 12:03:35 +00:00
reuk
f34de2438c
Windowing: Avoid dynamically loading GetAwarenessFromDpiAwarenessContext, which is always present on Windows 10
2025-12-16 12:03:35 +00:00
reuk
ad95f9d88c
Windowing: Avoid dynamically loading GetThreadDpiAwarnessContext, which is always present on Windows 10
2025-12-16 12:03:34 +00:00
reuk
016cf341bf
Windowing: Avoid dynamically loading SetThreadDpiAwarenessContext, which is always present on Windows 10
2025-12-16 12:03:34 +00:00
reuk
2591068b61
Windowing: Avoid dynamically loading GetProcessDpiAwareness, which is always present on Windows 8.1
2025-12-16 12:03:34 +00:00
reuk
f1d215f014
Windowing: Avoid dynamically loading SetProcessDpiAwareness, which is always present on Windows 8.1
2025-12-16 12:03:34 +00:00
reuk
09ae83a367
Windowing: Avoid dynamically loading SetProcessDpiAwarenessContext, which is always present on Windows 10
2025-12-16 12:03:34 +00:00
reuk
63410e78e7
Windowing: Avoid dynamically loading GetDpiForMonitor, which is always present on Windows 8.1
2025-12-16 12:03:34 +00:00
reuk
b4749b1f86
Windowing: Avoid dynamically loading SetProcessDPIAware, which is always present on Vista
2025-12-16 12:03:34 +00:00
reuk
2261575b00
Windowing: Avoid dynamically loading GetDpiForWindow, which is always present on Windows 10
2025-12-16 12:03:34 +00:00
reuk
83e3cd8be9
WASAPI: Fix issue where current buffer size could be misreported in non-low-latency non-exclusive mode
...
In shared mode (i.e. non-low-latency, non-exclusive) the driver has sole
responsibility for setting the wakeup period, and this cannot be changed
by the application. This change ensures that the audio device always
uses the buffer size reported by the audio hardware, even when that
differs from the buffer size that was requested by the program.
2025-12-16 12:03:34 +00:00
reuk
95eef1995a
Variant: Make DynamicObject comparison more intuitive
2025-12-16 12:03:34 +00:00
reuk
4488813de7
DynamicObject: Add implementation of equals()
2025-12-16 12:03:34 +00:00
Tom Poole
29396c22c9
JUCE version 8.0.12
2025-12-16 08:51:21 +00:00
reuk
2e72048cd2
Projucer: Enable ARM64EC for Visual Studio 2026 exporter
2025-12-16 08:50:50 +00:00
Tom Poole
edeb175c12
Resave all projects
2025-12-16 08:50:10 +00:00
Tom Poole
acc4b9c6d0
Bump version number to 8.0.12
2025-12-16 08:48:49 +00:00
Tom Poole
7617f6b480
Projucer: Fix a module path in provided projects
2025-12-12 20:35:44 +00:00
Aga Janowicz
195795047e
DrawableText: 0-initialise fontHeight and fontHScale variables
2025-12-08 17:19:57 +00:00