nw::snd::SoundSystem Class

Header file: nw/snd/snd_SoundSystem.h

Syntax

class SoundSystem

Description

Configures settings related to the overall sound system.


[Effect Processing Overview]

Effects can be registered and cleared with the AppendEffect and ClearEffect functions.

Effects are either effects provided by NW4C (nw::snd::FxBase, nw::snd::FxDelay, and nw::snd::FxReverb) or effects provided by CTR_SDK (nn::snd::FxDelay and nn::snd::FxReverb). Either can be registered with the AppendEffect function.

Be sure to execute effects provided by NW4C with the application core. Whereas there is the demerit of putting a load on the application core, multiple effects can be set in a single AUX bus and the user can execute effects that are implemented by inheriting FxBase.

Effects provided by the SDK are executed by the system core when the sound thread is operated by the system core. Whereas the load for effect processing is assumed by the system core, only nnsnd::FxDelay or nn::snd::FxReverb, but not both, can be set for a single AUX bus. Further, because nnsnd::FxReverb suppresses the processing volume of the system core, reverb processing on only the front 2 ch is possible. (Refer to the CTR_SDK nn::snd::FxReverb class in the Reference Manual for details.) Unlike effects provided by NW4C, the user cannot executed effects implemented by the user. Also, if the sound thread is run by the application core, the effects provided by the SDK are also run by the application core.

Effects provided by NW4C and effects provided by the SDK can be individually registered in each AUX bus. For example, it is possible to registered "NW4C FxDelay," "NW4C effect implemented by the user," and "SDK FxReverb" in AUX_BUS_A and "NW4C FxReverb" and "SDK FxDelay" in AUX_BUS_B.

Also, effect processing is performed in the order of "NW4C provided effects" -> "SDK provided effects."

Classes

nw::snd::SoundSystem::SoundThreadScopedLock Locks a sound thread starting when an object is created, and continues locking it until the the object goes out of scope.

Structures

nw::snd::SoundSystem::SoundSystemParam Structure used to initialize the sound system.

Member Constants

Gauging Performance
S SOUND_THREAD_INTERVAL_USEC const int The interval for sound thread operations, measured in microseconds.

Member Functions

Gauging Performance
S GetSoundThreadTickCount Gets the cumulative processing time of and the number of operations that occurred within the sound thread process.
S ClearSoundThreadTickCount Resets to zero the cumulative processing time of and the number of operations that occurred within the sound thread process.
System
S Initialize The sound library is initialized.
S GetRequiredMemSize Gets the memory size required to initialize the sound library.
S Finalize Shuts down the sound system.
S SetSoundFrameUserCallback Sets the callback function called from the sound frame process.
S ClearSoundFrameUserCallback Clears the callback function called from the sound frame process.
S SoundFrameProcess Executes the sound frame process.
S IsInitialized Determines whether the sound system has been initialized.
S LockSoundThread Locks sound threads.
S UnlockSoundThread Unlocks sound threads.
S EnterSleep Prepares the sound library for sleep mode.
S LeaveSleep Executes sound library processing for leaving sleep.
Output Modes
S SetOutputMode Sets the output mode for a sound.
S GetOutputMode Gets the current sound output mode.
Master volume
S SetMasterVolume This function sets the master volume.
S GetMasterVolume Gets the current master volume.
Effect
S AppendEffect Adds the specified effect to the AUX bus.
S ClearEffect Deletes from the bus all effects registered to the specified AUX bus.
S IsFinishedClearEffect Checks whether ClearEffect is completed.
SRC Type
S SetSrcType Sets the SRC type (the interpolation method for the sampling rate converter).
S GetSrcType Gets the SRC type (the interpolation method for the sampling rate converter) that is currently set.
Sequence Variable Output Settings
S EnableSeqPrintVar Enables the printvar sequence command.
S DisableSeqPrintVar Disables the printvar sequence command.
S IsEnabledSeqPrintVar Gets a value indicating whether the printvar sequence command is enabled.
Number of voices being used
S GetVoiceCount Gets the number of voices that are currently being played by the sound library.
S GetMaxVoiceCount Gets the maximum number of voices that can be used with the sound library.
S SetMaxVoiceCount Sets the maximum number of voices to use with the sound library.
biquad Filter
S SetBiquadFilterCallback Registers an user defined biquad filter.

Revision History

2010/20/21
Added [Effect Processing Overview]
2010/01/15
Initial version.

CONFIDENTIAL