aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/Input/in_wmvdrm/output/AudioOut.h
blob: 90d36202e0607a2836a64c5e6dd278138dcdfb99 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#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