IK Multimedia iRig Blueboardの勝手app for Macを制作する その3

IK Multimedia iRig Blueboardの勝手app for Macを制作すると意気込んで、頑張っているもののなかなか進みません。
…とは言っても、まだ3日目。

本日は、GUI部分を少し作ってみます。
IK Multimedia本体のサイトから入手した画像を加工して、NSButtonの画像にしてみました。

iRig BlueBorad Test
iRig BlueBorad Test

コーディングしていた時間よりも、Photoshopをいじっていた時間の方が長かった…そんな感じです。
InterfaceBuilderでviewにただの背景画像を貼り付ける方法がわからなかったので、AppDelegate.mのapplicationDidFinishLaunchingにて直接NSImageを描画させてしまっているという体たらくっぷりです。
逆にInterfaceBuilderを使用しないで、UIコンポーネントは全てソースに記述したら硬派だったかもしれないとか考えたりしますが、しばらくはベストプラクティスを模索しつつ、色々やってみます。

アプリを立ち上げると、DAW等のMIDI INにiRig BlueBoardが出現します。
フットスイッチを押すと青く光ります。

…現バージョンでは、これ以上は何も起こりません。

↓ iRig BlueBoard Test 1.appダウンロード
iRig BlueBoard Test 1

次はフットスイッチ毎の設定部分を作ろうかと考えております。

LINEで送る
このエントリーをはてなブックマークに追加
Share on Facebook

IK Multimedia iRig Blueboardの勝手app for Macを制作する その2

IK Multimedia iRig Blueboardの勝手app for Macを制作すると意気込んでみましたが、10年前と勝手が違い過ぎて、Xcodeの使用方法やらを覚え直すのにてんてこ舞いです。
そして2日目。
まずInterfaceBuilderの操作方法が全然違うので画面作成で躓いております。

iRig BlueBoard
iRig BlueBoard

言語面のリハビリとして『詳細 Objective-C 2.0』や『Objective-C 逆引きハンドブック』を引っ張りだしてきて、言語仕様に慣れようとかと思います。

LAMP環境の開発にどっぷり浸かった身としては、かなり茨の道ですね。

本日は仮想MIDIデバイスを作成します。
インポートの宣言に下記を追加します。

#import <CoreMIDI/CoreMIDI.h>

そしてMIDIクライアントとエンドポイントを作成すれば、DAW等のMIDI INPUTに作成した仮想MIDIデバイスが現れます。

//MIDIクライアントを作成する
MIDIClientRef clientRef;
NSString *clientName = @"iRig BlueBoard";
MIDIClientCreate((__bridge CFStringRef)clientName, NULL, NULL, &clientRef);

//エンドポイントを作成する
MIDIEndpointRef outputEndpointRef;
NSString *endpointName = @"iRig BlueBoard";
MIDISourceCreate(clientRef, (__bridge CFStringRef)endpointName, &outputEndpointRef);

今日はここまで。

LINEで送る
このエントリーをはてなブックマークに追加
Share on Facebook

IK Multimedia iRig Blueboardの勝手app for Macを制作する その1

お久しぶりです。

3月19日に予定していた音楽配信とレコ初ライブが終わりまして、やっと余裕が出てきました。
「よし!これからバリバリ自分の音楽制作をやるぞ!」っとはならずに、タイトル通り、iRig BlueBoardの勝手アプリを制作したいと思います。

iRig BlueBoard
iRig BlueBoard

このiRig BlueBoard。
Bluetooth接続のMacとiOSデバイスに対応したMIDIフットコントローラーであり、コンセプトも良いしハードウェアに将来性も感じているのですが、iRig BlueBoardと接続先アプリケーションのブリッジとなるiRig Blueboard appの性能が残念すぎます。

・MIDI CCモードではトグルにしかならない。(ラッチでも使用したいです)
・プログラムチェンジモードとMIDI CCモードしかない。(モードの概念を無くして、4スイッチと2エクスプレッション・ペダルに自由にMIDIメッセージを割り当てたい)
・頻繁に接続が切れる。(アプリの問題では無いかもしれません)

というわけで、ライブでの使用に耐えうるiRig BlueBoardアプリの開発をしてみたいと思います。
(結局出来なかったらゴメンなさいだけど…一応やってみます)
(MacOSのアプリを開発するのは実に10年ぶり。当時はCocoa+JavaでLaTexのフロントエンドを開発してAppleのサイトにも掲載してもらってました)
(…が、10年ぶりにXcodeを起動してみたら、当時とかなり変わっていてチンプンカンプン…という現状です)

まずは、iRig BlueBoardの勝手アプリの仕様を決めます。

・モードの概念は無し
・4つのボタンと2つのエクスプレッション・ペダルに、自由にMIDIメッセージを割り当てられる
・4つのボタンと2つのエクスプレッション・ペダルに、複数のMIDIメッセージを割り当てられる
・4つのボタンはトグルとラッチのどちらかを選択することが出来る
・メニューバー常駐型(優先度:低)

MacOSアプリに関してほぼゼロからの知識で始めるため、サーベィが必要なTODOをまとめます。

・Xcode 5でアプリケーション作成
・仮想MIDIデバイスを作成する
・仮想MIDIデバイスからホストアプリケーション等にMIDIメッセージを送信する
・iRig BlueboardとMacの接続
・iRig BlueboardとMacのメッセージのやり取り
・エディタ画面の作成
・エディタの設定をアプリ内保存
・エディタの設定をインポート(優先度:低)
・エディタの設定をインポート(優先度:低)

結構、未知なる領域ですね。
頑張ります。

というわけで、今回はこのへんで。

LINEで送る
このエントリーをはてなブックマークに追加
Share on Facebook