add various ndspChnGet* methods (#506)
This commit is contained in:
parent
e6fcbef36c
commit
ef806d5bd8
@ -107,6 +107,14 @@ void ndspChnSetPaused(int id, bool paused);
|
|||||||
*/
|
*/
|
||||||
void ndspChnSetFormat(int id, u16 format);
|
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.
|
* @brief Sets the interpolation type of a channel.
|
||||||
* @param id ID of the channel (0..23).
|
* @param id ID of the channel (0..23).
|
||||||
@ -114,6 +122,13 @@ void ndspChnSetFormat(int id, u16 format);
|
|||||||
*/
|
*/
|
||||||
void ndspChnSetInterp(int id, ndspInterpType type);
|
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.
|
* @brief Sets the sample rate of a channel.
|
||||||
* @param id ID of the channel (0..23).
|
* @param id ID of the channel (0..23).
|
||||||
@ -121,6 +136,13 @@ void ndspChnSetInterp(int id, ndspInterpType type);
|
|||||||
*/
|
*/
|
||||||
void ndspChnSetRate(int id, float rate);
|
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.
|
* @brief Sets the mix parameters (volumes) of a channel.
|
||||||
* @param id ID of the channel (0..23).
|
* @param id ID of the channel (0..23).
|
||||||
@ -134,6 +156,13 @@ void ndspChnSetRate(int id, float rate);
|
|||||||
*/
|
*/
|
||||||
void ndspChnSetMix(int id, float mix[12]);
|
void ndspChnSetMix(int id, float mix[12]);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Gets the mix parameters (volumes) of a channel.
|
||||||
|
* @param id ID of the channel (0..23)
|
||||||
|
* @param mix Mix parameters to write out to. See \ref ndspChnSetMix.
|
||||||
|
*/
|
||||||
|
void ndspChnGetMix(int id, float* mix[12]);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Sets the DSPADPCM coefficients of a channel.
|
* @brief Sets the DSPADPCM coefficients of a channel.
|
||||||
* @param id ID of the channel (0..23).
|
* @param id ID of the channel (0..23).
|
||||||
|
@ -123,6 +123,12 @@ void ndspChnSetInterp(int id, ndspInterpType type)
|
|||||||
LightLock_Unlock(&chn->lock);
|
LightLock_Unlock(&chn->lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ndspInterpType ndspChnGetInterp(int id)
|
||||||
|
{
|
||||||
|
ndspChnSt* chn = &ndspChn[id];
|
||||||
|
return chn->interpType;
|
||||||
|
}
|
||||||
|
|
||||||
void ndspChnSetRate(int id, float rate)
|
void ndspChnSetRate(int id, float rate)
|
||||||
{
|
{
|
||||||
ndspChnSt* chn = &ndspChn[id];
|
ndspChnSt* chn = &ndspChn[id];
|
||||||
@ -132,6 +138,12 @@ void ndspChnSetRate(int id, float rate)
|
|||||||
LightLock_Unlock(&chn->lock);
|
LightLock_Unlock(&chn->lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float ndspChnGetRate(int id)
|
||||||
|
{
|
||||||
|
ndspChnSt* chn = &ndspChn[id];
|
||||||
|
return chn->rate;
|
||||||
|
}
|
||||||
|
|
||||||
void ndspChnSetMix(int id, float mix[12])
|
void ndspChnSetMix(int id, float mix[12])
|
||||||
{
|
{
|
||||||
ndspChnSt* chn = &ndspChn[id];
|
ndspChnSt* chn = &ndspChn[id];
|
||||||
@ -141,6 +153,14 @@ void ndspChnSetMix(int id, float mix[12])
|
|||||||
LightLock_Unlock(&chn->lock);
|
LightLock_Unlock(&chn->lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ndspChnGetMix(int id, float out_mix[12])
|
||||||
|
{
|
||||||
|
ndspChnSt* chn = &ndspChn[id];
|
||||||
|
LightLock_Lock(&chn->lock);
|
||||||
|
memcpy(out_mix, chn->mix, sizeof(ndspChn[id].mix));
|
||||||
|
LightLock_Unlock(&chn->lock);
|
||||||
|
}
|
||||||
|
|
||||||
void ndspChnSetAdpcmCoefs(int id, u16 coefs[16])
|
void ndspChnSetAdpcmCoefs(int id, u16 coefs[16])
|
||||||
{
|
{
|
||||||
ndspChnSt* chn = &ndspChn[id];
|
ndspChnSt* chn = &ndspChn[id];
|
||||||
|
Loading…
Reference in New Issue
Block a user