aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--audio/mixeng.c2
-rw-r--r--audio/mixeng_template.h10
-rwxr-xr-xconfigure9
3 files changed, 14 insertions, 7 deletions
diff --git a/audio/mixeng.c b/audio/mixeng.c
index b668c524e7..5e0426cb6d 100644
--- a/audio/mixeng.c
+++ b/audio/mixeng.c
@@ -28,8 +28,6 @@
#define AUDIO_CAP "mixeng"
#include "audio_int.h"
-#define NOVOL
-
/* 8 bit */
#define ENDIAN_CONVERSION natural
#define ENDIAN_CONVERT(v) (v)
diff --git a/audio/mixeng_template.h b/audio/mixeng_template.h
index d726441e2e..21eef58bf6 100644
--- a/audio/mixeng_template.h
+++ b/audio/mixeng_template.h
@@ -31,14 +31,14 @@
#define HALF (IN_MAX >> 1)
#endif
-#ifdef NOVOL
-#define VOL(a, b) a
-#else
+#ifdef CONFIG_MIXEMU
#ifdef FLOAT_MIXENG
#define VOL(a, b) ((a) * (b))
#else
#define VOL(a, b) ((a) * (b)) >> 32
#endif
+#else
+#define VOL(a, b) a
#endif
#define ET glue (ENDIAN_CONVERSION, glue (_, IN_T))
@@ -113,7 +113,7 @@ static void glue (glue (conv_, ET), _to_stereo)
{
st_sample_t *out = dst;
IN_T *in = (IN_T *) src;
-#ifndef NOVOL
+#ifdef CONFIG_MIXEMU
if (vol->mute) {
mixeng_clear (dst, samples);
return;
@@ -133,7 +133,7 @@ static void glue (glue (conv_, ET), _to_mono)
{
st_sample_t *out = dst;
IN_T *in = (IN_T *) src;
-#ifndef NOVOL
+#ifdef CONFIG_MIXEMU
if (vol->mute) {
mixeng_clear (dst, samples);
return;
diff --git a/configure b/configure
index fb704bae42..efecd20c42 100755
--- a/configure
+++ b/configure
@@ -114,6 +114,7 @@ build_docs="no"
uname_release=""
curses="yes"
nptl="yes"
+mixemu="no"
# OS specific
targetos=`uname -s`
@@ -337,6 +338,8 @@ for opt do
;;
--disable-nptl) nptl="no"
;;
+ --enable-mixemu) mixemu="yes"
+ ;;
*) echo "ERROR: unknown option $opt"; show_help="yes"
;;
esac
@@ -428,6 +431,7 @@ echo " --enable-alsa enable ALSA audio driver"
echo " --enable-esd enable EsoundD audio driver"
echo " --enable-fmod enable FMOD audio driver"
echo " --enable-dsound enable DirectSound audio driver"
+echo " --enable-mixemu enable mixer emulation"
echo " --disable-brlapi disable BrlAPI"
echo " --disable-vnc-tls disable TLS encryption for VNC server"
echo " --disable-curses disable curses output"
@@ -839,6 +843,7 @@ echo "CoreAudio support $coreaudio"
echo "ALSA support $alsa"
echo "EsounD support $esd"
echo "DSound support $dsound"
+echo "Mixer emulation $mixemu"
if test "$fmod" = "yes"; then
if test -z $fmod_lib || test -z $fmod_inc; then
echo
@@ -1067,6 +1072,10 @@ if test "$dsound" = "yes" ; then
echo "CONFIG_DSOUND=yes" >> $config_mak
echo "#define CONFIG_DSOUND 1" >> $config_h
fi
+if test "$mixemu" = "yes" ; then
+ echo "CONFIG_MIXEMU=yes" >> $config_mak
+ echo "#define CONFIG_MIXEMU 1" >> $config_h
+fi
if test "$fmod" = "yes" ; then
echo "CONFIG_FMOD=yes" >> $config_mak
echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak