aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXpl0itR <xpl0itr@outlook.com>2020-07-21 04:33:23 +0100
committerGitHub <noreply@github.com>2020-07-21 05:33:23 +0200
commit21dfa4974a6697fff6a476a87a2d31d408f74e0d (patch)
treed1288656291dce3e8c43c283a43e78e81939ca63
parent723ae240dcb6ff8b03d1187cdbd81f20424bac52 (diff)
A couple fixes for the audio backend GUI option (#1360)
* Detect available audio backends in the gui on a separate thread and hardcode dummy backend in the dropdown and select it by default * Use a Task rather than a Thread * Modify UI on UI thread
-rw-r--r--Ryujinx/Ui/SettingsWindow.cs30
-rw-r--r--Ryujinx/Ui/SettingsWindow.glade4
2 files changed, 28 insertions, 6 deletions
diff --git a/Ryujinx/Ui/SettingsWindow.cs b/Ryujinx/Ui/SettingsWindow.cs
index a278f094..493260c3 100644
--- a/Ryujinx/Ui/SettingsWindow.cs
+++ b/Ryujinx/Ui/SettingsWindow.cs
@@ -11,6 +11,7 @@ using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
+using System.Threading.Tasks;
using GUI = Gtk.Builder.ObjectAttribute;
@@ -198,15 +199,32 @@ namespace Ryujinx.Ui
_systemTimeZoneSelect.Append(locationName, locationName);
}
- _audioBackendSelect.Append(AudioBackend.Dummy.ToString(), AudioBackend.Dummy.ToString());
- if (SoundIoAudioOut.IsSupported)
- _audioBackendSelect.Append(AudioBackend.SoundIo.ToString(), "SoundIO");
- if (OpenALAudioOut.IsSupported)
- _audioBackendSelect.Append(AudioBackend.OpenAl.ToString(), "OpenAL");
+ Task.Run(() =>
+ {
+ if (SoundIoAudioOut.IsSupported)
+ {
+ Application.Invoke(delegate
+ {
+ _audioBackendSelect.Append(AudioBackend.SoundIo.ToString(), "SoundIO");
+ });
+ }
+
+ if (OpenALAudioOut.IsSupported)
+ {
+ Application.Invoke(delegate
+ {
+ _audioBackendSelect.Append(AudioBackend.OpenAl.ToString(), "OpenAL");
+ });
+ }
+
+ Application.Invoke(delegate
+ {
+ _audioBackendSelect.SetActiveId(ConfigurationState.Instance.System.AudioBackend.Value.ToString());
+ });
+ });
_systemLanguageSelect.SetActiveId(ConfigurationState.Instance.System.Language.Value.ToString());
_systemRegionSelect.SetActiveId(ConfigurationState.Instance.System.Region.Value.ToString());
- _audioBackendSelect.SetActiveId(ConfigurationState.Instance.System.AudioBackend.Value.ToString());
_systemTimeZoneSelect.SetActiveId(timeZoneContentManager.SanityCheckDeviceLocationName());
_resScaleCombo.SetActiveId(ConfigurationState.Instance.Graphics.ResScale.Value.ToString());
_anisotropy.SetActiveId(ConfigurationState.Instance.Graphics.MaxAnisotropy.Value.ToString());
diff --git a/Ryujinx/Ui/SettingsWindow.glade b/Ryujinx/Ui/SettingsWindow.glade
index 1e91011e..d4877a3a 100644
--- a/Ryujinx/Ui/SettingsWindow.glade
+++ b/Ryujinx/Ui/SettingsWindow.glade
@@ -1494,6 +1494,10 @@
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Change Audio Backend</property>
<property name="margin_left">5</property>
+ <property name="active_id">Dummy</property>
+ <items>
+ <item id="Dummy" translatable="yes">Dummy</item>
+ </items>
</object>
<packing>
<property name="expand">False</property>