Ejemplo n.º 1
0
        private bool HandleControlChange(ControlChangeEvent e)
        {
            switch (e.ControlNumber)
            {
            case 64:     //Sustain Pedal
                if (e.ControlValue >= 64)
                {
                    sustains.Clear();
                    sustainPedal = true;
                }
                else
                {
                    sustainPedal = false;
                    var index = channelMap[e.Channel];
                    var input = Synthesizer.GetInput(index);
                    input.Envelope.ReleaseDuration = SustainPedalDuration;
                    input.Envelope.Release();
                    sustains.Clear();
                }
                return(true);
            }

            return(false);
        }