Robbert van der Helm
503720a9ca
In the issue template, suggest clearing log first
...
I get quite a few logs with a ton of cruft prepended to them, maybe this
will help.
2021-07-19 11:40:21 +02:00
Robbert van der Helm
0e57f410a9
Warn on startup if RLIMIT_MEMLOCK is set too low
...
This should diagnose issues like #119 .
2021-07-18 23:13:51 +02:00
Robbert van der Helm
5bce89d50b
Suggest troubleshooting from a terminal
...
This makes sure that the user sees all errors and warnings coming from
yabridge, including that `mmap()` error message from the previous
commit.
2021-07-18 23:13:51 +02:00
Robbert van der Helm
fe61a28524
Print a distinct error when mmap() returns EAGAIN
...
As mentioned in #119 .
2021-07-18 23:13:42 +02:00
Robbert van der Helm
3c14f0391b
Move memory mapping setup to a function
...
So we don't need to repeat this twice.
2021-07-18 22:40:04 +02:00
Robbert van der Helm
a02dcbdb5a
Fix an...interesting spelling correction
...
I might have accidentally hit `z=` at some point.
2021-07-18 19:48:16 +02:00
Robbert van der Helm
28ab46e3c1
Explicitly check for CF_HDROP
...
We should of course not expect all global memory to be a HDROP, oops.
Apparently REAKTOR sometimes uses the drag-and-drop system for its own
internal data.
2021-07-18 19:20:44 +02:00
Robbert van der Helm
0d02951886
Build a 32-bit version of yabridge on the CI
...
Specially for @AVLinux. We currently don't build a 32-bit version of
yabridgectl though, so you'd still need that if you want to use yabridge
on an _actual_ 32-bit system.
2021-07-18 15:27:07 +02:00
Robbert van der Helm
103b2cb46a
Remove duplicate comments in the CI definition
2021-07-18 15:26:40 +02:00
Robbert van der Helm
d99f571c05
Treat EACCES for pid_running() as alive
...
When the user has some sort of hardening going on, we might not be able
to read the Wine process's memory. In that case this check would return
`false` even though the process is still running. To combat this, we
should explicitly check for `EINVAL` which is returned when the file
doesn't exist at all or when it's a broken 'symlink' (even though it
isn't really a symlink).
2021-07-18 14:54:12 +02:00
Robbert van der Helm
4fc683188b
Use std::this_thread::sleep_for instead of usleep
...
This is a bit cleaner.
2021-07-18 14:14:23 +02:00
Robbert van der Helm
8c285688e8
Remove unnecessary function call
2021-07-17 22:57:50 +02:00
Robbert van der Helm
f75cdc9019
Mention FrozenPlain Obelisk in the changelog
2021-07-17 22:02:25 +02:00
Robbert van der Helm
5f5a7bbdd2
Only call ftruncate() when size > 0
...
Either Boost or Linux really doesn't like it if you ftruncate() shared
memory down to 0 bytes.
2021-07-17 22:01:29 +02:00
Robbert van der Helm
f43e9c2153
Only consider host windows with WM_STATE set
...
This is the same way (minus the mapping check part) that `xprop` and
`xwininfo` filter windows when clicking on them. REAPER's toplevel
window apparently doesn't process any keyboard input when the mouse
cursor is located outside of that window.
2021-07-17 21:05:27 +02:00
Robbert van der Helm
b99f03cf64
Rename topmost_window to host_window
...
Since apparently to keep REAPER happy we shouldn't take the _very_
topmost window.
2021-07-17 19:11:29 +02:00
Robbert van der Helm
e4f2e8c27f
Add a separate audio thread mutual recursion stack
...
This should fix #118 without breaking our _other_ workaround from
yabridge 3.4.0 to fix the issue where a plugin would freeze if it would
try to resize itself while at the same time it sent parameter changes
from the audio thread. (and both of these issues of course are caused by
the same JUCE bug)
2021-07-15 21:05:36 +02:00
Robbert van der Helm
f5ce56e180
Reword changelog
2021-07-15 16:11:41 +02:00
Robbert van der Helm
ae454be4b5
Bump to version 3.4.0
3.4.0
2021-07-15 16:06:15 +02:00
Robbert van der Helm
22fb74bcfa
Remove mention of Wine->X11 DnD not working
...
Because now it does work!
2021-07-15 16:05:20 +02:00
Robbert van der Helm
1e0cf33eba
Use a recursive mutex for the Melda deadlock fix
...
This seems safer with the whole mutual recursion thing.
2021-07-15 16:01:47 +02:00
Robbert van der Helm
5f7fb2e2c3
Work around thread safety issue in Melda plugins
...
This is super difficult to trigger on purpose, but I did run into it at
least once just now so it seems like a good idea to at least make sure
that this doesn't happen.
2021-07-15 15:45:15 +02:00
Robbert van der Helm
6b3f593bdb
Mention Renoise's VST3 editor window sizing issues
2021-07-15 15:07:08 +02:00
Robbert van der Helm
f02341e77f
Fix focus handling when reopening REAPER FX window
...
REAPER initializes the plugin's editor first before reparenting the
parent window to the FX window, so our `topmost_window` didn't actually
refer to the FX window.
2021-07-15 14:21:50 +02:00
Robbert van der Helm
ce1cf41f45
Mention downgrading to Wine Staging 6.4 once more
...
The iZotope Rx plugins apparently freeze during shutdown on Wine Staging
6.12.
2021-07-15 12:21:52 +02:00
Robbert van der Helm
e26c300d81
Update the tested DAW versions
2021-07-15 11:52:02 +02:00
Robbert van der Helm
0250d62173
Reword changelog, again
2021-07-14 19:37:16 +02:00
Robbert van der Helm
0c816b0046
Only ignore -Wmaybe-uninitialized on GCC
...
An ifdef sounds like a better approach than ignoring two additional
warnings.
2021-07-14 17:18:44 +02:00
Robbert van der Helm
f292158889
Silence some more clangd warnings
2021-07-14 17:11:27 +02:00
Robbert van der Helm
a58005252a
Mention the new audio buffers in architecture.md
2021-07-14 17:02:20 +02:00
Robbert van der Helm
8b870a51b0
Remove unnecessary XDND proxy call
...
This was left over from the original implementation, before we had this
smart pointer-singleton hybrid thing. There's already a handle stored
inside of `Editor`.
2021-07-14 16:41:24 +02:00
Robbert van der Helm
764eb41da9
Remove fixme about Wine deleting windows twice
...
This should have been fixed as of yabridge 3.2.0 by adding doing a
reparent with a last second flush. Or at least, I haven't heard any
reports about this still being an issue.
2021-07-14 16:35:51 +02:00
Robbert van der Helm
784593df5c
[yabridgectl] Remove explicit fallback
...
This was already handled by appending this to the `$PATH`.
2021-07-14 15:10:03 +02:00
Robbert van der Helm
9b70d4b6d6
Reword changelog
2021-07-14 12:38:03 +02:00
Robbert van der Helm
591b2b9ceb
Also warn on version mismatch for VST2 plugins
2021-07-13 22:24:02 +02:00
Robbert van der Helm
5fc7acccd1
Show a notification on version mismatch
...
Between the plugin and the Wine plugin host application.
2021-07-13 22:14:31 +02:00
Robbert van der Helm
4013aea63a
Include the configuration as a dependency
...
Apparently this wasn't even supposed to work, so it's probably a good
idea to do it properly before things break.
2021-07-13 22:05:11 +02:00
Robbert van der Helm
3dfb17cf5e
Add suggestion to rerun sync after startup failure
2021-07-13 22:05:11 +02:00
Robbert van der Helm
a2b877b101
Put more emphasis on how to run files from a shell
2021-07-13 14:46:44 +02:00
Robbert van der Helm
2c25615ea5
Restore old yabridgectl plugin count with symlinks
...
The count will probably be a bit off now, but it's better than counting
only two plugins.
2021-07-13 00:01:32 +02:00
Robbert van der Helm
d8215e4664
Allow cancelling the drag-and-drop with Escape
2021-07-12 22:58:24 +02:00
Robbert van der Helm
2ebefb1280
Send an escape key press instead of WM_QUIT
...
This should allow the drag-and-drop operation to quit gracefully.
2021-07-12 21:36:08 +02:00
Robbert van der Helm
bbb84cdf2c
Remove spurious drag-and-drop tracker WM_QUIT
...
We don't want to cancel the plugin's own drag-and-drop, oops.
2021-07-12 21:17:12 +02:00
Robbert van der Helm
b4019213f6
[yabridgectl] Remove 32-bit prefix warning on sync
...
This is no longer an issue since yabridgectl checks the prefixes
architecture now.
2021-07-12 15:46:35 +02:00
Robbert van der Helm
96fb53be8f
Fix the CAS in the XDND check
...
Oops. We were doing the opposite of what we wanted, which caused the
first drag to always fail.
2021-07-12 14:00:48 +02:00
Robbert van der Helm
ad4fb1a0ec
Don't define X11 error throwing macro in DND proxy
...
We didn't need this after all because we don't integrate with the
editor's X11 event loop.
2021-07-12 13:35:10 +02:00
Robbert van der Helm
2f8bb7ef06
Only allow a single XDND operation at a time
...
MT-PowerDrumkit apparently cancels its drag-and-drop operations and then
immediately starts a new one.
2021-07-12 12:35:07 +02:00
Robbert van der Helm
a478436af6
Make sure the Windows dnd operation terminates
...
I've seen a weird edge case where this doesn't happen once, but i
haven't been able to reproduce it. Hopefully this fixes it.
2021-07-12 12:21:52 +02:00
Robbert van der Helm
11d3ec9010
Also change cursor with the last status message
...
The idea was that you wouldn't be able to see it anyways, but it feels
better this way.
2021-07-11 21:40:42 +02:00
Robbert van der Helm
4d74963e0a
Flush any spooled XDND messages
...
The last position change message would never reach REAPER under when
using certain plugins because we forgot the flush.
2021-07-11 21:35:39 +02:00