winamp/Src/Plugins/Input/in_wmvdrm/output/AudioOut.h

39 lines
886 B
C++

#ifndef NULLSOFT_AUDIOOUTH
#define NULLSOFT_AUDIOOUTH
#include <windows.h>
#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