[3ae31e9] | 1 | MIDAS-VII Score (M7SLOTnn.SCR) File Format 1988-06-28 Rev 2
|
---|
| 2 | ------------------------------------------ ---------- -----
|
---|
| 3 |
|
---|
| 4 | . Scores are stored in files with up to 20 scores per file.
|
---|
| 5 | . Scores are stored on disk in packed form and unpacked when loaded.
|
---|
| 6 | . An empty score takes only a 4 byte length flag (-1L) on disk.
|
---|
| 7 |
|
---|
| 8 | . Each file consists of:
|
---|
| 9 |
|
---|
| 10 | Library Header Record 56 bytes
|
---|
| 11 | --------------------- --------
|
---|
| 12 |
|
---|
| 13 | . Every MIDAS-VII library file has a header, as follows:
|
---|
| 14 |
|
---|
| 15 | struct mlibhdr { /* MIDAS library file header */
|
---|
| 16 |
|
---|
| 17 | char l_csum[8]; /* checksum in HEX ASCII, of all but l_csum[] */
|
---|
| 18 | char l_name[8]; /* file name */
|
---|
| 19 | char l_type[3]; /* file type (SCR for a score) */
|
---|
| 20 | char l_cmnt[37]; /* comment */
|
---|
| 21 | };
|
---|
| 22 |
|
---|
| 23 |
|
---|
| 24 | Total longs required 4 bytes
|
---|
| 25 | -------------------- -------
|
---|
| 26 |
|
---|
| 27 | . Total number of longs required in RAM to load all of the scores.
|
---|
| 28 |
|
---|
| 29 | Scores 01-20
|
---|
| 30 | ------------
|
---|
| 31 |
|
---|
| 32 | . All scores start with their length:
|
---|
| 33 |
|
---|
| 34 | nbr 4 bytes Number of longs required,
|
---|
| 35 | or -1L if the score is empty
|
---|
| 36 |
|
---|
| 37 | . Non-Empty scores have the following additional data:
|
---|
| 38 |
|
---|
| 39 | scname 16 bytes Score name (not zero terminated)
|
---|
| 40 |
|
---|
| 41 | stimes 240 bytes Section flags and SMPTE times
|
---|
| 42 |
|
---|
| 43 | table: 20 entries, 1 per section, 12 bytes per section
|
---|
| 44 |
|
---|
| 45 | struct s_time { /* section time structure */
|
---|
| 46 |
|
---|
| 47 | short sflags; /* flags */
|
---|
| 48 | char smpte[10]; /* SMPTE start timecode */
|
---|
| 49 | };
|
---|
| 50 |
|
---|
| 51 | events 5..32 bytes Packed event data
|
---|
| 52 |
|
---|
| 53 | . See "MIDAS-VII Score Event Formats" for details.
|
---|
| 54 | |
---|
| 55 |
|
---|
| 56 | MIDAS-VII Score Event Sizes (in bytes)
|
---|
| 57 | ---------------------------------------
|
---|
| 58 |
|
---|
| 59 | . Standard event sizes in RAM:
|
---|
| 60 |
|
---|
| 61 | E_SIZE1 20 bytes
|
---|
| 62 | E_SIZE2 24 bytes
|
---|
| 63 | E_SIZE3 32 bytes
|
---|
| 64 |
|
---|
| 65 | . Event sizes in RAM and on disk:
|
---|
| 66 |
|
---|
| 67 | size score disk type
|
---|
| 68 | ------- ----- ---- --------------
|
---|
| 69 | E_SIZE1 20 0 0 - EV_NULL
|
---|
| 70 | E_SIZE1 20 6 1 - EV_SCORE
|
---|
| 71 | E_SIZE2 24 6 2 - EV_SBGN
|
---|
| 72 | E_SIZE2 24 6 3 - EV_SEND
|
---|
| 73 | E_SIZE2 24 7 4 - EV_INST
|
---|
| 74 | E_SIZE1 20 9 5 - EV_NBEG
|
---|
| 75 | E_SIZE1 20 9 6 - EV_NEND
|
---|
| 76 | E_SIZE1 20 5 7 - EV_STOP
|
---|
| 77 | E_SIZE1 20 7 8 - EV_INTP
|
---|
| 78 | E_SIZE2 24 6 9 - EV_TMPO
|
---|
| 79 | E_SIZE2 24 6 10 - EV_TUNE
|
---|
| 80 | E_SIZE2 24 7 11 - EV_GRP
|
---|
| 81 | E_SIZE2 24 7 12 - EV_LOCN
|
---|
| 82 | E_SIZE2 24 7 13 - EV_DYN
|
---|
| 83 | E_SIZE2 24 8 14 - EV_ANVL
|
---|
| 84 | E_SIZE2 24 7 15 - EV_ANRS
|
---|
| 85 | E_SIZE2 24 6 16 - EV_ASGN
|
---|
| 86 | E_SIZE3 32 8 17 - EV_TRNS
|
---|
| 87 | E_SIZE1 20 6 18 - EV_REPT
|
---|
| 88 | E_SIZE1 20 6 19 - EV_PNCH
|
---|
| 89 | E_SIZE1 20 7 20 - EV_PRES
|
---|
| 90 | E_SIZE1 20 6 21 - EV_FINI
|
---|
| 91 | E_SIZE1 20 7 22 - EV_CPRS
|
---|
| 92 | E_SIZE1 20 5 23 - EV_BAR
|
---|
| 93 | |
---|
| 94 | MIDAS-VII Event Formats on Disk
|
---|
| 95 | -------------------------------
|
---|
| 96 |
|
---|
| 97 | . All events are stored on disk in compressed form as:
|
---|
| 98 |
|
---|
| 99 | +0 1 byte type code,
|
---|
| 100 |
|
---|
| 101 | +1 4 bytes time (in absolute frames),
|
---|
| 102 |
|
---|
| 103 | +5 0 to 4 bytes parameter data.
|
---|
| 104 |
|
---|
| 105 |
|
---|
| 106 | Type Format on disk
|
---|
| 107 | -------- ------------------------------
|
---|
| 108 | EV_NULL -- not stored on disk --
|
---|
| 109 | EV_SCORE 01 tt tt tt tt nn
|
---|
| 110 | EV_SBGN 02 tt tt tt tt ss
|
---|
| 111 | EV_SEND 03 tt tt tt tt ss
|
---|
| 112 | EV_INST 04 tt tt tt tt gg ii
|
---|
| 113 | EV_NBEG 05 tt tt tt tt nn gg vv vv
|
---|
| 114 | EV_NEND 06 tt tt tt tt nn gg vv vv
|
---|
| 115 | EV_STOP 07 tt tt tt tt
|
---|
| 116 | EV_INTP 08 tt tt tt tt ii ii
|
---|
| 117 | EV_TMPO 09 tt tt tt tt vv
|
---|
| 118 | EV_TUNE 0A tt tt tt tt nn
|
---|
| 119 | EV_GRP 0B tt tt tt tt gg ss
|
---|
| 120 | EV_LOCN 0C tt tt tt tt gg ll
|
---|
| 121 | EV_DYN 0D tt tt tt tt gg dd
|
---|
| 122 | EV_ANVL 0E tt tt tt tt vg vv vv
|
---|
| 123 | EV_ANRS 0F tt tt tt tt vg rr
|
---|
| 124 | EV_ASGN 10 tt tt tt tt nn
|
---|
| 125 | EV_TRNS 11 tt tt tt tt gg cc cc
|
---|
| 126 | EV_REPT 12 tt tt tt tt cc
|
---|
| 127 | EV_PNCH 13 tt tt tt tt cc
|
---|
| 128 | EV_PRES 14 tt tt tt tt kk pp (OBSOLETE)
|
---|
| 129 | EV_FINI 15 tt tt tt tt ss
|
---|
| 130 | EV_CPRS 16 tt tt tt tt gg pp (OBSOLETE)
|
---|
| 131 | EV_BAR 17 tt tt tt tt
|
---|
| 132 | EV_NEXT 18 tt tt tt tt
|
---|