update to allow selection of a new sound device
This commit is contained in:
parent
fde1a925fe
commit
86cd525200
2 changed files with 12 additions and 1 deletions
|
@ -104,6 +104,8 @@ long global_multi_loop;
|
||||||
SGTimeStamp last_time_stamp;
|
SGTimeStamp last_time_stamp;
|
||||||
SGTimeStamp current_time_stamp;
|
SGTimeStamp current_time_stamp;
|
||||||
|
|
||||||
|
void fgSetNewSoundDevice(const char *);
|
||||||
|
|
||||||
// The atexit() function handler should know when the graphical subsystem
|
// The atexit() function handler should know when the graphical subsystem
|
||||||
// is initialized.
|
// is initialized.
|
||||||
extern int _bootstrap_OSInit;
|
extern int _bootstrap_OSInit;
|
||||||
|
@ -509,6 +511,7 @@ static void fgMainLoop( void ) {
|
||||||
} else {
|
} else {
|
||||||
smgr->stop();
|
smgr->stop();
|
||||||
}
|
}
|
||||||
|
globals->get_props()->tie("/sim/sound/device", SGRawValueFunctions<const char *>(0, fgSetNewSoundDevice), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
fgRequestRedraw();
|
fgRequestRedraw();
|
||||||
|
@ -516,6 +519,14 @@ static void fgMainLoop( void ) {
|
||||||
SG_LOG( SG_ALL, SG_DEBUG, "" );
|
SG_LOG( SG_ALL, SG_DEBUG, "" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void fgSetNewSoundDevice(const char *device)
|
||||||
|
{
|
||||||
|
globals->get_soundmgr()->suspend();
|
||||||
|
globals->get_soundmgr()->stop();
|
||||||
|
globals->get_soundmgr()->init(device);
|
||||||
|
globals->get_soundmgr()->resume();
|
||||||
|
}
|
||||||
|
|
||||||
// Operation for querying OpenGL parameters. This must be done in a
|
// Operation for querying OpenGL parameters. This must be done in a
|
||||||
// valid OpenGL context, potentially in another thread.
|
// valid OpenGL context, potentially in another thread.
|
||||||
namespace
|
namespace
|
||||||
|
|
|
@ -204,7 +204,7 @@ fgSetDefaults ()
|
||||||
fgSetBool("/sim/rendering/shading", true);
|
fgSetBool("/sim/rendering/shading", true);
|
||||||
fgSetBool("/sim/rendering/skyblend", true);
|
fgSetBool("/sim/rendering/skyblend", true);
|
||||||
fgSetBool("/sim/rendering/textures", true);
|
fgSetBool("/sim/rendering/textures", true);
|
||||||
fgTie( "/sim/rendering/filtering", SGGetTextureFilter, SGSetTextureFilter, false);
|
fgTie( "/sim/rendering/filtering", SGGetTextureFilter, SGSetTextureFilter, false);
|
||||||
fgSetInt("/sim/rendering/filtering", 1);
|
fgSetInt("/sim/rendering/filtering", 1);
|
||||||
fgSetBool("/sim/rendering/wireframe", false);
|
fgSetBool("/sim/rendering/wireframe", false);
|
||||||
fgSetBool("/sim/rendering/horizon-effect", false);
|
fgSetBool("/sim/rendering/horizon-effect", false);
|
||||||
|
|
Loading…
Add table
Reference in a new issue