1 ////////////////////////////////////////////////////////////////////////
3 // (c) 1996 Looking Glass Technologies Inc.
6 // Module name: Sound resource one-shot player
7 // File name: roneshot.c
9 // Description: Play a sound resource in one-shot mode given its rez id
11 ////////////////////////////////////////////////////////////////////////
19 // getRezData - function to copy resource data into one-shot buffer
22 *getRezData( void *pCBData
,
26 sndOneShotStuff
*pInfo
;
28 pInfo
= (sndOneShotStuff
*) pCBData
;
29 ResExtractPartial( (Id
) pInfo
->extras
[0], pDst
, pInfo
->playOffset
, nBytes
);
35 ////////////////////////////////////
36 // CreateSoundRezOneShot - create a one-shot sound from a sound resource
39 // pMixer audio mixer to play sounds on
40 // rezId Id of sound resource to play
41 // endCB app callback, invoked when sound is done playing
42 // pEndCBData callback data for endCB
44 // Returns: An ISndSample * that is ready to go.
47 CreateSoundRezOneShot( ISndMixer
*pMixer
,
54 sndOneShotStuff
*pInfo
;
56 pInfo
= (sndOneShotStuff
*) Malloc( sizeof( sndOneShotStuff
) );
57 pInfo
->extras
[0] = rezId
;
58 rezLen
= ResSize( rezId
);
60 LOG2("CreateSoundRezOneShot %d rezId, %ld rezLen",
62 pSample
= CreateSoundOneShot( pMixer
, getRezData
, pInfo
, rezLen
,