// ******************************************************************** //
        // Gauges.
        // ******************************************************************** //

        ///
        /// <summary> * Get a waveform gauge for this audio analyser.
        /// *  </summary>
        /// * <param name="surface"> The surface in which the gauge will be displayed. </param>
        /// * <returns>  A gauge which will display the audio waveform. </returns>
        ///
        public virtual WaveformGauge getWaveformGauge()
        {
            if (waveformGauge != null)
            {
                throw new Exception("Already have a WaveformGauge" + " for this AudioAnalyser");
            }
            waveformGauge = new WaveformGauge();
            return(waveformGauge);
        }
 ///
 /// <summary> * Reset all Gauges before choosing new ones. </summary>
 ///
 public virtual void resetGauge()
 {
     lock (this)
     {
         waveformGauge=null;
         spectrumGauge=null;
         sonagramGauge=null;
         powerGauge=null;
     }
 }
 // ******************************************************************** //
 // Gauges.
 // ******************************************************************** //
 ///
 /// <summary> * Get a waveform gauge for this audio analyser.
 /// *  </summary>
 /// * <param name="surface"> The surface in which the gauge will be displayed. </param>
 /// * <returns>  A gauge which will display the audio waveform. </returns>
 ///
 public virtual WaveformGauge getWaveformGauge()
 {
     if (waveformGauge != null)
     {
         throw new Exception("Already have a WaveformGauge" + " for this AudioAnalyser");
     }
     waveformGauge = new WaveformGauge();
     return waveformGauge;
 }