pacman -S mingw-w64-x86_64-toolchain
pacman -S make cmake autoconf automake-wrapper libtool mingw-w64-x86_64-python3 mingw-w64-x86_64-waf mingw-w64-x86_64-fftw mingw-w64-x86_64-rubberband
Download Juce (https://github.com/juce-framework/JUCE 5.4.7)
modify: JUCE/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:2442
/*
extern "C" BOOL WINAPI DllMain (HINSTANCE instance, DWORD reason, LPVOID)
{
if (reason == DLL_PROCESS_ATTACH)
Process::setCurrentModuleInstanceHandle (instance);
return true;
}
*/
modify: JUCE/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp:3174
extern "C" __declspec (dllexport) IPluginFactory* GetPluginFactory()
run Projucer.exe
File->Open MXTune/JUCE/mx_tune.jucer
File->Global Paths
File->Save All
Download the VST SDK (http://www.steinberg.net/en/company/developers.html)
copy vstsdk2.4/pluginterfaces to VST_SDK/VST3_SDK/
copy VST_SDK/VST3_SDK to MXTune/
modify:
VST3_SDK\base\source\fstring.cpp:226
#define vsnprintf _vsnprintf
->
//#define vsnprintf _vsnprintf
VST3_SDK\pluginterfaces\base\ipluginbase.h:423
extern "C" __declspec (dllexport) Steinberg::IPluginFactory* GetPluginFactory ();
./bootstrap
./configure --prefix=/mingw64 --enable-static --disable-shared
make CXXFLAGS="-DSOUNDTOUCH_PREVENT_CLICK_AT_RATE_CROSSOVER=1"
make install
python3 /mingw64/bin/waf configure --enable-fftw3f --disable-tests --disable-examples --disable-wavread --disable-wavwrite --prefix=/mingw64
python /mingw64/bin/waf install -j4
mkdir build-cmake
cd build-cmake
cmake .. -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc -G "Unix Makefiles"
make -j4
Prerequisites:
Install Xcode from Mac App Store
Install Xcode command-line tools: xcode-select --install
brew install pkg-config
brew install autoconf
brew install automake
brew install libtool
brew install cmake
Download Juce (https://github.com/juce-framework/JUCE 7.0.5) run Projucer File->Open MXTune/JUCE/mx_tune.jucer File->Global Paths modify "Path to JUCE" and "JUCE Modules" File->Save All
Download the VST SDK (http://www.steinberg.net/en/company/developers.html) copy vstsdk2.4/pluginterfaces to VST_SDK/VST3_SDK/ copy VST_SDK/VST3_SDK to MXTune/
./configure --enable-static --enable-float --enable-single
./waf configure --enable-fftw3f --disable-tests --disable-examples --disable-wavread --disable-wavwrite --notest
sudo ./waf install
make CXXFLAGS="-DSOUNDTOUCH_PREVENT_CLICK_AT_RATE_CROSSOVER=1 -fdata-sections -ffunction-sections"
sudo make install
make -f otherbuilds/Makefile.macos
sudo cp -R rubberband /usr/local/include
sudo cp lib/* /usr/local/lib
sudo cp build/meson-private/rubberband.pc /usr/local/lib/pkgconfig/
mkdir build-cmake
cd build-cmake
cmake ..
make -j6
sudo cp libmx_tune.dylib /Library/Audio/Plug-Ins/VST/mx_tune.vst
sudo apt install libfftw3-dev
./build_linux.sh