# NITRO Composer (Snd) API Function List

### System

#### Basic Functions

NNS_SndInit | Initializes sound.
| NNS_SndShutdown | Ends sound processing.
NNS_SndMain | Performs frame processing of sounds.

#### System Configuration

NNS_SndSetMasterVolume | Sets master volume.
NNS_SndSetMonoFlag | Sets the mono flag.
NNS_SndBeginSleep | Deleted.
NNS_SndEndSleep | Deleted.
NNS_SndStopSoundAll | Stops all sounds.
NNS_SndStopChannelAll | Stops all channels.

#### Driver Information

NNS_SndUpdateDriverInfo | Updates sound driver information.
NNS_SndReadDriverChannelInfo | Gets 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 | 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

#### Stopping Sequences

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

#### Sequence Parameters

NNS_SndPlayerSetTempoRatio | Changes tempo of a sequence.
NNS_SndPlayerSetVolume | 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 voicing priority of the sequence.

#### Track Parameters

NNS_SndPlayerSetTrackMute | Mutes or stops muting a sequence track.
NNS_SndPlayerSetTrackMuteEx | Specifies the mute setting to mute a sequence track or to stop muting on the track.
NNS_SndPlayerSetTrackVolume | Changes the volume of the sequence track.
NNS_SndPlayerSetTrackPitch | Changes pitch of the sequence track.
NNS_SndPlayerSetTrackPan | Changes the pan position for a sequence track.
NNS_SndPlayerSetTrackPanRange | Changes the pan range for a sequence track.
NNS_SndPlayerSetTrackModDepth | Changes modulation depth of the sequence track.
NNS_SndPlayerSetTrackModSpeed | Changes 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 variables.
NNS_SndPlayerReadGlobalVariable | Reads a sequence global variable.
NNS_SndPlayerWriteGlobalVariable | Writes to the sequence global variables.

#### 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 | Sets the allocatable channels for the specified player.
NNS_SndPlayerCreateHeap | Creates the player heap.

#### Sound Handle

NNS_SndHandleInit | Initializes the sound handle.
NNS_SndHandleIsValid | Checks the validity of the sound handle.
NNS_SndHandleReleaseSeq | Releases the sequence that is bound to the sound handle.

### Sound Archive Stream

#### Initialization

NNS_SndArcStrmInit | Initializes the sound archive stream library.
NNS_SndArcStrmCreatePrepareThread | Starts a stream-prepare thread.
NNS_SndArcStrmSetupPlayer | Sets up a stream player.
NNS_SndArcStrmAllocChannel | Allocates the channels used when a stream is played.
NNS_SndArcStrmFreeChannel | Frees the channels used when streams are played.

#### Playback and Stopping

NNS_SndArcStrmStart | Plays a stream.
NNS_SndArcStrmStartEx | Specifies items like player number and plays back the stream.
NNS_SndArcStrmStartEx2 | Registers callback functions and plays back the stream.
NNS_SndArcStrmStop | Stops the stream.
NNS_SndArcStrmStopAll | Stops all streams.
NNS_SndArcStrmPrepare | Prepares the stream.
NNS_SndArcStrmPrepareEx | Specifies player number and so on, and then prepares a stream.
NNS_SndArcStrmPrepareEx2 | Registers the callback functions and prepares a stream.
NNS_SndArcStrmStartPrepared | Plays the prepared stream.
NNS_SndArcStrmIsPrepared | Checks whether stream preparations are complete.
NNS_SndArcStrmGetChannelCount | Gets the number of channels of stream data.
NNS_SndArcStrmGetCurrentPlayingPos | Gets the current playback position of the stream.
NNS_SndArcStrmGetTimeLength | Gets the time length for the entire stream data.

#### Parameters

NNS_SndArcStrmSetVolume | Changes the stream's volume.
NNS_SndArcStrmMoveVolume | Gradually changes the stream volume.
NNS_SndArcStrmSetChannelVolume | Changes the stream's channel volume.
NNS_SndArcStrmSetChannelPan | Changes the stream's channel pan.

#### Stream Handle

NNS_SndStrmHandleInit | Initializes a steam handle.
NNS_SndStrmHandleIsValid | Checks that a stream handle is valid.
NNS_SndStrmHandleRelease | Releases a stream bound to a stream handle.

#### Types and Structures

NNSSndArcStrmCallback | The sound archive stream callback function.

### Stream

#### Initialization

NNS_SndStrmInit | Initializes the stream.
NNS_SndStrmAllocChannel | Allocates the channels used when a stream is played.
NNS_SndStrmFreeChannel | Frees the channels used when streams are played.
NNS_SndStrmBeginSleep | Deleted.
NNS_SndStrmEndSleep | Deleted.

#### Playback and Stopping

NNS_SndStrmSetup | Sets up a stream.
NNS_SndStrmStart | Starts the stream playback.
NNS_SndStrmStop | Stops the stream's playback.

#### Parameters

NNS_SndStrmSetVolume | Changes the stream's volume.
NNS_SndStrmSetChannelVolume | Changes the stream's channel volume.
NNS_SndStrmSetChannelPan | Changes the stream's channel pan.

#### Types and Structures

NNSSndStrmCallback | Stream callback function.

### Sound Archive

#### Initialization

NNS_SndArcInit | Initializes the sound archive structure.
NNS_SndArcInitWithResult | Initializes the sound archive structure and gets the result.
NNS_SndArcInitOnMemory | Initializes the sound archive structure using the sound archive data in memory.
NNS_SndArcSetup | Sets up the sound archive structure.
NNS_SndArcGetCurrent | Gets the current sound archive.
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.
NNS_SndArcSetLoadBlockSize | Sets the load block size when the data is loaded.
NNS_SndArcGetLoadBlockSize | Gets the load block size when the data is loaded.

#### Getting 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 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 | Gets the stream information structure.
NNS_SndArcGetStrmPlayerInfo | Gets 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 a sequence in the sequence archive.
NNS_SndArcGetBankSymbol | Gets the bank symbol name.
NNS_SndArcGetWaveArcSymbol | Gets the waveform archive symbol name.
NNS_SndArcGetStrmSymbol | Gets the stream symbol name.
NNS_SndArcGetGroupSymbol | Gets the group symbol name.

#### File Access

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

#### Types and Structures

NNSSndSeqParam | Sequence parameter structure.
NNSSndArcSeqInfo | Sequence information structure in the sound archive.
NNSSndArcSeqArcInfo | Sequence archive information structure in the sound archive.
NNSSndArcBankInfo | Bank information structure in the sound archive.
NNSSndArcWaveArcInfo | Waveform archive information structure in the sound archive.
NNSSndArcGroupInfo | Group information structure in the sound archive.
NNSSndArcGroupItem | Group item structure in the group information structure.
NNSSndArcPlayerInfo | Player information structure in the sound archive.
NNSSndArcStrmInfo | Stream information structure in the sound archive.
NNSSndArcStrmPlayerInfo | Stream player information structure in the sound archive.

### Sound Heap

#### Initialization

NNS_SndHeapCreate | Creates the sound heap.
NNS_SndHeapDestroy | 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.

#### Getting 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 position for playing back waveforms.

#### Other

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

### Capture

#### Initialization

NNS_SndCaptureCreateThread | Starts the capture thread.
NNS_SndCaptureDestroyThread | Destroys the capture thread.

#### Reverb

NNS_SndCaptureStartReverb | Starts the reverb feature.
NNS_SndCaptureStopReverb | Stops reverb.
NNS_SndCaptureSetReverbVolume | Changes the volume of the reverb component.

#### Effects

NNS_SndCaptureStartEffect | Starts an effect.
NNS_SndCaptureStopEffect | Stops the effect.

#### Sampling

NNS_SndCaptureStartSampling | Starts sampling.
NNS_SndCaptureStopSampling | Stops sampling.

#### Output Effects

NNS_SndCaptureStartOutputEffect | Starts the output effect processing.
NNS_SndCaptureStopOutputEffect | Stops the output effect processing.
NNS_SndCaptureChangeOutputEffect | Changes the output effect processing.
NNS_SndCaptureSetOutputEffectCallback | Registers the output effect pre-processing callback.
NNS_SndCaptureSetPostOutputEffectCallback | Registers the output effect post-processing callback.

#### Getting Information

NNS_SndCaptureIsActive | Gets whether capture is currently executing.
NNS_SndCaptureGetCaptureType | Gets what type of capture is currently executing.

CONFIDENTIAL