diff --git a/stepmania/src/RageSoundReader.h b/stepmania/src/RageSoundReader.h index 151de9fbeb..464be45e39 100644 --- a/stepmania/src/RageSoundReader.h +++ b/stepmania/src/RageSoundReader.h @@ -40,14 +40,8 @@ public: virtual int GetNextSourceFrame() const = 0; virtual float GetStreamToSourceRatio() const = 0; - virtual RString GetError() const { return m_sError; } + virtual RString GetError() const = 0; int RetriedRead( char *pBuffer, int iFrames, int *iSourceFrame = NULL, float *fRate = NULL ); - -protected: - void SetError( RString sError ) const { m_sError = sError; } - -private: - mutable RString m_sError; }; #endif diff --git a/stepmania/src/RageSoundReader_FileReader.h b/stepmania/src/RageSoundReader_FileReader.h index 6ec0cd53e3..634fede526 100644 --- a/stepmania/src/RageSoundReader_FileReader.h +++ b/stepmania/src/RageSoundReader_FileReader.h @@ -26,11 +26,16 @@ public: virtual OpenResult Open(RString filename) = 0; virtual bool IsStreamingFromDisk() const { return true; } virtual float GetStreamToSourceRatio() const { return 1.0f; } + virtual RString GetError() const { return m_sError; } static RageSoundReader *OpenFile( RString filename, RString &error ); +protected: + void SetError( RString sError ) const { m_sError = sError; } + private: static RageSoundReader_FileReader *TryOpenFile( RString filename, RString &error, RString format, bool &bKeepTrying ); + mutable RString m_sError; }; #endif