Don’t create multiple sound contexts.
This commit is contained in:
@@ -234,6 +234,8 @@ namespace OpenRA
|
||||
}
|
||||
}
|
||||
|
||||
Sound.Create(Settings.Server.Dedicated ? "Null" : Settings.Sound.Engine);
|
||||
|
||||
Console.WriteLine("Available mods:");
|
||||
foreach (var mod in ModMetadata.AllMods)
|
||||
Console.WriteLine("\t{0}: {1} ({2})", mod.Key, mod.Value.Title, mod.Value.Version);
|
||||
@@ -275,7 +277,7 @@ namespace OpenRA
|
||||
Settings.Game.Mod = mod;
|
||||
|
||||
Sound.StopVideo();
|
||||
Sound.Initialize(Settings.Server.Dedicated ? "Null" : Settings.Sound.Engine);
|
||||
Sound.Initialize();
|
||||
|
||||
ModData = new ModData(mod, !Settings.Server.Dedicated);
|
||||
ModData.InitializeLoaders();
|
||||
|
||||
@@ -29,6 +29,12 @@ namespace OpenRA
|
||||
static ISound video;
|
||||
static MusicInfo currentMusic;
|
||||
|
||||
public static void Create(string engineName)
|
||||
{
|
||||
var enginePath = Platform.ResolvePath(".", "OpenRA.Platforms." + engineName + ".dll");
|
||||
soundEngine = CreateDevice(Assembly.LoadFile(enginePath));
|
||||
}
|
||||
|
||||
static ISoundEngine CreateDevice(Assembly platformDll)
|
||||
{
|
||||
foreach (PlatformAttribute r in platformDll.GetCustomAttributes(typeof(PlatformAttribute), false))
|
||||
@@ -66,11 +72,8 @@ namespace OpenRA
|
||||
return soundEngine.AddSoundSourceFromMemory(rawData, channels, sampleBits, sampleRate);
|
||||
}
|
||||
|
||||
public static void Initialize(string engineName)
|
||||
public static void Initialize()
|
||||
{
|
||||
var enginePath = Platform.ResolvePath(".", "OpenRA.Platforms." + engineName + ".dll");
|
||||
soundEngine = CreateDevice(Assembly.LoadFile(enginePath));
|
||||
|
||||
sounds = new Cache<string, ISoundSource>(LoadSound);
|
||||
music = null;
|
||||
currentMusic = null;
|
||||
|
||||
Reference in New Issue
Block a user