AudioOut.h 886 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef NULLSOFT_AUDIOOUTH
  2. #define NULLSOFT_AUDIOOUTH
  3. #include <windows.h>
  4. #include "../../../../Winamp/out.h"
  5. enum InitState
  6. {
  7. StatusNone = 0,
  8. StatusInit,
  9. StatusQuit
  10. };
  11. class AudioOut
  12. {
  13. public:
  14. AudioOut() : dllInstance(0), winampWnd(NULL) {}
  15. virtual void Init() = 0;
  16. virtual void Quit() = 0;
  17. virtual int CanWrite() = 0;
  18. virtual int GetWrittenTime() = 0;
  19. virtual int IsPlaying() = 0;
  20. virtual int Open(int samplerate, int numchannels, int bitspersamp, int bufferlenms, int prebufferms) = 0;
  21. virtual void Close() = 0;
  22. virtual int Write(char *buf, int len) = 0;
  23. virtual void Flush(int t) = 0;
  24. virtual void SetVolume(int _volume) = 0;
  25. virtual int Pause(int new_state) = 0;
  26. virtual int GetOutputTime() = 0;
  27. virtual void SetPan(int _pan) = 0;
  28. virtual void About(HWND p) = 0;
  29. virtual void Config(HWND w) = 0;
  30. HINSTANCE dllInstance;
  31. HWND winampWnd;
  32. };
  33. #endif