# NITRO Composer (Snd) API Function List

### System

#### Basic Functions

NNS_SndInit | Initializes Sound.
NNS_SndMain | This function performs the frame processing of sound.

#### System Configuration

NNS_SndSetMasterVolume | This function sets the master volume.
NNS_SndSetMonoFlag | Sets the mono flag.
NNS_SndBeginSleep | Deleted.
NNS_SndEndSleep | Deleted.
NNS_SndStopSoundAll | Stops all sounds.
NNS_SndStopChannelAll | Stops output of all sound channels.

#### Driver Information

NNS_SndUpdateDriverInfo | Updates sound driver information.
NNS_SndReadDriverChannelInfo | Gets the channel information.

#### Resource Management

NNS_SndLockChannel | Locks specified channel(s).
NNS_SndUnlockChannel | Unlocks locked channels.
NNS_SndLockCapture | Locks sound capture.
NNS_SndUnlockCapture | Unlocks sound capture.
NNS_SndAllocAlarm | Gets the sound alarm.
NNS_SndFreeAlarm | Frees the sound alarm.

### Sound Archive Player

#### Initialization

NNS_SndArcPlayerSetup | Sets up the player using a sound archive.

#### Sequence Playback

NNS_SndArcPlayerStartSeq | Plays sequence.
NNS_SndArcPlayerStartSeqArc | This function plays back a sequence archive.
NNS_SndArcPlayerStartSeqEx | Specifies parameters and then plays back a sequence.
NNS_SndArcPlayerStartSeqArcEx | Specifies parameters and then plays back a sequence archive.

### Player

#### Stop Sequence

NNS_SndPlayerStopSeq | Stops sequence. (Sound Handle specified).
NNS_SndPlayerStopSeqByPlayerNo | Stops sequence. (Player number specified).
NNS_SndPlayerStopSeqBySeqNo | Stops sequence. (Sequence number specified).
NNS_SndPlayerStopSeqBySeqArcNo | Stops sequence. (Sequence archive number specified).
NNS_SndPlayerStopSeqBySeqArcIdx | Stops sequence. (Sequence archive number and index number specified).
NNS_SndPlayerStopSeqAll | Stops all sequences.
NNS_SndPlayerPause | Pauses sequence or re-starts sequence. (Sound Handle specified).
NNS_SndPlayerPauseByPlayerNo | Pauses sequence or re-starts sequence. (Player number specified).
NNS_SndPlayerPauseAll | Pauses or restarts all sequences.

#### Sequence Parameters

NNS_SndPlayerSetTempoRatio | This function changes the tempo.
NNS_SndPlayerSetVolume | This function changes the sequence volume.
NNS_SndPlayerSetInitialVolume | Sets the initial volume value of the sequence.
NNS_SndPlayerMoveVolume | Gradually changes sequence volume.
NNS_SndPlayerSetPlayerPriority | Changes the player priority of the sequence.
NNS_SndPlayerSetChannelPriority | Changes the sound generation priority of the sequence.

#### Track Parameters

NNS_SndPlayerSetTrackMute | This function mutes and stops a sequence track.
NNS_SndPlayerSetTrackVolume | This function changes the volume of the sequence track.
NNS_SndPlayerSetTrackPitch | This function changes the pitch of the sequence track.
NNS_SndPlayerSetTrackPan | This function changes the pan for a sequence track.
NNS_SndPlayerSetTrackPanRange | Changes the pan range for a sequence track.
NNS_SndPlayerSetTrackModDepth | This function changes the modulation depth of the sequence track.
NNS_SndPlayerSetTrackModSpeed | This function changes the modulation speed for the sequence track.
NNS_SndPlayerSetTrackAllocatableChannel | Changes the allocatable channel for the sequence track.

#### Status Retrieval

