X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=cd_win.c;h=4ea77dd96870c391606a98339084d2a420154e0d;hb=3fe9d6e6c35da1204647d77f6bd3b44bce752a99;hp=5b35239f4a0615458415e45e3a1a50e64778ba9a;hpb=c4ee1bbcc6b2f917465f07269ad09942bbf40849;p=xonotic%2Fdarkplaces.git diff --git a/cd_win.c b/cd_win.c index 5b35239f..4ea77dd9 100644 --- a/cd_win.c +++ b/cd_win.c @@ -8,7 +8,7 @@ of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -34,7 +34,6 @@ static qboolean enabled = false; static qboolean playLooping = false; static float cdvolume; static qbyte remap[100]; -static qbyte cdrom; static qbyte playTrack; static qbyte maxTrack; @@ -45,7 +44,7 @@ static void CDAudio_Eject(void) { DWORD dwReturn; - if (dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, (DWORD)NULL)) + if ((dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, (DWORD)NULL))) Con_DPrintf("MCI_SET_DOOR_OPEN failed (%i)\n", dwReturn); } @@ -54,7 +53,7 @@ static void CDAudio_CloseDoor(void) { DWORD dwReturn; - if (dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, (DWORD)NULL)) + if ((dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, (DWORD)NULL))) Con_DPrintf("MCI_SET_DOOR_CLOSED failed (%i)\n", dwReturn); } @@ -68,7 +67,7 @@ static int CDAudio_GetAudioDiskInfo(void) cdValid = false; mciStatusParms.dwItem = MCI_STATUS_READY; - dwReturn = mciSendCommand(wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_WAIT, (DWORD) (LPVOID) &mciStatusParms); + dwReturn = mciSendCommand(wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_WAIT, (DWORD) (LPVOID) &mciStatusParms); if (dwReturn) { Con_DPrintf("CDAudio: drive ready test - get status failed\n"); @@ -81,7 +80,7 @@ static int CDAudio_GetAudioDiskInfo(void) } mciStatusParms.dwItem = MCI_STATUS_NUMBER_OF_TRACKS; - dwReturn = mciSendCommand(wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_WAIT, (DWORD) (LPVOID) &mciStatusParms); + dwReturn = mciSendCommand(wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_WAIT, (DWORD) (LPVOID) &mciStatusParms); if (dwReturn) { Con_DPrintf("CDAudio: get tracks - status failed\n"); @@ -103,12 +102,12 @@ static int CDAudio_GetAudioDiskInfo(void) void CDAudio_Play(qbyte track, qboolean looping) { DWORD dwReturn; - MCI_PLAY_PARMS mciPlayParms; + MCI_PLAY_PARMS mciPlayParms; MCI_STATUS_PARMS mciStatusParms; if (!enabled) return; - + if (!cdValid) { CDAudio_GetAudioDiskInfo(); @@ -127,7 +126,7 @@ void CDAudio_Play(qbyte track, qboolean looping) // don't try to play a non-audio track mciStatusParms.dwItem = MCI_CDA_STATUS_TYPE_TRACK; mciStatusParms.dwTrack = track; - dwReturn = mciSendCommand(wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_TRACK | MCI_WAIT, (DWORD) (LPVOID) &mciStatusParms); + dwReturn = mciSendCommand(wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_TRACK | MCI_WAIT, (DWORD) (LPVOID) &mciStatusParms); if (dwReturn) { Con_DPrintf("MCI_STATUS failed (%i)\n", dwReturn); @@ -142,7 +141,7 @@ void CDAudio_Play(qbyte track, qboolean looping) // get the length of the track to be played mciStatusParms.dwItem = MCI_STATUS_LENGTH; mciStatusParms.dwTrack = track; - dwReturn = mciSendCommand(wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_TRACK | MCI_WAIT, (DWORD) (LPVOID) &mciStatusParms); + dwReturn = mciSendCommand(wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_TRACK | MCI_WAIT, (DWORD) (LPVOID) &mciStatusParms); if (dwReturn) { Con_DPrintf("MCI_STATUS failed (%i)\n", dwReturn); @@ -156,10 +155,10 @@ void CDAudio_Play(qbyte track, qboolean looping) CDAudio_Stop(); } - mciPlayParms.dwFrom = MCI_MAKE_TMSF(track, 0, 0, 0); + mciPlayParms.dwFrom = MCI_MAKE_TMSF(track, 0, 0, 0); mciPlayParms.dwTo = (mciStatusParms.dwReturn << 8) | track; - mciPlayParms.dwCallback = (DWORD)mainwindow; - dwReturn = mciSendCommand(wDeviceID, MCI_PLAY, MCI_NOTIFY | MCI_FROM | MCI_TO, (DWORD)(LPVOID) &mciPlayParms); + mciPlayParms.dwCallback = (DWORD)mainwindow; + dwReturn = mciSendCommand(wDeviceID, MCI_PLAY, MCI_NOTIFY | MCI_FROM | MCI_TO, (DWORD)(LPVOID) &mciPlayParms); if (dwReturn) { Con_DPrintf("CDAudio: MCI_PLAY failed (%i)\n", dwReturn); @@ -181,11 +180,11 @@ void CDAudio_Stop(void) if (!enabled) return; - + if (!playing) return; - if (dwReturn = mciSendCommand(wDeviceID, MCI_STOP, 0, (DWORD)NULL)) + if ((dwReturn = mciSendCommand(wDeviceID, MCI_STOP, 0, (DWORD)NULL))) Con_DPrintf("MCI_STOP failed (%i)", dwReturn); wasPlaying = false; @@ -205,7 +204,7 @@ void CDAudio_Pause(void) return; mciGenericParms.dwCallback = (DWORD)mainwindow; - if (dwReturn = mciSendCommand(wDeviceID, MCI_PAUSE, 0, (DWORD)(LPVOID) &mciGenericParms)) + if ((dwReturn = mciSendCommand(wDeviceID, MCI_PAUSE, 0, (DWORD)(LPVOID) &mciGenericParms))) Con_DPrintf("MCI_PAUSE failed (%i)", dwReturn); wasPlaying = playing; @@ -216,21 +215,21 @@ void CDAudio_Pause(void) void CDAudio_Resume(void) { DWORD dwReturn; - MCI_PLAY_PARMS mciPlayParms; + MCI_PLAY_PARMS mciPlayParms; if (!enabled) return; - + if (!cdValid) return; if (!wasPlaying) return; - - mciPlayParms.dwFrom = MCI_MAKE_TMSF(playTrack, 0, 0, 0); - mciPlayParms.dwTo = MCI_MAKE_TMSF(playTrack + 1, 0, 0, 0); - mciPlayParms.dwCallback = (DWORD)mainwindow; - dwReturn = mciSendCommand(wDeviceID, MCI_PLAY, MCI_TO | MCI_NOTIFY, (DWORD)(LPVOID) &mciPlayParms); + + mciPlayParms.dwFrom = MCI_MAKE_TMSF(playTrack, 0, 0, 0); + mciPlayParms.dwTo = MCI_MAKE_TMSF(playTrack + 1, 0, 0, 0); + mciPlayParms.dwCallback = (DWORD)mainwindow; + dwReturn = mciSendCommand(wDeviceID, MCI_PLAY, MCI_TO | MCI_NOTIFY, (DWORD)(LPVOID) &mciPlayParms); if (dwReturn) { Con_DPrintf("CDAudio: MCI_PLAY failed (%i)\n", dwReturn); @@ -242,22 +241,22 @@ void CDAudio_Resume(void) static void CD_f (void) { - char *command; - int ret; - int n; + const char *command; + int ret; + int n; if (Cmd_Argc() < 2) return; command = Cmd_Argv (1); - if (Q_strcasecmp(command, "on") == 0) + if (strcasecmp(command, "on") == 0) { enabled = true; return; } - if (Q_strcasecmp(command, "off") == 0) + if (strcasecmp(command, "off") == 0) { if (playing) CDAudio_Stop(); @@ -265,7 +264,7 @@ static void CD_f (void) return; } - if (Q_strcasecmp(command, "reset") == 0) + if (strcasecmp(command, "reset") == 0) { enabled = true; if (playing) @@ -276,7 +275,7 @@ static void CD_f (void) return; } - if (Q_strcasecmp(command, "remap") == 0) + if (strcasecmp(command, "remap") == 0) { ret = Cmd_Argc() - 2; if (ret <= 0) @@ -291,7 +290,7 @@ static void CD_f (void) return; } - if (Q_strcasecmp(command, "close") == 0) + if (strcasecmp(command, "close") == 0) { CDAudio_CloseDoor(); return; @@ -307,37 +306,37 @@ static void CD_f (void) } } - if (Q_strcasecmp(command, "play") == 0) + if (strcasecmp(command, "play") == 0) { CDAudio_Play((qbyte)atoi(Cmd_Argv (2)), false); return; } - if (Q_strcasecmp(command, "loop") == 0) + if (strcasecmp(command, "loop") == 0) { CDAudio_Play((qbyte)atoi(Cmd_Argv (2)), true); return; } - if (Q_strcasecmp(command, "stop") == 0) + if (strcasecmp(command, "stop") == 0) { CDAudio_Stop(); return; } - if (Q_strcasecmp(command, "pause") == 0) + if (strcasecmp(command, "pause") == 0) { CDAudio_Pause(); return; } - if (Q_strcasecmp(command, "resume") == 0) + if (strcasecmp(command, "resume") == 0) { CDAudio_Resume(); return; } - if (Q_strcasecmp(command, "eject") == 0) + if (strcasecmp(command, "eject") == 0) { if (playing) CDAudio_Stop(); @@ -346,7 +345,7 @@ static void CD_f (void) return; } - if (Q_strcasecmp(command, "info") == 0) + if (strcasecmp(command, "info") == 0) { Con_Printf("%u tracks\n", maxTrack); if (playing) @@ -421,31 +420,31 @@ int CDAudio_Init(void) { DWORD dwReturn; MCI_OPEN_PARMS mciOpenParms; - MCI_SET_PARMS mciSetParms; + MCI_SET_PARMS mciSetParms; int n; if (cls.state == ca_dedicated) return -1; - if (COM_CheckParm("-nocdaudio")) + if (COM_CheckParm("-nocdaudio") || COM_CheckParm("-safe")) return -1; mciOpenParms.lpstrDeviceType = "cdaudio"; - if (dwReturn = mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_SHAREABLE, (DWORD) (LPVOID) &mciOpenParms)) + if ((dwReturn = mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_SHAREABLE, (DWORD) (LPVOID) &mciOpenParms))) { Con_Printf("CDAudio_Init: MCI_OPEN failed (%i)\n", dwReturn); return -1; } wDeviceID = mciOpenParms.wDeviceID; - // Set the time format to track/minute/second/frame (TMSF). - mciSetParms.dwTimeFormat = MCI_FORMAT_TMSF; - if (dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_TIME_FORMAT, (DWORD)(LPVOID) &mciSetParms)) - { + // Set the time format to track/minute/second/frame (TMSF). + mciSetParms.dwTimeFormat = MCI_FORMAT_TMSF; + if ((dwReturn = mciSendCommand(wDeviceID, MCI_SET, MCI_SET_TIME_FORMAT, (DWORD)(LPVOID) &mciSetParms))) + { Con_Printf("MCI_SET_TIME_FORMAT failed (%i)\n", dwReturn); - mciSendCommand(wDeviceID, MCI_CLOSE, 0, (DWORD)NULL); + mciSendCommand(wDeviceID, MCI_CLOSE, 0, (DWORD)NULL); return -1; - } + } for (n = 0; n < 100; n++) remap[n] = n; @@ -455,13 +454,13 @@ int CDAudio_Init(void) if (CDAudio_GetAudioDiskInfo()) { - Con_Printf("CDAudio_Init: No CD in player.\n"); + Con_DPrintf("CDAudio_Init: No CD in player.\n"); cdValid = false; } Cmd_AddCommand ("cd", CD_f); - Con_Printf("CD Audio Initialized\n"); + Con_DPrintf("CD Audio Initialized\n"); return 0; } @@ -475,3 +474,12 @@ void CDAudio_Shutdown(void) if (mciSendCommand(wDeviceID, MCI_CLOSE, MCI_WAIT, (DWORD)NULL)) Con_DPrintf("CDAudio_Shutdown: MCI_CLOSE failed\n"); } + + +void CDAudio_Open(void) +{ +} + +void CDAudio_Close(void) +{ +}