Better integration of XMMS-CTL, compile with 'make BASE_CFLAGS=-DXMMSCTL build_release'
This commit is contained in:
parent
3594406e45
commit
8fce28734b
5 changed files with 55 additions and 17 deletions
6
Makefile
6
Makefile
|
@ -36,7 +36,7 @@ BUILD_RELEASE_DIR=.release
|
|||
|
||||
CC=gcc -m32
|
||||
|
||||
BASE_CFLAGS=-Dstricmp=strcasecmp -Wunused -I./include/
|
||||
override BASE_CFLAGS += -Dstricmp=strcasecmp -Wunused -I./include/
|
||||
RELEASE_CFLAGS=$(BASE_CFLAGS) -O2 -funroll-loops -ffast-math -fomit-frame-pointer -funsigned-char -fno-strength-reduce
|
||||
DEBUG_CFLAGS=$(BASE_CFLAGS) -g
|
||||
LDFLAGS=-lm -ldl
|
||||
|
@ -181,6 +181,7 @@ NGUNIX_OBJS = \
|
|||
$(BUILDDIR)/wad.o \
|
||||
$(BUILDDIR)/world.o \
|
||||
$(BUILDDIR)/tracker_linux.o \
|
||||
$(BUILDDIR)/xmms-ctl.o \
|
||||
$(BUILDDIR)/cd_null.o \
|
||||
$(BUILDDIR)/sys_linux.o \
|
||||
$(BUILDDIR)/vid_x.o \
|
||||
|
@ -534,6 +535,9 @@ $(BUILDDIR)/world.o : $(MOUNT_DIR)/world.c
|
|||
$(BUILDDIR)/tracker_linux.o : $(MOUNT_DIR)/../tracker/tracker_linux.c
|
||||
$(DO_DUMB)
|
||||
|
||||
$(BUILDDIR)/xmms-ctl.o : $(MOUNT_DIR)/../audio/xmms-ctl.c
|
||||
$(DO_DUMB)
|
||||
|
||||
$(BUILDDIR)/cd_null.o : $(MOUNT_DIR)/../audio/cd_null.c
|
||||
$(DO_CC)
|
||||
|
||||
|
|
|
@ -315,6 +315,10 @@ void S_Shutdown(void)
|
|||
#endif
|
||||
Tracker_Shutdown();
|
||||
|
||||
#ifdef XMMSCTL
|
||||
XMMS_Shutdown();
|
||||
#endif
|
||||
|
||||
shm = 0;
|
||||
sound_started = 0;
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
#include "globaldef.h"
|
||||
|
||||
#ifdef XMMSCTL
|
||||
static int xmms_loop = 1;
|
||||
static int xmms_track;
|
||||
|
||||
|
@ -53,7 +54,7 @@ int XMMS_GetValue(char *parm)
|
|||
return value;
|
||||
}
|
||||
|
||||
void Tracker_Play(byte track, qboolean looping)
|
||||
void XMMS_Play(byte track, qboolean looping)
|
||||
{
|
||||
char buffer [32];
|
||||
int ctltemp;
|
||||
|
@ -81,7 +82,7 @@ void Tracker_Play(byte track, qboolean looping)
|
|||
Con_Printf("XMMS: Now playing song %i, looping %i\n", xmms_track, xmms_loop);
|
||||
}
|
||||
|
||||
void Tracker_Stop(void)
|
||||
void XMMS_Stop(void)
|
||||
{
|
||||
system("xmms-ctl -stop");
|
||||
xmms_wasplaying = false;
|
||||
|
@ -91,7 +92,7 @@ void Tracker_Stop(void)
|
|||
}
|
||||
|
||||
|
||||
void Tracker_Pause(void)
|
||||
void XMMS_Pause(void)
|
||||
{
|
||||
system("xmms-ctl -pause");
|
||||
xmms_wasplaying = xmms_playing;
|
||||
|
@ -101,7 +102,7 @@ void Tracker_Pause(void)
|
|||
}
|
||||
|
||||
|
||||
void Tracker_Resume(void)
|
||||
void XMMS_Resume(void)
|
||||
{
|
||||
if (!xmms_wasplaying)
|
||||
return;
|
||||
|
@ -111,7 +112,7 @@ void Tracker_Resume(void)
|
|||
Con_Printf("XMMS: Resuming track %i\n", xmms_track);
|
||||
}
|
||||
|
||||
void Tracker_Update(void)
|
||||
void XMMS_Update(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -127,25 +128,25 @@ static void XMMS_f (void)
|
|||
|
||||
if (Q_strcasecmp(command, "play") == 0)
|
||||
{
|
||||
Tracker_Play((byte)Q_atoi(Cmd_Argv (2)), false);
|
||||
XMMS_Play((byte)Q_atoi(Cmd_Argv (2)), false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (Q_strcasecmp(command, "stop") == 0)
|
||||
{
|
||||
Tracker_Stop();
|
||||
XMMS_Stop();
|
||||
return;
|
||||
}
|
||||
|
||||
if (Q_strcasecmp(command, "pause") == 0)
|
||||
{
|
||||
Tracker_Pause();
|
||||
XMMS_Pause();
|
||||
return;
|
||||
}
|
||||
|
||||
if (Q_strcasecmp(command, "resume") == 0)
|
||||
{
|
||||
Tracker_Resume();
|
||||
XMMS_Resume();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -156,7 +157,7 @@ static void XMMS_f (void)
|
|||
}
|
||||
}
|
||||
|
||||
int Tracker_Init(void)
|
||||
int XMMS_Init(void)
|
||||
{
|
||||
FILE *fp;
|
||||
fp = popen("/usr/local/bin/xmms-ctl", "r");
|
||||
|
@ -177,12 +178,13 @@ int Tracker_Init(void)
|
|||
}
|
||||
|
||||
|
||||
void Tracker_Shutdown(void)
|
||||
void XMMS_Shutdown(void)
|
||||
{
|
||||
if(XMMS_GetValue("-get-advance") != xmms_old_advance)
|
||||
system("xmms-ctl -set-advance");
|
||||
if(!XMMS_GetValue("-get-repeat") != xmms_old_repeat)
|
||||
system("xmms-ctl -set-repeat");
|
||||
|
||||
Tracker_Stop(); // Because requested
|
||||
XMMS_Stop(); // Because requested
|
||||
}
|
||||
#endif
|
|
@ -1460,6 +1460,10 @@ void CL_ParseServerMessage (void)
|
|||
if (cl.paused)
|
||||
{
|
||||
Tracker_Pause ();
|
||||
#ifdef XMMSCTL
|
||||
XMMS_Pause();
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
VID_HandlePause (true);
|
||||
#endif
|
||||
|
@ -1467,6 +1471,10 @@ void CL_ParseServerMessage (void)
|
|||
else
|
||||
{
|
||||
Tracker_Resume ();
|
||||
#ifdef XMMSCTL
|
||||
XMMS_Resume();
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
VID_HandlePause (false);
|
||||
#endif
|
||||
|
@ -1527,9 +1535,19 @@ void CL_ParseServerMessage (void)
|
|||
cl.cdtrack = MSG_ReadByte ();
|
||||
cl.looptrack = MSG_ReadByte ();
|
||||
if ( (cls.demoplayback || cls.demorecording) && (cls.forcetrack != -1) )
|
||||
{
|
||||
Tracker_Play ((byte)cls.forcetrack, true);
|
||||
#ifdef XMMSCTL
|
||||
XMMS_Play ((byte)cls.forcetrack, true);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
Tracker_Play ((byte)cl.cdtrack, true);
|
||||
#ifdef XMMSCTL
|
||||
XMMS_Play ((byte)cl.cdtrack, true);
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1333,11 +1333,16 @@ void Host_Init (quakeparms_t *parms)
|
|||
#endif
|
||||
|
||||
#ifndef BENCH
|
||||
CDAudio_Init ();
|
||||
Tracker_Init ();
|
||||
Sbar_Init ();
|
||||
CDAudio_Init ();
|
||||
Tracker_Init ();
|
||||
|
||||
#ifdef XMMSCTL
|
||||
XMMS_Init();
|
||||
#endif
|
||||
CL_Init ();
|
||||
|
||||
Sbar_Init ();
|
||||
#endif
|
||||
CL_Init ();
|
||||
|
||||
#if defined(_WIN32) || defined(DOSQUAKE) // on non dos/win32, mouse comes before video for security reasons
|
||||
IN_Init ();
|
||||
|
@ -1387,6 +1392,11 @@ void Host_Shutdown(void)
|
|||
#endif
|
||||
CDAudio_Shutdown ();
|
||||
Tracker_Shutdown ();
|
||||
|
||||
#ifdef XMMSCTL
|
||||
XMMS_Shutdown();
|
||||
#endif
|
||||
|
||||
NET_Shutdown ();
|
||||
S_Shutdown();
|
||||
IN_Shutdown ();
|
||||
|
|
Loading…
Reference in a new issue