此代码应重复检查Axiom键盘上D9滑块的状态,并使用其值来控制频率的音高。
int main()
{
int note;
int modwheel;
float frequency;
while (modwheel != 0)
{
note = aserveGetControl(74);
modwheel = aserveGetControl(01);
frequency = 440 * pow(2, (note-69) /12.0);
aserveOscillator(1,frequency,1.0,0);
aserveSleep(100);
}
return 0;
}
答案 0 :(得分:3)
你永远不会初始化modwheel
,所以当while
循环开始时,它的值为" random",即它可以为零,这会导致循环立即结束。 / p>
使用do/while
循环确保它至少有一次迭代,或使用内部带有while (true)
的无限if
循环,以避免实际处理0
作为有效输入