diff options
| author | petrie911 <69443847+petrie911@users.noreply.github.com> | 2024-03-08 15:53:53 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-08 18:53:53 -0300 |
| commit | 8ccd568cc8a0881ce7cbc52e02de5b2eb7498f7f (patch) | |
| tree | 0f0b74fe824ca849fd3cb510e280ef6c934a3764 /include | |
| parent | a49f81eedeaa83f8e1351434c9cec5af0de14b90 (diff) | |
Audio_effects, _playback, and most of _seqplayer (#153)
* heapsort
* suff
* load init
* split
* split data
* begone asm
* names
* names and cleanup
* let's try this
* woo macros
* general
* bgm macro
* names
* audio_thread
* Update Torch
* I think it's time to move on
* Merge remote-tracking branch 'upstream/master' into play
* playback
* bss
---------
Co-authored-by: Alejandro Javier Asenjo Nitti <alejandro.asenjo88@gmail.com>
Diffstat (limited to 'include')
| -rw-r--r-- | include/sf64audio_provisional.h | 136 | ||||
| -rw-r--r-- | include/variables.h | 22 |
2 files changed, 96 insertions, 62 deletions
diff --git a/include/sf64audio_provisional.h b/include/sf64audio_provisional.h index 482fbf76..8e29c27f 100644 --- a/include/sf64audio_provisional.h +++ b/include/sf64audio_provisional.h @@ -347,23 +347,24 @@ typedef struct { /* 0x00 */ u8 asByte; } action; /* 0x01 */ u8 state; - /* 0x02 */ u8 envIndex; + /* 0x02 */ s16 envIndex; /* 0x04 */ s16 delay; /* 0x08 */ f32 sustain; /* 0x0C */ f32 velocity; /* 0x10 */ f32 fadeOutVel; /* 0x14 */ f32 current; /* 0x18 */ f32 target; - /* 0x1C */ EnvelopePoint* envelope; -} AdsrState; // size = 0x20 + /* 0x1C */ char pad[4]; + /* 0x20 */ EnvelopePoint* envelope; +} AdsrState; // size = 0x24 typedef struct { + /* 0x00 */ u8 stereoHeadsetEffects : 1; + /* 0x00 */ u8 usesHeadsetPanEffects : 1; /* 0x00 */ u8 unused : 2; /* 0x00 */ u8 bit2 : 2; /* 0x00 */ u8 strongRight : 1; /* 0x00 */ u8 strongLeft : 1; - /* 0x00 */ u8 stereoHeadsetEffects : 1; - /* 0x00 */ u8 usesHeadsetPanEffects : 1; } StereoData; // size = 0x1 typedef union { @@ -524,9 +525,9 @@ typedef struct { /* 0x10 */ f32 rate; /* 0x14 */ u8 active; /* 0x16 */ u16 rateChangeTimer; - // /* 0x18 */ u16 depthChangeTimer; - // /* 0x1A */ u16 delay; -} VibratoState; // size = 0x18 + /* 0x18 */ u16 depthChangeTimer; + /* 0x1A */ u16 delay; +} VibratoState; // size = 0x1C typedef struct { /* 0x00 */ u8 priority; @@ -544,9 +545,9 @@ typedef struct { /* 0x18 */ struct SequenceLayer* wantedParentLayer; /* 0x1C */ NoteAttributes attributes; /* 0x28 */ AdsrState adsr; - /* 0x48 */ Portamento portamento; - /* 0x58 */ VibratoState vibratoState; -} NotePlaybackState; // size = 0x70 + /* 0x4C */ Portamento portamento; + /* 0x5C */ VibratoState vibratoState; +} NotePlaybackState; // size = 0x78 typedef struct { struct { @@ -580,7 +581,7 @@ typedef struct Note { /* 0x00 */ AudioListItem listItem; /* 0x10 */ NoteSynthesisState synthesisState; /* 0x30 */ NotePlaybackState playbackState; - /* 0xA0 */ char padA0[0x10]; + /* 0xA8 */ char padA0[0x8]; /* 0xB0 */ NoteSubEu noteSubEu; } Note; // size = 0xC0 @@ -1032,6 +1033,16 @@ Acmd* func_8000B480(Acmd* aList, NoteSynthesisState* synthState, s32 size, u16 p Acmd* func_8000B51C(Acmd* aList, NoteSubEu* noteSub, NoteSynthesisState* synthState, s32 aiBufLen, u16 dmemSrc, s32 delaySide, s32 flags); Acmd* func_8000B98C(Acmd* aList, NoteSubEu* noteSub, NoteSynthesisState* synthState, s32 size, s32 flags, s32 delaySide); +void func_80013400(SequenceChannel* channel, s32 updateVolume); +void func_800135A8(SequencePlayer* seqplayer); +f32 func_80013708(Portamento* portamento); +s16 func_800137DC(VibratoState* vibrato); +f32 func_80013820(VibratoState* vibrato); +void func_80013A18(Note* note); +void func_80013A84(Note* note); +void func_80013B6C(AdsrState* adsr, EnvelopePoint* envelope, s16* arg2); +f32 func_80013B90(AdsrState* adsr); + void AudioHeap_ResetLoadStatus(void); void AudioHeap_DiscardFont(s32 fontId); void AudioHeap_DiscardSequence(s32 seqId); @@ -1118,43 +1129,64 @@ s32 AudioLoad_AddToSampleSet(Sample* sample, s32 numSamples, Sample** sampleSet) s32 AudioLoad_GetSamplesForFont(s32 fontId, Sample** sampleSet); -void func_80011890(Note*, NoteAttributes*); -void func_80011C58(Note*, f32); +void func_80011890(Note* note, NoteAttributes* noteAttr); +void func_80011C58(Note* note, f32); +TunedSample* func_80011D10(Instrument* instrument, s32 arg1); Instrument* Audio_GetInstrument(s32, s32); Drum* Audio_GetDrum(s32, s32); -void func_80011EB8(Note*); -void func_80011F4C(Note*); -void func_80012438(SequenceLayer*, s32); -void func_8001266C(SequenceLayer*); -void func_8001268C(SequenceLayer*); -s32 func_800126AC(Note*, SequenceLayer*, s32); -void func_800127B0(Note*, SequenceLayer*); -void func_80012854(AudioListItem*); -void func_80012864(NotePool*); +void func_80011EB8(Note* note); +void func_80011F4C(Note* note); +void func_80011FA8(void); +void func_80012438(SequenceLayer* layer, s32); +void func_8001266C(SequenceLayer* layer); +void func_8001268C(SequenceLayer* layer); +s32 func_800126AC(Note* note, SequenceLayer* layer, s32); +void func_800127B0(Note* note, SequenceLayer* layer); +void func_80012854(AudioListItem* item); +void func_80012864(NotePool* pool); void func_800128B4(void); -void func_80012964(NotePool*); -void func_80012AC4(NotePool*, s32); -void func_80012C00(AudioListItem*, AudioListItem*); -void func_80012C40(Note*); -Note* func_80012C6C(AudioListItem*, s32); -void func_80012CEC(Note *, SequenceLayer *); -void func_80012E28(Note *, SequenceLayer *); -void func_80012E5C(Note* , SequenceLayer *); -Note *func_80012E88(NotePool* , SequenceLayer *); -Note *func_80012ED4(NotePool* , SequenceLayer *); -Note *func_80012F24(NotePool* , SequenceLayer *); -Note *func_8001301C(SequenceLayer *); +void func_80012964(NotePool* pool); +void func_80012AC4(NotePool* pool, s32); +void func_80012C00(AudioListItem* item1, AudioListItem* item2); +void func_80012C40(Note* note); +Note* func_80012C6C(AudioListItem* item, s32); +void func_80012CEC(Note* note, SequenceLayer* layer); +void func_80012E28(Note* note, SequenceLayer* layer); +void func_80012E5C(Note* note, SequenceLayer* layer); +Note *func_80012E88(NotePool* pool, SequenceLayer* layer); +Note *func_80012ED4(NotePool* pool, SequenceLayer* layer); +Note *func_80012F24(NotePool* pool, SequenceLayer* layer); +Note *func_8001301C(SequenceLayer* layer); void func_800132E8(void); -void func_800144E4(SequencePlayer*); -void func_800145BC(AudioListItem*, AudioListItem*); -void func_8001678C(s32); -void func_80016804(s32); +void func_80013EA0(SequenceChannel* channel); +s32 func_80013FC4(SequenceChannel* channel, s32 arg1); +void func_800140D0(SequenceLayer* layer); +void func_8001410C(SequenceChannel* channel, s32 arg1); +void func_8001415C(SequenceChannel* channel); +SequenceChannel* func_800141C8(void); +void func_80014244(SequencePlayer* seqPlayer, u16 arg1); +void func_80014370(SequencePlayer* seqPlayer, u16 arg1); +void func_80014440(SequencePlayer* seqPlayer, u8 arg1, u8* arg2); +void func_800144E4(SequencePlayer* seqPlayer); +void func_800145BC(AudioListItem* list, AudioListItem* item); +void* func_800145FC(AudioListItem* list); +void func_8001463C(void); +u8 func_800146C0(SeqScriptState* state); +s16 func_800146D4(SeqScriptState* state); +u16 func_80014704(SeqScriptState* state); +void func_80014748(SequenceLayer* layer); +u8 func_800152C0(SequenceChannel* channel, u8 arg1, Instrument** instrument, AdsrSettings* adsrSettings); +void func_80015330(SequenceChannel* channel, u8 arg1); +// void func_800153C4(SequenceChannel* channel, u8 arg1); +void func_800153E8(SequenceChannel* channel); +void func_80015FD4(SequencePlayer* seqPlayer); +void func_8001678C(s32 arg0); +void func_80016804(s32 arg0); void func_800168BC(void); - SPTask* AudioThread_CreateTask(void); void AudioThread_ScheduleProcessCmds(void); u32 AudioThread_GetAsyncLoadStatus(u32 *); @@ -1405,6 +1437,30 @@ extern OSMesg sThreadCmdProcMsg[4]; extern OSMesg sAudioUnkMsg[1]; extern OSMesg sAudioResetMsg[1]; +// wave_samples +extern s16 gSawtoothWaveSample[]; +extern s16 gTriangleWaveSample[]; +extern s16 gSineWaveSample[]; +extern s16 gSquareWaveSample[]; +extern s16 gWhiteNoiseSample[]; +extern s16 gUnkSample[]; +extern s16* gWaveSamples[]; + +// note_data +extern f32 gBendPitchOneOctaveFrequencies[]; +extern f32 gBendPitchTwoSemitonesFrequencies[]; +extern f32 gPitchFrequencies[]; +extern u8 gDefaultShortNoteVelocityTable[]; +extern u8 gDefaultShortNoteGateTimeTable[]; +extern u16 gHaasEffectDelaySizes[64]; +extern EnvelopePoint gDefaultEnvelope[]; +extern NoteSubEu gZeroNoteSub; +extern NoteSubEu gDefaultNoteSub; +extern s16 D_800DD200[]; +extern f32 gHeadsetPanVolume[]; +extern f32 gStereoPanVolume[]; +extern f32 gDefaultPanVolume[]; + typedef enum { SEQ_ID_0, SEQ_ID_1, diff --git a/include/variables.h b/include/variables.h index 95bf1fd2..e03cbbfd 100644 --- a/include/variables.h +++ b/include/variables.h @@ -246,28 +246,6 @@ extern Gfx D_Gfx_800DBAA0[]; extern Gfx D_Gfx_800DAC20[]; extern Gfx D_Gfx_800D9688[]; -// wave_samples -extern s16 gSawtoothWaveSample[]; -extern s16 gTriangleWaveSample[]; -extern s16 gSineWaveSample[]; -extern s16 gSquareWaveSample[]; -extern s16 gWhiteNoiseSample[]; -extern s16 gUnkSample[]; -extern s16* gWaveSamples[]; -// note_data -extern f32 gBendPitchOneOctaveFrequencies[]; -extern f32 gBendPitchTwoSemitonesFrequencies[]; -extern f32 gPitchFrequencies[]; -extern u8 gDefaultShortNoteVelocityTable[]; -extern u8 gDefaultShortNoteGateTimeTable[]; -extern u16 gHaasEffectDelaySizes[64]; -// extern EnvelopePoint gDefaultEnvelope[]; -// extern NoteUnkStruct gZeroNoteSub; -// extern NoteUnkStruct gDefaultNoteSub; -extern s16 D_800DD200[]; -extern f32 gHeadsetPanVolume[]; -extern f32 gStereoPanVolume[]; -extern f32 gDefaultPanVolume[]; #endif // VARIABLES_H |
