Style Form
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.
© 2004 Microsoft Corporation. All rights reserved.