JUCE框架教程(1)——Projucer入门

**

JUCE框架教程(1)——Projucer入门

**
前言(什么是JUCE): JUCE (Jules’ Utility Class Extensions)是由Raw MaterialSoftware发布的一套基于c++的跨平台应用程序框架类库(Windows, Mac,Linux)。JUCE的特殊之处在于其友好的用户界面以及强大的音频、图像处理能力。JUCE适合那些想使用干净、快捷、高层的API,而不想把时间浪费在使用不同类库,面向不同平台上的开发者。JUCE能够胜任大型、复杂的应用程序(C++)的开发。
JUCE最突出的特点是其对音频的特殊支持。JUCE原本是作为Tracktion audiosequencer的一部分而开发的,但后来脱离出来成为了一个独立的工程。JUCE支持音频和MIDI回放,复音合成器,对多种音频格式文件的读取。同时,JUCE还封装了诸如VST、RTAS、AU等技术的代码,能够开发各种音源、效果插件。
这在国内真的是一个特别冷门的领域相比同时间国外的音频插件设计已经起飞啦hahah

准备工作:下载Projucer:https://juce.com/get-juce

1.创建新的项目窗口
第一次启动 Projucer 时,您会看到新的项目窗口。(您也可以稍后通过从 Projucer 的主菜单中选择New Project…来启动它。):
作为入门项目,在file creation options选项中,我们直接选择main.cpp文件而不是default即可。

JUCE框架教程(1)——Projucer入门_第1张图片
2.选择项目类型
Projucer中的项目类型是多种的,作为入门项目,我们在此做简单介绍。

1.Application/Blank:创建一个空白的 JUCE 应用程序。

2.Application/GUI:创建一个带有空应用程序窗口的最小 JUCE 应用程序。

3.Application/Audio:创建一个最小的 JUCE 应用程序,如Application/GUI,但会自动添加您轻松获取音频输入和输出所需的所有设置代码。您可以将其用于游戏、多媒体应用程序等等。

4.Application/Console :JUCE 对于开发根本没有任何 GUI 的命令行应用程序也非常有用。使用此项目类型来创建这样的应用程序。

5.Application/Animated:创建一个绘制动画图形显示的应用程序。例如创建动画移动应用程序。

6.Application/OpenGL:创建一个空白的 JUCE 应用程序,如Application/GUI,但增加了对 OpenGL 的支持,以绘制包括 3D 模型导入和 GLSL 着色器在内的功能。

7.Plug-In/Basic:创建一个基本的音频插件。所有支持 VST、AudioUnit 和 AAX 插件格式的代码都是自动添加的。

8.Library/Static, Library/Dynamic:这种项目类型对于创建构建在 JUCE 之上的可重用软件库非常有用。

额外的项目设置:
Project Name- 为应用程序选择一个名称。
Modules——JUCE 框架代码被组织成模块。选择项目中包含哪些模块,在下面的部分中,可以指定modules位于之前安装的 JUCE 文件夹内的子文件夹的位置。
Importer- 可以选择要用于构建和调试应用程序的本机 IDE。这也定义了应用程序将支持的桌面和移动平台。这并不是一成不变的,使用 Projucer,可以稍后添加其他平台和 IDE。

根据自身需要选择好项目设置后,点击create project即可创建一个新的JUCE项目。

3.IDE选择
Projucer支持包括如XCode,Visual Studio,Code::Blocks等IDE。

创建项目后,可以直接从 Projucer 启动带有项目的本机 IDE。使用靠近顶部的按钮:
JUCE框架教程(1)——Projucer入门_第2张图片
完成操作后可以直接编译和运行 JUCE 应用程序,并开始编码!

4.打开 PIP 文件
在学习其他 JUCE 教程时,我们可能会遇到Projucer Instant Project (PIP) 文件。这些本质上是带有通常.h扩展名的头文件,它们为 Projucer 提供元数据,便于从单个文件自动创建具有正确模块和导出器的项目。
通过从Projucer 主菜单的OPEN…对话框中选择文件或简单地拖放到 Projucer 界面窗口,可以类似地打开 PIP 文件。

完成以上操作,我们能够成功地新建一个JUCE文件并开始编写程序辣!!!你同时喜欢音乐(比如编曲混音或声音设计)和计算机编程 ,欢迎和我进行交流!

另外,我们将持续更新关于JUCE框架的简单学习教程,我对词的认知也比较浅显,有不妥之处希望及时指正!!

你可能感兴趣的:(JUCE教程,c++,编程语言,个人开发)