19.3 Sequence Banks

To provide a convenient way of collecting multiple MIDI sequences and accessing them from the ROM, Silicon Graphics has defined a simple Sequence Bank format. Files of this format are produced by the Sequence Bank Compiler (sbc), which takes multiple MIDI files and collects them with a simple header.

The format for the Sequence Bank file header is:

typedef struct {
        u16             version;        /* Should be 01 */
        s16             seqCount;
        ALSeqData       seqArray[];
}

where seqCount is the number of sequences in the file, and the seqArray gives a list of offsets into the file and lengths for the individual sequences.

typedef struct {
        u8                *offset;
        s32                seqLen;
} ALSeqData

The offsets represent the position of the start of the sequence from the beginning of the file. Note that the start of all sequences are 8-byte aligned when the Sequence Bank Compiler is used to compile.

UP