Exemple #1
0
        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;
        }