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
|
---|