32 lines
1.8 KiB
Plaintext
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.)
|