/// <summary>
        /// Runs a threaded task
        /// </summary>
        void RunThreaded(object o)
        {
            Nullable <float> time = o as Nullable <float>;

            InitWaveSpectrum(time.Value);

            m_bufferIdx = m_fourier.PeformFFT(0, m_fourierBuffer0, m_fourierBuffer1, m_fourierBuffer2);

            PackResults();

            done = true;
        }