-noaudio option to force the sound system to None.
authorMartin Poirier <theeth@yahoo.com>
Mon, 7 Dec 2009 20:39:57 +0000 (20:39 +0000)
committerMartin Poirier <theeth@yahoo.com>
Mon, 7 Dec 2009 20:39:57 +0000 (20:39 +0000)
Useful when openAL is not setup properly (*cough* pulseaudio *cough) and prevents startup.

This doesn't actually affect the userpref option, so you can set it to whatever you want, save userprefs and restart.

source/blender/blenkernel/BKE_sound.h
source/blender/blenkernel/intern/sound.c
source/creator/creator.c

index cbce4663d6f5426da2e06ff3d93ba27ce3c4c6b0..64ce1983e7d1f1ab43c4e8a247a983b3813ffe40 100644 (file)
@@ -41,6 +41,8 @@ void sound_init();
 
 void sound_exit();
 
+void sound_disable();
+
 struct bSound* sound_new_file(struct Main *main, char* filename);
 
 // XXX unused currently
index d8950c7daced33acfcec18c595f32bba538fadb5..74c6afdc018bee4a8dc206ea4a7bea57f6beabbd 100644 (file)
 #include <config.h>
 #endif
 
+static int sound_disabled = 0;
+
+void sound_disable()
+{
+       sound_disabled = 1;
+}
+
 void sound_init()
 {
        AUD_Specs specs;
@@ -42,6 +49,9 @@ void sound_init()
        specs.format = U.audioformat;
        specs.rate = U.audiorate;
 
+       if (sound_disabled)
+               device = 0;
+
        if(buffersize < 128)
                buffersize = AUD_DEFAULT_BUFFER_SIZE;
 
index 3a9ee9859e8092bc9df2f5db84379a1a2f5d6cbd..b6c08582144f8ff5ed24746e8f486d8684e68d25 100644 (file)
@@ -62,6 +62,7 @@
 #include "BKE_scene.h"
 #include "BKE_node.h"
 #include "BKE_report.h"
+#include "BKE_sound.h"
 
 #include "IMB_imbuf.h" // for quicktime_init
 
@@ -219,6 +220,7 @@ static void print_help(void)
        printf ("  -d\t\tTurn debugging on\n");
        printf ("  -nojoystick\tDisable joystick support\n");
        printf ("  -noglsl\tDisable GLSL shading\n");
+       printf ("  -noaudio\tForce sound system to None\n");
        printf ("  -h\t\tPrint this help text\n");
        printf ("  -y\t\tDisable automatic python script execution (pydrivers, pyconstraints, pynodes)\n");
        printf ("  -P <filename>\tRun the given Python script (filename or Blender Text)\n");
@@ -482,8 +484,10 @@ int main(int argc, char **argv)
                                                SYS_WriteCommandLineInt(syshandle,"nojoystick",1);
                                                if (G.f & G_DEBUG) printf("disabling nojoystick\n");
                                        }
-                                       if (BLI_strcasecmp(argv[a], "-noglsl") == 0)
+                                       else if (BLI_strcasecmp(argv[a], "-noglsl") == 0)
                                                GPU_extensions_disable();
+                                       else if (BLI_strcasecmp(argv[a], "-noaudio") == 0)
+                                               sound_disable();
                                        break;
                                }
                        }