4億円

オーディオプラグインをつくります

WDL-OLで新規プロジェクトを作るためにゴリ押しで環境を構築した話 - 1

SierraWDL-OL を使ったオーディオプラグインを作る環境を構築するのに、 かなり手こずったので備忘録を兼ねて書いときます。こいつ備忘録しか書かねぇな



必要なものを揃える

Xcode

最新版の Xcode 8.2.1 だと何故か上手くいかなかったので、 Xcode 7.3.1 をダウンロードしました。

Xcode 7.3.1

Mac OS X 10.5 の SDK が必要になるので、 昨日の記事を参考に導入してください。

himatya.hatenablog.com

WDL-OL

oliニキからありがたく頂いておきましょう。

github.com

ダウンロードしたら作業しやすいディレクトリに移動しましょう。
私はとりあえず Documents 直下に置きました。

VST3 SDK

Steinberg社の developers ページからダウンロードしてください。

www.steinberg.net

ダウンロードしたファイルを以下のように移動します。 f:id:Himatya:20170105143620p:plain

ASIO SDK

ASIO SDKRtAudio に同梱されてます。

The RtAudio Home Page

RtAudio->include の中身をすべて WDL-OL->ASIO_SDK に移動します。

CoreAudio SDK

Xcode 4 以降だと必要になります。
左上の Download Sample Code をクリックしてダウンロードします。

Core Audio Utility Classes

CoreAudioUtilityClasses->CoreAudio の中身を WDL-OL->CA_SDK に移動します。


プロジェクトを作る

WDL-OLの新規プロジェクトを作るには、 WDL-OL->IPlugExamples にあるテンプレートをコピーして使用することになります。

テンプレートをコピー

コピーする際は、IPlugExamples 内にある duplicate.py を使うと簡単にできます。
今回は試しに IPlugEffect をコピーしてみます。 ターミナルで IPlugExamples をカレントディレクトリにしてから、以下のようにコマンドを打ちましょう。

./duplicate.py IPlugEffect/ プラグイン名 作者名

ここで入力したプラグイン名と作者名は、DAWに表示されます。


ここまでの作業を終えて、プラグインを起動してもエラーが出ると思います。

1記事で済ませようと思ったのですが、早々にプログ書くのダレてもアレなので、 次回こそタイトル通りゴリ押しで環境作った話をしたいと思います。

やっぱり、日本ではまだまだマイナーなので記事が全くと言っていいほどありません...
プラグイン制作もブログもなんとか続けていきたいものです。


参考

WDL-OLのチュートリアルを含めてめちゃくちゃ詳しく書いてます。
Making Audio Plugins - Martin Finke's Blog

Xcode8に過去のSDKを導入する

Xcode 8でMacOS10.5のSDKが必要になったので、 過去のSDKを導入する手順を備忘録として書いときます。

Xcodeをダウンロード

必要なSDKのバージョンに応じて過去のXcodeをダウンロードします。

ダウンロードしたXcodeたちは、まとめて適当なフォルダにブチ込みます。

XcodeLegacy

ダウンロードしたXcodeからSDKを抽出してくれるツール、 XcodeLegacy.shをダウンロードします。 github.com これも、先ほどXcodeをまとめたフォルダに入れます。

実行

ここからはターミナルで操作します。

もし、ダウンロードしたXcodeをマウントしているなら、アンマウントしてください。

カレントディレクトリをXcodeLegacy.shが入っている場所まで移動し、以下のコマンドを入力しましょう。

sudo ./XcodeLegacy.sh buildpackages
sudo ./XcodeLegacy.sh install

私は SDK10.4 ~ 10.11 までインストールしましたが、
指定したバージョンだけを入れたいのであれば引数を指定してやりましょう。

例:SDK10.5のみをインストールする場合

sudo ./XcodeLegacy.sh -osx105 buildpackages
sudo ./XcodeLegacy.sh -osx105 install

初投稿でした。