-noaudio option to force the sound system to None.

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.
This commit is contained in:
Martin Poirier
2009-12-07 20:39:57 +00:00
parent 16ec4cc186
commit f350cde18c
3 changed files with 17 additions and 1 deletions

View File

@@ -41,6 +41,8 @@ void sound_init();
void sound_exit(); void sound_exit();
void sound_disable();
struct bSound* sound_new_file(struct Main *main, char* filename); struct bSound* sound_new_file(struct Main *main, char* filename);
// XXX unused currently // XXX unused currently

View File

@@ -31,6 +31,13 @@
#include <config.h> #include <config.h>
#endif #endif
static int sound_disabled = 0;
void sound_disable()
{
sound_disabled = 1;
}
void sound_init() void sound_init()
{ {
AUD_Specs specs; AUD_Specs specs;
@@ -42,6 +49,9 @@ void sound_init()
specs.format = U.audioformat; specs.format = U.audioformat;
specs.rate = U.audiorate; specs.rate = U.audiorate;
if (sound_disabled)
device = 0;
if(buffersize < 128) if(buffersize < 128)
buffersize = AUD_DEFAULT_BUFFER_SIZE; buffersize = AUD_DEFAULT_BUFFER_SIZE;

View File

@@ -62,6 +62,7 @@
#include "BKE_scene.h" #include "BKE_scene.h"
#include "BKE_node.h" #include "BKE_node.h"
#include "BKE_report.h" #include "BKE_report.h"
#include "BKE_sound.h"
#include "IMB_imbuf.h" // for quicktime_init #include "IMB_imbuf.h" // for quicktime_init
@@ -219,6 +220,7 @@ static void print_help(void)
printf (" -d\t\tTurn debugging on\n"); printf (" -d\t\tTurn debugging on\n");
printf (" -nojoystick\tDisable joystick support\n"); printf (" -nojoystick\tDisable joystick support\n");
printf (" -noglsl\tDisable GLSL shading\n"); printf (" -noglsl\tDisable GLSL shading\n");
printf (" -noaudio\tForce sound system to None\n");
printf (" -h\t\tPrint this help text\n"); printf (" -h\t\tPrint this help text\n");
printf (" -y\t\tDisable automatic python script execution (pydrivers, pyconstraints, pynodes)\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"); 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); SYS_WriteCommandLineInt(syshandle,"nojoystick",1);
if (G.f & G_DEBUG) printf("disabling nojoystick\n"); 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(); GPU_extensions_disable();
else if (BLI_strcasecmp(argv[a], "-noaudio") == 0)
sound_disable();
break; break;
} }
} }