Giter VIP home page Giter VIP logo

linvst3's Introduction

LinVst3

Vst3 wrapper (beta).

For 64 bit vst3's only.

Not all vst3 features are supported.

Unlike Vst2, saved projects using wrapped Vst3 plugins are not compatible/transferable between Linux daws and their Windows versions and vice versa.

LinVst3 binaries are on the releases page (under Assets) https://github.com/osxmidi/LinVst3/releases

See https://github.com/osxmidi/LinVst3/tree/master/Tested-VST3-Plugins for some common Vst3 tested plugin details.

The same usage applies as per LinVst except that it's linvst3.so instead of linvst.so and the vst dll filename extensions are .vst3 instead of .dll https://github.com/osxmidi/LinVst/wiki https://github.com/osxmidi/LinVst/blob/master/README.md https://github.com/osxmidi/LinVst/tree/master/Detailed-Guide

The vst3 dlls or folders are most likely going to be installed into ~/.wine/drive_c/Program Files/Common Files/VST3

The ~/.wine/drive_c/Program Files/Common Files/VST3 path needs to be added to the Daw's vst search path list.

linvst3convert would then be used on the ~/.wine/drive_c/Program Files/Common Files/VST3 folder (select the linvst3.so file and then select the vst3 path which is usually ~/.wine/drive_c/Program Files/Common Files/VST3).

LinVst3 will try to produce multiple loader part files for vst3's that contain multiple plugins. The multiple loader part files should be picked up on the daw's next plugin scan and then the multiple plugins should be available for use in the daw.

If window resizing does not work, then after a resize the UI needs to be closed and then reopened for the new window size to take effect.

Some vst3 plugins might not work due to Wines current capabilities or for some other reason.

Use TestVst3 for testing how a vst3 plugin might run under Wine.

Some vst3 plugins rely on the d2d1 dll which is not totally implemented in current Wine.

If a plugin has trouble with it's display then disabling d2d1 in the winecfg Libraries tab can be tried.


Optional Symlinks

A symlink can be used to access vst3 plugin folders from another more convenient folder.

Hidden folders such as /home/your-user-name/.wine/drive_c/Program Files/Common Files/VST3 can be accessed by the Daw by creating a symlink to them using a more convenient folder such as /home/your-user-name/vst3 for instance.

For example

ln -s "/home/your-user-name/.wine/drive_c/Program Files/Common Files/VST3" /home/your-user-name/vst3/vst3plugins.so

creates a symbolic link named vst3plugins.so in the /home/your-user-name/vst3 folder that points to the /home/your-user-name/.wine/drive_c/Program Files/Common Files/VST3 folder containing the vst3 plugins.

The /home/your-user-name/.wine/drive_c/Program Files/Common Files/VST3 vst3 plugin folder needs to have had the vst3 plugins previously setup by using linvst3convert.

Then the Daw needs to have the /home/your-user-name/vst3 folder included in it's search path.

When the Daw scans the /home/your-user-name/vst3 folder it should also automatically scan the /home/your-user-name/.wine/drive_c/Program Files/Common Files/VST3 folder that contains the vst3 plugins (that have been previously setup by using linvst3convert).


Hyperthreading

For Reaper, in Options/Preferences/Buffering uncheck Auto-detect the number of needed audio processing threads and set Audio reading/processing threads to the amount of physical cores of the cpu (not virtual cores such as hyperthreading cores).

This can help with stutters and rough audio response.

Other Daws might have similar settings.

Waveform

For Waveform,(maybe) disable sandbox option for plugins.

Bitwig

For Bitwig, in Settings->Plug-ins choose "Individually" plugin setting and check all of the LinVst plugins. For Bitwig 2.4.3, In Settings->Plug-ins choose Independent plug-in host process for "Each plug-in" setting and check all of the LinVst3 plugins.

Renoise

Choose the sandbox option for plugins.


To Make

LinVst3 binaries are on the releases page (under Assets) https://github.com/osxmidi/LinVst3/releases

See https://github.com/osxmidi/LinVst/tree/master/Make-Guide for setup info and make options

The vst3 sdk needs to be patched and the default LinVst3 script patch file (lin-patchwin) is for this version of the Steinberg vst sdk https://download.steinberg.net/sdk_downloads/vst-sdk_3.7.1_build-50_2020-11-17.zip

Some libraries also need to be pre installed,

For Ubuntu/Debian:

sudo apt-get install libx11-dev

sudo apt-get install wine-stable-dev or sudo apt-get install wine-staging-dev

sudo apt-get install cmake

sudo apt-get install libfreetype6-dev libxcb-util0-dev libxcb-cursor-dev libxcb-keysyms1-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev libgtkmm-3.0-dev libsqlite3-dev

For For Manjaro/EndeavourOS/Arch:

sudo pacman -Sy wine (or wine-staging) libx11 gcc-multilib

sudo pacman -Sy cmake freetype2 sqlite libxcb xcb-util gtkmm3 xcb-util-cursor libx11 pkgconfig xcb-util-keysyms

For Fedora:

sudo yum -y install wine-devel libX11-devel

sudo yum -y install sqlite sqlite-devel cmake freetype-devel xcb-util-devel gcc g++ xcb-util-cursor xcb-util-cursor-devel xcb-util-keysyms xcb-util-keysyms-devel libxkbcommon libxkbcommon-devel libxkbcommon-x11 libxkbcommon-x11-devel gtk+ gtk+-devel gtk3 gtk3-devel gtkmm3.0 gtkmm3.0-devel

optional libraries xcb-util libX11-xcb


(Optional libraries, Maybe needed for some systems),

libx11-xcb-dev libxcb-util-dev libxcb-cursor-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev libfontconfig1-dev libcairo2-dev libgtkmm-3.0-dev libsqlite3-dev libxcb-keysyms1-dev


This LinVst3 source folder needs to be placed within the VST3 SDK main folder (the VST3_SDK folder or the VST3 folder that contains the base, public.sdk, pluginterfaces etc folders) ie the LinVst3 source folder needs to be placed alongside the base, public.sdk, pluginterfaces etc folders of the VST3 SDK.

Then change into the LinVst3 source folder and run make and then sudo make install

Then use the batch name conversion utilities (in the convert/binaries folder) to name convert linvst3.so to the vst3 plugin names ie first select linvst3.so and then select the ~/.wine/drive_c/Program Files/Common Files/VST3 folder https://github.com/osxmidi/LinVst/wiki

To make using the vst2sdk, remove the -DVESTIGE entries from the Makefile and place the vst2sdk pluginterfaces folder inside the main LinVst3 source folder.


// LICENSE
// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved
//-----------------------------------------------------------------------------
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
// 
//   * Redistributions of source code must retain the above copyright notice, 
//     this list of conditions and the following disclaimer.
//   * Redistributions in binary form must reproduce the above copyright notice,
//     this list of conditions and the following disclaimer in the documentation 
//     and/or other materials provided with the distribution.
//   * Neither the name of the Steinberg Media Technologies nor the names of its
//     contributors may be used to endorse or promote products derived from this 
//     software without specific prior written permission.
// 
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 
// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE  OF THIS SOFTWARE, EVEN IF ADVISED
// OF THE POSSIBILITY OF SUCH DAMAGE.
//-----------------------------------------------------------------------------

linvst3's People

Contributors

osxmidi avatar perlindgren avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

linvst3's Issues

Fail to build: libsdk_hosting.a not found

I am trying to build LinVst3 on Fedora 38 with gcc-13.1 and wine-8.13.
I met a link error problem at the end of the build:

wineg++ -Wl,--subsystem,windows  lin-vst-server.wine.o remotepluginserver.wine.o paths.wine.o memorystream.wine.o basewrapper.wine.o ../build/lib/Release/libsdk_hosting.a ../build/lib/Release/libbase.a ../build/lib/Release/libpluginterfaces.a ../build/lib/Release/libsdk.a -L/opt/wine-stable/lib64/wine -L/opt/wine-devel/lib64/wine -L/opt/wine-staging/lib64/wine -L/opt/wine-stable/lib64/wine/x86_64-unix -L/opt/wine-devel/lib64/wine/x86_64-unix -L/opt/wine-staging/lib64/wine/x86_64-unix -L/usr/lib/x86_64-linux-gnu/wine-development -lpthread -lX11 -lshell32 -lole32 -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes  -o lin-vst3-server.exe
winegcc: File does not exist: ../build/lib/Release/libsdk_hosting.a
make: *** [Makefile:54: lin-vst3-server.exe] Error 2

Define what license applies to which files

Hi!

For packaging and general re-usability purposes it would be great if you could define specifically what license applies to which files.
The general GPL3-or-later license seems to cover the code, but there are also bits by Steinberg that seem to be covered by a BSD-3-clause or similar.
These specifics are usually explained in a COPYING file or in the README itself.

To allow people to package this software - I for one am considering it for Arch Linux :) - please also add separate license files for the respective files (extracting the license text from the README.md is rather cumbersome).

Thanks a lot! :)

Opening linvst3.so plugin fails because function ModuleEntry is missing

I'm trying to use LinVst3 to run Windows VST3 plugins in a custom Linux application. However VST3::Hosting::Module::create() fails to open the (properly renamed) linvst3.so because the load routine in VST_SDK/vst3sdk/public.sdk/source/vst/hosting/module_linux.cpp does not find the mandatory ModuleEntry function. For some reason I did not find ModuleEntry in the whole LinVst3 project.

Since I also needed to create a special folder structure for the binaries to be found (PluginName/Contents/x86_64-linux/) which seems not to be documented, I'm wondering if I miss something fundamental.

Your help in the matter will be much appreciated.

Build broken against current sdk

Hi,
My builds are bailing out.

  • Fresh clone of 20240317 git of LinVst3, with no patches or config changes.
  • Ditto with the VST3 sdk (v3.7.x 20240317) , built from original source with no config changes.

What version of the sdk do you have?

Complete make output below:

~/Software/src/linvst/VST_SDK/vst3sdk/LinVst3-20240317$ make
./lin-patchwin
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- [SMTG] SMTG_VSTGUI_SOURCE_DIR is set to: /home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/vstgui4
-- Found X11: /usr/include   
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found Freetype: /usr/lib/x86_64-linux-gnu/libfreetype.so (found version "2.11.1") 
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.0") 
-- Checking for module 'xcb'
--   Found xcb, version 1.14
-- Checking for module 'xcb-util'
--   Found xcb-util, version 0.4.0
-- Checking for module 'xcb-cursor'
--   Found xcb-cursor, version 0.1.1
-- Checking for module 'xcb-keysyms'
--   Found xcb-keysyms, version 0.4.0
-- Checking for module 'xcb-xkb'
--   Found xcb-xkb, version 1.14
-- Checking for module 'xkbcommon'
--   Found xkbcommon, version 1.4.0
-- Checking for module 'xkbcommon-x11'
--   Found xkbcommon-x11, version 1.4.0
-- Checking for module 'glib-2.0'
--   Found glib-2.0, version 2.72.4
-- Checking for module 'cairo'
--   Found cairo, version 1.16.0
-- Checking for modules 'pangocairo;pangoft2'
--   Found pangocairo, version 1.50.6
--   Found pangoft2, version 1.50.6
-- Checking for module 'fontconfig'
--   Found fontconfig, version 2.13.1
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/vstgui4/vstgui/uidescription/editing
-- Found EXPAT: /usr/lib/x86_64-linux-gnu/libexpat.so (found version "2.4.7") 
-- VSTGUI will use the Expat library at /usr/lib/x86_64-linux-gnu/libexpat.so
-- VSTGUI will use the Expat header found in /usr/include
-- Checking for module 'gtkmm-3.0'
--   Found gtkmm-3.0, version 3.24.5
-- Checking for module 'sqlite3'
--   Found sqlite3, version 3.37.2
-- Found LIBJACK: /usr/lib/x86_64-linux-gnu/libjack.so;/usr/lib/x86_64-linux-gnu/libjackserver.so  
-- Performing Test SMTG_USE_STDATOMIC_H
-- Performing Test SMTG_USE_STDATOMIC_H - Failed
-- Checking for module 'gtk+-3.0'
--   Found gtk+-3.0, version 3.24.33
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for adelay
-- [SMTG] Setup running validator for adelay
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for again
-- [SMTG] Setup running validator for again
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for againsimple
-- [SMTG] Setup running validator for againsimple
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for again-sampleaccurate
-- [SMTG] Setup running validator for again-sampleaccurate
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for channelcontext
-- [SMTG] Setup running validator for channelcontext
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for dataexchange
-- [SMTG] Setup running validator for dataexchange
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for hostchecker
-- [SMTG] Setup running validator for hostchecker
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for legacymidiccout
-- [SMTG] Setup running validator for legacymidiccout
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for mda-vst3
-- [SMTG] Setup running validator for mda-vst3
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for multiple-program-changes
-- [SMTG] Setup running validator for multiple-program-changes
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for noteexpressionsynth
-- [SMTG] Setup running validator for noteexpressionsynth
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for noteexpressiontext
-- [SMTG] Setup running validator for noteexpressiontext
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for panner
-- [SMTG] Setup running validator for panner
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for pitchnames
-- [SMTG] Setup running validator for pitchnames
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for prefetchable
-- [SMTG] Setup running validator for prefetchable
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for programchange
-- [SMTG] Setup running validator for programchange
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for syncdelay
-- [SMTG] Setup running validator for syncdelay
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] Setup running moduleinfotool for utf16name
-- [SMTG] Setup running validator for utf16name
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /home/rocketcat/.vst3
-- Configuring done (1.7s)
-- Generating done (0.1s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_CC_COMPILER


-- Build files have been written to: /home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build
make[1]: se entra en el directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build/base'
make[2]: se entra en el directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build'
make[3]: se entra en el directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build'
make[3]: se sale del directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build'
make[3]: se entra en el directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build'
[ 33%] Building CXX object base/CMakeFiles/base.dir/source/baseiids.cpp.o
[ 33%] Building CXX object base/CMakeFiles/base.dir/source/fbuffer.cpp.o


-- Build files have been written to: /home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build
make[1]: se entra en el directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build/base'
make[2]: se entra en el directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build'
make[3]: se entra en el directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build'
make[3]: se sale del directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build'
make[3]: se entra en el directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build'
[ 33%] Building CXX object base/CMakeFiles/base.dir/source/baseiids.cpp.o
[ 33%] Building CXX object base/CMakeFiles/base.dir/source/fbuffer.cpp.o
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/pluginterfaces/base/fplatform.h:127:76: error: expected unqualified-id before string constant
  127 |         #define SMTG_DEPRECATED_ATTRIBUTE(message) __declspec (deprecated ("Is Deprecated: " message))
      |                                                                            ^~~~~~~~~~~~~~~~~
<command-line>: note: in definition of macro ‘__declspec’
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/pluginterfaces/base/fplatform.h:332:34: note: in expansion of macro ‘SMTG_DEPRECATED_ATTRIBUTE’
  332 | #define SMTG_DEPRECATED_MSG(msg) SMTG_DEPRECATED_ATTRIBUTE(msg)
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/base/source/fobject.h:239:1: note: in expansion of macro ‘SMTG_DEPRECATED_MSG’
  239 | SMTG_DEPRECATED_MSG("use ICast<>") inline C* FUCast (FObject* object)
      | ^~~~~~~~~~~~~~~~~~~
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/pluginterfaces/base/fplatform.h:127:76: error: expected ‘)’ before string constant
  127 |         #define SMTG_DEPRECATED_ATTRIBUTE(message) __declspec (deprecated ("Is Deprecated: " message))
      |                                                                           ~^~~~~~~~~~~~~~~~~
<command-line>: note: in definition of macro ‘__declspec’
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/pluginterfaces/base/fplatform.h:332:34: note: in expansion of macro ‘SMTG_DEPRECATED_ATTRIBUTE’
  332 | #define SMTG_DEPRECATED_MSG(msg) SMTG_DEPRECATED_ATTRIBUTE(msg)
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/base/source/fobject.h:239:1: note: in expansion of macro ‘SMTG_DEPRECATED_MSG’
  239 | SMTG_DEPRECATED_MSG("use ICast<>") inline C* FUCast (FObject* object)
      | ^~~~~~~~~~~~~~~~~~~
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/pluginterfaces/base/fplatform.h:127:76: error: expected unqualified-id before string constant
  127 |         #define SMTG_DEPRECATED_ATTRIBUTE(message) __declspec (deprecated ("Is Deprecated: " message))
      |                                                                            ^~~~~~~~~~~~~~~~~
<command-line>: note: in definition of macro ‘__declspec’
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/pluginterfaces/base/fplatform.h:332:34: note: in expansion of macro ‘SMTG_DEPRECATED_ATTRIBUTE’
  332 | #define SMTG_DEPRECATED_MSG(msg) SMTG_DEPRECATED_ATTRIBUTE(msg)
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/base/source/fobject.h:245:1: note: in expansion of macro ‘SMTG_DEPRECATED_MSG’
  245 | SMTG_DEPRECATED_MSG("use ICast<>") inline C* FUCast (FUnknown* object)
      | ^~~~~~~~~~~~~~~~~~~
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/pluginterfaces/base/fplatform.h:127:76: error: expected ‘)’ before string constant
  127 |         #define SMTG_DEPRECATED_ATTRIBUTE(message) __declspec (deprecated ("Is Deprecated: " message))
      |                                                                           ~^~~~~~~~~~~~~~~~~
<command-line>: note: in definition of macro ‘__declspec’
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/pluginterfaces/base/fplatform.h:332:34: note: in expansion of macro ‘SMTG_DEPRECATED_ATTRIBUTE’
  332 | #define SMTG_DEPRECATED_MSG(msg) SMTG_DEPRECATED_ATTRIBUTE(msg)
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/base/source/fobject.h:245:1: note: in expansion of macro ‘SMTG_DEPRECATED_MSG’
  245 | SMTG_DEPRECATED_MSG("use ICast<>") inline C* FUCast (FUnknown* object)
      | ^~~~~~~~~~~~~~~~~~~
winegcc: /usr/bin/g++ failed
make[3]: *** [base/CMakeFiles/base.dir/build.make:90: base/CMakeFiles/base.dir/source/fbuffer.cpp.o] Error 2
make[3]: se sale del directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build'
make[2]: *** [CMakeFiles/Makefile2:980: base/CMakeFiles/base.dir/all] Error 2
make[2]: se sale del directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build'
make[1]: *** [Makefile:91: all] Error 2
make[1]: se sale del directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build/base'
make[1]: se entra en el directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build/public.sdk'
make[2]: se entra en el directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build'
make[3]: se entra en el directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build'
make[3]: se sale del directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build'
make[3]: se entra en el directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build'
[  0%] Building CXX object base/CMakeFiles/base.dir/source/fbuffer.cpp.o
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/pluginterfaces/base/fplatform.h:127:76: error: expected unqualified-id before string constant
  127 |         #define SMTG_DEPRECATED_ATTRIBUTE(message) __declspec (deprecated ("Is Deprecated: " message))
      |                                                                            ^~~~~~~~~~~~~~~~~
<command-line>: note: in definition of macro ‘__declspec’
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/pluginterfaces/base/fplatform.h:332:34: note: in expansion of macro ‘SMTG_DEPRECATED_ATTRIBUTE’
  332 | #define SMTG_DEPRECATED_MSG(msg) SMTG_DEPRECATED_ATTRIBUTE(msg)
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/base/source/fobject.h:239:1: note: in expansion of macro ‘SMTG_DEPRECATED_MSG’
  239 | SMTG_DEPRECATED_MSG("use ICast<>") inline C* FUCast (FObject* object)
      | ^~~~~~~~~~~~~~~~~~~
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/pluginterfaces/base/fplatform.h:127:76: error: expected ‘)’ before string constant
  127 |         #define SMTG_DEPRECATED_ATTRIBUTE(message) __declspec (deprecated ("Is Deprecated: " message))
      |                                                                           ~^~~~~~~~~~~~~~~~~
<command-line>: note: in definition of macro ‘__declspec’
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/pluginterfaces/base/fplatform.h:332:34: note: in expansion of macro ‘SMTG_DEPRECATED_ATTRIBUTE’
  332 | #define SMTG_DEPRECATED_MSG(msg) SMTG_DEPRECATED_ATTRIBUTE(msg)
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/base/source/fobject.h:239:1: note: in expansion of macro ‘SMTG_DEPRECATED_MSG’
  239 | SMTG_DEPRECATED_MSG("use ICast<>") inline C* FUCast (FObject* object)
      | ^~~~~~~~~~~~~~~~~~~
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/pluginterfaces/base/fplatform.h:127:76: error: expected unqualified-id before string constant
  127 |         #define SMTG_DEPRECATED_ATTRIBUTE(message) __declspec (deprecated ("Is Deprecated: " message))
      |                                                                            ^~~~~~~~~~~~~~~~~
<command-line>: note: in definition of macro ‘__declspec’
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/pluginterfaces/base/fplatform.h:332:34: note: in expansion of macro ‘SMTG_DEPRECATED_ATTRIBUTE’
  332 | #define SMTG_DEPRECATED_MSG(msg) SMTG_DEPRECATED_ATTRIBUTE(msg)
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/base/source/fobject.h:245:1: note: in expansion of macro ‘SMTG_DEPRECATED_MSG’
  245 | SMTG_DEPRECATED_MSG("use ICast<>") inline C* FUCast (FUnknown* object)
      | ^~~~~~~~~~~~~~~~~~~
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/pluginterfaces/base/fplatform.h:127:76: error: expected ‘)’ before string constant
  127 |         #define SMTG_DEPRECATED_ATTRIBUTE(message) __declspec (deprecated ("Is Deprecated: " message))
      |                                                                           ~^~~~~~~~~~~~~~~~~
<command-line>: note: in definition of macro ‘__declspec’
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/pluginterfaces/base/fplatform.h:332:34: note: in expansion of macro ‘SMTG_DEPRECATED_ATTRIBUTE’
  332 | #define SMTG_DEPRECATED_MSG(msg) SMTG_DEPRECATED_ATTRIBUTE(msg)
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/base/source/fobject.h:245:1: note: in expansion of macro ‘SMTG_DEPRECATED_MSG’
  245 | SMTG_DEPRECATED_MSG("use ICast<>") inline C* FUCast (FUnknown* object)
      | ^~~~~~~~~~~~~~~~~~~
