MusPtrBankInitialize()

Syntax

void MusPtrBankInitialize(void *pbank, void *wbank);

Arguments

pbank
the address of sample pointer bank file
wbank
the address of sample wave bank file

Description

It makes a sample bank available to the library. If the sample pointer bank has not already been initialized, the various offsets contained in the sample pointer bank, which reference both the sample pointer and sample wave bank files, are remapped to pointers. If a default sample bank is not currently set, then this sample bank is set as the default bank.

The default sample bank is used when the MusStartSong() or the MusStartSongFromMarker() functions are used to start songs, if no sample bank override has been defined with the MusPtrBankSetSingle() function.

The default sample bank is used when the MusStartEffect() or the MusStartEffect2() function is used to start sound effects, if no sample bank override is defined. The MusFxBankSetSingle() function is used to specify the sound effect override for the sound effect that starts next.

The pbank argument must be a Nintendo 64 Sound Tools .PTR file located with 32-bit alignment (cache alignment is best) in RAM.

The wbank argument must be a Nintendo 64 Sound Tools .WBK file located in ROM or RAM (set when the library is initialized).

Return Value

None

Example

void AudioSetSampleBank(int sample_bank)
{
  /* test if sample bank is already loaded */
  if (sample_bank==last_sample_bank)
      return;
  last_sample_bank = sample_bank;
  /* load sample bank */
  AudioTransfer(ptr_address[sample_bank], ptr_buffer);
  AudioTransfer(wbk_address[sample_bank], wbk_buffer);
  /* initialise sample bank */
  MusPtrBankInitialize(ptr_buffer, wbk_buffer);
}

See Also

MusPtrBankGetCurrent(), MusPtrBankSetCurrent(), MusPtrBankSetSingle()