windows-nt/Source/XPSP1/NT/multimedia/directx/dmusic/dmsynth/ddkreadme.txt
2020-09-26 16:20:57 +08:00

32 lines
1.8 KiB
Plaintext

The ddksynth sample in the DDK is created from the live sources in dmsynth.
The sample is generated by removing text between the special BEGIN and END
@@DDKSPLIT tags (such as this paragraph).
This can get a bit cryptic when one line must be used in the real dmsynth code
and a different line must appear in the sample ddksynth code. Example from umsynth.cpp:
// @@BEGIN_DDKSPLIT -- This section will be removed in the DDK sample.
pCaps->guidPort = CLSID_DirectMusicSynth;
#if 0 // The following section will only take affect in the DDK sample.
// @@END_DDKSPLIT
pCaps->guidPort = CLSID_DDKSynth;
// @@BEGIN_DDKSPLIT -- This section will be removed in the DDK sample.
#endif
// @@END_DDKSPLIT
In this example, just the line with CLSID_DDKSynth will appear in the ddksynth
sample. In the real dmsynth code, CLSID_DDKSynth is surrounded by an #if 0 conditional so it
has no effect. Thus only CLSID_DirectMusicSynth takes effect in the real code.
The point here is to ship real functioning code for a synthesizer in the DDK, but to replace
its name and CLSID and also to strip out any Microsoft proprietary or licensed technology. For
example, we can't ship our reverb capability in the DDK since it is licensed from another company.
You can build the cab containing this sample by running "genddkcab dmusiccab.ini" from the
\nt\private\ddk\cabs directory. See http://devkits/ddk for more information about the DDK.
There are two files that are used only for the DDK sample:
ddksynth.htm: A descriptive overview that will appear in the DDK sample.
ddksources: The sources file that will be used in the DDK sample.
(It would have been too difficult to generate it from the dmsynth sources.inc file.
Please keep these two files in sync.)