nanoKONTROL2 とキー入力をイベントハンドラぽく処理したいなと思って作ったので公開
Overview
こんな感じでハンドリング
nano.On(NanoKey.Slider1, sliderUpdate);
似たようなインターフェイスでキー入力も
key.On(KeyCode.Alpha1, keyInput);
MIDIコンは、ナノコントローラー2専用です
キーマッピングを用意すれば他のコントローラーでも使えると思います
Repository
Required
MIDIまわりは keijiro さんの midi-receiver を使います
dllパッケージを下記のリポジトリからインポート
https://github.com/keijiro/unity-midi-receiver-test
必要なのはこの2つ
/Assets/Plugins/*
/Assets/UnityMidiReceiver/*
Usage
Demoシーンにアタッチされている Demo.cs にあるのがすべてですが簡単にできるとをまとめると
nanoKONTROL2
スライダー1の値を受け取る(値は0〜1に正規化)
nano.On(NanoKey.Slider1, (v) => Debug.Log(v));
SOLO1ボタンが押された
nano.OnHigh(NanoKey.Solo1, () => Debug.Log("Pushed"));
SOLO1ボタンが離された
nano.OnLow(NanoKey.Solo1, () => Debug.Log("Pushed"));
SOLO1ボタンが押されたら引数に True、離されたら false が渡される
nano.OnToggle(NanoKey.Solo1, (v) => Debug.Log(v));
キー入力
スペースキーが押された
key.OnDown(KeyCode.Space, () => Debug.Log("Space pushed"));
スペースキーが離された
key.OnUp(KeyCode.Space, () => Debug.Log("Space released"));
スペースキーが押されたら引数に True、離されたら false が渡される
key.On(KeyCode.Space, (v) => Debug.LogFormat("Space value {0}", v));