logicomacorp / WaveSabre

Official WaveSabre repository
MIT License
247 stars 34 forks source link

VST support for macOS. #70

Open fefal64 opened 3 years ago

fefal64 commented 3 years ago

Support for macOS. Just the VST stuff. Checked on the environment described in macOS support Details about the modifications are documentes in [macOS porting details] wiki page.(https://github.com/fefal64/WaveSabre/wiki/macOS-porting-details) wiki page. Fixed windows compilation but requires editing vstgui.h.

fefal64 commented 3 years ago

So, I was able to make AppVeyor to build successfully the project for Win32 and x64 by patching the vstsdk source code, for requiring Windows Vista features.

But wait; is AppVeyor's cache shared among branches? I hope no, because it could affect master branch compilation.

fefal64 commented 3 years ago

So, I realized that AppVeyor can also build macOS stuff. So added macOS image to .appveyor.yml and It build the project successfully for that platform.

But there is a caveat: downloading vstsdk always fails for one of the two windows jobs; that Invoke-WebRequest cmdlet. I tried to reuse the cache, but no success.

yupferris commented 3 years ago

Finally getting a chance to look at this, and first off, let me say this is great work, and I'm super pleased to see it! We've been wanting to build mac versions of the plugs in particular for a long time - ideally this would open the door for many more musicians to use the tool than can today, as you're surely aware.

Looking at most of the changes, things look pretty benign/straightforward, but I had some thoughts:

yupferris commented 3 years ago

FYI, #72 (which superceded #52) was just landed/merged.

yupferris commented 3 years ago

re the Invoke-WebRequest cmdlet for Windows builds, I too noticed that this was a bit flaky - however, you can use the "re-run incomplete" button in the appveyor UI to restart the failing/incomplete build jobs (this also works if you notice a particular job failing early in the run and cancel the build). It's ofc annoying that it's so flaky, but it should still work.