Commit Graph

107 Commits

Author SHA1 Message Date
Robbert van der Helm d848498d9b Define all sources at the top of meson.build
To make things a bit more organized since it's growing a bit out of
hand.
2020-12-07 18:28:16 +01:00
Robbert van der Helm e273051a6c Add a Vst3Bridge implementation file 2020-12-07 18:28:16 +01:00
Robbert van der Helm eeb6acf8dd Move event handling to a common HostBridge 2020-12-07 18:28:16 +01:00
Robbert van der Helm cf72c13579 Add a define for VST3 support 2020-12-07 18:28:16 +01:00
Robbert van der Helm f9a1bcd7bd Split VST2 specific functionality into Vst2Logger 2020-12-07 18:28:16 +01:00
Robbert van der Helm 2230b5099f Move logger to common/logging/common.h 2020-12-07 18:28:16 +01:00
Robbert van der Helm 1c5a9423d2 Print the plugin type on initialization 2020-12-07 18:28:16 +01:00
Robbert van der Helm 7fc7a51a46 Move PluginArchitecture to common
Along with the accompanying function to parse a PE32 file. We're going
to have to define some common tags for different plugin types.
2020-12-07 18:28:16 +01:00
Robbert van der Helm 5b2221b251 Add a (nonfunctional) VST3 entry point 2020-12-07 18:28:16 +01:00
Robbert van der Helm 6c26168303 Patch the rest of the VST3 SDK for winegcc 2020-12-07 18:28:16 +01:00
Robbert van der Helm e7e1387c30 Also patch pluginterfaces for winegcc compilation 2020-12-07 18:28:16 +01:00
Robbert van der Helm 7dc0be40a4 Move libyabridge-vst2.so definition to above VST3 2020-12-07 18:28:16 +01:00
Robbert van der Helm b64c67d2ad Patch VST3 SDK base to allow winelib compilation 2020-12-07 18:28:16 +01:00
Robbert van der Helm c8d76d9c92 Add proper dependencies for the entire VST3 SDK 2020-12-07 18:28:16 +01:00
Robbert van der Helm 2fbd14908a Split communication/vst2.h into common and VST2
So we can reuse the generic bits for our VST3 implementation.
2020-12-07 18:28:16 +01:00
Robbert van der Helm 46bc0301af Move communication.h to communication/vst2.h 2020-12-07 18:28:16 +01:00
Robbert van der Helm 9c8b543d5d Split serialization.h into common and VST2 parts 2020-12-07 18:28:16 +01:00
Robbert van der Helm 04dacc0a40 Add a dependency for the VST3 pluginterfaces 2020-12-07 18:28:16 +01:00
Robbert van der Helm c6b58c1a64 Don't use CMake for the VST3 SDK
This can't work yet.
2020-12-07 18:28:16 +01:00
Robbert van der Helm 4be7af2451 Add a TODO for replacing the cmake subproject
This is not going to work due to the linked issue with Meson. I didn't
want to reinvent the wheel by writing a meson build file by hand, but
we'll just have to.
2020-12-07 18:28:16 +01:00
Robbert van der Helm 9ece1b916e Rename plugin.cpp to vst2-plugin.cpp 2020-12-07 18:28:16 +01:00
Robbert van der Helm af9917b9be Disable the VST3 examples 2020-12-07 18:28:16 +01:00
Robbert van der Helm 18571bca5d Add a dependency for the VST3 SDK 2020-12-07 18:28:16 +01:00
Robbert van der Helm 6195caf53e Move src/plugin-bridge to src/bridges/vst2 2020-12-07 18:28:16 +01:00
Robbert van der Helm c6eb55dc6d Rename libyabridge to libyabridge-vst2 2020-12-07 18:28:16 +01:00
Robbert van der Helm e08162fabf Silence warnings on decltype() with Wine 5.22
There were already similar warnings on 32-bit winegcc, but now it also
happens on the 64-bit version. Instead of adding
`-Wno-ignored-attributes` we'll just sprinkle some warning ignores here
and there to prevent any other surprises.
2020-11-30 14:05:48 +01:00
Robbert van der Helm cbf276b7dc Hide all symbols by default
As mentioned by @abique. Could prevent issues caused by symbol clashes,
and it also greatly reduces the size of all binaries.
2020-11-27 20:40:59 +01:00
Robbert van der Helm f79e2465e8 Bump to version 2.1.0 2020-11-20 14:24:42 +01:00
Robbert van der Helm f1f5d34b52 Add version bounds to meson wrap dependencies
Just to prevent the off chance where an older cached version would cause
issues.
2020-11-15 01:08:43 +01:00
Robbert van der Helm ad71016c9a Bump to version 2.0.2 2020-11-14 18:13:18 +01:00
Robbert van der Helm 5f1fbcb905 Bump to version 2.0.1 2020-11-08 21:53:55 +01:00
Robbert van der Helm 97d1055063 Bump to version 2.0.0 2020-11-08 13:47:33 +01:00
Robbert van der Helm 7931f38066 Remove the deprecated use-* compilation options 2020-11-08 12:36:47 +01:00
Robbert van der Helm 1a18ea8614 Add a dependency for function2
std::function requires the function to be CopyConstructable and thus
does not allow you to capture by move, which is exactly what we need.
2020-10-27 22:53:08 +01:00
Robbert van der Helm 4b53342514 💥 Encapsulate and rework all socket logic
This is a pretty huge change that will be important for being able to
handle nested or mutually recursive `dispatch()` and `audioMaster()`
calls. This sadly all had to be done in a single commit, so here's a
summary:

- `src/common/sockets.h:Sockets` contains all sockets on both the plugin
  and the Wine host side, and is used to both listen on and connect to
  the sockets.
- Sockets and other temporary files respect `$XDG_RUNTIME_DIR` instead
  of being dumped in `/tmp`.
- All sockets now have a unique endpoint in
  `/run/user/<uid>/yabridge-<plugin_name>-<random_id>/`. This is
  important for when we want to have multiple socket connections for
  handling `dispatch()` and `audioMaster()`.
- Because of the above, we no longer clean up the socket endpoint files
  after the connection gets established during initialization. Instead
  we'll remove the socket base directory when shutting down.
2020-10-25 21:24:56 +01:00
Robbert van der Helm cbc55aa16f Bump to version 1.7.1 2020-10-23 14:10:11 +02:00
Robbert van der Helm 2b077c1a4e Bump to version 1.7.0 2020-10-13 15:38:22 +02:00
Robbert van der Helm 59c9a2308a Bump to version 1.6.1 2020-09-28 22:41:01 +02:00
Robbert van der Helm f1b1f20fdb Update tomlplusplus 2020-09-27 17:48:43 +02:00
Robbert van der Helm 844ef7a8c5 Bump to version 1.6.0
This has been a bit overdue, but since this only fixes a few niche
issues with Renoise and REAPER I wanted to make sure that it actually
worked.
2020-09-17 14:47:16 +02:00
Robbert van der Helm 8ce4ebfc28 Bump to version 1.5.0 2020-08-21 15:11:36 +02:00
Robbert van der Helm 56c939012d Bump to version 1.4.1 2020-07-27 16:33:41 +02:00
Robbert van der Helm f5b1d48d96 Bump version to 1.4.0 2020-07-26 15:20:48 +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 2e77c03464 Move the configuration object to src/common/ 2020-07-22 13:55:29 +02:00
Robbert van der Helm c5ec9b9dd3 Bump to version 1.3.0 2020-07-17 15:19:51 +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 6a01856f37 Bump the version 2020-06-20 18:05:09 +02:00
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