diff --git a/Makefile b/Makefile index 12840167c..40740cbfa 100644 --- a/Makefile +++ b/Makefile @@ -32,7 +32,7 @@ endif ifeq ($(OS),linux) DEFAULT_TARGET = glx - OS_GL_CFLAGS = -DWITH_DGA -DWITH_EVDEV -DWITH_VMODE -DWITH_JOYSTICK + OS_GL_CFLAGS = -DWITH_DGA -DWITH_EVDEV -DWITH_VMODE -DWITH_JOYSTICK -DWITH_PULSEAUDIO endif ifeq ($(OS),darwin) ARCH_CFLAGS = -arch i686 -arch ppc -msse2 @@ -42,7 +42,7 @@ ifeq ($(OS),darwin) endif ifeq ($(OS),freebsd) DEFAULT_TARGET = glx - OS_GL_CFLAGS = -DWITH_DGA -DWITH_VMODE -DWITH_KEYMAP + OS_GL_CFLAGS = -DWITH_DGA -DWITH_VMODE -DWITH_KEYMAP -DWITH_PULSEAUDIO endif LIB_PREFIX=$(OS)-$(ARCH) diff --git a/menu_options.c b/menu_options.c index 737f6fdb3..fc3eb0a20 100644 --- a/menu_options.c +++ b/menu_options.c @@ -657,8 +657,10 @@ const char* SoundDriverRead(void) { if(strcmp(s_driver.string, "oss")==0) return "oss"; + #ifdef WITH_PULSEAUDIO else if((strcmp(s_driver.string, "pulseaudio")==0) || (strcmp(s_driver.string, "pulse")==0)) return "pulseaudio (experimental)"; + #endif else return "alsa"; } @@ -667,20 +669,32 @@ void SoundDriverToggle(qbool back) int val = 0; if(strcmp(s_driver.string, "oss")==0) val = 1; + #ifdef WITH_PULSEAUDIO else if((strcmp(s_driver.string, "pulseaudio")==0) || (strcmp(s_driver.string, "pulse")==0)) val = 2; + #endif else val = 0; if(back) if(val==0) + #ifdef WITH_PULSEAUDIO val = 2; + #else + val = 1; + #endif else val--; else + #ifdef WITH_PULSEAUDIO val = (val +1) % 3; + #else + val = (val+1)%2; + #endif switch(val) { case 1: Cvar_LatchedSet(&s_driver, "oss"); break; + #ifdef WITH_PULSEAUDIO case 2: Cvar_LatchedSet(&s_driver, "pulseaudio"); break; + #endif default: Cvar_LatchedSet(&s_driver, "alsa"); break; } } diff --git a/qsound.h b/qsound.h index a8d01cbe1..06a777ba9 100644 --- a/qsound.h +++ b/qsound.h @@ -112,7 +112,9 @@ void SNDDMA_Shutdown(void); #if defined(__linux__) || defined(__FreeBSD__) void SNDDMA_Submit(unsigned int count); // Legacy OSS doesnt use Submit +#ifdef WITH_PULSEAUDIO qbool SNDDMA_Init_PULSEAUDIO(qsoundhandler_t *sd); // Pulseaudio disabled atm... +#endif qbool SNDDMA_Init_ALSA(qsoundhandler_t *sd); qbool SNDDMA_Init_ALSA_Legacy(qsoundhandler_t *sd); qbool SNDDMA_Init_OSS(qsoundhandler_t *sd); diff --git a/snd_dma.c b/snd_dma.c index 7cbe5f40d..a7d18ebc3 100644 --- a/snd_dma.c +++ b/snd_dma.c @@ -118,8 +118,10 @@ cvar_t s_alsa_device = {"s_alsa_device", "default", CVAR_LATCH}; cvar_t s_alsa_latency = {"s_alsa_latency", "0.04", CVAR_LATCH}; cvar_t s_alsa_noworkaround = {"s_alsa_noworkaround", "0", CVAR_LATCH}; cvar_t s_uselegacydrivers = {"s_uselegacydrivers", "0", CVAR_LATCH}; +#ifdef WITH_PULSEAUDIO cvar_t s_pulseaudio_latency = {"s_pulseaudio_latency", "0.04", CVAR_LATCH}; #endif +#endif #ifdef __linux__ cvar_t s_driver = {"s_driver", "alsa", CVAR_LATCH}; @@ -215,10 +217,10 @@ static qbool S_Startup (void) retval = SNDDMA_Init_ALSA(qsoundhandler); } - + #ifdef WITH_PULSEAUDIO } else if(strcmp(audio_driver, "pulseaudio")==0 || strcmp(audio_driver, "pulse")==0) { retval = SNDDMA_Init_PULSEAUDIO(qsoundhandler); - + #endif } else if(strcmp(audio_driver, "oss")==0) { if(s_uselegacydrivers.value) { retval = SNDDMA_Init_OSS_Legacy(qsoundhandler); @@ -364,7 +366,9 @@ static void S_Register_LatchCvars(void) Cvar_Register(&s_alsa_device); Cvar_Register(&s_alsa_latency); Cvar_Register(&s_alsa_noworkaround); + #ifdef WITH_PULSEAUDIO Cvar_Register(&s_pulseaudio_latency); + #endif #endif Cvar_ResetCurrentGroup(); diff --git a/snd_pulseaudio.c b/snd_pulseaudio.c index 1282e0079..4da0435a7 100644 --- a/snd_pulseaudio.c +++ b/snd_pulseaudio.c @@ -17,6 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#ifdef WITH_PULSEAUDIO #if defined(__linux__) || defined(__FreeBSD__) #include "quakedef.h" @@ -504,3 +505,4 @@ static void pulseaudio_stream_state_callback(pa_stream *stream, void *userdata) #endif //defined(__linux__) || defined(__FreeBSD__) +#endif //WITH_PULSEAUDIO