JUCE - JUCE

JUCE (Jules' Utility-Class-Erweiterungen)
JUCE Logo.png
Originalautor(en) Julian Storer
Erstveröffentlichung 2004 ; Vor 17 Jahren ( 2004 )
Stabile Version
6.1.0 / 23. August 2021 ; vor 0 Tagen ( 2021-08-23 )
Repository Bearbeite dies bei Wikidata
Geschrieben in C++
Betriebssystem Plattformübergreifend
Typ Entwicklung Bibliothek
Lizenz GPL , kommerziell
Webseite www .juce .com

JUCE ist ein teilweise quelloffenes , plattformübergreifendes C++- Anwendungsframework , das für die Entwicklung von Desktop- und mobilen Anwendungen verwendet wird. JUCE ist insbesondere für seine verwendet GUI und Plug-Ins Bibliotheken.

Das Ziel JUCE ist eine Software zu ermöglichen , so geschrieben werden , dass der gleiche Code Quelle wird kompilieren und identisch auf lief Windows - , macOS und Linux - Plattformen. Es unterstützt verschiedene Entwicklungsumgebungen und Compiler.

Geschichte

Juce entstand aus einer Aufspaltung des zugrunde liegenden C++- Codes, der von Julian Storer entwickelt wurde, um die DAW- Grafik- und Audiofunktionen von Tracktion (jetzt Waveform) zu erstellen . Es wurde erstmals 2004 der Öffentlichkeit zugänglich gemacht. Es unterliegt einer doppelten GPL /kommerziellen Lizenz.

JUCE und Raw Material Software wurden im November 2014 vom Londoner Hardwarehersteller ROLI für einen nicht genannten Betrag übernommen.

Im April 2020 wurde bekannt, dass JUCE von ROLI an das Audiotechnologieunternehmen PACE verkauft wurde.

Offizieller Support

JUCE soll auf mehreren Plattformen und Compilern auf genau die gleiche Weise verwendbar sein. Raw Material Software gibt die folgende Liste von Plattformen und Compilern, für die die Unterstützung offiziell bestätigt wurde; andere können funktionieren, wurden aber nicht offiziell getestet.

Unterstützte Plattformen

JUCE wird auf den folgenden Plattformen unterstützt.

Unterstützte Compiler

Es wurde offiziell bestätigt, dass JUCE mit den folgenden Compilern ordnungsgemäß funktioniert.

Merkmale

Wie viele andere Frameworks (zB Qt , wxWidgets , GTK , etc.) enthält JUCE Klassen eine Reihe von Funktionen , vorausgesetzt Abdeckung User-Interface - Elemente, Grafiken, Audio, XML und JSON Parsen, Vernetzung , Kryptographie , Multi-Threading , ein integrierter Interpreter, der die Syntax von ECMAScript nachahmt , und verschiedene andere häufig verwendete Funktionen. Anwendungsentwickler, die mehrere Fremdbibliotheken benötigen, können somit möglicherweise nur die JUCE-Bibliothek konsolidieren und verwenden oder zumindest die Anzahl der von ihnen verwendeten Fremdbibliotheken reduzieren. Die ursprüngliche Inspiration war dabei Javas JDK , und JUCE sollte "etwas Ähnliches für C++" sein.

Ein bemerkenswertes Merkmal von JUCE im Vergleich zu anderen ähnlichen Frameworks ist seine große Auswahl an Audiofunktionen; Dies liegt daran, dass JUCE ursprünglich als Framework für Tracktion , einen Audiosequenzer, entwickelt wurde, bevor es in ein eigenständiges Produkt aufgeteilt wurde. JUCE unterstützt Audiogeräte (wie CoreAudio , ASIO , ALSA , JACK , WASAPI , DirectSound ) und MIDI- Wiedergabe, polyphone Synthesizer , eingebaute Reader für gängige Audiodateiformate (wie WAV , AIFF , FLAC , MP3 und Vorbis ) , sowie Wrapper zum Erstellen verschiedener Arten von Audio-Plugins wie VST- Effekten und -Instrumenten. Dies hat zu seiner weit verbreiteten Verwendung in der Audio-Entwicklungsgemeinschaft geführt.

JUCE enthält Wrapper-Klassen zum Erstellen von Audio- und Browser-Plugins. Beim Erstellen eines Audio-Plugins wird eine einzelne Binärdatei erzeugt, die mehrere Plugin-Formate unterstützt ( VST & VST3, RTAS , AAX , Audio Units ). Da der gesamte plattform- und formatspezifische Code im Wrapper enthalten ist, kann ein Benutzer Mac- und Windows-VST/VST3/RTAS/AAX/AUs aus einer einzigen Codebasis erstellen. Das Anvisieren von LV2 ist auch mit einer Gabel möglich.

Browser-Plugins werden auf ähnliche Weise gehandhabt: Es wird eine einzelne Binärdatei erzeugt, die sowohl als NPAPI- als auch als ActiveX- Plugin fungiert.

Werkzeuge

Der "Projucer" ist ein IDE- Tool zum Erstellen und Verwalten von JUCE-Projekten. Wenn die Dateien und Einstellungen für ein JUCE-Projekt festgelegt wurden, generiert der Projucer automatisch eine Sammlung von Projektdateien von Drittanbietern, damit das Projekt nativ auf jeder Zielplattform kompiliert werden kann. Es kann derzeit Xcode- Projekte, Visual Studio- Projekte, Linux- Makefiles , Android- Ant- Builds und CodeBlocks- Projekte generieren . Es bietet nicht nur die Möglichkeit, die Dateien und Einstellungen eines Projekts zu verwalten, sondern verfügt auch über einen Code-Editor, einen integrierten GUI-Editor, Assistenten zum Erstellen neuer Projekte und Dateien und eine Live-Codierungs-Engine, die für das Design der Benutzeroberfläche nützlich ist.

Siehe auch

Verweise

Externe Links