Home | History | Annotate | Download | only in os2

Lines Matching refs:cdrom

48 static int SDL_SYS_CDGetTOC(SDL_CD *cdrom);
49 static CDstatus SDL_SYS_CDStatus(SDL_CD *cdrom, int *position);
50 static int SDL_SYS_CDPlay(SDL_CD *cdrom, int start, int length);
51 static int SDL_SYS_CDPause(SDL_CD *cdrom);
52 static int SDL_SYS_CDResume(SDL_CD *cdrom);
53 static int SDL_SYS_CDStop(SDL_CD *cdrom);
54 static int SDL_SYS_CDEject(SDL_CD *cdrom);
55 static void SDL_SYS_CDClose(SDL_CD *cdrom);
145 static int SDL_SYS_CDGetTOC(SDL_CD *cdrom)
153 if (cdrom->status == CD_PLAYING || cdrom->status == CD_PAUSED) return 0;
160 if (LOUSHORT(mciSendCommand(cdrom->id,MCI_STATUS,MCI_WAIT | MCI_STATUS_ITEM,&msp, 0)) != MCIERR_SUCCESS) return(CD_ERROR);
161 cdrom->numtracks = msp.ulReturn;
162 if ( cdrom->numtracks > SDL_MAX_TRACKS )
164 cdrom->numtracks = SDL_MAX_TRACKS;
167 mtr = (MCI_TOC_REC *)SDL_malloc(cdrom->numtracks*sizeof(MCI_TOC_REC));
175 mtp.ulBufSize = cdrom->numtracks*sizeof(MCI_TOC_REC);
176 if (LOUSHORT(mciSendCommand(cdrom->id,MCI_GETTOC,MCI_WAIT,&mtp, 0)) != MCIERR_SUCCESS)
183 for (i=0; i<cdrom->numtracks; i++)
186 cdrom->track[i].id = (mtr+i)->TrackNum;
192 if (LOUSHORT(mciSendCommand(cdrom->id,MCI_STATUS,MCI_WAIT | MCI_TRACK | MCI_STATUS_ITEM,&msp, 0)) != MCIERR_SUCCESS)
197 if (msp.ulReturn==MCI_CD_TRACK_AUDIO) cdrom->track[i].type = SDL_AUDIO_TRACK;
198 else cdrom->track[i].type = SDL_DATA_TRACK;
200 cdrom->track[i].length = FRAMESFROMMM((mtr+i)->ulEndAddr - (mtr+i)->ulStartAddr);
202 cdrom->track[i].offset = FRAMESFROMMM((mtr+i)->ulStartAddr);
210 static CDstatus SDL_SYS_CDStatus(SDL_CD *cdrom, int *position)
220 if (LOUSHORT(mciSendCommand(cdrom->id,MCI_STATUS,MCI_WAIT | MCI_STATUS_ITEM,&msp, 0)) != MCIERR_SUCCESS) status = CD_ERROR;
247 if (position != NULL) /* The SDL $&$&%# CDROM call sends NULL pointer here! */
256 if (LOUSHORT(mciSendCommand(cdrom->id,MCI_STATUS,MCI_WAIT | MCI_STATUS_ITEM,&msp, 0)) != MCIERR_SUCCESS) return (CD_ERROR);
266 static int SDL_SYS_CDPlay(SDL_CD *cdrom, int start, int length)
293 if (LOUSHORT(mciSendCommand(cdrom->id,MCI_STATUS,MCI_WAIT | MCI_STATUS_ITEM,&msp, 0)) == MCIERR_SUCCESS)
298 mciSendCommand(cdrom->id,MCI_RESUME,0,&mgp, 0);
303 if (LOUSHORT(mciSendCommand(cdrom->id,MCI_PLAY,MCI_FROM | MCI_TO,&mpp, 0)) == MCIERR_SUCCESS) return 0;
308 static int SDL_SYS_CDPause(SDL_CD *cdrom)
313 if (LOUSHORT(mciSendCommand(cdrom->id,MCI_PAUSE,MCI_WAIT,&mgp, 0)) == MCIERR_SUCCESS) return 0;
318 static int SDL_SYS_CDResume(SDL_CD *cdrom)
323 if (LOUSHORT(mciSendCommand(cdrom->id,MCI_RESUME,MCI_WAIT,&mgp, 0)) == MCIERR_SUCCESS) return 0;
328 static int SDL_SYS_CDStop(SDL_CD *cdrom)
338 if (LOUSHORT(mciSendCommand(cdrom->id,MCI_STATUS,MCI_WAIT | MCI_STATUS_ITEM,&msp, 0)) == MCIERR_SUCCESS)
343 mciSendCommand(cdrom->id,MCI_RESUME,0,&mgp, 0);
348 if (LOUSHORT(mciSendCommand(cdrom->id,MCI_STOP,MCI_WAIT,&mgp, 0)) == MCIERR_SUCCESS) return 0;
353 static int SDL_SYS_CDEject(SDL_CD *cdrom)
365 if (LOUSHORT(mciSendCommand(cdrom->id,MCI_SET,MCI_WAIT | MCI_SET_DOOR_OPEN,&msp, 0)) == MCIERR_SUCCESS) return 0;
370 static void SDL_SYS_CDClose(SDL_CD *cdrom)
375 mciSendCommand(cdrom->id,MCI_CLOSE,MCI_WAIT,&mgp, 0);
378 /* Finalize CDROM Subsystem - Ready for MCI */