data chunk, 70
decibels, 253
Deep Space sample program, 229-233
loading sounds in, 231
in OpenAL, 248
updating buffers and listener in, 232-233
deleting primary buffer, 32
Delphi
BASS supporting, 16
ModPlug supporting, 17
DevStudio, 26
callouts, 78
custom resources, storing, 78
with Ogg Vorbis libraries, 133
resource files, creating, 76-77
direct path, 251-252
DirectGraphics, 45
DirectMusic, 8, 13, 22. See also MIDI keyboard
alternative patterns, creating, 326-327
bands in, 168, 171-172, 174, 179-180
beat detection, 110-112
CC (Control Curve) track, 168
chords, 322-326
chord paths, 326
segments, inputting, 323
setting up, 324-326
Chords for Composition track, 325-326
complexity of, 44-45
control segments, 183
creating segments, 46
defined, 23
DLS collections, 179
embellishments, 170-171
creating, 319-320
General MIDI instrument set, 179
grooves and groove levels, 177-179
changing groove levels, 178-179, 184-185
performance groove modifier, 184-185
range in, 174-175
IsSecondary flag, 195
Loader, 45-46
motifs, 170
adding, 321-322
beat boundary, starting on, 324
multiple parts for, 323
playing, 185-188
multithreading, 114-115
overview of interfaces, 45
parts, 177
defined, 168
alternative patterns, creating, 326-327
performance channels, 168-169
performance groove modifier, 184-185
Performance object, 46-47
playing
motifs, 185-188
segments, 183-184
segments, 173-174
for chords, 323
control segments, 183
creating, 46
playing, 183-184
tempo tracks, 174
tracked music compared, 175-176
tracks, 168
use of term, 15
Var Switch Point track, 168
variations in patterns, 170, 318
volume controls, 44
DirectMusic Producer, 101
additional parts, adding, 314-315
alternative patterns, creating, 326-327
articulation, setting up, 307
attack, decay, sustain, and release (ADSR) of instrument in, 307-309
AudioVP scripts with, 191
band, setting up, 309-311
band editor, 309-310
chord track, 311
creating songs with, 302-303
DLS collection, creating, 305-309
harmony, setting up for, 310
icons in, 303
installing, 300-302
Instrument heading controls, 306-307
loading WAV files, 305-306
looping segments, 317
LSB numbers, 307
melody, setting up for, 310
metronome toolbar button, 313
MSB numbers, 307
Note Overlap Allowed checkbox, 308
note range edit boxes, 306
objects
creating, 303
list of, 304-305
Pattern Editor, using, 311-315
patterns
alternative patterns, creating, 326-327
creating, 311-315
finishing input, 315-316
notes, entering, 312-313
quantizing notes, 313-314
stringing patterns inside segment, 316-317
quantizing notes, 313-314
runtime format, saving as, 317, 327
segments
looping, 317
stringing patterns inside, 316-317
sound effects with, 205-207
variations, adding, 318-319
volume, setting the, 311
zooming hotkeys in, 312
directories for audio data, 78-79
DirectPlay. See also DirectPlay Voice
callback function in, 272-273
common messages in, 273
connecting to game, 271-272
description of, 269-274
disconnecting from game, 274
GUIDs in, 270-271
interface, creating, 270
lobbies in, 275
peer-to-peer topology, 271
receiving messages, 272-273
sending messages, 273-274
service provider, selecting, 270-271
session, flow of events in, 269-270
starting a game, 271-272
threads in, 274
DirectPlay Voice, 263-282
basic concept of, 264
calibrating mic and speakers, 278
callback function in, 277-278
CheckAudioSetup method, 278
CNetVoice, 280-281
common voice messages, 278-279
CPlayer object, 281
Forwarding Server Topology, 265-268
full-duplex sound cards for, 280
initializing, 278
Mixing Server Topology with, 265, 268, 281
network topologies, 264-269
in peer-to-peer communications, 264-265
programming, 277-281
reference counted player objects, 281
sound cards for, 280
3D sound buffers, voices as, 281-282
triggers in, 264
DirectShow
filters in, 125
interfaces, 125
messages from, 126-127
MP3 files, playing, 124-128
streaming MP3s with, 125-126
DirectSound, 22
buffer, 209
defined, 23
EAX for, 261
initializing, 30-32
playing sounds with, 61-62
primary buffers, 23-24
secondary buffers, 23-24
streaming wave files in, 44
DirectX 3 interface, BASS supporting, 16
DirectX AppWizard, 29
DirectX Audio. See also 3D sound; ToneGenerator
basics of, 22-26
compiler, setting up, 26-29
configuration paths for, 26-27
definitions of terms, 23
DLS1 with, 13
playing waves, sample programs for, 62
streaming, 25-26
Discrete Fourier Transform (DFT), 285. See also spectrum analyzers
arrays, constructing, 292-293
calculating, 293-294
CDiscreteFourierTransform class, 291-292
graph, rendering, 294-295
Nyquist number, 289-290
distance factor, 223
DLLs, 57
Ogg Vorbis and, 131
DLS collections, 166-167
bands, 171
with DirectMusic Producer, 305-309
sample lists as, 179
DMUS_SCRIPT_ERRORINFO object, 200-201
DoConnectWizard, 276-277
Dolby
Digital encoding, 261
Web site, 261
Doppler, Christian, 219
in Deep Space sample program, 230
Download method, 60
downloading sounds, 60
automatic downloading, 61
sound effects, 333-334
drive letters for CD peripherals, 143-145
DSBLOCK_FROMWRITECURSOR flag, 37
DSBPLAY_LOOPING flag, 40
DSBUFFERDESC structure, 34
DSFXI3DL2Reverb structure, 253-255
DS3Listener, 226
duration of note, 167
dwBufferBytes, 34
DWORDs, 146-147
DXGetErrorString8 function, 34
dynamic music, 165-186. See also DirectMusic; DirectMusic Producer
DLS collections, 166-167
elements of, 166
notes in, 167-168
playing, 183-184
programming, 180-183
segments, creating, 46
tutorial for creating, 299-327
dynamic_cast keyword, 106