Example #1
0
void MmeGrabber::dispatch(int mask)
{
    /*    fprintf(stderr, "vic: Called MmeGrabber::dispatch\n"); */
    while (mmeCheckForCallbacks())
      mmeProcessCallbacks();
    if (wantgrab_ && running_ ) {
	wantgrab_ = 0;
	mmeMaster->grab();
    }
}
Example #2
0
File: sound.c Project: bernds/UAE
__inline__ void check_sound_buffers (void)
{
    if (((char *)sndbufpt - (char *)mme_sndbufpt) < sndbufsize)
	return 0;
    if (mmeCheckForCallbacks())
	mmeProcessCallbacks();
    if (mme_free_bufs >= SOUND_NUMBUF)
	return 0;
    WaveHeader->lpData = (LPSTR)mme_sndbufpt;
    WaveHeader->dwBufferLength = ((char *)sndbufpt - (char *)mme_sndbufpt);
    mme_nextbuf++;
    if (mme_nextbuf == SOUND_NUMBUF) {
	mme_sndbufpt = sndbuffer;
	mme_nextbuf = 0;
    }
    else mme_sndbufpt += bytes_per_sample*sndbufsize*2;
    sndbufpt = mme_sndbufpt;
    if (waveOutWrite(mme_handle, WaveHeader,
		     sizeof(WAVEHDR)) == MMSYSERR_NOERROR)
	mme_free_bufs++;
    return 1;
}