SSBM Decomp
Loading...
Searching...
No Matches
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
6typedef struct _SEQTRACK {
7 /* 0x00 */ void * sequence;
8 /* 0x04 */ u8 * start;
9 /* 0x08 */ u8 * end;
10 /* 0x0C */ u8 * current;
11 /* 0x10 */ u8 status;
12 /* 0x14 */ float beatsPerSec;
14 /* 0x1C */ u32 ticksPerFrame;
15 /* 0x20 */ u32 delay;
16 /* 0x24 */ u32 state;
17} SEQTRACK;
18
19typedef struct _SEQSEQUENCE {
20 /* 0x0000 */ void * next;
21 /* 0x0004 */ u32 state;
22 /* 0x0008 */ u16 nTracks;
23 /* 0x000A */ s16 timeFormat;
24 /* 0x000C */ u32 tracksRunning;
25 /* 0x0010 */ u32 end;
26 /* 0x0014 */ struct SYNSYNTH synth;
27 /* 0x3148 */ void (* callback[128])(void *, u8);
28 /* 0x3348 */ SEQTRACK track[64];
30
31#define SEQ_ALL_TRACKS -1
32
33// seq.c
34void SEQInit(void);
35void SEQQuit(void);
37void SEQAddSequence(SEQSEQUENCE * sequence, u32 * midiStream, void * wt, u32 aramBase, u32 priorityVoiceAlloc, u32 priorityNoteOn, u32 priorityNoteRelease);
40void SEQSetState(SEQSEQUENCE * sequence, u32 state);
42void SEQSetTempo(SEQSEQUENCE * sequence, u32 trackIndex, float bpm);
43f32 SEQGetTempo(SEQSEQUENCE * sequence, u32 trackIndex);
44void SEQSetVolume(SEQSEQUENCE * sequence, long dB);
45long SEQGetVolume(SEQSEQUENCE * sequence);
46
47#endif // _DOLPHIN_SEQ_H_
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
float f32
Definition types.h:13
unsigned short int u16
Definition types.h:7
static void callback(HSD_GObj *gobj)
Definition ftDk_SpecialLw.c:90
unsigned char u8
Definition hsd_3B2B.h:2
void SEQInit(void)
void SEQSetTempo(SEQSEQUENCE *sequence, u32 trackIndex, float bpm)
long SEQGetVolume(SEQSEQUENCE *sequence)
u32 SEQGetState(SEQSEQUENCE *sequence)
f32 SEQGetTempo(SEQSEQUENCE *sequence, u32 trackIndex)
void SEQQuit(void)
void SEQSetState(SEQSEQUENCE *sequence, u32 state)
void SEQRegisterControllerCallback(SEQSEQUENCE *sequence, u8 controller, void(*callback)(void *, u8))
void SEQAddSequence(SEQSEQUENCE *sequence, u32 *midiStream, void *wt, u32 aramBase, u32 priorityVoiceAlloc, u32 priorityNoteOn, u32 priorityNoteRelease)
void SEQRemoveSequence(SEQSEQUENCE *sequence)
void SEQSetVolume(SEQSEQUENCE *sequence, long dB)
void SEQRunAudioFrame(void)
Definition seq.h:19
u16 nTracks
Definition seq.h:22
void(* callback[128])(void *, u8)
Definition seq.h:27
struct SYNSYNTH synth
Definition seq.h:26
void * next
Definition seq.h:20
SEQTRACK track[64]
Definition seq.h:28
u32 state
Definition seq.h:21
s16 timeFormat
Definition seq.h:23
u32 tracksRunning
Definition seq.h:24
u32 end
Definition seq.h:25
Definition seq.h:6
u8 * start
Definition seq.h:8
u8 * current
Definition seq.h:10
u8 * end
Definition seq.h:9
void * sequence
Definition seq.h:7
u32 delay
Definition seq.h:15
u32 defaultTicksPerFrame
Definition seq.h:13
u32 state
Definition seq.h:16
u8 status
Definition seq.h:11
u32 ticksPerFrame
Definition seq.h:14
float beatsPerSec
Definition seq.h:12
Definition syn.h:65
u32 priorityVoiceAlloc
Definition syn.h:76
u8 controller[16][128]
Definition syn.h:81
u32 priorityNoteOn
Definition syn.h:77
u32 priorityNoteRelease
Definition syn.h:78