Function


nuAuStlInit


Syntax

void nuAuStlInit(musConfig *config)

Arguments

*config      musConfig structure of N64 Sound Tools player 
             (Set Parameters for config->basenote, config->detune,
             config->fxs, and config->priority in advance)

Return Value

Heap size consumed

Description

Initialize the audio manager and activate two sequence players and the sound player. Also, register the default function to be called when a PRENMI event occurs.

The least significant 320 Kbytes of the frame buffer are set as the audio heap. 0x4000 bytes are also reserved for each binary song data buffer for the sequence player (songs in N64 Sound Tools). 0x4000 bytes are likewise reserved for the sound effects bank data buffer.

The playback rate, number of channels, and thread priority of the musConfig structure for the N64 Sound Tools player also are set within this function.

There are two methods of setting these musConfig structures, and when changing the audio heap size or the size of the sequence data storage buffer. One is to call this function after directly changing the musConfig structure variable nuAuStlConfig, which is defined in the nuAuSltInit function. The other is to refer to the nuAuInit source and initialize the audio yourself, without using nuAuInit.

The default values of the nuAuStlConfig variables are defined as follows.

musConfig nuAuStlConfig = {
    0,                               /* control_flag         */
    NU_AU_CHANNELS,                  /* channels             */
    NULL,                            /* sched                */
    NU_AU_MGR_THREAD_PRI,            /* thread_priority      */
    (unsigned char*)NU_AU_HEAP_ADDR, /* heap                 */
    NU_AU_HEAP_SIZE,                 /* heap_length          */
    NULL,                            /* ptr                  */
    NULL,                            /* wbk                  */
    NULL,                            /* default_fxbank       */
    NU_AU_FIFO_LENGTH,               /* fifo_length          */
    NU_AU_SYN_UPDATE_MAX,            /* syn_updates          */
    NU_AU_OUTPUT_RATE,               /* syn_output_rate      */
    NU_AU_CLIST_LEN,                 /* cmd buffer size      */
    1,                               /* syn_retraceCount     */
    NU_AU_DMA_BUFFER_NUM,            /* syn_num_dma_bufs     */
    NU_AU_DMA_BUFFER_SIZE            /* syn_dma_buf_size     */
};


Caution

NuSystem version 2.00 and later is compatible with N64 Sound Tools version 3.xx. Please note that the specifications of functions have changed from prior versions.


Revision History

2/1/99 Changed heap size from 512 Kbytes to 320 Kbytes.