-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VST plugins on OS X (Apple) #698
Comments
Disclaimer
VST on Mac
There's an open issue with the At this time, I believe this issue is out of our hands as we did not write Clang. If there is a change to the
http://portingteam.com/topic/10062-winegcc-clang-51/page__pid__101465
-Tres |
I managed to get Wine-based VST support compiled on MacOS X. It still doesn't run properly, but first things first :-) In summaryThe most important workarounds are additional wineg++ parameters: Deep diveMac OS X 10.9 "Mavericks", the default C++ compiler (clang) uses the C++ standard library called libc++ by default. wineg++ (1.6.2) and libc++ (1.0) are not friends right now.
The problem is that we want I expect, although I haven't confirmed, that the exact same problem occurs on Linux when using the clang compiler and its default options. Possible fixes and workarounds
Small test caseYou can replicate the problem in a small, self-contained manner without the LMMS code base using the following code: // example.cpp: demonstrates wineg++ vs libc++ problem
#include <windows.h>
#include <vector>
int main(int argc, char **argv) {
return 0;
} $ wineg++ example.cpp
...
.../include/c++/v1/limits:115:10: fatal error:
'support/win32/limits_win32.h' file not found
#include "support/win32/limits_win32.h"
^
2 warnings and 1 error generated.
winegcc: /usr/bin/clang++ failed
$ wineg++ example.cpp -U _WIN32
...
/usr/include/sys/_select.h:39:6: error: conflicting types for 'select'
...
1 error generated.
winegcc: /usr/bin/clang++ failed
$ wineg++ example.cpp -U _WIN32 -D USE_WS_PREFIX
...
2 warnings generated.
$ wineg++ example.cpp -D USE_WS_PREFIX -stdlib=libstdc++ The warnings are from Wine's macro-based min/max definitions (coming from Other thingsThe "libc++ vs wineg++" problem is the main issue. There are some additional build and code issues that we'll need to address before Wine-based VST support works (or even tries to build) on non-Linux platforms. I've made some headway with some of that locally, although nothing ready to share just yet. (By the way, one of @tresf 's "clues" above has since become a dead link. I found a replacement here: |
Fixed, thanks.
Thanks for this research. I've made some comments on the cmake stuff in your PR. In regards to
👍 Since there seems to be such little documentation surrounding This is tremendous work, thanks for the hard work so far on this. |
BTW, Is it still worth supporting Windows VST on macOS? |
Not officially, no. I guess we could close and offer to reopen if someone has more to share? |
Update... possibly yes. WineHQ offers fantastic support for Wine now, even on Apple Silicon. At time of writing this, |
VeSTige is not present on the Mac builds. It would be great if we could use VST plugins on the Mac builds in the same way as on Linux builds, through Wine. Currently the only way to use VST plugins in LMMS on Mac is to run the whole LMMS in Wine (with some symlink trickery to get the plugin paths to resolve properly).
The text was updated successfully, but these errors were encountered: