audio_core: Implement OpenAL backend (#6450)

This commit is contained in:
Steveice10 2023-05-01 12:17:45 -07:00 committed by GitHub
parent ce553ab995
commit 055a58f01e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
48 changed files with 1042 additions and 576 deletions

View file

@ -89,7 +89,7 @@ void Apply() {
auto& system = Core::System::GetInstance();
if (system.IsPoweredOn()) {
system.CoreTiming().UpdateClockSpeed(values.cpu_clock_percentage.GetValue());
Core::DSP().SetSink(values.sink_id.GetValue(), values.audio_device_id.GetValue());
Core::DSP().SetSink(values.output_type.GetValue(), values.output_device.GetValue());
Core::DSP().EnableStretching(values.enable_audio_stretching.GetValue());
auto hid = Service::HID::GetModule(system);
@ -156,11 +156,11 @@ void LogSettings() {
log_setting("Utility_CustomTextures", values.custom_textures.GetValue());
log_setting("Utility_UseDiskShaderCache", values.use_disk_shader_cache.GetValue());
log_setting("Audio_Emulation", GetAudioEmulationName(values.audio_emulation.GetValue()));
log_setting("Audio_OutputEngine", values.sink_id.GetValue());
log_setting("Audio_OutputType", values.output_type.GetValue());
log_setting("Audio_OutputDevice", values.output_device.GetValue());
log_setting("Audio_InputType", values.input_type.GetValue());
log_setting("Audio_InputDevice", values.input_device.GetValue());
log_setting("Audio_EnableAudioStretching", values.enable_audio_stretching.GetValue());
log_setting("Audio_OutputDevice", values.audio_device_id.GetValue());
log_setting("Audio_InputDeviceType", values.mic_input_type.GetValue());
log_setting("Audio_InputDevice", values.mic_input_device.GetValue());
using namespace Service::CAM;
log_setting("Camera_OuterRightName", values.camera_name[OuterRightCamera]);
log_setting("Camera_OuterRightConfig", values.camera_config[OuterRightCamera]);

View file

@ -10,6 +10,8 @@
#include <string>
#include <unordered_map>
#include <vector>
#include "audio_core/input_details.h"
#include "audio_core/sink_details.h"
#include "common/common_types.h"
#include "core/hle/service/cam/cam_params.h"
@ -42,12 +44,6 @@ enum class LayoutOption : u32 {
MobileLandscape,
};
enum class MicInputType : u32 {
None = 0,
Real = 1,
Static = 2,
};
enum class StereoRenderOption : u32 {
Off = 0,
SideBySide = 1,
@ -482,12 +478,12 @@ struct Values {
// Audio
bool audio_muted;
SwitchableSetting<AudioEmulation> audio_emulation{AudioEmulation::HLE, "audio_emulation"};
Setting<std::string> sink_id{"auto", "output_engine"};
SwitchableSetting<bool> enable_audio_stretching{true, "enable_audio_stretching"};
Setting<std::string> audio_device_id{"auto", "output_device"};
SwitchableSetting<float, true> volume{1.f, 0.f, 1.f, "volume"};
Setting<MicInputType> mic_input_type{MicInputType::None, "mic_input_type"};
Setting<std::string> mic_input_device{"Default", "mic_input_device"};
Setting<AudioCore::SinkType> output_type{AudioCore::SinkType::Auto, "output_type"};
Setting<std::string> output_device{"auto", "output_device"};
Setting<AudioCore::InputType> input_type{AudioCore::InputType::Auto, "input_type"};
Setting<std::string> input_device{"auto", "input_device"};
// Camera
std::array<std::string, Service::CAM::NumCameras> camera_name;