nn::audio namespace

Classes

struct AudioDeviceName
struct AudioRendererConfig
struct AudioRendererHandle
struct AudioRendererParameter
struct AuxType
struct BiquadFilterParameter
struct CircularBufferSinkType
struct DelayType
struct DeviceSinkType
struct FinalMixType
struct MemoryPoolType
struct PerformanceDetail
struct PerformanceEntry
class PerformanceInfo
struct SubMixType
struct VoiceType
struct WaveBuffer

Enums

enum AudioRendererRenderingDevice: u32 { AudioRendererRenderingDevice_Cpu, AudioRendererRenderingDevice_Dsp }
enum AudioRendererExecutionMode: u32 { AudioRendererExecutionMode_Manual, AudioRendererExecutionMode_Auto }
enum SampleFormat: u32 { SampleFormat_Invalid, SampleFormat_PcmInt8, SampleFormat_PcmInt16, SampleFormat_PcmInt24, SampleFormat_PcmInt32, SampleFormat_PcmFloat, SampleFormat_Adpcm }
enum MemoryPoolState: u32 { MemoryPoolState_Invalid, MemoryPoolState_New, MemoryPoolState_RequestDetach, MemoryPoolState_Detached, MemoryPoolState_RequestAttach, MemoryPoolState_Attached, MemoryPoolState_Released }
enum PerformanceEntryType: u8 { PerformanceEntryType_Invalid, PerformanceEntryType_Voice, PerformanceEntryType_SubMix, PerformanceEntryType_FinalMix, PerformanceEntryType_Sink }
enum PerformanceDetailType: u8 { PerformanceDetailType_Unknown, PerformanceDetailType_PcmInt16, PerformanceDetailType_Adpcm, PerformanceDetailType_VolumeRamp, PerformanceDetailType_BiquadFilter, PerformanceDetailType_Mix, PerformanceDetailType_Delay, PerformanceDetailType_Aux, PerformanceDetailType_Reverb, PerformanceDetailType_Reverb3d, PerformanceDetailType_PcmFloat }

Functions

void AcquireAudioDeviceSwitchNotification(nn::os::SystemEvent* event)
auto ListAudioDeviceName(nn::audio::AudioDeviceName* buffer, s32 bufferCount) -> s32
auto SetAudioDeviceOutputVolume(nn::audio::AudioDeviceName const* device, float volume) -> Result
auto GetActiveChannelCount() -> u32
void InitializeAudioRendererParameter(nn::audio::AudioRendererParameter* inParameter)
auto IsValidAudioRendererParameter(nn::audio::AudioRendererParameter const& inParameter) -> bool
auto GetAudioRendererWorkBufferSize(nn::audio::AudioRendererParameter const& inParameter) -> size_t
auto GetAudioRendererConfigWorkBufferSize(nn::audio::AudioRendererParameter const& inParameter) -> size_t
auto InitializeAudioRendererConfig(nn::audio::AudioRendererConfig* outConfig, nn::audio::AudioRendererParameter const& inParameter, void* buffer, size_t bufferSize) -> Result
auto OpenAudioRenderer(nn::audio::AudioRendererHandle* outHandle, nn::audio::AudioRendererParameter const& inParameter, void* workBuffer, size_t workBufferSize) -> Result
void CloseAudioRenderer(nn::audio::AudioRendererHandle handle)
auto StartAudioRenderer(nn::audio::AudioRendererHandle handle) -> Result
auto StopAudioRenderer(nn::audio::AudioRendererHandle handle) -> Result
auto RequestUpdateAudioRenderer(nn::audio::AudioRendererHandle handle, nn::audio::AudioRendererConfig const* config) -> Result
auto IsMemoryPoolAttached(nn::audio::MemoryPoolType const* pool) -> bool
auto RequestAttachMemoryPool(nn::audio::MemoryPoolType* pool) -> bool
auto RequestDetachMemoryPool(nn::audio::MemoryPoolType* pool) -> bool
auto AcquireMemoryPool(nn::audio::AudioRendererConfig* config, nn::audio::MemoryPoolType* outPool, void* address, size_t size) -> bool
void ReleaseMemoryPool(nn::audio::AudioRendererConfig* config, nn::audio::MemoryPoolType* pool)
auto GetMemoryPoolAddress(nn::audio::MemoryPoolType const* pool) -> void*
auto GetMemoryPoolSize(nn::audio::MemoryPoolType const* pool) -> size_t
auto GetMemoryPoolState(nn::audio::MemoryPoolType const* pool) -> MemoryPoolState
void SetDelayInputOutput(nn::audio::DelayType* delay, s8 const* input, s8 const* output, s32 count)
auto RemoveDelay(nn::audio::AudioRendererConfig* config, nn::audio::DelayType* delay, nn::audio::FinalMixType* mix) -> void*
auto RemoveDelay(nn::audio::AudioRendererConfig* config, nn::audio::DelayType* delay, nn::audio::SubMixType* mix) -> void*
auto IsDelayRemovable(nn::audio::DelayType* delay) -> bool
auto GetRequiredBufferSizeForAuxSendReturnBuffer(nn::audio::AudioRendererParameter const* config, s32 mixBufferFrameCount, s32 channelCount) -> size_t
auto AddAux(nn::audio::AudioRendererConfig* config, nn::audio::AuxType* aux, nn::audio::FinalMixType* mix, void* sendBuffer, void* returnBuffer, size_t bufferSize) -> Result
auto AddAux(nn::audio::AudioRendererConfig* config, nn::audio::AuxType* aux, nn::audio::SubMixType* mix, void* sendBuffer, void* returnBuffer, size_t bufferSize) -> Result
void RemoveAux(nn::audio::AudioRendererConfig* config, nn::audio::AuxType* aux, nn::audio::FinalMixType* mix)
void RemoveAux(nn::audio::AudioRendererConfig* config, nn::audio::AuxType* aux, nn::audio::SubMixType* mix)
void SetAuxEnabled(nn::audio::AuxType* aux, bool enable)
void SetAuxInputOutput(nn::audio::AuxType* aux, s8 const* input, s8 const* output, s32 count)
auto IsAuxRemovable(nn::audio::AuxType* aux) -> bool
auto GetAuxSampleCount(nn::audio::AuxType const* aux) -> s32
auto GetAuxSampleRate(nn::audio::AuxType const* aux) -> s32
auto ReadAuxSendBuffer(nn::audio::AuxType* aux, s32* buffer, s32 count) -> s32
auto WriteAuxReturnBuffer(nn::audio::AuxType* aux, s32 const* buffer, s32 count) -> s32
auto GetRequiredBufferSizeForPerformanceFrames(nn::audio::AudioRendererParameter const& inParameter) -> size_t
auto SetPerformanceFrameBuffer(nn::audio::AudioRendererConfig* config, void* buffer, size_t bufferSize) -> void*
auto AddDeviceSink(nn::audio::AudioRendererConfig* config, nn::audio::DeviceSinkType* sink, nn::audio::FinalMixType* mix, s8 const* input, s32 inputCount, char const* deviceName) -> Result
void RemoveDeviceSink(nn::audio::AudioRendererConfig* config, nn::audio::DeviceSinkType* sink, nn::audio::FinalMixType* mix)
auto GetSinkNodeId(nn::audio::DeviceSinkType const* sink) -> u32
auto AddCircularBufferSink(nn::audio::AudioRendererConfig* config, nn::audio::CircularBufferSinkType* sink, nn::audio::FinalMixType* mix, s8 const* input, s32 inputCount, void* buffer, size_t bufferSize, nn::audio::SampleFormat sampleFormat) -> Result
void RemoveCircularBufferSink(nn::audio::AudioRendererConfig* config, nn::audio::CircularBufferSinkType* sink, nn::audio::FinalMixType* mix)
auto ReadCircularBufferSink(nn::audio::CircularBufferSinkType* sink, void* buffer, size_t buffer_size) -> size_t
auto GetSinkNodeId(nn::audio::CircularBufferSinkType const* sink) -> u32
auto GetRequiredBufferSizeForCircularBufferSink(nn::audio::AudioRendererParameter const* inParameter, s32 inputCount, s32 frameCount, nn::audio::SampleFormat sampleFormat) -> size_t
auto AcquireFinalMix(nn::audio::AudioRendererConfig* config, nn::audio::FinalMixType* mix, s32 bufferCount) -> bool
auto AcquireSubMix(nn::audio::AudioRendererConfig* config, nn::audio::SubMixType* mix, s32 sampleRate, s32 bufferCount) -> bool
void ReleaseSubMix(nn::audio::AudioRendererConfig* config, nn::audio::SubMixType* mix)
void SetSubMixDestination(nn::audio::AudioRendererConfig* config, nn::audio::SubMixType* source, nn::audio::FinalMixType* destination)
void SetSubMixDestination(nn::audio::AudioRendererConfig* config, nn::audio::SubMixType* source, nn::audio::SubMixType* destination)
void SetSubMixMixVolume(nn::audio::SubMixType* source, nn::audio::FinalMixType* destination, float volume, s32 sourceIndex, s32 destinationIndex)
void SetSubMixMixVolume(nn::audio::SubMixType* source, nn::audio::SubMixType* destination, float volume, s32 sourceIndex, s32 destinationIndex)
auto GetSubMixNodeId(nn::audio::SubMixType const* mix) -> u32
auto AcquireVoiceSlot(nn::audio::AudioRendererConfig* config, nn::audio::VoiceType* voice, s32 sampleRate, s32 channelCount, nn::audio::SampleFormat sampleFormat, s32 priority, void const* buffer, size_t bufferSize) -> Result
void ReleaseVoiceSlot(nn::audio::AudioRendererConfig* config, nn::audio::VoiceType* voice)
auto IsVoiceValid(nn::audio::VoiceType const* voice) -> bool
auto IsVoiceDroppedFlagOn(nn::audio::VoiceType const* voice) -> bool
void ResetVoiceDroppedFlag(nn::audio::VoiceType* voice)
void SetVoiceDestination(nn::audio::AudioRendererConfig* config, nn::audio::VoiceType* voice, nn::audio::FinalMixType* mix)
void SetVoiceDestination(nn::audio::AudioRendererConfig* config, nn::audio::VoiceType* voice, nn::audio::SubMixType* mix)
void SetVoiceVolume(nn::audio::VoiceType* config, float volume)
void SetVoicePitch(nn::audio::VoiceType* config, float pitch)
void SetVoicePlayState(nn::audio::VoiceType* voice, nn::audio::VoiceType::PlayState state)
void SetVoicePriority(nn::audio::VoiceType* voice, s32 priority)
void SetVoiceBiquadFilterParameter(nn::audio::VoiceType* voice, s32 index, nn::audio::BiquadFilterParameter const& biquadFilterParameter)
void SetVoiceMixVolume(nn::audio::VoiceType* voice, nn::audio::FinalMixType* mix, float volume, int sourceIndex, int destinationIndex)
void SetVoiceMixVolume(nn::audio::VoiceType* voice, nn::audio::SubMixType* mix, float volume, int sourceIndex, int destinationIndex)
auto GetVoicePlayState(nn::audio::VoiceType const* voice) -> nn::audio::VoiceType::PlayState
auto GetVoicePriority(nn::audio::VoiceType const* voice) -> s32
auto GetVoicePlayedSampleCount(nn::audio::VoiceType const* voice) -> u64
auto GetVoiceNodeId(nn::audio::VoiceType const* voice) -> u32
auto AppendWaveBuffer(nn::audio::VoiceType* voice, nn::audio::WaveBuffer const* waveBuffer) -> bool
auto GetReleasedWaveBuffer(nn::audio::VoiceType* voice) -> nn::audio::WaveBuffer*

Enum documentation

enum nn::audio::AudioRendererRenderingDevice: u32
#include <nn/audio.h>

enum nn::audio::AudioRendererExecutionMode: u32
#include <nn/audio.h>

enum nn::audio::SampleFormat: u32
#include <nn/audio.h>

enum nn::audio::MemoryPoolState: u32
#include <nn/audio.h>

enum nn::audio::PerformanceEntryType: u8
#include <nn/audio.h>

enum nn::audio::PerformanceDetailType: u8
#include <nn/audio.h>

Function documentation

s32 nn::audio::ListAudioDeviceName(nn::audio::AudioDeviceName* buffer, s32 bufferCount)
#include <nn/audio.h>

Result nn::audio::SetAudioDeviceOutputVolume(nn::audio::AudioDeviceName const* device, float volume)
#include <nn/audio.h>

u32 nn::audio::GetActiveChannelCount()
#include <nn/audio.h>

Result nn::audio::InitializeAudioRendererConfig(nn::audio::AudioRendererConfig* outConfig, nn::audio::AudioRendererParameter const& inParameter, void* buffer, size_t bufferSize)
#include <nn/audio.h>

Result nn::audio::OpenAudioRenderer(nn::audio::AudioRendererHandle* outHandle, nn::audio::AudioRendererParameter const& inParameter, void* workBuffer, size_t workBufferSize)
#include <nn/audio.h>

