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

StartEffect() public method

public StartEffect ( EffectEnvelope s, byte effectData, int offset ) : void
s EffectEnvelope
effectData byte
offset int
return void
        void StartEffect(EffectEnvelope s, byte[] effectData, int offset)
        {
            s.state = EnvelopeState.Attacking;
            s.currentLevel = 0;
            s.modWheelLast = 31;
            s.duration = effectData[offset] * 63;
            s.stateTargetLevels[0] = effectData[offset + 1];
            s.stateTargetLevels[1] = effectData[offset + 3];
            s.stateTargetLevels[2] = effectData[offset + 5];
            s.stateTargetLevels[3] = effectData[offset + 6];
            s.stateModWheelLevels[0] = effectData[offset + 2];
            s.stateModWheelLevels[1] = effectData[offset + 4];
            s.stateModWheelLevels[2] = 0;
            s.stateModWheelLevels[3] = effectData[offset + 7];
            InitNextEnvelopeState(s);
        }