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…