JUCE - Le Bottin des Jeux Linux

JUCE

🗃️ Specifications

📰 Title: JUCE 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Development 🚦 Status: 05. Tested & Working (status)
🏷️ Category: Development ➤ Framework & Tool ➤ Misc. 🌍️ Browser version:
🔖 Tags: Development; Framework; C/C++; RAD; Prototyping; Multi-platform; Audio Production; Audio Plugin Host; IDE; Editor; VST2; VST3; AU; AAX; LV2 📦️ Package name: juce
🐣️ Approx. start: 2003-01-01 ....... 📦️ Arch: ✓
🐓️ Latest: 2024-03-26 ....... 📦️ RPM: ✓
📍️ Version: Latest: 💥️ 6.0.1➜7.0.11 / Dev: ae51448 ....... 📦️ Deb: ✓
🏛️ License type: 🕊️ FOSS with NC | ND ....... 📦️ Flatpak:
🏛️ License: JUCE modules: ISC / Other modules : GPL/Commercial ....... 📦️ AppImage:
🏝️ Perspective: First person (interface) ....... 📦️ Snap:
👁️ Visual: 2D ⚙️ Generic binary: ✓
⏱️ Pacing: Real Time 📄️ Source: ✓
👫️ Played: Single 📱️ PDA support:
🎖️ This record: 5 stars 🎀️ Game design: 5 stars
👫️ Contrib.: goupildb & Louis 🎰️ ID: 14356
🐛️ Created: 2014-06-26 🐜️ Updated: 2024-03-28

📖️ Summary

[en]: A partially (since version 7) libre, multi-platform C++ framework for the development of stand-alone tools, audio plugins (VST, VST3, AU, AUv3, AAX and LV2), and plug-in hosts. It can be easily integrated into existing projects via CMake, or used for project generation via Projucer, which supports project export for Xcode (macOS and iOS), Visual Studio, Android Studio, Code::Blocks and Linux Makefiles, and contains a source code editor. It provides a library of digital audio processing modules (DSP) supplying various effects, filters, instruments and audio generators. [fr]: Un framework en C++ partiellement (depuis la version 7) libre et multi-plateforme pour le développement d'outils autonomes, de plugins audio (VST, VST3, AU, AUv3, AAX et LV2), et hôtes de plug-ins. Il peut être facilement intégré à des projets existants via CMake, ou être utilisé pour la génération de projets via le Projucer, qui prend en charge l'exportation de projets pour Xcode (macOS et iOS), Visual Studio, Android Studio, Code::Blocks et Linux Makefiles, et contient un éditeur de code source. Il fournit une bibliothèque de modules de traitement audio numérique (DSP) fournissant différents effets, filtres, instruments et générateurs audio.

🚦 Entry status

📰 What's new?: 🍎️ (Stable) Major upgrade 🦺️ Work in progress:
💡 Lights on: ✓ 💭️ New version published (to be updated):
🎨️ Significant improvement: ✓ 🚧️ Some work remains to be done:
👔️ Already shown: 👻️ Temporary:

🎥️ Videos


🦉️ From Devs: (201306), (201209),


🕯️ How To: 💥️(201705), 💥️(202109), 💥️(202107),


🎮️ Showcase: 💥️(202211), 💥️(202105),

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site 1 2] [Features/About] [Screenshots] [Videos t(202xxx) ts(202xxx) gd(201306) gd(201209) gu(202xxx) id(202xxx) r(202xxx) lp(202xxx) sc(202105) ht(201705) ht(202109) ht(202107) ht(202002) ht(202012) ht(202003) ht[fr](202xxx) ht[de](202xxx) ht[ru](202xxx) ht[pl](202xxx) ht[cz](202xxx) ht[sp](6/202106) ht[pt](202xxx) ht[it](202xxx) ht[tr](202xxx)] [WIKI] [FAQ] [RSS] [Changelog 1 2 3]

💰 Commercial
• (empty)

🍩️ Resources
Learning resources
• 💥️ Juce resources (Access to tools, tutorials, expert advice, and the documentation): [Homepage] [Dev site] 🎬️ g(202xxx)
• 💥️ JR-Granular (a real-time granular fx plugin made with JUCE and RNBO C++ export, GPL-3): [Homepage] [Dev site] 🎬️ d(202211)

🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames] [Showcase]

🦣️ Social
Devs (JUCE Team 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
Devs (Julian Storer (studio Raw Material Software ltd) [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(201306) 2(202xxx)]
The Project: [Blog] [Forums] [mastodon] [Facebook] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related
[Wikipedia (JUCE) [fr] [en] [de]]
[FreshFOSS]

📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu 1 2] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]

🕊️ Source of this Entry: [Site (date)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title: JUCE
🦊️ What's: A (partially) libre tool for the dev. of sound apps & plug-ins
🏡️ https://www.juce.com/
🐣️ https://github.com/juce-framework
🔖 #LinuxGameDev #Framework #Music
📦️ #Libre #Freemium #Bin #Arch #RPM #Deb
📖 Our entry: https://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/

🥁️ Update: 6.0.1➜7.0.11
⚗️ Major upgrade (Stable) 🍎️
📌️ Changes: https://github.com/juce-framework/JUCE/releases
🦣️ From: https://social.tchncs.de/@distrowatch/112170219777129499
📶️ https://github.com/juce-framework/JUCE/releases.atom

🦉️ https://www.youtube.com/embed/Uj94TYQ6LN0
🕯️ https://www.youtube.com/embed/?list=PLLgJJsrdwhPxa6-02-CeHW8ocwSwl2jnu
🕯️ https://www.youtube.com/embed/?list=PLbqhA-NKGP6DiGtVK4WhEHgNZQS7NmBH7
🎮️ https://www.youtube.com/embed/X7TbOB85XEs
🎮️ https://www.youtube.com/embed/i_Iq4_Kd7Rc

🕶️ A view of its UI (on a dark theme) at startup. At the top are the main menus, on the left drop-down menus for selecting the type of application required, and on the right the selection of modules and the type of code export wished.

JUCE is a partially (since version 7) libre, multi-platform C++ framework for the development of stand-alone tools, audio plugins (VST, VST3, AU, AUv3, AAX and LV2), and plug-in hosts. It can be easily integrated into existing projects via CMake, or used for project generation via Projucer, which supports project export for Xcode (macOS and iOS), Visual Studio, Android Studio, Code::Blocks and Linux Makefiles, and contains a source code editor. It provides a library of digital audio processing modules (DSP) supplying various effects, filters, instruments and audio generators.

📕 Description [en]

📕🐧"A (partially) libre tool for the development of sound applications and plug-ins"🐧📕

Build Audio Applications and Plug-ins

JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications, including VST, VST3, AU, AUv3, AAX and LV2 audio plug-ins and plug-in hosts. JUCE can be easily integrated with existing projects via CMake, or can be used as a project generation tool via the Projucer, which supports exporting projects for Xcode (macOS and iOS), Visual Studio, Android Studio, Code::Blocks and Linux Makefiles as well as containing a source code editor.


JUCE is the most widely used framework for audio application and plug-in development. It is an open source C++ codebase that can be used to create standalone software on Windows, macOS, Linux, iOS and Android, as well as VST, VST3, AU, AUv3, AAX and LV2 plug-ins.

JUCE allows developers to focus on the most valuable parts of their software by taking care of the differences between operating systems (both desktop and mobile) and plug-in formats. With JUCE’s library of digital audio processing (DSP) building blocks you can quickly prototype and release native applications and plug-ins with a consistent user experience across all supported platforms. Using JUCE also future-proofs your products against operating system and plug-in host updates.

☑ Audio Software & Plug-in Compatibility
JUCE makes it easy to create both standalone audio applications or plug-ins that can be loaded inside digital audio workstations (DAWs) like Logic, Live, Pro Tools, FL Studio or Cubase. A single JUCE project can be used to create VST, VST3, AU, AUv3, AAX and LV2 plug-ins from the same source code, and also provides the functionality required to host these plug-in formats in your own software.

☑ Operating System Compatibility & Mobile devices
JUCE is a cross platform framework allowing a single codebase to compile to native applications and plug-ins with the same user experience on Windows, macOS, Linux, iOS and Android, across both desktop and mobile. Native applications can be launched in the iOS and Android device simulators to simplify testing and debugging, and can be packaged up for distribution within the mobile app stores.

☑ Audio Processing & MIDI
JUCE provides an abstraction for processing audio samples and MIDI from the native audio devices on each platform or a host DAW. With JUCE’s library of digital signal processing (DSP) building blocks you can rapidly prototype and deploy different audio effects, filters, instruments and generators.

☑ User Interface & Graphics
JUCE provides a versatile UI abstraction that can run on any platform, with the option of hardware acceleration via OpenGL. JUCE handles the rendering of 2D and 3D graphics, and a selection of image formats and fonts. All JUCE UI widgets can be themed, allowing you to have a consistent user experience across multiple different products and platforms.

☑ Build System Integration
JUCE is a modularised, open source C++ framework that is easy to integrate into your existing build system. Each JUCE module is distributed as C++14 source code that can either be directly included in your existing build workflow or added to a CMake project via JUCE’s CMake integration. JUCE’s build configuration tool, the Projucer, also allows you to create entire projects in the native development tools on each platform, like Visual Studio, Xcode, Android Studio, Code::Blocks and Makefiles.

☑ Accessibility
JUCE hooks into the native accessibility controls on each platform by default, allowing users to interact with JUCE-based software using the standard workflows of each operating system.

☑ Release your Product
JUCE has partnerships with market leading companies that can protect your products from piracy and integrate billing and subscription services, that are compatible with standard e-commerce platforms, into your software.


🌍️ Wikipedia:

JUCE is an open-source cross-platform C++ application framework, used for the development of desktop and mobile applications. JUCE is used in particular for its GUI and plug-ins libraries. It is dual licensed under the GPLv3 and a commercial license.

The aim of JUCE is to allow software to be written such that the same source code will compile and run identically on Windows, macOS and Linux platforms. It supports various development environments and compilers.

History

JUCE resulted from a split-out of the underlying C++ code that was developed by Julian Storer to create Tracktion's (now Waveform) DAW graphic and audio capabilities. It was first released to the public in 2004. It is covered by a dual GPL/commercial license.

JUCE and Raw Material Software were acquired in November 2014 by London-based hardware manufacturer ROLI for an undisclosed amount.

In April 2020 it was announced that JUCE had been sold by ROLI to PACE Anti-Piracy Inc..

Official support

JUCE is intended to be usable in exactly the same way on multiple platforms and compilers. Raw Material Software gives the following list of platforms and compilers on which support is officially confirmed; others may work, but have not been officially tested.

Supported platforms

JUCE is supported on the following platforms.

Windows Vista, 7, 8, and 10
macOS versions 10.7 and later
iOS versions 9 and later
Linux kernel series 2.6 and later
Android using NDK-v5 and later

Supported compilers

JUCE is officially confirmed to work properly with the following compilers.

GCC versions 5 and later
LLVM - LLVM Clang versions 3.4 and later
Microsoft Visual Studio - Visual C++ 2015 and later

Features

Like many other frameworks (e.g., Qt, wxWidgets, GTK, etc.), JUCE contains classes providing a range of functions that cover user-interface elements, graphics, audio, XML and JSON parsing, networking, cryptography, multi-threading, an integrated interpreter that mimics ECMAScript's syntax, and various other commonly used features. Application developers needing several third-party libraries may thus be able to consolidate and use only the JUCE library, or at least reduce the number of third-party libraries they use. In this, the original inspiration was Java's JDK, and JUCE was intended to be "something similar for C++".

A notable feature of JUCE when compared to other similar frameworks is its large set of audio functionality; this is because JUCE was originally developed as a framework for Tracktion, an audio sequencer, before being split off into a standalone product. JUCE has support for audio devices (such as CoreAudio, ASIO, ALSA, JACK, WASAPI, DirectSound) and MIDI playback, polyphonic synthesizers, built-in readers for common audio file formats (such as WAV, AIFF, FLAC, MP3 and Vorbis), as well as wrappers for building various types of audio plugin, such as VST effects and instruments. This has led to its widespread use in the audio development community.

JUCE comes with wrapper classes for building audio and browser plugins. When building an audio plugin, a single binary is produced that supports multiple plugin formats (VST & VST3, RTAS, AAX, Audio Units). Since all the platform and format-specific code is contained in the wrapper, a user can build Mac and Windows VST/VST3/RTAS/AAX/AUs from a single codebase. Since JUCE7 targeting, and hosting, of LV2 plugins is also possible. Previously this was done with the use of various forks.

Browser plugins are handled in a similar way: a single binary is produced that functions as both an NPAPI and an ActiveX plugin.

Tools

The "Projucer" is an IDE tool for creating and managing JUCE projects. When the files and settings for a JUCE project have been specified, the Projucer automatically generates a collection of 3rd-party project files to allow the project to be compiled natively on each target platform. It can currently generate Xcode projects, Visual Studio projects, Linux Makefiles, Android Ant builds and CodeBlocks projects. As well as providing a way to manage a project's files and settings, it also has a code editor, an integrated GUI editor, wizards for creating new projects and files, and a live coding engine useful for user interface design.

Version History

Version 1 - 2004
Version 4 - November 2015
Version 5 - April 2017
Version 6 - April 2020 - key updates included adding CMake support for project building, revamping the DSP module, introducing VST3 support on Linux, and Clang support for Windows, along with updated webview components on macOS/iOS and a variety of other platform-specific enhancements.
Version 7 - June 2022 - significant updates included the introduction of Audio Random Access (ARA) SDK and LV2 plug-in support, new rendering options for macOS and iOS, hardware-synchronized drawing across platforms, updated Android APIs, a revamped AudioPlayHead, and enhanced accessibility features.

📕 Description [fr]

Un outil (partiellement) libre permettant le développement d'applications et plugins sonores, par la JUCE Team, initié par Julian Storer (studio Raw Material Software ltd).
En C++.

JUCE est un framework en C++ partiellement (depuis la version 7) libre et multi-plateforme pour le développement d'outils autonomes, de plugins audio (VST, VST3, AU, AUv3, AAX et LV2), et hôtes de plug-ins. Il peut être facilement intégré à des projets existants via CMake, ou être utilisé pour la génération de projets via le Projucer, qui prend en charge l'exportation de projets pour Xcode (macOS et iOS), Visual Studio, Android Studio, Code::Blocks et Linux Makefiles, et contient un éditeur de code source. Il fournit une bibliothèque de modules de traitement audio numérique (DSP) fournissant différents effets, filtres, instruments et générateurs audio.

Créer des applications audio et des plug-ins

JUCE est un framework d'application C++ multiplateforme open-source permettant de créer des applications de bureau et mobiles de haute qualité, incluant des plug-ins audio VST, VST3, AU, AUv3, AAX et LV2, ainsi que des hôtes de plug-ins. JUCE peut être facilement intégré à des projets existants via CMake, ou peut être utilisé comme outil de génération de projets via le Projucer, qui prend en charge l'exportation de projets pour Xcode (macOS et iOS), Visual Studio, Android Studio, Code::Blocks et Linux Makefiles, et contient un éditeur de code source.


JUCE est le framework le plus utilisé pour le développement d'applications et de plug-ins audio. Il s'agit d'une base de code C++ open source qui peut être utilisée pour créer des logiciels autonomes sous Windows, macOS, Linux, iOS et Android, ainsi que des plug-ins VST, VST3, AU, AUv3, AAX et LV2.

JUCE permet aux développeurs de se concentrer sur les parties les plus précieuses de leur logiciel en prenant en charge les différences entre les systèmes d'exploitation (de bureau et mobiles) et les formats de plug-ins. Grâce à la bibliothèque de modules de traitement audio numérique (DSP) de JUCE, vous pouvez rapidement créer des prototypes et lancer des applications et des plug-ins natifs avec une expérience utilisateur cohérente sur toutes les plates-formes prises en charge. L'utilisation de JUCE permet également de protéger vos produits contre les mises à jour du système d'exploitation et de l'hôte du plug-in.

☑ Compatibilité avec les logiciels audio et les plug-ins
JUCE facilite la création d'applications audio autonomes ou de plug-ins qui peuvent être chargés dans des stations de travail audio numériques (DAW) comme Logic, Live, Pro Tools, FL Studio ou Cubase. Un seul projet JUCE peut être utilisé pour créer des plug-ins VST, VST3, AU, AUv3, AAX et LV2 à partir du même code source, et fournit également les fonctionnalités nécessaires pour héberger ces formats de plug-ins dans votre propre logiciel.

☑ Compatibilité avec les systèmes d'exploitation et les appareils mobiles
JUCE est un framework multiplateforme qui permet à une base de code unique de compiler des applications natives et des plug-ins offrant la même expérience utilisateur sur Windows, macOS, Linux, iOS et Android, à la fois sur les ordinateurs de bureau et les appareils mobiles. Les applications natives peuvent être lancées dans les simulateurs d'appareils iOS et Android pour simplifier les tests et le débogage, et peuvent être packagées pour être distribuées dans les magasins d'applications mobiles.

☑ Traitement audio et MIDI
JUCE fournit une abstraction pour le traitement d'échantillons audio et MIDI à partir des périphériques audio natifs de chaque plateforme ou d'une station de travail audionumérique hôte. Grâce à la bibliothèque de modules de traitement du signal numérique (DSP) de JUCE, vous pouvez rapidement prototyper et déployer différents effets, filtres, instruments et générateurs audio.

☑ Interface utilisateur et graphique
JUCE fournit une abstraction d'interface utilisateur polyvalente qui peut fonctionner sur n'importe quelle plate-forme, avec l'option d'accélération matérielle via OpenGL. JUCE gère le rendu des graphiques 2D et 3D, ainsi qu'une sélection de formats d'images et de polices de caractères. Tous les widgets d'interface utilisateur de JUCE peuvent être thématisés, ce qui vous permet d'avoir une expérience utilisateur cohérente sur plusieurs produits et plateformes différents.

☑ Intégration du système de construction
JUCE est un framework C++ modulaire et open source facile à intégrer dans votre système de construction existant. Chaque module JUCE est distribué sous la forme d'un code source C++14 qui peut être directement inclus dans votre processus de construction existant ou ajouté à un projet CMake via l'intégration CMake de JUCE. L'outil de configuration de JUCE, le Projucer, vous permet également de créer des projets entiers dans les outils de développement natifs de chaque plateforme, comme Visual Studio, Xcode, Android Studio, Code::Blocks et Makefiles.

☑ Accessibilité
JUCE se connecte par défaut aux contrôles d'accessibilité natifs de chaque plateforme, ce qui permet aux utilisateurs d'interagir avec les logiciels basés sur JUCE en utilisant les flux de travail standard de chaque système d'exploitation.

☑ Commercialisez votre produit
JUCE a conclu des partenariats avec des entreprises leaders sur le marché qui peuvent protéger vos produits contre le piratage et intégrer dans votre logiciel des services de facturation et d'abonnement compatibles avec les plateformes de commerce électronique standard.

🚧️ Installation ➜ 🚀️ Launching [fr]

⚙️ Installation à partir du binaire

⛓️ Installation à partir du binaire classique :
• Un binaire statique est disponible, décompressez le livrable, et rendez son binaire exécutable (clic droit sous votre gestionnaire de fichier).

📦️ Installation à partir du paquet Manjaro/Arch :
• Il est dans les dépôts Manjaro/Arch (souvent dans sa dernière version), il suffit d'installer le(s) paquet(s).


📄️ Installation à partir du source

• Source non testé.


🚀️ LANCEMENT DE L'INTERFACE

▸ Classique :
• Rendez ce binaire exécutable (clic droit sous votre gestionnaire de fichier) et cliquez dessus ou dans son répertoire racine lancez : $ ./Projucer

🕵️ Test [fr]

📜️ Préambule :
⚬ 1ere édition : le 28 Mars 2024 sous Manjaro. Par : goupildb. ⏱️ Durée du test : 2 minutes. 🎯️ Objectif : Tests et prise d'une copie d'écran.


🫕️ Installation :
▸ (✔ v. 7.0.11) Binaire classique : FONCTIONNEL.

🌻️ Premières impressions :

🧪️ Tests effectués :

‣ 🧫️ Conditions du test :
⚪️ Je n'ai pas les compétences pour un test sérieux de cet outil.
⚪️ Ce test n'a consisté qu'à vérifier que l'outil démarrait.

‣ 🧪️ Résultat des tests :
🟢️ Il démarre.
🟢️ Il me semble très complet.


🕹️ Conclusion :
Impression globale : 👍️
🟢️ Pas le temps pour un test plus approfondi pour l'instant, néanmoins ce que j'en ai vu m'a semblé d'excellente qualité.
👏️ ❤️ Un grand bravo et merci (notamment pour la version Linux !) à ses auteurs !