Ejemplo n.º 1
0
pascal ComponentResult 
__SoundComponentPlaySourceBuffer( void *dummy, SoundSource sourceID,
				  SoundParamBlockPtr pb, long actions )
{
	ComponentResult result;

	/* lprintf("__PlaySourceBuf %08lx ID: %08x\n", actions, (int)sourceID ); */

	/* tell mixer to start playing this new buffer */
	result = SoundComponentPlaySourceBuffer( GLOBAL.sourceComponent, sourceID, pb, actions );
	if( result == noErr ) {
		/* if the kSourcePaused bit is set, then do not turn on your hardware 
		 * just yet (the assumption is that StartSource() will later be used to 
		 * start this sound playing). If this bit is not set, turn your
		 * hardware interrupts on. [Observation: QT calls PlaySourceBuf agin
		 * rather than StartSource]
		 */
		StartHardware();
		if( (actions & kSourcePaused) )
			PauseHardware();
		else
			ResumeHardware();
	}
	return result;
}
Ejemplo n.º 2
0
void	SMACsdec::PlaySourceBuffer(SoundSource inSourceID, SoundParamBlock* inPB, SInt32 inActions)
{
	//	get rid of the input data
	mSourceData = NULL;
	mOutputData.sampleCount = 0;

	ComponentResult theError = SoundComponentPlaySourceBuffer(mSourceComponent, inSourceID, inPB, inActions);
	ThrowIfError(theError, (CAException)theError, "SMACsdec::PlaySourceBuffer: got an error from SoundComponentPlaySourceBuffer");
}