Commit Graph

58 Commits

Author SHA1 Message Date
Robbert van der Helm c4842ccda6 Make use-* aliases for new with-* build options
The 'use-*' variants will be marked as deprecated in a future version.
2020-06-08 16:02:53 +02:00
Robbert van der Helm 9385360331 Don't statically link Boost by default #20
Since this would only be needed for distribution, and we're already
doing something similar for libstdc++ on the Ubuntu 18.04 build. This
moves the static linking behind a new build option.
2020-06-08 15:46:09 +02:00
Robbert van der Helm 89c186f2c4 Target C++2a
Now that Ubuntu 20.04 is out every currently supported distro that's not
based on Ubuntu 18.04 is shipping GCC 10, so we can start using some
C++20 features. Ubuntu 18.04 already needed a newer version of GCC
installed through a PPA and a newer version of Boost to compile
yabridge, so requiring GCC 10 shouldn't be an issue.
2020-06-05 23:13:41 +02:00
Robbert van der Helm 150106e0e0 Bump version to 1.2.0 2020-05-29 18:47:51 +02:00
Robbert van der Helm b379708b21 Encapsulate individual/group handling differences
This cleans up the PluginBridge significantly by getting rid of all
fields and handling that was only needed for connecting to plugin
groups. This was also the last thing I wanted to refactor before
releasing the plugin groups feature with yabridge 1.2.
2020-05-29 18:08:44 +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 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 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 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 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 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 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 de14cbd198 Bump to version 1.1.3 2020-05-12 13:19:05 +02:00
Robbert van der Helm ded12379f9 Fix typo 2020-05-10 00:48:45 +02:00
Robbert van der Helm 65ab7bd19b Bump to version 1.1.2 2020-05-09 22:47:58 +02:00
Robbert van der Helm 129c0a81d2 Bump version to 1.1.1 2020-05-09 16:35:14 +02:00
Robbert van der Helm 9c19a1d01c Move plugin bridge helper functions to utils.h 2020-05-09 15:18:32 +02:00
Robbert van der Helm e30ad2ccb5 Bump to version 1.1.0 2020-05-07 18:29:05 +02:00
Robbert van der Helm 7b07a2bfe1 💥 Rename HostBridge to PluginBridge
As mentioned in the last commit. The original reasoning behind these
names was that the HostBridge talks to the host, and the PluginBridge
talks to the plugin, but you could also argue that the HostBridge should
be part of the Wine VST host and the PluginBridge should be part of the
VST plugin. This removes that ambiguity.
2020-05-07 13:10:03 +02:00
Robbert van der Helm 2d0998047c 💥 Rename PluginBridge to WineBridge
I had swapped these names around once before but I think going with
PluginBridge for the plugin and WineBridge for the Wine VST host is the
least ambiguous it can get.
2020-05-07 13:04:00 +02:00
Robbert van der Helm 3a332f169e Bump the minimum required version of Boost
Not sure which version is the actual minimum version required, but at
least Bosot 1.65 is missing some headers we need.
2020-05-04 00:59:25 +02:00
Robbert van der Helm a966b781e7 Bump the version to 1.0.0 2020-05-03 15:56:40 +02:00
Robbert van der Helm a665c54cd4 Silence ignore attributes warnings in templates
For the 32-bit host.
2020-04-30 16:01:18 +02:00
Robbert van der Helm 79e8a37c39 Simplify the 32-bit mode detection 2020-04-30 12:59:11 +02:00
Robbert van der Helm dc650b200a Link to the correct libraries in the 32-bit build 2020-04-29 19:12:14 +02:00
Robbert van der Helm c9060e984d Add another flag for enabling a bit bridge build 2020-04-29 16:55:47 +02:00
Robbert van der Helm b17c413de4 Add the generated version header to the file list
Otherwise it may not be generated yet on first build.
2020-04-26 14:29:08 +02:00
Robbert van der Helm 4a1133146a Generate a header containing git version info
It contains the last annotated tag, and possibly also the number of
commits since then and the hash of the last commit.
2020-04-25 16:14:14 +02:00
Robbert van der Helm d0c8d8a2e7 Clean up Win32 thread API usage using RAII 2020-04-24 15:40:44 +02:00
Robbert van der Helm 161e102113 Properly send XEmbed messages
The good news is that Wine now understands that it's an XEmbed message.
The bad news is that everything's now broken.
2020-03-24 18:50:24 +01:00
Robbert van der Helm 2e44de6f49 Add a function for sending XEMBED messages 2020-03-21 16:32:39 +01:00
Robbert van der Helm 70ebb5d243 Replace Xlib with xcb 2020-03-17 22:08:44 +01:00
Robbert van der Helm e2d8c0883f Rename win32-editor.h -> editor.h
Since I no longer intent to do separate X11 handling on the plugin side
2020-03-17 21:37:53 +01:00
Robbert van der Helm cdc2402bc8 Add a wrapper around the Win32 window API 2020-03-17 00:45:57 +01:00
Robbert van der Helm 138fa9eb31 Add winedbg support behind a feature flag
I had something similar saved as a stash since I did not want to make
things more complicated by adding feature flags, but this should be
fine.
2020-03-15 16:30:25 +01:00
Robbert van der Helm 5f584323c2 Monkey patch async pipes foor Boost 1.72
This is an simple workaround and it's much more practical than having to
downgrade Boost since that breaks any application that links to it.
2020-03-14 16:49:38 +01:00
Robbert van der Helm adf33e84a8 Use a template argument for serializing behaviour
This keeps it a bit more readable.
2020-03-09 20:13:08 +01:00
Robbert van der Helm 69008e97a4 Serialize midi events using vectors
Easier than to implement C-style arrays in Bitsery and this way we also
don't have to worry about cleanup.

Serum still segfaults with multiple events so something is still off.
2020-03-09 15:31:35 +01:00
Robbert van der Helm 280d9fcd2b Print Wine STDOUT and STDERR through the logger 2020-03-07 21:43:04 +01:00
Robbert van der Helm 54d62c6a66 Split src/common/* into headers and definitions 2020-03-06 19:18:27 +01:00
Robbert van der Helm cb6ad5f043 Rename both Bridge classes to differentiate
Switching between them became a bit confusing.
2020-03-01 01:17:15 +01:00
Robbert van der Helm e598d7c133 Add a bridge for the Wine host to connect back
This is equivalent to plugin/bridge.h but for communicating between the
native Linus VST plugin and the Windows VST plugin.
2020-02-27 13:55:19 +01:00
Robbert van der Helm cd5b294952 Replace msgpack with bitsery 2020-02-26 22:17:05 +01:00
Robbert van der Helm b2acd5508c Add bitsery as a dependency 2020-02-26 17:57:14 +01:00
Robbert van der Helm df47104297 Connect to the unix socket from the Wine VST host 2020-02-24 15:46:22 +01:00