Die Anzahl der Module für VCV Rack wächst rasant. Vor kurzem hat @Klirrfaktor in einem Tweet auf eine Übersicht verwiesen, auf der er Screenshots aller derzeit verfügbaren Module zeigt. Es sind mittlerweile über 300!

Den besten Überblick verschafft man sich auf den GitHub-Wiki Seiten des Projektes. In den meisten Fällen liegen die Module als Binaries vor, die entpackt werden und der entpackte Ordner dann direkt in das Plugins Verzeichnis von VCV Rack kopiert werden kann. Unter MacOS liegt dieser Plugins Ordner im Documents Verzeichnis des Nutzers.

Übersicht aller verfügbaren Rack Module (Quelle: theklirrfaktor.com)

Allerdings liegen einige Module auch nur als Quellcode vor und diese müsste man dann selbst kompilieren. Falls man mit C++ so gar nichts am Hut hat, würde ich nicht dazu raten alle nötigen Tools zum kompilieren dieser Module zu installieren. Wenn man allerdings Spaß am Programmieren hat und C++ kennt und eventuell sogar selbst einmal das ein oder andere Modul schreiben will, dann sollte man jetzt weiter lesen.

Andrew Belt, der Hauptentwickler des Racks hat auf den GitHub Seiten ein kurzes Tutorial geschrieben, wie man eine Entwicklungsumgebung für Module einrichtet. Da ich selbst nur unter einem Mac arbeite, beschreibe ich hier kurz das Einrichten unter der Apple Hardware.

Zunächst benötigt man die Entwicklungsumgebung XCode und dessen Terminal-Tools. XCode kann man direkt bei Apple herunterladen, man muss sich da nur registrieren. Nun kann man im Terminal die XCode Command Line Developer Tools installieren indem man Folgendes eingibt:

xcode-select --install

Es öffnet sich dann ein PopUp und man wird gefragt, ob man diese Tools jetzt installieren möchte. Das dauert dann einen Moment. Für alle anderen benötigten Tools empfiehlt sich der Paketmanager Homebrew, der die Installation wesentlich vereinfacht.

Die Webseiten des Paketmanagers für MacOS erklären das Wichtigste auf einen Blick

Falls man Homebrew noch nicht auf seinem Mac installiert hat, sollte man das schnellstens nachholen, auch wenn man nicht vor hat, Rack Module zu bauen. Mithilfe von Brew können wir nun wget, cmake und git installieren:

brew install wget cmake git

Homebrew lädt diese Tools nun aus dem Netz und installiert sie auf dem Mac. cmake ist ein Open-Source-Werkzeug, dass sich bei grösseren Programmierprojekten um das Einbinden aller Source-Files und anderer Bibliotheken für das Projekt kümmert. wget ermöglicht einfach das Herunterladen von Dateien aus dem Internet über die Kommandozeile und git ist das bekannteste Versions-Kontroll-System für Software Projekte und verwaltet den Source Code und dessen verschiedene Version, besonders hilfreich wenn man mit mehreren Entwicklern an einem Projekt arbeitet.

Im nächsten Schritt muss man erstmal den Quellcode von VCV Rack von GitHub herunterladen und kompilieren. Dazu legt man sich am besten ein spezielles Verzeichnis an. Ich habe dazu beispielsweise den Ordner development/rackDev in meinem Home-Verzeichnis angelegt. Dann klone ich mithilfe von git den Quellcode:

git clone https://github.com/VCVRack/Rack.git

Im Anschluß wechselt man in das Rack-Verzeichnis

cd rack

und lädt sich mithilfe von git alle benötigten Submodule, sprich Dependencies zum kompilieren herunter:

git submodule update --init --recursive

Im nächsten Schritt werden diese Submodule kompiliert, das dauert etwas länger:

make dep

am Ende sollte dann so etwas in der Art im Terminal stehen:

Alle Dependencies erfolgreich installiert

Jetzt können wir Rack kompilieren:

make

Das geht relativ zügig und die Warnungen, die dabei generiert wurden kann man erstmal ignorieren 😉 So, jetzt können wir mit

make run

VCV Rack endlich starten. Das sollte problemlos funktionieren. Allerdings sind bisher nur die Core Module installiert. Weitere Plugins muss ich mir noch herunterladen. Z.B. kann ich folgendermaßen die Fundamental Module klonen und installieren. Zunächst wechseln wir ins plugins-Verzeichnis:

cd plugins

und dann klonen wir das Fundamental Repository:

git clone https://github.com/VCVRack/Fundamental.git

Nun wechseln wir wieder in das neue Fundamental Verzeichnis und klonen wieder dessen Submodule:

cd Fundamental
git submodule update --init --recursive

Jetzt bauen wir die Module:

make

Wenn wir nun zurück gehen ins Rack-Verzeichnis und mit make run Rack erneut starten, sind die Fundamental Module ebenfalls verfügbar.

Hat alles geklappt 🙂

Jetzt kann ich ja endlich eigene Plugins schreiben…

Für diese Zwecke hat Andrew Belt glücklicherweise ein weiteres kleines Tutorial online gestellt, dass beim Start eines neuen Moduls mehr als hilfreich ist. Dazu gehen wir zunächst wieder in das Plugin-Verzeichnis und klonen das gerade genannte Tutorial-Projekt, welches hier einsehbar ist und wechseln danach in dessen Ordner:

cd plugins
git clone https://github.com/VCVRack/Tutorial.git
cd Tutorial

Jetzt kann ich Rack wieder starten und habe ein weiteres Modul Verzeichnis namens Tutorial verfügbar, welches My Module enthält. Dies ist das grundlegende Modul (ein simpler Oszillator). Ein Startpunkt, von dem aus wir uns nun unser eigenes Plugin basteln können. Welche Konventionen man bei der Programmierung einhalten sollte, sind alle auf der Seite des Tutorials zu sehen. … Happy Coding! 😉

Ist es nicht stattlich, ist es nicht wunder-wunderschön? Mein Modul! 😀