SDL Library Documentation
Prev |  | Next

# SDL_CDOpen

## Name

SDL_CDOpen -- Opens a CD-ROM drive for access.

## Synopsis

    #include "SDL.h"

``SDL_CD *SDL_CDOpen`(int drive);`

## Description

Opens a CD-ROM drive for access. It returns a SDL_CD structure on success, or `NULL` if the drive was invalid or busy. This newly opened CD-ROM becomes the default CD used when other CD functions are passed a `NULL` CD-ROM handle.

Drives are numbered starting with 0. Drive 0 is the system default CD-ROM.

## Examples

    SDL_CD *cdrom;
    int cur_track;
    int min, sec, frame;
    SDL_Init(SDL_INIT_CDROM);
    atexit(SDL_Quit);

    /* Check for CD drives */
    if(!SDL_CDNumDrives()){
      /* None found */
      fprintf(stderr, "No CDROM devices available\n");
      exit(-1);
    }

    /* Open the default drive */
    cdrom=SDL_CDOpen(0);

    /* Did if open? Check if cdrom is NULL */
    if(!cdrom){
      fprintf(stderr, "Couldn't open drive: %s\n", SDL_GetError());
      exit(-1);
    }

    /* Print Volume info */
    printf("Name: %s\n", SDL_CDName(0));
    printf("Tracks: %d\n", cdrom->numtracks);
    for(cur_track=0;cur_track < cdrom->numtracks; cur_track++){
      FRAMES_TO_MSF(cdrom->track[cur_track].length, &min, &sec, &frame);
      printf("\tTrack %d: Length %d:%d\n", cur_track, min, sec);
    }

    SDL_CDClose(cdrom);

## See Also

SDL_CD, SDL_CDtrack, `SDL_CDClose`

Prev | Home | Next
SDL_CDName | Up | SDL_CDStatus