bool nn::audio::IsMemoryPoolAttached(nn::audio::MemoryPoolType const* pool)
#include <nn/audio.h>

bool nn::audio::AcquireMemoryPool(nn::audio::AudioRendererConfig* config, nn::audio::MemoryPoolType* outPool, void* address, size_t size)
#include <nn/audio.h>

void* nn::audio::GetMemoryPoolAddress(nn::audio::MemoryPoolType const* pool)
#include <nn/audio.h>

void nn::audio::SetDelayInputOutput(nn::audio::DelayType* delay, s8 const* input, s8 const* output, s32 count)
#include <nn/audio.h>

bool nn::audio::IsDelayRemovable(nn::audio::DelayType* delay)
#include <nn/audio.h>

size_t nn::audio::GetRequiredBufferSizeForAuxSendReturnBuffer(nn::audio::AudioRendererParameter const* config, s32 mixBufferFrameCount, s32 channelCount)
#include <nn/audio.h>

Result nn::audio::AddAux(nn::audio::AudioRendererConfig* config, nn::audio::AuxType* aux, nn::audio::FinalMixType* mix, void* sendBuffer, void* returnBuffer, size_t bufferSize)
#include <nn/audio.h>

Result nn::audio::AddAux(nn::audio::AudioRendererConfig* config, nn::audio::AuxType* aux, nn::audio::SubMixType* mix, void* sendBuffer, void* returnBuffer, size_t bufferSize)
#include <nn/audio.h>

void nn::audio::SetAuxEnabled(nn::audio::AuxType* aux, bool enable)
#include <nn/audio.h>

void nn::audio::SetAuxInputOutput(nn::audio::AuxType* aux, s8 const* input, s8 const* output, s32 count)
#include <nn/audio.h>

bool nn::audio::IsAuxRemovable(nn::audio::AuxType* aux)
#include <nn/audio.h>

s32 nn::audio::GetAuxSampleCount(nn::audio::AuxType const* aux)
#include <nn/audio.h>

s32 nn::audio::GetAuxSampleRate(nn::audio::AuxType const* aux)
#include <nn/audio.h>

s32 nn::audio::ReadAuxSendBuffer(nn::audio::AuxType* aux, s32* buffer, s32 count)
#include <nn/audio.h>

s32 nn::audio::WriteAuxReturnBuffer(nn::audio::AuxType* aux, s32 const* buffer, s32 count)
#include <nn/audio.h>

void* nn::audio::SetPerformanceFrameBuffer(nn::audio::AudioRendererConfig* config, void* buffer, size_t bufferSize)
#include <nn/audio.h>

Result nn::audio::AddDeviceSink(nn::audio::AudioRendererConfig* config, nn::audio::DeviceSinkType* sink, nn::audio::FinalMixType* mix, s8 const* input, s32 inputCount, char const* deviceName)
#include <nn/audio.h>

