public VGM_Decoding(VGM_Stream vgmStream, StreamReader.IReader fileReader)
        {
            m_vgmStream  = vgmStream;
            m_fileReader = fileReader;

            if (m_WavFormat != null)
            {
                m_WavFormat = null;
            }

            m_WavFormat   = new NAudio.Wave.WaveFormat(vgmStream.vgmSampleRate, vgmStream.vgmChannelCount);
            m_FadeSamples = (int)(m_FadeSeconds * vgmStream.vgmSampleRate);
            m_vgmStream.vgmDecodedSamples       = 0;
            m_vgmStream.vgmTotalSamplesWithLoop = VGM_Utils.get_vgmstream_play_samples(2, m_FadeSeconds, 0, vgmStream);
        }