【JUCEプラグイン開発】Mac版JUCEでプラグインをビルドする際、プラグイン情報が反映されない件についての格闘

パンダさん

プラグインにメーカー名を設定したいです。

コパンダ

DAWから見ると、自分のメーカーが出てくるから、テンション上がるよね〜

JUCEプラグインの作成を行っていて、一番根本的な設定部分を適当にやっていました。メーカー名です。設定項目もProjucerにあるし、後から好きに変更できるでしょう、と思っていましたが、(MacビルドLogic環境)全然変更が反映されないという事象が発生しました。

プラグインを作成する際に、「Company Name」を設定する項目があります。これは、プラグイン一覧に掲載されるメーカー名になるのですが、何も入力せず、デフォルトの場合、「yourcompany」という名称で登録されます。

プラグインを作り始める時は、何気なくいろいろテストしながら作成していたので、この点は、ほぼ気にせず進めていました。

今回は、プラグインの設定的な内容の備忘録となります。

目次

格闘の記録

Logic側の認識がおかしいのかな?と思い、Logicのプラグインマネージャーを確認したり、再起動をかけたりしていたのですが、この点はなんの問題点もなさそうでしたので、以下の点を見直してみました。

componentファイルの確認

プラグイン情報は、Logicから見ると、componentファイルを見て情報を取得していると思ったので、このcomponentファイルの内容に、メーカー名や、プラグイン名が埋め込まれているのかを確認してみました。

mac版JUCEでビルドを行うと、デフォルトで「/ユーザ/〇〇/ライブラリ/Audio/Plug-Ins/Components/」にプラグインのファイル(.component)が作成されます。JUCEプロジェクトのビルドフォルダには、エイリアスが存在していますので、「情報を見る」でパスをたどることでどこに生成されるかがわかります。

ComponentファイルをSublimeTextで開くと、中にはInfo.plistというファイルがありました。ここを見ても、メーカー名の部分と思わしき文字列にpanda-clipとなっており、問題なさそうでした。

そのほか、Resourcesファイルに16進数のファイルがあったので、アスキーに変換してみたところ、panda-clipという文字列が確認できたので、反映されているのかなと思いました。

ContentsのMacOS内のプラグイン本体と思わしきところは、ちょっと長すぎて読む気がしませんでした。

Xcodeでのビルドの検証

Xcodeでビルドファイルのクリーンを行なっても、「.component」ファイルが削除されていない点と、すでに「.component」が存在している場合、ビルドを行なっても、「.component」ファイルの更新日時が変更されていない点が気になりました。

一度、「.component」ファイルを削除して再度ビルドを行うと、新たに「.component」が生成されるようです。

こうして、projucerの設定項目を変更して、再度Xcodeを開き、「.component」を削除してビルドを行いました。

それでも、生成されたプラグインは、yourcompanyに登録されてしまいました。

最終的な手段

一度、初めて作成するプラグインに、一番最初にメーカー名を設定したらどうなるかを検証してみました。panda_testというプラグイン名(プロジェクト名同一)を作成して検証してみました。

初めて作成するプロジェクトでXcodeを開く前に設定したプラグインは無事メーカー名が「panda-clip」で登録されました。そして、Logic内でもデフォルトのHelloWorldのプラグインが実行されました。

このプラグインのプログラムを書き換えることで、メーカー名が変更できそうなので、プラグラムの入れ替えを検討してみました。

新しく作成した、panda_testというプロジェクトに、今まで作成してきたソースファイル、プラグイン内で使用している画像ファイルをSourceに入れました。(ソースファイルは上書き)

もちろん、新しいプロジェクトのpanda_testのprojucer設定で、dspモジュールを追加、画像ファイルの追加も行いました。

そして、Xcodeを開いて、ビルドをしてました。今回、componentファイルの削除はしていません。

このビルド完了後、Logicでプラグインを開いたところ、無事、プラグインの機能が反映されていました。

まとめ

Macでのビルド、Logicでの動作環境でしか試せていないのですが、Projucerでプロジェクトを作成した際に一度決定したメーカー名が、容易に変更できないということがわかりました。また、これは、プラグインの名称にも当てはまっていて、新しいプロジェクトを作成した後、プログラムを反映するという方法で、メーカー名とプラグイン名を任意のものに変更できることがわかりました。

本当は、変更できる方法はあると思うのですが、自分の勉強不足で、現状はこの方法で変更するしかないのかな〜と考えています。とりあえず、変更はできたのでOKとしました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次