[1] | 1 | ' dmusic.sbp - This module contains the API for the DirectMusic performance layer
|
---|
| 2 |
|
---|
| 3 |
|
---|
| 4 | #ifndef _INC_DMUSIC
|
---|
| 5 | #define _INC_DMUSIC
|
---|
| 6 |
|
---|
| 7 |
|
---|
| 8 | #include <directx9\dsound.sbp>
|
---|
| 9 | #include <directx9\dmdls.sbp>
|
---|
| 10 | #include <directx9\dmusicc.sbp>
|
---|
| 11 | #include <directx9\dmplugin.sbp>
|
---|
| 12 |
|
---|
| 13 |
|
---|
| 14 | TypeDef REFERENCE_TIME = Int64
|
---|
| 15 | TypeDef MUSIC_TIME = Long
|
---|
| 16 |
|
---|
| 17 |
|
---|
| 18 | ' For DMUS_PMSG dwFlags
|
---|
| 19 | Const Enum DMUS_PMSGF_FLAGS
|
---|
| 20 | DMUS_PMSGF_REFTIME = 1
|
---|
| 21 | DMUS_PMSGF_MUSICTIME = 2
|
---|
| 22 | DMUS_PMSGF_TOOL_IMMEDIATE = 4
|
---|
| 23 | DMUS_PMSGF_TOOL_QUEUE = 8
|
---|
| 24 | DMUS_PMSGF_TOOL_ATTIME = &H10
|
---|
| 25 | DMUS_PMSGF_TOOL_FLUSH = &H20
|
---|
| 26 | DMUS_PMSGF_LOCKTOREFTIME = &H40
|
---|
| 27 | DMUS_PMSGF_DX8 = &H80
|
---|
| 28 | End Enum
|
---|
| 29 |
|
---|
| 30 | Const Enum DMUS_PMSGT_TYPES
|
---|
| 31 | DMUS_PMSGT_MIDI = 0
|
---|
| 32 | DMUS_PMSGT_NOTE = 1
|
---|
| 33 | DMUS_PMSGT_SYSEX = 2
|
---|
| 34 | DMUS_PMSGT_NOTIFICATION = 3
|
---|
| 35 | DMUS_PMSGT_TEMPO = 4
|
---|
| 36 | DMUS_PMSGT_CURVE = 5
|
---|
| 37 | DMUS_PMSGT_TIMESIG = 6
|
---|
| 38 | DMUS_PMSGT_PATCH = 7
|
---|
| 39 | DMUS_PMSGT_TRANSPOSE = 8
|
---|
| 40 | DMUS_PMSGT_CHANNEL_PRIORITY = 9
|
---|
| 41 | DMUS_PMSGT_STOP = 10
|
---|
| 42 | DMUS_PMSGT_DIRTY = 11
|
---|
| 43 | DMUS_PMSGT_WAVE = 12
|
---|
| 44 | DMUS_PMSGT_LYRIC = 13
|
---|
| 45 | DMUS_PMSGT_SCRIPTLYRIC = 14
|
---|
| 46 | DMUS_PMSGT_USER = 255
|
---|
| 47 | End Enum
|
---|
| 48 |
|
---|
| 49 | Const DMUS_PCHANNEL_BROADCAST_PERFORMANCE = &HFFFFFFFF 'PMsg is sent on all PChannels of the performance.
|
---|
| 50 | Const DMUS_PCHANNEL_BROADCAST_AUDIOPATH = &HFFFFFFFE 'PMsg is sent on all PChannels of the audio path.
|
---|
| 51 | Const DMUS_PCHANNEL_BROADCAST_SEGMENT = &HFFFFFFFD 'PMsg is sent on all PChannels of the segment.
|
---|
| 52 | Const DMUS_PCHANNEL_BROADCAST_GROUPS = &HFFFFFFFC 'A duplicate PMsg is for each Channels Groups in the performance.
|
---|
| 53 |
|
---|
| 54 | Const DMUS_PATH_SEGMENT = &H1000 'Get the segment itself (from a segment state.)
|
---|
| 55 | Const DMUS_PATH_SEGMENT_TRACK = &H1100 'Look in Track List of Segment.
|
---|
| 56 | Const DMUS_PATH_SEGMENT_GRAPH = &H1200 'Get the segment's tool graph.
|
---|
| 57 | Const DMUS_PATH_SEGMENT_TOOL = &H1300 'Look in Tool Graph of Segment.
|
---|
| 58 | Const DMUS_PATH_AUDIOPATH = &H2000 'Get the audiopath itself (from a segment state.)
|
---|
| 59 | Const DMUS_PATH_AUDIOPATH_GRAPH = &H2200 'Get the audiopath's tool graph.
|
---|
| 60 | Const DMUS_PATH_AUDIOPATH_TOOL = &H2300 'Look in Tool Graph of Audio Path.
|
---|
| 61 | Const DMUS_PATH_PERFORMANCE = &H3000 'Access the performance.
|
---|
| 62 | Const DMUS_PATH_PERFORMANCE_GRAPH = &H3200 'Get the performance's tool graph.
|
---|
| 63 | Const DMUS_PATH_PERFORMANCE_TOOL = &H3300 'Look in Tool Graph of Performance.
|
---|
| 64 | Const DMUS_PATH_PORT = &H4000 'Access the synth.
|
---|
| 65 | Const DMUS_PATH_BUFFER = &H6000 'Look in DirectSoundBuffer.
|
---|
| 66 | Const DMUS_PATH_BUFFER_DMO = &H6100 'Access a DMO in the buffer.
|
---|
| 67 | Const DMUS_PATH_MIXIN_BUFFER = &H7000 'Look in a global mixin buffer.
|
---|
| 68 | Const DMUS_PATH_MIXIN_BUFFER_DMO = &H7100 'Access a DMO in a global mixin buffer.
|
---|
| 69 | Const DMUS_PATH_PRIMARY_BUFFER = &H8000 'Access the primary buffer.
|
---|
| 70 |
|
---|
| 71 | Const DMUS_PCHANNEL_ALL = &HFFFFFFFB
|
---|
| 72 |
|
---|
| 73 | Type DMUS_PMSG
|
---|
| 74 | dwSize As DWord
|
---|
| 75 | rtTime As REFERENCE_TIME
|
---|
| 76 | mtTime As MUSIC_TIME
|
---|
| 77 | dwFlags As DWord
|
---|
| 78 | dwPChannel As DWord
|
---|
| 79 | dwVirtualTrackID As DWord
|
---|
| 80 | pTool As *IDirectMusicTool
|
---|
| 81 | pGraph As *IDirectMusicGraph
|
---|
| 82 | dwType As DWord
|
---|
| 83 | dwVoiceID As DWord
|
---|
| 84 | dwGroupID As DWord
|
---|
| 85 | punkUser As *IUnknown
|
---|
| 86 | End Type
|
---|
| 87 |
|
---|
| 88 | Const DMUS_APATH_SHARED_STEREOPLUSREVERB = 1
|
---|
| 89 | Const DMUS_APATH_DYNAMIC_3D = 6
|
---|
| 90 | Const DMUS_APATH_DYNAMIC_MONO = 7
|
---|
| 91 | Const DMUS_APATH_DYNAMIC_STEREO = 8
|
---|
| 92 |
|
---|
| 93 | ' For DMUS_AUDIOPARAMS dwFeatures
|
---|
| 94 | Const DMUS_AUDIOF_3D = &H1
|
---|
| 95 | Const DMUS_AUDIOF_ENVIRON = &H2
|
---|
| 96 | Const DMUS_AUDIOF_EAX = &H4
|
---|
| 97 | Const DMUS_AUDIOF_DMOS = &H8
|
---|
| 98 | Const DMUS_AUDIOF_STREAMING = &H10
|
---|
| 99 | Const DMUS_AUDIOF_BUFFERS = &H20
|
---|
| 100 | Const DMUS_AUDIOF_ALL = &H3F
|
---|
| 101 |
|
---|
| 102 | ' For DMUS_AUDIOPARAMS dwValidData
|
---|
| 103 | Const DMUS_AUDIOPARAMS_FEATURES = &H00000001
|
---|
| 104 | Const DMUS_AUDIOPARAMS_VOICES = &H00000002
|
---|
| 105 | Const DMUS_AUDIOPARAMS_SAMPLERATE = &H00000004
|
---|
| 106 | Const DMUS_AUDIOPARAMS_DEFAULTSYNTH = &H00000008
|
---|
| 107 |
|
---|
| 108 | Type DMUS_AUDIOPARAMS
|
---|
| 109 | dwSize As DWord
|
---|
| 110 | fInitNow As Long
|
---|
| 111 | dwValidData As DWord
|
---|
| 112 | dwFeatures As DWord
|
---|
| 113 | dwVoices As DWord
|
---|
| 114 | dwSampleRate As DWord
|
---|
| 115 | clsidDefaultSynth As GUID
|
---|
| 116 | End Type
|
---|
| 117 |
|
---|
| 118 | ' DMUS_SEGF_FLAGS correspond to IDirectMusicPerformance::PlaySegment
|
---|
| 119 | Const Enum DMUS_SEGF_FLAGS
|
---|
| 120 | DMUS_SEGF_REFTIME = 1<<6 '&H40 Time parameter is in reference time
|
---|
| 121 | DMUS_SEGF_SECONDARY = 1<<7 '&H80 Secondary segment
|
---|
| 122 | DMUS_SEGF_QUEUE = 1<<8 '&H100 Queue at the end of the primary segment queue (primary only)
|
---|
| 123 | DMUS_SEGF_CONTROL = 1<<9 '&H200 Play as a control track (secondary segments only)
|
---|
| 124 | DMUS_SEGF_AFTERPREPARETIME = 1<<10 '&H400 Play after the prepare time (See IDirectMusicPerformance::GetPrepareTime)
|
---|
| 125 | DMUS_SEGF_GRID = 1<<11 '&H800 Play on grid boundary
|
---|
| 126 | DMUS_SEGF_BEAT = 1<<12 '&H1000 Play on beat boundary
|
---|
| 127 | DMUS_SEGF_MEASURE = 1<<13 '&H2000 Play on measure boundary
|
---|
| 128 | DMUS_SEGF_DEFAULT = 1<<14 '&H4000 Use segment's default boundary
|
---|
| 129 | DMUS_SEGF_NOINVALIDATE = 1<<15 '&H8000 Play without invalidating the currently playing segment(s)
|
---|
| 130 | DMUS_SEGF_ALIGN = 1<<16 '&H10000 Align segment with requested boundary, but switch at first valid point
|
---|
| 131 | DMUS_SEGF_VALID_START_BEAT = 1<<17 '&H20000 In conjunction with DMUS_SEGF_ALIGN, allows the switch to occur on any beat.
|
---|
| 132 | DMUS_SEGF_VALID_START_GRID = 1<<18 '&H40000 In conjunction with DMUS_SEGF_ALIGN, allows the switch to occur on any grid.
|
---|
| 133 | DMUS_SEGF_VALID_START_TICK = 1<<19 '&H80000 In conjunction with DMUS_SEGF_ALIGN, allows the switch to occur any time.
|
---|
| 134 | DMUS_SEGF_AUTOTRANSITION = 1<<20 '&H100000 Compose and play a transition segment, using the transition template.
|
---|
| 135 | DMUS_SEGF_AFTERQUEUETIME = 1<<21 '&H200000 Make sure to play after the queue time. This is default for primary segments
|
---|
| 136 | DMUS_SEGF_AFTERLATENCYTIME = 1<<22 '&H400000 Make sure to play after the latency time. This is true for all segments, so this is a nop
|
---|
| 137 | DMUS_SEGF_SEGMENTEND = 1<<23 '&H800000 Play at the next end of segment.
|
---|
| 138 | DMUS_SEGF_MARKER = 1<<24 '&H1000000 Play at next marker in the primary segment. If there are no markers, default to any other resolution requests.
|
---|
| 139 | DMUS_SEGF_TIMESIG_ALWAYS = 1<<25 '&H2000000 Even if there is no primary segment, align start time with current time signature.
|
---|
| 140 | DMUS_SEGF_USE_AUDIOPATH = 1<<26 '&H4000000 Uses the audio path that is embedded in the segment.
|
---|
| 141 | DMUS_SEGF_VALID_START_MEASURE = 1<<27 '&H8000000 In conjunction with DMUS_SEGF_ALIGN, allows the switch to occur on any bar.
|
---|
| 142 | DMUS_SEGF_INVALIDATE_PRI = 1<<28 '&H10000000 invalidate only the current primary seg state
|
---|
| 143 | End Enum
|
---|
| 144 |
|
---|
| 145 | Const DMUS_SEG_REPEAT_INFINITE = &HFFFFFFFF 'For IDirectMusicSegment::SetRepeat
|
---|
| 146 | Const DMUS_SEG_ALLTRACKS = &H80000000 'For IDirectMusicSegment::SetParam() and SetTrackConfig() - selects all tracks instead on nth index.
|
---|
| 147 | Const DMUS_SEG_ANYTRACK = &H80000000 'For IDirectMusicSegment::GetParam() - checks each track until it finds one that returns data (not DMUS_E_NOT_FOUND.)
|
---|
| 148 |
|
---|
| 149 | Const Enum DMUS_TIME_RESOLVE_FLAGS
|
---|
| 150 | DMUS_TIME_RESOLVE_AFTERPREPARETIME = DMUS_SEGF_AFTERPREPARETIME
|
---|
| 151 | DMUS_TIME_RESOLVE_AFTERQUEUETIME = DMUS_SEGF_AFTERQUEUETIME
|
---|
| 152 | DMUS_TIME_RESOLVE_AFTERLATENCYTIME = DMUS_SEGF_AFTERLATENCYTIME
|
---|
| 153 | DMUS_TIME_RESOLVE_GRID = DMUS_SEGF_GRID
|
---|
| 154 | DMUS_TIME_RESOLVE_BEAT = DMUS_SEGF_BEAT
|
---|
| 155 | DMUS_TIME_RESOLVE_MEASURE = DMUS_SEGF_MEASURE
|
---|
| 156 | DMUS_TIME_RESOLVE_MARKER = DMUS_SEGF_MARKER
|
---|
| 157 | DMUS_TIME_RESOLVE_SEGMENTEND = DMUS_SEGF_SEGMENTEND
|
---|
| 158 | End Enum
|
---|
| 159 |
|
---|
| 160 | ' The following flags are sent inside the DMUS_CHORD_KEY.dwFlags parameter
|
---|
| 161 | Const Enum DMUS_CHORDKEYF_FLAGS
|
---|
| 162 | DMUS_CHORDKEYF_SILENT = 1 'is the chord silent?
|
---|
| 163 | End Enum
|
---|
| 164 |
|
---|
| 165 | Const DMUS_MAXSUBCHORD = 8
|
---|
| 166 | Type DMUS_SUBCHORD
|
---|
| 167 | dwChordPattern As DWord
|
---|
| 168 | dwScalePattern As DWord
|
---|
| 169 | dwInversionPoints As DWord
|
---|
| 170 | dwLevels As DWord
|
---|
| 171 | bChordRoot As Byte
|
---|
| 172 | bScaleRoot As Byte
|
---|
| 173 | End Type
|
---|
| 174 | Type DMUS_CHORD_KEY
|
---|
| 175 | wszName[16-1] As WCHAR
|
---|
| 176 | wMeasure As Word
|
---|
| 177 | bBeat As Byte
|
---|
| 178 | bSubChordCount As Byte
|
---|
| 179 | SubChordList[DMUS_MAXSUBCHORD-1] As DMUS_SUBCHORD
|
---|
| 180 | dwScale As DWord
|
---|
| 181 | bKey As Byte
|
---|
| 182 | bFlags As Byte
|
---|
| 183 | End Type
|
---|
| 184 |
|
---|
| 185 | Type DMUS_NOTIFICATION_PMSG
|
---|
| 186 | dwSize As DWord
|
---|
| 187 | rtTime As REFERENCE_TIME
|
---|
| 188 | mtTime As MUSIC_TIME
|
---|
| 189 | dwFlags As DWord
|
---|
| 190 | dwPChannel As DWord
|
---|
| 191 | dwVirtualTrackID As DWord
|
---|
| 192 | pTool As *IDirectMusicTool
|
---|
| 193 | pGraph As *IDirectMusicGraph
|
---|
| 194 | dwType As DWord
|
---|
| 195 | dwVoiceID As DWord
|
---|
| 196 | dwGroupID As DWord
|
---|
| 197 | punkUser As *IUnknown
|
---|
| 198 |
|
---|
| 199 | guidNotificationType As GUID
|
---|
| 200 | dwNotificationOption As DWord
|
---|
| 201 | dwField1 As DWord
|
---|
| 202 | dwField2 As DWord
|
---|
| 203 | End Type
|
---|
| 204 |
|
---|
| 205 | Const DMUS_MAX_NAME = 64
|
---|
| 206 | Const DMUS_MAX_CATEGORY = 64
|
---|
| 207 | Const DMUS_MAX_FILENAME = MAX_PATH
|
---|
| 208 |
|
---|
| 209 | Type DMUS_VERSION
|
---|
| 210 | dwVersionMS As DWord
|
---|
| 211 | dwVersionLS As DWord
|
---|
| 212 | End Type
|
---|
| 213 |
|
---|
| 214 | Type DMUS_TIMESIGNATURE
|
---|
| 215 | mtTime As MUSIC_TIME
|
---|
| 216 | bBeatsPerMeasure As Byte
|
---|
| 217 | bBeat As Byte
|
---|
| 218 | wGridsPerBeat As Word
|
---|
| 219 | End Type
|
---|
| 220 |
|
---|
| 221 | ' For DMUS_OBJECTDESC dwValidData
|
---|
| 222 | Const DMUS_OBJ_OBJECT = 1 << 0 'Object GUID is valid.
|
---|
| 223 | Const DMUS_OBJ_CLASS = 1 << 1 'Class GUID is valid.
|
---|
| 224 | Const DMUS_OBJ_NAME = 1 << 2 'Name is valid.
|
---|
| 225 | Const DMUS_OBJ_CATEGORY = 1 << 3 'Category is valid.
|
---|
| 226 | Const DMUS_OBJ_FILENAME = 1 << 4 'File path is valid.
|
---|
| 227 | Const DMUS_OBJ_FULLPATH = 1 << 5 'Path is full path.
|
---|
| 228 | Const DMUS_OBJ_URL = 1 << 6 'Path is URL.
|
---|
| 229 | Const DMUS_OBJ_VERSION = 1 << 7 'Version is valid.
|
---|
| 230 | Const DMUS_OBJ_DATE = 1 << 8 'Date is valid.
|
---|
| 231 | Const DMUS_OBJ_LOADED = 1 << 9 'Object is currently loaded in memory.
|
---|
| 232 | Const DMUS_OBJ_MEMORY = 1 << 10 'Object is pointed to by pbMemData.
|
---|
| 233 | Const DMUS_OBJ_STREAM = 1 << 11 'Object is stored in pStream.
|
---|
| 234 |
|
---|
| 235 | Type DMUS_OBJECTDESC
|
---|
| 236 | dwSize As DWord
|
---|
| 237 | dwValidData As DWord
|
---|
| 238 | guidObject As GUID
|
---|
| 239 | guidClass As GUID
|
---|
| 240 | ftDate As FILETIME
|
---|
| 241 | vVersion As DMUS_VERSION
|
---|
| 242 | wszName[DMUS_MAX_NAME-1] As WCHAR
|
---|
| 243 | wszCategory[DMUS_MAX_CATEGORY-1] As WCHAR
|
---|
| 244 | wszFileName[DMUS_MAX_FILENAME-1] As WCHAR
|
---|
| 245 | llMemLength As Int64
|
---|
| 246 | pbMemData As BytePtr
|
---|
| 247 | pStream As *IStream
|
---|
| 248 | End Type
|
---|
| 249 |
|
---|
| 250 | Type DMUS_SCRIPT_ERRORINFO
|
---|
| 251 | dwSize As DWord
|
---|
| 252 | hr As DWord
|
---|
| 253 | ulLineNumber As DWord
|
---|
| 254 | ichCharPosition As Long
|
---|
| 255 | wszSourceFile[DMUS_MAX_FILENAME-1] As WCHAR
|
---|
| 256 | wszSourceComponent[DMUS_MAX_FILENAME-1] As WCHAR
|
---|
| 257 | wszDescription[DMUS_MAX_FILENAME-1] As WCHAR
|
---|
| 258 | wszSourceLineText[DMUS_MAX_FILENAME-1] As WCHAR
|
---|
| 259 | End Type
|
---|
| 260 |
|
---|
| 261 | ' Track configuration flags, used with IDirectMusicSegment8::SetTrackConfig()
|
---|
| 262 | Const DMUS_TRACKCONFIG_OVERRIDE_ALL = 1 'This track should get parameters from this segment before controlling and primary tracks.
|
---|
| 263 | Const DMUS_TRACKCONFIG_OVERRIDE_PRIMARY = 2 'This track should get parameters from this segment before the primary segment tracks.
|
---|
| 264 | Const DMUS_TRACKCONFIG_FALLBACK = 4 'This track should get parameters from this segment if the primary and controlling segments don't succeed.
|
---|
| 265 | Const DMUS_TRACKCONFIG_CONTROL_ENABLED = 8 'GetParam() enabled for this track.
|
---|
| 266 | Const DMUS_TRACKCONFIG_PLAY_ENABLED = &H10 'Play() enabled for this track.
|
---|
| 267 | Const DMUS_TRACKCONFIG_NOTIFICATION_ENABLED = &H20 'Notifications enabled for this track.
|
---|
| 268 | Const DMUS_TRACKCONFIG_PLAY_CLOCKTIME = &H40 'This track plays in clock time, not music time.
|
---|
| 269 | Const DMUS_TRACKCONFIG_PLAY_COMPOSE = &H80 'This track should regenerate data each time it starts playing.
|
---|
| 270 | Const DMUS_TRACKCONFIG_LOOP_COMPOSE = &H100 'This track should regenerate data each time it repeats.
|
---|
| 271 | Const DMUS_TRACKCONFIG_COMPOSING = &H200 'This track is used to compose other tracks.
|
---|
| 272 | Const DMUS_TRACKCONFIG_CONTROL_PLAY = &H10000 'This track, when played in a controlling segment, overrides playback of primary segment tracks.
|
---|
| 273 | Const DMUS_TRACKCONFIG_CONTROL_NOTIFICATION = &H20000 'This track, when played in a controlling segment, overrides notification of primary segment tracks.
|
---|
| 274 | ' Additional track config flags for composing transitions
|
---|
| 275 | Const DMUS_TRACKCONFIG_TRANS1_FROMSEGSTART = &H400 'Get track info from start of From segment
|
---|
| 276 | Const DMUS_TRACKCONFIG_TRANS1_FROMSEGCURRENT = &H800 'Get track info from current place in From segment
|
---|
| 277 | Const DMUS_TRACKCONFIG_TRANS1_TOSEGSTART = &H1000 'Get track info from start of To segment
|
---|
| 278 | Const DMUS_TRACKCONFIG_DEFAULT = DMUS_TRACKCONFIG_CONTROL_ENABLED or DMUS_TRACKCONFIG_PLAY_ENABLED or DMUS_TRACKCONFIG_NOTIFICATION_ENABLED
|
---|
| 279 |
|
---|
| 280 |
|
---|
| 281 | '-----------------
|
---|
| 282 | ' Interfaces
|
---|
| 283 | '-----------------
|
---|
| 284 |
|
---|
| 285 | Class IDirectMusicBand
|
---|
| 286 | Inherits IUnknown
|
---|
| 287 | Public
|
---|
| 288 | 'IDirectMusicBand
|
---|
| 289 | Abstract Function CreateSegment(ppSegment As **IDirectMusicSegment) As DWord
|
---|
| 290 | Abstract Function Download(pPerformance As *IDirectMusicPerformance) As DWord
|
---|
| 291 | Abstract Function Unload(pPerformance As *IDirectMusicPerformance) As DWord
|
---|
| 292 | End Class
|
---|
| 293 | TypeDef IDirectMusicBand8 = IDirectMusicBand
|
---|
| 294 |
|
---|
| 295 | Class IDirectMusicObject
|
---|
| 296 | Inherits IUnknown
|
---|
| 297 | Public
|
---|
| 298 | 'IDirectMusicObject
|
---|
| 299 | Abstract Function GetDescriptor(pDesc As *DMUS_OBJECTDESC) As DWord
|
---|
| 300 | Abstract Function SetDescriptor(pDesc As *DMUS_OBJECTDESC) As DWord
|
---|
| 301 | Abstract Function ParseDescriptor(pStream As LPSTREAM, pDesc As *DMUS_OBJECTDESC) As DWord
|
---|
| 302 | End Class
|
---|
| 303 | TypeDef IDirectMusicObject8 = IDirectMusicObject
|
---|
| 304 |
|
---|
| 305 | Class IDirectMusicLoader
|
---|
| 306 | Inherits IUnknown
|
---|
| 307 | Public
|
---|
| 308 | 'IDirectMusicLoader
|
---|
| 309 | Abstract Function GetObject(pDesc As *DMUS_OBJECTDESC, ByRef riid As GUID, ppv As VoidPtr) As DWord
|
---|
| 310 | Abstract Function SetObject(pDesc As *DMUS_OBJECTDESC) As DWord
|
---|
| 311 | Abstract Function SetSearchDirectory(ByRef rguidClass As GUID, pwzPath As *WCHAR, fClear As Long) As DWord
|
---|
| 312 | Abstract Function ScanDirectory(ByRef rguidClass As GUID, pwzFileExtension As *WCHAR, pwzScanFileName As *WCHAR) As DWord
|
---|
| 313 | Abstract Function CacheObject(pObject As *IDirectMusicObject) As DWord
|
---|
| 314 | Abstract Function ReleaseObject(pObject As *IDirectMusicObject) As DWord
|
---|
| 315 | Abstract Function ClearCache(ByRef rguidClass As GUID) As DWord
|
---|
| 316 | Abstract Function EnableCache(ByRef rguidClass As GUID, fEnable As Long) As DWord
|
---|
| 317 | Abstract Function EnumObject(ByRef rguidClass As GUID, dwIndex As DWord, pDesc As *DMUS_OBJECTDESC) As DWord
|
---|
| 318 | End Class
|
---|
| 319 |
|
---|
| 320 | Class IDirectMusicLoader8
|
---|
| 321 | Inherits IDirectMusicLoader
|
---|
| 322 | Public
|
---|
| 323 | 'IDirectMusicLoader8
|
---|
| 324 | Abstract Sub CollectGarbage()
|
---|
| 325 | Abstract Function ReleaseObjectByUnknown(pObject As *IUnknown) As DWord
|
---|
| 326 | Abstract Function LoadObjectFromFile(ByRef rguidClassID As GUID, ByRef iidInterfaceID As GUID, pwzFilePath As *WCHAR, ppObject As DWordPtr) As DWord
|
---|
| 327 | End Class
|
---|
| 328 |
|
---|
| 329 | Class IDirectMusicGetLoader
|
---|
| 330 | Inherits IUnknown
|
---|
| 331 | Public
|
---|
| 332 | 'IDirectMusicGetLoader
|
---|
| 333 | Abstract Function GetLoader(ppLoader As **IDirectMusicLoader) As DWord
|
---|
| 334 | End Class
|
---|
| 335 |
|
---|
| 336 | Class IDirectMusicSegment
|
---|
| 337 | Inherits IUnknown
|
---|
| 338 | Public
|
---|
| 339 | 'IDirectMusicSegment
|
---|
| 340 | Abstract Function GetLength(pmtLength As *MUSIC_TIME) As DWord
|
---|
| 341 | Abstract Function SetLength(mtLength As MUSIC_TIME) As DWord
|
---|
| 342 | Abstract Function GetRepeats(pdwRepeats As DWordPtr) As DWord
|
---|
| 343 | Abstract Function SetRepeats(dwRepeats As DWord) As DWord
|
---|
| 344 | Abstract Function GetDefaultResolution(pdwResolution As DWordPtr) As DWord
|
---|
| 345 | Abstract Function SetDefaultResolution(dwResolution As DWord) As DWord
|
---|
| 346 | Abstract Function GetTrack(ByRef rguidType As GUID, dwGroupBits As DWord, dwIndex As DWord, ppTrack As **IDirectMusicTrack) As DWord
|
---|
| 347 | Abstract Function GetTrackGroup(pTrack As *IDirectMusicTrack, pdwGroupBits As DWordPtr) As DWord
|
---|
| 348 | Abstract Function InsertTrack(pTrack As *IDirectMusicTrack, dwGroupBits As DWord) As DWord
|
---|
| 349 | Abstract Function RemoveTrack(pTrack As *IDirectMusicTrack) As DWord
|
---|
| 350 | Abstract Function InitPlay(ppSegState As **IDirectMusicSegmentState, pPerformance As *IDirectMusicPerformance, dwFlags As DWord) As DWord
|
---|
| 351 | Abstract Function GetGraph(ppGraph As **IDirectMusicGraph) As DWord
|
---|
| 352 | Abstract Function SetGraph(pGraph As *IDirectMusicGraph) As DWord
|
---|
| 353 | Abstract Function AddNotificationType(ByRef rguidNotificationType As GUID) As DWord
|
---|
| 354 | Abstract Function RemoveNotificationType(ByRef rguidNotificationType As GUID) As DWord
|
---|
| 355 | Abstract Function GetParam(ByRef rguidType As GUID, dwGroupBits As DWord, dwIndex As DWord, mtTime As MUSIC_TIME, pmtNext As *MUSIC_TIME, pParam As VoidPtr) As DWord
|
---|
| 356 | Abstract Function SetParam(ByRef rguidType As GUID, dwGroupBits As DWord, dwIndex As DWord, mtTime As MUSIC_TIME, pParam As VoidPtr) As DWord
|
---|
| 357 | Abstract Function Clone(mtStart As MUSIC_TIME, mtEnd As MUSIC_TIME, ppSegment As **IDirectMusicSegment) As DWord
|
---|
| 358 | Abstract Function SetStartPoint(mtStart As MUSIC_TIME) As DWord
|
---|
| 359 | Abstract Function GetStartPoint(pmtStart As *MUSIC_TIME) As DWord
|
---|
| 360 | Abstract Function SetLoopPoints(mtStart As MUSIC_TIME, mtEnd As MUSIC_TIME) As DWord
|
---|
| 361 | Abstract Function GetLoopPoints(pmtStart As *MUSIC_TIME, pmtEnd As *MUSIC_TIME) As DWord
|
---|
| 362 | Abstract Function SetPChannelsUsed(dwNumPChannels As DWord, paPChannels As DWordPtr) As DWord
|
---|
| 363 | End Class
|
---|
| 364 |
|
---|
| 365 | Class IDirectMusicSegment8
|
---|
| 366 | Inherits IDirectMusicSegment
|
---|
| 367 | Public
|
---|
| 368 | 'IDirectMusicSegment8
|
---|
| 369 | Abstract Function SetTrackConfig(ByRef rguidTrackClassID As GUID, dwGroupBits As DWord, dwIndex As DWord, dwFlagsOn As DWord, dwFlagsOff As DWord) As DWord
|
---|
| 370 | Abstract Function GetAudioPathConfig(ppAudioPathConfig As **IUnknown) As DWord
|
---|
| 371 | Abstract Function Compose(mtTime As MUSIC_TIME, pFromSegment As *IDirectMusicSegment, pToSegment As *IDirectMusicSegment, ppComposedSegment As **IDirectMusicSegment) As DWord
|
---|
| 372 | Abstract Function Download(pAudioPath As *IUnknown) As DWord
|
---|
| 373 | Abstract Function Unload(pAudioPath As *IUnknown) As DWord
|
---|
| 374 | End Class
|
---|
| 375 |
|
---|
| 376 | Class IDirectMusicSegmentState
|
---|
| 377 | Inherits IUnknown
|
---|
| 378 | Public
|
---|
| 379 | 'IDirectMusicSegmentState
|
---|
| 380 | Abstract Function GetRepeats(pdwRepeats As DWordPtr) As DWord
|
---|
| 381 | Abstract Function GetSegment(ppSegment As **IDirectMusicSegment) As DWord
|
---|
| 382 | Abstract Function GetStartTime(pmtStart As *MUSIC_TIME) As DWord
|
---|
| 383 | Abstract Function GetSeek(pmtSeek As *MUSIC_TIME) As DWord
|
---|
| 384 | Abstract Function GetStartPoint(pmtStart As *MUSIC_TIME) As DWord
|
---|
| 385 | End Class
|
---|
| 386 |
|
---|
| 387 | Class IDirectMusicSegmentState8
|
---|
| 388 | Inherits IDirectMusicSegmentState
|
---|
| 389 | Public
|
---|
| 390 | 'IDirectMusicSegmentState8
|
---|
| 391 | Abstract Function SetTrackConfig(ByRef rguidTrackClassID As GUID, dwGroupBits As DWord, dwIndex As DWord, dwFlagsOn As DWord, dwFlagsOff As DWord) As DWord
|
---|
| 392 | Abstract Function GetObjectInPath(dwPChannel As DWord, dwStage As DWord, dwBuffer As DWord, ByRef guidObject As GUID, dwIndex As DWord, ByRef iidInterface As GUID, ppObject As DWordPtr) As DWord
|
---|
| 393 | End Class
|
---|
| 394 |
|
---|
| 395 | Class IDirectMusicAudioPath
|
---|
| 396 | Inherits IUnknown
|
---|
| 397 | Public
|
---|
| 398 | 'IDirectMusicAudioPath
|
---|
| 399 | Abstract Function GetObjectInPath(dwPChannel As DWord, dwStage As DWord, dwBuffer As DWord, ByRef guidObject As GUID, dwIndex As DWord, ByRef iidInterface As GUID, ppObject As DWordPtr) As DWord
|
---|
| 400 | Abstract Function Activate(fActivate As Long) As DWord
|
---|
| 401 | Abstract Function SetVolume(lVolume As Long, dwDuration As DWord) As DWord
|
---|
| 402 | Abstract Function ConvertPChannel(dwPChannelIn As DWord, pdwPChannelOut As DWordPtr) As DWord
|
---|
| 403 | End Class
|
---|
| 404 | TypeDef IDirectMusicAudioPath8 = IDirectMusicAudioPath
|
---|
| 405 |
|
---|
| 406 | Class IDirectMusicPerformance
|
---|
| 407 | Inherits IUnknown
|
---|
| 408 | Public
|
---|
| 409 | 'IDirectMusicPerformance
|
---|
| 410 | Abstract Function Init(ppDirectMusic As **IDirectMusic, pDirectSound As LPDIRECTSOUND, hWnd As HWND) As DWord
|
---|
| 411 | Abstract Function PlaySegment(pSegment As *IDirectMusicSegment, dwFlags As DWord, i64StartTime As REFERENCE_TIME, ppSegmentState As **IDirectMusicSegmentState) As DWord
|
---|
| 412 | Abstract Function Stop(pSegment As *IDirectMusicSegment, pSegmentState As *IDirectMusicSegmentState, mtTime As MUSIC_TIME, dwFlags As DWord) As DWord
|
---|
| 413 | Abstract Function GetSegmentState(ppSegmentState As **IDirectMusicSegmentState, mtTime As MUSIC_TIME) As DWord
|
---|
| 414 | Abstract Function SetPrepareTime(dwMilliSeconds As DWord) As DWord
|
---|
| 415 | Abstract Function GetPrepareTime(pdwMilliSeconds As DWordPtr) As DWord
|
---|
| 416 | Abstract Function SetBumperLength(dwMilliSeconds As DWord) As DWord
|
---|
| 417 | Abstract Function GetBumperLength(pdwMilliSeconds As DWordPtr) As DWord
|
---|
| 418 | Abstract Function SendPMsg(pPMSG As *DMUS_PMSG) As DWord
|
---|
| 419 | Abstract Function MusicToReferenceTime(mtTime As MUSIC_TIME, prtTime As *REFERENCE_TIME) As DWord
|
---|
| 420 | Abstract Function ReferenceToMusicTime(rtTime As REFERENCE_TIME, pmtTime As *MUSIC_TIME) As DWord
|
---|
| 421 | Abstract Function IsPlaying(pSegment As *IDirectMusicSegment, pSegState As *IDirectMusicSegmentState) As DWord
|
---|
| 422 | Abstract Function GetTime(prtNow As *REFERENCE_TIME, pmtNow As *MUSIC_TIME) As DWord
|
---|
| 423 | Abstract Function AllocPMsg(cb As DWord, ppPMSG As **DMUS_PMSG) As DWord
|
---|
| 424 | Abstract Function FreePMsg(pPMSG As *DMUS_PMSG) As DWord
|
---|
| 425 | Abstract Function GetGraph(ppGraph As **IDirectMusicGraph) As DWord
|
---|
| 426 | Abstract Function SetGraph(pGraph As *IDirectMusicGraph) As DWord
|
---|
| 427 | Abstract Function SetNotificationHandle(hNotification As HANDLE, rtMinimum As REFERENCE_TIME) As DWord
|
---|
| 428 | Abstract Function GetNotificationPMsg(ppNotificationPMsg As **DMUS_NOTIFICATION_PMSG) As DWord
|
---|
| 429 | Abstract Function AddNotificationType(ByRef rguidNotificationType As GUID) As DWord
|
---|
| 430 | Abstract Function RemoveNotificationType(ByRef rguidNotificationType As GUID) As DWord
|
---|
| 431 | Abstract Function AddPort(pPort As *IDirectMusicPort) As DWord
|
---|
| 432 | Abstract Function RemovePort(pPort As *IDirectMusicPort) As DWord
|
---|
| 433 | Abstract Function AssignPChannelBlock(dwBlockNum As DWord, pPort As *IDirectMusicPort, dwGroup As DWord) As DWord
|
---|
| 434 | Abstract Function AssignPChannel(dwPChannel As DWord, pPort As *IDirectMusicPort, dwGroup As DWord, dwMChannel As DWord) As DWord
|
---|
| 435 | Abstract Function PChannelInfo(dwPChannel As DWord, ppPort As **IDirectMusicPort, pdwGroup As DWordPtr, pdwMChannel As DWordPtr) As DWord
|
---|
| 436 | Abstract Function DownloadInstrument(pInst As *IDirectMusicInstrument, dwPChannel As DWord, ppDownInst As **IDirectMusicDownloadedInstrument, pNoteRanges As *DMUS_NOTERANGE, dwNumNoteRanges As DWord, ppPort As **IDirectMusicPort, pdwGroup As DWordPtr, pdwMChannel As DWordPtr) As DWord
|
---|
| 437 | Abstract Function Invalidate(mtTime As MUSIC_TIME, dwFlags As DWord) As DWord
|
---|
| 438 | Abstract Function GetParam(ByRef rguidType As GUID, dwGroupBits As DWord, dwIndex As DWord, mtTime As MUSIC_TIME, pmtNext As *MUSIC_TIME, pParam As VoidPtr) As DWord
|
---|
| 439 | Abstract Function SetParam(ByRef rguidType As GUID, dwGroupBits As DWord, dwIndex As DWord, mtTime As MUSIC_TIME, pParam As VoidPtr) As DWord
|
---|
| 440 | Abstract Function GetGlobalParam(ByRef rguidType As GUID, pParam As VoidPtr, dwSize As DWord) As DWord
|
---|
| 441 | Abstract Function SetGlobalParam(ByRef rguidType As GUID, pParam As VoidPtr, dwSize As DWord) As DWord
|
---|
| 442 | Abstract Function GetLatencyTime(prtTime As *REFERENCE_TIME) As DWord
|
---|
| 443 | Abstract Function GetQueueTime(prtTime As *REFERENCE_TIME) As DWord
|
---|
| 444 | Abstract Function AdjustTime(rtAmount As REFERENCE_TIME) As DWord
|
---|
| 445 | Abstract Function CloseDown() As DWord
|
---|
| 446 | Abstract Function GetResolvedTime(rtTime As REFERENCE_TIME, prtResolved As *REFERENCE_TIME, dwTimeResolveFlags As DWord) As DWord
|
---|
| 447 | Abstract Function MIDIToMusic(bMIDIValue As Byte, pChord As *DMUS_CHORD_KEY, bPlayMode As Byte, bChordLevel As Byte, pwMusicValue As WordPtr) As DWord
|
---|
| 448 | Abstract Function MusicToMIDI(wMusicValue As Word, pChord As *DMUS_CHORD_KEY, bPlayMode As Byte, bChordLevel As Byte, pbMIDIValue As BytePtr) As DWord
|
---|
| 449 | Abstract Function TimeToRhythm(mtTime As MUSIC_TIME, pTimeSig As *DMUS_TIMESIGNATURE, pwMeasure As WordPtr, pbBeat As BytePtr, pbGrid As BytePtr, pnOffset As WordPtr) As DWord
|
---|
| 450 | Abstract Function RhythmToTime(wMeasure As Word, bBeat As Byte, bGrid As Byte, nOffset As Integer, pTimeSig As *DMUS_TIMESIGNATURE, pmtTime As *MUSIC_TIME) As DWord
|
---|
| 451 | End Class
|
---|
| 452 |
|
---|
| 453 | Class IDirectMusicPerformance8
|
---|
| 454 | Inherits IDirectMusicPerformance
|
---|
| 455 | Public
|
---|
| 456 | 'IDirectMusicPerformance8
|
---|
| 457 | Abstract Function InitAudio(ppDirectMusic As **IDirectMusic, ppDirectSound As **IDirectSound, hWnd As HWND, dwDefaultPathType As DWord, dwPChannelCount As DWord, dwFlags As DWord, pParams As *DMUS_AUDIOPARAMS) As DWord
|
---|
| 458 | Abstract Function PlaySegmentEx(pSource As *IUnknown, pwzSegmentName As *WCHAR, pTransition As *IUnknown, dwFlags As DWord, i64StartTime As Int64, ppSegmentState As **IDirectMusicSegmentState, pFrom As *IUnknown, pAudioPath As *IUnknown) As DWord
|
---|
| 459 | Abstract Function StopEx(pObjectToStop As *IUnknown, i64StopTime As Int64, dwFlags As DWord) As DWord
|
---|
| 460 | Abstract Function ClonePMsg(pSourcePMSG As *DMUS_PMSG, ppCopyPMSG As **DMUS_PMSG) As DWord
|
---|
| 461 | Abstract Function CreateAudioPath(pSourceConfig As *IUnknown, fActivate As Long, ppNewPath As **IDirectMusicAudioPath) As DWord
|
---|
| 462 | Abstract Function CreateStandardAudioPath(dwType As DWord, dwPChannelCount As DWord, fActivate As Long, ppNewPath As **IDirectMusicAudioPath) As DWord
|
---|
| 463 | Abstract Function SetDefaultAudioPath(pAudioPath As *IDirectMusicAudioPath) As DWord
|
---|
| 464 | Abstract Function GetDefaultAudioPath(ppAudioPath As **IDirectMusicAudioPath) As DWord
|
---|
| 465 | Abstract Function GetParamEx(ByRef rguidType As GUID, dwTrackID As DWord, dwGroupBits As DWord, dwIndex As DWord, mtTime As MUSIC_TIME, pmtNext As *MUSIC_TIME, pParam As VoidPtr) As DWord
|
---|
| 466 | End Class
|
---|
| 467 |
|
---|
| 468 | Class IDirectMusicGraph
|
---|
| 469 | Inherits IUnknown
|
---|
| 470 | Public
|
---|
| 471 | 'IDirectMusicGraph
|
---|
| 472 | Abstract Function StampPMsg(pPMSG As *DMUS_PMSG) As DWord
|
---|
| 473 | Abstract Function InsertTool(pTool As *IDirectMusicTool, pdwPChannels As DWordPtr, cPChannels As DWord, lIndex As Long) As DWord
|
---|
| 474 | Abstract Function GetTool(dwIndex As DWord, ppTool As **IDirectMusicTool) As DWord
|
---|
| 475 | Abstract Function RemoveTool(pTool As *IDirectMusicTool) As DWord
|
---|
| 476 | End Class
|
---|
| 477 |
|
---|
| 478 | Class IDirectMusicStyle
|
---|
| 479 | Inherits IUnknown
|
---|
| 480 | Public
|
---|
| 481 | 'IDirectMusicStyle
|
---|
| 482 | Abstract Function GetBand(pwszName As *WCHAR, ppBand As **IDirectMusicBand) As DWord
|
---|
| 483 | Abstract Function EnumBand(dwIndex As DWord, pwszName As *WCHAR) As DWord
|
---|
| 484 | Abstract Function GetDefaultBand(ppBand As **IDirectMusicBand) As DWord
|
---|
| 485 | Abstract Function EnumMotif(dwIndex As DWord, pwszName As *WCHAR) As DWord
|
---|
| 486 | Abstract Function GetMotif(pwszName As *WCHAR, ppSegment As **IDirectMusicSegment) As DWord
|
---|
| 487 | Abstract Function GetDefaultChordMap(ppChordMap As **IDirectMusicChordMap) As DWord
|
---|
| 488 | Abstract Function EnumChordMap(dwIndex As DWord, pwszName As *WCHAR) As DWord
|
---|
| 489 | Abstract Function GetChordMap(pwszName As *WCHAR, ppChordMap As **IDirectMusicChordMap) As DWord
|
---|
| 490 | Abstract Function GetTimeSignature(pTimeSig As *DMUS_TIMESIGNATURE) As DWord
|
---|
| 491 | Abstract Function GetEmbellishmentLength(dwType As DWord, dwLevel As DWord, pdwMin As DWordPtr, pdwMax As DWordPtr) As DWord
|
---|
| 492 | Abstract Function GetTempo(pTempo As DoublePtr) As DWord
|
---|
| 493 | End Class
|
---|
| 494 |
|
---|
| 495 | Class IDirectMusicStyle8
|
---|
| 496 | Inherits IDirectMusicStyle
|
---|
| 497 | Public
|
---|
| 498 | 'IDirectMusicStyle8
|
---|
| 499 | Abstract Function EnumPattern(dwIndex As DWord, dwPatternType As DWord, pwszName As *WCHAR) As DWord
|
---|
| 500 | End Class
|
---|
| 501 |
|
---|
| 502 | Class IDirectMusicChordMap
|
---|
| 503 | Inherits IUnknown
|
---|
| 504 | Public
|
---|
| 505 | 'IDirectMusicChordMap
|
---|
| 506 | Abstract Function GetScale(pdwScale As DWordPtr) As DWord
|
---|
| 507 | End Class
|
---|
| 508 | TypeDef IDirectMusicChordMap8 = IDirectMusicChordMap
|
---|
| 509 |
|
---|
| 510 | Class IDirectMusicComposer
|
---|
| 511 | Inherits IUnknown
|
---|
| 512 | Public
|
---|
| 513 | 'IDirectMusicComposer
|
---|
| 514 | Abstract Function ComposeSegmentFromTemplate(pStyle As *IDirectMusicStyle, pTemplate As *IDirectMusicSegment, wActivity As Word, pChordMap As *IDirectMusicChordMap, ppSegment As **IDirectMusicSegment) As DWord
|
---|
| 515 | Abstract Function ComposeSegmentFromShape(pStyle As *IDirectMusicStyle, wNumMeasures As Word, wShape As Word, wActivity As Word, fIntro As Long, fEnd As Long, pChordMap As *IDirectMusicChordMap, ppSegment As **IDirectMusicSegment) As DWord
|
---|
| 516 | Abstract Function ComposeTransition(pFromSeg As *IDirectMusicSegment, pToSeg As *IDirectMusicSegment, mtTime As MUSIC_TIME, wCommand As Word, dwFlags As DWord, pChordMap As *IDirectMusicChordMap, ppTransSeg As **IDirectMusicSegment) As DWord
|
---|
| 517 | Abstract Function AutoTransition(pPerformance As *IDirectMusicPerformance, pToSeg As *IDirectMusicSegment, wCommand As Word, dwFlags As DWord, pChordMap As *IDirectMusicChordMap, ppTransSeg As **IDirectMusicSegment, ppToSegState As **IDirectMusicSegmentState, ppTransSegState As **IDirectMusicSegmentState) As DWord
|
---|
| 518 | Abstract Function ComposeTemplateFromShape(wNumMeasures As Word, wShape As Word, fIntro As Long, fEnd As Long, wEndLength As Word, ppTemplate As **IDirectMusicSegment) As DWord
|
---|
| 519 | Abstract Function ChangeChordMap(pSegment As *IDirectMusicSegment, fTrackScale As Long, pChordMap As *IDirectMusicChordMap) As DWord
|
---|
| 520 | End Class
|
---|
| 521 | TypeDef IDirectMusicComposer8 = IDirectMusicComposer
|
---|
| 522 |
|
---|
| 523 |
|
---|
| 524 | '-----------------
|
---|
| 525 | ' CLSID and IID
|
---|
| 526 | '-----------------
|
---|
| 527 |
|
---|
| 528 | ' CLSID's
|
---|
| 529 | Dim CLSID_DirectMusicPerformance = [&Hd2ac2881, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 530 | Dim CLSID_DirectMusicSegment = [&Hd2ac2882, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 531 | Dim CLSID_DirectMusicSegmentState = [&Hd2ac2883, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 532 | Dim CLSID_DirectMusicGraph = [&Hd2ac2884, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 533 | Dim CLSID_DirectMusicStyle = [&Hd2ac288a, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 534 | Dim CLSID_DirectMusicChordMap = [&Hd2ac288f, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 535 | Dim CLSID_DirectMusicComposer = [&Hd2ac2890, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 536 | Dim CLSID_DirectMusicLoader = [&Hd2ac2892, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 537 | Dim CLSID_DirectMusicBand = [&H79ba9e00, &Hb6ee, &H11d1, [&H86, &Hbe, &H0, &Hc0, &H4f, &Hbf, &H8f, &Hef]] As GUID
|
---|
| 538 |
|
---|
| 539 | ' New CLSID's for DX8
|
---|
| 540 | Dim CLSID_DirectMusicPatternTrack = [&Hd2ac2897, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 541 | Dim CLSID_DirectMusicScript = [&H810b5013, &He88d, &H11d2, [&H8b, &Hc1, &H0, &H60, &H8, &H93, &Hb1, &Hb6]] As GUID ' {810B5013-E88D-11d2-8BC1-00600893B1B6}
|
---|
| 542 | Dim CLSID_DirectMusicContainer = [&H9301e380, &H1f22, &H11d3, [&H82, &H26, &Hd2, &Hfa, &H76, &H25, &H5d, &H47]] As GUID
|
---|
| 543 | Dim CLSID_DirectSoundWave = [&H8a667154, &Hf9cb, &H11d2, [&Had, &H8a, &H0, &H60, &Hb0, &H57, &H5a, &Hbc]] As GUID
|
---|
| 544 | Dim CLSID_DirectMusicAudioPathConfig = [&Hee0b9ca0, &Ha81e, &H11d3, [&H9b, &Hd1, &H0, &H80, &Hc7, &H15, &Ha, &H74]] As GUID
|
---|
| 545 |
|
---|
| 546 | ' Special GUID for all object types. This is used by the loader.
|
---|
| 547 | Dim GUID_DirectMusicAllTypes = [&Hd2ac2893, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 548 |
|
---|
| 549 | ' Notification guids
|
---|
| 550 | Dim GUID_NOTIFICATION_SEGMENT = [&Hd2ac2899, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 551 | Dim GUID_NOTIFICATION_PERFORMANCE = [&H81f75bc5, &H4e5d, &H11d2, [&Hbc, &Hc7, &H0, &Ha0, &Hc9, &H22, &He6, &Heb]] As GUID
|
---|
| 552 | Dim GUID_NOTIFICATION_MEASUREANDBEAT = [&Hd2ac289a, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 553 | Dim GUID_NOTIFICATION_CHORD = [&Hd2ac289b, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 554 | Dim GUID_NOTIFICATION_COMMAND = [&Hd2ac289c, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 555 | Dim GUID_NOTIFICATION_RECOMPOSE = [&Hd348372b, &H945b, &H45ae, [&Ha5, &H22, &H45, &Hf, &H12, &H5b, &H84, &Ha5]] As GUID
|
---|
| 556 |
|
---|
| 557 | ' Track param type guids
|
---|
| 558 | ' Use to get/set a DMUS_COMMAND_PARAM param in the Command track
|
---|
| 559 | Dim GUID_CommandParam = [&Hd2ac289d, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 560 |
|
---|
| 561 | ' Use to get a DMUS_COMMAND_PARAM_2 param in the Command track
|
---|
| 562 | Dim GUID_CommandParam2 = [&H28f97ef7, &H9538, &H11d2, [&H97, &Ha9, &H0, &Hc0, &H4f, &Ha3, &H6e, &H58]] As GUID
|
---|
| 563 |
|
---|
| 564 | ' Use to get/set a DMUS_COMMAND_PARAM_2 param to be used as the command following all commands in
|
---|
| 565 | ' the Command track (this information can't be saved)
|
---|
| 566 | Dim GUID_CommandParamNext = [&H472afe7a, &H281b, &H11d3, [&H81, &H7d, &H0, &Hc0, &H4f, &Ha3, &H6e, &H58]] As GUID
|
---|
| 567 |
|
---|
| 568 | ' Use to get/set a DMUS_CHORD_PARAM param in the Chord track
|
---|
| 569 | Dim GUID_ChordParam = [&Hd2ac289e, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 570 |
|
---|
| 571 | ' Use to get a DMUS_RHYTHM_PARAM param in the Chord track
|
---|
| 572 | Dim GUID_RhythmParam = [&Hd2ac289f, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 573 |
|
---|
| 574 | ' Use to get/set an IDirectMusicStyle param in the Style track
|
---|
| 575 | Dim GUID_IDirectMusicStyle = [&Hd2ac28a1, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 576 |
|
---|
| 577 | ' Use to get a DMUS_TIMESIGNATURE param in the Style and TimeSig tracks
|
---|
| 578 | Dim GUID_TimeSignature = [&Hd2ac28a4, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 579 |
|
---|
| 580 | ' Use to get/set a DMUS_TEMPO_PARAM param in the Tempo track
|
---|
| 581 | Dim GUID_TempoParam = [&Hd2ac28a5, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 582 |
|
---|
| 583 | ' Use to get the next valid point in a segment at which it may start
|
---|
| 584 | Dim GUID_Valid_Start_Time = [&H7f6b1760, &H1fdb, &H11d3, [&H82, &H26, &H44, &H45, &H53, &H54, &H0, &H0]] As GUID
|
---|
| 585 |
|
---|
| 586 | ' Use to get the next point in the currently playing primary segment at which a new segment may start
|
---|
| 587 | Dim GUID_Play_Marker = [&Hd8761a41, &H801a, &H11d3, [&H9b, &Hd1, &Hda, &Hf7, &He1, &Hc3, &Hd8, &H34]] As GUID
|
---|
| 588 |
|
---|
| 589 | ' Use to get (GetParam) or add (SetParam) bands in the Band track
|
---|
| 590 | Dim GUID_BandParam = [&H2bb1938, &Hcb8b, &H11d2, [&H8b, &Hb9, &H0, &H60, &H8, &H93, &Hb1, &Hb6]] As GUID
|
---|
| 591 | Type DMUS_BAND_PARAM
|
---|
| 592 | mtTimePhysical As MUSIC_TIME
|
---|
| 593 | pBand As *IDirectMusicBand
|
---|
| 594 | End Type
|
---|
| 595 |
|
---|
| 596 | ' Obsolete -- doesn't distinguish physical and logical time. Use GUID_BandParam instead.
|
---|
| 597 | Dim GUID_IDirectMusicBand = [&Hd2ac28ac, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 598 |
|
---|
| 599 | ' Use to get/set an IDirectMusicChordMap param in the ChordMap track
|
---|
| 600 | Dim GUID_IDirectMusicChordMap = [&Hd2ac28ad, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 601 |
|
---|
| 602 | ' Use to get/set a DMUS_MUTE_PARAM param in the Mute track
|
---|
| 603 | Dim GUID_MuteParam = [&Hd2ac28af, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 604 |
|
---|
| 605 | ' These guids are used in IDirectMusicSegment::SetParam to tell the band track to perform various actions.
|
---|
| 606 | ' Some of these guids (where noted) also apply to wave tracks.
|
---|
| 607 |
|
---|
| 608 | ' Download bands/waves for the IDirectMusicSegment
|
---|
| 609 | Dim GUID_Download = [&Hd2ac28a7, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 610 |
|
---|
| 611 | ' Unload bands/waves for the IDirectMusicSegment
|
---|
| 612 | Dim GUID_Unload = [&Hd2ac28a8, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 613 |
|
---|
| 614 | ' Connect segment's bands to an IDirectMusicCollection
|
---|
| 615 | Dim GUID_ConnectToDLSCollection = [&H1db1ae6b, &He92e, &H11d1, [&Ha8, &Hc5, &H0, &Hc0, &H4f, &Ha3, &H72, &H6e]] As GUID
|
---|
| 616 |
|
---|
| 617 | ' Enable/disable autodownloading of bands/waves
|
---|
| 618 | Dim GUID_Enable_Auto_Download = [&Hd2ac28a9, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 619 | Dim GUID_Disable_Auto_Download = [&Hd2ac28aa, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 620 |
|
---|
| 621 | ' Clear all bands
|
---|
| 622 | Dim GUID_Clear_All_Bands = [&Hd2ac28ab, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 623 |
|
---|
| 624 | ' Set segment to manage all program changes, bank selects, etc. for simple playback of a standard MIDI file
|
---|
| 625 | Dim GUID_StandardMIDIFile = [&H6621075, &He92e, &H11d1, [&Ha8, &Hc5, &H0, &Hc0, &H4f, &Ha3, &H72, &H6e]] As GUID
|
---|
| 626 |
|
---|
| 627 | ' Disable/enable param guids. Use these in SetParam calls to disable or enable sending
|
---|
| 628 | ' * specific PMsg types.
|
---|
| 629 |
|
---|
| 630 | Dim GUID_DisableTimeSig = [&H45fc707b, &H1db4, &H11d2, [&Hbc, &Hac, &H0, &Ha0, &Hc9, &H22, &He6, &Heb]] As GUID
|
---|
| 631 | Dim GUID_EnableTimeSig = [&H45fc707c, &H1db4, &H11d2, [&Hbc, &Hac, &H0, &Ha0, &Hc9, &H22, &He6, &Heb]] As GUID
|
---|
| 632 | Dim GUID_DisableTempo = [&H45fc707d, &H1db4, &H11d2, [&Hbc, &Hac, &H0, &Ha0, &Hc9, &H22, &He6, &Heb]] As GUID
|
---|
| 633 | Dim GUID_EnableTempo = [&H45fc707e, &H1db4, &H11d2, [&Hbc, &Hac, &H0, &Ha0, &Hc9, &H22, &He6, &Heb]] As GUID
|
---|
| 634 |
|
---|
| 635 | ' Used in SetParam calls for pattern-based tracks. A nonzero value seeds the random number
|
---|
| 636 | ' generator for variation selection; a value of zero reverts to the default behavior of
|
---|
| 637 | ' getting the seed from the system clock.
|
---|
| 638 | Dim GUID_SeedVariations = [&H65b76fa5, &Hff37, &H11d2, [&H81, &H4e, &H0, &Hc0, &H4f, &Ha3, &H6e, &H58]] As GUID
|
---|
| 639 |
|
---|
| 640 | ' Used to get the variations currently in effect across PChannels
|
---|
| 641 | Dim GUID_Variations = [&H11f72cce, &H26e6, &H4ecd, [&Haf, &H2e, &Hd6, &H68, &He6, &H67, &H7, &Hd8]] As GUID
|
---|
| 642 | Type DMUS_VARIATIONS_PARAM
|
---|
| 643 | dwPChannelsUsed As DWord
|
---|
| 644 | padwPChannels As DWordPtr
|
---|
| 645 | padwVariations As DWordPtr
|
---|
| 646 | End Type
|
---|
| 647 |
|
---|
| 648 | ' Download bands/waves for the IDirectMusicSegment, passed an IDirectMusicAudioPath instead of an IDirectMusicPerformance
|
---|
| 649 | Dim GUID_DownloadToAudioPath = [&H9f2c0341, &Hc5c4, &H11d3, [&H9b, &Hd1, &H44, &H45, &H53, &H54, &H0, &H0]] As GUID
|
---|
| 650 |
|
---|
| 651 | ' Unload bands/waves for the IDirectMusicSegment, passed an IDirectMusicAudioPath instead of an IDirectMusicPerformance
|
---|
| 652 | Dim GUID_UnloadFromAudioPath = [&H9f2c0342, &Hc5c4, &H11d3, [&H9b, &Hd1, &H44, &H45, &H53, &H54, &H0, &H0]] As GUID
|
---|
| 653 |
|
---|
| 654 |
|
---|
| 655 | ' Global data guids
|
---|
| 656 | Dim GUID_PerfMasterTempo = [&Hd2ac28b0, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 657 | Dim GUID_PerfMasterVolume = [&Hd2ac28b1, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 658 | Dim GUID_PerfMasterGrooveLevel = [&Hd2ac28b2, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 659 | Dim GUID_PerfAutoDownload = [&Hfb09565b, &H3631, &H11d2, [&Hbc, &Hb8, &H0, &Ha0, &Hc9, &H22, &He6, &Heb]] As GUID
|
---|
| 660 |
|
---|
| 661 | ' GUID for default GM/GS dls collection.
|
---|
| 662 | Dim GUID_DefaultGMCollection = [&Hf17e8673, &Hc3b4, &H11d1, [&H87, &Hb, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 663 |
|
---|
| 664 | ' GUID to define default synth, placed in AudioPath configuration file.
|
---|
| 665 | Dim GUID_Synth_Default = [&H26bb9432, &H45fe, &H48d3, [&Ha3, &H75, &H24, &H72, &Hc5, &He3, &He7, &H86]] As GUID
|
---|
| 666 |
|
---|
| 667 | ' GUIDs to define default buffer configurations to place in AudioPath configuration file.
|
---|
| 668 | Dim GUID_Buffer_Reverb = [&H186cc541, &Hdb29, &H11d3, [&H9b, &Hd1, &H0, &H80, &Hc7, &H15, &Ha, &H74]] As GUID
|
---|
| 669 | Dim GUID_Buffer_EnvReverb = [&H186cc542, &Hdb29, &H11d3, [&H9b, &Hd1, &H0, &H80, &Hc7, &H15, &Ha, &H74]] As GUID
|
---|
| 670 | Dim GUID_Buffer_Stereo = [&H186cc545, &Hdb29, &H11d3, [&H9b, &Hd1, &H0, &H80, &Hc7, &H15, &Ha, &H74]] As GUID
|
---|
| 671 | Dim GUID_Buffer_3D_Dry = [&H186cc546, &Hdb29, &H11d3, [&H9b, &Hd1, &H0, &H80, &Hc7, &H15, &Ha, &H74]] As GUID
|
---|
| 672 | Dim GUID_Buffer_Mono = [&H186cc547, &Hdb29, &H11d3, [&H9b, &Hd1, &H0, &H80, &Hc7, &H15, &Ha, &H74]] As GUID
|
---|
| 673 |
|
---|
| 674 | ' IID's
|
---|
| 675 | Dim IID_IDirectMusicLoader = [&H2ffaaca2, &H5dca, &H11d2, [&Haf, &Ha6, &H0, &Haa, &H0, &H24, &Hd8, &Hb6]] As GUID
|
---|
| 676 | Dim IID_IDirectMusicGetLoader = [&H68a04844, &Hd13d, &H11d1, [&Haf, &Ha6, &H0, &Haa, &H0, &H24, &Hd8, &Hb6]] As GUID
|
---|
| 677 | Dim IID_IDirectMusicObject = [&Hd2ac28b5, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 678 | Dim IID_IDirectMusicSegment = [&Hf96029a2, &H4282, &H11d2, [&H87, &H17, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 679 | Dim IID_IDirectMusicSegmentState = [&Ha3afdcc7, &Hd3ee, &H11d1, [&Hbc, &H8d, &H0, &Ha0, &Hc9, &H22, &He6, &Heb]] As GUID
|
---|
| 680 | Dim IID_IDirectMusicPerformance = [&H7d43d03, &H6523, &H11d2, [&H87, &H1d, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 681 | Dim IID_IDirectMusicGraph = [&H2befc277, &H5497, &H11d2, [&Hbc, &Hcb, &H0, &Ha0, &Hc9, &H22, &He6, &Heb]] As GUID
|
---|
| 682 | Dim IID_IDirectMusicStyle = [&Hd2ac28bd, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 683 | Dim IID_IDirectMusicChordMap = [&Hd2ac28be, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 684 | Dim IID_IDirectMusicComposer = [&Hd2ac28bf, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 685 | Dim IID_IDirectMusicBand = [&Hd2ac28c0, &Hb39b, &H11d1, [&H87, &H4, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 686 |
|
---|
| 687 | ' Alternate interface IDs, available in DX7 release and after.
|
---|
| 688 | Dim IID_IDirectMusicPerformance2 = [&H6fc2cae0, &Hbc78, &H11d2, [&Haf, &Ha6, &H0, &Haa, &H0, &H24, &Hd8, &Hb6]] As GUID
|
---|
| 689 | Dim IID_IDirectMusicSegment2 = [&Hd38894d1, &Hc052, &H11d2, [&H87, &H2f, &H0, &H60, &H8, &H93, &Hb1, &Hbd]] As GUID
|
---|
| 690 |
|
---|
| 691 | ' Interface IDs for DX8
|
---|
| 692 | ' changed interfaces (GUID only)
|
---|
| 693 | Dim IID_IDirectMusicLoader8 = [&H19e7c08c, &Ha44, &H4e6a, [&Ha1, &H16, &H59, &H5a, &H7c, &Hd5, &Hde, &H8c]] As GUID
|
---|
| 694 | Dim IID_IDirectMusicPerformance8 = [&H679c4137, &Hc62e, &H4147, [&Hb2, &Hb4, &H9d, &H56, &H9a, &Hcb, &H25, &H4c]] As GUID
|
---|
| 695 | Dim IID_IDirectMusicSegment8 = [&Hc6784488, &H41a3, &H418f, [&Haa, &H15, &Hb3, &H50, &H93, &Hba, &H42, &Hd4]] As GUID
|
---|
| 696 | Dim IID_IDirectMusicSegmentState8 = [&Ha50e4730, &Hae4, &H48a7, [&H98, &H39, &Hbc, &H4, &Hbf, &He0, &H77, &H72]] As GUID
|
---|
| 697 | Dim IID_IDirectMusicStyle8 = [&Hfd24ad8a, &Ha260, &H453d, [&Hbf, &H50, &H6f, &H93, &H84, &Hf7, &H9, &H85]] As GUID
|
---|
| 698 | ' new interfaces (GUID + alias)
|
---|
| 699 | Dim IID_IDirectMusicPatternTrack = [&H51c22e10, &Hb49f, &H46fc, [&Hbe, &Hc2, &He6, &H28, &H8f, &Hb9, &Hed, &He6]] As GUID
|
---|
| 700 | Dim IID_IDirectMusicScript = [&H2252373a, &H5814, &H489b, [&H82, &H9, &H31, &Hfe, &Hde, &Hba, &Hf1, &H37]] As GUID ' {2252373A-5814-489b-8209-31FEDEBAF137}
|
---|
| 701 | Dim IID_IDirectMusicScript8 As GUID: IID_IDirectMusicScript8=IID_IDirectMusicScript
|
---|
| 702 | Dim IID_IDirectMusicContainer = [&H9301e386, &H1f22, &H11d3, [&H82, &H26, &Hd2, &Hfa, &H76, &H25, &H5d, &H47]] As GUID
|
---|
| 703 | Dim IID_IDirectMusicContainer8 As GUID: IID_IDirectMusicContainer8=IID_IDirectMusicContainer
|
---|
| 704 | Dim IID_IDirectMusicAudioPath = [&Hc87631f5, &H23be, &H4986, [&H88, &H36, &H5, &H83, &H2f, &Hcc, &H48, &Hf9]] As GUID
|
---|
| 705 | Dim IID_IDirectMusicAudioPath8 As GUID: IID_IDirectMusicAudioPath8=IID_IDirectMusicAudioPath
|
---|
| 706 | ' unchanged interfaces (alias only)
|
---|
| 707 | Dim IID_IDirectMusicGetLoader8 As GUID: IID_IDirectMusicGetLoader8=IID_IDirectMusicGetLoader
|
---|
| 708 | Dim IID_IDirectMusicChordMap8 As GUID: IID_IDirectMusicChordMap8=IID_IDirectMusicChordMap
|
---|
| 709 | Dim IID_IDirectMusicGraph8 As GUID: IID_IDirectMusicGraph8=IID_IDirectMusicGraph
|
---|
| 710 | Dim IID_IDirectMusicBand8 As GUID: IID_IDirectMusicBand8=IID_IDirectMusicBand
|
---|
| 711 | Dim IID_IDirectMusicObject8 As GUID: IID_IDirectMusicObject8=IID_IDirectMusicObject
|
---|
| 712 | Dim IID_IDirectMusicComposer8 As GUID: IID_IDirectMusicComposer8=IID_IDirectMusicComposer
|
---|
| 713 |
|
---|
| 714 |
|
---|
| 715 | #endif '_INC_DMUSIC
|
---|