Commit Graph

629 Commits

Author SHA1 Message Date
Robbert van der Helm e3282df7cd Lower the realtime priority to 5
JACK runs with priority 10 by default, so that should probably be
getting priority here.
2020-07-24 23:27:37 +02:00
Robbert van der Helm 1c76499e14 Add a table of contents to the readme 2020-07-23 20:54:56 +02:00
Robbert van der Helm 6f5dae90a6 Set realtime priorities if available
This significantly reduces the latency with no real drawbacks from what
I've noticed. Wineserver is still run using the normal scheduling
policies because from my testing running that with realtime priority
that can actually increase latencies, although doing so will greatly
reduce the variance in processing time.
2020-07-23 19:57:50 +02:00
Robbert van der Helm 9d33b9989e Align config options in startup message 2020-07-23 18:39:48 +02:00
Robbert van der Helm 29c060905b Add a note above the configuration example 2020-07-23 17:17:37 +02:00
Robbert van der Helm de1979781f Add double editor embedding mode to the changelog 2020-07-23 16:56:58 +02:00
Robbert van der Helm e0ea2d3837 Add the double editor embedding mode to the readme 2020-07-23 16:56:54 +02:00
Robbert van der Helm b1dd301a98 Add an optional double editor embedding mode #27
This sounds like it would the simplest way to work around the issue of
E27 calculating its own coordinates based on the parent window's
coordinates. I have not noticed any weird issues with having this
enabled all the time, but less moving parts is always better so it's
still behind an option.
2020-07-23 16:56:10 +02:00
Robbert van der Helm 967856fc1b Add a configuration option for double embedding
Only plugin that needs this so far is PSPaudioware's E27 (and likely
other PSP plugins with expandable GUIs).
2020-07-23 15:59:00 +02:00
Robbert van der Helm 523f77d334 Use designated initializers for complex structs
This was one of the main reasons why I wanted to switch to C++20, I just
forgot to do it.
2020-07-23 14:12:07 +02:00
Robbert van der Helm cd02ab5fc9 Send the configuration from plugin to Wine host
Next we can add some options for different plugin editor behaviours for #27.
2020-07-22 17:15:55 +02:00
Robbert van der Helm 44044324f3 Add serialization support for plugin configuration 2020-07-22 17:05:24 +02:00
Robbert van der Helm 479852a4d0 Add a bitsery extension for serializing paths 2020-07-22 17:05:05 +02:00
Robbert van der Helm 2e77c03464 Move the configuration object to src/common/ 2020-07-22 13:55:29 +02:00
Robbert van der Helm 6f772ca899 Send the AEffect object over a new control socket
We'll use the same socket to send the configuration data back to the
plugin.
2020-07-22 13:36:29 +02:00
Robbert van der Helm c83680a21a Remove old workaround for rare Ubuntu path issue
This got fixed properly in `get_file_location()`, but this function
still contained an old hack.
2020-07-21 01:04:20 +02:00
Robbert van der Helm e3edffb8f8 Reword part of the issue templates 2020-07-20 12:55:29 +02:00
Robbert van der Helm 251fce00c5 Add an issue template for feature requests 2020-07-19 22:02:59 +02:00
Robbert van der Helm ab4a5ae580 Create an issue template for setup help 2020-07-19 22:02:52 +02:00
Robbert van der Helm 0b739e91c9 Mention yabridgectl in the bug report template 2020-07-19 22:02:28 +02:00
Robbert van der Helm 9abaf60008 Fix potential out of bounds error in Wine check 2020-07-19 19:08:01 +02:00
Robbert van der Helm 6f9eb19969 Remove random comment 2020-07-19 19:03:09 +02:00
Robbert van der Helm 6bba1a9bf8 Check for Wine and yabridge compatibility on sync
This will probably solve the last common setup issue. Starting Wine can
take a second so this check is only repeated when either Wine or
yabridge get updated.
2020-07-19 16:57:18 +02:00
Robbert van der Helm a8e914a71a Add a last known config field to the configuration
For verifying that a combination of Wine and yabridge is going to work
together properly.
2020-07-19 14:39:07 +02:00
Robbert van der Helm 0778d787cc Add references to the filesystem function wrappers 2020-07-19 14:32:17 +02:00
Robbert van der Helm 3e438be302 Add an option to disable setup checks
The path check should only take a few milliseconds to run, but checking
whether yabridge-host.exe runs correctly could take over a second when
wineserver isn't already running in the background.
2020-07-19 13:54:12 +02:00
Robbert van der Helm 86be5c4814 Wrap filesystem functions for readable errors
Without having to repeat this all over the place.
2020-07-19 13:50:25 +02:00
Robbert van der Helm 9580dbea12 Wrap options for yabridgectl sync/set in a struct
To prevent having to pass a bunch of confusing boolean values or an
entire ArgMatch object.
2020-07-19 13:36:45 +02:00
Robbert van der Helm 527c90c18d Change wording in the readme 2020-07-19 12:56:45 +02:00
Robbert van der Helm fdb0cf49d6 Fix link to yabridgectl readme in changelog 2020-07-18 19:44:43 +02:00
Robbert van der Helm 114cf9a122 Clarify that you can't run *.exe files using Wine
This has come up a few times, so it's probably worth being a bit more
explicit about it.
2020-07-18 12:36:33 +02:00
Robbert van der Helm 04bb4efff1 Reword parts of the readme 2020-07-18 12:07:55 +02:00
Robbert van der Helm c5ec9b9dd3 Bump to version 1.3.0 1.3.0 2020-07-17 15:19:51 +02:00
Robbert van der Helm 0522962228 Rewrite the readme use yabridgectl for most setups 2020-07-17 15:18:27 +02:00
Robbert van der Helm 74be0992fd Update yabridgectl documentation 2020-07-17 13:34:55 +02:00
Robbert van der Helm b94e68e935 Start argv[0] with a hyphen in login shell check
Since Rust 1.45 just came out today.
2020-07-17 13:10:01 +02:00
Robbert van der Helm 13214ca3a6 Print shell name in path setup warning 2020-07-16 23:00:10 +02:00
Robbert van der Helm 1df581cc55 Add missing blank line to path check warning 2020-07-16 22:57:49 +02:00
Robbert van der Helm 0f9599df4d Fix sentence structure in yabridgectl messages 2020-07-16 22:53:20 +02:00
Robbert van der Helm 8698a8fd0b Update messages in yabridgectl 2020-07-16 19:07:34 +02:00
Robbert van der Helm b05d5d2b7c Add support for ion, elvish, oil and nushell
Xonsh 0.9.14's which implementation is broken so I left it out:

