More 3DNow stuff, Alex
authorterminatorX <>
Sat, 1 Dec 2001 13:27:48 +0000 (13:27 +0000)
committerterminatorX <>
Sat, 1 Dec 2001 13:27:48 +0000 (13:27 +0000)
acconfig.h
configure.in
src/tX_vtt.cc
src/tX_vtt.h

index 728d3ad5a6fb424ced081dfe5ed41d145b53aec7..8725018b29e9c0d5d0b8754c0408396bf151ddbb 100644 (file)
@@ -47,3 +47,6 @@
 
 /* Use OSS */
 #undef USE_OSS
+
+/* Don't use movqfix */
+#undef OVERRIDE_MOVQ_AUTODETECT
index e4a0cc6115be4d65995384c9514dd29ed1dbe8b7..741e71c1f48619e3cf71fa97fb323b087d54a973 100644 (file)
@@ -17,7 +17,7 @@ AC_ARG_ENABLE(wav,          [  --enable-wav            enables the builtin wav-l
 AC_ARG_ENABLE(xsetpointer,  [  --enable-xsetpointer    enables executing of xsetpointer [default=auto] ])
 dnl AC_ARG_ENABLE(alsa,         [  --enable-alsa           use ALSA for sound output [default=auto] ])
 AC_ARG_ENABLE(oss,          [  --enable-oss            use OSS for sound output [default=auto] ])
-
+AC_ARG_ENABLE(movqfix,     [  --disable-movqfix       don't use movq fix for gcc >= 2.96 [default=on] ])
 dnl AC_ARG_ENABLE(dial,         [  --enable-dial           use dials instead of scales for effects [default=yes] ])
 dnl AC_ARG_ENABLE(bigdial,      [  --enable-bigdial        use BIG dials [default=yes] ])
 dnl AC_ARG_ENABLE(dga2,     [  --enable-dga2           use DGA2 instead of DGA1. (experimental) [default=no] ])
@@ -86,6 +86,10 @@ if test "$enable_xsetpointer" != "no"; then
        fi
 fi
 
+if test "$enable_movqfix" == "no"; then
+       AC_DEFINE(OVERRIDE_MOVQ_AUTODETECT)
+fi
+
 using_alsa=no
 using_oss=no
 
index cbf884ff7e7b557350e35072d0d917b500e03c19..2520aae14edbbc04eee6c6d2fdc8ea1af8266fa6 100644 (file)
@@ -360,8 +360,6 @@ void vtt_class :: set_controls (int x, int y)
        y_control=y;
 }
 
-#define calc_mute() res_mute=((mute) || (mix_mute && (!mix_solo)) || ((solo_ctr>0)&&(!mix_solo)))
-
 void vtt_class :: set_mute(int newstate)
 {
        mute=newstate;
@@ -389,6 +387,14 @@ void vtt_class :: set_mix_solo(int newstate)
                solo_ctr++;
        }
        calc_mute();
+
+       /* locking ? */
+       list <vtt_class *> :: iterator vtt;
+       
+       for (vtt=main_list.begin(); vtt!=main_list.end() ; vtt++)
+       {
+               (*vtt)->calc_mute();
+       }
 }
 
 void vtt_class :: lp_set_enable (int newstate)
index 9a3d420e1ddaa8c666ba35926ae8652df8ff7891..f756f519d619594a2eb23f3026a2f025ef6bc0b1 100644 (file)
@@ -318,6 +318,10 @@ class vtt_class
        
        void set_mix_mute(int newstate);
        void set_mix_solo(int newstate);
+       void calc_mute()
+       {
+               res_mute=((mute) || (mix_mute && (!mix_solo)) || ((solo_ctr>0)&&(!mix_solo)));
+       }
 };
 
 #endif