sm64pc/src/audio/synthesis.h

50 lines
1.0 KiB
C
Raw Normal View History

2019-08-25 04:46:40 +00:00
#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 */