Implement VIBRATO

This commit is contained in:
Jack Andersen
2018-05-18 19:15:12 -10:00
parent 594fb346e1
commit 1fefba66e7
4 changed files with 22 additions and 8 deletions

View File

@@ -689,12 +689,12 @@ bool SoundMacroState::advance(Voice& vox, double dt)
case Op::Vibrato:
{
int32_t level = cmd.m_data[0] * 100 + cmd.m_data[1];
int32_t modLevel = cmd.m_data[2];
bool modScale = cmd.m_data[2] != 0;
int8_t ms = cmd.m_data[4];
int16_t timeMs = *reinterpret_cast<int16_t*>(&cmd.m_data[5]);
float q = ms ? 1000.f : m_ticksPerSec;
vox.setVibrato(level, modLevel, timeMs / q);
vox.setVibrato(level, modScale, timeMs / q);
break;
}
case Op::PitchSweep1: