sgdk
snd_pcm.h File Reference

Z80_DRIVER_PCM sound driver API. More...

Go to the source code of this file.

Defines

#define SOUND_RATE_32000   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_32000 instead.\"")
#define SOUND_RATE_22050   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_22050 instead.\"")
#define SOUND_RATE_16000   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_16000 instead.\"")
#define SOUND_RATE_13400   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_13400 instead.\"")
#define SOUND_RATE_11025   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_11025 instead.\"")
#define SOUND_RATE_8000   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_8000 instead.\"")
#define SND_isPlaying_PCM   _Pragma("GCC error \"This method is deprecated, use SND_PCM_isPlaying instead.\"")
#define SND_startPlay_PCM   _Pragma("GCC error \"This method is deprecated, use SND_PCM_startPlay instead.\"")
#define SND_stopPlay_PCM   _Pragma("GCC error \"This method is deprecated, use SND_PCM_stopPlay instead.\"")

Enumerations

enum  SoundPcmSampleRate {
  SOUND_PCM_RATE_32000, SOUND_PCM_RATE_22050, SOUND_PCM_RATE_16000, SOUND_PCM_RATE_13400,
  SOUND_PCM_RATE_11025, SOUND_PCM_RATE_8000
}
 PCM sample rate values. More...

Functions

void SND_PCM_loadDriver (const bool waitReady)
 Load the Z80_DRIVER_PCM sound driver.
void SND_PCM_unloadDriver (void)
 Unload the Z80_DRIVER_PCM sound driver.
bool SND_PCM_isPlaying (void)
 Return play status (Single channel PCM player driver).
void SND_PCM_startPlay (const u8 *sample, const u32 len, const SoundPcmSampleRate rate, const SoundPanning pan, const bool loop)
 Start playing a sample (Single channel PCM player driver).
If a sample was currently playing then it's stopped and the new sample is played instead.
void SND_PCM_stopPlay (void)
 Stop playing (Single channel PCM player driver).
No effect if no sample was currently playing.

Detailed Description

Z80_DRIVER_PCM sound driver API.

Author:
Stephane Dallongeville
Date:
08/2011

This unit provides playback method for the Z80_DRIVER_PCM sound driver.

Sound driver description:
This sound driver allow Single PCM channel 8 bits signed sample driver.
It can play a sample (8 bit signed) from 8 Khz up to 32 Khz rate.

Note that SGDK sound drivers may not fit your needs so it's important to know
that some alternatives sound drivers exist (see SGDK readme.md for more info)


Enumeration Type Documentation

PCM sample rate values.

Enumerator:
SOUND_PCM_RATE_22050 

Best quality but take lot of rom space

SOUND_PCM_RATE_8000 

Worst quality but take less rom place


Function Documentation

bool SND_PCM_isPlaying ( void  )

Return play status (Single channel PCM player driver).

Returns:
Return non zero if PCM player is currently playing a sample
void SND_PCM_loadDriver ( const bool  waitReady)

Load the Z80_DRIVER_PCM sound driver.

Don't use this method directly, use Z80_loadDriver(..) instead.

void SND_PCM_startPlay ( const u8 sample,
const u32  len,
const SoundPcmSampleRate  rate,
const SoundPanning  pan,
const bool  loop 
)

Start playing a sample (Single channel PCM player driver).
If a sample was currently playing then it's stopped and the new sample is played instead.

Parameters:
sampleSample address, should be 256 bytes boundary aligned
SGDK automatically align resource as needed
lenSize of sample in bytes, should be a multiple of 256
SGDK automatically adjust resource size as needed
ratePlayback rate :
SOUND_PCM_RATE_32000 = 32 Khz (best quality but take lot of rom space)
SOUND_PCM_RATE_22050 = 22 Khz
SOUND_PCM_RATE_16000 = 16 Khz
SOUND_PCM_RATE_13400 = 13.4 Khz
SOUND_PCM_RATE_11025 = 11 Khz
SOUND_PCM_RATE_8000 = 8 Khz (worst quality but take less rom place)
panPanning :
SOUND_PAN_NONE = mute
SOUND_PAN_LEFT = play on left speaker
SOUND_PAN_RIGHT = play on right speaker
SOUND_PAN_CENTER = play on both speaker
loopLoop flag.
If TRUE then the sample will be played in loop (else sample is played only once).
void SND_PCM_unloadDriver ( void  )

Unload the Z80_DRIVER_PCM sound driver.

Don't use this method directly, use Z80_unloadDriver(..) instead.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines