When programming for DirectMusic composition, you will use a variety of files produced in a tool such as DirectMusic Producer. You load these elements into the application as COM objects and obtain interfaces to them. (See DirectMusic Loader.)
The following table summarizes the types of files you will encounter. The Class GUID is the value you put in the guidClass member of the DMUS_OBJECTDESC structure when loading the object.
Note Bands can be authored as part of a style, in which case they are automatically loaded when the style is loaded. Similarly, styles and bands can be authored into a segment, in which case you don't need separate files for those elements.
Files may also contain references to other files. If a style contains a reference to a band, the band is automatically loaded when the style is, provided the loader can find the band file.
Element | Class GUID | Interface | File Type |
---|---|---|---|
Band | CLSID_DirectMusicBand | IDirectMusicBand | .bnd |
DLS Collection | CLSID_DirectMusicCollection | IDirectMusicCollection | .dls |
ChordMap | CLSID_DirectMusicChordMap | IDirectMusicChordMap | .cdm |
Segment | CLSID_DirectMusicSegment | IDirectMusicSegment | .sgt |
Style | CLSID_DirectMusicStyle | IDirectMusicStyle | .sty |
Template | CLSID_DirectMusicSegment | IDirectMusicSegment | .tpl |