This section describes how to get started with FMOD for Gamecube
Compiling and linking
Include fmod.h in your project, this is found in api/inc.
To link FMOD to your project, there are the following files.
/api/lib/fmodgc.lib - Link to this file if you are using SN Systems compiler.
/api/lib/fmodgcD.lib - This is the debug version of fmodgc.lib and outputs a log of FMOD's progress and any error messages (in plain english) to the TTY.
/api/lib/fmodgc_cw.a - Link to this file if you are using the Metrowerks Codewarrior compiler.
/api/lib/fmodgc_cwD.a - This is the debug version of fmodgc_cw.lib and outputs a log of FMOD's progress and any error messages (in plain english) to the TTY.
Running the examples
Simply load their .dsp files into Dev Studio and hit F7.
NOTE: You will need to copy all files in the media directory to
$DVDROOT/fmod. For example:
copy media\*.* c:\DolphinSDK1.0\dvddata\fmod
Conversion tools
dspadpcm.exe
FMOD supports the Nintendo DSPADPCM format as output by the Nintendo tool "dspadpcm.exe".
FMOD expects the file extension ".dsp" on these files.
For clarity and consistency, FMOD refers to this format as FSOUND_GCADPCM. NOTE: dspadpcm.exe can only convert MONO samples!
fsbank.exe
This is a Windows app that creates .fsb files - FMOD's native sample bank format.
Use it to create sample banks of either MONO or STEREO ADPCM samples suitable for playing or streaming using the GameCube ADPCM hardware.
Performance issues and Gamecube specific FMOD features.
Hardware voice dropping
Due to a design issue with the Gamecube hardware, the processor will drop hardware voices if it's DSP chip gets overloaded.
Call FSOUND_Update each game cycle and FMOD will automatically reacquire voices that get dropped.
FMOD's priority system has been linked into this, so it is likely to drop lower priority sounds that have their priority set with FSOUND_Sample_Defaults.
Direct DVD streaming
Use FMOD's stream API to play streams using the GameCube's DVD audio streaming capability.
When opening a stream, simply specify a file with a .adp extension and FMOD will stream it using the GameCube's hardware straight from the DVD to the AI, completely bypassing both ARAM and MRAM.
Gamecube extras
Look in fmodgc.h for GameCube-specific functions relating to such things as DVD status callbacks, AUX effects, specifying a block of ARAM for FMOD to use and accessing IPL sound settings.