123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #pragma once
- #include "foundation/dispatch.h"
- #include "foundation/error.h"
- #include "foundation/types.h"
- #include "metadata/ifc_metadata.h"
- #include "audio/ifc_equalizer.h"
- #include "nx/nxuri.h"
- class NOVTABLE ifc_player : public Wasabi2::Dispatchable
- {
- protected:
- ifc_player() : Dispatchable(DISPATCHABLE_VERSION) {}
- ~ifc_player() {}
- public:
-
- void SetMetadata(ifc_metadata *metadata) { Player_SetMetadata(metadata); }
-
- void SetBitrate(uint64_t bitrate, double timestamp) { Player_SetBitrate(bitrate, timestamp); }
-
- void SetLength(double length) { Player_SetLength(length); }
-
- void SetPosition(double timestamp) { Player_SetPosition(timestamp); }
- void OnLoaded(nx_uri_t filename) { Player_OnLoaded(filename); }
-
- void OnEndOfFile() { Player_OnEndOfFile(); }
- void OnError(NError code) { Player_OnError(code); }
- void OnStopped() { Player_OnStopped(); }
- void SetEqualizer(ifc_equalizer *equalizer) { return Player_SetEqualizer(equalizer); }
-
- void SetBufferStatus(int percent) { return Player_SetBufferStatus(percent); }
-
- void OnSeekComplete(int error_code, double new_position) { return Player_OnSeekComplete(error_code, new_position); }
-
-
- void SetSeekable(int seekable) { return Player_SetSeekable(seekable); }
-
- void AsynchronousFunctionCall(void (*function)(void *, void *, double), void *param1, void *param2, double real_param) { Player_AsynchronousFunctionCall(function, param1, param2, real_param); }
-
- void OnReady() { Player_OnReady(); };
-
- void OnClosed() { Player_OnClosed(); };
- enum
- {
- DISPATCHABLE_VERSION,
- };
- protected:
- virtual void WASABICALL Player_SetMetadata(ifc_metadata *metadata) = 0;
- virtual void WASABICALL Player_SetBitrate(uint64_t bitrate, double timestamp) = 0;
- virtual void WASABICALL Player_SetLength(double length) = 0;
- virtual void WASABICALL Player_SetPosition(double timestamp) = 0;
- virtual void WASABICALL Player_OnLoaded(nx_uri_t filename) = 0;
- virtual void WASABICALL Player_OnEndOfFile() = 0;
- virtual void WASABICALL Player_OnError(NError code) = 0;
- virtual void WASABICALL Player_OnStopped()=0;
- virtual void WASABICALL Player_SetEqualizer(ifc_equalizer *equalizer)=0;
- virtual void WASABICALL Player_SetBufferStatus(int percent)=0;
- virtual void WASABICALL Player_OnSeekComplete(int error_code, double new_position)=0;
- virtual void WASABICALL Player_SetSeekable(int seekable)=0;
- virtual void WASABICALL Player_AsynchronousFunctionCall(void (*function)(void *, void *, double), void *param1, void *param2, double real_param)=0;
- virtual void WASABICALL Player_OnReady()=0;
- virtual void WASABICALL Player_OnClosed()=0;
- };
|