C++多媒体处理库-JUCE
2010-12-29 14:00:55 阿炯

JUCE (Jules' Utility Class Extensions)是由Raw Material Software发布的一套基于C++的跨平台应用程序框架类库,是一个开源的应用程序开发框架,用于开发桌面和移动应用程序,首发于2004年;JUCE尤其用于其GUI和插件库。它具有GPLv3和商业许可证的双重许可,其核心使用ISC协议授权。


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. The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. Other modules are covered by a GPL/Commercial license.


其使相同的源代码能够在Windows、macOS和Linux平台上以相同的方式编译和运行。它支持各种开发环境和编译器。其提供了友好的用户界面以及强大的音频、图像处理能力。JUCE适合那些想使用干净、快捷、高层的API,而不想把时间浪费在使用不同类库,面向不同平台上的开发者。它能够胜任大型、复杂的应用程序(C++)的开发。

Features


对编译器的要求
GCC versions 5 and later
LLVM - LLVM Clang versions 3.4 and later
Microsoft Visual Studio - Visual C++ 2015 and later

与其他应用程序框架类似,JUCE有众多覆盖音频、图像、XML分析、网络等方面的类。JUCE的开发者就是被JAVA的JDK所启发,然后想做出基于C++的对等物。其最突出的特点是其对音频的特殊支持。JUCE原本是作为Tracktion audiosequencer的一部分而开发的,但后来脱离出来成为了一个独立的工程。它支持音频和MIDI回放,复音合成器,对多种音频格式文件的读取。同时JUCE还封装了诸如VST、RTAS、AU等技术的代码,能够开发各种音源、效果插件。众多音频厂商如Imageline、M-AUDIO、cycling74、KORG、Presonus、TC Group等等都是JUCE的使用者。


"Projucer"是一个用于创建和管理JUCE项目的IDE工具。当指定了JUCE项目的文件和设置后,Projucer会自动生成第三方项目文件的集合,以允许在每个目标平台上以本机方式编译项目。它目前可以生成Xcode项目、Visual Studio项目、Linux Makefile、Android Ant构建和CodeBlocks项目。除了提供一种管理项目文件和设置的方法外,它还有一个代码编辑器、一个集成的GUI编辑器、用于创建新项目和文件的向导,以及一个对用户界面设计有用的实时编码引擎。


最新版本:7.0


官方主页:https://juce.com/