cd_sdl.c: cleaned up the latest mess a little. restricted track progressing

to the cd player facility only.


git-svn-id: http://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@293 af15c1b1-3010-417e-b628-4374ebc0bcbd
This commit is contained in:
sezero 2010-08-24 09:04:16 +00:00
parent 83a08ef79a
commit 7b2134168b

View file

@ -43,6 +43,7 @@ static qboolean playing = false;
static qboolean wasPlaying = false;
static qboolean enabled = true;
static qboolean playLooping = false;
static qboolean cdplayer= false; // QuakeSpasm / S.A - cd player facility
static byte remap[100];
static byte playTrack;
static double endOfTrack = -1.0, pausetime = -1.0;
@ -228,7 +229,7 @@ void CDAudio_Resume(void)
static void CD_f (void)
{
const char *command,*arg2;
const char *command;
int ret, n;
if (Cmd_Argc() < 2)
@ -294,20 +295,20 @@ static void CD_f (void)
if (Q_strcasecmp(command, "play") == 0)
{
arg2 = Cmd_Argv (2);
if (*arg2)
CDAudio_Play((byte)atoi(Cmd_Argv (2)), false);
else
command = Cmd_Argv (2);
if (*command)
CDAudio_Play((byte)atoi(command), false);
else
CDAudio_Play((byte)1, false);
return;
}
if (Q_strcasecmp(command, "loop") == 0)
{
arg2 = Cmd_Argv (2);
if (*arg2)
CDAudio_Play((byte)atoi(Cmd_Argv (2)), true);
else
command = Cmd_Argv (2);
if (*command)
CDAudio_Play((byte)atoi(command), true);
else
CDAudio_Play((byte)1, true);
return;
}
@ -436,13 +437,19 @@ void CDAudio_Update(void)
curstat = SDL_CDStatus(cd_handle);
if (curstat != CD_PLAYING && curstat != CD_PAUSED)
{
if (!cdplayer) {
playing = false;
endOfTrack = -1.0;
if (playLooping)
CDAudio_Play(playTrack, true);
} else { // QuakeSpasm / S.A
endOfTrack = -1.0;
if (playLooping) {
playing = false;
CDAudio_Play(playTrack, true);
}
else
CDAudio_Next();
else CDAudio_Next();
}
}
}
}
@ -579,6 +586,9 @@ int CDAudio_Init(void)
Cmd_AddCommand ("cd", CD_f);
if (COM_CheckParm("-cd")) // QuakeSpasm / S.A - cd player facility
cdplayer = true;
// cd hardware volume: no SDL support at present.
hw_vol_works = CD_GetVolume (NULL);
if (hw_vol_works)