int main ()
{
int note, velocity;
int playingNote = -1;
float frequency;
printf("play the Axiom\n");
int val = aserveGetSequenceRow(0);
int maskedval = val & 8192;
while(true)
{
note = aserveGetNote();
velocity = aserveGetVelocity();
if(velocity > 0)
{
if(maskedval == 8192)
{
frequency = 440 * pow(2, (note-69) / 12.0);
aserveOscillator(0, frequency, 1.0, 0);
playingNote = note;
}
}
else if(note == playingNote)
{
aserveOscillator(0, 0, 0, 0);
}
}
return 0;
}
我希望这个基本的单声道合成器的第一个振荡器在按下midi控制器上的键时打开(速度> 0)并且提供aserveGetSequenceRow(0)值变为8192,用户将通过转动第三个开关来完成16位二进制表示(0010000000000000)
它不起作用!我究竟做错了什么?