Exemplo n.º 1
0
 // Scan and open all the available output ports.
 void ScanPorts()
 {
     for (var i = 0; i < _probe.PortCount; i++)
     {
         var name = _probe.GetPortName(i);
         Debug.Log("MIDI-out port found: " + name);
         _ports.Add(IsRealPort(name) ? new MidiOutPort(i) : null);
     }
 }
Exemplo n.º 2
0
 void RescanOutPorts()
 {
     DisposeOutPorts();
     for (var i = 0; i < _outProbe.PortCount; i++)
     {
         var name = _outProbe.GetPortName(i);
         _outPorts.Add((name != null && name.Contains(_settings.MidiOutFilter)) ? new MidiOutPort(i) : null);
     }
 }
Exemplo n.º 3
0
 // Scan and open all the available output ports.
 void RescanInPorts()
 {
     DisposeInPorts();
     for (var i = 0; i < _inProbe.PortCount; i++)
     {
         var name = _inProbe.GetPortName(i);
         _inPorts.Add((name != null && name.Contains(_settings.MidiInFilter)) ? new MidiInPort(i)
         {
             OnNoteOn        = OnNoteOn,
             OnNoteOff       = OnNoteOff,
             OnControlChange = OnControlChange
         } : null);
     }
 }
Exemplo n.º 4
0
    // Scan and open all the available output ports.
    void ScanPorts()
    {
        for (var i = 0; i < _probe.PortCount; i++)
        {
            var name = _probe.GetPortName(i);
            Debug.Log("MIDI-in port found: " + name);

            _ports.Add(IsRealPort(name) ? new MidiInPort(i)
            {
                OnNoteOn = (byte channel, byte note, byte velocity) =>
                           Debug.Log(string.Format("{0} [{1}] On {2} ({3})", name, channel, note, velocity)),

                OnNoteOff = (byte channel, byte note) =>
                            Debug.Log(string.Format("{0} [{1}] Off {2}", name, channel, note)),

                OnControlChange = (byte channel, byte number, byte value) =>
                                  Debug.Log(string.Format("{0} [{1}] CC {2} ({3})", name, channel, number, value))
            } : null
                       );
        }
    }
Exemplo n.º 5
0
    // Scan and open all the available output ports.
    void ScanPorts()
    {
        for (var i = 0; i < _probe.PortCount; i++)
        {
            var name = _probe.GetPortName(i);
            Debug.Log("MIDI-in port found: " + name);

            _ports.Add(IsRealPort(name) ? new MidiInPort(i)
            {
                OnNoteOn = (byte channel, byte note, byte velocity) =>
                           //note = value
                           //Debug.Log(string.Format("NAME : {0} CHANNEL : [{1}] NOTE : On {2} VELOCITY :  ({3})", name, channel, note, velocity)),
                {
                    int cellX, cellY;
                    NoteToCell(note, out cellX, out cellY);

                    if (character.CanStopLeak())
                    {
                        leakingAreas.StopLeakInputs(cellX, cellY);
                    }
                    else
                    {
                        lastX = note % 16 == 8 ? note / 16 : -1;
                        StartCoroutine(MoveCharToXY());
                    }
                },

                OnNoteOff = (byte channel, byte note) =>
                            StartCoroutine(RessetCoordinates()),

                OnControlChange = (byte channel, byte number, byte value) =>
                {
                    //number = value{
                    lastY = number - 104;
                    StartCoroutine(MoveCharToXY());
                }
            } : null
                       );
        }
    }
Exemplo n.º 6
0
        private void ScanPorts()
        {
            for (var i = 0; i < probe.PortCount; i++)
            {
                var name = probe.GetPortName(i);
                Debug.Log("MIDI-in port found: " + name);

                ports.Add(IsRealPort(name)
                    ? new MidiInPort(i)
                {
                    OnNoteOn = (byte channel, byte note, byte velocity) =>
                    {
                        onMidiSubject.OnNext(
                            new MidiData {
                            midiType = MidiType.Note, Number = note, Value = 127
                        });
                    },

                    OnNoteOff = (byte channel, byte note) =>
                    {
                        onMidiSubject.OnNext(new MidiData {
                            midiType = MidiType.Note, Number = note, Value = 0
                        });
                    },

                    OnControlChange = (byte channel, byte number, byte value) =>
                    {
                        onMidiSubject.OnNext(
                            new MidiData {
                            midiType = MidiType.CC, Number = number, Value = value
                        });
                    },
                }
                    : null
                          );
            }
        }