DirectX SDK

Core and Performance Layers

The DirectMusic core layer manages timing and ports and provides services for managing DLS collections. It supports buffered, time-stamped MIDI input and output. By default, DirectMusic itself sequences the MIDI data.

The core layer also includes the Microsoft Software Synthesizer, which functions as the hardware emulation layer for DLS support. If the user's computer does not have DLS hardware acceleration, the software synthesizer uses DLS to synthesize wave output from the sequenced MIDI data. Vendors can also create their own software synthesizers.

The DirectMusic performance layer is responsible for the higher-level aspects of music playback, including the loading and playback of MIDI files and the composition of music, based on elements authored in DirectMusic Producer or a similar application.

[C++]

The interfaces and related API elements for the core layer are declared in the Dmusicc.h header file, and those for the performance layer are in the Dmusici.h header file.

[Visual Basic]

DirectX for Visual Basic exposes primarily the performance layer. For specialized applications that need to work with multiple ports, manipulate DLS data at a low level, or create their own data tracks, use C++.