- Код: Выделить всё
- 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;
 }





