#ifndef __soundfile_hpp__ #define __soundfile_hpp__ #include "file.hpp" class SoundFile { public: typedef enum { TYPE_WAVEFORM, TYPE_MIDI } Type; typedef enum { InitOK, InitDisabled, InitFailed } InitState; SoundFile() { } virtual ~SoundFile() { } virtual bool IsValid() const = 0; virtual bool IsUsable() const { return IsValid(); } // Sub-classes should implement these //static InitState Init() { return InitDisabled; } //static bool Uninit() { return false; } virtual Type GetType() const = 0; virtual const char *GetTypeName() const = 0; }; SoundFile *IdentifySoundFile(JFAudFile *); #endif