Changeset 5292 for trunk/src/dsound/OS2DSOUND.CPP
- Timestamp:
- Mar 10, 2001, 7:21:06 AM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/dsound/OS2DSOUND.CPP
r3555 r5292 1 /* $Id: OS2DSOUND.CPP,v 1. 7 2000-05-18 20:37:08mike Exp $ */1 /* $Id: OS2DSOUND.CPP,v 1.8 2001-03-10 06:21:06 mike Exp $ */ 2 2 3 3 /* … … 5 5 * 6 6 * Copyright 1998 Sander van Leeuwen 7 * Copyright 2000 Michal Necasek 7 * Copyright 2000 Kevin Langman 8 * Copyright 2001 Michal Necasek 8 9 * 9 10 * Project Odin Software License can be found in LICENSE.TXT … … 18 19 #include <string.h> 19 20 20 21 22 21 #include <stdio.h> /****** DEBUGGING ********/ 23 24 25 22 26 23 #define INITGUID … … 34 31 #include <misc.h> 35 32 36 // TODO: primary buffer should probably created right away when creating the DSound37 // object38 33 // TODO: handle cooperative levels properly!! 39 34 … … 60 55 Vtbl.Initialize = SoundInitialize; 61 56 62 dprintf(("DSOUND-OS2IDirectSound::OS2IDirectSound \n"));57 dprintf(("DSOUND-OS2IDirectSound::OS2IDirectSound")); 63 58 64 59 speakerConfig = DSSPEAKER_STEREO; … … 75 70 if ( primary->GetLastError() != DS_OK ){ 76 71 ULONG lastErr = primary->GetLastError(); 77 dprintf(("LastErr = %d \n", lastErr));72 dprintf(("LastErr = %d", lastErr)); 78 73 delete primary; 79 74 lastError = lastErr; … … 82 77 primary->Vtbl.AddRef(primary); 83 78 84 dprintf(("Sound init OK\n")); 85 } 79 dprintf(("Sound init OK")); 80 } 81 86 82 //****************************************************************************** 87 83 //****************************************************************************** … … 92 88 OS2IDirectSound::fDSExists = FALSE; 93 89 } 90 94 91 //****************************************************************************** 95 92 //****************************************************************************** 96 93 HRESULT WIN32API SoundQueryInterface(THIS, REFIID riid, LPVOID * ppvObj) 97 94 { 98 dprintf(("DSOUND-OS2IDirectSound::QueryInterface \n"));95 dprintf(("DSOUND-OS2IDirectSound::QueryInterface")); 99 96 if (This == NULL) { 100 97 return DSERR_INVALIDPARAM; … … 118 115 OS2IDirectSound *me = (OS2IDirectSound *)This; 119 116 120 dprintf(("DSOUND-OS2IDirectSound::AddRef %d \n", me->Referenced+1));117 dprintf(("DSOUND-OS2IDirectSound::AddRef %d", me->Referenced+1)); 121 118 return ++me->Referenced; 122 119 } … … 128 125 OS2IDirectSound *me = (OS2IDirectSound *)This; 129 126 130 dprintf(("DSOUND-OS2IDirectSound::Release %d \n", me->Referenced-1));127 dprintf(("DSOUND-OS2IDirectSound::Release %d", me->Referenced-1)); 131 128 if (me->Referenced) { 132 129 me->Referenced--; … … 146 143 HRESULT WIN32API SoundCompact(THIS) 147 144 { 148 dprintf(("DSOUND-OS2IDirectSound::Compact \n"));145 dprintf(("DSOUND-OS2IDirectSound::Compact - NOP")); 149 146 return DS_OK; 150 147 } … … 160 157 OS2IDirectSoundBuffer *sndbuf; 161 158 162 dprintf(("DSOUND-OS2IDirectSound::CreateSoundBuffer \n"));159 dprintf(("DSOUND-OS2IDirectSound::CreateSoundBuffer")); 163 160 if (me == NULL || lpDSBufferDesc == NULL || lplpDirectSoundBuffer == NULL) { 164 161 return DSERR_INVALIDPARAM; … … 171 168 172 169 if (lpDSBufferDesc->dwFlags & DSBCAPS_PRIMARYBUFFER) { 173 174 /*175 176 // The Primary buffer is now created by the Constructor.. This only177 // makes sence becuse you can really only have one primary buffer and178 // you need it before you can to do anything.179 180 OS2PrimBuff *primbuff;181 primbuff = new OS2PrimBuff(me, lpDSBufferDesc);182 183 if (primbuff == NULL)184 return DSERR_OUTOFMEMORY;185 186 if ( primbuff->GetLastError() != DS_OK ){187 ULONG lastErr = primbuff->GetLastError();188 189 dprintf(("LastErr = %d\n", lastErr));190 delete primbuff;191 return lastErr;192 }193 *lplpDirectSoundBuffer = (LPDIRECTSOUNDBUFFER)primbuff;194 primbuff->Vtbl.AddRef(primbuff);195 dprintf(("Created PrimBuff... Exiting Create Buffer function\n"));196 */197 198 170 *lplpDirectSoundBuffer = (LPDIRECTSOUNDBUFFER)me->primary; 199 171 return DS_OK; … … 204 176 return DSERR_OUTOFMEMORY; 205 177 } 206 if (sndbuf->GetLastError() != DS_OK) {178 if (sndbuf->GetLastError() != DS_OK) { 207 179 ULONG lastErr = sndbuf->GetLastError(); 208 180 delete sndbuf; … … 220 192 HRESULT WIN32API SoundGetCaps(THIS_ LPDSCAPS lpCaps) 221 193 { 222 dprintf(("DSOUND-OS2IDirectSound::GetCaps \n"));194 dprintf(("DSOUND-OS2IDirectSound::GetCaps")); 223 195 224 196 if (lpCaps == NULL) … … 258 230 //****************************************************************************** 259 231 //****************************************************************************** 260 HRESULT WIN32API SoundDuplicateSoundBuffer(THIS_ LPDIRECTSOUNDBUFFER, LPLPDIRECTSOUNDBUFFER ) 261 { 262 dprintf(("DSOUND-OS2IDirectSound::DuplicateSoundBuffer\n")); 263 return DSERR_OUTOFMEMORY; 232 HRESULT WIN32API SoundDuplicateSoundBuffer(THIS_ LPDIRECTSOUNDBUFFER lpBuf, LPLPDIRECTSOUNDBUFFER lplpDirectSoundBuffer) 233 { 234 OS2IDirectSound *me = (OS2IDirectSound *)This; 235 OS2IDirectSoundBuffer *srcBuf = (OS2IDirectSoundBuffer*)lpBuf; 236 OS2IDirectSoundBuffer *tgtBuf; 237 238 dprintf(("DSOUND-OS2IDirectSound::DuplicateSoundBuffer (%X to %X)", lpBuf, lplpDirectSoundBuffer)); 239 if (me == NULL || lpBuf == NULL || lplpDirectSoundBuffer == NULL) { 240 return DSERR_INVALIDPARAM; 241 } 242 243 tgtBuf = new OS2IDirectSoundBuffer(me, srcBuf); 244 if (tgtBuf == NULL) { 245 return DSERR_OUTOFMEMORY; 246 } 247 248 if (tgtBuf->GetLastError() != DS_OK) { 249 ULONG lastErr = tgtBuf->GetLastError(); 250 delete tgtBuf; 251 return lastErr; 252 } 253 tgtBuf->Vtbl.AddRef(tgtBuf); 254 255 *lplpDirectSoundBuffer = (LPDIRECTSOUNDBUFFER)tgtBuf; 256 257 return DS_OK; 264 258 } 265 259 … … 270 264 OS2IDirectSound *me = (OS2IDirectSound *)This; 271 265 272 dprintf(("DSOUND-OS2IDirectSound::SetCooperativeLevel (to %d) \n", level));266 dprintf(("DSOUND-OS2IDirectSound::SetCooperativeLevel (to %d)", level)); 273 267 if (me == NULL) { 274 268 return DSERR_INVALIDPARAM; … … 278 272 return DS_OK; 279 273 } 274 280 275 //****************************************************************************** 281 276 //****************************************************************************** … … 284 279 OS2IDirectSound *me = (OS2IDirectSound *)This; 285 280 286 dprintf(("DSOUND-OS2IDirectSound::GetSpeakerConfig \n"));281 dprintf(("DSOUND-OS2IDirectSound::GetSpeakerConfig")); 287 282 if (me == NULL) { 288 283 return(DSERR_INVALIDPARAM); … … 299 294 OS2IDirectSound *me = (OS2IDirectSound *)This; 300 295 301 dprintf(("DSOUND-OS2IDirectSound::SetSpeakerConfig %X \n", speakerCfg));296 dprintf(("DSOUND-OS2IDirectSound::SetSpeakerConfig %X", speakerCfg)); 302 297 if (me == NULL) { 303 298 return DSERR_INVALIDPARAM; … … 311 306 HRESULT WIN32API SoundInitialize(THIS_ LPGUID) 312 307 { 313 dprintf(("DSOUND-OS2IDirectSound::Initialize NOP \n"));314 return DS_OK; 315 } 316 //****************************************************************************** 317 //****************************************************************************** 308 dprintf(("DSOUND-OS2IDirectSound::Initialize NOP")); 309 return DS_OK; 310 } 311 //****************************************************************************** 312 //******************************************************************************
Note:
See TracChangeset
for help on using the changeset viewer.