N64® Functions Menu

al - Audio Library Functions
gDP - DP GBI Macros
gdSP - General GBI Macros
gSP - SP GBI Macros
gt - Turbo Microcode RDP
gu - Graphics Utilities
Math - Math Functions
nuSys - NuSystem
os - N64 Operating System
sp - Sprite Library Functions
uh - Host to Target IO
64DD - N64 Disk Drive

Nintendo® Confidential

## n_alSeqpNew

Syntax

    #include <n_libaudio.h>
    void n_alSeqpNew(N_ALSeqPlayer *seqp, ALSeqpConfig *config);

Arguments

- seqp is the pointer to the Type 0 MIDI sequence player structure to initialize
- config is the pointer to the sequence player configuration structure

Explanation
This function is available in the n_audio library. It initializes a Type 0 MIDI sequence player (seqp) for the configuration specified in config, and it signs into the synthesis driver as a client. Note that it allocates memory from the (initialized) ALHeap referenced by the config structure.
The arguments in the ALSeqpConfig structure specified by the config argument determine how many resources are allocated from the heap. This structure is defined in the libaudio.h file. The values are as follows:

- maxVoices is the maximum number of voices to support
- maxEvents is the maximum number of internal events to support
- maxChannels is the maximum number of MIDI channels to support, usually 16, but it can be fewer
- debugFlags are flags used to turn on and turn off the reporting of common audio errors. Set it to zero to turn off error reporting. To turn on error reporting. "OR" together the following values:
  - NO_SOUND_ERR_MASK controls error messages that occur when there is no sound that covers the requested sound at the specified pitch.
  - NOTE_OFF_ERR_MASK controls error messages that occur when a "note off" occurs when there is no voice currently playing that note on the specified channel.
  - NO_VOICE_ERR_MASK controls error messages that occur when there are no more voices available to satisfy the request to allocate a voice.
- *initOsc must point to the procedure that handles the initialization of oscillators used to perform vibrato and tremelo. If vibrato and tremelo are not used, this value must be set to zero
- *updateOsc must point to the procedure that handles the updating of oscillators used to perform vibrato and tremelo. If vibrato and tremelo are not used, this value must be set to zero
- *stopOsc must point to the procedure that handles the shutting down of oscillators used to perform vibrato and tremelo. If vibrato and tremelo are not used, this value must be set to zero
- heap is a pointer to an initialized audio heap

Example
An example showing how to set up and use oscillators is given in the Playseq demo application.
See Also
alHeapAlloc
n_alSeqpDelete
alSeqPlayer

Nintendo® Confidential Warning: all information in this document is confidential and covered by a non-disclosure agreement. You are responsible for keeping this information confidential and protected. Nintendo will vigorously enforce this responsibility.
Copyright © 1998
Nintendo of America Inc. All rights reserved
Nintendo and N64 are registered trademarks of Nintendo
Last Updated April, 1999