```shell
$ env -i HOME=$HOME xonsh -l -c 'which <anything>'
xonsh: For full traceback set: $XONSH_SHOW_TRACEBACK = True
KeyError: 'PATH'
```
2020-07-16 17:25:26 +02:00
Robbert van der Helm ec062af9e0 Rewrite the changelog entry for yabridgectl 2020-07-16 17:00:36 +02:00
Robbert van der Helm 836aefcfbb Verify that the PATH has been set up correctly
When creating copies with yabridgectl. This should at least give an
advance warning that some additional steps are required when first
setting up yabridge.
2020-07-16 16:56:27 +02:00
Robbert van der Helm 2ec53c78d9 Add a descriptive error when winedump is missing 2020-07-16 15:04:07 +02:00
Robbert van der Helm 1ee2fe4746 Use anyhow for formatting and handling errors
This works better than doing it manually, and it significantly reduces
the amount of boilerplate needed.
2020-07-16 14:43:00 +02:00
Robbert van der Helm f48b5e66ca Move all subcommand handlers to a module
To unclutter in main.rs a bit.
2020-07-16 13:43:50 +02:00
Robbert van der Helm 62d84ca49e Add a todo to remove the deprecated Meson options 2020-07-16 13:35:45 +02:00
Robbert van der Helm 410d92aa8b Deprecate 'use-bitbridge' and 'use-winedbg'
Following the addition of 'with-bitbridge' and 'with-winedbg' in
yabridge 1.2.1 to stay consistent with the other options.
2020-07-16 13:31:12 +02:00
Robbert van der Helm e11a0565a1 Change link to yabridgectl 2020-07-15 23:44:47 +02:00
Robbert van der Helm 9a53d788f8 Link to yabridgectl in the readme
In case anyone stumbles upon this.
2020-07-15 23:44:06 +02:00