Thsound

From ProjectWiki
Revision as of 11:11, 12 August 2008 by 72.147.138.67 (Talk)
Jump to: navigation, search

Contents

What is this?

Functions common to both CPU

thSndInit
This needs to be called at startup on both CPU before any other audio functions.

void thSndInit(void);

Sample loading and management functions

thSampleLoadWav
Load a sample from .wav file. Supported formats are 8bit mono, 16bit mono, and IMA-ADPCM. Stereo sample support MAY be added later.

  • name - name of file to load
thSample_t *thSampleLoadWav(const char *name);

Returns pointer to newly created sample.

mmSampleCreate
Create a sample from raw audio data.

  • start - pointer to start of sample in memory
  • len - length of sample (in samples)
  • loopstart - Loop point of sample. in number of samples from start.
  • rate - sample rate in hertz (44100, 11025, etc etc)
  • opts - options. Should include one each of: SNDPCM8, SNDPCM16, SNDADPCM. Additionally may OR on SNDLOOP (or even specify a default volume, pan, but wont get into this yet.. :P)
thSample_t *mmSampleCreate(void *start, int len, void *loopstart, int rate, u8 opts);

Returns Pointer to newly created sample.


Sound Playback functions

thPlayDefaults
Sets default sample playback options.

void thPlayDefaults(int rate, char level, char pan, u32 flags);

thSndPlaySample
Starts playing a previously loaded sample.

  • chan - channel to use for playback
  • sample - previously loaded sample
  • vol - playback volume (0 to 127)
  • pan - playback pan (0 to 127, 0 = left, 127 = right, 64 = center)
void thSndPlaySample(char chan, thSample_t *sample, char vol, char pan);

thSndPlayRaw

void thSndPlayRaw(char chan, void *start, int len, int rate, char vol, char pan, u32 loopstart, u32 opts);

thSndRegDirect

void thSndRegDirect(char chan, u32 start, int len, int rate, u32 loopstart, u32 opts);

thSndEzPlaySample

void thSndEzPlaySample(char chan, thSample_t *sample);

thSndEzPlayRaw

void thSndEzPlayRaw(char chan, void *start, int len);

thSndPlayNoise

void thSndPlayNoise(char chan, u16 rate, char vol, char pan);

thSndPlayNote

void thSndPlayNote(char chan, char note, char duty, char vol, char pan);

thSndStop

void thSndStop(char chan);

thSndSetVol

void thSndSetVol(char chan, char vol);

thSndSetPan

void thSndSetPan(char chan, char pan);

thSndSetRate

void thSndSetRate(char chan, u32 rate);

thSndSetDuty

void thSndSetDuty(char chan, char duty);

thSndFade

void thSndFade(char chan, u16 faderate);
Personal tools
irssi scripts
eggdrop scripts