mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-07-10 00:41:19 +12:00
nsyshid: Play Emulated Portal Audio via Mono Audio (#1478)
This commit is contained in:
parent
00ff5549d9
commit
4f4412b334
9 changed files with 254 additions and 41 deletions
|
@ -4,6 +4,8 @@
|
|||
#include <mmreg.h>
|
||||
#endif
|
||||
|
||||
#include "config/CemuConfig.h"
|
||||
|
||||
class IAudioAPI
|
||||
{
|
||||
friend class GeneralSettings2;
|
||||
|
@ -30,6 +32,13 @@ public:
|
|||
|
||||
using DeviceDescriptionPtr = std::shared_ptr<DeviceDescription>;
|
||||
|
||||
enum AudioType
|
||||
{
|
||||
TV = 0,
|
||||
Gamepad,
|
||||
Portal
|
||||
};
|
||||
|
||||
enum AudioAPI
|
||||
{
|
||||
DirectSound = 0,
|
||||
|
@ -62,8 +71,8 @@ public:
|
|||
static void InitializeStatic();
|
||||
static bool IsAudioAPIAvailable(AudioAPI api);
|
||||
|
||||
static std::unique_ptr<IAudioAPI> CreateDeviceFromConfig(bool TV, sint32 rate, sint32 samples_per_block, sint32 bits_per_sample);
|
||||
static std::unique_ptr<IAudioAPI> CreateDeviceFromConfig(bool TV, sint32 rate, sint32 channels, sint32 samples_per_block, sint32 bits_per_sample);
|
||||
static std::unique_ptr<IAudioAPI> CreateDeviceFromConfig(AudioType type, sint32 rate, sint32 samples_per_block, sint32 bits_per_sample);
|
||||
static std::unique_ptr<IAudioAPI> CreateDeviceFromConfig(AudioType type, sint32 rate, sint32 channels, sint32 samples_per_block, sint32 bits_per_sample);
|
||||
static std::unique_ptr<IAudioAPI> CreateDevice(AudioAPI api, const DeviceDescriptionPtr& device, sint32 samplerate, sint32 channels, sint32 samples_per_block, sint32 bits_per_sample);
|
||||
static std::vector<DeviceDescriptionPtr> GetDevices(AudioAPI api);
|
||||
|
||||
|
@ -84,6 +93,9 @@ protected:
|
|||
private:
|
||||
static uint32 s_audioDelay;
|
||||
void InitWFX(sint32 samplerate, sint32 channels, sint32 bits_per_sample);
|
||||
static AudioChannels AudioTypeToChannels(AudioType type);
|
||||
static std::wstring GetDeviceFromType(AudioType type);
|
||||
static sint32 GetVolumeFromType(AudioType type);
|
||||
|
||||
};
|
||||
|
||||
|
@ -93,3 +105,5 @@ extern AudioAPIPtr g_tvAudio;
|
|||
|
||||
extern AudioAPIPtr g_padAudio;
|
||||
extern std::atomic_int32_t g_padVolume;
|
||||
|
||||
extern AudioAPIPtr g_portalAudio;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue