Не обнаружил необходимой функции Set / Get pitch у канала / семпла, для динамического контроля подачи звука.
Можно пожалуйста добавить в версию которая будет с исправленной линейностью громкости как бонус, дабы не прудить костыли навроде:
//...
int defaultFreq = SQUALL_Channel_GetFrequency(ChannelID);
//...
int SQUALL_Channel_SetPitch( int channelID, float value )
{
return SQUALL_Channel_SetFrequency( channelID, (int)((float)defaultFreq * clamp(value * 0.01f, 1.0f, 255.0f)) );
}
где value лежит в пределах от 1 до 255 т.е значение > 100 до 255 высокочастотный звук, значение < 100
вплоть до 1 низкочастотный. А от 150 до 70 реалистичный предел подачи звука.