LoginSignup
1
0

More than 5 years have passed since last update.

nanoKONTROL2をイベントリスナーぽく処理する

Last updated at Posted at 2019-04-14

nanoKONTROL2 とキー入力をイベントハンドラぽく処理したいなと思って作ったので公開

Overview

こんな感じでハンドリング

nano.On(NanoKey.Slider1, sliderUpdate);

似たようなインターフェイスでキー入力も

key.On(KeyCode.Alpha1, keyInput);

MIDIコンは、ナノコントローラー2専用です
korg_nanokontrol2bka.jpg
キーマッピングを用意すれば他のコントローラーでも使えると思います

Repository

Required
MIDIまわりは keijiro さんの midi-receiver を使います

dllパッケージを下記のリポジトリからインポート
https://github.com/keijiro/unity-midi-receiver-test

必要なのはこの2つ
/Assets/Plugins/*
/Assets/UnityMidiReceiver/*

Asset配下におく
asset.jpg

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));

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0