- Код: Выделить всё • Развернуть
switch(g_pMelody[nNoteO]) {
case 0:
return -1;
case 'C':
if(g_pMelody[nNoteO+1] != '#') {
fFreq = 261.63; //До
} else {
fFreq = 277,18; //До диез
++nNoteO;
}
break;
case 'D':
if(g_pMelody[nNoteO+1] != '#') {
fFreq = 293,66; //Ре
} else {
fFreq = 311,13; //Ре диез
++nNoteO;
}
break;
case 'E':
/* blah-blah*/
default: fFreq = -1; break;
}
if(fFreq > 0) {
nFreq = F_CPU / ((fFreq * 4/*транспозиция*/)*2*8/*предделитель*/);
//Выяснение октавы, коррекция частоты
switch(g_pMelody[++nNoteO]) {
case '0':
nFreq <<= 1;
++nNoteO;
break;
case '1':
++nNoteO;
break;
case '2':
nFreq >>= 1;
++nNoteO;
break;
case '3':
nFreq >>= 2;
++nNoteO;
break;
case '4':
nFreq >>= 3;
++nNoteO;
break;
default:
break;
}
} else {
nFreq = 0;
++nNoteO;
}
переписать так:
- Код: Выделить всё • Развернуть
switch(g_pMelody[nNoteO]) {
case 0:
return -1;
case 'C':
if(g_pMelody[nNoteO+1] != '#') {
nFreq = 956; //До
} else {
nFreq = 902; //До диез
++nNoteO;
}
break;
case 'D':
if(g_pMelody[nNoteO+1] != '#') {
nFreq = 851; //Ре
} else {
nFreq = 804; //Ре диез
++nNoteO;
}
break;
case 'E':
/* blah-blah*/
default: nFreq = 0; break;
}
if(nFreq > 0) {
//Выяснение октавы, коррекция частоты
switch(g_pMelody[++nNoteO]) {
case '0':
nFreq <<= 1;
++nNoteO;
break;
case '1':
++nNoteO;
break;
case '2':
nFreq >>= 1;
++nNoteO;
break;
case '3':
nFreq >>= 2;
++nNoteO;
break;
case '4':
nFreq >>= 3;
++nNoteO;
break;
default:
break;
}
} else {
++nNoteO;
}