Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
seq.h
Go to the documentation of this file.
1#ifndef _DOLPHIN_SEQ_H_
2#define _DOLPHIN_SEQ_H_
3
4#include <dolphin/syn.h>
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10typedef struct _SEQTRACK {
11 /* 0x00 */ void* sequence;
12 /* 0x04 */ u8* start;
13 /* 0x08 */ u8* end;
14 /* 0x0C */ u8* current;
15 /* 0x10 */ u8 status;
16 /* 0x14 */ f32 beatsPerSec;
18 /* 0x1C */ u32 ticksPerFrame;
19 /* 0x20 */ u32 delay;
20 /* 0x24 */ u32 state;
22
23typedef struct _SEQSEQUENCE {
24 /* 0x0000 */ void* next;
25 /* 0x0004 */ u32 state;
26 /* 0x0008 */ u16 nTracks;
27 /* 0x000A */ s16 timeFormat;
28 /* 0x000C */ u32 tracksRunning;
29 /* 0x0010 */ u32 end;
30 /* 0x0014 */ SYNSYNTH synth;
31 /* 0x3154 */ void (*callback[128])(void*, u8);
32 /* 0x3354 */ SEQTRACK track[64];
34
35#define SEQ_ALL_TRACKS -1
36
37void SEQInit(void);
38void SEQQuit(void);
39void SEQRunAudioFrame(void);
40void SEQAddSequence(SEQSEQUENCE* sequence, u8* midiStream, void* wt, u32 aramBase, u32 zeroBase, u32 priorityVoiceAlloc, u32 priorityNoteOn, u32 priorityNoteRelease);
41void SEQRemoveSequence(SEQSEQUENCE* sequence);
42void SEQRegisterControllerCallback(SEQSEQUENCE* sequence, u8 controller, void (*callback)(void*, u8));
43void SEQSetState(SEQSEQUENCE* sequence, u32 state);
44u32 SEQGetState(SEQSEQUENCE* sequence);
45void SEQSetTempo(SEQSEQUENCE* sequence, u32 trackIndex, f32 bpm);
46f32 SEQGetTempo(SEQSEQUENCE* sequence, u32 trackIndex);
47void SEQSetVolume(SEQSEQUENCE* sequence, s32 dB);
49
50#ifdef __cplusplus
51}
52#endif
53
54#endif // _DOLPHIN_SEQ_H_
s32 SEQGetVolume(SEQSEQUENCE *sequence)
Definition seq.c:465
void SEQInit(void)
Definition seq.c:304
void SEQSetTempo(SEQSEQUENCE *sequence, u32 trackIndex, f32 bpm)
Definition seq.c:438
u32 SEQGetState(SEQSEQUENCE *sequence)
Definition seq.c:433
f32 SEQGetTempo(SEQSEQUENCE *sequence, u32 trackIndex)
Definition seq.c:454
void SEQQuit(void)
Definition seq.c:308
void SEQSetState(SEQSEQUENCE *sequence, u32 state)
Definition seq.c:389
void SEQRegisterControllerCallback(SEQSEQUENCE *sequence, u8 controller, void(*callback)(void *, u8))
Definition seq.c:382
void SEQAddSequence(SEQSEQUENCE *sequence, u8 *midiStream, void *wt, u32 aramBase, u32 zeroBase, u32 priorityVoiceAlloc, u32 priorityNoteOn, u32 priorityNoteRelease)
Definition seq.c:354
void SEQRemoveSequence(SEQSEQUENCE *sequence)
Definition seq.c:376
void SEQSetVolume(SEQSEQUENCE *sequence, s32 dB)
Definition seq.c:460
struct _SEQTRACK SEQTRACK
struct _SEQSEQUENCE SEQSEQUENCE
void SEQRunAudioFrame(void)
Definition seq.c:312
Definition syn.h:70
Definition seq.h:23
void * next
Definition seq.h:24
u32 end
Definition seq.h:29
SYNSYNTH synth
Definition seq.h:30
u32 tracksRunning
Definition seq.h:28
u32 state
Definition seq.h:25
SEQTRACK track[64]
Definition seq.h:32
void(* callback[128])(void *, u8)
Definition seq.h:31
s16 timeFormat
Definition seq.h:27
u16 nTracks
Definition seq.h:26
Definition seq.h:10
u32 delay
Definition seq.h:19
u32 defaultTicksPerFrame
Definition seq.h:17
void * sequence
Definition seq.h:11
u8 * end
Definition seq.h:13
u32 ticksPerFrame
Definition seq.h:18
f32 beatsPerSec
Definition seq.h:16
u32 state
Definition seq.h:20
u8 * current
Definition seq.h:14
u8 * start
Definition seq.h:12
u8 status
Definition seq.h:15
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
float f32
Definition types.h:22
unsigned short int u16
Definition types.h:7
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5