Robbert van der Helm
e1ed35bfd8
Don't respond to hit tests from the Win32 window
...
This will let us detect other, non-wrapper windows to the right and to
the bottom of a plugin GUI. Useful for drag-and-drop so we don't end up
overriding Wine's internal drag-and-drop mechanism.
2021-07-26 14:44:23 +02:00
Robbert van der Helm
186a6c01a2
Filter Win32 windows for XDND by class name
...
Instead of ignoring all windows that have an associated X11 window. That
would otherwise treat standalone applications like yabridge GUI
wrappers.
2021-07-26 14:29:06 +02:00
Robbert van der Helm
34cbf43459
Add instructions for installing development builds
...
To save myself some effort from writing this over and over again. 😁
2021-07-26 14:22:34 +02:00
Robbert van der Helm
85264a759d
Move check for cursor within Wine window to editor
...
We'll reuse this for the LeaveNotify check instead to avoid having to
ignore all `NonVirtual` events.
2021-07-26 14:01:16 +02:00
Robbert van der Helm
0523a06ed7
Move the win32 window class name to a constant
2021-07-26 13:51:40 +02:00
Robbert van der Helm
d522e57a8a
Add active window to enter/leave/focus tracing
2021-07-26 12:43:32 +02:00
Robbert van der Helm
890c534573
Trace input focus grabbing
2021-07-26 12:38:17 +02:00
Robbert van der Helm
f5ada4469b
Add instructions for PipeWire 0.32.0
2021-07-23 19:27:26 +02:00
Robbert van der Helm
4b256d456b
Bump to version 3.5.0
3.5.0
2021-07-23 16:38:00 +02:00
Robbert van der Helm
68cfb2b4cb
Reword changelog
2021-07-23 16:16:05 +02:00
Robbert van der Helm
7b05e038c3
Reword memlock warning message
2021-07-23 15:59:13 +02:00
Robbert van der Helm
5c3491c1e1
Use exception logger for the memory locking error
2021-07-23 15:53:19 +02:00
Robbert van der Helm
1a34a80c21
Add a special exception logger
...
We'll need this to make sure that we can redirect caught exceptions
printed in `src/common/` to the correct file if `YABRIDGE_DEBUG_FILE` is
set.
2021-07-23 15:46:08 +02:00
Robbert van der Helm
0e838fa947
Change wording in changelog
2021-07-23 15:41:18 +02:00
Robbert van der Helm
4d2ee96167
Remove old TODO about +editor debug level
2021-07-23 15:22:45 +02:00
Robbert van der Helm
7a2febfffb
Support the older XDND versions 3 and 4
...
This is needed for Tracktion Waveform and other JUCE based hosts.
2021-07-23 13:19:10 +02:00
Robbert van der Helm
9e84352609
Fix typo in XDND code
2021-07-23 12:45:53 +02:00
Robbert van der Helm
75a6bed1b9
Reword changelog
2021-07-23 00:57:54 +02:00
Robbert van der Helm
8108e08dbf
Keep the old time stamp and sequence number
...
On second thought this seems like a good idea.
2021-07-22 16:31:03 +02:00
Robbert van der Helm
3c8f3b0b41
Forward synthetic keyboard events to Wine window
...
This is needed for Bitwig Studio. See the comments.
2021-07-22 16:05:22 +02:00
Robbert van der Helm
c4c23b9574
Unify enter/focus event tracing
2021-07-22 16:04:39 +02:00
Robbert van der Helm
9aae3665a2
Fix reparent error logging
2021-07-22 15:45:56 +02:00
Robbert van der Helm
df40b85e60
Mention Wine->X11 drag-and-drop in architecture.md
2021-07-22 14:28:27 +02:00
Robbert van der Helm
b21e9f29bb
Mention new embedding structure in architecture.md
2021-07-22 14:25:56 +02:00
Robbert van der Helm
1e47390edc
Also listen for ConfigureNotify on the wrapper
...
This is needed for Tracktion Waveform because they shift our wrapper
window a bit downwards. Otherwise opening the window while your mouse
cursor is already inside of it would trip up Wine's coordinates.
2021-07-21 22:54:21 +02:00
Robbert van der Helm
99304d19b8
Listen to the correct window for focus and enter
...
This now all got shifted one window by the introduction of the wrapper
window.
2021-07-21 22:53:04 +02:00
Robbert van der Helm
68c47064a0
Check the window in focus/enter events
2021-07-21 22:29:16 +02:00
Robbert van der Helm
cb1c1858e0
Translate coordinates from the wrapper window
...
We moved this from `parent_window` to `wine_window` in
974951e966 to account for Waveform adding
an offset in their windows, so now that we have `wrapper_window` we
should be translating from there instead.
2021-07-21 22:18:58 +02:00
Robbert van der Helm
d13f39dce5
Don't check result on IPlugView::onSize()
...
Melda plugins always return `kResultFalse`, so we should just assume the
resize succeeds.
2021-07-21 20:45:04 +02:00
Robbert van der Helm
0ed75b5ce4
Don't fetch the root window early
...
Wine is weird. The whole reason why we're doing these weird things is
because Wine somehow tries to delete the window twice. If we don't call
`xcb_query_tree()` here (and get an error back), then we're back at the
error we tried to solve. Apparently this works, and given that noone
dares touching Wine's X11drv code I won't ask any further questions.
2021-07-21 20:39:16 +02:00
Robbert van der Helm
9002468229
Fetch the Wine and root window IDs early
...
There's no reason to wait until the last moment to fetch these.
2021-07-21 18:06:39 +02:00
Robbert van der Helm
d41c05e90e
Revert "Change editor window destruction order"
...
This reverts commit d3d21c65f4 .
On second thought, Wine actually handles things better this way. We want
to avoid both hangs and the Wine window becoming visible, and this
achieves both of those things. We should just silence the warning.
2021-07-21 18:03:03 +02:00
Robbert van der Helm
e1e5a1588c
Unmap wine_window before reparenting back to root
2021-07-21 17:53:27 +02:00
Robbert van der Helm
d3d21c65f4
Change editor window destruction order
...
The wrapper window can only be removed after we reparented the Wine
window back to the root.
2021-07-21 17:50:29 +02:00
Robbert van der Helm
f6fb45fee3
Mention Ardour VST3 editor resizing
...
Ardour ignores the `IPlugView::resizeView()` and only listens to
`ConfigureNotify` events for growing its VST3 editorsZ, so now this
works.
2021-07-21 17:16:21 +02:00
Robbert van der Helm
e223c98b0d
Remove XEmbed testing todo
...
Still seems to work 'fine' (as in, not really).
2021-07-21 17:01:02 +02:00
Robbert van der Helm
e95f381fa0
Remove unnecessary unreparent check
...
Or at least, hopefully this is not needed.
2021-07-21 17:01:02 +02:00
Robbert van der Helm
f04bc7a07b
Mention the Carla VST3 regression
2021-07-21 17:01:02 +02:00
Robbert van der Helm
f3bce6ee15
Mention the embedding rewrite in the changelog
2021-07-21 17:01:02 +02:00
Robbert van der Helm
e28bc63f8d
Also resize the wrapper window for VST3 plugins
2021-07-21 17:01:02 +02:00
Robbert van der Helm
4277561aa4
Reorder Vst3Bridge methods
2021-07-21 17:01:02 +02:00
Robbert van der Helm
418cd68a81
Resize the new wrapper window for VST2 plugins
2021-07-21 17:01:02 +02:00
Robbert van der Helm
42762d1abe
💥 Use another layer of editor embedding
...
We still need to make sure this window resizes properly, but this should
prevent the host from interacting with the full screen `ConfigureNotify`
events we keep sending to `wine_window`.
2021-07-21 17:01:02 +02:00
Robbert van der Helm
75ab133adb
Change ProxyWindow into a more generic X11Window
2021-07-21 14:37:52 +02:00
Robbert van der Helm
a38e7c3588
Rename DeferredWindow to DeferredWin32Window
2021-07-21 14:26:34 +02:00
Robbert van der Helm
68d4a6610e
Don't reparent when the parent gets reparented
...
Some hosts, like Carla 2.3.1, will resize their windows to match the
reparented window's client area. This messes with our ConfigureNotify
setup.
2021-07-21 13:20:39 +02:00
Robbert van der Helm
1ee1229e47
Only show reparent message with editor tracing
2021-07-21 13:20:05 +02:00
Robbert van der Helm
acfceaa93f
Reuse the reparenting tracing in XEmbed
2021-07-20 23:13:23 +02:00
Robbert van der Helm
a749faa17f
Don't trace the start of every X11 event
...
We'll already print the event anyways.
2021-07-20 23:08:44 +02:00
Robbert van der Helm
ca6fc3a453
Fix typo in log message
2021-07-20 23:06:59 +02:00