Changeset 5272 for trunk/src/winmm/waveout.cpp
- Timestamp:
- Feb 27, 2001, 10:14:00 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/winmm/waveout.cpp
r4388 r5272 1 /* $Id: waveout.cpp,v 1.1 6 2000-10-02 18:55:41sandervl Exp $ */1 /* $Id: waveout.cpp,v 1.17 2001-02-27 21:14:00 sandervl Exp $ */ 2 2 //#undef DEBUG 3 3 /* … … 109 109 pwh->dwFlags &= ~WHDR_DONE; 110 110 111 111 dprintf(("waveOutWrite %x %d %x", pwh->lpData, pwh->dwBufferLength, pwh->dwFlags)); 112 112 return(dwave->write(pwh, cbwh)); 113 113 } … … 226 226 DartWaveOut *dwave = (DartWaveOut *)hwo; 227 227 228 if(pmmt == NULL) 228 if(pmmt == NULL) 229 229 return MMSYSERR_INVALPARAM; 230 230 … … 239 239 switch (pmmt->wType) { 240 240 case TIME_BYTES: 241 242 241 pmmt->u.cb = position; 242 break; 243 243 case TIME_SAMPLES: 244 245 244 pmmt->u.sample = position * 8 / dwave->getBitsPerSample(); 245 break; 246 246 case TIME_SMPTE: 247 247 { 248 249 250 251 252 253 254 255 256 257 258 248 ULONG timeval = position / (dwave->getAvgBytesPerSecond() / 1000); 249 pmmt->u.smpte.hour = timeval / 108000; 250 timeval -= pmmt->u.smpte.hour * 108000; 251 pmmt->u.smpte.min = timeval / 1800; 252 timeval -= pmmt->u.smpte.min * 1800; 253 pmmt->u.smpte.sec = timeval / 30; 254 timeval -= pmmt->u.smpte.sec * 30; 255 pmmt->u.smpte.frame = timeval; 256 pmmt->u.smpte.fps = 30; 257 break; 258 } 259 259 default: 260 261 260 dprintf(("waveOutGetPosition: Format %d not supported ! use TIME_MS !\n", pmmt->wType)); 261 pmmt->wType = TIME_MS; 262 262 case TIME_MS: 263 264 265 263 pmmt->u.ms = position / (dwave->getAvgBytesPerSecond() / 1000); 264 dprintf(("WINMM:waveOutGetPosition: TIME_MS pos=%d ms=%d time=%d", position, pmmt->u.ms, GetCurrentTime())); 265 break; 266 266 } 267 267 return MMSYSERR_NOERROR; … … 306 306 UINT, cbwoc) 307 307 { 308 dprintf(("WINMM:waveOutGetDevCapsW"));309 310 308 if(DartWaveOut::getNumDevices() == 0) { 311 309 memset(pwoc, 0, sizeof(*pwoc)); … … 316 314 pwoc->wPid = 0; /* product ID */ 317 315 pwoc->vDriverVersion = 0x0001; /* version of the driver */ 318 AsciiToUnicode( "OS/2 DART Wave Out", pwoc->szPname); /* product name */316 lstrcpyW(pwoc->szPname, (LPCWSTR)L"OS/2 DART Wave Out"); /* product name */ 319 317 pwoc->dwFormats = WAVE_FORMAT_1M08 | WAVE_FORMAT_1S08 | 320 318 WAVE_FORMAT_1M16 | WAVE_FORMAT_1S16 | … … 439 437 } 440 438 if(hwo == NULL) { 441 439 DartWaveOut::setDefaultVolume(dwVolume); 442 440 } 443 441 return MMSYSERR_NOERROR;
Note:
See TracChangeset
for help on using the changeset viewer.