Thsound

From ProjectWiki
(Difference between revisions)
Jump to: navigation, search
(New page: ==What is this?== ==Plz clean this up :p== <source lang="c"> //common functions void thSndInit(void); </source> <source lang="c"> thSample_t *thSampleLoadWav(const char *name); void thSa...)
 
Line 1: Line 1:
 
==What is this?==
 
==What is this?==
  
==Plz clean this up :p==
+
==Functions common to both CPU==
 +
'''thSndInit'''<br>
 +
This needs to be called at startup on both CPU before any other audio functions.
 
<source lang="c">
 
<source lang="c">
//common functions
 
 
void thSndInit(void);
 
void thSndInit(void);
 
</source>
 
</source>
  
 +
==Sample loading and management functions==
 +
'''thSampleLoadWav'''<br>
 +
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
 
<source lang="c">
 
<source lang="c">
 
thSample_t *thSampleLoadWav(const char *name);
 
thSample_t *thSampleLoadWav(const char *name);
void thSampleDefaults(int rate, char level, char pan, u32 flags);
+
</source>
 +
Returns pointer to newly created sample.
 +
 
 +
'''mmSampleCreate'''<br>
 +
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)
 +
<source lang="c">
 
thSample_t *mmSampleCreate(void *start, int len, void *loopstart, int rate, u8 opts);
 
thSample_t *mmSampleCreate(void *start, int len, void *loopstart, int rate, u8 opts);
 +
</source>
 +
Returns Pointer to newly created sample.
 +
 +
 +
==Sound Playback functions==
 +
'''thPlayDefaults'''<br>
 +
Sets default sample playback options.
 +
<source lang="c">
 +
void thPlayDefaults(int rate, char level, char pan, u32 flags);
 +
</source>
 +
 +
'''thSndPlaySample'''<br>
 +
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)
 +
<source lang="c">
 
void thSndPlaySample(char chan, thSample_t *sample, char vol, char pan);
 
void thSndPlaySample(char chan, thSample_t *sample, char vol, char pan);
 +
</source>
 +
 +
'''thSndPlayRaw'''<br>
 +
<source lang="c">
 
void thSndPlayRaw(char chan, void *start, int len, int rate, char vol, char pan, u32 loopstart, u32 opts);
 
void thSndPlayRaw(char chan, void *start, int len, int rate, char vol, char pan, u32 loopstart, u32 opts);
 +
</source>
 +
 +
'''thSndRegDirect'''<br>
 +
<source lang="c">
 
void thSndRegDirect(char chan, u32 start, int len, int rate, u32 loopstart, u32 opts);
 
void thSndRegDirect(char chan, u32 start, int len, int rate, u32 loopstart, u32 opts);
 +
</source>
 +
 +
'''thSndEzPlaySample'''<br>
 +
<source lang="c">
 
void thSndEzPlaySample(char chan, thSample_t *sample);
 
void thSndEzPlaySample(char chan, thSample_t *sample);
 +
</source>
 +
 +
'''thSndEzPlayRaw'''<br>
 +
<source lang="c">
 
void thSndEzPlayRaw(char chan, void *start, int len);
 
void thSndEzPlayRaw(char chan, void *start, int len);
 +
</source>
 +
 +
'''thSndPlayNoise'''<br>
 +
<source lang="c">
 
void thSndPlayNoise(char chan, u16 rate, char vol, char pan);
 
void thSndPlayNoise(char chan, u16 rate, char vol, char pan);
 +
</source>
 +
 +
'''thSndPlayNote'''<br>
 +
<source lang="c">
 
void thSndPlayNote(char chan, char note, char duty, char vol, char pan);
 
void thSndPlayNote(char chan, char note, char duty, char vol, char pan);
 +
</source>
 +
 +
'''thSndStop'''<br>
 +
<source lang="c">
 
void thSndStop(char chan);
 
void thSndStop(char chan);
 +
</source>
 +
 +
'''thSndSetVol'''<br>
 +
<source lang="c">
 
void thSndSetVol(char chan, char vol);
 
void thSndSetVol(char chan, char vol);
 +
</source>
 +
 +
'''thSndSetPan'''<br>
 +
<source lang="c">
 
void thSndSetPan(char chan, char pan);
 
void thSndSetPan(char chan, char pan);
 +
</source>
 +
 +
'''thSndSetRate'''<br>
 +
<source lang="c">
 
void thSndSetRate(char chan, u32 rate);
 
void thSndSetRate(char chan, u32 rate);
 +
</source>
 +
 +
'''thSndSetDuty'''<br>
 +
<source lang="c">
 
void thSndSetDuty(char chan, char duty);
 
void thSndSetDuty(char chan, char duty);
 +
</source>
 +
 +
'''thSndFade'''<br>
 +
<source lang="c">
 
void thSndFade(char chan, u16 faderate);
 
void thSndFade(char chan, u16 faderate);
 
</source>
 
</source>
 +
 +
[[Category:NDS]]
 +
[[Category:C]]
 +
[[Category:LIBTHDS]]

Revision as of 11:11, 12 August 2008

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