CDDA_Play now searches for a cd audio track if the requested one is not
valid.
This commit is contained in:
parent
080430b3bd
commit
0677653d4f
1 changed files with 19 additions and 2 deletions
|
@ -108,8 +108,25 @@ void CDDA_Play(int CDDATrack)
|
||||||
if (cdrom == NULL)
|
if (cdrom == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (CD_INDRIVE(SDL_CDStatus(cdrom)))
|
if (CD_INDRIVE(SDL_CDStatus(cdrom))) {
|
||||||
SDL_CDPlayTracks(cdrom, CDDATrack-1, 0, 1, 0);
|
int track = CDDATrack - 1;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if (cdrom->numtracks == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
track %= cdrom->numtracks;
|
||||||
|
|
||||||
|
for (i = 0; i < cdrom->numtracks; i++) {
|
||||||
|
if (cdrom->track[track].type == SDL_AUDIO_TRACK) {
|
||||||
|
SDL_CDPlayTracks(cdrom, track, 0, 1, 0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
track++;
|
||||||
|
track %= cdrom->numtracks;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CDDA_PlayLoop(int CDDATrack)
|
void CDDA_PlayLoop(int CDDATrack)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue