mirror of https://github.com/PrimeDecomp/prime.git
49 lines
1.1 KiB
C
49 lines
1.1 KiB
C
|
#ifndef __DTK_H__
|
||
|
#define __DTK_H__
|
||
|
|
||
|
#include <dolphin/types.h>
|
||
|
#include <dolphin/dvd.h>
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
typedef void (*DTKCallback)(u32 eventMask);
|
||
|
typedef void (*DTKFlushCallback)(void);
|
||
|
|
||
|
typedef struct DTKTrack {
|
||
|
struct DTKTrack* prev;
|
||
|
struct DTKTrack* next;
|
||
|
char* fileName;
|
||
|
u32 eventMask;
|
||
|
DTKCallback callback;
|
||
|
DVDFileInfo dvdFileInfo;
|
||
|
|
||
|
} DTKTrack;
|
||
|
|
||
|
void DTKInit(void);
|
||
|
void DTKShutdown(void);
|
||
|
u32 DTKQueueTrack(char* fileName, DTKTrack* track, u32 eventMask, DTKCallback callback);
|
||
|
u32 DTKRemoveTrack(DTKTrack* track);
|
||
|
void DTKFlushTracks(DTKFlushCallback callback);
|
||
|
void DTKSetSampleRate(u32 samplerate);
|
||
|
u32 DTKGetSampleRate(void);
|
||
|
void DTKSetInterruptFrequency(u32 samples);
|
||
|
u32 DTKGetInterruptFrequency(void);
|
||
|
void DTKSetRepeatMode(u32 repeat);
|
||
|
u32 DTKGetRepeatMode(void);
|
||
|
void DTKSetState(u32 state);
|
||
|
u32 DTKGetState(void);
|
||
|
void DTKNextTrack(void);
|
||
|
void DTKPrevTrack(void);
|
||
|
u32 DTKGetPosition(void);
|
||
|
DTKTrack* DTKGetCurrentTrack(void);
|
||
|
void DTKSetVolume(u8 left, u8 right);
|
||
|
u16 DTKGetVolume(void);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif // __DTK_H__
|