summaryrefslogtreecommitdiff
path: root/include/dolphin/dtk.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/dolphin/dtk.h')
-rw-r--r--include/dolphin/dtk.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/include/dolphin/dtk.h b/include/dolphin/dtk.h
new file mode 100644
index 0000000..f266190
--- /dev/null
+++ b/include/dolphin/dtk.h
@@ -0,0 +1,47 @@
+#ifndef _DOLPHIN_DTK
+#define _DOLPHIN_DTK
+
+#include <dolphin/dvd.h>
+#include <dolphin/types.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 // _DOLPHIN_DTK