この記事はなに?
Mac で Serial で Midi を使うには hairless-midiserial がいい、と聞いた。DAWからは Mac の Audio-MIDI 設定で IAC を有効にすれば使える、と聞いた。
IACを有効にしたらDAWからは見えたんだけど、hairless-midiserial から見えなかった。エラーログもなにもなく、原因を追えない。
TL;DR
Audio-MIDIで作成するときのIACドライバの「装置名」「ポート名」をアルファベットだけで構成すれば hairless-midiserial から見えるようになる。
ビルドして原因究明しよう
hairless-midi 側の準備
git clone --recursive https://github.com/projectgus/hairless-midiserial.git
git submodule foreach --recursive git pull origin master
Qt4でなくQt5でビルドするので、パッチ#31を当てる。
QT 5 ビルド環境の準備
QT Open Source をダウンロード&インストール:
https://www.qt.io/download-qt-installer
- インストール中、サインアップを求められる。必要かどうか不明だがサインアップしてログインする。
- XCode が必要。と言われた。とりあえずXCodeを入れずに、既定値で Qt Creator だけインストールしてみる。
- ライブラリが見つからない。Qt 5.12.3 の Sources と MacOS をインストールしてみる。
ビルド
- QT Creator から hairless-midiserial.pro を開く
- すんなりビルドできた!!
- すんなりIACも見えた!! なんだったんだ!! ビルド済バイナリ、どこに置いておけばいいかな?
原因を探る
パッチ#31で QtString::fromASCII
を QtString::FromLatin1
に書き換えている。これ気になるなぁ。選択肢に日本語が含まれるとダメ??
→ 試しに機器名とポート名をASCII文字だけにしてみたら → hairless-serialmidiの配布イメージでもIACが見えるようになった! 解決だね。