JUCEに入門する(環境構築 & VSTプラグインの起動確認)

概要

今回は、マルチメディア系アプリケーション開発のフレームワークであるJUCEの環境を構築し、Hello, World!と出力するVSTプラグインの起動確認をします。

JUCEは、モジュールとして様々な機能を提供するJUCEライブラリと、各種プラットフォーム(Win, Mac, Linux, iOS, Android)用のプロジェクトを生成するProjucerで構成されています。

VSTやAudio Units(AU)、AXXといった複数の規格をサポートしており、オーディオプラグインの開発を得意としていることが魅力的です。

先日JUCEでのオーディオプラグイン開発に興味が湧いてきたので、さっそく下記チュートリアルを参考にしながら、環境構築とオーディオプラグインの起動確認をやってみました。

Tutorial: Projucer Part 1: Getting started with the Projucer – JUCE

Juce Tutorial 13- Audio Plugin Basics…What You Need to Know (Pt 1 of 2)

当記事はその時の手順を整理してまとめたものです。Mac用なのでご注意ください。

環境

  • macOS Big Sur 11.2.2
  • JUCE 6.0.7
  • Xcode 12.4

Xcodeの入手

Projucerは各種IDE向けにプロジェクトを出力してくれるので、macOSでの開発ならXcodeがインストールされている必要があります。

下記のようにApp storeで検索して入手します。

JUCEの入手

それではJUCEをダウンロードしていきます。下記リンクからMacを選択してzipファイルを入手します。

JUCE

zipファイルを解凍すると、下記のようにJUCEディレクトリが出現します。

このディレクトリ内にある、Projucer.appは頻繁に使用するので、アプリケーションディレクトリに移動させておきます。自分は開きやすいようDockにも追加しました。

DemoRunner.app

JUCEディレクトリ内にあるDemoRunner.appを開くと、JUCEで開発することができる様々なデモを確認することができます。

試しにBrowse Demosタブから、Synthのデモを選択してみました。

Projucerの初期設定

JUCEでどういうものが開発できるのか把握できたところで、Projucerの初期設定をしていきます。

ProjucerがJUCEを探し出せるように、Global Pathsを設定する必要があります。

下記の場所からGlobal Pathsをクリックします。

      

下記のようにデフォルトパスではホームディレクトリ直下からJUCEを探そうとします。

自分の場合は、このデフォルトパスを変更せずに、JUCEディレクトリの方をホームディレクトリ直下へ移動させました。

Hello World!

それではオーディオプラグイン用の新規プロジェクトを作成していきます。

まずPlug-InのBasicテンプレートを選択します。

次にProject Nameにはプロジェクト名(hello_world)を設定、Exportersにはプロジェクトファイルの出力先のIDE(Xcode)を選択します。

以上の設定が完了したら右下のCreate Projectをクリックして、プロジェクトを作成します。

すると下記のような画面に切り替わります。画面上の中央部付近にあるXcodeアイコンをクリックすると、Xcodeにプロジェクトファイルを出力&起動します。

次にXcode上でいくつか設定を行います。

cmd + < でschemeを編集することができます。Runのinfoタブ内にExecutableがあるので、Noneからhello_world.appに変更します。

こうすると、ビルドをする度にhello_worldプラグインを起動してくれます。そのため、しっかりビルドできているかどうか、すぐに目視で確認することができます。

次にSourceディレクトリ内にあるPluginEditor.cppで、Hello World!の文字色やサイズ等を変更することができます。今回は遊び心で下記のように少しだけ変更してみました。

・・・
//==============================================================================
void Hello_worldAudioProcessorEditor::paint (juce::Graphics& g)
{
    // (Our component is opaque, so we must completely fill the background with a solid colour)
    g.fillAll (getLookAndFeel().findColour (juce::ResizableWindow::backgroundColourId));

    g.setColour (juce::Colours::cyan);
    g.setFont (50.0f);
    g.drawFittedText ("Hello World!", getLocalBounds(), juce::Justification::centred, 1);
}
・・・

あとはcmd + rでビルドを実行するだけです。

このようにHello World!と出力するだけのhello_worldプラグインを作成できました。

起動確認

最後に、先ほど作成したhello_worldプラグインをAbleton Live上で起動確認します。

左のプラグイン→VST3→yourcompany→hello_worldと選択します。

下記のように表示されれば、無事に起動できています。

最後に

今回はJUCEの環境構築と、Hello, World!と出力するだけのVSTプラグインを作成し、動作確認を行いました。

とりあえずこれで開発を始める準備はできたわけですが、まだC++の基礎もなく、Projucerの使い方や用語もわからない状態です。

なのでC++の基礎を養いつつ、JUCEの公式チュートリアルを少しずつ進めて消化していきながら、開発するために必要最低限なレベルまで引き上げていこうと考えています。

次回以降もJUCEで学んだことを記事にアウトプットしていきます。

Comments

Copied title and URL