NNS_SndPlayerGetTick | Gets the current number of ticks of the sequence.
NNS_SndPlayerCountPlayingSeqByPlayerNo | Counts the number of sequences currently playing (Player number specified).
NNS_SndPlayerCountPlayingSeqBySeqNo | Counts the number of sequences currently playing (Sequence number specified).
NNS_SndPlayerCountPlayingSeqBySeqArcNo | Counts the number of sequences currently playing (Sequence archive number specified).
NNS_SndPlayerCountPlayingSeqBySeqArcIdx | Counts the number of sequences currently playing (Sequence archive number and index number specified).
NNS_SndPlayerReadDriverPlayerInfo | Gets the sound driver's player information.
NNS_SndPlayerReadDriverTrackInfo | Gets the sound driver's track information.

#### Sequence Numbers

NNS_SndPlayerSetSeqNo | Sets the sequence number.
NNS_SndPlayerSetSeqArcNo | Sets the sequence archive number.
NNS_SndPlayerGetSeqType | Gets the sequence data type.
NNS_SndPlayerGetSeqNo | Gets the sequence number.
NNS_SndPlayerGetSeqArcNo | Gets the sequence archive number.
NNS_SndPlayerGetSeqArcIdx | Gets the index number of the sequence archive.

#### Sequence Variables

NNS_SndPlayerReadVariable | Reads the sequence local variables.
NNS_SndPlayerWriteVariable | Writes the sequence local variable.
NNS_SndPlayerReadGlobalVariable | Reads the sequence global variables.
NNS_SndPlayerWriteGlobalVariable | Writes to the sequence global variable.

#### Player Configuration

NNS_SndPlayerSetPlayableSeqCount | Sets the maximum number of sequences that can be played concurrently by the specified player.
NNS_SndPlayerSetPlayerVolume | Sets the volume for the specified player.
NNS_SndPlayerSetAllocatableChannel | The designated player sets the allocatable channel.
NNS_SndPlayerCreateHeap | Creates the player heap.

#### Sound Handle

NNS_SndHandleInit | Initializes the Sound Handle.
NNS_SndHandleIsValid | This function verifies whether the Sound Handle is valid or not.
NNS_SndHandleReleaseSeq | Releases the sequence that is bound to the sound handle.

### Sound Archive Stream

#### Initialization

NNS_SndArcStrmInit | This function initializes the sound archive stream library.
NNS_SndArcStrmCreatePrepareThread | Starts a stream-prepare thread.
NNS_SndArcStrmSetupPlayer | Sets up the stream player.
NNS_SndArcStrmAllocChannel | This function allocates the channels that are used when a stream is played.
NNS_SndArcStrmFreeChannel | This function frees channels that are used when streams are played.

#### Playback and Stopping

NNS_SndArcStrmStart | This function plays a stream.
NNS_SndArcStrmStartEx | Specifies player number, etc., and plays back the stream.
NNS_SndArcStrmStartEx2 | This function registers the callback functions and plays back the stream.
NNS_SndArcStrmStop | Stops the stream.
NNS_SndArcStrmStopAll | Stops all streams.
NNS_SndArcStrmPrepare | This function prepares the stream.
NNS_SndArcStrmPrepareEx | Specifies player number, etc., and prepares a stream.
NNS_SndArcStrmPrepareEx2 | This function registers the callback functions and carries out stream preparations.
NNS_SndArcStrmStartPrepared | This function plays the prepared stream.
NNS_SndArcStrmIsPrepared | This function checks whether stream preparations are complete.
NNS_SndArcStrmGetCurrentPlayingPos | This function obtains the current playback position of the stream.
NNS_SndArcStrmGetTimeLength | Gets the time length for the entire data stream.

#### Parameter

NNS_SndArcStrmMoveVolume | This function changes the stream's volume.
NNS_SndArcStrmSetChannelVolume | This function changes the stream's channel volume.
NNS_SndArcStrmSetChannelPan | This function changes the stream's channel pan.

#### Stream Handle

NNS_SndStrmHandleInit | This function initializes a steam handle.
NNS_SndStrmHandleIsValid | This function checks whether a stream handle is valid.
NNS_SndStrmHandleRelease | This function releases a stream that is bound to a stream handle.

#### Types, Structures

NNSSndArcStrmCallback | This is the sound archive stream callback function.

