Changeset 1404 for trunk/src/winmm/dwaveout.cpp
- Timestamp:
- Oct 22, 1999, 8:09:16 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/winmm/dwaveout.cpp
r1011 r1404 1 /* $Id: dwaveout.cpp,v 1. 7 1999-09-23 09:35:24sandervl Exp $ */1 /* $Id: dwaveout.cpp,v 1.8 1999-10-22 18:09:15 sandervl Exp $ */ 2 2 3 3 /* … … 56 56 this->dwInstance = dwInstance; 57 57 58 callback((ULONG)this, WOM_OPEN, dwInstance, 0, 0); 58 if(!ulError) 59 callback((ULONG)this, WOM_OPEN, dwInstance, 0, 0); 59 60 } 60 61 /******************************************************************************/ … … 66 67 this->hwndCallback = hwndCallback; 67 68 68 PostMessageA(hwndCallback, WOM_OPEN, 0, 0); 69 if(!ulError) 70 PostMessageA(hwndCallback, WOM_OPEN, 0, 0); 69 71 } 70 72 /******************************************************************************/ … … 133 135 #endif 134 136 mciError(rc); 135 ulError = MMSYSERR_NO TENABLED;137 ulError = MMSYSERR_NODRIVER; 136 138 } 137 139 if(rc == 0) { … … 178 180 MCI_GENERIC_PARMS GenericParms; 179 181 180 // Generic parameters 181 GenericParms.hwndCallback = 0; //hwndFrame 182 183 // Stop the playback. 184 mciSendCommand(DeviceId, MCI_STOP,MCI_WAIT, (PVOID)&GenericParms,0); 185 186 mciSendCommand(DeviceId, 182 if(!ulError) { 183 // Generic parameters 184 GenericParms.hwndCallback = 0; //hwndFrame 185 186 // Stop the playback. 187 mciSendCommand(DeviceId, MCI_STOP,MCI_WAIT, (PVOID)&GenericParms,0); 188 189 mciSendCommand(DeviceId, 187 190 MCI_BUFFER, 188 191 MCI_WAIT | MCI_DEALLOCATE_MEMORY, … … 190 193 0); 191 194 192 // Generic parameters 193 GenericParms.hwndCallback = 0; //hwndFrame 194 195 // Close the device 196 mciSendCommand(DeviceId, MCI_CLOSE, MCI_WAIT, (PVOID)&GenericParms, 0); 195 // Generic parameters 196 GenericParms.hwndCallback = 0; //hwndFrame 197 198 // Close the device 199 mciSendCommand(DeviceId, MCI_CLOSE, MCI_WAIT, (PVOID)&GenericParms, 0); 200 } 197 201 198 202 if(wmutex) 199 wmutex->enter(VMUTEX_WAIT_FOREVER);203 wmutex->enter(VMUTEX_WAIT_FOREVER); 200 204 201 205 State = STATE_STOPPED; … … 215 219 wmutex->leave(); 216 220 217 if(callback) { 218 callback((ULONG)this, WOM_CLOSE, dwInstance, 0, 0); 219 } 220 else 221 if(hwndCallback) 222 PostMessageA(hwndCallback, WOM_CLOSE, 0, 0); 221 if(!ulError) { 222 if(callback) { 223 callback((ULONG)this, WOM_CLOSE, dwInstance, 0, 0); 224 } 225 else 226 if(hwndCallback) 227 PostMessageA(hwndCallback, WOM_CLOSE, 0, 0); 228 } 223 229 224 230 if(wmutex) … … 237 243 { 238 244 return(ulError); 245 } 246 /******************************************************************************/ 247 /******************************************************************************/ 248 int DartWaveOut::getNumDevices() 249 { 250 MCI_GENERIC_PARMS GenericParms; 251 MCI_AMP_OPEN_PARMS AmpOpenParms; 252 APIRET rc; 253 254 // Setup the open structure, pass the playlist and tell MCI_OPEN to use it 255 memset(&AmpOpenParms,0,sizeof(AmpOpenParms)); 256 257 AmpOpenParms.usDeviceID = ( USHORT ) 0; 258 AmpOpenParms.pszDeviceType = ( PSZ ) MCI_DEVTYPE_AUDIO_AMPMIX; 259 260 rc = mciSendCommand(0, MCI_OPEN, 261 MCI_WAIT | MCI_OPEN_TYPE_ID | MCI_OPEN_SHAREABLE, 262 (PVOID) &AmpOpenParms, 263 0); 264 265 if(rc) { 266 return 0; //no devices present 267 } 268 269 // Generic parameters 270 GenericParms.hwndCallback = 0; //hwndFrame 271 272 // Close the device 273 mciSendCommand(AmpOpenParms.usDeviceID, MCI_CLOSE, MCI_WAIT, (PVOID)&GenericParms, 0); 274 275 return 1; 239 276 } 240 277 /******************************************************************************/
Note:
See TracChangeset
for help on using the changeset viewer.