Commit Graph

3074 Commits

Author SHA1 Message Date
Asahi Lina dd36bb3d3b Resize the Wine window as well as the wrapper window
This fixes issues with various plugins such as PG-8X and SCVA.
2025-06-01 22:52:27 +02:00
Asahi Lina 6f65613292 VST3: Create the window with the plugin-returned initial size
Instead of creating the window as 128x128 and then resizing, create it
with the size requested by the plugin. Fixes Korg VST3 plugins.
2025-06-01 22:52:27 +02:00
Asahi Lina b2db9cc0a6 VST3: Add HiDPI scaling hack
Sometimes the plugin size might be off-by-one due to HiDPI scaling. If
so, pretend it's actually the size that was requested, to avoid ending
up in an infinite loop.
2025-06-01 22:52:27 +02:00
Asahi Lina 9994043306 Use WM_WINDOW_ROLE instead of WM_STATE to detect the host window
Ardour brings up the plugin UI before the host window is visible, and it
is missing some properties. Using WM_WINDOW_ROLE instead of WM_STATE
makes it work.

For reference, these are the properties that are set on the window at
the time of plugin GUI instantiation:

_NET_WM_ICON(CARDINAL) =        Icon (16 x 16):
WM_WINDOW_ROLE(STRING) = "plugin_ui"
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 6294918
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_UTILITY
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x600d85
WM_CLIENT_LEADER(WINDOW): window id # 0x600001
_NET_WM_PID(CARDINAL) = 1604801
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_CLIENT_MACHINE(STRING) = "homura"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
                program specified size: 521 by 46
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "ardour-8.12.0", "Ardour-8.12.0"
WM_ICON_NAME(STRING) = "Audio 1: Melodyne (by Celemony) [VST3]"
_NET_WM_ICON_NAME(UTF8_STRING) = "Audio 1: Melodyne (by Celemony) [VST3]"
WM_NAME(STRING) = "Audio 1: Melodyne (by Celemony) [VST3]"
_NET_WM_NAME(UTF8_STRING) = "Audio 1: Melodyne (by Celemony) [VST3]"
2025-06-01 22:51:47 +02:00
Robbert van der Helm e18d598c7e Remove function to get X11 screen size
This is no longer used.
2025-06-01 22:47:54 +02:00
Robbert van der Helm eb8bf93f24 Resize the Wine window using SetWindowPos
This seems to behave more reliably than resizing the window with
`xcb_configure_window()`, solving some of the client area issues with
Wine 9.21.
2025-06-01 22:47:54 +02:00
Robbert van der Helm 66840d4d16 Remove the editor_coordinate_hack option
I'm not sure if this would still be necessary with the new embedding
approach, but it definitely does cause more problems than it solves.
2025-06-01 22:47:53 +02:00
Robbert van der Helm 51e4d61004 Remove the editor_xembed option 2025-06-01 22:47:38 +02:00
Robbert van der Helm 0f9eea2558 Drop the SWP_NOCOPYBITS on resize hack
This shouldn't be necessary anymore. It can always be added back later
if there is still flickering.
2025-06-01 22:47:13 +02:00
Robbert van der Helm ccf5402c1c Reformat with clang-format 2025-06-01 22:47:13 +02:00
Robbert van der Helm 983a19169b Don't include xcb_icccm.h
We just need this constant, so there's no real need to add the
additional dependency. There's also no real harm in adding it, but it
would result in additional work for every packager.
2025-06-01 22:47:13 +02:00
Robbert van der Helm ccc22bfabc Add a changelog entry for the GUI fixes 2025-06-01 22:47:13 +02:00
Rémi Bernon 02fb140b19 Remove now unnecessary fix_local_coordinates workaround. 2025-06-01 22:47:13 +02:00
Rémi Bernon 2c6c21409c Fix window wrapping by implementing a minimal ICCCM window manager. 2025-06-01 22:47:13 +02:00
Robbert van der Helm 918d24a16e Update asio wrap to 1.34.2
This fixes a compatibility issue with newer asio versions.
2025-06-01 22:45:53 +02:00
Robbert van der Helm 5d257268a4 Remove system-asio build option
Asio has been shipping with `pkg-config` support since version 1.23, so
this is no longer needed.
2025-06-01 22:44:13 +02:00
Robbert van der Helm 6318f1623e Revert removal of build.cpp_std default
I thought meson now handled this correctly, but it seems not.
2025-06-01 22:36:40 +02:00
Robbert van der Helm 0002273e4d Drop the 32-bit libyabridge support for EnergyXT
I don't think anyone is using this, and it's triggering a bug in recent
Meson versions so just removing it for now should be fine.
2025-06-01 22:25:11 +02:00
yiannis ioannides 0f3e762953 Update README.md 2025-04-05 20:55:23 +02:00
Robbert van der Helm 61fa5c903e Change Wine downgrade example to use Wine 9.21 2025-03-02 23:11:48 +01:00
Robbert van der Helm 005a20972d Switch to the V4 GitHub actions
Because why have things keep working unchanged if you can deprecate
them!
2025-03-01 16:25:58 +01:00
Robbert van der Helm 74a76e60b7 Update tested versions 2025-02-27 22:24:03 +01:00
Robbert van der Helm ca5343087f Update tested Wine version 2024-12-01 19:59:13 +01:00
Robbert van der Helm 6376889bbe Update changelog for path-auto changes 2024-12-01 19:58:41 +01:00
Robbert van der Helm 5151f1c447 Merge branch 'SakiiCode/master' (#316)
https://github.com/robbert-vdh/yabridge/pull/316
2024-12-01 19:57:53 +01:00
Robbert van der Helm d509a6d500 Mention the GUI issues with Wine 9.22 2024-11-27 23:45:17 +01:00
Robbert van der Helm 3a26b3a63d Fix typo 2024-11-27 23:44:04 +01:00
Robbert van der Helm aa5c371c32 Try to load posix spawn addclosefrom_np at runtime
To work around the issue from
https://github.com/robbert-vdh/yabridge/issues/377.
2024-11-27 23:39:37 +01:00
Robbert van der Helm d9286758c0 Bump to version 5.1.1 5.1.1 2024-11-04 21:51:11 +01:00
Robbert van der Helm 95c45030b4 Use default-features instead of default_features 2024-11-04 21:50:49 +01:00
Robbert van der Helm a82bd51c2e Drop the 32-bit builds
If anyone needs these, they'll need to be configured for a new image.
GitHub Actions doesn't support Ubuntu 18.04 anymore.
2024-10-06 16:58:20 +02:00
Robbert van der Helm 66c6d2ff5c Build yabridgectl on Ubuntu 20.04 2024-10-06 16:57:54 +02:00
Robbert van der Helm 2ad8aba5e3 Fix DPI scaling in Wine 9.17+ 2024-10-06 16:46:12 +02:00
Robbert van der Helm 921d2e8f79 Update the tested versions 2024-10-06 16:35:23 +02:00
Robbert van der Helm 8d0507add7 Update tested Wine version 2024-05-04 16:14:00 +02:00
Robbert van der Helm 543208864a Remove note about VST3 resizing issues in Renoise 2024-05-04 15:43:29 +02:00
Robbert van der Helm 84ffb08eb3 Also mention Wine 9.6 not working
The MR that would fix it is still being worked on.
2024-04-07 22:53:29 +02:00
Robbert van der Helm 8d508dc2fe Fix segfault destroying libdbus connection 2024-04-07 22:49:00 +02:00
Robbert van der Helm c50ef826fb Update tested versions 2024-04-01 13:42:51 +02:00
Robbert van der Helm db5e931114 Mention Wine 9.5 being borked 2024-03-25 21:57:49 +01:00
Sakii ec74627b0c Fix missing action on path-auto 2024-03-12 16:36:44 +01:00
Robbert van der Helm 49e696e42f Update the copyright headers
Happy new year!
2024-01-09 19:25:38 +01:00
Robbert van der Helm af905f8aae Remove mentions of Ubuntu 18.04
Even Ubuntu 20.04 is so old at this point that there's no real reason to
keep supporting 18.04.
2023-12-23 16:42:55 +01:00
Robbert van der Helm 1b1fef7c08 Bump to version 5.1.0 5.1.0 2023-12-23 16:21:58 +01:00
Robbert van der Helm 5119ca6735 Reword the changelog 2023-12-23 16:20:52 +01:00
Robbert van der Helm 8cf9bb97ca Update tested versions 2023-12-23 16:19:52 +01:00
Julius Berger a583a806c9 Update README.md with information on Native Access 2+
Add information on how to get the Electron-based Native Access 2+ versions running with wine.
2023-12-23 15:40:05 +01:00
Robbert van der Helm fdb8ef6848 Mention Ardour in the changelog 2023-12-10 23:36:18 +01:00
Robbert van der Helm cb6a1dd0ff Fix yabridge_version() in chainloaders
The function doesn't (and cannot) have the same name as the function
pointer, so `MAYBE_LOAD_FUNCTION()` does the wrong thing here. May as
well just do it manually.
2023-12-10 22:48:34 +01:00
Robbert van der Helm f1a7ad4dcb Implement yabridge_version for all plugin bridges
The host can use this to query the yabridge version in use.
2023-12-10 22:30:52 +01:00