ref: 2433bad34328371645a8c869c71d2c2cc9b46d72
parent: cd8c8d416b4245458460cfe8e3c00bcb69c3c45b
author: Konstantinn Bonnet <qu7uux@gmail.com>
date: Mon Feb 16 15:35:13 EST 2015
make snd work, and clean up some cd crap eject and close tray commands would be useless for our purposes
--- a/cd_9.c
+++ b/cd_9.c
@@ -13,26 +13,10 @@
byte remap[100];
byte playTrack;
byte maxTrack;
-int cdfile = -1;
+int cdfd = -1;
char cd_dev[64] = "/dev/cdrom";
-void CDAudio_Eject (void)
-{
- if(cdfile == -1 || !enabled)
- return;
-
- Con_DPrintf("CDAudio_Eject: PORTME\n");
-}
-
-void CDAudio_CloseDoor (void)
-{
- if(cdfile == -1 || !enabled)
- return;
-
- Con_DPrintf("CDAudio_CloseDoor: PORTME\n");
-}
-
int CDAudio_GetAudioDiskInfo (void)
{
cdValid = false;
@@ -54,9 +38,8 @@
void CDAudio_Play (byte track, qboolean looping)
{
- if(cdfile == -1 || !enabled)
+ if(cdfd == -1 || !enabled)
return;
-
if(!cdValid){
CDAudio_GetAudioDiskInfo();
if(!cdValid)
@@ -63,6 +46,9 @@
return;
}
+ Con_DPrintf("CDAudio_Play: PORTME\n");
+ return;
+
track = remap[track];
if(track < 1 || track > maxTrack){
Con_DPrintf("CDAudio: Bad track number %ud.\n", track);
@@ -69,9 +55,6 @@
return;
}
- Con_DPrintf("CDAudio_Play: PORTME\n");
- return;
-
/*
struct cdrom_tocentry entry;
struct cdrom_ti ti;
@@ -79,7 +62,7 @@
// don't try to play a non-audio track
entry.cdte_track = track;
entry.cdte_format = CDROM_MSF;
- if(ioctl(cdfile, CDROMREADTOCENTRY, &entry) == -1){
+ if(ioctl(cdfd, CDROMREADTOCENTRY, &entry) == -1){
Con_DPrintf("ioctl cdromreadtocentry failed\n");
return;
}
@@ -98,11 +81,11 @@
ti.cdti_trk1 = track;
ti.cdti_ind0 = 1;
ti.cdti_ind1 = 99;
- if(ioctl(cdfile, CDROMPLAYTRKIND, &ti) == -1) {
+ if(ioctl(cdfd, CDROMPLAYTRKIND, &ti) == -1) {
Con_DPrintf("ioctl cdromplaytrkind failed\n");
return;
}
- if(ioctl(cdfile, CDROMRESUME) == -1)
+ if(ioctl(cdfd, CDROMRESUME) == -1)
Con_DPrintf("ioctl cdromresume failed\n");
*/
@@ -116,11 +99,8 @@
void CDAudio_Stop (void)
{
- if(cdfile == -1 || !enabled || !playing)
+ if(cdfd == -1 || !enabled || !playing)
return;
-
- Con_DPrintf("CDAudio_Stop: PORTME\n");
-
wasPlaying = false;
playing = false;
}
@@ -127,11 +107,8 @@
void CDAudio_Pause (void)
{
- if(cdfile == -1 || !enabled || !playing)
+ if(cdfd == -1 || !enabled || !playing)
return;
-
- Con_DPrintf("CDAudio_Pause: PORTME\n");
-
wasPlaying = playing;
playing = false;
}
@@ -138,11 +115,8 @@
void CDAudio_Resume (void)
{
- if(cdfile == -1 || !enabled || !cdValid || !wasPlaying)
+ if(cdfd == -1 || !enabled || !cdValid || !wasPlaying)
return;
-
- Con_DPrintf("CDAudio_Resume: PORTME\n");
-
playing = true;
}
@@ -153,7 +127,6 @@
if(Cmd_Argc() < 2)
return;
-
command = Cmd_Argv(1);
if(Q_strcasecmp(command, "on") == 0){
enabled = true;
@@ -186,10 +159,6 @@
remap[n] = Q_atoi(Cmd_Argv(n+1));
return;
}
- if(Q_strcasecmp(command, "close") == 0){
- CDAudio_CloseDoor();
- return;
- }
if(!cdValid){
CDAudio_GetAudioDiskInfo();
if(!cdValid){
@@ -217,13 +186,6 @@
CDAudio_Resume();
return;
}
- if(Q_strcasecmp(command, "eject") == 0){
- if(playing)
- CDAudio_Stop();
- CDAudio_Eject();
- cdValid = false;
- return;
- }
if(Q_strcasecmp(command, "info") == 0){
Con_Printf("%ud tracks\n", maxTrack);
if(playing)
@@ -262,7 +224,7 @@
struct cdrom_subchnl subchnl;
subchnl.cdsc_format = CDROM_MSF;
- if(ioctl(cdfile, CDROMSUBCHNL, &subchnl) == -1 ) {
+ if(ioctl(cdfd, CDROMSUBCHNL, &subchnl) == -1 ) {
Con_DPrintf("ioctl cdromsubchnl failed\n");
playing = false;
return;
@@ -286,18 +248,15 @@
if(COM_CheckParm("-nocdaudio"))
return -1;
- /* FIXME */
- return -1;
-
if((i = COM_CheckParm("-cddev")) != 0 && i < com_argc - 1) {
strncpy(cd_dev, com_argv[i + 1], sizeof(cd_dev));
cd_dev[sizeof(cd_dev)-1] = 0;
}
- if((cdfile = open(cd_dev, OREAD)) == -1){
+ if((cdfd = open(cd_dev, OREAD)) == -1){
Sys_Warn("CDAudio_Init %s", cd_dev);
Con_Printf("CDAudio_Init %s: failed to initialize\n", cd_dev);
- cdfile = -1;
+ cdfd = -1;
return -1;
}
@@ -323,6 +282,6 @@
if(!initialized)
return;
CDAudio_Stop();
- close(cdfile);
- cdfile = -1;
+ close(cdfd);
+ cdfd = -1;
}
--- a/snd_9.c
+++ b/snd_9.c
@@ -59,12 +59,7 @@
{
if (!snd_inited)
return 0;
-
- /* FIXME: utter bullshit */
- //shm->samplepos = count.bytes/shm->samplebits/8 & shm->samples-1;
- //shm->samplepos = count.ptr / (shm->samplebits / 8);
- shm->samplepos = wpos / shm->samplebits/8 & shm->samples-1;
- //wpos = 0;
+ shm->samplepos = wpos / (shm->samplebits/8);
return shm->samplepos;
}
@@ -81,7 +76,6 @@
{
int n;
- /* FIXME: utter bullshit */
if((n = write(audio_fd, shm->buffer, shm->samplebits/8 * shm->samples)) < 0){
Sys_Warn("SNDDMA_Submit:write");
SNDDMA_Shutdown();