Nell'analisi del file mi si è posto un problema non indifferente.
Se la struttura del file è fissa ho capito come "analizzarlo", ma se non lo è?
Per capirci.
Ho individuato l'header e la posizione di ogni traccia nel file, con la grandezza di byte che occupa ognuna.
All'interno di ogni traccia però gli eventi possono essere posizionati in punti differenti.
Generalmente ogni evento può essere di 4 byte o di 3 byte o di 8 byte e possono essere piazzati in un punti differenti della traccia.
Un esempio:
Con il byte C1 23 rappresento C (suono) 1 (canale 1) 23 (suono chitarra).
Con il byte D1 33 rappresento D(effetto) 1(canale 1) 33 (distorsione).
Considerando che non sono solo di 4 byte, ma anche 3 o 8, come posso fare per leggerli in una traccia non sapendo nemmeno la posizione in cui andarli a beccare? So solo dove inizia la traccia e la sua dimensione.
Come posso fare per leggerli?
Personalmente ho pensato di realizzare svariate matrici/vettori (per ogni evento) e quindi confrontarli con cicli for ad un buffer, dopo aver fatto un fread della traccia.
Cosa ne pensi? Tu come agiresti? Vorrei un consiglio.