#ifndef NULLSOFT_AUDIOOUTH #define NULLSOFT_AUDIOOUTH #include #include "../../../../Winamp/out.h" enum InitState { StatusNone = 0, StatusInit, StatusQuit }; class AudioOut { public: AudioOut() : dllInstance(0), winampWnd(NULL) {} virtual void Init() = 0; virtual void Quit() = 0; virtual int CanWrite() = 0; virtual int GetWrittenTime() = 0; virtual int IsPlaying() = 0; virtual int Open(int samplerate, int numchannels, int bitspersamp, int bufferlenms, int prebufferms) = 0; virtual void Close() = 0; virtual int Write(char *buf, int len) = 0; virtual void Flush(int t) = 0; virtual void SetVolume(int _volume) = 0; virtual int Pause(int new_state) = 0; virtual int GetOutputTime() = 0; virtual void SetPan(int _pan) = 0; virtual void About(HWND p) = 0; virtual void Config(HWND w) = 0; HINSTANCE dllInstance; HWND winampWnd; }; #endif