Commit Graph

532 Commits

Author SHA1 Message Date
Robbert van der Helm b4838f8d18 Update the version yabridge has been tested with 2020-05-18 17:12:54 +02:00
Robbert van der Helm 8bd1dc8c50 Encapsulate the STDOUT/STDERR capturing 2020-05-18 16:15:07 +02:00
Robbert van der Helm 53acb1f78a Move wine-bridge.h -> bridges/vst2.h
This way we can structure the group handling and a potential future VST3
bridge in the same way.
2020-05-18 16:15:07 +02:00
Robbert van der Helm b8028b8e13 Remap STDOUT and STDERR in group process to log
This is not very pretty, but there's not really another way and I"m
surprised that it actually works.
2020-05-18 16:15:07 +02:00
Robbert van der Helm 0ad849a42f Fall back to /dev/stderr instead of std::cerr
This allows us to remap STDIO internally in the group process.
2020-05-18 16:15:07 +02:00
Robbert van der Helm df2c4c29a9 Fix search path for 32-bit Boost 2020-05-18 16:15:07 +02:00
Robbert van der Helm 4e80e23cc0 Revert "Don't link the winelibs with libboost_filesystem"
This reverts commit e728dbe5a2.

`std::filesystem` is broken on wineg++, at least with Wine 5.8. Any path
operations will throw a `std::filesystem::__cxx11::filesystem_error`:

  what():  filesystem error: Cannot convert character sequence: Invalid or incomplete multibyte or wide character
2020-05-18 16:15:07 +02:00
Robbert van der Helm 2f39650322 Remove last traces of Boost.Filesystem from host
Missed this in e728dbe5a2.
2020-05-18 16:15:07 +02:00
Robbert van der Helm 994f3c9e38 Add a plugin group host application 2020-05-18 16:15:07 +02:00
Robbert van der Helm 95e716d229 Rename vst-host.cpp -> individual-host.cpp 2020-05-17 14:43:21 +02:00
Robbert van der Helm a849927a08 Move initialization message to a function
It was starting to get a bit unwieldy.
2020-05-17 14:43:21 +02:00
Robbert van der Helm d2cd608abb Print the configuration on startup 2020-05-17 14:43:21 +02:00
Robbert van der Helm 312200f100 Make the 'this_line_location' hack more reliable
It shouldn't be done if it's not needed.
2020-05-17 14:43:21 +02:00
Robbert van der Helm e76d4b474c Rearrange fields in PluginBridge 2020-05-16 14:46:48 +02:00
Robbert van der Helm d0fe1c930a Mention tomlplusplus in the readme 2020-05-15 16:51:50 +02:00
Robbert van der Helm a615a66cc5 Add the group configuration parser
As described in #15.
2020-05-15 16:35:18 +02:00
Robbert van der Helm f96c08775a Use Boost.Filesystem for the configuration
I'd much rather just use std::filesystem, but since all of
Boost.Process, Boost.DLL Boost.Asio uses its own filesystem library we
need to use it anyways.
2020-05-15 16:35:18 +02:00
Robbert van der Helm d9ff98de84 Move everything configuration related to plugin
If it's tied to the .so file rather than the .dll file it wouldn't make
any sense to use it directly from the Wine host.
2020-05-15 16:35:18 +02:00
Robbert van der Helm 6f148b97a4 Add a TOML parser dependency 2020-05-15 16:35:18 +02:00
Robbert van der Helm 9a82e82c87 Factor out directory finding from prefix detection
This will also be used to locate the `yabridge.tmol` configuration file.
2020-05-15 16:35:18 +02:00
Robbert van der Helm e728dbe5a2 Don't link the winelibs with libboost_filesystem
It's not actually used anywhere.
2020-05-15 16:30:39 +02:00
Robbert van der Helm a69ecd22ed Bump version in meson.build
I forgot to do this, but it's not used anywhere except when building
from a source tarball.
2020-05-14 18:32:06 +02:00
Robbert van der Helm 1fe38bcce6 Mention that SysEx is not implemented
Are there any plugins or hosts that use this?
2020-05-13 15:00:18 +02:00
Robbert van der Helm 37a74c8f98 Get rid of the dedicated AEffect socket 2020-05-13 13:15:52 +02:00
Robbert van der Helm 85be5de0ed Rearrange the usage section of the readme
For when I add plugin groups for inter-plugin communication.
2020-05-13 12:53:40 +02:00
Robbert van der Helm ae0b38d027 Make plugin dir a variable in the example scripts
To make it a bit more obvious that this can be set to any other location
that contains VST plugins.
2020-05-13 12:50:11 +02:00
Robbert van der Helm 1abdeb52c6 Bump version to 1.1.4 1.1.4 2020-05-12 23:02:34 +02:00
Robbert van der Helm 66ccbd065d Also statically link Boost for the 32-bit host
Somehow the Ubuntu 20.04 build just did this without being told, but the
Ubuntu 18.04 build did not. With the static link option Meson will by
default only search under /usr/lib, so for our CI builds we need to
explicitly tell it to also search under /usr/local/lib since that's
where we manually installed Boost 1.72.
2020-05-12 23:01:29 +02:00
Robbert van der Helm 7ff31544cc Fix wording in changelog 2020-05-12 13:34:16 +02:00
Robbert van der Helm de14cbd198 Bump to version 1.1.3 1.1.3 2020-05-12 13:19:05 +02:00
Robbert van der Helm 0900dc9e18 Work around race condition in certain plugins
Some plugins would either crash or freeze on the next Win32 message loop
when `effEditGetRect` gets called before `effEditOpen` and we run the
message loop between these two event calls.

Fixes the issue with Superior Drummer 3 in Bitwig mentioned in #12 and a
similar issue with the Roland Cloud synths.
2020-05-12 13:17:24 +02:00
Robbert van der Helm 36668bbe72 Reorder changelog 2020-05-12 13:17:07 +02:00
Robbert van der Helm 4351b03e18 Mention that WantsVstRect can return nothing 2020-05-12 13:14:10 +02:00
Robbert van der Helm 52e07a4736 Actually enable automatic builds on all branches 2020-05-12 01:13:01 +02:00
Robbert van der Helm 813f700065 Enable automatic builds on all branches 2020-05-12 01:10:02 +02:00
Robbert van der Helm 901d985080 Fix potential issue with plugins reporting size
I thought this was a problem for a plugin when it was not, but I can
still see this being a source of segfaults.
2020-05-11 22:54:42 +02:00
Robbert van der Helm 33e5d2bd56 Add a workaround for compilation with Wine 5.7+ 2020-05-11 18:11:44 +02:00
Robbert van der Helm 6641b06b83 Link to the winelib compilation bug report 2020-05-11 17:21:13 +02:00
Robbert van der Helm 686ca11ba8 Work around improperly late initializing plugins
This fixes the Roland Cloud plugins.
2020-05-10 13:42:20 +02:00
Robbert van der Helm ba91971829 Simplify object reading
No longer needs to read into an existing object after the last change,
and reusing that function here too makes it less error prone.
2020-05-10 13:10:58 +02:00
Robbert van der Helm e762a57c0d Move AEffect updating to a function 2020-05-10 13:03:41 +02:00
Robbert van der Helm ded12379f9 Fix typo 2020-05-10 00:48:45 +02:00
Robbert van der Helm e4ca95397f Fix wording in changelog 2020-05-09 22:53:41 +02:00
Robbert van der Helm 65ab7bd19b Bump to version 1.1.2 1.1.2 2020-05-09 22:47:58 +02:00
Robbert van der Helm f4bfeca2ad Change wording in chagenlog 2020-05-09 21:42:51 +02:00
Robbert van der Helm 54295f3a27 Fix shutdown cleanup issue for Ardour and Mixbus
Instead of just detaching the threads, it's much better to terminate the
Wine process and let the threads terminate themselves.

This fixes #11 on my machine.
2020-05-09 21:31:57 +02:00
Robbert van der Helm 1334fc59e1 Mention another common installation issue 2020-05-09 17:13:59 +02:00
Robbert van der Helm 129c0a81d2 Bump version to 1.1.1 1.1.1 2020-05-09 16:35:14 +02:00
Robbert van der Helm 484032202a Stop accepting sockets if Wine crashes on startup 2020-05-09 16:31:11 +02:00
Robbert van der Helm 9c19a1d01c Move plugin bridge helper functions to utils.h 2020-05-09 15:18:32 +02:00