JUCE 5 がリリースされました

Pocket
reddit にシェア

2017年4月27日、ROLI Ltd.,よりJUCE ver.5 (Huckleberry JUCE)がリリースされました。[引用] 公式サイト

リリースから2週間程経ったこともあり、JUCE ver.4 (Grapefruit JUCE)から大きく変わった点について、一部紹介したいと思います。

  1. ライセンス形態の大幅改定
  2. VST/AUプラグインのスタンドアロンアプリ出力
  3. Bluetooth LEのサポート
  4. [Projucer] JUCE 4 からの変更点
  5. [Projucer] ライブコーディングエンジンについて
  6. スプラッシュスクリーンについて

1. ライセンス形態の大幅改定

JUCE 5ではライセンス形態が大幅に改定されました。詳しくは公式の案内とエンドユーザーライセンスを見ていただければと思います(公式サイト)。そのなかでも、今回新設されたPersonalライセンスについてざっくりと紹介します。

  • JUCE Personal
    • 利用条件
      • 起動時のスプラッシュスクリーン表示が必須
      • 年間の収入または資本金額が$50k未満であること
    • 特徴
      • 無償でクローズドソースソフトウェアに使用できるようになった
      • ライブコーディングエンジンが無償版にも解放された

Personalライセンスは、クローズドソースソフトウェアを配布したい開発者の要望に応えるように設定されたようです。以前から無償利用できるFreeライセンスは存在していましたが、GPLライセンスが適用されるという条件に同意する必要があったため、オープンソースにしたくない場合は有償ライセンスを購入する必要がありました。
ただし、利用条件として、①起動時のスプラッシュスクリーンを表示すること。②年間の収入または資本金額が$50k未満であること。という条件を満たす必要があります。とは言え、極小規模な個人開発者にとっては利用しやすくなったと思います。
なお、利用条件を満たせない場合はどうなるかというと、JUCE 5 End User License Agreement の 1.8.に記載されている通り、有償ライセンスを購入する若しくはGPLライセンスが適用される点には注意しておいた方がいいでしょう。

1,8. Remember, unless you upgrade to JUCE Indie or JUCE Pro, if you exceed the Revenue Limit for JUCE Personal, then your JUCE Personal licence is governed by the GNU License which is an open-source licence and requires, among other things, that you make your source code available and license modified files and larger derived works (including all linked code) under the same terms of the GNU License. Please review the terms of the GNU License carefully.

ライセンスタイプ JUCE Personal JUCE Indie JUCE Pro Education
スプラッシュ
スクリーン
 “made with JUCE”
表示必須
変更可
非表示可
変更可
非表示可
“made with JUCE”
表示必須
年間の収入または資本金額の限度  $50k  $200k  No limit  No limit
 最低契約期間   12ヵ月  12ヵ月  
サブスクリプションライセンス料金 無料 $35/月 $65/月 無料
永続ライセンス料金   $700 $1,300  

 


2.  VST/AUプラグインのスタンドアロンアプリ出力

VST, VST3, AudioUnit, Audio Unit v3, AAX のフォーマットで作成したオーディオプラグインを、スタンドアロンアプリケーションとして出力できるフォーマットが追加されました。
Projucerのプロジェクト設定画面に『Build Standalone Plug-In』という項目が追加されていますので、そちらをチェックして保存をすると、IDE用のプロジェクトファイルにスタンドアロンアプリ用のものが生成されます。簡単ですね。

試しに、JUCE JAPAN vol.2 で制作したパラメトリックイコライザをスタンドアロンアプリ形式でビルドしてみました。
左上の『Options』メニューをクリックすることでオーディオインターフェース、MIDIインターフェースを設定するウインドウが開きます。

私も以前、VSTプラグインをスタンドアロンアプリ化させるために簡易VSTホストのオブジェクトにVSTプラグインをロードするというラッパー的な手法で実装したことはありました。
ですがこれからは、出力フォーマットオプションにチェックを入れるだけでできてしまうんですね。感動です。

 


