Mario Kart 64
Loading...
Searching...
No Matches
mixer.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include "libultraship/libultra/abi.h"
Include dependency graph for mixer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define aSegment(pkt, s, b)
 
#define aClearBuffer(pkt, d, c)
 
#define aLoadBuffer(pkt, s, d, c)
 
#define aSaveBuffer(pkt, s, d, c)
 
#define aLoadADPCM(pkt, c, d)
 
#define aSetBuffer(pkt, f, i, o, c)
 
#define aInterleave(pkt, o, l, r, c)
 
#define aDMEMMove(pkt, i, o, c)
 
#define aSetLoop(pkt, a)
 
#define aADPCMdec(pkt, f, s)
 
#define aResample(pkt, f, p, s)
 
#define aEnvSetup1(pkt, initialVolReverb, rampReverb, rampLeft, rampRight)
 
#define aEnvSetup2(pkt, initialVolLeft, initialVolRight)
 
#define aEnvMixer(pkt, inBuf, nSamples, swapReverb, negLeft, negRight, dryLeft, dryRight, wetLeft, wetRight)
 
#define aMix(pkt, g, i, o, c)
 
#define aS8Dec(pkt, f, s)
 
#define aAddMixer(pkt, s, d, c)
 
#define aDuplicate(pkt, s, d, c)
 
#define aDMEMMove2(pkt, t, i, o, c)
 
#define aResampleZoh(pkt, pitch, startFract)
 
#define aInterl(pkt, dmemi, dmemo, count)
 
#define aFilter(pkt, f, countOrBuf, addr)
 
#define aDownsampleHalf(pkt, nSamples, i, o)
 
#define aHiLoGain(pkt, g, buflen, i, a4)
 
#define aUnkCmd3(pkt, a1, a2, a3)
 
#define aUnkCmd19(pkt, a1, a2, a3, a4)
 

Functions

void aClearBufferImpl (uint16_t addr, int nbytes)
 
void aLoadBufferImpl (const void *source_addr, uint16_t dest_addr, uint16_t nbytes)
 
void aSaveBufferImpl (uint16_t source_addr, int16_t *dest_addr, uint16_t nbytes)
 
void aLoadADPCMImpl (int num_entries_times_16, const int16_t *book_source_addr)
 
void aSetBufferImpl (uint8_t flags, uint16_t in, uint16_t out, uint16_t nbytes)
 
void aInterleaveImpl (uint16_t left, uint16_t right)
 
void aDMEMMoveImpl (uint16_t in_addr, uint16_t out_addr, int nbytes)
 
void aSetLoopImpl (ADPCM_STATE *adpcm_loop_state)
 
void aADPCMdecImpl (uint8_t flags, ADPCM_STATE state)
 
void aResampleImpl (uint8_t flags, uint16_t pitch, RESAMPLE_STATE state)
 
void aEnvSetup1Impl (uint8_t initial_vol_wet, uint16_t rate_wet, uint16_t rate_left, uint16_t rate_right)
 
void aEnvSetup2Impl (uint16_t initial_vol_left, uint16_t initial_vol_right)
 
void aEnvMixerImpl (uint16_t in_addr, uint16_t n_samples, bool swap_reverb, bool neg_left, bool neg_right, uint16_t dry_left_addr, uint16_t dry_right_addr, uint16_t wet_left_addr, uint16_t wet_right_addr)
 
void aMixImpl (int16_t gain, uint16_t in_addr, uint16_t out_addr, uint16_t count)
 
void aS8DecImpl (uint8_t flags, ADPCM_STATE state)
 
void aAddMixerImpl (uint16_t count, uint16_t in_addr, uint16_t out_addr)
 
void aDuplicateImpl (uint16_t count, uint16_t in_addr, uint16_t out_addr)
 
void aDMEMMove2Impl (uint8_t t, uint16_t in_addr, uint16_t out_addr, uint16_t count)
 
void aDownsampleHalfImpl (uint16_t n_samples, uint16_t in_addr, uint16_t out_addr)
 
