Open Asher- opened 2 years ago
Using XCode Version 13.3.1 (13E500a)
Apparently VST 2 is a dependency here, and VST 2 SDK is no longer available.
If that is accurate, vst.cpp should be removed from Faust.
If that is not accurate, documentation should be added about how to create a VST plugin and where to get the SDK.
Following instructions from https://hal.archives-ouvertes.fr/hal-02158978/file/building-faust-cmake.pdf and using https://www.steinberg.net/vst3sdk downloaded vst-sdk_3.7.6_build-18_2022-09-05.zip.
However, following the suggestion to rename sdk3 as 2.4 results in:
(clang-16: fatal error: no such file or directory: '/usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp')
And trying sdk 2 with the same path results in:
∴ faust2vst ../faust/examples/generator/sawtoothLab.dsp
In file included from sawtoothLab.cpp:213:
In file included from /usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffectx.h:37:
/usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.h:37:10: fatal error: 'pluginterfaces/vst2.x/aeffect.h' file not found
#include "pluginterfaces/vst2.x/aeffect.h" // "c" interface
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
In file included from /usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:35:
/usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.h:37:10: fatal error: 'pluginterfaces/vst2.x/aeffect.h' file not found
#include "pluginterfaces/vst2.x/aeffect.h" // "c" interface
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
In file included from /usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffectx.cpp:35:
In file included from /usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffectx.h:37:
/usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.h:37:10: fatal error: 'pluginterfaces/vst2.x/aeffect.h' file not found
#include "pluginterfaces/vst2.x/aeffect.h" // "c" interface
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
In file included from /usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/vstplugmain.cpp:35:
/usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.h:37:10: fatal error: 'pluginterfaces/vst2.x/aeffect.h' file not found
#include "pluginterfaces/vst2.x/aeffect.h" // "c" interface
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
In file included from sawtoothLab.cpp:213:
In file included from /usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffectx.h:37:
/usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.h:37:10: fatal error: 'pluginterfaces/vst2.x/aeffect.h' file not found
#include "pluginterfaces/vst2.x/aeffect.h" // "c" interface
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
In file included from /usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp:35:
/usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.h:37:10: fatal error: 'pluginterfaces/vst2.x/aeffect.h' file not found
#include "pluginterfaces/vst2.x/aeffect.h" // "c" interface
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
In file included from /usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffectx.cpp:35:
In file included from /usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffectx.h:37:
/usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.h:37:10: fatal error: 'pluginterfaces/vst2.x/aeffect.h' file not found
#include "pluginterfaces/vst2.x/aeffect.h" // "c" interface
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
In file included from /usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/vstplugmain.cpp:35:
/usr/local/include/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.h:37:10: fatal error: 'pluginterfaces/vst2.x/aeffect.h' file not found
#include "pluginterfaces/vst2.x/aeffect.h" // "c" interface
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: can't open input file: sawtoothLab.vst/Contents/MacOS/sawtoothLab.arm64 (No such file or directory)
../faust/examples/generator/sawtoothLab.vst;
The error is accurate, as neither audioeffect.cpp or pluginterfaces seem to exist in these sdk.
If possible better use faust2juce.
OK— so VST should be removed?
Does this also apply to faustvst.cpp?
I see there is a faust/tools/faust2appls/unsupported
directory.
Maybe the name should be needs-updating
?
It sounds like faust2vst
should be there for now, and someone should write faust2vst3
from that.
Last I heard faust2au
also belongs there (and faust2auv3
is similarly needed).
Both faust2vst
and faust2au
, if revived, should print a "deprecated" warning message, referring users to the '3' versions.
It would be cool if we could think of ways to test these scripts using GitHub WorkFlows.
Then it would be obvious when some script needs to be moved to the needs-updating
directory,
and possibly its maintainer, if any, could be notified to come save it.
All this could be automated such that doing nothing results in the file move and a next-release "breaking changes" note explaining why it is no longer in the release.
As I posted on #824, here is how I integrate VST3 plugins written in Faust: https://ccrma.stanford.edu/courses/320c-spring-2022/assignments/15/
I would like to get the current code base separated out— 1. based on layers of implementation 2. based on current vs deprecated vs needs updates.
Right now there is so much mixing of these categories that it makes entry for a new programmer have an incredibly steep barrier.
I'm currently working on my interpretation of this, but I am new to the project so could use input.
For me the best communication channel is email, e.g., Faudiostream-devel@lists.sourceforge.net. However, people also use Slack. GitHub comments are working well, but it's relatively heavy to have to start with an "issue".
The current situation for VST plugins is a bit complicated:
faust2vst
(an external contribution, not maintened anymore by the original author) is not used anymore in the faustservice VST macOS, but still in the Windows scripts (faust2w32vst
and faust2w64vst
)faust2faustvst
(also an external contribution, not maintened anymore by the original author) is used on macOSfaust2vst3
version (and not even faust2au3
TBH), by lack or work resources. We now have faust2juce and possibly this WIP DPF-Fadeli project to possibly solve the "maintenance" issue we have.@sletz Very helpful clarification, thank you!
Trying to open the xcode project in architecture/VST causes Xcode to complain: