Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
seq.h
Go to the documentation of this file.
1#ifndef RVL_SDK_HBMSEQ_H
2#define RVL_SDK_HBMSEQ_H
3
4#include <revolution/types.h>
5
6#include "syn.h"
7
8// Modifiable; to what extent is unknown
9#define HBMSEQ_MAX_TRACKS 64
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
19 HBM_SEQ_STATE_2, // some sort of next?
20 HBM_SEQ_STATE_3, // paused?
21};
22
23// forward declarations
25
26typedef struct _HBMSEQTRACK {
27 HBMSEQSEQUENCE* sequence; // size 0x04, offset 0x00
28 u8* start; // size 0x04, offset 0x04
29 u8* end; // size 0x04, offset 0x08
30 u8* current; // size 0x04, offset 0x0c
31 u8 status; // size 0x01, offset 0x10
32 /* 3 bytes padding */
33 f32 beatsPerSec; // size 0x04, offset 0x14
34 u32 defaultTicksPerFrame; // size 0x04, offset 0x18
35 u32 ticksPerFrame; // size 0x04, offset 0x1c
36 u32 delay; // size 0x04, offset 0x20
37 u32 state; // size 0x04, offset 0x24
38} HBMSEQTRACK; // size 0x28
39
41 HBMSEQSEQUENCE* next; // size 0x0004, offset 0x0000
42 HBMSEQSTATE state; // size 0x0004, offset 0x0004
43 u16 nTracks; // size 0x0002, offset 0x0008
44 s16 timeFormat; // size 0x0002, offset 0x000a
45 u32 tracksRunning; // size 0x0004, offset 0x000c
46 u32 end; // size 0x0004, offset 0x0010
47 HBMSYNSYNTH synth; // size 0x2408, offset 0x0014
48 HBMSEQTRACK track[HBMSEQ_MAX_TRACKS]; // size 0x0a00, offset 0x241c
49}; // size 0x2e1c
50
51void HBMSEQInit(void);
52void HBMSEQQuit(void);
53
54void HBMSEQRunAudioFrame(void);
55
56void HBMSEQAddSequence(HBMSEQSEQUENCE* sequence, u8* midiStream, u8* wavetable, u8* samples,
57 u8* zerobuffer);
59
60void HBMSEQSetState(HBMSEQSEQUENCE* sequence, HBMSEQSTATE state);
62
63void HBMSEQSetVolume(HBMSEQSEQUENCE* sequence, s32 dB);
65
66#ifdef __cplusplus
67}
68#endif
69
70#endif // RVL_SDK_HBMSEQ_H
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
struct _HBMSEQTRACK HBMSEQTRACK
void HBMSEQSetVolume(HBMSEQSEQUENCE *sequence, s32 dB)
Definition seq.cpp:520
void HBMSEQRunAudioFrame(void)
Definition seq.cpp:376
void HBMSEQInit(void)
Definition seq.cpp:361
void HBMSEQQuit(void)
Definition seq.cpp:370
HBMSEQSTATE HBMSEQGetState(HBMSEQSEQUENCE *sequence)
Definition seq.cpp:513
HBMSEQSTATE_et
Definition seq.h:16
@ HBM_SEQ_STATE_1
Definition seq.h:18
@ HBM_SEQ_STATE_3
Definition seq.h:20
@ HBM_SEQ_STATE_0
Definition seq.h:17
@ HBM_SEQ_STATE_2
Definition seq.h:19
void HBMSEQSetState(HBMSEQSEQUENCE *sequence, HBMSEQSTATE state)
Definition seq.cpp:459
void HBMSEQRemoveSequence(HBMSEQSEQUENCE *sequence)
Definition seq.cpp:451
s32 HBMSEQGetVolume(HBMSEQSEQUENCE *sequence)
Definition seq.cpp:527
u32 HBMSEQSTATE
Definition seq.h:15
void HBMSEQAddSequence(HBMSEQSEQUENCE *sequence, u8 *midiStream, u8 *wavetable, u8 *samples, u8 *zerobuffer)
Definition seq.cpp:437
Definition syn.h:80
Definition seq.h:40
HBMSEQSTATE state
Definition seq.h:42
HBMSEQTRACK track[HBMSEQ_MAX_TRACKS]
Definition seq.h:48
u32 end
Definition seq.h:46
u32 tracksRunning
Definition seq.h:45
s16 timeFormat
Definition seq.h:44
HBMSYNSYNTH synth
Definition seq.h:47
u16 nTracks
Definition seq.h:43
HBMSEQSEQUENCE * next
Definition seq.h:41
Definition seq.h:26
HBMSEQSEQUENCE * sequence
Definition seq.h:27
u8 * current
Definition seq.h:30
u32 defaultTicksPerFrame
Definition seq.h:34
f32 beatsPerSec
Definition seq.h:33
u32 ticksPerFrame
Definition seq.h:35
u32 state
Definition seq.h:37
u8 status
Definition seq.h:31
u32 delay
Definition seq.h:36
u8 * end
Definition seq.h:29
u8 * start
Definition seq.h:28