Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
447 commits
Select commit Hold shift + click to select a range
b517534
Restore all voice end helper
May 9, 2026
334face
Restore silent wave sbss slot
May 9, 2026
b86c166
Match stream pan fade helper size
May 9, 2026
b5d34fe
Restore RedMemory resize helpers
May 9, 2026
94a8cf8
Restore RedSound wave info wrappers
May 9, 2026
e4885a6
Restore RedSound driver wrapper surface
May 9, 2026
c1a9501
Restore RedSound memory accessors
May 9, 2026
3d93991
Restore RedSound wave sequence lookup
May 9, 2026
85c7eda
Restore RedSound SE wave queries
May 9, 2026
5589603
Restore RedSound stream standby bank
May 9, 2026
06c4299
Tighten RedSound stream bank helpers
May 9, 2026
0a1ecd3
Clarify RedSound stream bank lookup
May 9, 2026
a520e61
Match RedSound empty stream bank search
May 9, 2026
e0a40d8
Expose RedDriver silent wave storage
May 9, 2026
895a1d9
Match RedSound stream bank lookup
May 9, 2026
d2573db
Match RedSound SE used wave lookup
May 9, 2026
49c6fda
Match RedSound stream standby
May 9, 2026
4024c19
Track RedSound stream bank play point
May 9, 2026
cd415c8
Advance RedSound stream read point tracking
May 9, 2026
5d315b5
Wrap RedSound stream read cursor
May 9, 2026
2d4f9f4
Add RedSound wave item helpers
May 9, 2026
21981d1
Refine RedDriver wave item setters
May 9, 2026
f164d2b
Match RedDriver wave pitch setter size
May 9, 2026
702ae50
Tighten RedDriver wave tune reset
May 9, 2026
ea2bb89
Include bend in RedDriver wave pitch compute
May 9, 2026
65ff06f
Match RedDriver wave ADSR setter
May 9, 2026
ae60327
Refine RedDriver wave tune state reset
May 9, 2026
95153eb
Honor wave key in editor pitch compute
May 9, 2026
0f4d249
Trim RedDriver wave pitch compute
May 9, 2026
354f8cb
Match RedDriver wave item setup size
May 9, 2026
ff7eb82
Match RedDriver wave tune reset size
May 9, 2026
8db7042
Match RedDriver wave pitch helper size
May 9, 2026
a325027
Match RedDriver wave stop helper size
May 9, 2026
af377dc
Match RedDriver mute helper size
May 9, 2026
9d347e9
Match RedSound stream read point size
May 9, 2026
d1a6e43
Refine RedDriver direct SE play copy
May 9, 2026
29be18a
Match RedDriver direct SE play size
May 9, 2026
bc66f06
Match RedDriver deferred music next size
May 9, 2026
8be997e
Match RedDriver direct music cross size
May 9, 2026
7de2e2d
Match RedDriver direct music data sizes
May 9, 2026
fe574c4
Match RedCommand empty SE track search
May 9, 2026
c677838
Match RedCommand music tempo size
May 9, 2026
25a5be5
Match RedCommand SE stop group size
May 9, 2026
b176f5c
Improve RedCommand music pause guards
May 9, 2026
5cf9dde
Gate all voice access to active voices
May 9, 2026
492407b
Check RedDriver music state tracks
May 9, 2026
2d98b77
Tweak RedMemory init ordering
May 9, 2026
3835bd3
Use typed RedSound access in menu options
May 9, 2026
261e6ec
Use RedSound methods for memory DMA
May 9, 2026
8a60e29
Restore RedMemory init match
May 9, 2026
cc17022
Use typed RedSound sound mode calls
May 9, 2026
fe217a7
Use RedSound methods in sound lifecycle
May 9, 2026
06071ce
Use RedSound methods in sound loading
May 9, 2026
2bb7965
Use RedSound methods for BGM helpers
May 9, 2026
ddcb1a3
Use RedSound methods for SE cleanup
May 9, 2026
a1bdcab
Use RedSound methods for stream helpers
May 9, 2026
62f9d65
Use RedSound methods in frame update
May 9, 2026
aff76ff
Use RedSound methods for reverb and SE queries
May 9, 2026
d963b1f
Use RedSound methods for 3D SE helpers
May 9, 2026
9105db7
Use RedSound methods for wave data
May 9, 2026
a9741f3
Remove unused RedDriver silent wave data
May 9, 2026
7f3e397
Match RedDriver SE SEP data control flow
May 9, 2026
7e3375d
Restore RedDriver SE SEP result handling
May 9, 2026
957dd7a
Drop unused RedMemory resize helpers
May 9, 2026
ba3e9c2
Drop unused RedSound stream pan path
May 9, 2026
78a261c
Drop unused RedMidiCtrl lifecycle methods
May 9, 2026
86f87ea
Drop unused RedSound reverb info helpers
May 9, 2026
b097fd8
Drop unused RedSound query wrappers
May 9, 2026
0a28bc6
Drop unused RedSound state queries
May 9, 2026
d6e33f0
Drop unused RedSound music info helpers
May 9, 2026
0424049
Drop unused RedSound memory accessors
May 9, 2026
07e0391
Drop unused RedSound wave item helpers
May 9, 2026
8429562
Drop unused RedSound music control paths
May 9, 2026
49ebb81
Drop unused RedSound SE stop group path
May 9, 2026
24753a8
Drop unused RedSound driver control wrappers
May 9, 2026
5b35f52
Drop unused RedSound stream bank API
May 9, 2026
95efb23
Use assigned voice track for key signature
May 9, 2026
464616f
Use saved track pointers in music skip restore
May 9, 2026
1bca13f
Copy RedSound notes as packed words
May 9, 2026
1795681
Model saved RedSound track snapshots
May 9, 2026
62d61b8
Promote saved track snapshot layout
May 9, 2026
4bfd703
Use saved track snapshot in whole loop start
May 9, 2026
f8802a4
Refine RedSound pitch remainder math
May 9, 2026
cf1c64c
Split RedSound SE ramp steps
May 9, 2026
801a81a
Align RedSound music ramp branches
May 9, 2026
b56977a
Align RedSound MIDI delta steps
May 9, 2026
84ffe0c
Align RedSound extra data pitch update
May 9, 2026
f57e22c
Use RedDriver allocation size constants
May 9, 2026
8f20e25
Tighten RedSound wave stage rounding
May 9, 2026
cce865f
Use RedVoice state flags in execute
May 9, 2026
4968f7c
Use RedVoice pointer fields in execute
May 9, 2026
8d2c83d
Use RedVoice control fields in execute
May 9, 2026
10ba09d
Use RedVoice ADSR fields in execute
May 9, 2026
faa3be1
Use typed RedVoice iterator in execute
May 9, 2026
62c33ca
Use RedNoteCopy for whole loop saves
May 9, 2026
fbef1be
Use RedNoteCopy for key on reserves
May 9, 2026
6572d6b
Use typed RedCommand sequence pointers
May 9, 2026
9f51be4
Use byte pointer for wave payload loads
May 9, 2026
7164412
Order Se info byte combines by layout
May 9, 2026
423ceff
Document RedDriver bss layout slots
May 9, 2026
bfb8e41
Name RedSound bss init work slot
May 9, 2026
81d0ee9
Name RedDriver memory alignment pad
May 9, 2026
16834de
Name RedExecute random alignment pad
May 9, 2026
c54591e
Model RedStream file tail padding
May 9, 2026
f744f23
Assert RedEntry reserved header fields
May 9, 2026
f9dcc5e
Name RedExecute wave voice padding
May 9, 2026
52388b9
Name RedMidiCtrl reserved fields
May 9, 2026
52bfbac
Assert RedSound stream bank layout
May 9, 2026
0bb8c32
Assert RedStream reserved ranges
May 9, 2026
8b3c360
Assert RedNote reserved byte
May 9, 2026
d1b70d7
Assert RedEntry reserved header fields
May 9, 2026
7aa16e9
Assert RedVoice reserved byte
May 9, 2026
2a4bca8
Assert RedDriver play command reserve
May 9, 2026
55e21ed
Assert RedMidiCtrl reserved field sizes
May 9, 2026
431deef
Assert RedExecute reserved field sizes
May 9, 2026
45c4bb0
Assert RedSound reserved field sizes
May 9, 2026
5c6c738
Assert RedCommand reverb params size
May 9, 2026
9b2036f
Assert RedDriver padding field sizes
May 9, 2026
d50066f
Assert RedMemory bank table sizing
May 9, 2026
d611a1d
Assert RedDriver array field sizes
May 9, 2026
035b807
Use typed RedStream channel frames
May 9, 2026
badb37c
Use named RedSound SeBlock bank mask
May 9, 2026
67ba685
Assert RedEntry file signature sizes
May 9, 2026
99967cb
Assert RedStream frame field sizes
May 9, 2026
c167005
Assert RedExecute ADSR field sizes
May 9, 2026
27b6ea9
Tie RedCommand byte offsets to entry layouts
May 9, 2026
6a49af5
Assert RedMidiCtrl array field sizes
May 9, 2026
ebca521
Assert RedDriver sbss array sizes
May 9, 2026
a9992d2
Assert RedSound bank arena sizing
May 9, 2026
23b6f07
Use named RedDriver buffer sizes
May 9, 2026
1eff4ea
Use named RedExecute control copy sizes
May 9, 2026
9117560
Use named RedStream copy sizes
May 9, 2026
83162f4
Use named RedMemory block size
May 9, 2026
a83d4a4
Use named RedDriver control copy size
May 9, 2026
5fdacbe
Use named RedCommand layout sizes
May 9, 2026
bae4ac0
Use named RedMidiCtrl ADSR size
May 9, 2026
1b61166
Use named RedMidiCtrl control save sizes
May 9, 2026
cbdd19c
Use named RedExecute buffer sizes
May 9, 2026
05eb41b
Use named RedDriver DMA arena size
May 9, 2026
83b60b7
Use named RedEntry SE block entry size
May 9, 2026
b12b461
Assert RedEntry bank arena sizing
May 9, 2026
e681d1b
Use named RedCommand SE block entry size
May 9, 2026
af2014e
Name RedExecute ADPCM copy sizes
May 9, 2026
a7037db
Name RedStream ADPCM header sizes
May 9, 2026
eb09f99
Use named RedExecute AXFX allocation sizes
May 9, 2026
1f38356
Assert RedExecute delay channel layout
May 9, 2026
3a84fc3
Assert RedMemory bank table layout
May 9, 2026
dce49d6
Assert RedStream step ramp layout
May 9, 2026
0e3a4da
Add objdiff experiment harness
May 9, 2026
1dd4328
Explain objdiff experiment mismatches
May 9, 2026
6530a05
Add RedSound mismatch triage tool
May 9, 2026
5d87a86
Rank RedSound triage candidates
May 9, 2026
a14bb53
Record RedSound experiment attempts
May 9, 2026
0815f86
Show instruction windows in RedSound experiments
May 9, 2026
ec49d11
Show RedSound attempt status inline
May 9, 2026
4fc269d
Filter attempted RedSound triage targets
May 9, 2026
ec2d402
Support grouped objdiff experiments
May 9, 2026
b3d9fe5
Bucket RedSound triage targets
May 9, 2026
91cfff3
Tag RedSound triage mismatch patterns
May 9, 2026
94208a1
Improve RedSound cross play guard shape
May 9, 2026
ab12c65
Improve RedSound whole loop track scan ordering
May 9, 2026
0c79ff0
Use AX voice pointer in envelope execution
May 9, 2026
f0c64d7
Reuse MusicPlayStart track pointer
May 9, 2026
e189cbd
Add RedSound triage sort modes
May 9, 2026
c4a61a5
Filter RedSound triage by attempt history
May 10, 2026
6bb4e67
Auto-revert unchanged objdiff experiments
May 10, 2026
da3e8f7
Filter RedSound triage by attempt count
May 10, 2026
8e6a7cf
Use AX voice type field in RedSound execute
May 10, 2026
6ae581e
Tag save-only RedSound triage mismatches
May 10, 2026
846a813
Tag RedSound parameter spill mismatches
May 10, 2026
de05a02
Improve RedSound skip entry scans
May 10, 2026
a7ecd6d
Match RedSound skip music entry
May 10, 2026
06af909
Show RedSound target and current sizes
May 10, 2026
988714c
Refine RedSound MIDI dispatch shape
May 10, 2026
3f71eee
Sort RedSound triage by size delta
May 10, 2026
31d3aad
Let RedSound triage rebuild before listing
May 10, 2026
0aca334
Sort RedSound triage by attempt count
May 10, 2026
539874a
Account for MAP alignment in claim doctor
May 10, 2026
b640509
Cache MAP extents in claim doctor
May 10, 2026
7a3e408
Ignore context captures in RedSound triage attempts
May 10, 2026
6b4df0e
Use ADSR step fields in RedSound start
May 10, 2026
0c6ff8a
Use ADSR release time member in envelope
May 10, 2026
239e2d4
Materialize stream file alias in StreamPlay
May 10, 2026
8148bc3
Preserve StreamPlay ARAM offset argument
May 10, 2026
02fd9c5
Use direct wave data fields in SetWaveData
May 10, 2026
6a1c5f0
Match RedNewA size alignment
May 10, 2026
9630e0c
Use unsigned reverb mix store in RedSound
May 10, 2026
2b9cd36
Tighten RedSound extra data execution
May 10, 2026
1086a4f
Improve RedSound voice assignment branch shape
May 10, 2026
2ea4082
Reuse KeyOnControl shake temporaries
May 10, 2026
158df51
Warn on stale RedSound triage builds
May 10, 2026
aa816f3
Show RedSound attempt history in triage
May 10, 2026
120fcb6
Show MAP neighbors in RedSound triage
May 10, 2026
6e67326
Improve RedSound voice ADSR randomization match
May 10, 2026
38041c1
Improve RedSound SE MIDI note state match
May 10, 2026
09a7f5d
Improve RedSound volume tremolo ramp match
May 10, 2026
b095053
Improve RedSound fuzzy pitch assignment match
May 10, 2026
aade664
Improve RedSound voice assignment matching
May 10, 2026
1b4abd9
Improve RedSound reverb data matching
May 10, 2026
e7c63d9
Improve RedSound key signature indexing
May 10, 2026
ec4d523
Improve RedSound key-on control local reuse
May 10, 2026
8f7bf5b
Recover RedSound unused wrapper linkage
May 10, 2026
4301705
Recover RedSound query wrapper helpers
May 10, 2026
1e338dc
Recover RedSound stream block getter
May 10, 2026
c2d310b
Recover RedSound SE track getter
May 10, 2026
f07a764
Recover RedSound reverb parameter wrapper
May 10, 2026
fed7d3c
Recover RedSound mute wrapper
May 10, 2026
130b387
Recover RedSound DMA clear helper
May 10, 2026
45e1bf6
Recover RedSound music info helpers
May 10, 2026
8f46e1a
Recover RedSound stream pan helper
May 10, 2026
c1fbf59
Recover RedSound music ramp helpers
May 10, 2026
e10d1ab
Recover RedSound music pause helper
May 10, 2026
ce2f5ed
Recover RedSound group stop helper
May 10, 2026
63aead6
Tighten RedSound mute helper
May 10, 2026
d6344c8
Restore RedSound silent wave slot
May 10, 2026
1eb2602
Recover RedSound SE wave queries
May 10, 2026
ea1acdf
Recover RedSound stream bank helpers
May 10, 2026
37ec25d
Match RedSound stream pan target
May 10, 2026
c4f85db
Recover RedSound SE play line clear
May 10, 2026
87dac9d
Recover RedSound stream bank reuse
May 10, 2026
0005a2e
Match RedSound stream bank searches
May 10, 2026
b92b676
Recover RedSound stream read point
May 10, 2026
ebde981
Recover RedSound wave item stop
May 10, 2026
666124f
Recover RedSound wave pitch helper
May 10, 2026
8e17f45
Recover RedSound wave tune helper
May 10, 2026
c9e491e
Recover RedSound wave ADSR helper
May 10, 2026
ae6609d
Recover RedSound wave pitch compute
May 10, 2026
dc357ae
Match RedSound used wave helpers
May 10, 2026
167c09f
Refine RedSound wave pitch compute
May 10, 2026
25217b3
Match RedSound wave pitch update
May 10, 2026
7278f78
Recover RedSound wave item play
May 10, 2026
70986bf
Restore RedSound data play overloads
May 10, 2026
6311c41
Match RedSound data play overload sizes
May 11, 2026
4668d80
Factor RedSound SE block info lookup
May 11, 2026
8511c57
Improve RedSound SE play display lookup
May 11, 2026
f22b362
Restore RedSound all voice access helper
May 11, 2026
3771f0b
Improve RedCommand tempo ramp shape
May 11, 2026
32f9d80
Match RedCommand tempo helper size
May 11, 2026
7cbecc4
Restore RedSound music play state helpers
May 11, 2026
6c5303b
Match RedSound stream standby size
May 11, 2026
50998a8
Match RedDriver SE play track helper size
May 11, 2026
fc0edf7
Match RedDriver wave ADSR helper size
May 11, 2026
a1eeddf
Match RedDriver wave tune helper size
May 11, 2026
f72e678
Improve RedEntry SE play display matching
May 11, 2026
fc31c7b
Match RedEntry SE play display size
May 11, 2026
0f09eb6
Match RedExecute random helper size
May 11, 2026
3dd3847
Simplify RedDriver DMA ID clearing
May 11, 2026
bd9a69c
Match RedDriver reverb mode table helper size
May 11, 2026
322c21a
Match RedExecute reverb setup size
May 11, 2026
1b0496b
Improve RedExecute reverb data clear shape
May 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions include/ffcc/RedSound/RedCommand.h
Original file line number Diff line number Diff line change
@@ -1,13 +1,24 @@
#ifndef _FFCC_REDSOUND_REDCOMMAND_H
#define _FFCC_REDSOUND_REDCOMMAND_H

