home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 February / Chip_2000-02_cd.bin / sharewar / Capella / INTERNA.DOC < prev    next >
Text File  |  1996-02-21  |  21KB  |  639 lines

  1. ===================================
  2. Dateiformat capella 2.0 / 2.1 / 2.2
  3. ===================================
  4.  
  5. Inhalt
  6.  
  7. 1. Kurzerklaerung
  8. 2. Elementarformate
  9. 3. SCORE
  10. 4. Hilfsformate (alphabetisch)
  11. 5. Daten der Akkordinformationen
  12. 6. Grafik- und Textobjekte
  13. 7. Berechnung der chromatischen Tonhoehe in MIDI-Einheiten:
  14. 8. Beispieldatei
  15.  
  16.  
  17. 1. Kurzerklaerung
  18. ----------------
  19.  
  20. Die einzelnen Formate sind in einem selbsterklaerenden Pseudocode beschrieben.
  21. Dabei steht in den einzelnen Zeilen jeweils 
  22.  
  23. ╖ das Teilformat (an anderer Stelle erklaert)
  24. ╖ evtl. ein Wiederholungsfaktor in eckigen Klammern
  25. ╖ Beschreibung
  26.  
  27.  
  28. 2. Elementarformate
  29. -------------------
  30.  
  31. BIT   einzelne Bits. Treten immer in Achtergruppen (Byte) oder Sechzehner-
  32.       gruppen (Wort) auf. Diese Gruppen werden durch Diagramme dargestellt, 
  33.       wobei rechts das nidrigwertigste Bit steht.
  34. CHAR  1 Byte mit Vorzeichen
  35. BYTE  1 Byte ohne Vorzichen
  36. INT   2 Bytes mit Vorzeichen
  37. BOOL  wie INT
  38. UINT  2 Bytes ohne Vorzichen
  39. LONG  4 Bytes mit Vorzichen
  40. DWORD 4 Bytes ohne Vorzichen
  41.  
  42.  
  43. 3. SCORE
  44. --------
  45.  
  46. SCORE (capella 2.0/2.1/2.2 - Partitur)
  47.   LONG              Dateikennung; moegliche Werte:
  48.                       0x74B3E289 = V2.0, 
  49.                       0x74B3E28A = V2.1 (oder V2.2 ohne Taktnumerierung)
  50.                       0x74B3E28B = V2.2 (mit Taktnumerierung)
  51.   PRINTSETTINGS     Druckereinstellungen
  52.   UINT              Druckgroesse (7200 * Abstand zweier Notenlinien / Zoll)
  53.   BYTE              Druckbilddarstellung
  54.   BYTE              Farbdarstellung
  55.   FONT              Standard-Text-Font
  56.   if Dateikennung >= V2.1
  57.     INT             Anfang fuer Seitenzaehlung
  58.   endif
  59.   if Dateikennung = V2.2 (Taktnumerierung)
  60.     BYTE            umrahmte Taktnummern 
  61.     BYTE            Abstand der Taktnummern vom linken Rand
  62.     BYTE            Abstand der Taktnummern ueber dem System
  63.     FONT            Font fuer Taktnummern
  64.   endif
  65.   TEXTZEILE         Kopfzeile
  66.   TEXTZEILE         Fusszeile
  67.   LAYOUT            Partiturformat
  68.   INT               nSystems
  69.   SYSTEM[nSystems]  Beschreibung der Systeme
  70.   INT               nMetafiles
  71.   METAFILE[nMetafiles]
  72. end
  73.  
  74.  
  75. 4. Hilfsformate (alphabetisch)
  76. ------------------------------
  77.  
  78. FONT (56 Bytes) 
  79.   UINT    nScale
  80.   LOGFONT logfont
  81.   INT     nHeight
  82.   UINT    reserviert
  83. end
  84.  
  85. LAYOUT (Beschreibung der Partitur-Formatvorlage)
  86.   if Dateikennung >= V2.1
  87.     BYTE    topDist
  88.     CHAR    Ersatzzeichen fuer geschuetztes Leerzeichen ('\0' --> '$')
  89.     BYTE    interDist
  90.     CHAR    Ersatzzeichen fuer geschuetzten Bindestrich ('\0' --> '#')
  91.   else
  92.     INT     topDist
  93.     INT     interDist
  94.   endif
  95.   BYTE    beamMode
  96.   FONT    txtFont
  97.   BYTE    txtAlign
  98.   BOOL    allaBreve
  99.   UINT    tempo
  100.   INT     nStaves
  101.   if Dateikennung >= V2.1
  102.     BYTE[16] nSound  (Klang fuer Kanal 1 bis 16
  103.                       im 1. Byte ist hoechstes Bit gesetzt!)
  104.     BYTE[16] nVolume (Lautstaerke fuer Kanal 1 bis 16)
  105.   else (Version 2.0)
  106.     BYTE[9] nSound   (Klang fuer Kanal 1 bis 9)
  107.     BYTE[9] nVolume  (Lautstaerke fuer Kanal 1 bis 9)
  108.   endif
  109.   STAFF_LAYOUT[nStaves]
  110. end
  111.  
  112. LIEDTEXT
  113.   INT         Liedtext_Laenge
  114.   if Liedtext_Laenge > 0
  115.     CHAR[n+1] Liedtext
  116.     FONT      (56 Bytes) Liedtext_Font
  117.     INT       Abstand_von_Notenzeile
  118.     INT       Abstand_zwischen_Strophen
  119.   endif
  120. end
  121.  
  122. LOGFONT (Windows-Struktur!)
  123.   INT     lfHeight;
  124.   INT     lfWidth;
  125.   INT     lfEscapement;
  126.   INT     lfOrientation;
  127.   INT     lfWeight;
  128.   BYTE    lfItalic;
  129.   BYTE    lfUnderline;
  130.   BYTE    lfStrikeOut;
  131.   BYTE    lfCharSet;
  132.   BYTE    lfOutPrecision;
  133.   BYTE    lfClipPrecision;
  134.   BYTE    lfQuality;
  135.   BYTE    lfPitchAndFamily;
  136.   CHAR    lfFaceName[32];
  137. end
  138.  
  139. METAFILE (importierte WMF-Grafik)
  140.   INT           Type
  141.   LONG[4]       left, top, right, bottom
  142.   LONG          xProp (Soll-Seitenverhaeltnis)
  143.   LONG          yProp
  144.   INT[4]        reserviert
  145.   BOOL          fMF (in capella 2.0 immer TRUE)
  146.   if fMF
  147.     METAFILEPICT mf
  148.     DWORD size
  149.     CHAR[size] Daten
  150.   endif
  151. end
  152.  
  153. METAFILEPICT (Windows-Struktur!)
  154.   INT   mm
  155.   INT   xExt
  156.   INT   yExt
  157.   UINT  hMF
  158. end
  159.  
  160. PRINTSETTINGS (Teil der Windows-Struktur DEVMODE)
  161.   DWORD dmFields;
  162.   INT   dmOrientation;
  163.   INT   dmPaperSize;
  164.   INT   dmPaperLength;
  165.   INT   dmPaperWidth;
  166.   INT   dmScale;
  167.   INT   dmCopies;
  168.   INT   dmDefaultSource;
  169.   INT   dmPrintQuality;
  170.   INT   dmColor;
  171.   INT   dmDuplex;
  172.   INT   dmYResolution;
  173.   INT   dmTTOption;
  174.   INT   oberer Seitenrand
  175.   INT   unterer Seitenrand
  176.   INT   linker Seitenrand
  177.   INT   rechter Seitenrand
  178. end
  179.  
  180. STAFF (Notenzeile)
  181.   LIEDTEXT
  182.   BOOL        fActiveVoice
  183.   INT         Stimme  (0 = Einzelzeile, 1 = erste Stimme, 2 = zweite Stimme)
  184.   INT         zusaetzlicher Abstand nach oben (in Notenlinien)
  185.   INT         zusaetzlicher Abstand nach unten (in Notenlinien)
  186.   BYTE        Layout-Zeilennummer
  187.   UINT        lg
  188.   CHAR[lg]    Akkordinformationen (siehe Abschnitt 5)
  189.   INT         n (Anzahl Akkorde+1)
  190.   INT[n+1]    Akkordindizes (Indizes der Akkordbeschreibungen in den Daten.
  191.               Beispiel: Akkordindizes[2] = 17 bedeutet, dass die Beschreibung 
  192.               des 3. Akkords (Zaehlung ab 0) bei Byte 17 der Akkordinformationen
  193.               beginnt.
  194.               
  195. end
  196.  
  197. STAFF_LAYOUT (Format einer Notenzeile)
  198.   INT     Abstand nach oben
  199.   INT     Abstand nach unten
  200.   BYTE    Schluessel
  201.   BOOL    fSingleLine
  202.   BOOL    irrelevant
  203.   INT     baseSound
  204.   INT     extSound
  205.   INT     transp
  206.   CHAR[3] brackets
  207.   STRINGZ Beschreibung
  208.   STRINGZ Bezeichnung
  209.   STRINGZ Abkuerzung
  210. end
  211.  
  212. STRINGZ
  213.   INT len
  214.   CHAR[len+1] Text (Null-terminierter String)
  215. end
  216.  
  217. SYSTEM (Notensystem)
  218.   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
  219.   |5                              |4                  |3  |2  |1  |
  220.   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
  221.   (1) BIT     fJustification
  222.   (2) BIT     fShowMeter
  223.   (3) BIT     fFullName
  224.   (4) BIT[5]  n1 (Korrektur der Taktzaehlung Teil 1, ab V2.2)
  225.   (5) BYTE    nIndent
  226.  
  227.   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
  228.   |4  |3              |2  |1                                      |
  229.   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
  230.   (1) BIT[10] nStaves
  231.   (2) BIT     Taktnumerierung auf 1 zuruecksetzen (ab V2.2)
  232.   (3) BIT[4]  n2 (Korrektur der Taktzaehlung Teil 2, ab V2.2)
  233.               n = n1 + 32*n2
  234.               if n > 500 then Korrektur := 500-n else Korrektur := n
  235.   (4) BIT     fFormFeed (ab V2.2)
  236.  
  237.   STAFF[nStaves] (Beschreibung der Notenzeilen)
  238. end
  239.  
  240. TEXTZEILE (fuer Kopf-/Fusszeile)
  241.   INT             Laenge
  242.   if Laenge > 0
  243.     CHAR[Laenge+1] Zeile  (Null-terminierter String)
  244.     INT           Abstand
  245.     FONT          Font
  246.     BYTE          Ausrichtung
  247.     BYTE          auch auf 1. Seite
  248.   endif
  249. end
  250.  
  251.  
  252. 5. Daten der Akkordinformationen
  253. --------------------------------
  254.  
  255.   +---+---+---+---+---+---+---+---+
  256.   |5              |4  |3  |2  |1  |
  257.   +---+---+---+---+---+---+---+---+
  258.   (1) BIT      Extras
  259.   (2) BIT      fester_Taktstrich_oder_Verschiebung
  260.   (3) BIT      Moduswechsel
  261.   (4) BIT      Triole_etc
  262.   (5) BIT[4]   Anzahl_Noten
  263.  
  264.   if Moduswechsel
  265.     +---+---+---+---+---+---+---+---+
  266.     |3      |2          |1          |
  267.     +---+---+---+---+---+---+---+---+
  268.     BIT[3] Schluesselform (0=G, 1=C, 2=F, 3=Schlagz. 4=kein, 5=unveraendert)
  269.     BIT[3] Schluessel-Linie (0 = oberste Linie, ... , 4 = unterste Linie)
  270.     BIT[2] Schluessel-Oktavierung (0=nach oben, 1=keine, 2= nach unten)
  271.  
  272.     +---+---+---+---+---+---+---+---+
  273.     |2              |1              |
  274.     +---+---+---+---+---+---+---+---+
  275.     (1) BIT[4] Tonart (0=7b ... 7=c-Dur ... 14=7#, 15=unveraendert)
  276.     (2) BIT[4] Taktnenner (0=ganze, 1=halbe, ..., 6=1/64, 15=kein Takt)
  277.  
  278.     BYTE   Taktzaehler  (255=unveraendert)
  279.   endif
  280.  
  281.   if fester_Taktstrich_oder_Verschiebung
  282.     +---+---+---+---+---+---+---+---+
  283.     |2              |1              |
  284.     +---+---+---+---+---+---+---+---+
  285.     BIT[4] fester_Taktstrich (0..6=einfach, doppelt, Schluss Wdh-Ende, 
  286.                               Wdh.Anf., Wdh-Ende/Anf)
  287.     BIT[4] Horizontalverschiebung
  288.   endif
  289.  
  290.   if Triole_etc (Beispiele: Triole / Duole)
  291.     +---+---+---+---+---+---+---+---+
  292.     |3          |2  |1              |
  293.     +---+---+---+---+---+---+---+---+
  294.     (1) BIT[4] Zaehler           ( 3  /  2 )
  295.     (2) BIT[1] tripartit        ( 0  /  1 )
  296.     (3) Bit[3] reserviert (=0)
  297.   endif
  298.  
  299.   if Extras
  300.     BYTE[3] reserviert
  301.     BYTE    Anzahl_GrafikObjekte
  302.     GRAFIKOBJEKT[Anzahl_GrafikObjekte]
  303.   endif
  304.  
  305.   +---+---+---+---+---+---+---+---+
  306.   |4  |3  |2      |1              |
  307.   +---+---+---+---+---+---+---+---+
  308.   (1) BIT[4] Notenwert
  309.   (2) BIT[2] Punktierung (0..3 = ohne, einfach doppelt, Zeilenende)
  310.   (3) BIT    halbe_Groesse
  311.   (4) BIT    ohne_Wert
  312.  
  313.   +---+---+---+---+---+---+---+---+
  314.   |6          |5  |4  |3  |2  |1  |              |
  315.   +---+---+---+---+---+---+---+---+
  316.   (1) BIT    Balken trennen
  317.   (2) BIT    Balken verbinden
  318.   (3) BIT    unsichtbar
  319.   (4) BIT    Haltebogen
  320.   (5) BIT    expl_Vorzeichen
  321.   (6) BIT[3] Kopfform
  322.  
  323.   +---+---+---+---+---+---+---+---+
  324.   |4  |3  |2      |1              |
  325.   +---+---+---+---+---+---+---+---+
  326.   (1) BIT[4] Artikulationszeichen
  327.   (2) BIT[2] Hals
  328.   (3) BIT[1] Pause auch in zweistimmiger Zeile zentriert (ab V2.1)
  329.   (4) BIT[1] Atemzeichen (neu in V2.2)
  330.  
  331.   NOTE[Anzahl_Noten] (die Noten sind immer aufsteigend nach Tonhoehe sortiert!)
  332. end
  333.  
  334. NOTE
  335.   +---+---+---+---+---+---+---+---+
  336.   |2      |1                      |
  337.   +---+---+---+---+---+---+---+---+
  338.   (1) BIT[6] relative diatonische Hoehe + 32
  339.   (2) BIT[2] Alteration + 2
  340. end
  341.  
  342. GRAFIKOBJEKT
  343.   BYTE Typ
  344.   BYTE Laenge_des_Notenbereichs
  345.   case Typ
  346.     0: BINDEBOGEN     
  347.     1: N_OLENKLAMMER
  348.     2: DE_CRESCENDO   
  349.     3: NOTENLINIEN 
  350.     4: VOLTENKLAMMER
  351.     5: TRILLERSCHLANGE
  352.     6: TEXTOBJEKT
  353.     7: LINIE
  354.     8: RECHTECK
  355.     9: ELLIPSE
  356.   endcase
  357. end
  358.  
  359.  
  360. 6. Grafik- und Textobjekte
  361. --------------------------
  362.  
  363. BINDEBOGEN (16 Bytes)
  364.   INT x0 (Anfangspunkt der Bezier-Kurve)
  365.   INT y0
  366.   INT x1 (1. Stuetzpunkt der Bezier-Kurve)
  367.   INT y1
  368.   INT x2 (2. Stuetzpunkt der Bezier-Kurve)
  369.   INT y2
  370.   INT x3 (Endpunkt der Bezier-Kurve)
  371.   INT y3
  372. end
  373.  
  374. DE_CRESCENDO (8 Bytes)
  375.   INT x0 (Winkelpunkt)
  376.   INT y0
  377.   INT x1 (oberer Endpunkt, anderer ergibt sich aus Symmetrie)
  378.   INT y1
  379. end
  380.  
  381. ELLIPSE (10 Bytes) siehe RECHTECK
  382.  
  383. LINIE (10 Bytes)
  384.   INT x0
  385.   INT y0
  386.   INT x1
  387.   INT y1
  388.  
  389.   +---+---+---+---+---+---+---+---+
  390.   |2              |1              |
  391.   +---+---+---+---+---+---+---+---+
  392.   (1) BIT[4] Linienstaerke
  393.   (2) BIT[4] frei
  394.  
  395.   BYTE   frei
  396.  
  397. N_OLENKLAMMER (10 Bytes)
  398.   INT x0
  399.   INT y0
  400.   INT x1
  401.   INT y1
  402.  
  403.   +---+---+---+---+---+---+---+---+
  404.   |3                      |2  |1  |
  405.   +---+---+---+---+---+---+---+---+
  406.   (1) BIT    untere Klammer
  407.   (2) BIT    Klammer sichtbar
  408.   (3) BIT[6] frei
  409.  
  410.   BYTE   Ziffer
  411. end
  412.  
  413. NOTENLINIEN (6 Bytes)
  414.   INT y
  415.   INT x0
  416.   INT x1
  417. end
  418.  
  419. RECHTECK (10 Bytes)
  420.   INT x0
  421.   INT y0
  422.   INT x1
  423.   INT y1
  424.  
  425.   +---+---+---+---+---+---+---+---+
  426.   |2              |1              |
  427.   +---+---+---+---+---+---+---+---+
  428.   (1) BIT[4] Linienstaerke
  429.   (2) BIT[4] Fuellung
  430.  
  431.   BYTE   frei
  432. end
  433.  
  434. TEXTOBJEKT
  435.   INT x
  436.   INT y
  437.  
  438.   +---+---+---+---+---+---+---+---+
  439.   |4          |3  |2  |1          |
  440.   +---+---+---+---+---+---+---+---+
  441.   (1) BIT[3] Font_Index (0=Musik, 1=Standard, 2=individuell)
  442.   (2) BIT    In sich zentriert
  443.   (3) BIT    Auf Seite zentriert
  444.   (4) BIT[3] frei
  445.  
  446.   if Font_Index = 2
  447.     FONT
  448.   endif
  449.   CHAR[] Text (bis zum begrenzenden ASCII-Null-Zeichen)
  450. end
  451.  
  452. TRILLERSCHLANGE (7 Bytes)
  453.   INT    y
  454.   INT    x0
  455.   INT    x1
  456.  
  457.   +---+---+---+---+---+---+---+---+
  458.   |2                          |1  |
  459.   +---+---+---+---+---+---+---+---+
  460.   (1) BIT    mit Tr.
  461.   (2) BIT[7] frei
  462. end
  463.  
  464. VOLTENKLAMMER (7 Bytes)
  465.   INT y
  466.   INT x0
  467.   INT x1
  468.   +---+---+---+---+---+---+---+---+
  469.   |3          |2  |1              |
  470.   +---+---+---+---+---+---+---+---+
  471.   (1) BIT[4] Ziffer
  472.   (2) BIT    offen
  473.   (3) BIT[3] frei
  474. end
  475.  
  476.  
  477. 7. Berechnung der chromatischen Tonhoehe in MIDI-Einheiten:
  478. ----------------------------------------------------------
  479.  
  480. Im Byte NOTE ist die relative diatonische Hoehe angegeben. 
  481. Die absolute chromatische Tonhoehe ist abhaengig vom aktuellen Schluessel 
  482. und der aktuellen Tonart und errechnet sich nach folgendem Schema
  483. (kein capella-Originalcode, capella ist in C++ geschrieben):
  484.  
  485. function chromatischeTonhoehe (Schluessel_Form, Schluessel_Oktavierung, Tonart,
  486.                                relative_diatonische_Hoehe, Alteration: integer)
  487.                                : integer;
  488. (*
  489.   Die ersten drei Parameter ergeben sich aus dem aktuellen Zeilenzustand
  490.   (Zeilenattribut bzw. letzter Moduswechsel), 
  491.   die beiden letzten aus der Noteninfo (NOTE) 
  492. *)
  493. const Dur_Tonleiter: array[0..6] of integer = (0,2,4,5,7,9,11);
  494. var   d, Oktave, relDiatonic, relChromatic, relTonarthoehe: integer;
  495. begin
  496.   d := relative_diatonische_Hoehe + 42;
  497.   case Schluessel_Form of
  498.     1: d := d - 7;   (* C-Schluessel eine Oktave tiefer  *)
  499.     2: d := d - 14;  (* F-Schluessel zwei Oktaven tiefer *)
  500.   end;
  501.   case Schluessel_Oktavierung of
  502.     0: d := d + 7;
  503.     2: d := d - 7;
  504.   end;
  505.   Oktave := d div 7;  
  506.   relDiatonic := d mod 7;
  507.   relChromatic := 12 * Oktave + Dur_Tonleiter[relDiatonic] + Alteration;
  508.   relTonarthoehe := ((Tonart-7) * 7 + 60) mod 12; (* Quintenzirkel *)
  509.   chromatischeTonhoehe := relChromatic + relTonarthoehe;
  510. end;
  511.  
  512.  
  513. 8. Beispieldatei
  514. ----------------
  515.  
  516. Die im folgenden aufgeschluesselte Datei besteht aus einer Tonleiter: c d e f g a h c'.
  517.  
  518. Adr.| Daten                                  | Kommentar
  519. ----+----------------------------------------+--------
  520.     |                                        |
  521.  
  522.  === Anfang SCORE ======================
  523.  00: 8AE2 B374                               Dateikennung (2.2 ohne Taktnumerierung)
  524.                0367 0004 0100 0900 0000 0000 PRINTSETTINGS
  525.  10: 0000 0100 0100 2C01 0100 0100 2C01 0200 
  526.  20: 1400 1400 1400 1400 
  527.                          F801                Druckgroesse
  528.                               00             Druckbilddarstellung
  529.                                 01           Farbdarstellung
  530.                                    0000 0000 FONT
  531.  30: 0000 0000 0000 9001 0000 0000 0000 0110 
  532.  40: 5469 6D65 7320 4E65 7720 526F 6D61 6E00 
  533.  50: 0000 0000 0000 0000 0000 0000 0000 0000 
  534.  60: C0FF 0000 
  535.                0100                          Anfang fuer Seitenzaehlung
  536.                     0000                     Kopfzeile (Laenge = 0)
  537.                          0000                Fusszeile (Laenge = 0)
  538.  === Anfang LAYOUT: ====================
  539.                               04             topDist (Abstand vor 1. System)
  540.                                 24           Ersatzzeichen fuer geschuetztes Leerzeichen ('$')
  541.                                    00        interDist (Abstand zwischen Systemen)
  542.                                      23      Ersatzzeichen fuer geschuetzten Bindestrich ('#')
  543.                                         03   beamMode (globale Balkensetzung)
  544.                                           07 FONT txtFont
  545.  70: 00F2 FF00 0000 0000 0090 0100 0000 0000 
  546.  80: 0001 1054 696D 6573 204E 6577 2052 6F6D 
  547.  90: 616E 0000 0000 0000 0000 0000 0000 0000 
  548.  A0: 0000 00C0 FF00 00
  549.                       01                     txtAlign
  550.                          0000                allaBreve (nein)
  551.                               7800           tempo (120)
  552.                                    0100      nStaves (1 Notenzeilenvorlage)
  553.                                         8128 Klang fuer Kanal 1 bis 16 (im 1. Byte ist hoechstes Bit gesetzt!)
  554.  B0: 4944 3818 4734 7502 0304 0506 0708 
  555.                                         5050 Lautstaerke fuer Kanal 1 bis 16 (alle 80)
  556.  C0: 5050 5050 5050 5050 5050 5050 5050 
  557.  === Anfang STAFF_LAYOUT ===============
  558.                                         0400 Abstand nach oben
  559.  D0: 0400                                    Abstand nach unten
  560.           58                                 Schluessel
  561.             00 00                            fSingleLine
  562.                  00 00                       irrelevant
  563.                       00 00                  baseSound
  564.                            00 00             extSound
  565.                                 00 00        transp
  566.                                      5F 5F5F brackets
  567.  E0: 0900 756E 6265 6E61 6E6E 7400           Beschreibung (9+1 Bytes: " unbenannt")
  568.                                    0000 00   Bezeichnung (0 Bytes)
  569.                                           00 Abkuerzung (0 Bytes)
  570.  F0: 0000 
  571.  --- Ende STAFF_LAYOUT -----------------
  572.  --- Ende LAYOUT -----------------------
  573.           0100                               nSystems (1)
  574.  === Anfang SYSTEM =====================
  575.                067F                          = 0111 1111 0000 0110 (Intel: 1. Byte niedrig!)
  576.                067F                          = 0000 0110 0111 1111
  577.                                                                  0 fJustification
  578.                                                                 1  fShowMeter
  579.                                                                1   fFullName
  580.                                                          0000 0    n1 = 0
  581.                                                0000 0110           nIndent = 6
  582.                     0100                     = 0000 0000 0000 0001
  583.                                                       00 0000 0001 nStaves (1 Notenzeile)
  584.                                                      0             Taktnumerierung auf 1 zuruecksetzen (nein)
  585.                                                 000 0              n2 = 0
  586.                                                0                   fFormFeed
  587.  === Anfang STAFF =======================
  588.                          0000                Liedtext_Laenge (0 = kein Liedtext)
  589.                               0100           fActiveVoice (aktive Stimme, nur bei zweistimmigen Notenzeilen relevant)
  590.                                    0000      Stimme (0 = Einzelzeile)
  591.                                         0000 zusaetzlicher Abstand nach oben
  592. 100: 0000                                    zusaetzlicher Abstand nach unten
  593.           00                                 Layout-Zeilennummer (0 = 1. Stimme der Vorlage)
  594.             2C 00                            lg = 44
  595.                  10 0200 0099 1002 0000 9A10 45 Bytes Akkordinformationen (siehe Anhang)
  596. 110: 0200 009B 1002 0000 9C10 0200 009D 1002 
  597. 120: 0000 9E10 0200 009F 1002 0000 A000 3000 
  598. 130: 00
  599.        09 00                                 n (Anzahl Akkorde+1) (8 Akkorde)
  600.             00 00                            Akkord 0 --> 0
  601.                  05 00                       Akkord 1 --> 5
  602.                       0A 00                  Akkord 2 --> 10
  603.                            0F 00             Akkord 3 --> 15
  604.                                 14 00        Akkord 4 --> 20
  605.                                      19 00   Akkord 5 --> 25
  606.                                           1E Akkord 6 --> 30
  607. 140: 00
  608.        23 00                                 Akkord 7 --> 35
  609.             28 00                            Akkord 8 --> 40 (Zeilenende)
  610.                  2C 00                       Akkord 9 --> 44 (zur Ermittlung der LΣnge von "Akkord 8")
  611.  --- Ende STAFF ------------------------
  612.  --- Ende SYSTEM -----------------------
  613. 00 0000                                      nMetafiles (0)
  614.  --- Ende SCORE ------------------------
  615.  
  616.  
  617. Aufgliederung der 45 Bytes Akkordinformationen:
  618. ===============================================
  619. Akkord 0 (5 Bytes): 10              00010000
  620.                                         0000  keine Extras etc.
  621.                                     0001      1 Note (untere 4 bit: keine Extras ...)
  622.                        02           00000010
  623.                                         0010  Notenwert 2 = 1/4
  624.                                     0000      keine Punktierung etc.
  625.                           00                  keine Balkentrennung etc.
  626.                              00               keine Artikulationsz. etc.
  627.                                 99  10011001  1. Note
  628.                                       011001  rel. H÷he = 25 - 32 = -7
  629.                                     10        Alteration = 2 - 2 = 0 (keine)
  630.  
  631. Akkord 1 (5 Bytes): 10 02 00 00 9A  dto., rel. H÷he = -6
  632. Akkord 2 (5 Bytes): 10 02 00 00 9B  dto., rel. H÷he = -5
  633. Akkord 3 (5 Bytes): 10 02 00 00 9C  dto., rel. H÷he = -4
  634. Akkord 4 (5 Bytes): 10 02 00 00 9D  dto., rel. H÷he = -3
  635. Akkord 5 (5 Bytes): 10 02 00 00 9E  dto., rel. H÷he = -2
  636. Akkord 6 (5 Bytes): 10 02 00 00 9F  dto., rel. H÷he = -1
  637. Akkord 7 (5 Bytes): 10 02 00 00 A0  dto., rel. H÷he = 0
  638. Akkord 8 (4 Bytes): 00 30 00 00     0 Noten, ⁿbrige Bytes irrelevant (Ende der Notenzeile)
  639.