winegcc: /usr/bin/g++ failed
make[3]: *** [base/CMakeFiles/base.dir/build.make:90: base/CMakeFiles/base.dir/source/fbuffer.cpp.o] Error 2
make[3]: se sale del directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build'
make[2]: *** [CMakeFiles/Makefile2:980: base/CMakeFiles/base.dir/all] Error 2
make[2]: se sale del directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build'
make[1]: *** [Makefile:91: all] Error 2
make[1]: se sale del directorio '/home/rocketcat/Software/src/linvst/VST_SDK/vst3sdk/build/public.sdk'
make: *** [Makefile:48: do_script2] Error 2

MELDA GUI problems on Reaper

LinVst3 v.1.66, Reaper 5.983, Melda 13.05, Linux Mint 19.03_x64 Cinnamom

Hi,

Thanks for your great work!!!

I warn you that when I try to resize the GUI of the plug-ins in Reaper (Latest version of Linux), the GUI is sized correctly, but not the size of the plug-in window and you can't work

Error during make: processthreadapi.h

Hi osxmidi!
I'm trying to build LinVst3 as described in the README:

  1. download Vst3-SDK (steinberg website)
  2. extract and place LinVst3 folder (latest release: 1.8) in that folder alongside "base", "public.sdk",...
  3. run 'make'

And ends in an error with the following output:
[ 42%] Linking CXX static library ../lib/Release/libpluginterfaces.a make[3]: Leaving directory '/home/goli/Build/VST_SDK/VST3_SDK/build' [ 42%] Built target pluginterfaces make[3]: Entering directory '/home/goli/Build/VST_SDK/VST3_SDK/build' Scanning dependencies of target sdk make[3]: Leaving directory '/home/goli/Build/VST_SDK/VST3_SDK/build' make[3]: Entering directory '/home/goli/Build/VST_SDK/VST3_SDK/build' [ 42%] Building CXX object public.sdk/CMakeFiles/sdk.dir/source/common/commoniids.cpp.o [ 57%] Building CXX object public.sdk/CMakeFiles/sdk.dir/source/common/pluginview.cpp.o [ 57%] Building CXX object public.sdk/CMakeFiles/sdk.dir/source/common/threadchecker_linux.cpp.o [ 57%] Building CXX object public.sdk/CMakeFiles/sdk.dir/source/common/threadchecker_win32.cpp.o /home/goli/Build/VST_SDK/VST3_SDK/public.sdk/source/common/threadchecker_win32.cpp:42:10: fatal error: processthreadsapi.h: No such file or directory 42 | #include <processthreadsapi.h> | ^~~~~~~~~~~~~~~~~~~~~ compilation terminated. winegcc: g++ failed make[3]: *** [public.sdk/CMakeFiles/sdk.dir/build.make:102: public.sdk/CMakeFiles/sdk.dir/source/common/threadchecker_win32.cpp.o] Error 2 make[3]: Leaving directory '/home/goli/Build/VST_SDK/VST3_SDK/build' make[2]: *** [CMakeFiles/Makefile2:1061: public.sdk/CMakeFiles/sdk.dir/all] Error 2 make[2]: Leaving directory '/home/goli/Build/VST_SDK/VST3_SDK/build' make[1]: *** [Makefile:84: all] Error 2 make[1]: Leaving directory '/home/goli/Build/VST_SDK/VST3_SDK/build/public.sdk' make: *** [Makefile:47: do_script2] Error 2

Am I missing something?
After some searches it looks like processthreadsapi.h is included in ./public.sdk/source/common/threadchecker_win32.cpp. Am I supposed to have that header on a linux system (Manjaro - stable) or should threadchecker_win32.cpp not even be looked at while compiling on linux?

In your README you say Currently builds ok with the vstsdk3613_08_04_2019_build_81.
The latest version seems to be vst-sdk_3.6.14_build-24_2019-11-29.
Is it still working for you?

Sidenote: I've checked all the mentioned packages as far as I could (some guesses on what they are called on Manjaro). But overall it seemed ok.

Problem installing

I am on Linux 5.10.36-2-MANJARO

When I try to install LinVst3 from pamac, it gives an error and says this:

Preparing...
Cloning linvst3 build files...
Checking linvst3 dependencies...
Resolving dependencies...
Checking inter-conflicts...

Building linvst3...
==> Making package: linvst3 1.8.2-1 (Fri 28 May 2021 10:17:46 AM)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found LinVst3-1.8.2-Debian-Buster.zip
  -> Updating ArchStudioUtils git repo...
Fetching origin
==> Validating source files with sha256sums...
    LinVst3-1.8.2-Debian-Buster.zip ... Passed
    ArchStudioUtils ... Skipped
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting LinVst3-1.8.2-Debian-Buster.zip with bsdtar
  -> Creating working copy of ArchStudioUtils git repo...
Cloning into 'ArchStudioUtils'...
done.
==> Removing existing $pkgdir/ directory...
==> Entering fakeroot environment...
==> Starting package()...
install: cannot stat '/var/tmp/pamac-build-gabriels/linvst3/src/ArchStudioUtils/w2lvst3': No such file or directory
==> ERROR: A failure occurred in package().
    Aborting...

Compiling TestVst3: How?

(low prio)
I just tried to compile the TestVst3 utility after #4 had been fixed.

