mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.8 KiB
31 lines
1.8 KiB
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.)
|