add various ndspChnGet* functions

This commit is contained in:
TurtleP 2022-08-28 16:49:31 -04:00
parent 43c0c47220
commit 1ad959ba6b
2 changed files with 41 additions and 1 deletions

View File

@ -107,6 +107,14 @@ void ndspChnSetPaused(int id, bool paused);
*/
void ndspChnSetFormat(int id, u16 format);
/**
*
* @brief Gets the format of a channel.
* @param id ID of the channel (0..23).
* @return The format of the channel.
*/
u16 ndspChnGetFormat(int id);
/**
* @brief Sets the interpolation type of a channel.
* @param id ID of the channel (0..23).
@ -114,6 +122,13 @@ void ndspChnSetFormat(int id, u16 format);
*/
void ndspChnSetInterp(int id, ndspInterpType type);
/**
* @brief Gets the interpolation type of a channel.
* @param id ID of the channel (0..23).
* @return The interpolation type of the channel.
*/
ndspInterpType ndspChnGetInterp(int id);
/**
* @brief Sets the sample rate of a channel.
* @param id ID of the channel (0..23).
@ -121,6 +136,13 @@ void ndspChnSetInterp(int id, ndspInterpType type);
*/
void ndspChnSetRate(int id, float rate);
/**
* @brief Gets the sample rate of a channel.
* @param id ID of the channel (0..23).
* @return The sample rate of the channel.
*/
float ndspChnGetRate(int id);
/**
* @brief Sets the mix parameters (volumes) of a channel.
* @param id ID of the channel (0..23).
@ -137,7 +159,7 @@ void ndspChnSetMix(int id, float mix[12]);
/**
* @brief Gets the mix parameters (volumes) of a channel.
* @param id ID of the channel (0..23)
* @return The mix parameters.
* @return The mix parameters. See \ref ndspChnSetMix.
*/
float* ndspChnGetMix(int id);

View File

@ -123,6 +123,12 @@ void ndspChnSetInterp(int id, ndspInterpType type)
LightLock_Unlock(&chn->lock);
}
ndspInterpType ndspChnGetInterp(int id)
{
ndspChnSt* chn = &ndspChn[id];
return chn->interpType;
}
void ndspChnSetRate(int id, float rate)
{
ndspChnSt* chn = &ndspChn[id];
@ -132,6 +138,12 @@ void ndspChnSetRate(int id, float rate)
LightLock_Unlock(&chn->lock);
}
float ndspChnGetRate(int id)
{
ndspChnSt* chn = &ndspChn[id];
return chn->rate;
}
void ndspChnSetMix(int id, float mix[12])
{
ndspChnSt* chn = &ndspChn[id];
@ -141,6 +153,12 @@ void ndspChnSetMix(int id, float mix[12])
LightLock_Unlock(&chn->lock);
}
float* ndspChnGetMix(int id)
{
ndspChnSt* chn = &ndspChn[id];
return chn->mix;
}
void ndspChnSetAdpcmCoefs(int id, u16 coefs[16])
{
ndspChnSt* chn = &ndspChn[id];