### Stream

#### Initialization

NNS_SndStrmInit | Initializes the stream.
NNS_SndStrmAllocChannel | This function allocates the channels that are used when a stream is played.
NNS_SndStrmFreeChannel | This function frees channels that are used when streams are played.
NNS_SndStrmBeginSleep | Deleted.
NNS_SndStrmEndSleep | Deleted.

#### Playback and Stopping

NNS_SndStrmSetup | This function sets up a stream.
NNS_SndStrmStart | This function starts the playing of a stream.
NNS_SndStrmStop | Stops the playback of the stream.

#### Parameter

NNS_SndStrmSetVolume | This function changes the stream's volume.
NNS_SndStrmSetChannelVolume | This function changes the stream's channel volume.
NNS_SndStrmSetChannelPan | This function changes the stream's channel pan.

#### Types, Structures

NNSSndStrmCallback | This is the stream callback function.

### Sound Archive

#### Initialization

NNS_SndArcInit | Initializes the sound archive structure.
NNS_SndArcInitWithResult | Initializes the sound archive structure and obtains the result.
NNS_SndArcInitOnMemory | Initializes the sound archive structure using the sound archive data in the memory.
NNS_SndArcSetup | Sets up the sound archive structure.
NNS_SndArcGetCurrent | Gets the current sound archive pointer.
NNS_SndArcSetCurrent | Sets the current sound archive.

#### Data Loading

NNS_SndArcLoadGroup | Loads sound data into the heap by group.
NNS_SndArcLoadSeq | Loads sequence data into the heap.
NNS_SndArcLoadSeqArc | Loads the sequence archive into the heap.
NNS_SndArcLoadBank | Loads bank data into the heap.
NNS_SndArcLoadWaveArc | Loads the waveform archive into the heap.
NNS_SndArcLoadSeqEx | Loads sequence data into the heap, specifying the data type to load.
NNS_SndArcLoadBankEx | Loads bank data into the heap, specifying the data type to load.

#### Get Information

NNS_SndArcGetSeqParam | Gets the sequence parameter structure of the sequence.
NNS_SndArcGetSeqArcParam | Gets the sequence parameter structure of the sequence archive.
NNS_SndArcGetSeqCount | Gets the number of sequences in the sound archive.
NNS_SndArcGetSeqArcCount | Gets the number of sequence archives in the sound archive.
NNS_SndArcGetBankCount | Gets the number of banks in the sound archive.
NNS_SndArcGetWaveArcCount | Gets the number of waveform archives in the sound archive.
NNS_SndArcGetGroupCount | Gets the number of groups in the sound archive.
NNS_SndArcGetStrmCount | Gets the number of streams in the sound archive.
NNS_SndArcGetSeqArcSeqCount | Gets the number of sequences in the specified Sequence Archive.
NNS_SndArcGetSeqInfo | Gets the sequence information structure.
NNS_SndArcGetSeqArcInfo | Gets the sequence archive information structure.
NNS_SndArcGetBankInfo | Gets the bank information structure.
NNS_SndArcGetWaveArcInfo | Gets the waveform archive information structure.
NNS_SndArcGetGroupInfo | Gets the group information structure.
NNS_SndArcGetPlayerInfo | Gets the player information structure.
NNS_SndArcGetStrmInfo | This function obtains the stream information structure.
NNS_SndArcGetStrmPlayerInfo | This function obtains the stream player information structure.

#### Symbol Name Retrieval

NNS_SndArcGetSeqSymbol | Gets the sequence symbol name.
NNS_SndArcGetSeqArcSymbol | Gets the sequence archive symbol name.
NNS_SndArcGetSeqArcIdxSymbol | Gets the symbol name of the sequences in the sequence archive.
NNS_SndArcGetBankSymbol | Gets the bank symbol name.
NNS_SndArcGetWaveArcSymbol | Gets the waveform archive symbol name.
NNS_SndArcGetStrmSymbol | Obtains the stream symbol name.
NNS_SndArcGetGroupSymbol | Obtains the group symbol name.

#### File Access

