The Microsoft® Software Synthesizer is a user-mode component of the DirectMusic® installation and should be adequate for most synthesizer purposes. DirectMusic uses this component as its default synthesizer.
DirectMusic also allows you to implement your own user-mode software synthesizer. The source code to Microsoft's implementation of a kernel-mode software synthesizer is shipped in the Windows DDK as the ddksynth sample driver. This code is similar to that used in Microsoft's default user-mode synth. You can use this code as an example for implementing your own custom kernel-mode synth or, with minor modifications, adapt it for use as a user-mode synth.
In DirectX 6.1 and 7, DirectMusic allows you to use a custom, user-mode synth sink to redirect rendered wave output to a device other than DirectSound. However, custom synth sinks are seldom necessary. In DirectX 8 and later, DirectMusic provides no support for custom synth sinks.
The most important header files for DirectMusic synths are dmusics.h (user mode only), dmusicks.h (kernel mode only), dmusbuff.h, and dmusprop.h.
The remainder of this section discusses various aspects of customizing the rendering process. The examples in this section assume a user-mode implementation, although the concepts that they present apply to both user and kernel mode, except where noted otherwise. The following topics are discussed: