50 lines
1.0 KiB
C
50 lines
1.0 KiB
C
|
#ifndef _AUDIO_SYNTHESIS_H
|
||
|
#define _AUDIO_SYNTHESIS_H
|
||
|
|
||
|
#include "internal.h"
|
||
|
|
||
|
#define MAX_UPDATES_PER_FRAME 4
|
||
|
|
||
|
struct struct_3920_sp1c
|
||
|
{
|
||
|
s16 unk00;
|
||
|
s16 chunkLen; // never read
|
||
|
s16 *unk4;
|
||
|
s16 *unk8;
|
||
|
s32 unkC;
|
||
|
s16 unk10[2];
|
||
|
}; // size = 0x14
|
||
|
|
||
|
struct Struct802211B0
|
||
|
{
|
||
|
u8 unk0;
|
||
|
u8 unk1;
|
||
|
u8 unk2;
|
||
|
u8 unk3;
|
||
|
u16 unk4;
|
||
|
u16 unk6;
|
||
|
s32 unk8;
|
||
|
s32 unkC;
|
||
|
s32 unk10;
|
||
|
struct
|
||
|
{
|
||
|
s16 *unk00;
|
||
|
s16 *unk04;
|
||
|
} unk14;
|
||
|
void *unk1C;
|
||
|
void *unk20;
|
||
|
void *unk24; // never read
|
||
|
void *unk28;
|
||
|
struct struct_3920_sp1c unk2C[2][MAX_UPDATES_PER_FRAME];
|
||
|
}; // 0xCC <= size <= 0x100
|
||
|
extern struct Struct802211B0 D_802211B0;
|
||
|
|
||
|
u64 *func_80313CD4(u64 *cmdBuf, s32 *writtenCmds, u16 *aiBuf, s32 bufLen);
|
||
|
void note_init_volume(struct Note *note);
|
||
|
void note_set_vel_pan_reverb(struct Note *note, f32 velocity, f32 pan, u8 reverb);
|
||
|
void note_set_frequency(struct Note *note, f32 frequency);
|
||
|
void note_enable(struct Note *note);
|
||
|
void note_disable(struct Note *note);
|
||
|
|
||
|
#endif /* _AUDIO_SYNTHESIS_H */
|