u32 nn::audio::GetSinkNodeId(nn::audio::DeviceSinkType const* sink)
#include <nn/audio.h>

Result nn::audio::AddCircularBufferSink(nn::audio::AudioRendererConfig* config, nn::audio::CircularBufferSinkType* sink, nn::audio::FinalMixType* mix, s8 const* input, s32 inputCount, void* buffer, size_t bufferSize, nn::audio::SampleFormat sampleFormat)
#include <nn/audio.h>

size_t nn::audio::ReadCircularBufferSink(nn::audio::CircularBufferSinkType* sink, void* buffer, size_t buffer_size)
#include <nn/audio.h>

size_t nn::audio::GetRequiredBufferSizeForCircularBufferSink(nn::audio::AudioRendererParameter const* inParameter, s32 inputCount, s32 frameCount, nn::audio::SampleFormat sampleFormat)
#include <nn/audio.h>

bool nn::audio::AcquireFinalMix(nn::audio::AudioRendererConfig* config, nn::audio::FinalMixType* mix, s32 bufferCount)
#include <nn/audio.h>

bool nn::audio::AcquireSubMix(nn::audio::AudioRendererConfig* config, nn::audio::SubMixType* mix, s32 sampleRate, s32 bufferCount)
#include <nn/audio.h>

void nn::audio::SetSubMixMixVolume(nn::audio::SubMixType* source, nn::audio::FinalMixType* destination, float volume, s32 sourceIndex, s32 destinationIndex)
#include <nn/audio.h>

void nn::audio::SetSubMixMixVolume(nn::audio::SubMixType* source, nn::audio::SubMixType* destination, float volume, s32 sourceIndex, s32 destinationIndex)
#include <nn/audio.h>

u32 nn::audio::GetSubMixNodeId(nn::audio::SubMixType const* mix)
#include <nn/audio.h>

Result nn::audio::AcquireVoiceSlot(nn::audio::AudioRendererConfig* config, nn::audio::VoiceType* voice, s32 sampleRate, s32 channelCount, nn::audio::SampleFormat sampleFormat, s32 priority, void const* buffer, size_t bufferSize)
#include <nn/audio.h>

bool nn::audio::IsVoiceValid(nn::audio::VoiceType const* voice)
#include <nn/audio.h>

bool nn::audio::IsVoiceDroppedFlagOn(nn::audio::VoiceType const* voice)
#include <nn/audio.h>

void nn::audio::ResetVoiceDroppedFlag(nn::audio::VoiceType* voice)
#include <nn/audio.h>

void nn::audio::SetVoiceVolume(nn::audio::VoiceType* config, float volume)
#include <nn/audio.h>

void nn::audio::SetVoicePitch(nn::audio::VoiceType* config, float pitch)
#include <nn/audio.h>

void nn::audio::SetVoicePriority(nn::audio::VoiceType* voice, s32 priority)
#include <nn/audio.h>

void nn::audio::SetVoiceBiquadFilterParameter(nn::audio::VoiceType* voice, s32 index, nn::audio::BiquadFilterParameter const& biquadFilterParameter)
#include <nn/audio.h>

void nn::audio::SetVoiceMixVolume(nn::audio::VoiceType* voice, nn::audio::FinalMixType* mix, float volume, int sourceIndex, int destinationIndex)
#include <nn/audio.h>

void nn::audio::SetVoiceMixVolume(nn::audio::VoiceType* voice, nn::audio::SubMixType* mix, float volume, int sourceIndex, int destinationIndex)
#include <nn/audio.h>

s32 nn::audio::GetVoicePriority(nn::audio::VoiceType const* voice)
#include <nn/audio.h>

u32 nn::audio::GetVoiceNodeId(nn::audio::VoiceType const* voice)
#include <nn/audio.h>

bool nn::audio::AppendWaveBuffer(nn::audio::VoiceType* voice, nn::audio::WaveBuffer const* waveBuffer)
#include <nn/audio.h>