Example #1
0
        public void Dispose()
        {
            if (_rtmidi == null || !_rtmidi->ok) return;

            RtMidiDll.InFree(_rtmidi);
            _rtmidi = null;

            System.GC.SuppressFinalize(this);
        }
Example #2
0
        public MidiInPort(int portNumber)
        {
            _rtmidi = RtMidiDll.InCreateDefault();

            if (_rtmidi == null || !_rtmidi->ok)
                throw new System.InvalidOperationException("Failed to set up a MIDI input port.");

            RtMidiDll.OpenPort(_rtmidi, (uint)portNumber, "RtMidi In");
        }
Example #3
0
        public MidiProbe()
        {
            _rtmidi = RtMidiDll.InCreateDefault();

            if (_rtmidi == null || !_rtmidi->ok)
            {
                UnityEngine.Debug.LogWarning("Failed to create an RtMidi device object.");
            }
        }
Example #4
0
        public MidiOutPort(int portNumber)
        {
            _rtmidi = RtMidiDll.OutCreateDefault();

            if (_rtmidi != null && _rtmidi->ok)
            {
                RtMidiDll.OpenPort(_rtmidi, (uint)portNumber, "RtMidi Out");
            }

            if (_rtmidi == null || !_rtmidi->ok)
            {
                throw new System.InvalidOperationException("Failed to set up a MIDI output port.");
            }
        }
Example #5
0
        public MidiPort(int portNumber, string portName)
        {
            _portName = portName;

            _rtmidi = RtMidiDll.InCreateDefault();

            if (_rtmidi == null || !_rtmidi->ok)
            {
                UnityEngine.Debug.LogWarning("Failed to create an RtMidi device object.");
                return;
            }

            RtMidiDll.OpenPort(_rtmidi, (uint)portNumber, "RtMidi Input");
        }
Example #6
0
        public MidiProbe(Mode mode)
        {
            if (mode == Mode.In)
            {
                _rtmidi = RtMidiDll.InCreateDefault();
            }
            else // mode == Mode.Out
            {
                _rtmidi = RtMidiDll.OutCreateDefault();
            }

            _mode = mode;

            if (_rtmidi == null || !_rtmidi->ok)
            {
                throw new System.InvalidOperationException("Failed to create a MIDI client.");
            }
        }
Example #7
0
        public void Dispose()
        {
            if (_rtmidi == null || !_rtmidi->ok)
            {
                return;
            }

            RtMidiDll.InFree(_rtmidi);
            _rtmidi = null;

            foreach (var dev in _channels)
            {
                if (dev != null)
                {
                    InputSystem.RemoveDevice(dev);
                }
            }

            System.GC.SuppressFinalize(this);
        }
Example #8
0
        public void Dispose()
        {
            if (_rtmidi == null || !_rtmidi->ok)
            {
                return;
            }

            if (_mode == Mode.In)
            {
                RtMidiDll.InFree(_rtmidi);
            }
            else // _mode == Mode.Out
            {
                RtMidiDll.OutFree(_rtmidi);
            }

            _rtmidi = null;

            System.GC.SuppressFinalize(this);
        }