Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The following notation shows the organization of the top-level chunk of a style file. This form can also be contained within a Container Form.
RIFF( 'DMST'
<styh-ck> // Style header chunk
<guid-ck> // Unique identifier
[<UNFO-list>] // Name, author, copyright information, comments
[<vers-ck>] // Version chunk
<part-list>... // Array of parts in the style, used by patterns
<pttn-list>... // Array of patterns in the style
<DMBD-form>... // List of bands in the style
[<prrf-list>] // List of chordmap references in the style
)
<styh-ck>
This chunk contains the basic header information for a style.
<styh-ck> -> styh( <DMUS_IO_STYLE> )
<guid-ck>,<UNFO-list>, <vers-ck>
For information on these three chunks, see Common Chunks.
<part-list>
Each musical part in the style is described in a chunk with the following format.
<part-list> -> LIST('part'
<prth-ck> // Part header chunk
[<UNFO-list>]
[<note-ck>] // Notes in part.
[<crve-ck>] // Curves in part.
[<mrkr-ck>] // Markers in part.
[<rsln-ck>] // Variation resolutions in part.
[<anpn-ck>] // Resolution anticipations in part.
)
The part list includes a header, an optional UNFO chunk, and a list of elements, as shown in the following notation. (For the UNFO list, see Common Chunks.)
<prth-ck> -> prth( <DMUS_IO_STYLEPART> )
<note-ck> -> note(
< DWORD > // Size of DMUS_IO_STYLENOTE
< DMUS_IO_STYLENOTE >...
)
<crve-ck> -> crve(
< DWORD > // Size of DMUS_IO_STYLECURVE.
< DMUS_IO_STYLECURVE >...
)
<mrkr-ck> -> mrkr(
< DWORD > // Size of DMUS_IO_STYLEMARKER.
< DMUS_IO_STYLEMARKER >...
)
<rsln-ck> -> rsln(
< DWORD > // Size of DMUS_IO_STYLERESOLUTION.
< DMUS_IO_STYLERESOLUTION >...
)
<anpn-ck> -> anpn(
< DWORD > Size of DMUS_IO_STYLE_ANTICIPATION.
< DMUS_IO_STYLE_ANTICIPATION >...
)
<pttn-list>
Each pattern is described in a chunk with the following format.
<pttn-list> -> LIST( 'pttn'
<ptnh-ck> // Pattern header chunk.
<rhtm-ck> // List of rhythms for chord matching.
[<UNFO-list>]
[<mtfs-ck>] // Motif settings chunk.
[<DMBD-form>] // Band to be associated with the pattern
// (for motifs).
<pref-list>... // Array of part reference Ids.
)
The first chunk of the pattern list is a header:
<ptnh-ck> -> ptnh( <DMUS_IO_PATTERN> )
The second chunk is a rhythm list:
<rhtm-ck> -> rhtm( <DWORD>... )
This chunk consists of an array of DWORDs, one for each measure, giving the rhythm pattern. For information on the arrangement of the bits, see the dwRhythmPattern member of DMUS_RHYTHM_PARAM.
For the optional UNFO list, see Common Chunks.
The next chunk of the pattern list describes the motif settings:
<mtfs-ck> -> mtfs( <DMUS_IO_MOTIFSETTINGS> )
For the <DMBD-form> chunk of the pattern list, see Band Form.
The last chunk of the pattern list is a part reference list.
<pref-list> -> LIST( 'pref'
<prfc-ck> // Part reference chunk
)
The only element is a part reference.
<prfc-ck> -> prfc( <DMUS_IO_PARTREF> )
<DMBD-form>
The next chunk in the style form is a Band Form.
<prrf-list>
The final chunk contains an array of chordmap references:
<prrf-list> -> LIST( 'prrf'
<DMRF-list>...
)
For more information on <DMRF-list>, see Reference List.