void aResampleZohImpl (uint16_t pitch, uint16_t start_fract)
 
void aInterlImpl (uint16_t in_addr, uint16_t out_addr, uint16_t n_samples)
 
void aFilterImpl (uint8_t flags, uint16_t count_or_buf, int16_t *state_or_filter)
 
void aHiLoGainImpl (uint8_t g, uint16_t count, uint16_t addr)
 
void aUnkCmd3Impl (uint16_t a, uint16_t b, uint16_t c)
 
void aUnkCmd19Impl (uint8_t f, uint16_t count, uint16_t out_addr, uint16_t in_addr)
 

Macro Definition Documentation

◆ aAddMixer

#define aAddMixer ( pkt,
s,
d,
c )
Value:
aAddMixerImpl(s, d, c)
void aAddMixerImpl(uint16_t count, uint16_t in_addr, uint16_t out_addr)
Definition mixer.c:828

◆ aADPCMdec

#define aADPCMdec ( pkt,
f,
s )
Value:
void aADPCMdecImpl(uint8_t flags, ADPCM_STATE state)
Definition mixer.c:232

◆ aClearBuffer

#define aClearBuffer ( pkt,
d,
c )
Value:
void aClearBufferImpl(uint16_t addr, int nbytes)
Definition mixer.c:145

◆ aDMEMMove

#define aDMEMMove ( pkt,
i,
o,
c )
Value:
aDMEMMoveImpl(i, o, c)
void aDMEMMoveImpl(uint16_t in_addr, uint16_t out_addr, int nbytes)
Definition mixer.c:219

◆ aDMEMMove2

#define aDMEMMove2 ( pkt,
t,
i,
o,
c )
Value:
aDMEMMove2Impl(t, i, o, c)
void aDMEMMove2Impl(uint8_t t, uint16_t in_addr, uint16_t out_addr, uint16_t count)
Definition mixer.c:883

◆ aDownsampleHalf

#define aDownsampleHalf ( pkt,
nSamples,
i,
o )
Value:
aDownsampleHalfImpl(nSamples, i, o)
void aDownsampleHalfImpl(uint16_t n_samples, uint16_t in_addr, uint16_t out_addr)
Definition mixer.c:916

◆ aDuplicate

#define aDuplicate ( pkt,
s,
d,
c )
Value:
void aDuplicateImpl(uint16_t count, uint16_t in_addr, uint16_t out_addr)
Definition mixer.c:871

◆ aEnvMixer

#define aEnvMixer ( pkt,
inBuf,
nSamples,
swapReverb,
negLeft,
negRight,
dryLeft,
dryRight,
wetLeft,
wetRight )
Value:
aEnvMixerImpl(inBuf, nSamples, swapReverb, negLeft, negRight, dryLeft, dryRight, wetLeft, wetRight)
void aEnvMixerImpl(uint16_t in_addr, uint16_t n_samples, bool swap_reverb, bool neg_left, bool neg_right, uint16_t dry_left_addr, uint16_t dry_right_addr, uint16_t wet_left_addr, uint16_t wet_right_addr)
Definition mixer.c:606

◆ aEnvSetup1

#define aEnvSetup1 ( pkt,
initialVolReverb,
rampReverb,
rampLeft,
rampRight )
Value:
aEnvSetup1Impl(initialVolReverb, rampReverb, rampLeft, rampRight)
void aEnvSetup1Impl(uint8_t initial_vol_wet, uint16_t rate_wet, uint16_t rate_left, uint16_t rate_right)
Definition mixer.c:590

◆ aEnvSetup2

#define aEnvSetup2 ( pkt,
initialVolLeft,
initialVolRight )
Value:
aEnvSetup2Impl(initialVolLeft, initialVolRight)
void aEnvSetup2Impl(uint16_t initial_vol_left, uint16_t initial_vol_right)
Definition mixer.c:597

◆ aFilter

