mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-07 03:50:11 +02:00
Merge branch 'master' into feature/vst3
This commit is contained in:
+3
-1
@@ -46,7 +46,9 @@ TODO: Add an updates screenshot with some fancy VST3-only plugins to the readme
|
||||
- Changed part of the build process considering [this Wine
|
||||
bug](https://bugs.winehq.org/show_bug.cgi?id=49138). Building with Wine 5.7
|
||||
and 5.8 required a change, but that change now breaks builds using Wine 6.0
|
||||
and up, so this change has been reverted.
|
||||
and up. We now detect which version of Wine is used to build with, and we then
|
||||
apply the change conditionally to be able to support building with both older
|
||||
and newer versions of Wine.
|
||||
|
||||
### Fixed
|
||||
|
||||
|
||||
+14
@@ -53,6 +53,20 @@ if with_vst3
|
||||
compiler_options += '-DWITH_VST3'
|
||||
endif
|
||||
|
||||
# Wine versions after Wine 5.6 and before 6.0 require a `__cdecl` calling
|
||||
# convention to be specified on the `main()` functions or else `argc` and `argv`
|
||||
# will point to the wrong memory. Similarly, with other versions of Wine this
|
||||
# should _not_ be specified for the same reason. We'll try to figure out the
|
||||
# current Wine version and add this calling convention based on that.
|
||||
#
|
||||
# https://bugs.winehq.org/show_bug.cgi?id=49138
|
||||
wine_version = run_command('sh', '-c', '''wine --version | grep --only-matching -E '[0-9]+\.[0-9.]+' | head -n1''')
|
||||
if wine_version.returncode() == 0 and \
|
||||
wine_version.stdout().version_compare('>=5.7') and \
|
||||
wine_version.stdout().version_compare('<6.0')
|
||||
compiler_options += '-DWINE_USE_CDECL'
|
||||
endif
|
||||
|
||||
# Generate header files for configuration variables such as the current git tag
|
||||
# and the name of the host binary
|
||||
subdir('src/common/config')
|
||||
|
||||
@@ -36,7 +36,11 @@
|
||||
* plugin host and this group plugin host will function identically on both the
|
||||
* plugin and the Wine VST host side.
|
||||
*/
|
||||
int __attribute__((visibility("default"))) main(int argc, char* argv[]) {
|
||||
int __attribute__((visibility("default")))
|
||||
#ifdef WINE_USE_CDECL
|
||||
__cdecl
|
||||
#endif
|
||||
main(int argc, char* argv[]) {
|
||||
set_realtime_priority();
|
||||
|
||||
// Instead of directly hosting a plugin, this process will receive a UNIX
|
||||
|
||||
@@ -32,7 +32,11 @@
|
||||
* plugin plugin, and then connect back to the `libyabridge-{vst2,vst3}.so`
|
||||
* instance that spawned this over the socket.
|
||||
*/
|
||||
int __attribute__((visibility("default"))) main(int argc, char* argv[]) {
|
||||
int __attribute__((visibility("default")))
|
||||
#ifdef WINE_USE_CDECL
|
||||
__cdecl
|
||||
#endif
|
||||
main(int argc, char* argv[]) {
|
||||
set_realtime_priority();
|
||||
|
||||
// We pass plugin format, the name of the VST2 plugin .dll file or VST3
|
||||
|
||||
Reference in New Issue
Block a user