Ja, auch wenn ich noch total am Anfang bin mit den C++ Tutorials, will ich schon mal so langsam in das JUCE Framework schauen und so langsam die ersten Gehversuche machen. Ich habe vor zwei Jahren schon mal damit angefangen und es wieder verworfen. Es wird Zeit für einen zweiten Versuch 😉

Quelle: juce.com

Was ist JUCE?

JUCE ist ein C++-Application Framework, dass teilweise Open Source ist. Dieses Framework unterstützt den Programmierer beim Erstellen von Multiplattform-GUI-Anwendungen. JUCE ist in erster Linie für die Entwicklung im Bereich Audio-Anwendungen (Standalone oder Plugins) bekannt.

Ein wichtiger Bestandteil des Frameworks ist der Projucer. Er ist eine Art IDE, in der man seine Projektart auswählt (GUI-Anwendung, Audio-Plugin, Audio Application, Library, …) und die dann alle nötigen Klassen und Assets für das jeweilige Projekt zusammenpackt.

Allerdings wird für die Erstellung der eigenen Anwendungen / Plugins eine für das Betriebssystem passende Entwicklungsumgebung / ein passender Compiler benötigt (Visual Studio, XCode, GNU C++,…). Im Grunde ist es auch möglich im Projucer den Quellcode seiner Anwendung zu editieren, aber empfehlenswert ist die Nutzung einer ausgewachsenen IDE.

Was benötige ich alles?

Zuerst einmal brauchen wir eine Entwicklungsumgebung für unser Betriebssystem. Ich befinde mich gerade auf einem Windows 10 Rechner, daher lade ich mir die kostenlose IDE Visual Studio 2019 Community von Microsoft herunter.

Visual Studio 2019 Community Edition … „Hello, World!“

Um Visual Studio als Community Edition zu aktivieren benötigt man ein Microsoft Konto, denn ansonsten bekommt man nur eine 30-Tage-Version der IDE.

Als nächstes empfehle ich die Installation einer DAW, um unsere Plugins später zu testen. Ich meine JUCE enthält zwar einen VST-Host, mit dem man seine Kreationen ausprobieren kann, aber in einer DAW ist das auf jeden Fall netter. Falls man keine Audio Workstation auf seinem System installiert hat, kann man die freie DAW Waveform Free von Tracktion nehmen.

Waveform 11 Free

Ok, jetzt das Wichtigste überhaupt: Das JUCE Framework. Dazu gehen wir auf juce.com laden uns die aktuelle Version herunter (aktuell Version 5.4). Es gibt übrigens vier verschiedene JUCE Lizenzen, die für einen Entwickler in Frage kommen:

Die Personal und Education Versionen sind im Grunde dieselben, sie kosten nichts und bei jeder erstellten Anwendung erscheint ein Splash-Logo auf dem „Made with JUCE“ für ein paar Sekunden nach dem Start der Anwendung eingeblendet wird. Außerdem sendet der Projucer Daten zur Analyse an die Server von JUCE …. hmmm, naja ok.

Für professionelle Entwickler gibt es dann die Indie Version, bei der man bis zu 200k Dollars im Jahr mit seinen Anwendungen verdienen darf und die kein Splash-Screen enthalten und auch nicht an JUCE funken. Dafür kostet die Lizenz aber einmalig 700$ oder 35$ pro Monat. Für ganz große Entwickler gibt es dann noch die Pro Lizenz, ohne Einschränkungen, für einmalig 1.300$ oder 65$ pro Monat.

Wir fangen gerade erst an, JUCE zu lernen, daher nehmen wir mal die Personal Version. Der Download besteht aus einer Zip-Datei, die wir am besten irgendwo in unserem Home-Verzeichnis entpacken. Wenn man nun in das Verzeichnis geht, findet man im Hauptordner von JUCE die Projucer Anwendung. Falls man mittlerweile eine IDE auf seinem Betriebssystem installiert hat, kann man den Projucer ja mal starten…

Der Projucer…

Ein ersten „Hello World“ – VST Plugin erstellen

Im Startbildschirm können wir nun eine Projektart wählen und wir nehmen natürlich gleich ein Audio Plug-In! Der Projucer will als nächsten einen Projektnamen von uns wissen, den Ordner, wo das Ganze gespeichert werden soll und eine IDE, damit er weiß, für welche Plattform er das Projekt anzulegen hat. Hier sollte eigentlich schon automatisch Visual Studio 2019 ausgewählt sein (wenn man sich auf einem Windows Rechner befindet…).

Ich nenne das Projekt mal passenderweise HelloWorld und lege es in meinem C++ Dev-Ordner ab. Dann klicke ich auf Create… Normalerweise sollte das fehlerfrei funktionieren und ich finde mich im Projektfenster wieder. Ich könnte hier jetzt auch mit den Quelldateien arbeiten bzw. das Projekt kompilieren, ich gehe aber lieber in meine IDE. Diese erreiche ich über den Exporter-Button oben. Das Projekt wird dann gespeichert und die IDE geöffnet.

Jetzt ist das Projekt in Visual Studio geöffnet und ich kann es kompilieren und das Plugin erstellen. Standardmäßig wird ein VST3- und ein AU-Plugin erstellt und außerdem eine Standalone-Anwendung.

Falls man nicht weiß, wie man Visual Studio bedient, dann sollte man ein kurzes Tutorial anschauen oder hier die Grundlagen nachlesen. Ansonsten geht man einfach auf Erstellen -> Projektmappe erstellen oder drückt STRG+SHIFT+B. Nach kurzer Arbeit sollte unten in der Ausgabe stehen:

========== Erstellen: 3 erfolgreich, 0 fehlerhaft, 0 aktuell, 0 übersprungen ==========

Nett. Jetzt wäre ein guter Zeitpunkt das VST3-Plugin mal in der DAW zu testen. Der Pfad des Plugins ist:

(home)/(juce-dev-verzeichnis)/HelloWorld/Builds/VisualStudio2019/x64/Debug/VST3

Entweder ich kopiere mir das .vst3 Plugin in meinen Standard-Ordner für VST3 Plugins (da, wo meine DAW es dann auch findet), oder ich gebe diesen Ordner zusätzlich in der DAW an. Ich kopiere das Plugin einfach in meinen VST3-Ordner und starte Waveform Free (Übrigens, falls jemand Interesse an Waveform hat und absolut noch keine Ahnung von DAWs … ich fange demnächst ein ausführliches Tutorial zu Waveform Free an).

In der DAW hoffe ich, dass das Plugin gefunden wurde und falls ja, dann ziehe ich es in einen Track… und siehe da „Hello World!“

Ok, das war zwar jetzt noch nichts Dolles, aber zumindest läuft schon mal alles reibungslos. D.h. das nächste mal können wir dann etwas tiefer einsteigen…