mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-10 11:59:58 -05:00
Initial community commit
This commit is contained in:
44
Src/Plugins/Input/in_mod-openmpt/MODPlayer.h
Normal file
44
Src/Plugins/Input/in_mod-openmpt/MODPlayer.h
Normal file
@@ -0,0 +1,44 @@
|
||||
#pragma once
|
||||
#include <bfc/platform/types.h>
|
||||
#include <libopenmpt/libopenmpt.h>
|
||||
#include "../nu/AudioOutput.h"
|
||||
|
||||
class MODPlayer
|
||||
{
|
||||
public:
|
||||
MODPlayer(const wchar_t *_filename);
|
||||
~MODPlayer();
|
||||
DWORD CALLBACK ThreadFunction();
|
||||
|
||||
void Kill();
|
||||
void Seek(int seek_pos);
|
||||
int GetOutputTime() const;
|
||||
private:
|
||||
enum
|
||||
{
|
||||
// values that you can return from OnXXXX()
|
||||
MOD_CONTINUE = 0, // continue processing
|
||||
MOD_ABORT = 1, // abort parsing gracefully (maybe 'stop' was pressed)
|
||||
MOD_STOP = 2, // stop parsing completely - usually returned when mkv version is too new or codecs not supported
|
||||
|
||||
// values returned from errors within the Step() function itself
|
||||
MOD_EOF = 3, // end of file
|
||||
MOD_ERROR = 4, // parsing error
|
||||
};
|
||||
|
||||
HANDLE killswitch, seek_event;
|
||||
wchar_t *filename;
|
||||
volatile int m_needseek;
|
||||
|
||||
/* AudioOutput implementation */
|
||||
class MODWait
|
||||
{
|
||||
public:
|
||||
void Wait_SetEvents(HANDLE killswitch, HANDLE seek_event);
|
||||
protected:
|
||||
int WaitOrAbort(int time_in_ms);
|
||||
private:
|
||||
HANDLE handles[2];
|
||||
};
|
||||
nu::AudioOutput<MODWait> audio_output;
|
||||
};
|
Reference in New Issue
Block a user