Changeset 3047 for trunk/src/dsound
- Timestamp:
- Mar 8, 2000, 9:44:09 PM (26 years ago)
- Location:
- trunk/src/dsound/new
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/dsound/new/OS2SNDBUFFER.CPP
r3044 r3047 1 /* $Id: OS2SNDBUFFER.CPP,v 1. 2 2000-03-08 18:26:47mike Exp $ */1 /* $Id: OS2SNDBUFFER.CPP,v 1.3 2000-03-08 20:44:09 mike Exp $ */ 2 2 3 3 /* … … 414 414 OS2IDirectSoundBuffer *me = (OS2IDirectSoundBuffer *)This; 415 415 416 dprintf(("DSOUND-OS2IDirectSoundBuffer::SoundBufLock (buf=%X, %d bytes )", me, dwWriteBytes));416 dprintf(("DSOUND-OS2IDirectSoundBuffer::SoundBufLock (buf=%X, %d bytes of %d)", me, dwWriteBytes, me->bufferdesc.dwBufferBytes)); 417 417 if (me == NULL || !lplpvAudioPtr1 || !lpdwAudioBytes1) 418 418 return DSERR_INVALIDPARAM; … … 462 462 } 463 463 464 me->frac = 0; 465 me->fPlaying = TRUE; 466 me->status = DSBSTATUS_PLAYING; 467 me->fLoop = dwFlags == DSBPLAY_LOOPING; 468 if (me->fLoop) 469 me->status |= DSBSTATUS_LOOPING; 470 471 dprintf((" Buffer %X: start at pos %d, loop %s",me, me->playpos, me->fLoop?"YES":"NO")); 464 if (!me->fPlaying) { 465 me->frac = 0; 466 me->fPlaying = TRUE; 467 me->status = DSBSTATUS_PLAYING; 468 me->fLoop = dwFlags == DSBPLAY_LOOPING; 469 if (me->fLoop) 470 me->status |= DSBSTATUS_LOOPING; 471 472 dprintf((" Buffer %X: start at pos %d, loop %s",me, me->playpos, me->fLoop?"YES":"NO")); 473 } 474 else { 475 me->fLoop = dwFlags == DSBPLAY_LOOPING; 476 if (me->fLoop) 477 me->status |= DSBSTATUS_LOOPING; 478 479 dprintf((" Buffer %X: already playing, loop %s",me, me->fLoop?"YES":"NO")); 480 } 481 472 482 return DS_OK; 473 483 } … … 507 517 OS2IDirectSoundBuffer *me = (OS2IDirectSoundBuffer *)This; 508 518 509 dprintf(("DSOUND-OS2IDirectSoundBuffer::SoundBufSetVolume ( buf=%X)", me));510 if (me == NULL) { 511 return DSERR_INVALIDPARAM; 512 } 513 me->DSvolume = lVolume;519 dprintf(("DSOUND-OS2IDirectSoundBuffer::SoundBufSetVolume (%d, buf=%X)", lVolume, me)); 520 if (me == NULL) { 521 return DSERR_INVALIDPARAM; 522 } 523 me->DSvolume = (lVolume > 0) ? 0 : lVolume; 514 524 515 525 /* = (10 ^ (1/10)) = 1dB - but the formula below gives results _very_ similar */ 516 526 /* to 'real' DirectSound, indistinguishable for all practical purposes */ 517 me->volume = 255.0 * pow(4, lVolume / 1000.0); 527 me->volume = 255.0 * pow(4, me->DSvolume / 1000.0); 528 dprintf((" New volume: %d", me->volume)); 518 529 519 530 return DS_OK; … … 525 536 OS2IDirectSoundBuffer *me = (OS2IDirectSoundBuffer *)This; 526 537 527 dprintf(("DSOUND-OS2IDirectSoundBuffer::SoundBufSetPan ( buf=%X)", me));538 dprintf(("DSOUND-OS2IDirectSoundBuffer::SoundBufSetPan (%d, buf=%X)", lPan, me)); 528 539 if (me == NULL) { 529 540 return DSERR_INVALIDPARAM; -
trunk/src/dsound/new/OS2SNDBUFFER.H
r3044 r3047 1 /* $Id: OS2SNDBUFFER.H,v 1. 2 2000-03-08 18:26:48mike Exp $ */1 /* $Id: OS2SNDBUFFER.H,v 1.3 2000-03-08 20:44:09 mike Exp $ */ 2 2 3 3 /* … … 52 52 BOOL fLocked; // is buffer currently locked? 53 53 BOOL fPrimary; // is this a primary buffer? 54 DWORDDSvolume; // DSB volume (in dB)54 LONG DSvolume; // DSB volume (in dB) 55 55 LONG volume; // volume (linear) 56 56 LONG DSpan; // DSB pan (in dB)
Note:
See TracChangeset
for help on using the changeset viewer.