NNS_SndArcSetFileAddress | Sets the file address of the file in the sound archive.
NNS_SndArcGetFileAddress | Gets the address of the file in the sound archive.
NNS_SndArcGetFileID | This function obtains the file ID of the sound archive.
NNS_SndArcGetFileSize | Gets the size of the file inside the sound archive.
NNS_SndArcGetFileOffset | This function obtains the file offset of the file in the sound archive.
NNS_SndArcReadFile | Reads the file in the sound archive.

#### Types, Structures

NNSSndSeqParam | The sequence parameter structure
NNSSndArcSeqInfo | This is the sequence information structure in the sound archive.
NNSSndArcSeqArcInfo | The sequence archive information structure in the sound archive.
NNSSndArcBankInfo | The structure of bank data in the sound archive.
NNSSndArcWaveArcInfo | This is the information structure of the waveform archive located in the sound archive.
NNSSndArcGroupInfo | The structure of group data in the sound archive.
NNSSndArcGroupItem | The structure of group items in the group data structure.
NNSSndArcPlayerInfo | The player information structure in the sound archive.
NNSSndArcStrmInfo | This is a stream information structure that is in the sound archive.
NNSSndArcStrmPlayerInfo | This is a stream player information structure that is in the sound archive.

### Sound Heap

#### Initialization

NNS_SndHeapCreate | Creates the sound heap.
NNS_SndHeapDestroy | This function destroys the sound heap.

#### Memory Allocation and Release

NNS_SndHeapAlloc | Allocates memory.
NNS_SndHeapClear | Releases all memory.

#### Hierarchy Control

NNS_SndHeapSaveState | Saves the memory state.
NNS_SndHeapLoadState | Restores the memory state.
NNS_SndHeapGetCurrentLevel | Gets the current hierarchy level.

#### Get Information

NNS_SndHeapGetSize | Gets the heap size.
NNS_SndHeapGetFreeSize | Gets the amount of free memory.

### Playing Waveforms

#### Channel Allocation and Release

NNS_SndWaveOutAllocChannel | Allocates a channel for the waveform playback.
NNS_SndWaveOutFreeChannel | Releases a channel for the waveform playback.

#### Playing and Stopping Waveforms

NNS_SndWaveOutStart | Plays back the waveform data.
NNS_SndWaveOutStop | Stops playing the waveform data.

#### Setting Parameters

NNS_SndWaveOutSetVolume | Changes the volume of the waveform playback.
NNS_SndWaveOutSetSpeed | Changes the playback speed of the waveform.
NNS_SndWaveOutSetPan | Changes the pan (location) for playing back waveforms.

#### Other

NNS_SndWaveOutIsPlaying | Checks whether the waveform data is being played.
NNS_SndWaveOutWaitForChannelStop | Waits until the channel stops completely.

### Capture

#### Initialization

NNS_SndCaptureCreateThread | This function starts the capture thread.

#### Reverb

NNS_SndCaptureStartReverb | Starts the reverb feature.
NNS_SndCaptureStopReverb | This function stops reverb.
NNS_SndCaptureSetReverbVolume | This function changes the volume of the reverb component.

#### Effects

NNS_SndCaptureStartEffect | Starts the sound capture effect.
NNS_SndCaptureStopEffect | Stops the effect.

#### Sampling

NNS_SndCaptureStartSampling | This function begins the sampling process.
NNS_SndCaptureStopSampling | Stops the sampling process.

#### Output Effects

NNS_SndCaptureStartOutputEffect | Starts the output effect process.
NNS_SndCaptureStopOutputEffect | Stops the output effect process.
NNS_SndCaptureChangeOutputEffect | Changes the output effect processes.
NNS_SndCaptureSetOutputEffectCallback | Registers the output effect callback.
NNS_SndCaptureSetPostOutputEffectCallback | Registers the output effect postprocess callback.

#### Get Information

NNS_SndCaptureIsActive | Obtains information as to whether the capture is currently executing or not.
NNS_SndCaptureGetCaptureType | Obtains information about the type of capture that is currently executing.