private void GetSpectrumData()
{
System.IntPtr _data;
uint _length;
_dsp.getParameterData(2, out _data, out _length);
_fftparam = (FMOD.DSP_PARAMETER_FFT)Marshal.PtrToStructure(_data, typeof(FMOD.DSP_PARAMETER_FFT));
if (_fftparam.numchannels == 0)
{
SongPlaylist.getChannelGroup(out _channelGroup);
_channelGroup.addDSP(0, _dsp);
}
else if (_fftparam.numchannels >= 1)
{
for (int s = 0; s < _windowSize; s++)
{
float _totalChannelData = 0f;
for (int c = 0; c < _fftparam.numchannels; c++)
{
_totalChannelData += _fftparam.spectrum[c][s];
}
_samples[s] = _totalChannelData / _fftparam.numchannels;
}
}
}