Commit Graph

2045 Commits

Author SHA1 Message Date
Robbert van der Helm e7366006df Append to the STDERR stream
This got lost when changing from using `std::cerr` to opening
`/dev/stderr` directly.
2021-06-26 12:42:53 +02:00
Hector Martin 51ba93e4ed Add missing <bitset> include 2021-06-26 12:29:45 +02:00
Robbert van der Helm 94ba58a7a5 Remove automatically added using std::endl;
This is the first thing you disable on clangd, but apparently I was too
late here.
2021-06-26 12:27:05 +02:00
Robbert van der Helm 20638b7349 Fix missing autoformatting
At some point Doom Emacs broke on-save formatting with lsp-mode in
certain circumstances, and I made these changes with wgrep so apparently
they were never formatted.
2021-06-26 12:27:01 +02:00
Robbert van der Helm f6682d9134 Add missing -mwindows to Ubuntu 18.04 CI build
Apparently this completely overrides the build flags.
2021-06-25 11:51:56 +02:00
Robbert van der Helm 5133f07c2c [yabridgectl] Fix setup checks with 32-bit prefix
This will now run `yabridge-host-32.exe` if `~/.wine` was created with
`WINEARCH=win32`.
2021-06-25 02:13:16 +02:00
Robbert van der Helm 6573b01c2d Fix non-VST3 builds
We now always initialize the COM library since yabridge 3.3.1.
2021-06-24 19:08:02 +02:00
Robbert van der Helm 02feb8fab3 Fix static linking Boost in 32-bit yabridge build 2021-06-24 19:06:02 +02:00
Robbert van der Helm 81e4a4d0fc Improve style in meson.build 2021-06-24 18:39:14 +02:00
Robbert van der Helm 741b2b7fb5 Add proper macro defs for 32-bit Boost Filesystem 2021-06-24 18:38:03 +02:00
Robbert van der Helm b737ba01ad Add missing build.cpp_args for 32-bit build 2021-06-24 18:26:27 +02:00
Robbert van der Helm 3e75ff557b [yabridgectl] Bump reflink for 32-bit support
The version on crates.io always assumes the toolchain is 64-bit.
2021-06-24 17:43:37 +02:00
Robbert van der Helm c770e561d3 [yabridgectl] Use the correct VST3 arch name 2021-06-24 16:09:56 +02:00
Robbert van der Helm 5ea04c402e [yabridgectl] Clean up VST3 bundles
We would completely remove VST3 bundles that yabridgectl does not know
about anymore, but we would not remove leftover files within bundles.
This could otherwise cause issues when messing with 32-bit and 64-bit
versions of plugins or yabridge itself.
2021-06-24 16:04:04 +02:00
Robbert van der Helm 0b8221b136 [yabridgectl] Add support for 32-bit yabridge VST3
Bundles containing a 32-bit version of `libyabridge-vst3.so` should use
the `x86-linux` directory instead of the `x86_64-linux` directory.
2021-06-24 15:48:43 +02:00
Robbert van der Helm b521debbb7 [yabridgectl] Determine libyabridge-vst3.so arch
We're going to need this for supporting merged VST3 bundles with a
32-bit libyabridge-vst3.so.
2021-06-24 15:23:41 +02:00
Robbert van der Helm 3e0a2dc913 [yabridgectl] Change the library architecture enum
We're going to need this for native libraries as well.
2021-06-24 14:19:06 +02:00
Robbert van der Helm cf6200fa1b Mention static linking for 32-bit library builds 2021-06-24 13:55:51 +02:00
Robbert van der Helm e5187db9ef Mark 32-bit yabridge libraries
So we're able to immediately spot that someone is using them from the
logs.
2021-06-24 13:48:23 +02:00
Robbert van der Helm b64b18f75e Change argument order in meson setup command 2021-06-24 13:42:58 +02:00
Robbert van der Helm f0c26cbe06 Allow building 32-bit yabridge libraries 2021-06-24 13:41:43 +02:00
Robbert van der Helm 94b3c92432 Get rid of pointer size checks
To allow cross-compiling 32-bit libraries.
2021-06-24 13:17:15 +02:00
Robbert van der Helm 3b06634e33 Escape HTML in desktop notification messages 2021-06-23 17:23:45 +02:00
Robbert van der Helm 553b4474a7 Respect $XDG_DATA_HOME when looking for binaries
Since we're using the XDG base dir package in yabridgectl we were
already doing this there, so it makes sense to also do this in yabridge
itself even though it's very unlikely the user will have this set.
2021-06-23 01:53:18 +02:00
Robbert van der Helm 3ad70678da [yabridgectl] Fix typo in error message 2021-06-23 01:42:02 +02:00
Robbert van der Helm 15e271f70a Fix unity builds after reintroduction of vfork
Boost.Process was being included before this flag was set. Seems safer
to set it in the build anyways.
2021-06-22 19:00:21 +02:00
Robbert van der Helm a3d34f8197 Use vfork() for quick running commands
We can't use it for the Wine plugin host process, but it's perfectly
suitable for these things.
2021-06-22 18:38:49 +02:00
Robbert van der Helm 418cd7b381 Switch to normal urgency desktop notifications
These critical notifications don't expire under KDE Plasma, which would
mean that you'd get absolutely flooded with notifications you have to
manually close when something is wrong.
2021-06-22 18:10:44 +02:00
Robbert van der Helm 75cfc8eaac Fix new watchdog timer environment check
This would of course cause a segfault if the environment variable isn't
defined. The regression was introduced in
8873c11e1d.
2021-06-22 18:06:04 +02:00
Robbert van der Helm 4ab61a77b7 Compare to string view constant instead of string
These are constexpr, so hopefully the compiler can be a bit smarter
about it.
2021-06-22 17:42:37 +02:00
Robbert van der Helm 5ffe4773e9 Show startup errors in a desktop notification
This should make it much easier to spot what goes wrong if you're new to
yabridge and don't know where to look yet.
2021-06-22 17:41:08 +02:00
Robbert van der Helm 8873c11e1d Move watchdog timer disable check to common/utils
We may also want to check this from the plugin.
2021-06-22 17:15:47 +02:00
Robbert van der Helm 333707255e Add missing noexcept specifier 2021-06-22 17:15:47 +02:00
Robbert van der Helm c2b8626ec5 Rearrange declarations to match implementations 2021-06-22 17:15:47 +02:00
Robbert van der Helm 780d562909 Fix plugin host watchdog treating zombies as alive 2021-06-22 17:15:47 +02:00
Robbert van der Helm 0156b61e64 Show notification when plugin host fails to start
This one's a bit generic since the relevant output from the Wine process
will have already been printed to the logger before this point.
2021-06-22 17:13:30 +02:00
Robbert van der Helm 437a4dc5ec Add a function for sending desktop notifications 2021-06-22 17:12:31 +02:00
Robbert van der Helm 9f52aca451 Fix typo in the typo fix
Yes.
2021-06-21 18:13:00 +02:00
Robbert van der Helm 5f78f20a6c Fix typo in mount error message 2021-06-21 18:12:32 +02:00
Robbert van der Helm 98c4cc170e Actually use the correct environment 2021-06-21 13:06:26 +02:00
Robbert van der Helm 466fe3abcf Run $WINELOADER --version under the correct env
This makes the initialization message reflect the correct Wine version
when using a `WINELOADER` script to change between Wine versions
depending on the Wine prefix.
2021-06-21 13:00:05 +02:00
Robbert van der Helm b81871e4bf Change Wine downgrading instructions for Mint
Grabbing the codename from the repo entry will always result in the
correct one.
2021-06-19 15:15:04 +02:00
Robbert van der Helm 4a7591b193 Put back the recommendation to stick with Wine 6.4
Wine Staging 6.11 seemed to work fine for a bit, but somehow even more
software is broken than in 6.10. And the crashes are not even
deterministic anymore.
2021-06-19 14:31:23 +02:00
Robbert van der Helm 44acf1dedf Move configuration section up in the hierarchy
Doesn't make a lot of sense to have such a lengthy and important section
nested under Usage anymore.
2021-06-19 14:11:33 +02:00
Robbert van der Helm 575870f446 Remove old and manual installation troubleshooting
Timeouts haven't been a thing for over a year since yabridge checks
whether the Wine process has started successfully during initialization,
and the other issues should also not occur during normal usage with
yabridgectl.

This should make the troubleshooting section a bit easier to read
through.
2021-06-19 14:08:16 +02:00
Robbert van der Helm ae1490e147 Replace the search path setup with fsync setup
Or, well, a more general environment setup section, but more tailored to
fsync since you haven't had to modify your search path during normal
usage since yabridge 2.1.0.
2021-06-19 14:04:48 +02:00
Robbert van der Helm 598daabff0 Move downgrading instructions for Wine Staging 2021-06-19 13:51:25 +02:00
Robbert van der Helm eb9c2d9bf9 [yabridgectl] Don't panic on empty wine --version
And print a more descriptive error message instead. This is only
relevant when using a `WINELOADER` that causes `$WINELOADER --version`
to not output anything.
2021-06-16 13:09:20 +02:00
Robbert van der Helm 4c009cb670 Add an environment variable for disabling watchdog
This should only be used when running the Wine process under a separate
namespace.
2021-06-16 01:28:59 +02:00
Robbert van der Helm 4d58adb83f Prevent against environment modifications
Should not be necessary here, but better safe than sorry.
2021-06-16 01:11:36 +02:00