public bool Spectrum()
        {
            bool _spectrumpresent = false;

            if (!IsPlaying)
            {
                return(_spectrumpresent);
            }

            _spectrumpresent = GetSpectrum();

            if (_spectrumpresent)
            {
                for (int i = 1; i <= _spectrumcount; i++)
                {
                    if (!IsPlaying)
                    {
                        return(false);
                    }

                    if (ShowSpectrum == Utils.Spectrum.Both || ShowSpectrum == Utils.Spectrum.Multi)
                    {
                        Utils.SetProperty("#VUSpectrum" + i, @"VU" + _spectrum[i - 1] + ".png");
                    }
                    if (Utils.SpectrumPeakEnabled)
                    {
                        if (_spectrumpeaktime >= _spectrumpeakfall)
                        {
                            _spectrumpeak[i - 1] = _spectrum[i - 1];
                            _spectrumpeaktime    = 0;
                        }
                        else
                        {
                            _spectrumpeak[i - 1] = Utils.CalcPeak(_spectrum[i - 1], _spectrumpeak[i - 1]);
                        }
                        if (ShowSpectrum == Utils.Spectrum.Both || ShowSpectrum == Utils.Spectrum.Multi)
                        {
                            Utils.SetProperty("#VUSpectrumPeak" + i, @"VU" + _spectrumpeak[i - 1] + "Peak.png");
                        }
                    }
                }

                if (IsPlaying)
                {
                    if (ShowSpectrum == Utils.Spectrum.Both || ShowSpectrum == Utils.Spectrum.Single)
                    {
                        Utils.SetProperty("#VUSpectrum", SpectrumImage.BuildConcatSpectrumImage(_spectrum, _spectrumpeak, _spectrumcount, _spectrumspacing, _spectrummin, _spectrummax));
                    }
                }

                if (Utils.SpectrumPeakEnabled)
                {
                    unchecked { _spectrumpeaktime = (ushort)(_spectrumpeaktime + _spectrumtimer); };
                }
            }
            else
            {
                InitSpectrumProperties();
            }

            return(_spectrumpresent);
        }