MIDAS-VII Score (M7SLOTnn.SCR) File Format 1988-06-28 Rev 2 ------------------------------------------ ---------- ----- . Scores are stored in files with up to 20 scores per file. . Scores are stored on disk in packed form and unpacked when loaded. . An empty score takes only a 4 byte length flag (-1L) on disk. . Each file consists of: Library Header Record 56 bytes --------------------- -------- . Every MIDAS-VII library file has a header, as follows: struct mlibhdr { /* MIDAS library file header */ char l_csum[8]; /* checksum in HEX ASCII, of all but l_csum[] */ char l_name[8]; /* file name */ char l_type[3]; /* file type (SCR for a score) */ char l_cmnt[37]; /* comment */ }; Total longs required 4 bytes -------------------- ------- . Total number of longs required in RAM to load all of the scores. Scores 01-20 ------------ . All scores start with their length: nbr 4 bytes Number of longs required, or -1L if the score is empty . Non-Empty scores have the following additional data: scname 16 bytes Score name (not zero terminated) stimes 240 bytes Section flags and SMPTE times table: 20 entries, 1 per section, 12 bytes per section struct s_time { /* section time structure */ short sflags; /* flags */ char smpte[10]; /* SMPTE start timecode */ }; events 5..32 bytes Packed event data . See "MIDAS-VII Score Event Formats" for details. MIDAS-VII Score Event Sizes (in bytes) --------------------------------------- . Standard event sizes in RAM: E_SIZE1 20 bytes E_SIZE2 24 bytes E_SIZE3 32 bytes . Event sizes in RAM and on disk: size score disk type ------- ----- ---- -------------- E_SIZE1 20 0 0 - EV_NULL E_SIZE1 20 6 1 - EV_SCORE E_SIZE2 24 6 2 - EV_SBGN E_SIZE2 24 6 3 - EV_SEND E_SIZE2 24 7 4 - EV_INST E_SIZE1 20 9 5 - EV_NBEG E_SIZE1 20 9 6 - EV_NEND E_SIZE1 20 5 7 - EV_STOP E_SIZE1 20 7 8 - EV_INTP E_SIZE2 24 6 9 - EV_TMPO E_SIZE2 24 6 10 - EV_TUNE E_SIZE2 24 7 11 - EV_GRP E_SIZE2 24 7 12 - EV_LOCN E_SIZE2 24 7 13 - EV_DYN E_SIZE2 24 8 14 - EV_ANVL E_SIZE2 24 7 15 - EV_ANRS E_SIZE2 24 6 16 - EV_ASGN E_SIZE3 32 8 17 - EV_TRNS E_SIZE1 20 6 18 - EV_REPT E_SIZE1 20 6 19 - EV_PNCH E_SIZE1 20 7 20 - EV_PRES E_SIZE1 20 6 21 - EV_FINI E_SIZE1 20 7 22 - EV_CPRS E_SIZE1 20 5 23 - EV_BAR MIDAS-VII Event Formats on Disk ------------------------------- . All events are stored on disk in compressed form as: +0 1 byte type code, +1 4 bytes time (in absolute frames), +5 0 to 4 bytes parameter data. Type Format on disk -------- ------------------------------ EV_NULL -- not stored on disk -- EV_SCORE 01 tt tt tt tt nn EV_SBGN 02 tt tt tt tt ss EV_SEND 03 tt tt tt tt ss EV_INST 04 tt tt tt tt gg ii EV_NBEG 05 tt tt tt tt nn gg vv vv EV_NEND 06 tt tt tt tt nn gg vv vv EV_STOP 07 tt tt tt tt EV_INTP 08 tt tt tt tt ii ii EV_TMPO 09 tt tt tt tt vv EV_TUNE 0A tt tt tt tt nn EV_GRP 0B tt tt tt tt gg ss EV_LOCN 0C tt tt tt tt gg ll EV_DYN 0D tt tt tt tt gg dd EV_ANVL 0E tt tt tt tt vg vv vv EV_ANRS 0F tt tt tt tt vg rr EV_ASGN 10 tt tt tt tt nn EV_TRNS 11 tt tt tt tt gg cc cc EV_REPT 12 tt tt tt tt cc EV_PNCH 13 tt tt tt tt cc EV_PRES 14 tt tt tt tt kk pp (OBSOLETE) EV_FINI 15 tt tt tt tt ss EV_CPRS 16 tt tt tt tt gg pp (OBSOLETE) EV_BAR 17 tt tt tt tt EV_NEXT 18 tt tt tt tt