Robbert van der Helm
91b0ebf38b
Remove mention of plugin groups flag
...
Since there's no reason for this to be behind a flag.
2020-05-21 17:15:24 +02:00
Robbert van der Helm
8c22f37f29
Actually host plugins in the group process
2020-05-21 17:12:55 +02:00
Robbert van der Helm
17cff5722e
Lock the active plugins map early
...
To prevent a race condition when an exiting plugin wants to terminate
the process when it think there are no plugins left just as another
yabridge instance is connecting to the group socket.
2020-05-21 17:12:41 +02:00
Robbert van der Helm
8eb01cb519
Listen on the group socket and handle requests
2020-05-20 18:45:33 +02:00
Robbert van der Helm
6d6d928838
Move all plugin group handling boilerplate
2020-05-19 15:29:48 +02:00
Robbert van der Helm
daad6f2f00
Fix empty line spam in log file when Wine crashes
2020-05-19 12:27:32 +02:00
Robbert van der Helm
c2fceb6e4a
Add a thread safety warning to write_object()
2020-05-19 11:33:34 +02:00
Robbert van der Helm
3985e10319
Add search paths for 32-bit Boost on Fedora
...
This will also cause the 64-bit version of the library to be picked up
on any distro that's not based on Fedora, which may cause some confusing
problems.
Is there a right way to do this? Meson doesn't allow you to override the
library search path for part of the build, and it also can't
differentiate between 32-bit and 64-bit libraries by default.
2020-05-19 10:47:30 +02:00
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