Se il problema č la compattezza, potresti modificare il modo di identare il codice mettendo sulla stessa linea determinati elementi.
Ad esempio:
Codice:
if(c >= 0xC0 && c <= 0xCF){
c = fgetc(fp);
if(c <= 127) { // verifico
fseek(fp, -2, SEEK_CUR); //riavvolgo
Phrase[contaeventi++] = fgetc(fp); //canale
Phrase[contaeventi++] = fgetc(fp); //notea
Phrase[contaeventi++] = fgetc(fp); //delta-time
if(Phrase[contaeventi-1] > 127){ // ulteriore byte di delta time
c = fgetc(fp);
Phrase[contaeventi-1] = Phrase[contaeventi-1] + c;
}
c = 0;
} else {
fseek(fp, -2, SEEK_CUR);
c = fgetc(fp);
}
}
Cosė risulta pių compatto.
In alternativa potresi usare lo switch o inglobare in specifiche funzioni il codice per ogni caso.
Altre idee non mi vengono in questo momento.