I assume (couldn't find any documentation that states otherwise) it's just a matter of changing into the TestVst3 folder and calling make.
This gives me the following:
./lin-patchwin sed: can't read ../base/source/fstring.cpp: No such file or directory sed: can't read ../base/source/fstring.cpp: No such file or directory sed: can't read ../base/source/fstring.cpp: No such file or directory sed: can't read ../base/source/fstring.cpp: No such file or directory sed: can't read ../base/source/fstring.cpp: No such file or directory sed: can't read ../base/source/fstring.cpp: No such file or directory sed: can't read ../base/source/fstring.cpp: No such file or directory sed: can't read ../base/source/fstring.cpp: No such file or directory sed: can't read ../base/source/fstring.cpp: No such file or directory sed: can't read ../base/source/fstring.cpp: No such file or directory sed: can't read ../base/source/fstring.cpp: No such file or directory sed: can't read ../base/source/fstring.cpp: No such file or directory sed: can't read ../base/source/fstring.cpp: No such file or directory sed: can't read ../base/source/fstring.cpp: No such file or directory sed: can't read ../base/source/timer.cpp: No such file or directory sed: can't read ../base/source/timer.cpp: No such file or directory sed: can't read ../pluginterfaces/base/funknown.cpp: No such file or directory sed: can't read ../pluginterfaces/base/funknown.cpp: No such file or directory sed: can't read ../pluginterfaces/base/ustring.cpp: No such file or directory sed: can't read ../public.sdk/source/vst/vstparameters.cpp: No such file or directory sed: can't read ../public.sdk/source/vst/vstparameters.cpp: No such file or directory sed: can't read ../public.sdk/source/vst/vstparameters.cpp: No such file or directory sed: can't read ../public.sdk/source/vst/vstparameters.cpp: No such file or directory sed: can't read ../CMakeLists.txt: No such file or directory CMake Error: The source directory "/home/goli/Build/VST_SDK_3614_newer/VST3_SDK/LinVst3-git" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI. ./lin-patchwin: line 28: cd: ./base: No such file or directory make[1]: Entering directory '/home/goli/Build/VST_SDK_3614_newer/VST3_SDK/LinVst3-git/build' make[1]: *** No targets specified and no makefile found. Stop. make[1]: Leaving directory '/home/goli/Build/VST_SDK_3614_newer/VST3_SDK/LinVst3-git/build' ./lin-patchwin: line 30: cd: ../public.sdk: No such file or directory make[1]: Entering directory '/home/goli/Build/VST_SDK_3614_newer/VST3_SDK/LinVst3-git/build' make[1]: *** No targets specified and no makefile found. Stop. make[1]: Leaving directory '/home/goli/Build/VST_SDK_3614_newer/VST3_SDK/LinVst3-git/build' make: *** [Makefile:39: do_script2] Error 2

Am I doing something wrong?

LinVst3 Crashes with wine 6.15

$ $ file '/home/tomek/.wine/drive_c/Program Files/Common Files/VST3/ValhallaSupermassive.vst3'
/home/tomek/.wine/drive_c/Program Files/Common Files/VST3/ValhallaSupermassive.vst3: PE32+ executable (DLL) (GUI) x86-64, for MS Windows
$ ./testvst3.exe '/home/tomek/.wine/drive_c/Program Files/Common Files/VST3/ValhallaSupermassive.vst3'
0114:err:seh:NtRaiseException Unhandled exception code c0000005 flags 0 addr 0x7bc2d1d7
$ wine --version
wine-6.15

The DAW cannot even scan the metadata because of this crash.
That plugin worked fine on earlier versions versions. Also I recompiled LinVst3 with the newest wine release

Using the newest HEAD version of linvst3 from repo
Os: Arch linux

invalid ELF header errors in Reaper

I get this in reapers term on startup

swell: dlopen() failed: /home/kaden/.wine/drive_c/Program Files/Common Files/VST3/ValhallaSupermassive.vst3: invalid ELF header
swell: dlopen() failed: /home/kaden/.wine/drive_c/Program Files/Common Files/VST3/LABS (64 Bit).vst3: invalid ELF header
swell: dlopen() failed: /home/kaden/.wine/drive_c/Program Files/Common Files/VST3/ValhallaSupermassive.vst3: invalid ELF header
swell: dlopen() failed: /home/kaden/.wine/drive_c/Program Files/Common Files/VST3/LABS (64 Bit).vst3: invalid ELF header
swell: dlopen() failed: /home/kaden/.wine/drive_c/Program Files/Common Files/VST3/LABS (64 Bit).vst3: invalid ELF header
swell: dlopen() failed: /home/kaden/.wine/drive_c/Program Files/Common Files/VST3/LABS (64 Bit).vst3: invalid ELF header

Reason Rack VST3 only Instrument plugin shows in DAW - Reason Rack Effects rack is missing

Using:

wine-6.14 (Staging)
LinVst3-4.5.2-Manjaro
Renoise 3.3.2 Linux-x64
Reason_1139_d22-Stable-184-Win
Manjaro based all updates except kernel 5.10.59-rt51-xanmod1-1.51

Upon setting-up the VST3 path and having used linvst3convert, upon scanning for new plugins in Renoise does reveal
"Reason Rack Plugin" is listed in the "Instruments" section, but there is no Reason Studios plugin listed in the "Effects" area.
A bit disappointed because everything about the Reason Instrument seems to work!

One thing I am unsure of is filesystem layout for the VST3 .so file. After running the linvst3convert it creates ~/.wine/drive_c/Program Files/Common Files/VST3/Reason Rack Plugin.vst3/Contents/x86_64-win/Reason Rack Plugin.so
Then after you open the Reason plugin in Renoise, a file gets created: ~/.wine/drive_c/Program Files/Common Files/VST3/Reason Rack Plugin-part-01.so - which is an empty 0k file.

So maybe this is a Renoise quirk? Or is it a linvst3 issue?

Update: I tested on Bitwig Studio 2.5.1, and only the instrument version of Reason Rack Plugin is available - there's no effects version.


There's another issue - rack effect validation is broken. You can update all the racks in the reason+ app, but everytime you start the rack plugin or reason itself you receive a prompt to authorize the rack effects. This may need some hacking to find out what the reason+ app is trying to communicate with the main reason app, because even if you manually open both apps and what appears to be a successful validation - none of the extra reason+ rack effects are registered with reason/reason rack plugin.

I would rather time be spent on getting the Reason Rack as an effect plugin working, because 1)Guessing easier to fix, and 2)It's a huge chunk of functionality.

Lagging on changing presets and turning knobs

After the update (4.7 -> 4.7.1) some plugins started to lag after preset changes and while turning knobs.

  • Neural DSP Archetype Nolly (preset changes take 1-2 secs freeze)
  • Nembrini Audio BST100 v2 (knobs freezing while turning)

I did a downgrade to 4.7 and all came back to normal.

After the upgrade/downgrade all the files from linvst3 was upgraded in the system and all plugins was converted pointing to the new linvst3.so and scanned again in the DAW (tested in Ardour and Reaper).

Wine-7.0

Install error

Hi.
Ive tried to compile LinVst3 from sources but I get an error.
I followed the instructions on Readme.md, installes every dependencies, downloaded the VST3 SDK, launched the "make" into the LinVst3 directory (which is within the VST3_SDK folder) but I get :
"/home/user/dev/VST_SDK/VST3_SDK/base/source/fdynlib.cpp:43:10: fatal error: Windows.h: Aucun fichier ou dossier de ce type"
I tried to rename Windows.h to windows.h but the problem is the same.
sudo find / -name windows.h -print returns :
/usr/i686-w64-mingw32/include/windows.h
/usr/x86_64-w64-mingw32/include/windows.h
/usr/share/mingw-w64/include/windows.h

Any help would be appreciated - Thanks.

LinVst3 stopped working with WINE-Staging 9.5

Hello,

when I update WINE-Staging to the most recent version (9.5), LinVst3 doesn't work anymore. Rebuilding LinVst3 doesn't not help.

The reason is that lin-vst3-server.exe doesn't start anymore. When a VST host (in my case Bitwig) opens a plugin, my process list just shows "start.exe " when a plugin is tried to be loaded.

When I run lin-vst3-server.exe directly, I get the error message:

Application could not be started, or no application associated with the specified file. ShellExecuteEx failed: File not found.

But there is no information what it tries to open and what is missing.

When I revert WINE to version 9.4, everything works again. I am using LinVst3-4.9.

LinVST3 crash when I open the advanced controls window with Arturia demo plugins

Linux Mint Cinnamom x64, 4.15.0-65-lowlatency, Reaper 5.985, Wine 4.20, LinVst3-1.7.1-Debian-Stretch

Hi,

when I open the advanced controls window with any Arturia demo plugins, and change some settings, after a while the audio stops in an infinite loop, crashing Reaper and Jack audio server. I need to restart my PC. One Program Error message is appear..

https://imgur.com/EeGStGE

Is there a way to fix this problem?

Thanks....

Only first plugin is detected per waves vst3 file

Using LinVst3-4.5 it seem that only the first VST3 of each bundle is detected. An old version, i.e. linvst3-2.1 finds only the first one on the first pass but then created a lot of "part" files that would then find every plugin.

I can't compile linvst3

Running make results in this:

./lin-patchwin
sed: couldn't open temporary file ../LinVst/sedHTLR6T: Permission denied
sed: couldn't open temporary file ../LinVst/sedwQm8Xu: Permission denied
sed: can't read ../public.sdk/source/common/systemclipboard_win32.cpp: No such file or directory
sed: can't read ../pluginterfaces/base/fplatform.h: No such file or directory
sed: can't read ../base/source/fstring.cpp: No such file or directory
sed: can't read ../base/source/fstring.cpp: No such file or directory
sed: can't read ../base/source/fstring.cpp: No such file or directory
sed: can't read ../base/source/fstring.cpp: No such file or directory
sed: can't read ../base/source/fstring.cpp: No such file or directory
sed: can't read ../base/source/fstring.cpp: No such file or directory
sed: can't read ../base/source/fstring.cpp: No such file or directory
sed: can't read ../base/source/fstring.cpp: No such file or directory
sed: can't read ../base/source/fstring.cpp: No such file or directory
sed: can't read ../base/source/fstring.cpp: No such file or directory
sed: can't read ../base/source/fstring.cpp: No such file or directory
sed: can't read ../base/source/fstring.cpp: No such file or directory
sed: can't read ../base/source/fstring.cpp: No such file or directory
sed: can't read ../base/source/fstring.cpp: No such file or directory
sed: can't read ../base/source/timer.cpp: No such file or directory
sed: can't read ../base/source/timer.cpp: No such file or directory
sed: can't read ../pluginterfaces/base/funknown.cpp: No such file or directory
sed: can't read ../pluginterfaces/base/funknown.cpp: No such file or directory
sed: can't read ../pluginterfaces/base/ustring.cpp: No such file or directory
sed: can't read ../public.sdk/source/common/openurl.cpp: No such file or directory
sed: can't read ../public.sdk/source/common/openurl.cpp: No such file or directory
sed: can't read ../public.sdk/source/vst/vstparameters.cpp: No such file or directory
sed: can't read ../public.sdk/source/vst/vstparameters.cpp: No such file or directory
sed: can't read ../public.sdk/source/vst/vstparameters.cpp: No such file or directory
sed: can't read ../public.sdk/source/vst/vstparameters.cpp: No such file or directory
sed: can't read ../public.sdk/source/common/threadchecker_win32.cpp: No such file or directory
sed: can't read ../CMakeLists.txt: No such file or directory
mkdir: cannot create directory ‘../build’: File exists
CMake Error: The source directory "/home/b/Documents" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
./lin-patchwin: 37: cd: can't cd to ./base
make[1]: Entering directory '/home/b/Documents/build'
make[1]: *** No targets specified and no makefile found. Stop.
make[1]: Leaving directory '/home/b/Documents/build'
./lin-patchwin: 39: cd: can't cd to ../public.sdk
make[1]: Entering directory '/home/b/Documents/build'
make[1]: *** No targets specified and no makefile found. Stop.
make[1]: Leaving directory '/home/b/Documents/build'
make: *** [Makefile:47: do_script2] Error 2

