NScumm.Core.Audio.SoftSynth.TownsMidiOutputChannel.Disconnect C# (CSharp) Method

Disconnect() public method

public Disconnect ( ) : void
return void
        public void Disconnect()
        {
            KeyOff();

            TownsMidiOutputChannel p = _prev;
            TownsMidiOutputChannel n = _next;

            if (n != null)
                n._prev = p;
            if (p != null)
                p._next = n;
            else
                _in._out = n;
            _in = null;
        }

Usage Example

Example #1
0
        public TownsMidiOutputChannel AllocateOutputChannel(int pri)
        {
            TownsMidiOutputChannel res = null;

            for (int i = 0; i < 6; i++)
            {
                if (++_allocCurPos == 6)
                {
                    _allocCurPos = 0;
                }

                var s = _out[_allocCurPos].CheckPriority(pri);
                if (s == (int)CheckPriorityStatus.Disconnected)
                {
                    return(_out[_allocCurPos]);
                }

                if (s != (int)CheckPriorityStatus.HighPriority)
                {
                    pri = (int)s;
                    res = _out[_allocCurPos];
                }
            }

            if (res != null)
            {
                res.Disconnect();
            }

            return(res);
        }
All Usage Examples Of NScumm.Core.Audio.SoftSynth.TownsMidiOutputChannel::Disconnect