Hallo TFM,
gute Frage...alle Details habe ich auch noch nicht. Aber, pro Spur benötigen wir mindestens (alles 8 Bit) PRO STEP:
- MIDI Notennummer
- MIDI Lautstärke
Ich denke also, eine Datei könnte pro Step aus
16 * 2 Bytes bestehen ... und dann hätte ich ebenfalls noch gerne 16 * 3 bytes Extra (für CC Messages pro Kanal), also 16 * 5 Bytes pro Step. Macht 64 * 16 * 5 Bytes pro Pattern. Mehrere Patterns kommen später... lass uns erstmal ein Pattern machen.
Zudem brauch man dann noch einen Header, zusätzlich zu den Steps:
- für jeden Kanal, Intstrumenten-Nummer: also 16 Bytes
- später: für jeden Kanal, Bank-Nummern
- für jeden Kanal, globale Lautstärke und Stereo-Position: 2*16 Bytes
- ... und dann brauchen wir später noch die Anzahl der Patterns, die Pattern-Reihenfolge, etc... später!
Und nun habe ich noch eine Design-Änderung - statt einen "CC" Track am Ende zu haben, würde ich vorschlagen, dass wir für jeden Track wechseln können zwischen "normal" und "CC" Darstellung. So kann man z.B. einen Track für MIDI-Kanal 1 haben für die Noten, und daneben eben auch einen Control Change / CC-Track für Kanal 1. Es ist übersichlicher, einzelne CC-Tracks pro Kanal anbieten zu können; andernfalls müssten alle CC's für ALLE Kanäle in den CC-Track ganz rechts, und das ist unbersichtlich. Den CC-Track braucht man ohnehin nur in Ausnahmefällen.
So wäre es als gut, pro Spur / Track einen weiteren "Toggle Button" zu haben, mit dem man eben zwischen CC-Track und Noten-Track die Darstellung umschalten kann.