public override void Seek(int position) { Position = position; CurrentClipIndex = streams.Count; for (int i = 0; i < streams.Count; i++) { IBGCEnvelopeStream clip = streams[i]; if (position > 0) { //Seek if (position > clip.Samples) { clip.Seek(clip.Samples); position -= clip.Samples; } else { clip.Seek(position); position = 0; CurrentClipIndex = i; } } else { clip.Reset(); } } }
public override void Seek(int position) { position = GeneralMath.Clamp(position, 0, ChannelSamples); this.position = position; stream.Seek(position); envelopeStream.Seek(position); }
public override void Seek(int position) { stream.Seek(position); filterEnvelope.Seek(position); Z1 = 0.0; Z2 = 0.0; lastFilterSample = float.NaN; }