#define aFilter ( pkt,
f,
countOrBuf,
addr )
Value:
aFilterImpl(f, countOrBuf, addr)
void aFilterImpl(uint8_t flags, uint16_t count_or_buf, int16_t *state_or_filter)
Definition mixer.c:970

◆ aHiLoGain

#define aHiLoGain ( pkt,
g,
buflen,
i,
a4 )
Value:
aHiLoGainImpl(g, buflen, i)
void aHiLoGainImpl(uint8_t g, uint16_t count, uint16_t addr)
Definition mixer.c:1018

◆ aInterl

#define aInterl ( pkt,
dmemi,
dmemo,
count )
Value:
aInterlImpl(dmemi, dmemo, count)
void aInterlImpl(uint16_t in_addr, uint16_t out_addr, uint16_t n_samples)
Definition mixer.c:943

◆ aInterleave

#define aInterleave ( pkt,
o,
l,
r,
c )
Value:
void aInterleaveImpl(uint16_t left, uint16_t right)
Definition mixer.c:176

◆ aLoadADPCM

#define aLoadADPCM ( pkt,
c,
d )
Value:
void aLoadADPCMImpl(int num_entries_times_16, const int16_t *book_source_addr)
Definition mixer.c:166

◆ aLoadBuffer

#define aLoadBuffer ( pkt,
s,
d,
c )
Value:
void aLoadBufferImpl(const void *source_addr, uint16_t dest_addr, uint16_t nbytes)
Definition mixer.c:150

◆ aMix

#define aMix ( pkt,
g,
i,
o,
c )
Value:
aMixImpl(g, i, o, c)
void aMixImpl(int16_t gain, uint16_t in_addr, uint16_t out_addr, uint16_t count)
Definition mixer.c:699

◆ aResample

#define aResample ( pkt,
f,
p,
s )
Value:
aResampleImpl(f, p, s)
void aResampleImpl(uint8_t flags, uint16_t pitch, RESAMPLE_STATE state)
Definition mixer.c:376

◆ aResampleZoh

#define aResampleZoh ( pkt,
pitch,
startFract )
Value:
aResampleZohImpl(pitch, startFract)
void aResampleZohImpl(uint16_t pitch, uint16_t start_fract)
Definition mixer.c:895

◆ aS8Dec

#define aS8Dec ( pkt,
f,
s )
Value:
void aS8DecImpl(uint8_t flags, ADPCM_STATE state)
Definition mixer.c:791

◆ aSaveBuffer

#define aSaveBuffer ( pkt,
s,
d,
c )
Value:
void aSaveBufferImpl(uint16_t source_addr, int16_t *dest_addr, uint16_t nbytes)
Definition mixer.c:160

◆ aSegment

#define aSegment ( pkt,
s,
b )
Value:
do { \
} while (0)

◆ aSetBuffer

#define aSetBuffer ( pkt,
f,
i,
o,
c )
Value:
aSetBufferImpl(f, i, o, c)
void aSetBufferImpl(uint8_t flags, uint16_t in, uint16_t out, uint16_t nbytes)
Definition mixer.c:170

◆ aSetLoop

#define aSetLoop ( pkt,
a )
Value:
void aSetLoopImpl(ADPCM_STATE *adpcm_loop_state)
Definition mixer.c:224

◆ aUnkCmd19

#define aUnkCmd19 ( pkt,
a1,
a2,
a3,
a4 )
Value:
aUnkCmd19Impl(a1, a2, a3, a4)
void aUnkCmd19Impl(uint8_t f, uint16_t count, uint16_t out_addr, uint16_t in_addr)
Definition mixer.c:1047

◆ aUnkCmd3

#define aUnkCmd3 ( pkt,
a1,
a2,
a3 )
Value:
aUnkCmd3Impl(a1, a2, a3)
void aUnkCmd3Impl(uint16_t a, uint16_t b, uint16_t c)
Definition mixer.c:1044

Function Documentation

◆ aAddMixerImpl()

void aAddMixerImpl ( uint16_t count,
uint16_t in_addr,
uint16_t out_addr )
Here is the call graph for this function:

