void MD_PlayStart(void) { /* safety valve, prevents entering playstart twice: */ if (gModIsPlaying) return; // md_driver->PlayStart(); VC_PlayStart(); gModIsPlaying=1; }
static BOOL Sun_PlayStart(void) { struct audio_info audioinfo; AUDIO_INITINFO(&audioinfo); audioinfo.play.pause = 0; if (ioctl(sndfd, AUDIO_SETINFO, &audioinfo) < 0) return 1; return VC_PlayStart(); }
static int ALSA_PlayStart(void) { int err; if (pcm_h == NULL) return 1; err = alsa_pcm_prepare(pcm_h); if (err == 0) err = alsa_pcm_start(pcm_h); if (err < 0) { enabled = 0; _mm_errno = MMERR_ALSA_PCM_START; return 1; } return VC_PlayStart(); }
static BOOL NDS_SW_PlayStart(void) { if(VC_PlayStart()) return 1; Player_SetPosition(0); ipc->prevTimer = 0; ipc->writeCursor = 0; ipc->readCursor = 0; int written = VC_WriteBytes(ipc->buffer, ipc->bufferSize); unsignedtosigned(ipc->buffer, written); DC_FlushRange(ipc, sizeof(*ipc)); MikMod9_SendCommand(NDS_SW_CMD_START << 28); return 0; }
static BOOL WSS_PlayStart(void) { if (VC_PlayStart()) return 1; /* Set our routine to be called during WSS IRQs */ buff_tail = 0; wss.timer_callback = WSS_Callback; /* Start cyclic DMA transfer */ if (!wss_start_dma(((md_mode & DMODE_16BITS) ? WSSMODE_16BITS | WSSMODE_SIGNED : 0) | ((md_mode & DMODE_STEREO) ? WSSMODE_STEREO : 0), md_mixfreq)) { _mm_errno = MMERR_DOSWSS_STARTDMA; return 1; } /* Enable speaker output */ wss_output(TRUE); return 0; }
static int ESD_PlayStart(void) { if (sndfd<0) if (!(SETENV)) { if ((sndfd=esd_playstream(format,md_mixfreq,espeaker,"libmikmod"))<0) { _mm_errno=MMERR_OPENING_AUDIO; return 1; } fcntl(sndfd, F_SETFL, fcntl(sndfd, F_GETFL) | O_NONBLOCK); } /* since the default behaviour of SIGPIPE on most Unices is to kill the program, we'll prefer handle EPIPE ourselves should the esd die - recent esdlib use a do-nothing handler, which prevents us from receiving EPIPE, so we override this */ signal(SIGPIPE,SIG_IGN); /* silence buffers */ VC_SilenceBytes(audiobuffer,ESD_BUF_SIZE); esd_writebuf(sndfd,audiobuffer,ESD_BUF_SIZE); audiobuffer_init(); return VC_PlayStart(); }
static BOOL DS_PlayStart(void) { do_update = 1; return VC_PlayStart(); }
static BOOL PSP_PlayStart(void) { VC_PlayStart(); osl_modPlaying = 1; return 0; }
static BOOL ANDROID_PlayStart(void) { VC_PlayStart(); playing = 1; return 0; }
static int XAudio2_PlayStart(void) { do_update = 1; return VC_PlayStart(); }