By request, here are the instructions for building and installing Bruce Sutherland's JuceOPLVSTi plugin (http://bsutherland.github.io/JuceOPLVSTi/) on Linux. You will need a C/C++ development environment and an up-to-date installation of the Juce framework (https://www.juce.com/). This is not a tutorial on compiling C/C++ source code or using Juce and the Introjucer. If you need such tutorials, please consult Google to find and read the needed documentation. You will also need the VST SDK from Steinberg GmbH. I use version 2.4 of the SDK, other versions may require path changes not covered here.
I keep source code in $HOME/src, so I start by getting the code from git and downloading it there, after which I enter the new directory.
Code: Select all
cd $HOME/src
git clone https://github.com/bsutherland/JuceOPLVSTi.git
cd JuceOPLVSTi
Code: Select all
../JUCE-master/extras/Introjucer/Builds/Linux/build/Introjucer JuceOPLVSTi.jucer
In the files tree click on the juce_audio_basics module. If necessary set its path and/or update all other Juce modules.
Click on the Linux Makefile label and set location of VST folder, e.g. /home/dave/SDKs/vstsdk2.4. Save, then quit the Introjucer, your work is done there.
At this point you can run the Makefile created by the Introjucer, but the run will fail with many errors, mostly regarding Bit32u. Make the following edit at line 82 in Source/config.h and line 12 in Source/DROMultiplexer.cpp. Change this :
Code: Select all
#if __APPLE__
Code: Select all
#if __APPLE__ || 1
Code: Select all
#include "Hiopl.h"
Code: Select all
#include "hiopl.h"
I've notified Bruce that his work will compile on Linux. Hopefully falkTX will include it in his DISTRHO ports, or another of his projects. Meanwhile, perhaps these instructions will aid the impatient.
Built and tested on Fedora 21 x86_64, GCC 4.9.2, Planet CCRMA rt kernel 4.0.5. Tests performed in Bitwig 1.3.6 and Ardour4 (git sources). I haven't tested every feature yet, but the synth sounds good and behaves well (no crashes or hangs on exit).
Many thanks to Bruce Sutherland for creating JuceOPLVSTi. Great thanks also to falkTX for his crucial assistance when I hit the wall, which usually happens quickly when I venture into C++ and/or Juce programming. Of course, any errors and inaccuracies in these instructions are my responsibility, so please advise me if you have suggestions for their improvement.
Best,
dp