Ejemplo n.º 1
0
    void Update()
    {
        while (true)
        {
            var data = UnityMidiReceiver.DequeueIncomingData();
            if (data == 0)
            {
                break;
            }

            var message = new MidiMessage(data);
            messageQueue.Enqueue(message);

            //nanoKontrol2スクリプトへデータを渡す
            nanoKontrol2.qued((int)message.status, (int)message.data1, (int)message.data2);

#if UNITY_EDITOR
            messageHistory.Enqueue(message);
#endif
        }
#if UNITY_EDITOR
        while (messageHistory.Count > 8)
        {
            messageHistory.Dequeue();
        }
#endif
    }
    public override void OnInspectorGUI()
    {
        // Only shows the details on Play Mode.
        if (EditorApplication.isPlaying)
        {
            var endpointCount = UnityMidiReceiver.CountEndpoints();

            // Endpoints.
            var temp = "Detected MIDI endpoints:";
            for (var i = 0; i < endpointCount; i++)
            {
                var id   = UnityMidiReceiver.GetEndpointIdAtIndex(i);
                var name = UnityMidiReceiver.GetEndpointName(id);
                temp += "\n" + id.ToString("X8") + ": " + name;
            }
            EditorGUILayout.HelpBox(temp, MessageType.None);

            // Incomming messages.
            temp = "Incoming MIDI messages:";
            foreach (var message in (target as MidiReceiver).History)
            {
                temp += "\n" + message.ToString();
            }
            EditorGUILayout.HelpBox(temp, MessageType.None);

            // Make itself dirty to update on every time.
            EditorUtility.SetDirty(target);
        }
        else
        {
            EditorGUILayout.HelpBox("You can view the sutatus on Play Mode.", MessageType.Info);
        }
    }
Ejemplo n.º 3
0
    void Update()
    {
        while (true)
        {
            var data = UnityMidiReceiver.DequeueIncomingData();
            if (data == 0)
            {
                break;
            }

            var message = new MidiMessage(data);
            _dispatcher((int)message.data1, (float)message.data2 / 127f);
        }
    }
Ejemplo n.º 4
0
    void Update()
    {
        while (true)
        {
            var data = UnityMidiReceiver.DequeueIncomingData();
            if (data == 0)
            {
                break;
            }

            var message = new MidiMessage(data);
            messageQueue.Enqueue(message);
#if UNITY_EDITOR
            messageHistory.Enqueue(message);
#endif
        }
#if UNITY_EDITOR
        while (messageHistory.Count > 8)
        {
            messageHistory.Dequeue();
        }
#endif
    }