◆ aADPCMdecImpl()

void aADPCMdecImpl ( uint8_t flags,
ADPCM_STATE state )
Here is the call graph for this function:

◆ aClearBufferImpl()

void aClearBufferImpl ( uint16_t addr,
int nbytes )

◆ aDMEMMove2Impl()

void aDMEMMove2Impl ( uint8_t t,
uint16_t in_addr,
uint16_t out_addr,
uint16_t count )

◆ aDMEMMoveImpl()

void aDMEMMoveImpl ( uint16_t in_addr,
uint16_t out_addr,
int nbytes )

◆ aDownsampleHalfImpl()

void aDownsampleHalfImpl ( uint16_t n_samples,
uint16_t in_addr,
uint16_t out_addr )

◆ aDuplicateImpl()

void aDuplicateImpl ( uint16_t count,
uint16_t in_addr,
uint16_t out_addr )
Here is the call graph for this function:

◆ aEnvMixerImpl()

void aEnvMixerImpl ( uint16_t in_addr,
uint16_t n_samples,
bool swap_reverb,
bool neg_left,
bool neg_right,
uint16_t dry_left_addr,
uint16_t dry_right_addr,
uint16_t wet_left_addr,
uint16_t wet_right_addr )
Here is the call graph for this function:

◆ aEnvSetup1Impl()

void aEnvSetup1Impl ( uint8_t initial_vol_wet,
uint16_t rate_wet,
uint16_t rate_left,
uint16_t rate_right )

◆ aEnvSetup2Impl()

void aEnvSetup2Impl ( uint16_t initial_vol_left,
uint16_t initial_vol_right )

◆ aFilterImpl()

void aFilterImpl ( uint8_t flags,
uint16_t count_or_buf,
int16_t * state_or_filter )
Here is the call graph for this function:

◆ aHiLoGainImpl()

void aHiLoGainImpl ( uint8_t g,
uint16_t count,
uint16_t addr )
Here is the call graph for this function:

◆ aInterleaveImpl()

void aInterleaveImpl ( uint16_t left,
uint16_t right )

◆ aInterlImpl()

void aInterlImpl ( uint16_t in_addr,
uint16_t out_addr,
uint16_t n_samples )

◆ aLoadADPCMImpl()

void aLoadADPCMImpl ( int num_entries_times_16,
const int16_t * book_source_addr )
Here is the call graph for this function:

◆ aLoadBufferImpl()

void aLoadBufferImpl ( const void * source_addr,
uint16_t dest_addr,
uint16_t nbytes )
Here is the call graph for this function:

◆ aMixImpl()

void aMixImpl ( int16_t gain,
uint16_t in_addr,
uint16_t out_addr,
uint16_t count )
Here is the call graph for this function:

◆ aResampleImpl()

void aResampleImpl ( uint8_t flags,
uint16_t pitch,
RESAMPLE_STATE state )
Here is the call graph for this function:

◆ aResampleZohImpl()

void aResampleZohImpl ( uint16_t pitch,
uint16_t start_fract )

◆ aS8DecImpl()

void aS8DecImpl ( uint8_t flags,
ADPCM_STATE state )
Here is the call graph for this function:

◆ aSaveBufferImpl()

void aSaveBufferImpl ( uint16_t source_addr,
int16_t * dest_addr,
uint16_t nbytes )
Here is the call graph for this function:

◆ aSetBufferImpl()

void aSetBufferImpl ( uint8_t flags,
uint16_t in,
uint16_t out,
uint16_t nbytes )

◆ aSetLoopImpl()

void aSetLoopImpl ( ADPCM_STATE * adpcm_loop_state)

◆ aUnkCmd19Impl()

void aUnkCmd19Impl ( uint8_t f,
uint16_t count,
uint16_t out_addr,
uint16_t in_addr )
Here is the call graph for this function:

◆ aUnkCmd3Impl()

void aUnkCmd3Impl ( uint16_t a,
uint16_t b,
uint16_t c )