#include "ffcc/RedSound/RedExecute.h"

struct RedMusicHEAD;
struct RedSeINFO;
struct RedTrackDATA;
struct RedWaveHeadWD;

enum RedReverbModeLayout {
REDSOUND_REVERB_MODE_PARAM_COUNT = 6,
REDSOUND_REVERB_MODE_COUNT = 8,
REDSOUND_REVERB_MODE_INDEX_MASK = REDSOUND_REVERB_MODE_COUNT - 1,
REDSOUND_REVERB_MODE_KIND_OFFSET = 0x00,
REDSOUND_REVERB_MODE_PARAMS_OFFSET = 0x04,
REDSOUND_REVERB_MODE_PARAMS_SIZE = sizeof(int) * REDSOUND_REVERB_MODE_PARAM_COUNT,
REDSOUND_REVERB_MODE_PARAMS_ALLOC_SIZE = 0x18,
REDSOUND_REVERB_MODE_SIZE = 0x1C,
REDSOUND_REVERB_MODE_TABLE_SIZE = REDSOUND_REVERB_MODE_SIZE * REDSOUND_REVERB_MODE_COUNT,
REDSOUND_REVERB_MODE_TABLE_ALLOC_SIZE = 0xE0,
};

enum RedReverbParamIndex {
Expand All @@ -26,12 +37,13 @@ enum RedReverbParamIndex {
};

struct RedReverbModeData {
int m_kind;
RedReverbKind m_kind;
int m_params[REDSOUND_REVERB_MODE_PARAM_COUNT];
};

RedTrackDATA* SearchSeEmptyTrack(int trackCount, int eraseTrack, int attrMask);
int SeStopID(int seId);
int SeStopG(int group);
int SeStopMG(int bank, int sep, int group, int kind);
int SeBlockPlay(int seId, int bank, int no, int pan, int volume);
int SeSepPlay(int seId, int sepId, int pan, int volume);
Expand All @@ -42,7 +54,10 @@ void SePause(int seId, int pause);
int MusicStop(int musicId);
int MusicPlay(int musicId, int volume, int mode);
void SetMusicVolume(int musicId, int volume, int frameCount, int mode);
void SetMusicTempo(int tempo, int frameCount);
void SetMusicPitch(int pitch, int frameCount);
void MusicPause(int musicId, int pause);

extern RedReverbModeData t_ReverbModeData[];
extern RedReverbModeData t_ReverbModeData[REDSOUND_REVERB_MODE_COUNT];

#endif // _FFCC_REDSOUND_REDCOMMAND_H
60 changes: 55 additions & 5 deletions include/ffcc/RedSound/RedDriver.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
#ifndef _FFCC_REDSOUND_REDDRIVER_H
#define _FFCC_REDSOUND_REDDRIVER_H

#ifndef FFCC_REDSOUND_DMA_CALLBACK_TYPEDEF
#define FFCC_REDSOUND_DMA_CALLBACK_TYPEDEF
typedef void (*RedDmaCallback)(void* callbackData);
#endif

struct RedReverbDepth;
struct RedReverbModeData;
struct RedReverbSize;
struct RedAdsrDATA;
struct RedStreamDATA;
struct RedTrackDATA;
struct RedWaveHeadWD;

enum RedDmaEntryFlag {
REDSOUND_DMA_FLAG_MAIN_QUEUE = 1,
REDSOUND_DMA_FLAG_CHUNKED_TRANSFER = 0x8000,
Expand All @@ -9,11 +22,14 @@ enum RedDmaEntryFlag {
REDSOUND_DMA_FLAGS_STREAM_LOAD = REDSOUND_DMA_FLAG_CHUNKED_TRANSFER | REDSOUND_DMA_FLAG_MAIN_QUEUE,
};

unsigned int DeltaTimeSumup(unsigned char**);
unsigned int DeltaTimeSumup(unsigned char** buffer);
unsigned int GetMyEntryID();
void RedSleep(int microseconds);
int RedDmaEntry(int flags, int direction, int mainMemory, int aramMemory, int size, void (*callback)(void*), void* callbackData);
int RedDmaEntry(int flags, int direction, int mainMemory, int aramMemory, int size,
RedDmaCallback callback, void* callbackData);
int RedDmaSearchID(int id);
void RedDmaClearID(int id);
void RedSetDMAMode(int mode);

class CRedDriver
{
Expand All @@ -24,29 +40,45 @@ class CRedDriver
void Init();
void End();
int GetProgramTime();
int GetMasterTime();
void SetSoundMode(int soundMode);
int GetSoundMode();
int SetMusicData(void* musicData);
int ReentryMusicData(int musicId);
int CheckMusicEntry(int musicId);
void ClearMusicData(int musicId);
int MusicPlayState(int musicId);
void MusicStop(int musicId);
int MusicPlay(int musicId, int volume, int mode);
int MusicPlay(void* musicData, int volume, int mode);
int MusicCrossPlay(int musicId, int volume, int mode);
int MusicCrossPlay(void* musicData, int volume, int mode);
int MusicNextPlay(int musicId, int volume, int mode);
int MusicNextPlay(void* musicData, int volume, int mode);
void MusicMasterVolume(int volume);
void MusicFadeOut(int musicId, int frameCount);
void MusicVolume(int musicId, int volume, int frameCount);
void MusicTempo(int tempo, int frameCount);
void MusicPitch(int pitch, int frameCount);
void MusicPause(int musicId, int pause);
void DisplayMusicInfo();
void SetMusicPhraseStop(int enable);
void SetMusicFastSpeed(int speed);
int CheckMusicPhraseStop();

void* SetSeBlockData(int bank, void* data);
int SetSeSepData(void* data);
void* SetSeBlockData(int bank, void* blockData);
int SetSeSepData(void* seSepData);
void ClearSeSepData(int sepId);
void ClearSeSepDataMG(int bank, int sep, int group, int kind);
int ReentrySeSepData(int sepId);
int CheckSeSepEntry(int sepId);

int SePlayState(int seId);
void SeStop(int seId);
void SeStopG(int group);
void SeStopMG(int bank, int sep, int group, int kind);
int SePlay(int bank, int sep, int autoId, int pan, int volume, int pitch);
int SePlay(void* seSepData, int autoId, int pan, int volume, int pitch);
void SeMasterVolume(int volume);
void SeFadeOut(int seId, int frameCount);
void SeVolume(int seId, int volume, int frameCount);
Expand All @@ -56,24 +88,42 @@ class CRedDriver
int GetSeVolume(int seId, int mode);
int ReportSeLoop(int seId);
void DisplaySePlayInfo();
void ClearSePlayLine();
RedTrackDATA* GetSePlayTrack();


int StreamPlayState(int streamId);
int GetStreamPlayPoint(int streamId, int* current, int* total);
RedStreamDATA* GetStreamPlayBlock(int streamId);
void StreamStop(int streamId);
int StreamPlay(int streamId, void* streamHeader, int fileSize, int pan, int volume);
void StreamVolume(int streamId, int volume, int frameCount);
void StreamPan(int streamId, int pan, int frameCount);
void StreamPause(int streamId, int pause);

void ClearWaveData(int waveNo);
void ClearWaveDataM(int waveNo0, int waveNo1, int waveNo2, int waveNo3);
void ClearWaveBank(int bank);
void SetWaveData(int bank, int waveNo, void* data, int size);
void SetWaveData(int slot, int waveID, void* waveData, int waveSize);
int ReentryWaveData(int waveNo);
RedWaveHeadWD* GetWaveInfo(int waveNo);
int CheckWaveEntry(int waveNo);
void DisplayWaveInfo();
void DisplayMMemoryInfo();

void SetReverb(int kind, int mode);
void SetReverb(int kind, int mode, int* params);
RedReverbSize* GetReverbInfo();
RedReverbDepth* GetReverbDepth();
void SetReverbDepth(int type, int depth, int frameCount);
void SetMute(unsigned int voiceNo, unsigned int mute);
int PlayWaveItem(int waveNo, int itemNo, int key, int pan, int volume);
void StopWaveItem();
int WavePitchCompute(int key, int pitch);
void SetWaveTune(int key, int fineTune);
void SetWavePitch(int pitch);
void SetWaveAdsr(int attack, RedAdsrDATA* adsr);
RedReverbModeData* GetReverbModeTable(int mode);
void TestProcess(int mode);
};

Expand Down
Loading
Loading