3. Bluetooth LEのサポート

JUCE 5では、Bluetooth を介したMIDIデバイスとの接続を管理する”BluetoothMidiDevicePairingDialogue”クラスが追加されました。
(公式クラスリファレンス)
公式リファレンスによると、このクラスはBluetooth MIDIペアリングダイアログを開き、近くにあるBluetooth MIDIデバイスを表示して接続することができるようです。このダイアログでは、MIDI以外のBluetoothデバイスは無視されるとのこと。
Bluetooth MIDIデバイスがペアになった後でのみ、JUCEのMidiInputおよびMidiOutputクラスからMIDIポートを使用できます。なお、現在はモバイルプラットフォーム(iOS/Android)でのみ使用できます。

実際にテストできるサンプルが “JUCE/examples/MidiTest” に収録されています。
アプリケーションをビルドして起動すると以下の画面が表示されます。

 

画面中央にある”MIDI Bluetooth devices…”をクリック/タップすると、デバイスとの接続ダイアログが開きます。

 

 

 

 

 

 

 

 

 

 

Bluetooth LE MIDIデバイスとの接続を試みることができます。残念ながら、私の環境ではうまくいきませんでしたが…。

 

 

 

 

 

 

 

 

 

余談ですが、ROLI Ltd., が開発・販売しているモジュラー・ミュージック・スタジオ 『BLOCKS』があります。BLOCKSは、BluetoothによってiPhone/iPadと接続して音源アプリ『NOISE』を利用してサウンドシステムを構成します。
NOISEはJUCEフレームワークで実装されていることから、Bluetooth LEをサポートするようになった経緯もある程度想像できるでしょう。
※”JUCE/examples/BLOCKS” にBLOCKSと連携するためのアプリケーションを開発するためのサンプルコードが収録されていますので、BLOCKSがお手元にある方はぜひ試してみてください。

 


4. [Projucer] JUCE 4 からの変更点

JUCE 5 のリリースに合わせて、ProjucerのGUIが大幅に変更されています。個人的にJUCE 4 から目立つ変化点としては以下の通りです。

  • フラットデザイン化、カラースキンが3種類(Dark/Grey/Light)
  • 【Files】【Modules】【Exporters】ツリーを一括表示
  • 【Config】タブのアイコン化
  • 【Exporter】メニューの一部アイコン化

また、JUCE 5 では新たにVisual Studio 2017のソリューションファイルの出力をサポートしています。代わりに、これまで対応していたVisual Studio 2005~2012のサポートは終了し、出力プラットフォームのリストからは削除されています。

 


5. [Projucer] ライブコーディングエンジンについて

JUCE 4 では商用ライセンスを購入することで使用可能だったライブコーディングエンジンが、JUCE 5 では無償のPersonal版でも使用することができるようになりました。

ライブコーディング機能を有効にすると、Projucerでプロジェクト設定やソースコードに変更を加えた際に即時にビルドが実行されます。ただし、Windows環境ではインクルードでエラーを吐いたり、IDE側で設定が反映されるものについては予め設定しておくなど、多少使い勝手に癖があるので、個人的にまだまだ検証してから実際の開発に利用していきたいですね。


6. スプラッシュスクリーンについて

Personal版では無償利用できる条件として、アプリケーションの起動時、具体的にはGUIを表示すると同時に数秒間 “made with JUCE” と書かれたスプラッシュスクリーンを表示する必要があります。画面右下の表示がそれです。

このスプラッシュスクリーンは約5秒ほど表示した後フェードアウトするように画面から消えていきます。

なお、スプラッシュスクリーンにはJUCE公式サイトへのハイパーリンクが設定されています。
クリックするとブラウザが起動し、JUCE公式サイトが表示されます。

 

スプラッシュスクリーンに関する設定は、Projucerのプロジェクト設定にて行うことができます。Personalライセンスで使用している場合は、表示・非表示の設定を行うことはできません。他にはスプラッシュスクリーンの色を2種類から選択することができます。