Not sure what I need to do to get this working to use vst3s in Reaper.

Waves under LinVST3

There seems to be a typo in the Waves.reg.

The PR should fix that #7.

Overall the instructions to get Waves plugins working win LinVst is quite hard to follow. If possible please make clear (by example) how to get the dlls (if official sources exist, or else how you can obtain them from an existing WIN10 install), examples how to override, etc.

Waves Central v11 needs windows powershell which does not currently work.

Because Wine has some missing parts as compared to Windows (ie Robocopy, reg entries, some dll's etc) some things need to be installed and setup.

...

Does this mean that v11 is a no-go, and the text below just applies to waves 10 (or older)? (I assume so but it's not perfectly clear.)

1: Install Wine Staging (Ubuntu needs libfaudio0) and install winetricks cmd (to workaround possible cmd problems that can cause hangs).

Is that true/required also for the current 5.3 release?

2: Install the mfc42 and mfc42u 32bit dll overrides into ~/.wine/drive_c/windows/syswow64 (and optionally add the dll names in winecfg's Libraries tab)

Does that mean you should get mfc42 and mfc42u from an existising WIN10 install? (In the dropdown under libraries, these are not found). When you manually add them (optionally), is it just the name(s) of the dlls or some additional parameters.

3: Install rktools.exe (Robocopy from Windows Server 2003 Resource Kit Tools)

In wintricks there is an option to install psdk2003 (MS Platform SDK 2003), is that the same as the Resource Kit (with Robocopy). If not this maybe this link could be useful. https://www.microsoft.com/en-us/download/details.aspx?id=17657
However, when I tried running the latter (under wine 5.3) it asked for User Information, and pressing next seems to abort the program (at least it closes directly). According to the install instructions, files should be created under %Program Files%\Windows Resource Kits\Tools folder, but nothing seems to have been installed.

4: Install the mfc140.dll override into ~/.wine/drive_c/windows/system32 (and optionally add the dll names in winecfg's Libraries tab)

Same as 2.

5: Import Waves.reg (in LinVst's Waves folder) into regedit

Use the fixed one.

6: Install Waves Central

Which versions does apply? (10 and/or 11)

7: The vst 64 bit dll to wrap is WaveShellxxxxxx.dll in ~/.wine/drive_c/Program Files/VSTPlugIns/ (there might be more than one WaveShellxxxxxx.dll depending on additional Waves plugins installs)

Did not get that far.

7: A dialog box will popup (asking for a path) the first time a Waves V10 plugin is run, descend into the path by double clicking on (C:) and then double click on Program Files (x86) (or Program Files if Plug-Ins V10 can't be found) and then double click on Waves and then just highlight Plug-Ins V10 with a single click (don't descend into it) and then finish by clicking on open.

Seems to indicate the process works only for v10.

If one succeeds to install powershell under wine, would it be expected that v11 could could work with similar instructions as above?

Linvst3 and Melodyne Essential 5

Hello, I followed the instructions but when the linvst3 server started working on the plugin during startup scan of Reaper 6 (native Linux) it crashed with the following log file:

LinVST3_melodyne.txt

Can anyone point me into the right direction to help get this error fixed? This is the first VST3 plugin I've tried to use with reaper. I have successfully been able to get Ozone 9, Neutron 9 and Nectar 3 to work with Reaper in VST2 formats with linvst. Thanks!

Resize problems

Hi
Thanks for the great work with linvst3.

I have encountered a number issues. It's hard to tell if they are due to linvst3, wine or the plugins per se.

The most obvious is regarding HDPI. It appears that window position will not take HDPI setting into account. E.g., if the plugin opens a new window (such as a dropdown menu) the positon will be wrong (as in not taking the scaling into account).

The second obvious thing is that resizing a plugin window will not take effect until the plugin window is closed and re-opened again.

In combination with a HDPI setting (else than the default), some plugins (Juce based if that is of any significance), can end up in a state where the wine window is smaller than the plugin window, with the effect that you cannot reach the resize handle. In that case the only option is to completely unload the vst (e.g. bitwig allows that), set the HDPI to 96, re-load the vst, and then regain control over the sizing handle.

I'm on arch linux and installed the linvst2 and linvst3 using the yay package manager.

I also encountered a problem with midi controller forwarding (not notes but controller data). It works well in linvst2 (with vst2 plugins) but in cases you can see (in bitwig) that the controller value changes (on the low bar) but the controller data is not forwarded/handled by the plugin. Not sure if that is due to a bug/incorrect implementation in the plugin, but this behaviour is not present if I run the same plugin in bitwig under Win10.

Thanks again for you efforts.
/Per

Suggestion to improve the file selection operation

Hi,

The file selection operation is not user frendly.... For example:

1.If the files .vst3 are cataloged in some sub-directory, I need to generate the .so file for each sub-directory. It's possible to select only the root of .vst3 files and then generate the .so for each?
2.I need to select the .so3 file for each .vst3 new directory and sub-directory: but the link to this file remain this for all the operations. It's possible to link only one time the .so3 file?

Thanks....

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.