class SoundSystem
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."
| 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. |
|---|
nw::snd::SoundSystem::SoundSystemParam
|
Structure used to initialize the sound system. |
|---|
| Gauging Performance | ||
|---|---|---|
| S |
SOUND_THREAD_INTERVAL_USEC
|
The interval for sound thread operations, measured in microseconds. |
| 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. |
CONFIDENTIAL