cAudio: cAudio 2.1.0 API documentation

  • Main Page
  • Namespaces
  • Classes
  • Files
  • Directories

cAudio 2.1.0 API documentation

2.1.0

Introduction

Welcome to the Main API Documentation for cAudio 2.1.0. cAudio is an advanced C++ wrapper around OpenAL, a professional and powerful audio library. Thus cAudio provides you with a number of classes to allow you to easily manipulate your audio world and intergrate audio effects like reverberation, doppler, attenuation, ect. cAudio also has a plugin system, allowing developers to extend the functionality of the library. Furthermore, cAudio is released under the zlib license, meaning it is free for you to use in your projects, even if they are commercial. Of course, we suggest you read the full text of the license by looking at the local license.txt file or cAudio.h.

Included with the SDK is a number of tutorials. We suggest you begin with them as they will guide you through the basics of cAudio usage and work up to more advanced topics. If you find you need more help, found a bug, or just want to talk about cAudio, please visit our forums at http://www.deathtouchstudios.com/phpBB3/index.php.

Links

Namespaces: Central namespace for the entire engine. A good place to begin looking.
Class list: List of all classes in the engine with descriptions.
Class members: List of all methods.

Short example

Below is a simple "Hello World" example of how to use the engine. Of course this is only the "tip of the iceburg" when it comes to what cAudio is capable of.

 #include <cAudio.h>

 int main()
 {
        //Create an Audio Manager
        cAudio::IAudioManager* manager = cAudio::createAudioManager(true);

        //Create an audio source and load a sound from a file
        cAudio::IAudioSource* mysound = manager->create("music","../../media/cAudioTheme1.ogg",true);

        if(mysound)
        {
                //Play our source in 2D once.
                mysound->play2d(false);

                //Wait for the sound to finish playing
                while(mysound->isPlaying())
                        cAudio::cAudioSleep(10);
        }

        //Shutdown cAudio
        manager->shutDown();
        cAudio::destroyAudioManager(manager);

        return 0;
 }
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: Class List

  • Files
  • Directories
  • Class List
  • Class Hierarchy
  • Class Members

Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
cAudio::cAudioCapture |
cAudio::cAudioEffects |
cAudio::cAudioList< T > |
cAudio::cAudioManager |
cAudio::cAudioMap< T1, T2 > |
cAudio::cAudioMutex | Basic mutex class used for internal thread locking
cAudio::cAudioMutexBasicLock |
cAudio::cAudioSet< T > |
cAudio::cAudioSource |
cAudio::cAudioThread |
cAudio::cAudioVector< T > |
cAudio::cConsoleLogReceiver |
cAudio::cEffect |
cAudio::cEFXFunctions | EFX Extension function pointers and setup
cAudio::cFileLogReceiver |
cAudio::cFileSource |
cAudio::cFileSourceFactory |
cAudio::cFilter |
cAudio::cListener |
cAudio::cLogger |
cAudio::cMemoryOverride | Overrides the memory allocations for classes derived from it and makes them use the cAudio memory system
cAudio::cMemorySource | Class used to read from a memory buffer
cAudio::cMemoryTracker | Tracks all allocations that go through cAudio's memory system and keeps statistics on it
cAudio::cOggAudioDecoderFactory |
cAudio::cOggDecoder |
cAudio::cPluginManager |
cAudio::cRawAudioDecoderFactory |
cAudio::cRawDecoder |
cAudio::cStandardMemoryProvider | Memory provider that wraps the standard memalloc and free
cAudio::cSTLAllocator< T > | Reroutes allocations from STL containers into cAudio's memory system
cAudio::cSTLAllocator< void > |
cAudio::cVector3 | Class for manipulating vectors in 3D space
cAudio::cWavAudioDecoderFactory |
cAudio::cWavDecoder |
cAudio::IAudioCapture | Interface for capturing operations in the cAudio Engine
cAudio::IAudioDecoder | Interface for all Audio Decoders in cAudio
cAudio::IAudioDecoderFactory | Interface for factories that create Audio Decoders for cAudio
cAudio::IAudioEffects | Interface for Audio Effects in cAudio
cAudio::IAudioManager | Interface for the playback capabilities of cAudio
cAudio::IAudioPlugin | Interface for all plugins in cAudio
cAudio::IAudioSource | Interface for a single audio source, which allow you to manipulate sound sources (speakers) in 2D or 3D space
cAudio::ICaptureEventHandler | Interface for recieving Capture Manager Events
cAudio::IDataSource | Interface for data providers in cAudio
cAudio::IDataSourceFactory | Interface for creating data sources for use with the engine
cAudio::IEffect | Interface for a single effect in cAudio
cAudio::IFilter | Interface for a filter in cAudio
cAudio::IListener | Interface for the listener in cAudio. This class provides abilities to move and orient where your camera or user is in the audio world
cAudio::ILogger | Interface for all logging operations in cAudio
cAudio::ILogReceiver | Interface for receiving log messages and relaying them to some kind of output device or stream
cAudio::IManagerEventHandler | Interface for event handlers for playback manager events
cAudio::IMemoryProvider | Interface for a class that allocates and frees memory used by cAudio
cAudio::IPluginManager | Interface for the plugin capabilities of cAudio
cAudio::IRefCounted | Applies reference counting to certain cAudio objects
cAudio::ISourceEventHandler | Interface for event handlers on Audio Sources
cAudio::cSTLAllocator< void >::rebind< U > |
cAudio::cSTLAllocator< T >::rebind< U > |
cAudio::sAutowahParameters | The Auto-wah effect emulates the sound of a wah-wah pedal used with an electric guitar, or a mute on a brass instrument
cAudio::sChorusParameters | The chorus effect essentially replays the input audio accompanied by another slightly delayed version of the signal, creating a "doubling" effect
cAudio::sCompressorParameters | The Automatic Gain Control effect performs the same task as a studio compressor, evening out the audio dynamic range of an input sound
cAudio::sDistortionParameters | The distortion effect simulates turning up (overdriving) the gain stage on a guitar amplifier or adding a distortion pedal to an instrument's output
cAudio::sEAXReverbParameters | Contains parameters for the EAX Reverb Effect. This effect tries to simulate how sound behaves in different environments
cAudio::sEchoParameters | The echo effect generates discrete, delayed instances of the input signal
cAudio::sEqualizerParameters | The OpenAL Effects Extension EQ is very flexible, providing tonal control over four different adjustable frequency ranges
cAudio::sFlangerParameters | The flanger effect creates a "tearing" or "whooshing" sound (like a jet flying overhead)
cAudio::sFrequencyShiftParameters | The frequency shifter is a single-sideband modulator, which translates all the component frequencies of the input signal by an equal amount
cAudio::sPitchShifterParameters | The pitch shifter applies time-invariant pitch shifting to the input signal, over a one octave range and controllable at a semi-tone and cent resolution
cAudio::sReverbParameters | Similar to the above EAX Reverb Effect, but has less features, meaning it may be better supported on lower end hardware
cAudio::sRingModulatorParameters | The ring modulator multiplies an input signal by a carrier signal in the time domain, resulting in tremolo or inharmonic effects
cAudio::sVocalMorpherParameters | The vocal morpher consists of a pair of 4-band formant filters, used to impose vocal tract effects upon the input signal
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cAudioCapture Class Reference

  • Class Hierarchy
  • Class Members
cAudio::cAudioCapture

cAudio::cAudioCapture Class Reference

Inherits cAudio::IAudioCapture, and cAudio::cMemoryOverride.

Collaboration diagram for cAudio::cAudioCapture:
[legend]

List of all members.

Public Types

enum Events {
ON_INIT, ON_UPDATE, ON_RELEASE, ON_BEGINCAPTURE,
ON_ENDCAPTURE, ON_USERREQUESTEDBUFFER
}

Public Member Functions

bool | checkCaptureExtension ()
Checks to see if capturing audio is supported by OpenAL.
virtual bool | initialize (const char *deviceName=0x0, unsigned int frequency=22050, AudioFormats format=EAF_16BIT_MONO, unsigned int internalBufferSize=8192)
Initializes the capture device to the selected settings.
virtual bool | isSupported ()
Returns true if the current OpenAL implementation supports capturing audio.
virtual bool | isReady ()
Returns true if the capture device is ready to be used. False may indicate an error with the current settings.
virtual void | updateCaptureBuffer (bool force=false)
Grabs samples from the OpenAL buffer into the capture buffer if the OpenAL buffer has reached half full. Should be run once every audio frame, unless threading is enabled.
virtual void | shutdown ()
Shuts down the capture device, clearing the internal buffer and setting the audio capture into an uninitialized state. You must call initialize() again in order to reuse this object.
virtual const char * | getAvailableDeviceName (unsigned int index)
Returns the name of an available capture device.
virtual unsigned int | getAvailableDeviceCount ()
Returns the number of capture devices available for use.
virtual const char * | getDefaultDeviceName ()
Returns the name of the default system playback device.
virtual const char * | getDeviceName ()
Returns the name of the audio device being used to capture audio.
virtual unsigned int | getFrequency ()
Returns the frequency that the captured audio will be at.
virtual AudioFormats | getFormat ()
Returns the format of the captured audio.
virtual unsigned int | getInternalBufferSize ()
Returns the internal OpenAL buffer size in bytes.
virtual unsigned int | getSampleSize ()
Returns the size of a "sample" of audio data. Useful for making sure you grab audio data at sample boundaries.
virtual bool | setDevice (const char *deviceName)
Sets the audio device . Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.
virtual bool | setFrequency (unsigned int frequency)
Sets the frequency that the captured audio will be at. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.
virtual bool | setFormat (AudioFormats format)
Sets the format that the captured audio will be at. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.
virtual bool | setInternalBufferSize (unsigned int internalBufferSize)
Sets the internal buffer size that OpenAL will use to store captured audio between calls to getCapturedAudio() in bytes. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.
virtual bool | beginCapture ()
Starts capturing audio data to an internal buffer. Will clear any old data in the buffer.
virtual void | stopCapture ()
Stops capturing audio data to an internal buffer.
virtual unsigned int | getCapturedAudio (void *outputBuffer, unsigned int outputBufferSize)
Allows access to the audio data in the internal capture buffer.
virtual unsigned int | getCurrentCapturedAudioSize ()
Returns the current size of the internal audio buffer in bytes.
void | getAvailableDevices ()
virtual void | registerEventHandler (ICaptureEventHandler *handler)
Registers a new event handler to this manager.
virtual void | unRegisterEventHandler (ICaptureEventHandler *handler)
Removes the specified event handler from this manager.
virtual void | unRegisterAllEventHandlers ()
Removes all event handlers attached to this manager.

Protected Member Functions

bool | initOpenALDevice ()
void | shutdownOpenALDevice ()
bool | checkError ()
ALenum | convertAudioFormatEnum (AudioFormats format)
void | signalEvent (Events sevent)

Protected Attributes

cAudioMutex | Mutex
unsigned int | Frequency
AudioFormats | Format
unsigned int | InternalBufferSize
int | SampleSize
cAudioVector< char >::Type | CaptureBuffer
cAudioVector< cAudioString >::Type | AvailableDevices
cAudioString | DefaultDevice
cAudioList
< ICaptureEventHandler * >
::Type 		eventHandlerList
bool | Supported
bool | Ready
bool | Capturing
cAudioString | DeviceName
ALCdevice * | CaptureDevice

Detailed Description

Definition at line 17 of file cAudioCapture.h.

Member Function Documentation

bool cAudio::cAudioCapture::beginCapture ( ) [virtual]

Starts capturing audio data to an internal buffer. Will clear any old data in the buffer.

Returns:
True if capture was successfully started.

Implements cAudio::IAudioCapture.

Definition at line 186 of file cAudioCapture.cpp.

unsigned int cAudio::cAudioCapture::getAvailableDeviceCount ( ) [virtual]

Returns the number of capture devices available for use.

Returns:
Number of capture devices available.

Implements cAudio::IAudioCapture.

Definition at line 148 of file cAudioCapture.cpp.

const char * cAudio::cAudioCapture::getAvailableDeviceName ( unsigned int index ) [virtual]

Returns the name of an available capture device.

Parameters:
index,: Specify which name to retrieve ( Range: 0 to getAvailableDeviceCount()-1 ).
Returns:
Name of the selected device.

Implements cAudio::IAudioCapture.

Definition at line 135 of file cAudioCapture.cpp.

unsigned int cAudio::cAudioCapture::getCapturedAudio | ( | void * | outputBuffer,
 |  | unsigned int | outputBufferSize |
 | ) |  |  | [virtual]

Allows access to the audio data in the internal capture buffer.

Can be called at any time to retrieve recorded audio. It is recommended that you call it every so often with long recordings to prevent the internal buffer from growing too large. Once successfully retrieved, the captured audio will be deleted from the internal buffer.

Parameters:
outputBuffer,: Pointer to an output array to copy audio data to.
outputBufferSize,: Size of the output array in bytes.
Returns:
Size in bytes of the data actually copied to the output buffer.

Implements cAudio::IAudioCapture.

Definition at line 220 of file cAudioCapture.cpp.

const char * cAudio::cAudioCapture::getDefaultDeviceName ( ) [virtual]

Returns the name of the default system playback device.

Returns:
Name of the default capture device.

Implements cAudio::IAudioCapture.

Definition at line 154 of file cAudioCapture.cpp.

virtual unsigned int cAudio::cAudioCapture::getInternalBufferSize ( ) [inline, virtual]

Returns the internal OpenAL buffer size in bytes.

Returns:
Size of the buffer in bytes.

Implements cAudio::IAudioCapture.

Definition at line 49 of file cAudioCapture.h.

virtual unsigned int cAudio::cAudioCapture::getSampleSize ( ) [inline, virtual]

Returns the size of a "sample" of audio data. Useful for making sure you grab audio data at sample boundaries.

Returns:
Size of a sample in bytes.

Implements cAudio::IAudioCapture.

Definition at line 50 of file cAudioCapture.h.

bool cAudio::cAudioCapture::initialize | ( | const char * | deviceName = 0x0,
 |  | unsigned int | frequency = 22050,
 |  | AudioFormats | format = EAF_16BIT_MONO,
 |  | unsigned int | internalBufferSize = 8192 |
 | ) |  |  | [virtual]

Initializes the capture device to the selected settings.

Note that calling this will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.

Parameters:
deviceName,: Name of the audio device to capture audio from, pass NULL to specify the default one.
frequency,: Frequency that the captured audio will be captured at in hertz.
format,: Format of the captured audio.
internalBufferSize,: Size of the internal OpenAL buffer used to store the captured audio between calls to getCapturedAudio() in bytes.
Returns:
True on success, False if the capture device failed to initialize.

Implements cAudio::IAudioCapture.

Definition at line 286 of file cAudioCapture.cpp.

void cAudio::cAudioCapture::registerEventHandler ( ICaptureEventHandler * handler ) [virtual]

Registers a new event handler to this manager.

Parameters:
handler,: Pointer to an event handler to attach.

Implements cAudio::IAudioCapture.

Definition at line 402 of file cAudioCapture.cpp.

bool cAudio::cAudioCapture::setDevice ( const char * deviceName ) [virtual]

Sets the audio device . Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.

Parameters:
deviceName,: Name of the audio device to capture audio from, pass NULL to specify the default one.
Returns:
True on success, False if the capture device failed to initialize.

Implements cAudio::IAudioCapture.

Definition at line 277 of file cAudioCapture.cpp.

bool cAudio::cAudioCapture::setFormat ( AudioFormats format ) [virtual]

Sets the format that the captured audio will be at. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.

Parameters:
format,: Format of the captured audio.
Returns:
True on success, False if the capture device failed to initialize.

Implements cAudio::IAudioCapture.

Definition at line 251 of file cAudioCapture.cpp.

bool cAudio::cAudioCapture::setFrequency ( unsigned int frequency ) [virtual]

Sets the frequency that the captured audio will be at. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.

Parameters:
frequency,: Frequency that the captured audio will be captured at in hertz.
Returns:
True on success, False if the capture device failed to initialize.

Implements cAudio::IAudioCapture.

Definition at line 243 of file cAudioCapture.cpp.

bool cAudio::cAudioCapture::setInternalBufferSize ( unsigned int internalBufferSize ) [virtual]

Sets the internal buffer size that OpenAL will use to store captured audio between calls to getCapturedAudio() in bytes. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.

Parameters:
internalBufferSize,: Size of the internal OpenAL buffer in bytes.
Returns:
True on success, False if the capture device failed to initialize.

Implements cAudio::IAudioCapture.

Definition at line 268 of file cAudioCapture.cpp.

void cAudio::cAudioCapture::unRegisterEventHandler ( ICaptureEventHandler * handler ) [virtual]

Removes the specified event handler from this manager.

Parameters:
handler,: Pointer to an event handler to remove.

Implements cAudio::IAudioCapture.

Definition at line 410 of file cAudioCapture.cpp.

void cAudio::cAudioCapture::updateCaptureBuffer ( bool force = false ) [virtual]

Grabs samples from the OpenAL buffer into the capture buffer if the OpenAL buffer has reached half full. Should be run once every audio frame, unless threading is enabled.

Parameters:
force,: Force capturing data from the buffer, even if the buffer is not half full.

Implements cAudio::IAudioCapture.

Definition at line 160 of file cAudioCapture.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cAudioCapture.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cAudioCapture.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:35 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cAudioEffects Class Reference

cAudio::cAudioEffects

cAudio::cAudioEffects Class Reference

Inherits cAudio::IAudioEffects.

Collaboration diagram for cAudio::cAudioEffects:
[legend]

List of all members.

Public Member Functions

virtual IEffect * | createEffect ()
Creates an Audio Effect for use with audio sources.
virtual IFilter * | createFilter ()
Creates an Audio Filter for use with audio sources.
virtual unsigned int | getMaxEffectsSupported () const
Returns the max number of effects supported.
virtual bool | isEffectSupported (const EffectTypes &type) const
Checks to see if the given effect type is supported.
virtual bool | isFilterSupported (const FilterTypes &type) const
Checks to see if the given filter type is supported.
virtual bool | addEAXReverbEffectPreset (const char *name, const sEAXReverbParameters &setting)
Adds a preset for the EAX Reverb Audio Effect type.
virtual bool | addReverbEffectPreset (const char *name, const sReverbParameters &setting)
Adds a preset for the Reverb Audio Effect type.
virtual bool | addChorusEffectPreset (const char *name, const sChorusParameters &setting)
Adds a preset for the Chorus Audio Effect type.
virtual bool | addDistortionEffectPreset (const char *name, const sDistortionParameters &setting)
Adds a preset for the Distortion Audio Effect type.
virtual bool | addEchoEffectPreset (const char *name, const sEchoParameters &setting)
Adds a preset for the Echo Audio Effect type.
virtual bool | addFlangerEffectPreset (const char *name, const sFlangerParameters &setting)
Adds a preset for the Flanger Audio Effect type.
virtual bool | addFrequencyShiftEffectPreset (const char *name, const sFrequencyShiftParameters &setting)
Adds a preset for the Frequency Shift Audio Effect type.
virtual bool | addVocalMorpherEffectPreset (const char *name, const sVocalMorpherParameters &setting)
Adds a preset for the Vocal Morpher Audio Effect type.
virtual bool | addPitchShifterEffectPreset (const char *name, const sPitchShifterParameters &setting)
Adds a preset for the Pitch Shifter Audio Effect type.
virtual bool | addRingModulatorEffectPreset (const char *name, const sRingModulatorParameters &setting)
Adds a preset for the Ring Modulator Audio Effect type.
virtual bool | addAutowahEffectPreset (const char *name, const sAutowahParameters &setting)
Adds a preset for the Autowah Audio Effect type.
virtual bool | addCompressorEffectPreset (const char *name, const sCompressorParameters &setting)
Adds a preset for the Compressor Audio Effect type.
virtual bool | addEqualizerEffectPreset (const char *name, const sEqualizerParameters &setting)
Adds a preset for the Equalizer Audio Effect type.
virtual sEAXReverbParameters | getEAXReverbEffectPreset (const char *name)
Returns a previously registered preset for the EAX Reverb Effect.
virtual sReverbParameters | getReverbEffectPreset (const char *name)
Returns a previously registered preset for the Reverb Effect.
virtual sChorusParameters | getChorusEffectPreset (const char *name)
Returns a previously registered preset for the Chorus Effect.
virtual sDistortionParameters | getDistortionEffectPreset (const char *name)
Returns a previously registered preset for the Distortion Effect.
virtual sEchoParameters | getEchoEffectPreset (const char *name)
Returns a previously registered preset for the Echo Effect.
virtual sFlangerParameters | getFlangerEffectPreset (const char *name)
Returns a previously registered preset for the Flanger Effect.
virtual sFrequencyShiftParameters | getFrequencyShiftEffectPreset (const char *name)
Returns a previously registered preset for the Frequency Shift Effect.
virtual sVocalMorpherParameters | getVocalMorpherEffectPreset (const char *name)
Returns a previously registered preset for the Vocal Morpher Effect.
virtual sPitchShifterParameters | getPitchShifterEffectPreset (const char *name)
Returns a previously registered preset for the Pitch Shifter Effect.
virtual sRingModulatorParameters | getRingModulatorEffectPreset (const char *name)
Returns a previously registered preset for the Ring Modulator Effect.
virtual sAutowahParameters | getAutowahEffectPreset (const char *name)
Returns a previously registered preset for the Autowah Effect.
virtual sCompressorParameters | getCompressorEffectPreset (const char *name)
Returns a previously registered preset for the Compressor Effect.
virtual sEqualizerParameters | getEqualizerEffectPreset (const char *name)
Returns a previously registered preset for the Equalizer Effect.
virtual void | removeEffectPreset (const EffectTypes &type, const char *name)
Removes a previously registered effect preset.
virtual bool | isEffectPresetRegistered (const EffectTypes &type, const char *name)
Returns if a effect preset of a certain name is registered.
virtual void | removeAllEffectPresets (const EffectTypes &type)
Removes all effect presets for a specific effect type.
cEFXFunctions * | getEFXInterface ()
void | checkEFXSupportDetails ()

Detailed Description

Definition at line 17 of file cAudioEffects.h.

Member Function Documentation

bool cAudio::cAudioEffects::addAutowahEffectPreset | ( | const char * | name,
 |  | const sAutowahParameters & | setting |
 | ) |  |  | [virtual]

Adds a preset for the Autowah Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implements cAudio::IAudioEffects.

Definition at line 149 of file cAudioEffects.cpp.

bool cAudio::cAudioEffects::addChorusEffectPreset | ( | const char * | name,
 |  | const sChorusParameters & | setting |
 | ) |  |  | [virtual]

Adds a preset for the Chorus Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implements cAudio::IAudioEffects.

Definition at line 85 of file cAudioEffects.cpp.

bool cAudio::cAudioEffects::addCompressorEffectPreset | ( | const char * | name,
 |  | const sCompressorParameters & | setting |
 | ) |  |  | [virtual]

Adds a preset for the Compressor Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implements cAudio::IAudioEffects.

Definition at line 157 of file cAudioEffects.cpp.

bool cAudio::cAudioEffects::addDistortionEffectPreset | ( | const char * | name,
 |  | const sDistortionParameters & | setting |
 | ) |  |  | [virtual]

Adds a preset for the Distortion Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implements cAudio::IAudioEffects.

Definition at line 93 of file cAudioEffects.cpp.

bool cAudio::cAudioEffects::addEAXReverbEffectPreset | ( | const char * | name,
 |  | const sEAXReverbParameters & | setting |
 | ) |  |  | [virtual]

Adds a preset for the EAX Reverb Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implements cAudio::IAudioEffects.

Definition at line 69 of file cAudioEffects.cpp.

bool cAudio::cAudioEffects::addEchoEffectPreset | ( | const char * | name,
 |  | const sEchoParameters & | setting |
 | ) |  |  | [virtual]

Adds a preset for the Echo Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implements cAudio::IAudioEffects.

Definition at line 101 of file cAudioEffects.cpp.

bool cAudio::cAudioEffects::addEqualizerEffectPreset | ( | const char * | name,
 |  | const sEqualizerParameters & | setting |
 | ) |  |  | [virtual]

Adds a preset for the Equalizer Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implements cAudio::IAudioEffects.

Definition at line 165 of file cAudioEffects.cpp.

bool cAudio::cAudioEffects::addFlangerEffectPreset | ( | const char * | name,
 |  | const sFlangerParameters & | setting |
 | ) |  |  | [virtual]

Adds a preset for the Flanger Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implements cAudio::IAudioEffects.

Definition at line 109 of file cAudioEffects.cpp.

bool cAudio::cAudioEffects::addFrequencyShiftEffectPreset | ( | const char * | name,
 |  | const sFrequencyShiftParameters & | setting |
 | ) |  |  | [virtual]

Adds a preset for the Frequency Shift Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implements cAudio::IAudioEffects.

Definition at line 117 of file cAudioEffects.cpp.

bool cAudio::cAudioEffects::addPitchShifterEffectPreset | ( | const char * | name,
 |  | const sPitchShifterParameters & | setting |
 | ) |  |  | [virtual]

Adds a preset for the Pitch Shifter Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implements cAudio::IAudioEffects.

Definition at line 133 of file cAudioEffects.cpp.

bool cAudio::cAudioEffects::addReverbEffectPreset | ( | const char * | name,
 |  | const sReverbParameters & | setting |
 | ) |  |  | [virtual]

Adds a preset for the Reverb Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implements cAudio::IAudioEffects.

Definition at line 77 of file cAudioEffects.cpp.

bool cAudio::cAudioEffects::addRingModulatorEffectPreset | ( | const char * | name,
 |  | const sRingModulatorParameters & | setting |
 | ) |  |  | [virtual]

Adds a preset for the Ring Modulator Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implements cAudio::IAudioEffects.

Definition at line 141 of file cAudioEffects.cpp.

bool cAudio::cAudioEffects::addVocalMorpherEffectPreset | ( | const char * | name,
 |  | const sVocalMorpherParameters & | setting |
 | ) |  |  | [virtual]

Adds a preset for the Vocal Morpher Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implements cAudio::IAudioEffects.

Definition at line 125 of file cAudioEffects.cpp.

IEffect * cAudio::cAudioEffects::createEffect ( ) [virtual]

Creates an Audio Effect for use with audio sources.

Returns:
Pointer to the created Effect instance.

Implements cAudio::IAudioEffects.

Definition at line 32 of file cAudioEffects.cpp.

IFilter * cAudio::cAudioEffects::createFilter ( ) [virtual]

Creates an Audio Filter for use with audio sources.

Returns:
Pointer to the created Filter instance.

Implements cAudio::IAudioEffects.

Definition at line 43 of file cAudioEffects.cpp.

sAutowahParameters cAudio::cAudioEffects::getAutowahEffectPreset ( const char * name ) [virtual]

Returns a previously registered preset for the Autowah Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implements cAudio::IAudioEffects.

Definition at line 293 of file cAudioEffects.cpp.

sChorusParameters cAudio::cAudioEffects::getChorusEffectPreset ( const char * name ) [virtual]

Returns a previously registered preset for the Chorus Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implements cAudio::IAudioEffects.

Definition at line 197 of file cAudioEffects.cpp.

sCompressorParameters cAudio::cAudioEffects::getCompressorEffectPreset ( const char * name ) [virtual]

Returns a previously registered preset for the Compressor Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implements cAudio::IAudioEffects.

Definition at line 305 of file cAudioEffects.cpp.

sDistortionParameters cAudio::cAudioEffects::getDistortionEffectPreset ( const char * name ) [virtual]

Returns a previously registered preset for the Distortion Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implements cAudio::IAudioEffects.

Definition at line 209 of file cAudioEffects.cpp.

sEAXReverbParameters cAudio::cAudioEffects::getEAXReverbEffectPreset ( const char * name ) [virtual]

Returns a previously registered preset for the EAX Reverb Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implements cAudio::IAudioEffects.

Definition at line 173 of file cAudioEffects.cpp.

sEchoParameters cAudio::cAudioEffects::getEchoEffectPreset ( const char * name ) [virtual]

Returns a previously registered preset for the Echo Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implements cAudio::IAudioEffects.

Definition at line 221 of file cAudioEffects.cpp.

sEqualizerParameters cAudio::cAudioEffects::getEqualizerEffectPreset ( const char * name ) [virtual]

Returns a previously registered preset for the Equalizer Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implements cAudio::IAudioEffects.

Definition at line 317 of file cAudioEffects.cpp.

sFlangerParameters cAudio::cAudioEffects::getFlangerEffectPreset ( const char * name ) [virtual]

Returns a previously registered preset for the Flanger Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implements cAudio::IAudioEffects.

Definition at line 233 of file cAudioEffects.cpp.

sFrequencyShiftParameters cAudio::cAudioEffects::getFrequencyShiftEffectPreset ( const char * name ) [virtual]

Returns a previously registered preset for the Frequency Shift Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implements cAudio::IAudioEffects.

Definition at line 245 of file cAudioEffects.cpp.

sPitchShifterParameters cAudio::cAudioEffects::getPitchShifterEffectPreset ( const char * name ) [virtual]

Returns a previously registered preset for the Pitch Shifter Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implements cAudio::IAudioEffects.

Definition at line 269 of file cAudioEffects.cpp.

sReverbParameters cAudio::cAudioEffects::getReverbEffectPreset ( const char * name ) [virtual]

Returns a previously registered preset for the Reverb Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implements cAudio::IAudioEffects.

Definition at line 185 of file cAudioEffects.cpp.

sRingModulatorParameters cAudio::cAudioEffects::getRingModulatorEffectPreset ( const char * name ) [virtual]

Returns a previously registered preset for the Ring Modulator Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implements cAudio::IAudioEffects.

Definition at line 281 of file cAudioEffects.cpp.

sVocalMorpherParameters cAudio::cAudioEffects::getVocalMorpherEffectPreset ( const char * name ) [virtual]

Returns a previously registered preset for the Vocal Morpher Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implements cAudio::IAudioEffects.

Definition at line 257 of file cAudioEffects.cpp.

bool cAudio::cAudioEffects::isEffectPresetRegistered | ( | const EffectTypes & | type,
 |  | const char * | name |
 | ) |  |  | [virtual]

Returns if a effect preset of a certain name is registered.

Parameters:
type,: Type of the effect.
name,: Name of the preset.
Returns:
True if it exists, false if not.

Implements cAudio::IAudioEffects.

Definition at line 379 of file cAudioEffects.cpp.

bool cAudio::cAudioEffects::isEffectSupported ( const EffectTypes & type ) const [virtual]

Checks to see if the given effect type is supported.

Parameters:
type,: the effect type to be checked.
Returns:
True if the effect is supported, False if the effect isn't supported.

Implements cAudio::IAudioEffects.

Definition at line 59 of file cAudioEffects.cpp.

bool cAudio::cAudioEffects::isFilterSupported ( const FilterTypes & type ) const [virtual]

Checks to see if the given filter type is supported.

Parameters:
type,: the filter type to be checked.
Returns:
True if the filter is supported, False if the filter isn't supported.

Implements cAudio::IAudioEffects.

Definition at line 64 of file cAudioEffects.cpp.

void cAudio::cAudioEffects::removeAllEffectPresets ( const EffectTypes & type ) [virtual]

Removes all effect presets for a specific effect type.

Parameters:
type,: Type of effect to remove presets for, or EET_NULL to remove all of them.

Implements cAudio::IAudioEffects.

Definition at line 430 of file cAudioEffects.cpp.

void cAudio::cAudioEffects::removeEffectPreset | ( | const EffectTypes & | type,
 |  | const char * | name |
 | ) |  |  | [virtual]

Removes a previously registered effect preset.

Parameters:
type,: Type of effect to remove a preset for.
name,: Name of the preset to remove.

Implements cAudio::IAudioEffects.

Definition at line 329 of file cAudioEffects.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cAudioEffects.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cAudioEffects.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:36 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cAudioList< T > Struct Template Reference

cAudio::cAudioList

cAudio::cAudioList< T > Struct Template Reference

List of all members.

Public Types

typedef std::list< T,
cSTLAllocator< T > > 		Type
typedef std::list< T > Type

Detailed Description

template<typename T>
struct cAudio::cAudioList< T >

Definition at line 120 of file cSTLAllocator.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cSTLAllocator.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cAudioManager Class Reference

cAudio::cAudioManager

cAudio::cAudioManager Class Reference

Inherits cAudio::IAudioManager, and cAudio::cMemoryOverride.

Collaboration diagram for cAudio::cAudioManager:
[legend]

List of all members.

Public Types

enum Events {
ON_INIT, ON_UPDATE, ON_RELEASE, ON_SOURCECREATE,
ON_DECODERREGISTER, ON_DATASOURCEREGISTER
}

Public Member Functions

virtual bool | initialize (const char *deviceName=0x0, int outputFrequency=-1, int eaxEffectSlots=4)
Initializes the manager.
virtual void | shutDown ()
Shuts the manager down, cleaning up audio sources in the process. Does not clean up decoders, data sources, or event handlers.
virtual void | update ()
If threading is disabled, you must call this function every frame to update the playback buffers of audio sources. Otherwise it should not be called.
virtual IAudioSource * | getSoundByName (const char *name)
Returns an Audio Source by its "name" and NULL if the name is not found.
virtual void | releaseAllSources ()
Releases ALL Audio Sources (but does not shutdown the manager).
virtual void | release (IAudioSource *source)
Releases a single Audio Source, removing it from the manager.
virtual const char * | getAvailableDeviceName (unsigned int index)
Returns the name of an available playback device.
virtual unsigned int | getAvailableDeviceCount ()
Returns the number of playback devices available for use.
virtual const char * | getDefaultDeviceName ()
Returns the name of the default system playback device.
virtual IAudioSource * | create (const char *name, const char *filename, bool stream=false)
Creates an Audio Source object using the highest priority data source that has the referenced filename.
virtual IAudioSource * | createFromMemory (const char *name, const char *data, size_t length, const char *extension)
Creates an Audio Source from a memory buffer using a specific audio codec.
virtual IAudioSource * | createFromRaw (const char *name, const char *data, size_t length, unsigned int frequency, AudioFormats format)
Creates an Audio Source from raw audio data in a memory buffer.
virtual bool | registerAudioDecoder (IAudioDecoderFactory *factory, const char *extension)
Register an Audio Decoder.
virtual void | unRegisterAudioDecoder (const char *extension)
Unregister a previously registered Audio Decoder.
virtual bool | isAudioDecoderRegistered (const char *extension)
Returns whether an audio decoder is currently registered for this file type.
virtual IAudioDecoderFactory * | getAudioDecoderFactory (const char *extension)
Returns a registered audio decoder factory.
virtual void | unRegisterAllAudioDecoders ()
Unregisters all attached Audio Decoders.
virtual bool | registerDataSource (IDataSourceFactory *factory, const char *name, int priority)
Registers a data source with this manager.
virtual void | unRegisterDataSource (const char *name)
Removes a previously registered data source.
virtual bool | isDataSourceRegistered (const char *name)
Returns whether a data source is currently registered under a certain name.
virtual IDataSourceFactory * | getDataSourceFactory (const char *name)
Returns a previously registered data source factory.
virtual void | unRegisterAllDataSources ()
Removes all previously registered data sources.
virtual void | registerEventHandler (IManagerEventHandler *handler)
Registers a new event handler with the manager.
virtual void | unRegisterEventHandler (IManagerEventHandler *handler)
Unregisters a previously registered event handler from the manager.
virtual void | unRegisterAllEventHandlers ()
Unregisters all previously registered event handlers from the manager.
void | getAvailableDevices ()
Grabs a list of available devices, as well as the default system one.
virtual IListener * | getListener ()
Returns the interface for the listener.
virtual IAudioEffects * | getEffects ()
Returns the interface for audio effects.

Detailed Description

Definition at line 28 of file cAudioManager.h.

Member Function Documentation

IAudioSource * cAudio::cAudioManager::create | ( | const char * | name,
 |  | const char * | filename,
 |  | bool | stream = false |
 | ) |  |  | [virtual]

Creates an Audio Source object using the highest priority data source that has the referenced filename.

Parameters:
name,: Name of the audio source.
filename,: Path to the file to load audio data from.
stream,: Whether to stream the audio data or load it all into a memory buffer at the start. You should consider using streaming for really large sound files.
Returns:
A pointer to an Audio Source or NULL if creation failed.

Implements cAudio::IAudioManager.

Definition at line 161 of file cAudioManager.cpp.

IAudioSource * cAudio::cAudioManager::createFromMemory | ( | const char * | name,
 |  | const char * | data,
 |  | size_t | length,
 |  | const char * | extension |
 | ) |  |  | [virtual]

Creates an Audio Source from a memory buffer using a specific audio codec.

Parameters:
name,: Name of the audio source.
data,: Pointer to a buffer in memory to load the data from.
length,: Length of the data buffer.
extension,: Extension for the audio codec of the data in the memory buffer.
Returns:
A pointer to an Audio Source or NULL if creation failed.

Implements cAudio::IAudioManager.

Definition at line 222 of file cAudioManager.cpp.

IAudioSource * cAudio::cAudioManager::createFromRaw | ( | const char * | name,
 |  | const char * | data,
 |  | size_t | length,
 |  | unsigned int | frequency,
 |  | AudioFormats | format |
 | ) |  |  | [virtual]

Creates an Audio Source from raw audio data in a memory buffer.

Parameters:
name,: Name of the audio source.
data,: Pointer to a buffer in memory to load the data from.
length,: Length of the data buffer.
frequency,: Frequency (or sample rate) of the audio data.
format,: Format of the audio data.
Returns:
A pointer to an Audio Source or NULL if creation failed.

Implements cAudio::IAudioManager.

Definition at line 287 of file cAudioManager.cpp.

IAudioDecoderFactory * cAudio::cAudioManager::getAudioDecoderFactory ( const char * extension ) [virtual]

Returns a registered audio decoder factory.

Parameters:
extension,: Extension for the audio decoder to return.
Returns:
A pointer to the found factory or NULL if it could not be found.

Implements cAudio::IAudioManager.

Definition at line 380 of file cAudioManager.cpp.

unsigned int cAudio::cAudioManager::getAvailableDeviceCount ( ) [virtual]

Returns the number of playback devices available for use.

Returns:
Number of playback devices available.

Implements cAudio::IAudioManager.

Definition at line 714 of file cAudioManager.cpp.

const char * cAudio::cAudioManager::getAvailableDeviceName ( unsigned int index ) [virtual]

Returns the name of an available playback device.

Parameters:
index,: Specify which name to retrieve ( Range: 0 to getAvailableDeviceCount()-1 )
Returns:
Name of the selected device.

Implements cAudio::IAudioManager.

Definition at line 701 of file cAudioManager.cpp.

IDataSourceFactory * cAudio::cAudioManager::getDataSourceFactory ( const char * name ) [virtual]

Returns a previously registered data source factory.

Parameters:
name,: Name of the data source to return.
Returns:
A pointer to the found factory or NULL if it could not be found.

Implements cAudio::IAudioManager.

Definition at line 446 of file cAudioManager.cpp.

const char * cAudio::cAudioManager::getDefaultDeviceName ( ) [virtual]

Returns the name of the default system playback device.

Returns:
Name of the default playback device.

Implements cAudio::IAudioManager.

Definition at line 720 of file cAudioManager.cpp.

IAudioSource * cAudio::cAudioManager::getSoundByName ( const char * name ) [virtual]

Returns an Audio Source by its "name" and NULL if the name is not found.

Parameters:
name,: Name of the audio source to retrieve.
Returns:
Pointer to the audio source object or NULL if it could not be found.

Implements cAudio::IAudioManager.

Definition at line 552 of file cAudioManager.cpp.

bool cAudio::cAudioManager::initialize | ( | const char * | deviceName = 0x0,
 |  | int | outputFrequency = -1,
 |  | int | eaxEffectSlots = 4 |
 | ) |  |  | [virtual]

Initializes the manager.

Parameters:
deviceName,: Name of the device to create this manager for.
outputFrequency,: Frequency of the output audio or -1 for the device default.
eaxEffectSlots,: Number of EFX effect slots to request. Has no effect if EFX is not supported or compiled out.
Returns:
True on success, False if initialization of OpenAL failed.

Implements cAudio::IAudioManager.

Definition at line 75 of file cAudioManager.cpp.

bool cAudio::cAudioManager::isAudioDecoderRegistered ( const char * extension ) [virtual]

Returns whether an audio decoder is currently registered for this file type.

Parameters:
extension,: Extension for the audio decoder to check for.
Returns:
True if the specified decoder is registered or False if not.

Implements cAudio::IAudioManager.

Definition at line 372 of file cAudioManager.cpp.

bool cAudio::cAudioManager::isDataSourceRegistered ( const char * name ) [virtual]

Returns whether a data source is currently registered under a certain name.

Parameters:
name,: Name of the data source to check for.
Returns:
True if the specified data source is registered or False if not.

Implements cAudio::IAudioManager.

Definition at line 438 of file cAudioManager.cpp.

bool cAudio::cAudioManager::registerAudioDecoder | ( | IAudioDecoderFactory * | factory,
 |  | const char * | extension |
 | ) |  |  | [virtual]

Register an Audio Decoder.

Parameters:
factory,: Pointer to the factory instance to use.
extension,: Extension of the audio codec to register this decoder under. For example, .wav for a RIFF/wav decoder.
Returns:
True on seccess, False if registration failed.

Implements cAudio::IAudioManager.

Definition at line 351 of file cAudioManager.cpp.

bool cAudio::cAudioManager::registerDataSource | ( | IDataSourceFactory * | factory,
 |  | const char * | name,
 |  | int | priority |
 | ) |  |  | [virtual]

Registers a data source with this manager.

Use this function to provide access to a custom resource manager, zip archive, vfs, or any other place you'd like to get audio files from.

Parameters:
factory,: Pointer to the data source factory to register.
name,: Name for the data source (ie. Zip Archive or FileSystem)
priority,: Determines what order data sources are asked for a file. The higher the priority, the sooner they are asked. cAudio stops looking for a file as soon as any data source returns it.
Returns:
True on success, False on failure to register.

Implements cAudio::IAudioManager.

Definition at line 403 of file cAudioManager.cpp.

void cAudio::cAudioManager::registerEventHandler ( IManagerEventHandler * handler ) [virtual]

Registers a new event handler with the manager.

Parameters:
handler,: Pointer to an event handler instance to register.

Implements cAudio::IAudioManager.

Definition at line 465 of file cAudioManager.cpp.

void cAudio::cAudioManager::release ( IAudioSource * source ) [virtual]

Releases a single Audio Source, removing it from the manager.

Parameters:
source,: Pointer to the source to release.

Implements cAudio::IAudioManager.

Definition at line 577 of file cAudioManager.cpp.

void cAudio::cAudioManager::unRegisterAllAudioDecoders ( ) [virtual]

Unregisters all attached Audio Decoders.

Note that all current sound sources will still continue to use any currently allocated decoders. Will NOT delete any user added factory instance, you must do that yourself.

Implements cAudio::IAudioManager.

Definition at line 392 of file cAudioManager.cpp.

void cAudio::cAudioManager::unRegisterAllDataSources ( ) [virtual]

Removes all previously registered data sources.

Note that sound sources will still continue to use any currently allocated sources, so you may not be able to close an open zip/archive file handle until they are done. Will NOT delete any user added factory instance, you must do that yourself.

Implements cAudio::IAudioManager.

Definition at line 458 of file cAudioManager.cpp.

void cAudio::cAudioManager::unRegisterAllEventHandlers ( ) [virtual]

Unregisters all previously registered event handlers from the manager.

Note: Will not delete your event handler, you must take care of that yourself.

Implements cAudio::IAudioManager.

Definition at line 481 of file cAudioManager.cpp.

void cAudio::cAudioManager::unRegisterAudioDecoder ( const char * extension ) [virtual]

Unregister a previously registered Audio Decoder.

Note that all current sound sources will still continue to use any currently allocated decoders. Will NOT delete any user added factory instance, you must do that yourself.

Parameters:
extension,: Extension for the audio decoder to remove.

Implements cAudio::IAudioManager.

Definition at line 360 of file cAudioManager.cpp.

void cAudio::cAudioManager::unRegisterDataSource ( const char * name ) [virtual]

Removes a previously registered data source.

Note that sound sources will still continue to use any currently allocated sources, so you may not be able to close an open zip/archive file handle until they are done. Will NOT delete any user added factory instance, you must do that yourself.

Parameters:
name,: Name of the data source to unregister.

Implements cAudio::IAudioManager.

Definition at line 415 of file cAudioManager.cpp.

void cAudio::cAudioManager::unRegisterEventHandler ( IManagerEventHandler * handler ) [virtual]

Unregisters a previously registered event handler from the manager.

Note: Will not delete your event handler, you must take care of that yourself.

Parameters:
handler,: Pointer to the event handler to remove.

Implements cAudio::IAudioManager.

Definition at line 473 of file cAudioManager.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cAudioManager.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cAudioManager.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:37 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cAudioMap< T1, T2 > Struct Template Reference

cAudio::cAudioMap

cAudio::cAudioMap< T1, T2 > Struct Template Reference

List of all members.

Public Types

typedef std::map< T1, T2,
std::less< T1 >, cSTLAllocator
< std::pair< T1, T2 > > > 		Type
typedef std::map< T1, T2 > Type

Detailed Description

template<typename T1, typename T2>
struct cAudio::cAudioMap< T1, T2 >

Definition at line 118 of file cSTLAllocator.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cSTLAllocator.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cAudioMutex Class Reference

cAudio::cAudioMutex

cAudio::cAudioMutex Class Reference

Basic mutex class used for internal thread locking. More...

#include <cMutex.h>

List of all members.

Public Member Functions

void | lock ()
void | unlock ()
void | lock ()
void | unlock ()

Detailed Description

Basic mutex class used for internal thread locking.

Definition at line 22 of file cMutex.h.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cMutex.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cMutex.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:41 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cAudioMutexBasicLock Class Reference

cAudio::cAudioMutexBasicLock

cAudio::cAudioMutexBasicLock Class Reference

Collaboration diagram for cAudio::cAudioMutexBasicLock:
[legend]

List of all members.

Public Member Functions

cAudioMutexBasicLock (cAudioMutex &mutex)

Protected Attributes

cAudioMutex * Mutex

Detailed Description

Definition at line 55 of file cMutex.h.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cMutex.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:41 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cAudioSet< T > Struct Template Reference

cAudio::cAudioSet

cAudio::cAudioSet< T > Struct Template Reference

List of all members.

Public Types

typedef std::set< T, std::less
< T >, cSTLAllocator< T > > 		Type
typedef std::set< T > Type

Detailed Description

template<typename T>
struct cAudio::cAudioSet< T >

Definition at line 119 of file cSTLAllocator.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cSTLAllocator.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cAudioSource Class Reference

cAudio::cAudioSource

cAudio::cAudioSource Class Reference

Inherits cAudio::IAudioSource, and cAudio::cMemoryOverride.

Collaboration diagram for cAudio::cAudioSource:
[legend]

List of all members.

Public Types

enum Events {
ON_UPDATE, ON_RELEASE, ON_PLAY, ON_PAUSE,
ON_STOP
}

Public Member Functions

cAudioSource (IAudioDecoder *decoder, ALCcontext *context, cEFXFunctions *oALFunctions)
cAudioSource (IAudioDecoder *decoder, ALCcontext *context)
virtual bool | play ()
Plays the source with the last set parameters.
virtual bool | play2d (const bool &toLoop=false)
Plays the source in 2D mode.
virtual bool | play3d (const cVector3 &position, const float &soundstr=1.0, const bool &toLoop=false)
Plays the source in 3D mode.
virtual void | pause ()
Pauses playback of the sound source.
virtual void | stop ()
Stops playback of the sound source.
virtual void | loop (const bool &toLoop)
Controls whether the source should loop or not.
virtual bool | seek (const float &seconds, bool relative=false)
Seeks through the audio stream to a specific spot.
virtual float | getTotalAudioTime ()
Returns the total amount of time in the audio stream. See IAudioDecoder for details.
virtual int | getTotalAudioSize ()
Returns the total decoded size of the audio stream. See IAudioDecoder for details.
virtual int | getCompressedAudioSize ()
Returns the original size of the audio stream. See IAudioDecoder for details.
virtual float | getCurrentAudioTime ()
Returns the current position in the audio stream in seconds. See IAudioDecoder for details.
virtual int | getCurrentAudioPosition ()
Returns the current position in the decoded audio stream in bytes. See IAudioDecoder for details.
virtual int | getCurrentCompressedAudioPosition ()
Returns the current position in the original audio stream in bytes. See IAudioDecoder for details.
virtual bool | update ()
Normally called every frame by the audio manager to update the internal buffers. Note: For internal use only.
virtual void | release ()
Releases all resources used by the audio source, normally used to clean up before deletion. Note: For internal use only.
virtual const bool | isValid () const
Returns if the source is ready to be used.
virtual const bool | isPlaying () const
Returns if the source is playing.
virtual const bool | isPaused () const
Returns if the source is paused.
virtual const bool | isStopped () const
Returns if the source is stopped.
virtual const bool | isLooping () const
Returns if the source is looping.
virtual void | setPosition (const cVector3 &position)
Sets the position of the source in 3D space.
virtual void | setVelocity (const cVector3 &velocity)
Sets the current velocity of the source for doppler effects.
virtual void | setDirection (const cVector3 &direction)
Sets the direction the source is facing.
virtual void | setRolloffFactor (const float &rolloff)
Sets the factor used in attenuating the source over distance.
virtual void | setStrength (const float &soundstrength)
Sets how well the source carries over distance.
virtual void | setMinDistance (const float &minDistance)
Sets the distance from the source where attenuation will begin.
virtual void | setMaxDistance (const float &maxDistance)
Sets the distance from the source where attenuation will stop.
virtual void | setPitch (const float &pitch)
Sets the pitch of the source.
virtual void | setVolume (const float &volume)
Sets the source volume before attenuation and other effects.
virtual void | setMinVolume (const float &minVolume)
Sets the minimum volume that the source can be attenuated to.
virtual void | setMaxVolume (const float &maxVolume)
Sets the maximum volume that the source can achieve.
virtual void | setInnerConeAngle (const float &innerAngle)
Sets the angle of the inner sound cone of the source. The cone opens up in the direction of the source as set by setDirection().
virtual void | setOuterConeAngle (const float &outerAngle)
Sets the angle of the outer sound cone of the source. The cone opens up in the direction of the source as set by setDirection().
virtual void | setOuterConeVolume (const float &outerVolume)
Sets how much the volume of the source is scaled in the outer cone.
virtual void | setDopplerStrength (const float &dstrength)
Sets the doppler strength, which enhances or diminishes the doppler effect. Can be used to exaggerate the doppler for a special effect.
virtual void | setDopplerVelocity (const cVector3 &dvelocity)
Overrides the doppler velocity vector. It is usually better to let the engine take care of it automatically.
virtual void | move (const cVector3 &position)
Convenience function to automatically set the velocity and position for you in a single call.
virtual const cVector3 | getPosition () const
Returns the audio objects position.
virtual const cVector3 | getVelocity () const
Returns the audio objects velocity.
virtual const cVector3 | getDirection () const
Returns the audio objects direction.
virtual const float | getRolloffFactor () const
Returns the factor used in attenuating the source over distance.
virtual const float | getStrength () const
Returns the strength of the source.
virtual const float | getMinDistance () const
Returns the distance from the source where attenuation will begin.
virtual const float | getMaxDistance () const
Returns the distance from the source where attenuation will stop.
virtual const float | getPitch () const
Returns the pitch of the source.
virtual const float | getVolume () const
Returns the source volume before attenuation and other effects.
virtual const float | getMinVolume () const
Returns the minimum volume that the source can be attenuated to.
virtual const float | getMaxVolume () const
Returns the maximum volume that the source can achieve.
virtual const float | getInnerConeAngle () const
Returns the angle of the inner sound cone of the source.
virtual const float | getOuterConeAngle () const
Returns the angle of the outer sound cone of the source.
virtual const float | getOuterConeVolume () const
Returns how much the volume of the source is scaled in the outer cone.
virtual const float | getDopplerStrength () const
Returns the doppler strength, which enhances or diminishes the doppler effect.
virtual const cVector3 | getDopplerVelocity () const
Returns the override for the doppler velocity vector.
virtual void | registerEventHandler (ISourceEventHandler *handler)
Registers a new event handler to this source.
virtual void | unRegisterEventHandler (ISourceEventHandler *handler)
Removes a specified event handler from this source.
virtual void | unRegisterAllEventHandlers ()
Removes all event handlers attached to this source.
virtual unsigned int | getNumEffectSlotsAvailable () const
Returns the number of effects at one time this source can support.
virtual bool | attachEffect (unsigned int slot, IEffect *effect)
Attaches an EFX audio effect to this sound source to a specific slot.
virtual void | removeEffect (unsigned int slot)
Removes an EFX audio effect from this sound source.
virtual bool | attachFilter (IFilter *filter)
Attaches an audio filter to this sound source that will operate on the direct feed, separate from any effects.
virtual void | removeFilter ()
Removes a previously attached filter.

Detailed Description

Definition at line 24 of file cAudioSource.h.

Member Function Documentation

bool cAudio::cAudioSource::attachEffect | ( | unsigned int | slot,
 |  | IEffect * | effect |
 | ) |  |  | [virtual]

Attaches an EFX audio effect to this sound source to a specific slot.

Parameters:
slot,: Slot to attach this effect to. Range: 0 to getNumEffectSlotsAvailable().
effect,: Pointer to an effect object to attach.
Returns:
Whether the effect was successfully attached.

Implements cAudio::IAudioSource.

Definition at line 559 of file cAudioSource.cpp.

bool cAudio::cAudioSource::attachFilter ( IFilter * filter ) [virtual]

Attaches an audio filter to this sound source that will operate on the direct feed, separate from any effects.

Parameters:
filter,: Pointer to the filter to attach. Any previous filter will be dropped.
Returns:
Whether the filter was successfully attached.

Implements cAudio::IAudioSource.

Definition at line 589 of file cAudioSource.cpp.

void cAudio::cAudioSource::loop ( const bool & toLoop ) [virtual]

Controls whether the source should loop or not.

Parameters:
toLoop,: Whether to loop (restart) the audio when the end is reached.

Implements cAudio::IAudioSource.

Definition at line 166 of file cAudioSource.cpp.

void cAudio::cAudioSource::move ( const cVector3 & position ) [virtual]

Convenience function to automatically set the velocity and position for you in a single call.

Velocity will be set to new position - last position.

Parameters:
position,: Position to move the source to.

Implements cAudio::IAudioSource.

Definition at line 425 of file cAudioSource.cpp.

bool cAudio::cAudioSource::play ( ) [virtual]

Plays the source with the last set parameters.

Returns:
True if the source is playing, false if not.

Implements cAudio::IAudioSource.

Definition at line 85 of file cAudioSource.cpp.

bool cAudio::cAudioSource::play2d ( const bool & toLoop = false ) [virtual]

Plays the source in 2D mode.

No automatic attenuation or panning will take place in this mode, but using setPosition will allow you to manually pan mono audio streams.

Parameters:
toLoop,: Whether to loop (restart) the audio when the end is reached.
Returns:
True if the source is playing, false if not.

Implements cAudio::IAudioSource.

Definition at line 122 of file cAudioSource.cpp.

bool cAudio::cAudioSource::play3d | ( | const cVector3 & | position,
 |  | const float & | soundstr = 1.0,
 |  | const bool & | toLoop = false |
 | ) |  |  | [virtual]

Plays the source in 3D mode.

Parameters:
position,: Position to start the sound off at.
soundstr,: Affects how the source attenuates due to distance. Higher values cause the source to stand out more over distance.
toLoop,: Whether to loop (restart) the audio when the end is reached.
Returns:
True if the source is playing, false if not.

Implements cAudio::IAudioSource.

Definition at line 132 of file cAudioSource.cpp.

void cAudio::cAudioSource::registerEventHandler ( ISourceEventHandler * handler ) [virtual]

Registers a new event handler to this source.

Parameters:
handler,: Pointer to the event handler to register.

Implements cAudio::IAudioSource.

Definition at line 771 of file cAudioSource.cpp.

void cAudio::cAudioSource::removeEffect ( unsigned int slot ) [virtual]

Removes an EFX audio effect from this sound source.

Parameters:
slot,: Slot of the effect to remove. Range: 0 to getNumEffectSlotsAvailable().

Implements cAudio::IAudioSource.

Definition at line 575 of file cAudioSource.cpp.

bool cAudio::cAudioSource::seek | ( | const float & | seconds,
 |  | bool | relative = false |
 | ) |  |  | [virtual]

Seeks through the audio stream to a specific spot.

Note: May not be supported by all codecs.

Parameters:
seconds,: Number of seconds to seek.
relative,: Whether to seek from the current position or the start of the stream.
Returns:
True on success, False if the codec does not support seeking.

Implements cAudio::IAudioSource.

Definition at line 172 of file cAudioSource.cpp.

void cAudio::cAudioSource::setDirection ( const cVector3 & direction ) [virtual]

Sets the direction the source is facing.

Parameters:
direction,: A 3D vector giving the direction that the source is aiming.

Implements cAudio::IAudioSource.

Definition at line 323 of file cAudioSource.cpp.

void cAudio::cAudioSource::setDopplerStrength ( const float & dstrength ) [virtual]

Sets the doppler strength, which enhances or diminishes the doppler effect. Can be used to exaggerate the doppler for a special effect.

Range: 0.0f to +inf (Default: 1.0f).

Parameters:
dstrength,: New strength for the doppler effect.

Implements cAudio::IAudioSource.

Definition at line 411 of file cAudioSource.cpp.

void cAudio::cAudioSource::setDopplerVelocity ( const cVector3 & dvelocity ) [virtual]

Overrides the doppler velocity vector. It is usually better to let the engine take care of it automatically.

Note: must be set every time you set the position, velocity, or direction.

Parameters:
dvelocity,: New doppler vector for the source.

Implements cAudio::IAudioSource.

Definition at line 418 of file cAudioSource.cpp.

void cAudio::cAudioSource::setInnerConeAngle ( const float & innerAngle ) [virtual]

Sets the angle of the inner sound cone of the source. The cone opens up in the direction of the source as set by setDirection().

Note: This causes the sound to be loudest only if the listener is inside this cone. Range: 0.0f to 360.0f (Default: 360.0f).

Parameters:
innerAngle,: Inside angle of the cone.

Implements cAudio::IAudioSource.

Definition at line 390 of file cAudioSource.cpp.

void cAudio::cAudioSource::setMaxDistance ( const float & maxDistance ) [virtual]

Sets the distance from the source where attenuation will stop.

Range: 0.0f to +inf

Parameters:
maxDistance,: Distance where attenuation will cease. Normally the farthest range you can hear the source.

Implements cAudio::IAudioSource.

Definition at line 355 of file cAudioSource.cpp.

void cAudio::cAudioSource::setMaxVolume ( const float & maxVolume ) [virtual]

Sets the maximum volume that the source can achieve.

Range: 0.0f to +inf (Default: 1.0f).

Parameters:
maxVolume,: New maximum volume of the source.

Implements cAudio::IAudioSource.

Definition at line 383 of file cAudioSource.cpp.

void cAudio::cAudioSource::setMinDistance ( const float & minDistance ) [virtual]

Sets the distance from the source where attenuation will begin.

Range: 0.0f to +inf

Parameters:
minDistance,: Distance from the source where attenuation begins.

Implements cAudio::IAudioSource.

Definition at line 348 of file cAudioSource.cpp.

void cAudio::cAudioSource::setMinVolume ( const float & minVolume ) [virtual]

Sets the minimum volume that the source can be attenuated to.

Range: 0.0f to +inf (Default: 0.0f).

Parameters:
minVolume,: New minimum volume of the source.

Implements cAudio::IAudioSource.

Definition at line 376 of file cAudioSource.cpp.

void cAudio::cAudioSource::setOuterConeAngle ( const float & outerAngle ) [virtual]

Sets the angle of the outer sound cone of the source. The cone opens up in the direction of the source as set by setDirection().

Note: If the listener is outside of this cone, the sound cannot be heard. Between the inner cone angle and this angle, the sound volume will fall off. Range: 0.0f to 360.0f (Default: 360.0f).

Parameters:
outerAngle,: Outside angle of the cone.

Implements cAudio::IAudioSource.

Definition at line 397 of file cAudioSource.cpp.

void cAudio::cAudioSource::setOuterConeVolume ( const float & outerVolume ) [virtual]

Sets how much the volume of the source is scaled in the outer cone.

Range: 0.0f to +inf (Default: 0.0f).

Parameters:
outerVolume,: Volume of the source in the outside cone.

Implements cAudio::IAudioSource.

Definition at line 404 of file cAudioSource.cpp.

void cAudio::cAudioSource::setPitch ( const float & pitch ) [virtual]

Sets the pitch of the source.

Range: 0.0f to +inf (Default: 1.0f)

Parameters:
pitch,: New pitch level. Note that higher values will speed up the playback of the sound.

Implements cAudio::IAudioSource.

Definition at line 362 of file cAudioSource.cpp.

void cAudio::cAudioSource::setPosition ( const cVector3 & position ) [virtual]

Sets the position of the source in 3D space.

Parameters:
position,: A 3D vector giving the new location to put this source.

Implements cAudio::IAudioSource.

Definition at line 309 of file cAudioSource.cpp.

void cAudio::cAudioSource::setRolloffFactor ( const float & rolloff ) [virtual]

Sets the factor used in attenuating the source over distance.

Larger values make it attenuate faster, smaller values make the source carry better. Range: 0.0f to +inf (Default: 1.0f).

Parameters:
rolloff,: The rolloff factor to apply to the attenuation calculation.

Implements cAudio::IAudioSource.

Definition at line 330 of file cAudioSource.cpp.

void cAudio::cAudioSource::setStrength ( const float & soundstrength ) [virtual]

Sets how well the source carries over distance.

Same as setRolloffFactor(1.0f/soundstrength). Range: 0.0f to +inf (Default: 1.0f).

Parameters:
soundstrength,: How well the sound carries over distance.

Implements cAudio::IAudioSource.

Definition at line 337 of file cAudioSource.cpp.

void cAudio::cAudioSource::setVelocity ( const cVector3 & velocity ) [virtual]

Sets the current velocity of the source for doppler effects.

Parameters:
velocity,: A 3D vector giving the speed and direction that the source is moving.

Implements cAudio::IAudioSource.

Definition at line 316 of file cAudioSource.cpp.

void cAudio::cAudioSource::setVolume ( const float & volume ) [virtual]

Sets the source volume before attenuation and other effects.

Range: 0.0f to +inf (Default: 1.0f).

Parameters:
volume,: New volume of the source.

Implements cAudio::IAudioSource.

Definition at line 369 of file cAudioSource.cpp.

void cAudio::cAudioSource::unRegisterEventHandler ( ISourceEventHandler * handler ) [virtual]

Removes a specified event handler from this source.

Parameters:
handler,: Pointer to the event handler to remove.

Implements cAudio::IAudioSource.

Definition at line 779 of file cAudioSource.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cAudioSource.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cAudioSource.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:37 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cAudioThread Class Reference

cAudio::cAudioThread

cAudio::cAudioThread Class Reference

List of all members.

Static Public Member Functions

static int | SpawnThread (unsigned __stdcall start_address(void *), void *arg)
static int | SpawnThread (void *start_address(void *), void *arg)

Detailed Description

Definition at line 19 of file cThread.h.

Member Function Documentation

int cAudio::cAudioThread::SpawnThread | ( | unsigned __stdcall | start_addressvoid *,
 |  | void * | arg |
 | ) |  |  | [static]
Parameters:
start_address | The function you want to call
arg | Any arguments to pass to the function
Returns:
0 if successful, otherwise an error

Definition at line 17 of file cThread.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cThread.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cThread.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cAudioVector< T > Struct Template Reference

cAudio::cAudioVector

cAudio::cAudioVector< T > Struct Template Reference

List of all members.

Public Types

typedef std::vector< T,
cSTLAllocator< T > > 		Type
typedef std::vector< T > Type

Detailed Description

template<typename T>
struct cAudio::cAudioVector< T >

Definition at line 121 of file cSTLAllocator.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cSTLAllocator.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cConsoleLogReceiver Class Reference

cAudio::cConsoleLogReceiver

cAudio::cConsoleLogReceiver Class Reference

Inherits cAudio::ILogReceiver.

Collaboration diagram for cAudio::cConsoleLogReceiver:
[legend]

List of all members.

Public Member Functions

virtual bool OnLogMessage (const char *sender, const char *message, LogLevel level, float time)
Called on every logged message that is greater than or equal to the minimum log level.

Detailed Description

Definition at line 15 of file cConsoleLogReceiver.h.

Member Function Documentation

bool cAudio::cConsoleLogReceiver::OnLogMessage | ( | const char * | sender,
 |  | const char * | message,
 |  | LogLevel | level,
 |  | float | time |
 | ) |  |  | [virtual]

Called on every logged message that is greater than or equal to the minimum log level.

Parameters:
sender,: The class/component sending the message.
message,: The log message itself.
level,: Log level of the message.
time,: Time in seconds that the message was sent. This time has millisecond accuracy.

Implements cAudio::ILogReceiver.

Definition at line 12 of file cConsoleLogReceiver.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cConsoleLogReceiver.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cConsoleLogReceiver.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:38 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cEffect Class Reference

cAudio::cEffect

cAudio::cEffect Class Reference

Inherits cAudio::IEffect, and cAudio::cMemoryOverride.

Collaboration diagram for cAudio::cEffect:
[legend]

List of all members.

Public Member Functions

cEffect (cEFXFunctions *oALFunctions)
virtual const EffectTypes & | getType () const
Returns the current type this effect object is set to.
virtual void | setType (const EffectTypes &type)
Sets the type of this effect object.
virtual const
sEAXReverbParameters & 		getEAXReverbParameters () const
Returns the current parameters for the EAX Reverb Effect.
virtual void | setEAXReverbParameters (const sEAXReverbParameters &param)
Sets the parameters for the EAX Reverb Effect.
virtual const sReverbParameters & | getReverbParameters () const
Returns the current parameters for the Reverb Effect.
virtual void | setReverbParameters (const sReverbParameters &param)
Sets the parameters for the Reverb Effect.
virtual const sChorusParameters & | getChorusParameters () const
Returns the current parameters for the Chorus Effect.
virtual void | setChorusParameters (const sChorusParameters &param)
Sets the parameters for the Chorus Effect.
virtual const
sDistortionParameters & 		getDistortionParameters () const
Returns the current parameters for the Distortion Effect.
virtual void | setDistortionParameters (const sDistortionParameters &param)
Sets the parameters for the Distortion Effect.
virtual const sEchoParameters & | getEchoParameters () const
Returns the current parameters for the Echo Effect.
virtual void | setEchoParameters (const sEchoParameters &param)
Sets the parameters for the Echo Effect.
virtual const sFlangerParameters & | getFlangerParameters () const
Returns the current parameters for the Flanger Effect.
virtual void | setFlangerParameters (const sFlangerParameters &param)
Sets the parameters for the Flanger Effect.
virtual const
sFrequencyShiftParameters & 		getFrequencyShiftParameters () const
Returns the current parameters for the Frequency Shift Effect.
virtual void | setFrequencyShiftParameters (const sFrequencyShiftParameters &param)
Sets the parameters for the Frequency Shift Effect.
virtual const
sVocalMorpherParameters & 		getVocalMorpherParameters () const
Returns the current parameters for the Vocal Morpher Effect.
virtual void | setVocalMorpherParameters (const sVocalMorpherParameters &param)
Sets the parameters for the Vocal Morpher Effect.
virtual const
sPitchShifterParameters & 		getPitchShifterParameters () const
Returns the current parameters for the Pitch Shifter Effect.
virtual void | setPitchShifterParameters (const sPitchShifterParameters &param)
Sets the parameters for the Pitch Shifter Effect.
virtual const
sRingModulatorParameters & 		getRingModulatorParameters () const
Returns the current parameters for the Ring Modulator Effect.
virtual void | setRingModulatorParameters (const sRingModulatorParameters &param)
Sets the parameters for the Ring Modulator Effect.
virtual const sAutowahParameters & | getAutowahParameters () const
Returns the current parameters for the Autowah Effect.
virtual void | setAutowahParameters (const sAutowahParameters &param)
Sets the parameters for the Autowah Effect.
virtual const
sCompressorParameters & 		getCompressorParameters () const
Returns the current parameters for the Compressor Effect.
virtual void | setCompressorParameters (const sCompressorParameters &param)
Sets the parameters for the Compressor Effect.
virtual const
sEqualizerParameters & 		getEqualizerParameters () const
Returns the current parameters for the Equalizer Effect.
virtual void | setEqualizerParameters (const sEqualizerParameters &param)
Sets the parameters for the Equalizer Effect.
virtual float | getMasterVolume () const
Returns the master volume for this effect.
virtual void | setMasterVolume (const float &volume)
Sets the master volume for this effect.
virtual bool | isIgnoringAttenuation () const
Returns if the effect for each attached source is attenuated by distance.
virtual void | ignoreAttenuation (const bool &ignore)
Sets whether the effect for each attached source is attenuated by distance.
virtual IFilter * | getFilter () const
Returns the attached filter to this audio effect.
virtual void | attachFilter (IFilter *filter)
Attaches a filter to this effect.
virtual void | removeFilter ()
Removes the currently attached filter.
virtual unsigned int | getLastUpdated () const
Returns a timestamp indicating the last time settings on this effect were changed. Used internally by the engine to update attached sources.
virtual bool | isValid () const
Returns if this effect is ready to be used or if it has encountered a fatal error.
ALuint | getOpenALEffect () const
ALuint | getOpenALEffectSlot () const

Detailed Description

Definition at line 20 of file cEffect.h.

Member Function Documentation

void cAudio::cEffect::attachFilter ( IFilter * filter ) [virtual]

Attaches a filter to this effect.

Parameters:
filter,: A Pointer to the filter to attach.

Implements cAudio::IEffect.

Definition at line 279 of file cEffect.cpp.

float cAudio::cEffect::getMasterVolume ( ) const [virtual]

Returns the master volume for this effect.

This volume scales the amount of effect audible from all attached sources.

Returns:
Currently set volume.

Implements cAudio::IEffect.

Definition at line 250 of file cEffect.cpp.

void cAudio::cEffect::ignoreAttenuation ( const bool & ignore ) [virtual]

Sets whether the effect for each attached source is attenuated by distance.

If set to true, can cause some interesting and non-realistic effects, so be careful with it.

Parameters:
ignore,: Whether to ignore attenuation.

Implements cAudio::IEffect.

Definition at line 267 of file cEffect.cpp.

void cAudio::cEffect::setAutowahParameters ( const sAutowahParameters & param ) [virtual]

Sets the parameters for the Autowah Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implements cAudio::IEffect.

Definition at line 219 of file cEffect.cpp.

void cAudio::cEffect::setChorusParameters ( const sChorusParameters & param ) [virtual]

Sets the parameters for the Chorus Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implements cAudio::IEffect.

Definition at line 123 of file cEffect.cpp.

void cAudio::cEffect::setCompressorParameters ( const sCompressorParameters & param ) [virtual]

Sets the parameters for the Compressor Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implements cAudio::IEffect.

Definition at line 231 of file cEffect.cpp.

void cAudio::cEffect::setDistortionParameters ( const sDistortionParameters & param ) [virtual]

Sets the parameters for the Distortion Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implements cAudio::IEffect.

Definition at line 135 of file cEffect.cpp.

void cAudio::cEffect::setEAXReverbParameters ( const sEAXReverbParameters & param ) [virtual]

Sets the parameters for the EAX Reverb Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implements cAudio::IEffect.

Definition at line 99 of file cEffect.cpp.

void cAudio::cEffect::setEchoParameters ( const sEchoParameters & param ) [virtual]

Sets the parameters for the Echo Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implements cAudio::IEffect.

Definition at line 147 of file cEffect.cpp.

void cAudio::cEffect::setEqualizerParameters ( const sEqualizerParameters & param ) [virtual]

Sets the parameters for the Equalizer Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implements cAudio::IEffect.

Definition at line 243 of file cEffect.cpp.

void cAudio::cEffect::setFlangerParameters ( const sFlangerParameters & param ) [virtual]

Sets the parameters for the Flanger Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implements cAudio::IEffect.

Definition at line 159 of file cEffect.cpp.

void cAudio::cEffect::setFrequencyShiftParameters ( const sFrequencyShiftParameters & param ) [virtual]

Sets the parameters for the Frequency Shift Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implements cAudio::IEffect.

Definition at line 171 of file cEffect.cpp.

void cAudio::cEffect::setMasterVolume ( const float & volume ) [virtual]

Sets the master volume for this effect.

This volume scales the amount of effect audible from all attached sources.

Parameters:
volume,: Volume to set the master volume to. 1.0f equal no volume change. Range: 0.0f to 1.0.

Implements cAudio::IEffect.

Definition at line 255 of file cEffect.cpp.

void cAudio::cEffect::setPitchShifterParameters ( const sPitchShifterParameters & param ) [virtual]

Sets the parameters for the Pitch Shifter Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implements cAudio::IEffect.

Definition at line 195 of file cEffect.cpp.

void cAudio::cEffect::setReverbParameters ( const sReverbParameters & param ) [virtual]

Sets the parameters for the Reverb Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implements cAudio::IEffect.

Definition at line 111 of file cEffect.cpp.

void cAudio::cEffect::setRingModulatorParameters ( const sRingModulatorParameters & param ) [virtual]

Sets the parameters for the Ring Modulator Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implements cAudio::IEffect.

Definition at line 207 of file cEffect.cpp.

void cAudio::cEffect::setType ( const EffectTypes & type ) [virtual]

Sets the type of this effect object.

Parameters:
type,: Type of effect to switch to.

Implements cAudio::IEffect.

Definition at line 87 of file cEffect.cpp.

void cAudio::cEffect::setVocalMorpherParameters ( const sVocalMorpherParameters & param ) [virtual]

Sets the parameters for the Vocal Morpher Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implements cAudio::IEffect.

Definition at line 183 of file cEffect.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cEffect.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cEffect.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:38 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cEFXFunctions Struct Reference

cAudio::cEFXFunctions

cAudio::cEFXFunctions Struct Reference

EFX Extension function pointers and setup. More...

#include <cEFXFunctions.h>

Collaboration diagram for cAudio::cEFXFunctions:
[legend]

List of all members.

Public Member Functions

cEFXFunctions::cEFXFunctions ()
bool | CheckEFXSupport (ALCdevice *device)

Public Attributes

LPALGENEFFECTS | alGenEffects
LPALDELETEEFFECTS | alDeleteEffects
LPALISEFFECT | alIsEffect
LPALEFFECTI | alEffecti
LPALEFFECTIV | alEffectiv
LPALEFFECTF | alEffectf
LPALEFFECTFV | alEffectfv
LPALGETEFFECTI | alGetEffecti
LPALGETEFFECTIV | alGetEffectiv
LPALGETEFFECTF | alGetEffectf
LPALGETEFFECTFV | alGetEffectfv
LPALGENFILTERS | alGenFilters
LPALDELETEFILTERS | alDeleteFilters
LPALISFILTER | alIsFilter
LPALFILTERI | alFilteri
LPALFILTERIV | alFilteriv
LPALFILTERF | alFilterf
LPALFILTERFV | alFilterfv
LPALGETFILTERI | alGetFilteri
LPALGETFILTERIV | alGetFilteriv
LPALGETFILTERF | alGetFilterf
LPALGETFILTERFV | alGetFilterfv
LPALGENAUXILIARYEFFECTSLOTS | alGenAuxiliaryEffectSlots
LPALDELETEAUXILIARYEFFECTSLOTS | alDeleteAuxiliaryEffectSlots
LPALISAUXILIARYEFFECTSLOT | alIsAuxiliaryEffectSlot
LPALAUXILIARYEFFECTSLOTI | alAuxiliaryEffectSloti
LPALAUXILIARYEFFECTSLOTIV | alAuxiliaryEffectSlotiv
LPALAUXILIARYEFFECTSLOTF | alAuxiliaryEffectSlotf
LPALAUXILIARYEFFECTSLOTFV | alAuxiliaryEffectSlotfv
LPALGETAUXILIARYEFFECTSLOTI | alGetAuxiliaryEffectSloti
LPALGETAUXILIARYEFFECTSLOTIV | alGetAuxiliaryEffectSlotiv
LPALGETAUXILIARYEFFECTSLOTF | alGetAuxiliaryEffectSlotf
LPALGETAUXILIARYEFFECTSLOTFV | alGetAuxiliaryEffectSlotfv
cAudioMutex | Mutex
bool | Supported

Detailed Description

EFX Extension function pointers and setup.

Definition at line 49 of file cEFXFunctions.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cEFXFunctions.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:39 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cFileLogReceiver Class Reference

cAudio::cFileLogReceiver

cAudio::cFileLogReceiver Class Reference

Inherits cAudio::ILogReceiver.

Collaboration diagram for cAudio::cFileLogReceiver:
[legend]

List of all members.

Public Member Functions

bool OnLogMessage (const char *sender, const char *message, LogLevel level, float time)
Called on every logged message that is greater than or equal to the minimum log level.

Detailed Description

Definition at line 15 of file cFileLogReceiver.h.

Member Function Documentation

bool cAudio::cFileLogReceiver::OnLogMessage | ( | const char * | sender,
 |  | const char * | message,
 |  | LogLevel | level,
 |  | float | time |
 | ) |  |  | [virtual]

Called on every logged message that is greater than or equal to the minimum log level.

Parameters:
sender,: The class/component sending the message.
message,: The log message itself.
level,: Log level of the message.
time,: Time in seconds that the message was sent. This time has millisecond accuracy.

Implements cAudio::ILogReceiver.

Definition at line 23 of file cFileLogReceiver.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cFileLogReceiver.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cFileLogReceiver.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:39 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cFileSource Class Reference

cAudio::cFileSource

cAudio::cFileSource Class Reference

Inherits cAudio::IDataSource, and cAudio::cMemoryOverride.

Collaboration diagram for cAudio::cFileSource:
[legend]

List of all members.

Public Member Functions

cFileSource (const char *filename)
virtual bool | isValid ()
Returns whether the source is valid.
virtual int | getCurrentPos ()
Returns the current location in the data stream.
virtual int | getSize ()
Returns the total size of the data stream.
virtual int | read (void *output, int size)
Reads out a section of the data stream.
virtual bool | seek (int amount, bool relative)
Seek to a position in the data stream.

Protected Attributes

bool | Valid
Holds if valid.
int | Filesize
Holds file size.
FILE * | pFile
File stream.

Detailed Description

Definition at line 19 of file cFileSource.h.

Member Function Documentation

bool cAudio::cFileSource::isValid ( ) [virtual]

Returns whether the source is valid.

Returns:
Returns false in case of an error, like the file couldn't be found.

Implements cAudio::IDataSource.

Definition at line 39 of file cFileSource.cpp.

int cAudio::cFileSource::read | ( | void * | output,
 |  | int | size |
 | ) |  |  | [virtual]

Reads out a section of the data stream.

Parameters:
output,: Pointer to a location to put the read data.
size,: Size in bytes of the data to read.
Returns:
Number of bytes actually read. 0 bytes may indicate end of file or stream.

Implements cAudio::IDataSource.

Definition at line 54 of file cFileSource.cpp.

bool cAudio::cFileSource::seek | ( | int | amount,
 |  | bool | relative |
 | ) |  |  | [virtual]

Seek to a position in the data stream.

Parameters:
amount,: Amount in bytes to seek to.
relative,: If true the number of bytes in amount is relative to the current position in the stream.
Returns:
True if seek was successful, false if not.

Implements cAudio::IDataSource.

Definition at line 59 of file cFileSource.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cFileSource.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cFileSource.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:39 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cFileSourceFactory Class Reference

cAudio::cFileSourceFactory

cAudio::cFileSourceFactory Class Reference

Inherits cAudio::IDataSourceFactory.

Collaboration diagram for cAudio::cFileSourceFactory:
[legend]

List of all members.

Public Member Functions

virtual IDataSource * | CreateDataSource (const char *filename, bool streamingRequested)
Creates a data source instance for use with the engine.

Protected Attributes

cAudioMutex | Mutex

Detailed Description

Definition at line 18 of file cFileSourceFactory.h.

Member Function Documentation

virtual IDataSource* cAudio::cFileSourceFactory::CreateDataSource | ( | const char * | filename,
 |  | bool | streamingRequested |
 | ) |  |  | [inline, virtual]

Creates a data source instance for use with the engine.

Parameters:
filename,: Filename of the file to get a stream for.
streamingRequested,: True if the user requested streaming capabilities from the data source.
Returns:
A pointer to a data source instance or NULL on failure to allocate.

Implements cAudio::IDataSourceFactory.

Definition at line 24 of file cFileSourceFactory.h.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cFileSourceFactory.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:39 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cFilter Class Reference

cAudio::cFilter

cAudio::cFilter Class Reference

Inherits cAudio::IFilter, and cAudio::cMemoryOverride.

Collaboration diagram for cAudio::cFilter:
[legend]

List of all members.

Public Member Functions

cFilter (cEFXFunctions *oALFunctions)
virtual const FilterTypes & | getType () const
Returns the type of the filter.
virtual void | setType (const FilterTypes &type)
Sets the type of this filter.
virtual float | getVolume () const
Returns the master volume of this filter.
virtual void | setVolume (const float &volume)
Sets the master volume of this filter.
virtual float | getLowFrequencyVolume () const
Returns the volume for low frequencies.
virtual void | setLowFrequencyVolume (const float &volumeLF)
Sets the volume for low frequencies.
virtual float | getHighFrequencyVolume () const
Returns the volume for high frequencies.
virtual void | setHighFrequencyVolume (const float &volumeHF)
Sets the volume for high frequencies.
virtual unsigned int | getLastUpdated () const
Returns a timestamp indicating the last time settings on this filter were changed. Used internally by the engine to update attached sources or effects.
virtual bool | isValid () const
Returns if this filter is ready to be used or if it has encountered a fatal error.
ALuint | getOpenALFilter () const

Protected Member Functions

bool | UpdateFilter ()
bool | CheckError ()
ALenum | ConvertFilterEnum (FilterTypes type)

Protected Attributes

cEFXFunctions * | EFX
cAudioMutex | Mutex
FilterTypes | Type
float | Volume
float | LowFreqVolume
float | HighFreqVolume
unsigned int | LastUpdated
bool | Valid
ALuint | Filter

Detailed Description

Definition at line 20 of file cFilter.h.

Member Function Documentation

void cAudio::cFilter::setHighFrequencyVolume ( const float & volumeHF ) [virtual]

Sets the volume for high frequencies.

This volume scales higher frequency audio that goes through it by this amount.

Parameters:
volume,: New volume amount. Range: 0.0f to 1.0.

Implements cAudio::IFilter.

Definition at line 82 of file cFilter.cpp.

void cAudio::cFilter::setLowFrequencyVolume ( const float & volumeLF ) [virtual]

Sets the volume for low frequencies.

This volume scales lower frequency audio that goes through it by this amount.

Parameters:
volume,: New volume amount. Range: 0.0f to 1.0.

Implements cAudio::IFilter.

Definition at line 70 of file cFilter.cpp.

void cAudio::cFilter::setType ( const FilterTypes & type ) [virtual]

Sets the type of this filter.

Parameters:
type,: Type of filter to set this filter up as.

Implements cAudio::IFilter.

Definition at line 46 of file cFilter.cpp.

void cAudio::cFilter::setVolume ( const float & volume ) [virtual]

Sets the master volume of this filter.

This volume scales all audio that goes through it by this amount.

Parameters:
volume,: New volume amount. Range: 0.0f to 1.0.

Implements cAudio::IFilter.

Definition at line 58 of file cFilter.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cFilter.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cFilter.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:40 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cListener Class Reference

cAudio::cListener

cAudio::cListener Class Reference

Inherits cAudio::IListener.

Collaboration diagram for cAudio::cListener:
[legend]

List of all members.

Public Member Functions

virtual void | setPosition (const cVector3 &pos)
Sets the position of the listener.
virtual void | setDirection (const cVector3 &dir)
Sets the direction the listener is facing.
virtual void | setUpVector (const cVector3 &up)
Sets the up vector to use for the listener.
virtual void | setVelocity (const cVector3 &vel)
Sets the current velocity of the listener for doppler effects.
virtual void | setMasterVolume (const float &volume)
Sets the global volume modifier (will effect all sources).
virtual void | move (const cVector3 &pos)
Convenience function to automatically set the velocity and position for you in a single call.
virtual cVector3 | getPosition (void) const
Returns the current position of the listener.
virtual cVector3 | getDirection (void) const
Returns the current direction of the listener.
virtual cVector3 | getUpVector (void) const
Returns the current up vector of the listener.
virtual cVector3 | getVelocity (void) const
Returns the current velocity of the listener.
virtual float | getMasterVolume (void) const
Returns the global volume modifier for all sources.
virtual void | setMetersPerUnit (const float &meters)
Sets the meters per user world unit for use with sound effects.
virtual float | getMetersPerUnit (void) const
Returns the meters per user world unit for use with sound effects.

Protected Attributes

cAudioMutex | Mutex
cVector3 | Position
cVector3 | Direction
cVector3 | UpVector
cVector3 | Velocity
float | MasterGain

Detailed Description

Definition at line 13 of file cListener.h.

Member Function Documentation

void cAudio::cListener::move ( const cVector3 & pos ) [virtual]

Convenience function to automatically set the velocity and position for you in a single call.

Velocity will be set to new position - last position

Parameters:
pos,: New position to move the listener to.

Implements cAudio::IListener.

Definition at line 43 of file cListener.cpp.

void cAudio::cListener::setDirection ( const cVector3 & dir ) [virtual]

Sets the direction the listener is facing.

Parameters:
dir,: New direction vector for the listener.

Implements cAudio::IListener.

Definition at line 17 of file cListener.cpp.

void cAudio::cListener::setMasterVolume ( const float & volume ) [virtual]

Sets the global volume modifier (will effect all sources).

Parameters:
volume,: Volume to scale all sources by. Range: 0.0 to +inf.

Implements cAudio::IListener.

Definition at line 37 of file cListener.cpp.

void cAudio::cListener::setMetersPerUnit ( const float & meters ) [virtual]

Sets the meters per user world unit for use with sound effects.

Parameters:
meters,: Number of meters per world unit in your simulation.

Implements cAudio::IListener.

Definition at line 53 of file cListener.cpp.

void cAudio::cListener::setPosition ( const cVector3 & pos ) [virtual]

Sets the position of the listener.

Note that you will still have to set velocity after this call for proper doppler effects. Use move() if you'd like to have cAudio automatically handle velocity for you.

Parameters:
pos,: New position for the listener.

Implements cAudio::IListener.

Definition at line 11 of file cListener.cpp.

void cAudio::cListener::setUpVector ( const cVector3 & up ) [virtual]

Sets the up vector to use for the listener.

Default up vector is Y+, same as OpenGL.

Parameters:
up,: New up vector for the listener.

Implements cAudio::IListener.

Definition at line 24 of file cListener.cpp.

void cAudio::cListener::setVelocity ( const cVector3 & vel ) [virtual]

Sets the current velocity of the listener for doppler effects.

Parameters:
vel,: New velocity for the listener.

Implements cAudio::IListener.

Definition at line 31 of file cListener.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cListener.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cListener.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:40 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cLogger Class Reference

cAudio::cLogger

cAudio::cLogger Class Reference

Inherits cAudio::ILogger.

Collaboration diagram for cAudio::cLogger:
[legend]

List of all members.

Public Member Functions

virtual void | logCritical (const char *sender, const char *msg,...)
Used to log a critical error message to the logging system.
virtual void | logError (const char *sender, const char *msg,...)
Used to log an error message to the logging system.
virtual void | logWarning (const char *sender, const char *msg,...)
Used to log a warning to the logging system.
virtual void | logInfo (const char *sender, const char *msg,...)
Used to log an informational message to the logging system.
virtual void | logDebug (const char *sender, const char *msg,...)
Used to log a debug message to the logging system.
virtual const LogLevel & | getLogLevel () const
Returns the minimum log level that will be sent to the log receivers.
virtual void | setLogLevel (const LogLevel &logLevel)
Sets the minimum log level that the engine will send to log receivers.
virtual bool | registerLogReceiver (ILogReceiver *receiver, const char *name)
Register Log Receiver.
virtual void | unRegisterLogReceiver (const char *name)
Unregister a Log Receiver.
virtual bool | isLogReceiverRegistered (const char *name)
Returns whether an log receiver is currently registered.
virtual ILogReceiver * | getLogReceiver (const char *name)
Returns a registered log receiver.

Protected Types

typedef cAudioMap
< cAudioString, ILogReceiver * >
::Type::iterator 		ReceiversIterator

Protected Member Functions

void | broadcastMessage (LogLevel level, const char *sender, const char *msg, va_list args)

Protected Attributes

cAudioMutex | Mutex
unsigned long | StartTime
char | TempTextBuf [2048]
LogLevel | MinLogLevel
cAudioMap< cAudioString,
ILogReceiver * >::Type 		Receivers

Detailed Description

Definition at line 16 of file cLogger.h.

Member Function Documentation

ILogReceiver * cAudio::cLogger::getLogReceiver ( const char * name ) [virtual]

Returns a registered log receiver.

Parameters:
name,: Name of the log receiver to return.
Returns:
Pointer to the found log receiver or NULL if it could not be found.

Implements cAudio::ILogger.

Definition at line 137 of file cLogger.cpp.

bool cAudio::cLogger::isLogReceiverRegistered ( const char * name ) [virtual]

Returns whether an log receiver is currently registered.

Parameters:
name,: Name of the log receiver to check for.

Implements cAudio::ILogger.

Definition at line 127 of file cLogger.cpp.

void cAudio::cLogger::logCritical | ( | const char * | sender,
 |  | const char * | msg,
 |  |  | ... |
 | ) |  |  | [virtual]

Used to log a critical error message to the logging system.

Parameters:
sender,: Name of the class/component sending the message.
msg,: The message to send.

Implements cAudio::ILogger.

Definition at line 29 of file cLogger.cpp.

void cAudio::cLogger::logDebug | ( | const char * | sender,
 |  | const char * | msg,
 |  |  | ... |
 | ) |  |  | [virtual]

Used to log a debug message to the logging system.

Parameters:
sender,: Name of the class/component sending the message.
msg,: The message to send.

Implements cAudio::ILogger.

Definition at line 77 of file cLogger.cpp.

void cAudio::cLogger::logError | ( | const char * | sender,
 |  | const char * | msg,
 |  |  | ... |
 | ) |  |  | [virtual]

Used to log an error message to the logging system.

Parameters:
sender,: Name of the class/component sending the message.
msg,: The message to send.

Implements cAudio::ILogger.

Definition at line 41 of file cLogger.cpp.

void cAudio::cLogger::logInfo | ( | const char * | sender,
 |  | const char * | msg,
 |  |  | ... |
 | ) |  |  | [virtual]

Used to log an informational message to the logging system.

Parameters:
sender,: Name of the class/component sending the message.
msg,: The message to send.

Implements cAudio::ILogger.

Definition at line 65 of file cLogger.cpp.

void cAudio::cLogger::logWarning | ( | const char * | sender,
 |  | const char * | msg,
 |  |  | ... |
 | ) |  |  | [virtual]

Used to log a warning to the logging system.

Parameters:
sender,: Name of the class/component sending the message.
msg,: The message to send.

Implements cAudio::ILogger.

Definition at line 53 of file cLogger.cpp.

bool cAudio::cLogger::registerLogReceiver | ( | ILogReceiver * | receiver,
 |  | const char * | name |
 | ) |  |  | [virtual]

Register Log Receiver.

Note: Any class registered will become owned by the internal thread. If threading is enabled, you MUST make the receiver threadsafe if you plan to access it in your application while it is registered.

Parameters:
receiver,: Pointer to your implementation of ILogReceiver.
name,: Name of the log receiver.
Returns:
True on success, False on failure.

Implements cAudio::ILogger.

Definition at line 106 of file cLogger.cpp.

void cAudio::cLogger::setLogLevel ( const LogLevel & logLevel ) [virtual]

Sets the minimum log level that the engine will send to log receivers.

Primarily used to prevent too much verbose information from being sent to disk/console.

Parameters:
logLevel,: LogLevel to set as the new minimum. Anything equal to or greater than this level will be logged.

Implements cAudio::ILogger.

Definition at line 89 of file cLogger.cpp.

void cAudio::cLogger::unRegisterLogReceiver ( const char * name ) [virtual]

Unregister a Log Receiver.

Will NOT delete any user added receiver, you must do that yourself.

Parameters:
name,: Name of the log receiver to remove.

Implements cAudio::ILogger.

Definition at line 115 of file cLogger.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cLogger.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cLogger.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:40 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cMemoryOverride Class Reference

cAudio::cMemoryOverride

cAudio::cMemoryOverride Class Reference

Overrides the memory allocations for classes derived from it and makes them use the cAudio memory system. More...

#include <cMemoryOverride.h>

Inherited by cAudio::cAudioCapture, cAudio::cAudioManager, cAudio::cAudioSource, cAudio::cEffect, cAudio::cFileSource, cAudio::cFilter, cAudio::cMemorySource, cAudio::cOggDecoder, cAudio::cRawDecoder, and cAudio::cWavDecoder.

List of all members.

Public Member Functions

void * | operator new (size_t size, const char *file, int line, const char *function)
void * | operator new (size_t size)
void * | operator new (size_t size, void *pointer)
void * | operator new[] (size_t size, const char *file, int line, const char *function)
void * | operator new[] (size_t size)
void | operator delete (void *pointer)
void | operator delete (void *pointer, void *)
void | operator delete (void *pointer, const char *, int, const char *)
void | operator delete[] (void *pointer)
void | operator delete[] (void *pointer, const char *, int, const char *)

Detailed Description

Overrides the memory allocations for classes derived from it and makes them use the cAudio memory system.

Definition at line 10 of file cMemoryOverride.h.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cMemoryOverride.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:40 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cMemorySource Class Reference

cAudio::cMemorySource

cAudio::cMemorySource Class Reference

Class used to read from a memory buffer. More...

#include <cMemorySource.h>

Inherits cAudio::IDataSource, and cAudio::cMemoryOverride.

Collaboration diagram for cAudio::cMemorySource:
[legend]

List of all members.

Public Member Functions

cMemorySource (const void *data, int size, bool copy)
virtual bool | isValid ()
Returns whether the source is valid.
virtual int | getCurrentPos ()
Returns the current location in the data stream.
virtual int | getSize ()
Returns the total size of the data stream.
virtual int | read (void *output, int size)
Reads out a section of the data stream.
virtual bool | seek (int amount, bool relative)
Seek to a position in the data stream.

Protected Attributes

char * | Data
int | Size
bool | Valid
int | Pos

Detailed Description

Class used to read from a memory buffer.

Definition at line 15 of file cMemorySource.h.

Constructor & Destructor Documentation

cAudio::cMemorySource::cMemorySource | ( | const void * | data,
 |  | int | size,
 |  | bool | copy
 | ) |  |

Default Constructor

Parameters:
data,: Pointer to a data buffer to use.
size,: Size of the target buffer.
copy,: Whether to copy the buffer or use the provided pointer. On destruct, that pointer will be deleted unless copy is true.

Definition at line 12 of file cMemorySource.cpp.

Member Function Documentation

bool cAudio::cMemorySource::isValid ( ) [virtual]

Returns whether the source is valid.

Returns:
Returns false in case of an error, like the file couldn't be found.

Implements cAudio::IDataSource.

Definition at line 37 of file cMemorySource.cpp.

int cAudio::cMemorySource::read | ( | void * | output,
 |  | int | size |
 | ) |  |  | [virtual]

Reads out a section of the data stream.

Parameters:
output,: Pointer to a location to put the read data.
size,: Size in bytes of the data to read.
Returns:
Number of bytes actually read. 0 bytes may indicate end of file or stream.

Implements cAudio::IDataSource.

Definition at line 52 of file cMemorySource.cpp.

bool cAudio::cMemorySource::seek | ( | int | amount,
 |  | bool | relative |
 | ) |  |  | [virtual]

Seek to a position in the data stream.

Parameters:
amount,: Amount in bytes to seek to.
relative,: If true the number of bytes in amount is relative to the current position in the stream.
Returns:
True if seek was successful, false if not.

Implements cAudio::IDataSource.

Definition at line 72 of file cMemorySource.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cMemorySource.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cMemorySource.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:40 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cMemoryTracker Class Reference

cAudio::cMemoryTracker

cAudio::cMemoryTracker Class Reference

Tracks all allocations that go through cAudio's memory system and keeps statistics on it. More...

#include <cMemoryTracker.h>

Collaboration diagram for cAudio::cMemoryTracker:
[legend]

List of all members.

Classes

struct | cTrackedMemoryBlock
struct | Statistics

Public Member Functions

void | AddAllocation (void *pointer, size_t size, const char *filename, int line, const char *function)
Adds an allocation to be tracked.
void | RemoveAllocation (void *pointer)
Removes a previously tracked allocation (for when it has been deallocated).

Static Public Member Functions

static cMemoryTracker * | Instance ()

Detailed Description

Tracks all allocations that go through cAudio's memory system and keeps statistics on it.

Definition at line 16 of file cMemoryTracker.h.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cMemoryTracker.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cMemoryTracker.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:41 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cOggAudioDecoderFactory Class Reference

cAudio::cOggAudioDecoderFactory

cAudio::cOggAudioDecoderFactory Class Reference

Inherits cAudio::IAudioDecoderFactory.

Collaboration diagram for cAudio::cOggAudioDecoderFactory:
[legend]

List of all members.

Public Member Functions

IAudioDecoder * | CreateAudioDecoder (IDataSource *stream)
Returns an audio decoder.

Protected Attributes

cAudioMutex | Mutex

Detailed Description

Definition at line 17 of file cOggAudioDecoderFactory.h.

Member Function Documentation

IAudioDecoder* cAudio::cOggAudioDecoderFactory::CreateAudioDecoder ( IDataSource * stream ) [inline, virtual]

Returns an audio decoder.

Parameters:
stream,: Data Source to attach to this decoder.
Returns:
A pointer to a decoder instance, or NULL on failure to allocate.

Implements cAudio::IAudioDecoderFactory.

Definition at line 23 of file cOggAudioDecoderFactory.h.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cOggAudioDecoderFactory.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:41 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cOggDecoder Class Reference

cAudio::cOggDecoder

cAudio::cOggDecoder Class Reference

Inherits cAudio::IAudioDecoder, and cAudio::cMemoryOverride.

Collaboration diagram for cAudio::cOggDecoder:
[legend]

List of all members.

Public Member Functions

cOggDecoder (IDataSource *stream)
virtual AudioFormats | getFormat ()
Returns the format of the audio data.
virtual int | getFrequency ()
Returns the frequency (sample rate) of the audio data.
virtual bool | isSeekingSupported ()
Returns whether seeking is supported.
virtual bool | isValid ()
Returns whether the stream is valid for this codec.
virtual int | readAudioData (void *output, int amount)
Reads a section of data out of the audio stream.
virtual bool | setPosition (int position, bool relative)
Sets the position in the stream to read from.
virtual bool | seek (float seconds, bool relative)
If seeking is supported, will seek the stream to seconds.
virtual float | getTotalTime ()
If seeking is supported, will return the length of the audio steam in seconds. Returns a negative number if the total time cannot be determined.
virtual int | getTotalSize ()
If available, returns the total decoded size of the audio stream. Returns a negative number if this cannot be determined.
virtual int | getCompressedSize ()
Returns the compressed (original) size of the audio stream, before decoding.
virtual float | getCurrentTime ()
If seeking is supported, will return the current position in the stream in seconds. Returns a negative number if the current time cannot be determined.
virtual int | getCurrentPosition ()
If available, returns the current position in the decoded audio stream in bytes. Returns a negative number if this cannot be determined.
virtual int | getCurrentCompressedPosition ()
Returns the position in the compressed (original) audio stream before decoding.

Protected Attributes

ov_callbacks | vorbisCallbacks
Callbacks used for read memory.
vorbis_info * | vorbisInfo
Format information.
vorbis_comment * | vorbisComment
User Comments.
OggVorbis_File | oggStream
Stream handle.
bool | Valid

Detailed Description

Definition at line 21 of file cOggDecoder.h.

Member Function Documentation

int cAudio::cOggDecoder::readAudioData | ( | void * | output,
 |  | int | amount |
 | ) |  |  | [virtual]

Reads a section of data out of the audio stream.

Parameters:
output,: Pointer to the buffer to put the decoded audio.
amount,: Amount of data in bytes to ask the decoder to output.
Returns:
Number of bytes of audio data actually output.

Implements cAudio::IAudioDecoder.

Definition at line 109 of file cOggDecoder.cpp.

bool cAudio::cOggDecoder::seek | ( | float | seconds,
 |  | bool | relative |
 | ) |  |  | [virtual]

If seeking is supported, will seek the stream to seconds.

Parameters:
seconds,: Time in seconds to seek.
relative,: Whether the number in position is relative to the current position.
Returns:
True on success, False on failure.

Implements cAudio::IAudioDecoder.

Definition at line 133 of file cOggDecoder.cpp.

bool cAudio::cOggDecoder::setPosition | ( | int | position,
 |  | bool | relative |
 | ) |  |  | [virtual]

Sets the position in the stream to read from.

Parameters:
position,: Position to seek to.
relative,: Whether the number in position is relative to the current position.
Returns:
True on success, False on failure.

Implements cAudio::IAudioDecoder.

Definition at line 121 of file cOggDecoder.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cOggDecoder.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cOggDecoder.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:42 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cPluginManager Class Reference

cAudio::cPluginManager

cAudio::cPluginManager Class Reference

Inherits cAudio::IPluginManager.

Collaboration diagram for cAudio::cPluginManager:
[legend]

List of all members.

Public Member Functions

virtual bool | installPlugin (IAudioPlugin *plugin, const char *name)
Installs a plugin using a statically linked plugin implementation.
virtual bool | installPlugin (const char *filename, const char *name)
Installs a plugin from a dynamically linked library on your hard drive.
virtual bool | checkForPlugin (const char *name)
Checks for the existance of a plugin with the supplied name.
virtual IAudioPlugin * | getPlugin (const char *name)
Returns a plugin interface for a plugin with the supplied name.
virtual unsigned int | getPluginCount ()
Returns the total number of installed plugins.
cAudioVector< IAudioPlugin * >
::Type 		getPluginList ()
virtual void | uninstallPlugin (IAudioPlugin *plugin)
Removes a plugin installed via statically linked reference.
virtual void | uninstallPlugin (const char *name)
Removes a plugin with the specified name.
void | autoLoadPlugins ()

Static Public Member Functions

static cPluginManager * | Instance ()

Protected Types

typedef cAudioMap
< cAudioString, IAudioPlugin * >
::Type::iterator 		RegisteredPluginsIterator
typedef cAudioMap
< IAudioPlugin
*, DYNLIB_HANDLE >
::Type::iterator 		DynamicallyLoadedPluginsIterator

Protected Attributes

cAudioMap< cAudioString,
IAudioPlugin * >::Type 		RegisteredPlugins
cAudioMap< IAudioPlugin
*, DYNLIB_HANDLE >::Type 		DynamicallyLoadedPlugins

Detailed Description

Definition at line 46 of file cPluginManager.h.

Member Function Documentation

bool cAudio::cPluginManager::checkForPlugin ( const char * name ) [virtual]

Checks for the existance of a plugin with the supplied name.

Parameters:
name,: Name of the plugin to check for.

Implements cAudio::IPluginManager.

Definition at line 80 of file cPluginManager.cpp.

IAudioPlugin * cAudio::cPluginManager::getPlugin ( const char * name ) [virtual]

Returns a plugin interface for a plugin with the supplied name.

Parameters:
name,: Name of the plugin to check return.
Returns:
A pointer to the plugin interface or NULL if it could not be found.

Implements cAudio::IPluginManager.

Definition at line 85 of file cPluginManager.cpp.

bool cAudio::cPluginManager::installPlugin | ( | const char * | filename,
 |  | const char * | name |
 | ) |  |  | [virtual]

Installs a plugin from a dynamically linked library on your hard drive.

Parameters:
filename,: Path to the dll/so/dynlib on your hard drive.
name,: Optional name for the plugin. Pass NULL to have the plugin use its default name.
Returns:
True if plugin was installed successfully.

Implements cAudio::IPluginManager.

Definition at line 56 of file cPluginManager.cpp.

bool cAudio::cPluginManager::installPlugin | ( | IAudioPlugin * | plugin,
 |  | const char * | name |
 | ) |  |  | [virtual]

Installs a plugin using a statically linked plugin implementation.

Parameters:
plugin,: Pointer to a plugin implementation to install.
name,: Optional name for the plugin. Pass NULL to have the plugin use its default name.
Returns:
True if plugin was installed successfully.

Implements cAudio::IPluginManager.

Definition at line 39 of file cPluginManager.cpp.

void cAudio::cPluginManager::uninstallPlugin ( const char * name ) [virtual]

Removes a plugin with the specified name.

Parameters:
name,: Name of the plugin to uninstall.

Implements cAudio::IPluginManager.

Definition at line 140 of file cPluginManager.cpp.

void cAudio::cPluginManager::uninstallPlugin ( IAudioPlugin * plugin ) [virtual]

Removes a plugin installed via statically linked reference.

Parameters:
plugin,: Pointer to the plugin implementation to uninstall.

Implements cAudio::IPluginManager.

Definition at line 110 of file cPluginManager.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cPluginManager.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cPluginManager.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:42 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cRawAudioDecoderFactory Class Reference

cAudio::cRawAudioDecoderFactory

cAudio::cRawAudioDecoderFactory Class Reference

Inherits cAudio::IAudioDecoderFactory.

Collaboration diagram for cAudio::cRawAudioDecoderFactory:
[legend]

List of all members.

Public Member Functions

IAudioDecoder * | CreateAudioDecoder (IDataSource *stream)
Returns an audio decoder.
IAudioDecoder * | CreateAudioDecoder (IDataSource *stream, unsigned int frequency=22050, AudioFormats format=EAF_16BIT_MONO)

Protected Attributes

cAudioMutex | Mutex

Detailed Description

Definition at line 15 of file cRawAudioDecoderFactory.h.

Member Function Documentation

IAudioDecoder* cAudio::cRawAudioDecoderFactory::CreateAudioDecoder ( IDataSource * stream ) [inline, virtual]

Returns an audio decoder.

Parameters:
stream,: Data Source to attach to this decoder.
Returns:
A pointer to a decoder instance, or NULL on failure to allocate.

Implements cAudio::IAudioDecoderFactory.

Definition at line 21 of file cRawAudioDecoderFactory.h.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cRawAudioDecoderFactory.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:42 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cRawDecoder Class Reference

cAudio::cRawDecoder

cAudio::cRawDecoder Class Reference

Inherits cAudio::IAudioDecoder, and cAudio::cMemoryOverride.

Collaboration diagram for cAudio::cRawDecoder:
[legend]

List of all members.

Public Member Functions

cRawDecoder (IDataSource *stream, unsigned int frequency, AudioFormats format)
virtual AudioFormats | getFormat ()
Returns the format of the audio data.
virtual int | getFrequency ()
Returns the frequency (sample rate) of the audio data.
virtual bool | isSeekingSupported ()
Returns whether seeking is supported.
virtual bool | isValid ()
Returns whether the stream is valid for this codec.
virtual int | readAudioData (void *output, int amount)
Reads a section of data out of the audio stream.
virtual bool | setPosition (int position, bool relative)
Sets the position in the stream to read from.
virtual bool | seek (float seconds, bool relative)
If seeking is supported, will seek the stream to seconds.
virtual float | getTotalTime ()
If seeking is supported, will return the length of the audio steam in seconds. Returns a negative number if the total time cannot be determined.
virtual int | getTotalSize ()
If available, returns the total decoded size of the audio stream. Returns a negative number if this cannot be determined.
virtual int | getCompressedSize ()
Returns the compressed (original) size of the audio stream, before decoding.
virtual float | getCurrentTime ()
If seeking is supported, will return the current position in the stream in seconds. Returns a negative number if the current time cannot be determined.
virtual int | getCurrentPosition ()
If available, returns the current position in the decoded audio stream in bytes. Returns a negative number if this cannot be determined.
virtual int | getCurrentCompressedPosition ()
Returns the position in the compressed (original) audio stream before decoding.

Detailed Description

Definition at line 13 of file cRawDecoder.h.

Member Function Documentation

int cAudio::cRawDecoder::readAudioData | ( | void * | output,
 |  | int | amount |
 | ) |  |  | [virtual]

Reads a section of data out of the audio stream.

Parameters:
output,: Pointer to the buffer to put the decoded audio.
amount,: Amount of data in bytes to ask the decoder to output.
Returns:
Number of bytes of audio data actually output.

Implements cAudio::IAudioDecoder.

Definition at line 39 of file cRawDecoder.cpp.

bool cAudio::cRawDecoder::seek | ( | float | seconds,
 |  | bool | relative |
 | ) |  |  | [virtual]

If seeking is supported, will seek the stream to seconds.

Parameters:
seconds,: Time in seconds to seek.
relative,: Whether the number in position is relative to the current position.
Returns:
True on success, False on failure.

Implements cAudio::IAudioDecoder.

Definition at line 50 of file cRawDecoder.cpp.

bool cAudio::cRawDecoder::setPosition | ( | int | position,
 |  | bool | relative |
 | ) |  |  | [virtual]

Sets the position in the stream to read from.

Parameters:
position,: Position to seek to.
relative,: Whether the number in position is relative to the current position.
Returns:
True on success, False on failure.

Implements cAudio::IAudioDecoder.

Definition at line 44 of file cRawDecoder.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cRawDecoder.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cRawDecoder.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cStandardMemoryProvider Class Reference

cAudio::cStandardMemoryProvider

cAudio::cStandardMemoryProvider Class Reference

Memory provider that wraps the standard memalloc and free. More...

#include <cStandardMemoryProvider.h>

Inherits cAudio::IMemoryProvider.

Collaboration diagram for cAudio::cStandardMemoryProvider:
[legend]

List of all members.

Public Member Functions

virtual void * | Allocate (size_t size, const char *filename, int line, const char *function)
Allocates memory and returns a pointer to it.
virtual void | Free (void *pointer)
Frees memory previously allocated.
virtual size_t | getMaxAllocationSize ()
Returns the largest possible single allocation that can be made.

Detailed Description

Memory provider that wraps the standard memalloc and free.

Definition at line 9 of file cStandardMemoryProvider.h.

Member Function Documentation

void * cAudio::cStandardMemoryProvider::Allocate | ( | size_t | size,
 |  | const char * | filename,
 |  | int | line,
 |  | const char * | function |
 | ) |  |  | [virtual]

Allocates memory and returns a pointer to it.

Parameters:
size,: Size of the memory chunk to allocate in bytes.
filename,: Filename of the source file that this allocation took place in (in Debug) or NULL otherwise.
line,: Line of the source file where this allocation took place (in Debug) or -1 otherwise.
function,: Function that this allocation took place in (in Debug) or NULL otherwise.
Returns:
Pointer to the allocated memory or NULL if allocation failed.

Implements cAudio::IMemoryProvider.

Definition at line 16 of file cStandardMemoryProvider.cpp.

void cAudio::cStandardMemoryProvider::Free ( void * pointer ) [virtual]

Frees memory previously allocated.

Parameters:
pointer,: Pointer to the memory location to free.

Implements cAudio::IMemoryProvider.

Definition at line 25 of file cStandardMemoryProvider.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cStandardMemoryProvider.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cStandardMemoryProvider.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cSTLAllocator< T > Class Template Reference

cAudio::cSTLAllocator

cAudio::cSTLAllocator< T > Class Template Reference

Reroutes allocations from STL containers into cAudio's memory system. More...

#include <cSTLAllocator.h>

List of all members.

Classes

struct | rebind

Public Types

typedef T | value_type
typedef value_type * | pointer
typedef const value_type * | const_pointer
typedef value_type & | reference
typedef const value_type & | const_reference
typedef std::size_t | size_type
typedef std::ptrdiff_t | difference_type

Public Member Functions

cSTLAllocator (const cSTLAllocator &) throw ()
template<typename U >
cSTLAllocator (const cSTLAllocator< U > &) throw ()
pointer | address (reference x) const
const_pointer | address (const_reference x) const
pointer | allocate (size_type count, typename std::allocator< void >::const_pointer ptr=0)
void | deallocate (pointer p, size_type size)
size_type | max_size () const throw ()
void | construct (pointer p, const T &val)
void | destroy (pointer p)

Detailed Description

template<typename T>
class cAudio::cSTLAllocator< T >

Reroutes allocations from STL containers into cAudio's memory system.

Definition at line 17 of file cSTLAllocator.h.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cSTLAllocator.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cSTLAllocator< void > Class Template Reference

cAudio::cSTLAllocator< void >

cAudio::cSTLAllocator< void > Class Template Reference

List of all members.

Classes

struct | rebind

Public Types

typedef size_t | size_type
typedef ptrdiff_t | difference_type
typedef void * | pointer
typedef const void * | const_pointer
typedef void | value_type

Detailed Description

template<>
class cAudio::cSTLAllocator< void >

Definition at line 87 of file cSTLAllocator.h.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cSTLAllocator.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cVector3 Class Reference

cAudio::cVector3

cAudio::cVector3 Class Reference

Class for manipulating vectors in 3D space. More...

#include <cVector3.h>

List of all members.

Public Member Functions

cVector3 (void)
Default constructor, initializes everything to 0.
cVector3 (float nx, float ny, float nz)
cVector3 (float n)
Constructor, initializes all 3 axes to the same value.
cVector3 (const cVector3 &other)
cVector3 | operator- () const
cVector3 & | operator= (const cVector3 &other)
cVector3 | operator+ (const cVector3 &other) const
cVector3 & | operator+= (const cVector3 &other)
cVector3 | operator+ (const float val) const
cVector3 & | operator+= (const float val)
cVector3 | operator- (const cVector3 &other) const
cVector3 & | operator-= (const cVector3 &other)
cVector3 | operator- (const float val) const
cVector3 & | operator-= (const float val)
cVector3 | operator* (const cVector3 &other) const
cVector3 & | operator*= (const cVector3 &other)
cVector3 | operator* (const float v) const
cVector3 & | operator*= (const float v)
cVector3 | operator/ (const cVector3 &other) const
cVector3 & | operator/= (const cVector3 &other)
cVector3 | operator/ (const float v) const
cVector3 & | operator/= (const float v)
bool | operator<= (const cVector3 &other) const
bool | operator>= (const cVector3 &other) const
bool | operator< (const cVector3 &other) const
bool | operator> (const cVector3 &other) const
bool | operator== (const cVector3 &other) const
bool | operator!= (const cVector3 &other) const
operator const float * () const
operator float * ()
const float | operator[] (int i) const
float & | operator[] (int i)
float | length () const
Returns the length (magnitude) of the vector.
void | normalize ()
Forces the current vector to have a length of 1 while preserving the ratio of components.
float | dot (const cVector3 &other) const
Returns the dot product of this vector with the input vector.
cVector3 | cross (const cVector3 &other) const
Returns the cross product of this vector with the input vector.
void | set (float nx, float ny, float nz)
Sets the components of this vector.
void | set (float n)
Sets all components of this vector to the same number.
void | set (const cVector3 &other)
Sets this vector's components to match the input vector's.
void | getAsArray (float *output)

Public Attributes

float | x
float | y
float | z

Detailed Description

Class for manipulating vectors in 3D space.

Definition at line 22 of file cVector3.h.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/cVector3.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:32 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cWavAudioDecoderFactory Class Reference

cAudio::cWavAudioDecoderFactory

cAudio::cWavAudioDecoderFactory Class Reference

Inherits cAudio::IAudioDecoderFactory.

Collaboration diagram for cAudio::cWavAudioDecoderFactory:
[legend]

List of all members.

Public Member Functions

IAudioDecoder * | CreateAudioDecoder (IDataSource *stream)
Returns an audio decoder.

Protected Attributes

cAudioMutex | Mutex

Detailed Description

Definition at line 17 of file cWavAudioDecoderFactory.h.

Member Function Documentation

IAudioDecoder* cAudio::cWavAudioDecoderFactory::CreateAudioDecoder ( IDataSource * stream ) [inline, virtual]

Returns an audio decoder.

Parameters:
stream,: Data Source to attach to this decoder.
Returns:
A pointer to a decoder instance, or NULL on failure to allocate.

Implements cAudio::IAudioDecoderFactory.

Definition at line 23 of file cWavAudioDecoderFactory.h.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cWavAudioDecoderFactory.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:44 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cWavDecoder Class Reference

cAudio::cWavDecoder

cAudio::cWavDecoder Class Reference

Inherits cAudio::IAudioDecoder, and cAudio::cMemoryOverride.

Collaboration diagram for cAudio::cWavDecoder:
[legend]

List of all members.

Public Member Functions

cWavDecoder (IDataSource *stream)
virtual AudioFormats | getFormat ()
Returns the format of the audio data.
virtual int | getFrequency ()
Returns the frequency (sample rate) of the audio data.
virtual bool | isSeekingSupported ()
Returns whether seeking is supported.
virtual bool | isValid ()
Returns whether the stream is valid for this codec.
virtual int | readAudioData (void *output, int amount)
Reads a section of data out of the audio stream.
virtual bool | setPosition (int position, bool relative)
Sets the position in the stream to read from.
virtual bool | seek (float seconds, bool relative)
If seeking is supported, will seek the stream to seconds.
virtual float | getTotalTime ()
If seeking is supported, will return the length of the audio steam in seconds. Returns a negative number if the total time cannot be determined.
virtual int | getTotalSize ()
If available, returns the total decoded size of the audio stream. Returns a negative number if this cannot be determined.
virtual int | getCompressedSize ()
Returns the compressed (original) size of the audio stream, before decoding.
virtual float | getCurrentTime ()
If seeking is supported, will return the current position in the stream in seconds. Returns a negative number if the current time cannot be determined.
virtual int | getCurrentPosition ()
If available, returns the current position in the decoded audio stream in bytes. Returns a negative number if this cannot be determined.
virtual int | getCurrentCompressedPosition ()
Returns the position in the compressed (original) audio stream before decoding.

Detailed Description

Definition at line 16 of file cWavDecoder.h.

Member Function Documentation

int cAudio::cWavDecoder::readAudioData | ( | void * | output,
 |  | int | amount |
 | ) |  |  | [virtual]

Reads a section of data out of the audio stream.

Parameters:
output,: Pointer to the buffer to put the decoded audio.
amount,: Amount of data in bytes to ask the decoder to output.
Returns:
Number of bytes of audio data actually output.

Implements cAudio::IAudioDecoder.

Definition at line 146 of file cWavDecoder.cpp.

bool cAudio::cWavDecoder::seek | ( | float | seconds,
 |  | bool | relative |
 | ) |  |  | [virtual]

If seeking is supported, will seek the stream to seconds.

Parameters:
seconds,: Time in seconds to seek.
relative,: Whether the number in position is relative to the current position.
Returns:
True on success, False on failure.

Implements cAudio::IAudioDecoder.

Definition at line 193 of file cWavDecoder.cpp.

bool cAudio::cWavDecoder::setPosition | ( | int | position,
 |  | bool | relative |
 | ) |  |  | [virtual]

Sets the position in the stream to read from.

Parameters:
position,: Position to seek to.
relative,: Whether the number in position is relative to the current position.
Returns:
True on success, False on failure.

Implements cAudio::IAudioDecoder.

Definition at line 173 of file cWavDecoder.cpp.

The documentation for this class was generated from the following files:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cWavDecoder.h
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cWavDecoder.cpp
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:44 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::IAudioCapture Class Reference

cAudio::IAudioCapture

cAudio::IAudioCapture Class Reference

Interface for capturing operations in the cAudio Engine. More...

#include <IAudioCapture.h>

Inherited by cAudio::cAudioCapture.

List of all members.

Public Member Functions

virtual bool | initialize (const char *deviceName=0x0, unsigned int frequency=22050, AudioFormats format=EAF_16BIT_MONO, unsigned int internalBufferSize=8192)=0
Initializes the capture device to the selected settings.
virtual bool | isSupported ()=0
Returns true if the current OpenAL implementation supports capturing audio.
virtual bool | isReady ()=0
Returns true if the capture device is ready to be used. False may indicate an error with the current settings.
virtual void | updateCaptureBuffer (bool force=false)=0
Grabs samples from the OpenAL buffer into the capture buffer if the OpenAL buffer has reached half full. Should be run once every audio frame, unless threading is enabled.
virtual void | shutdown ()=0
Shuts down the capture device, clearing the internal buffer and setting the audio capture into an uninitialized state. You must call initialize() again in order to reuse this object.
virtual const char * | getAvailableDeviceName (unsigned int index)=0
Returns the name of an available capture device.
virtual unsigned int | getAvailableDeviceCount ()=0
Returns the number of capture devices available for use.
virtual const char * | getDefaultDeviceName ()=0
Returns the name of the default system playback device.
virtual const char * | getDeviceName ()=0
Returns the name of the audio device being used to capture audio.
virtual unsigned int | getFrequency ()=0
Returns the frequency that the captured audio will be at.
virtual AudioFormats | getFormat ()=0
Returns the format of the captured audio.
virtual unsigned int | getInternalBufferSize ()=0
Returns the internal OpenAL buffer size in bytes.
virtual unsigned int | getSampleSize ()=0
Returns the size of a "sample" of audio data. Useful for making sure you grab audio data at sample boundaries.
virtual bool | setDevice (const char *deviceName)=0
Sets the audio device . Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.
virtual bool | setFrequency (unsigned int frequency)=0
Sets the frequency that the captured audio will be at. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.
virtual bool | setFormat (AudioFormats format)=0
Sets the format that the captured audio will be at. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.
virtual bool | setInternalBufferSize (unsigned int internalBufferSize)=0
Sets the internal buffer size that OpenAL will use to store captured audio between calls to getCapturedAudio() in bytes. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.
virtual bool | beginCapture ()=0
Starts capturing audio data to an internal buffer. Will clear any old data in the buffer.
virtual void | stopCapture ()=0
Stops capturing audio data to an internal buffer.
virtual unsigned int | getCapturedAudio (void *outputBuffer, unsigned int outputBufferSize)=0
Allows access to the audio data in the internal capture buffer.
virtual unsigned int | getCurrentCapturedAudioSize ()=0
Returns the current size of the internal audio buffer in bytes.
virtual void | registerEventHandler (ICaptureEventHandler *handler)=0
Registers a new event handler to this manager.
virtual void | unRegisterEventHandler (ICaptureEventHandler *handler)=0
Removes the specified event handler from this manager.
virtual void | unRegisterAllEventHandlers ()=0
Removes all event handlers attached to this manager.

Detailed Description

Interface for capturing operations in the cAudio Engine.

Definition at line 15 of file IAudioCapture.h.

Member Function Documentation

virtual bool cAudio::IAudioCapture::beginCapture ( ) [pure virtual]

Starts capturing audio data to an internal buffer. Will clear any old data in the buffer.

Returns:
True if capture was successfully started.

Implemented in cAudio::cAudioCapture.

virtual unsigned int cAudio::IAudioCapture::getAvailableDeviceCount ( ) [pure virtual]

Returns the number of capture devices available for use.

Returns:
Number of capture devices available.

Implemented in cAudio::cAudioCapture.

virtual const char* cAudio::IAudioCapture::getAvailableDeviceName ( unsigned int index ) [pure virtual]

Returns the name of an available capture device.

Parameters:
index,: Specify which name to retrieve ( Range: 0 to getAvailableDeviceCount()-1 ).
Returns:
Name of the selected device.

Implemented in cAudio::cAudioCapture.

virtual unsigned int cAudio::IAudioCapture::getCapturedAudio | ( | void * | outputBuffer,
 |  | unsigned int | outputBufferSize |
 | ) |  |  | [pure virtual]

Allows access to the audio data in the internal capture buffer.

Can be called at any time to retrieve recorded audio. It is recommended that you call it every so often with long recordings to prevent the internal buffer from growing too large. Once successfully retrieved, the captured audio will be deleted from the internal buffer.

Parameters:
outputBuffer,: Pointer to an output array to copy audio data to.
outputBufferSize,: Size of the output array in bytes.
Returns:
Size in bytes of the data actually copied to the output buffer.

Implemented in cAudio::cAudioCapture.

virtual const char* cAudio::IAudioCapture::getDefaultDeviceName ( ) [pure virtual]

Returns the name of the default system playback device.

Returns:
Name of the default capture device.

Implemented in cAudio::cAudioCapture.

virtual unsigned int cAudio::IAudioCapture::getInternalBufferSize ( ) [pure virtual]

Returns the internal OpenAL buffer size in bytes.

Returns:
Size of the buffer in bytes.

Implemented in cAudio::cAudioCapture.

virtual unsigned int cAudio::IAudioCapture::getSampleSize ( ) [pure virtual]

Returns the size of a "sample" of audio data. Useful for making sure you grab audio data at sample boundaries.

Returns:
Size of a sample in bytes.

Implemented in cAudio::cAudioCapture.

virtual bool cAudio::IAudioCapture::initialize | ( | const char * | deviceName = 0x0,
 |  | unsigned int | frequency = 22050,
 |  | AudioFormats | format = EAF_16BIT_MONO,
 |  | unsigned int | internalBufferSize = 8192 |
 | ) |  |  | [pure virtual]

Initializes the capture device to the selected settings.

Note that calling this will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.

Parameters:
deviceName,: Name of the audio device to capture audio from, pass NULL to specify the default one.
frequency,: Frequency that the captured audio will be captured at in hertz.
format,: Format of the captured audio.
internalBufferSize,: Size of the internal OpenAL buffer used to store the captured audio between calls to getCapturedAudio() in bytes.
Returns:
True on success, False if the capture device failed to initialize.

Implemented in cAudio::cAudioCapture.

virtual void cAudio::IAudioCapture::registerEventHandler ( ICaptureEventHandler * handler ) [pure virtual]

Registers a new event handler to this manager.

Parameters:
handler,: Pointer to an event handler to attach.

Implemented in cAudio::cAudioCapture.

virtual bool cAudio::IAudioCapture::setDevice ( const char * deviceName ) [pure virtual]

Sets the audio device . Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.

Parameters:
deviceName,: Name of the audio device to capture audio from, pass NULL to specify the default one.
Returns:
True on success, False if the capture device failed to initialize.

Implemented in cAudio::cAudioCapture.

virtual bool cAudio::IAudioCapture::setFormat ( AudioFormats format ) [pure virtual]

Sets the format that the captured audio will be at. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.

Parameters:
format,: Format of the captured audio.
Returns:
True on success, False if the capture device failed to initialize.

Implemented in cAudio::cAudioCapture.

virtual bool cAudio::IAudioCapture::setFrequency ( unsigned int frequency ) [pure virtual]

Sets the frequency that the captured audio will be at. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.

Parameters:
frequency,: Frequency that the captured audio will be captured at in hertz.
Returns:
True on success, False if the capture device failed to initialize.

Implemented in cAudio::cAudioCapture.

virtual bool cAudio::IAudioCapture::setInternalBufferSize ( unsigned int internalBufferSize ) [pure virtual]

Sets the internal buffer size that OpenAL will use to store captured audio between calls to getCapturedAudio() in bytes. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.

Parameters:
internalBufferSize,: Size of the internal OpenAL buffer in bytes.
Returns:
True on success, False if the capture device failed to initialize.

Implemented in cAudio::cAudioCapture.

virtual void cAudio::IAudioCapture::unRegisterEventHandler ( ICaptureEventHandler * handler ) [pure virtual]

Removes the specified event handler from this manager.

Parameters:
handler,: Pointer to an event handler to remove.

Implemented in cAudio::cAudioCapture.

virtual void cAudio::IAudioCapture::updateCaptureBuffer ( bool force = false ) [pure virtual]

Grabs samples from the OpenAL buffer into the capture buffer if the OpenAL buffer has reached half full. Should be run once every audio frame, unless threading is enabled.

Parameters:
force,: Force capturing data from the buffer, even if the buffer is not half full.

Implemented in cAudio::cAudioCapture.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioCapture.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:32 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::IAudioDecoder Class Reference

cAudio::IAudioDecoder

cAudio::IAudioDecoder Class Reference

Interface for all Audio Decoders in cAudio. More...

#include <IAudioDecoder.h>

Inherits cAudio::IRefCounted.

Inherited by cAudio::cOggDecoder, cAudio::cRawDecoder, and cAudio::cWavDecoder.

Collaboration diagram for cAudio::IAudioDecoder:
[legend]

List of all members.

Public Member Functions

IAudioDecoder (IDataSource *stream)
Default Constructor.
virtual AudioFormats | getFormat ()=0
Returns the format of the audio data.
virtual int | getFrequency ()=0
Returns the frequency (sample rate) of the audio data.
virtual bool | isSeekingSupported ()=0
Returns whether seeking is supported.
virtual bool | isValid ()=0
Returns whether the stream is valid for this codec.
virtual int | readAudioData (void *output, int amount)=0
Reads a section of data out of the audio stream.
virtual bool | setPosition (int position, bool relative)=0
Sets the position in the stream to read from.
virtual bool | seek (float seconds, bool relative)=0
If seeking is supported, will seek the stream to seconds.
virtual float | getTotalTime ()=0
If seeking is supported, will return the length of the audio steam in seconds. Returns a negative number if the total time cannot be determined.
virtual int | getTotalSize ()=0
If available, returns the total decoded size of the audio stream. Returns a negative number if this cannot be determined.
virtual int | getCompressedSize ()=0
Returns the compressed (original) size of the audio stream, before decoding.
virtual float | getCurrentTime ()=0
If seeking is supported, will return the current position in the stream in seconds. Returns a negative number if the current time cannot be determined.
virtual int | getCurrentPosition ()=0
If available, returns the current position in the decoded audio stream in bytes. Returns a negative number if this cannot be determined.
virtual int | getCurrentCompressedPosition ()=0
Returns the position in the compressed (original) audio stream before decoding.

Protected Attributes

IDataSource * Stream
Pointer to the data source to take audio data from.

Detailed Description

Interface for all Audio Decoders in cAudio.

Definition at line 15 of file IAudioDecoder.h.

Constructor & Destructor Documentation

cAudio::IAudioDecoder::IAudioDecoder ( IDataSource * stream ) [inline]

Default Constructor.

Parameters:
stream,: Data Source to attach to this decoder.

Definition at line 20 of file IAudioDecoder.h.

Member Function Documentation

virtual int cAudio::IAudioDecoder::readAudioData | ( | void * | output,
 |  | int | amount |
 | ) |  |  | [pure virtual]

Reads a section of data out of the audio stream.

Parameters:
output,: Pointer to the buffer to put the decoded audio.
amount,: Amount of data in bytes to ask the decoder to output.
Returns:
Number of bytes of audio data actually output.

Implemented in cAudio::cOggDecoder, cAudio::cRawDecoder, and cAudio::cWavDecoder.

virtual bool cAudio::IAudioDecoder::seek | ( | float | seconds,
 |  | bool | relative |
 | ) |  |  | [pure virtual]

If seeking is supported, will seek the stream to seconds.

Parameters:
seconds,: Time in seconds to seek.
relative,: Whether the number in position is relative to the current position.
Returns:
True on success, False on failure.

Implemented in cAudio::cOggDecoder, cAudio::cRawDecoder, and cAudio::cWavDecoder.

virtual bool cAudio::IAudioDecoder::setPosition | ( | int | position,
 |  | bool | relative |
 | ) |  |  | [pure virtual]

Sets the position in the stream to read from.

Parameters:
position,: Position to seek to.
relative,: Whether the number in position is relative to the current position.
Returns:
True on success, False on failure.

Implemented in cAudio::cOggDecoder, cAudio::cRawDecoder, and cAudio::cWavDecoder.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioDecoder.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:32 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::IAudioDecoderFactory Class Reference

cAudio::IAudioDecoderFactory

cAudio::IAudioDecoderFactory Class Reference

Interface for factories that create Audio Decoders for cAudio. More...

#include <IAudioDecoderFactory.h>

Inherited by cAudio::cOggAudioDecoderFactory, cAudio::cRawAudioDecoderFactory, and cAudio::cWavAudioDecoderFactory.

List of all members.

Public Member Functions

virtual IAudioDecoder * CreateAudioDecoder (IDataSource *stream)=0
Returns an audio decoder.

Detailed Description

Interface for factories that create Audio Decoders for cAudio.

Definition at line 13 of file IAudioDecoderFactory.h.

Member Function Documentation

virtual IAudioDecoder* cAudio::IAudioDecoderFactory::CreateAudioDecoder ( IDataSource * stream ) [pure virtual]

Returns an audio decoder.

Parameters:
stream,: Data Source to attach to this decoder.
Returns:
A pointer to a decoder instance, or NULL on failure to allocate.

Implemented in cAudio::cOggAudioDecoderFactory, cAudio::cRawAudioDecoderFactory, and cAudio::cWavAudioDecoderFactory.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioDecoderFactory.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:32 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::IAudioEffects Class Reference

cAudio::IAudioEffects

cAudio::IAudioEffects Class Reference

Interface for Audio Effects in cAudio. More...

#include <IAudioEffects.h>

Inherited by cAudio::cAudioEffects.

List of all members.

Public Member Functions

virtual IEffect * | createEffect ()=0
Creates an Audio Effect for use with audio sources.
virtual IFilter * | createFilter ()=0
Creates an Audio Filter for use with audio sources.
virtual unsigned int | getMaxEffectsSupported () const =0
Returns the max number of effects supported.
virtual bool | isEffectSupported (const EffectTypes &type) const =0
Checks to see if the given effect type is supported.
virtual bool | isFilterSupported (const FilterTypes &type) const =0
Checks to see if the given filter type is supported.
virtual bool | addEAXReverbEffectPreset (const char *name, const sEAXReverbParameters &setting)=0
Adds a preset for the EAX Reverb Audio Effect type.
virtual bool | addReverbEffectPreset (const char *name, const sReverbParameters &setting)=0
Adds a preset for the Reverb Audio Effect type.
virtual bool | addChorusEffectPreset (const char *name, const sChorusParameters &setting)=0
Adds a preset for the Chorus Audio Effect type.
virtual bool | addDistortionEffectPreset (const char *name, const sDistortionParameters &setting)=0
Adds a preset for the Distortion Audio Effect type.
virtual bool | addEchoEffectPreset (const char *name, const sEchoParameters &setting)=0
Adds a preset for the Echo Audio Effect type.
virtual bool | addFlangerEffectPreset (const char *name, const sFlangerParameters &setting)=0
Adds a preset for the Flanger Audio Effect type.
virtual bool | addFrequencyShiftEffectPreset (const char *name, const sFrequencyShiftParameters &setting)=0
Adds a preset for the Frequency Shift Audio Effect type.
virtual bool | addVocalMorpherEffectPreset (const char *name, const sVocalMorpherParameters &setting)=0
Adds a preset for the Vocal Morpher Audio Effect type.
virtual bool | addPitchShifterEffectPreset (const char *name, const sPitchShifterParameters &setting)=0
Adds a preset for the Pitch Shifter Audio Effect type.
virtual bool | addRingModulatorEffectPreset (const char *name, const sRingModulatorParameters &setting)=0
Adds a preset for the Ring Modulator Audio Effect type.
virtual bool | addAutowahEffectPreset (const char *name, const sAutowahParameters &setting)=0
Adds a preset for the Autowah Audio Effect type.
virtual bool | addCompressorEffectPreset (const char *name, const sCompressorParameters &setting)=0
Adds a preset for the Compressor Audio Effect type.
virtual bool | addEqualizerEffectPreset (const char *name, const sEqualizerParameters &setting)=0
Adds a preset for the Equalizer Audio Effect type.
virtual sEAXReverbParameters | getEAXReverbEffectPreset (const char *name)=0
Returns a previously registered preset for the EAX Reverb Effect.
virtual sReverbParameters | getReverbEffectPreset (const char *name)=0
Returns a previously registered preset for the Reverb Effect.
virtual sChorusParameters | getChorusEffectPreset (const char *name)=0
Returns a previously registered preset for the Chorus Effect.
virtual sDistortionParameters | getDistortionEffectPreset (const char *name)=0
Returns a previously registered preset for the Distortion Effect.
virtual sEchoParameters | getEchoEffectPreset (const char *name)=0
Returns a previously registered preset for the Echo Effect.
virtual sFlangerParameters | getFlangerEffectPreset (const char *name)=0
Returns a previously registered preset for the Flanger Effect.
virtual sFrequencyShiftParameters | getFrequencyShiftEffectPreset (const char *name)=0
Returns a previously registered preset for the Frequency Shift Effect.
virtual sVocalMorpherParameters | getVocalMorpherEffectPreset (const char *name)=0
Returns a previously registered preset for the Vocal Morpher Effect.
virtual sPitchShifterParameters | getPitchShifterEffectPreset (const char *name)=0
Returns a previously registered preset for the Pitch Shifter Effect.
virtual sRingModulatorParameters | getRingModulatorEffectPreset (const char *name)=0
Returns a previously registered preset for the Ring Modulator Effect.
virtual sAutowahParameters | getAutowahEffectPreset (const char *name)=0
Returns a previously registered preset for the Autowah Effect.
virtual sCompressorParameters | getCompressorEffectPreset (const char *name)=0
Returns a previously registered preset for the Compressor Effect.
virtual sEqualizerParameters | getEqualizerEffectPreset (const char *name)=0
Returns a previously registered preset for the Equalizer Effect.
virtual void | removeEffectPreset (const EffectTypes &type, const char *name)=0
Removes a previously registered effect preset.
virtual bool | isEffectPresetRegistered (const EffectTypes &type, const char *name)=0
Returns if a effect preset of a certain name is registered.
virtual void | removeAllEffectPresets (const EffectTypes &type)=0
Removes all effect presets for a specific effect type.

Detailed Description

Interface for Audio Effects in cAudio.

Definition at line 17 of file IAudioEffects.h.

Member Function Documentation

virtual bool cAudio::IAudioEffects::addAutowahEffectPreset | ( | const char * | name,
 |  | const sAutowahParameters & | setting |
 | ) |  |  | [pure virtual]

Adds a preset for the Autowah Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implemented in cAudio::cAudioEffects.

virtual bool cAudio::IAudioEffects::addChorusEffectPreset | ( | const char * | name,
 |  | const sChorusParameters & | setting |
 | ) |  |  | [pure virtual]

Adds a preset for the Chorus Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implemented in cAudio::cAudioEffects.

virtual bool cAudio::IAudioEffects::addCompressorEffectPreset | ( | const char * | name,
 |  | const sCompressorParameters & | setting |
 | ) |  |  | [pure virtual]

Adds a preset for the Compressor Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implemented in cAudio::cAudioEffects.

virtual bool cAudio::IAudioEffects::addDistortionEffectPreset | ( | const char * | name,
 |  | const sDistortionParameters & | setting |
 | ) |  |  | [pure virtual]

Adds a preset for the Distortion Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implemented in cAudio::cAudioEffects.

virtual bool cAudio::IAudioEffects::addEAXReverbEffectPreset | ( | const char * | name,
 |  | const sEAXReverbParameters & | setting |
 | ) |  |  | [pure virtual]

Adds a preset for the EAX Reverb Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implemented in cAudio::cAudioEffects.

virtual bool cAudio::IAudioEffects::addEchoEffectPreset | ( | const char * | name,
 |  | const sEchoParameters & | setting |
 | ) |  |  | [pure virtual]

Adds a preset for the Echo Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implemented in cAudio::cAudioEffects.

virtual bool cAudio::IAudioEffects::addEqualizerEffectPreset | ( | const char * | name,
 |  | const sEqualizerParameters & | setting |
 | ) |  |  | [pure virtual]

Adds a preset for the Equalizer Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implemented in cAudio::cAudioEffects.

virtual bool cAudio::IAudioEffects::addFlangerEffectPreset | ( | const char * | name,
 |  | const sFlangerParameters & | setting |
 | ) |  |  | [pure virtual]

Adds a preset for the Flanger Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implemented in cAudio::cAudioEffects.

virtual bool cAudio::IAudioEffects::addFrequencyShiftEffectPreset | ( | const char * | name,
 |  | const sFrequencyShiftParameters & | setting |
 | ) |  |  | [pure virtual]

Adds a preset for the Frequency Shift Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implemented in cAudio::cAudioEffects.

virtual bool cAudio::IAudioEffects::addPitchShifterEffectPreset | ( | const char * | name,
 |  | const sPitchShifterParameters & | setting |
 | ) |  |  | [pure virtual]

Adds a preset for the Pitch Shifter Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implemented in cAudio::cAudioEffects.

virtual bool cAudio::IAudioEffects::addReverbEffectPreset | ( | const char * | name,
 |  | const sReverbParameters & | setting |
 | ) |  |  | [pure virtual]

Adds a preset for the Reverb Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implemented in cAudio::cAudioEffects.

virtual bool cAudio::IAudioEffects::addRingModulatorEffectPreset | ( | const char * | name,
 |  | const sRingModulatorParameters & | setting |
 | ) |  |  | [pure virtual]

Adds a preset for the Ring Modulator Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implemented in cAudio::cAudioEffects.

virtual bool cAudio::IAudioEffects::addVocalMorpherEffectPreset | ( | const char * | name,
 |  | const sVocalMorpherParameters & | setting |
 | ) |  |  | [pure virtual]

Adds a preset for the Vocal Morpher Audio Effect type.

Parameters:
name,: Name of the preset.
setting,: Instance of the Effect parameter struct for this type of effect.
Returns:
True on success, False on failure.

Implemented in cAudio::cAudioEffects.

virtual IEffect* cAudio::IAudioEffects::createEffect ( ) [pure virtual]

Creates an Audio Effect for use with audio sources.

Returns:
Pointer to the created Effect instance.

Implemented in cAudio::cAudioEffects.

virtual IFilter* cAudio::IAudioEffects::createFilter ( ) [pure virtual]

Creates an Audio Filter for use with audio sources.

Returns:
Pointer to the created Filter instance.

Implemented in cAudio::cAudioEffects.

virtual sAutowahParameters cAudio::IAudioEffects::getAutowahEffectPreset ( const char * name ) [pure virtual]

Returns a previously registered preset for the Autowah Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implemented in cAudio::cAudioEffects.

virtual sChorusParameters cAudio::IAudioEffects::getChorusEffectPreset ( const char * name ) [pure virtual]

Returns a previously registered preset for the Chorus Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implemented in cAudio::cAudioEffects.

virtual sCompressorParameters cAudio::IAudioEffects::getCompressorEffectPreset ( const char * name ) [pure virtual]

Returns a previously registered preset for the Compressor Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implemented in cAudio::cAudioEffects.

virtual sDistortionParameters cAudio::IAudioEffects::getDistortionEffectPreset ( const char * name ) [pure virtual]

Returns a previously registered preset for the Distortion Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implemented in cAudio::cAudioEffects.

virtual sEAXReverbParameters cAudio::IAudioEffects::getEAXReverbEffectPreset ( const char * name ) [pure virtual]

Returns a previously registered preset for the EAX Reverb Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implemented in cAudio::cAudioEffects.

virtual sEchoParameters cAudio::IAudioEffects::getEchoEffectPreset ( const char * name ) [pure virtual]

Returns a previously registered preset for the Echo Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implemented in cAudio::cAudioEffects.

virtual sEqualizerParameters cAudio::IAudioEffects::getEqualizerEffectPreset ( const char * name ) [pure virtual]

Returns a previously registered preset for the Equalizer Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implemented in cAudio::cAudioEffects.

virtual sFlangerParameters cAudio::IAudioEffects::getFlangerEffectPreset ( const char * name ) [pure virtual]

Returns a previously registered preset for the Flanger Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implemented in cAudio::cAudioEffects.

virtual sFrequencyShiftParameters cAudio::IAudioEffects::getFrequencyShiftEffectPreset ( const char * name ) [pure virtual]

Returns a previously registered preset for the Frequency Shift Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implemented in cAudio::cAudioEffects.

virtual sPitchShifterParameters cAudio::IAudioEffects::getPitchShifterEffectPreset ( const char * name ) [pure virtual]

Returns a previously registered preset for the Pitch Shifter Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implemented in cAudio::cAudioEffects.

virtual sReverbParameters cAudio::IAudioEffects::getReverbEffectPreset ( const char * name ) [pure virtual]

Returns a previously registered preset for the Reverb Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implemented in cAudio::cAudioEffects.

virtual sRingModulatorParameters cAudio::IAudioEffects::getRingModulatorEffectPreset ( const char * name ) [pure virtual]

Returns a previously registered preset for the Ring Modulator Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implemented in cAudio::cAudioEffects.

virtual sVocalMorpherParameters cAudio::IAudioEffects::getVocalMorpherEffectPreset ( const char * name ) [pure virtual]

Returns a previously registered preset for the Vocal Morpher Effect.

Parameters:
name,: Name of the preset to retrieve.
Returns:
The preset or the default parameters if the preset could not be found.

Implemented in cAudio::cAudioEffects.

virtual bool cAudio::IAudioEffects::isEffectPresetRegistered | ( | const EffectTypes & | type,
 |  | const char * | name |
 | ) |  |  | [pure virtual]

Returns if a effect preset of a certain name is registered.

Parameters:
type,: Type of the effect.
name,: Name of the preset.
Returns:
True if it exists, false if not.

Implemented in cAudio::cAudioEffects.

virtual bool cAudio::IAudioEffects::isEffectSupported ( const EffectTypes & type ) const [pure virtual]

Checks to see if the given effect type is supported.

Parameters:
type,: the effect type to be checked.
Returns:
True if the effect is supported, False if the effect isn't supported.

Implemented in cAudio::cAudioEffects.

virtual bool cAudio::IAudioEffects::isFilterSupported ( const FilterTypes & type ) const [pure virtual]

Checks to see if the given filter type is supported.

Parameters:
type,: the filter type to be checked.
Returns:
True if the filter is supported, False if the filter isn't supported.

Implemented in cAudio::cAudioEffects.

virtual void cAudio::IAudioEffects::removeAllEffectPresets ( const EffectTypes & type ) [pure virtual]

Removes all effect presets for a specific effect type.

Parameters:
type,: Type of effect to remove presets for, or EET_NULL to remove all of them.

Implemented in cAudio::cAudioEffects.

virtual void cAudio::IAudioEffects::removeEffectPreset | ( | const EffectTypes & | type,
 |  | const char * | name |
 | ) |  |  | [pure virtual]

Removes a previously registered effect preset.

Parameters:
type,: Type of effect to remove a preset for.
name,: Name of the preset to remove.

Implemented in cAudio::cAudioEffects.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioEffects.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:32 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::IAudioManager Class Reference

cAudio::IAudioManager

cAudio::IAudioManager Class Reference

Interface for the playback capabilities of cAudio. More...

#include <IAudioManager.h>

Inherited by cAudio::cAudioManager.

List of all members.

Public Member Functions

virtual bool | initialize (const char *deviceName=0x0, int outputFrequency=-1, int eaxEffectSlots=4)=0
Initializes the manager.
virtual void | shutDown ()=0
Shuts the manager down, cleaning up audio sources in the process. Does not clean up decoders, data sources, or event handlers.
virtual void | update ()=0
If threading is disabled, you must call this function every frame to update the playback buffers of audio sources. Otherwise it should not be called.
virtual IAudioSource * | getSoundByName (const char *name)=0
Returns an Audio Source by its "name" and NULL if the name is not found.
virtual void | releaseAllSources ()=0
Releases ALL Audio Sources (but does not shutdown the manager).
virtual void | release (IAudioSource *source)=0
Releases a single Audio Source, removing it from the manager.
virtual const char * | getAvailableDeviceName (unsigned int index)=0
Returns the name of an available playback device.
virtual unsigned int | getAvailableDeviceCount ()=0
Returns the number of playback devices available for use.
virtual const char * | getDefaultDeviceName ()=0
Returns the name of the default system playback device.
virtual IAudioSource * | create (const char *name, const char *filename, bool stream=false)=0
Creates an Audio Source object using the highest priority data source that has the referenced filename.
virtual IAudioSource * | createFromMemory (const char *name, const char *data, size_t length, const char *extension)=0
Creates an Audio Source from a memory buffer using a specific audio codec.
virtual IAudioSource * | createFromRaw (const char *name, const char *data, size_t length, unsigned int frequency, AudioFormats format)=0
Creates an Audio Source from raw audio data in a memory buffer.
virtual bool | registerAudioDecoder (IAudioDecoderFactory *factory, const char *extension)=0
Register an Audio Decoder.
virtual void | unRegisterAudioDecoder (const char *extension)=0
Unregister a previously registered Audio Decoder.
virtual bool | isAudioDecoderRegistered (const char *extension)=0
Returns whether an audio decoder is currently registered for this file type.
virtual IAudioDecoderFactory * | getAudioDecoderFactory (const char *extension)=0
Returns a registered audio decoder factory.
virtual void | unRegisterAllAudioDecoders ()=0
Unregisters all attached Audio Decoders.
virtual bool | registerDataSource (IDataSourceFactory *factory, const char *name, int priority)=0
Registers a data source with this manager.
virtual void | unRegisterDataSource (const char *name)=0
Removes a previously registered data source.
virtual bool | isDataSourceRegistered (const char *name)=0
Returns whether a data source is currently registered under a certain name.
virtual IDataSourceFactory * | getDataSourceFactory (const char *name)=0
Returns a previously registered data source factory.
virtual void | unRegisterAllDataSources ()=0
Removes all previously registered data sources.
virtual void | registerEventHandler (IManagerEventHandler *handler)=0
Registers a new event handler with the manager.
virtual void | unRegisterEventHandler (IManagerEventHandler *handler)=0
Unregisters a previously registered event handler from the manager.
virtual void | unRegisterAllEventHandlers ()=0
Unregisters all previously registered event handlers from the manager.
virtual IListener * | getListener ()=0
Returns the interface for the listener.
virtual IAudioEffects * | getEffects ()=0
Returns the interface for audio effects.

Detailed Description

Interface for the playback capabilities of cAudio.

Definition at line 22 of file IAudioManager.h.

Member Function Documentation

virtual IAudioSource* cAudio::IAudioManager::create | ( | const char * | name,
 |  | const char * | filename,
 |  | bool | stream = false |
 | ) |  |  | [pure virtual]

Creates an Audio Source object using the highest priority data source that has the referenced filename.

Parameters:
name,: Name of the audio source.
filename,: Path to the file to load audio data from.
stream,: Whether to stream the audio data or load it all into a memory buffer at the start. You should consider using streaming for really large sound files.
Returns:
A pointer to an Audio Source or NULL if creation failed.

Implemented in cAudio::cAudioManager.

virtual IAudioSource* cAudio::IAudioManager::createFromMemory | ( | const char * | name,
 |  | const char * | data,
 |  | size_t | length,
 |  | const char * | extension |
 | ) |  |  | [pure virtual]

Creates an Audio Source from a memory buffer using a specific audio codec.

Parameters:
name,: Name of the audio source.
data,: Pointer to a buffer in memory to load the data from.
length,: Length of the data buffer.
extension,: Extension for the audio codec of the data in the memory buffer.
Returns:
A pointer to an Audio Source or NULL if creation failed.

Implemented in cAudio::cAudioManager.

virtual IAudioSource* cAudio::IAudioManager::createFromRaw | ( | const char * | name,
 |  | const char * | data,
 |  | size_t | length,
 |  | unsigned int | frequency,
 |  | AudioFormats | format |
 | ) |  |  | [pure virtual]

Creates an Audio Source from raw audio data in a memory buffer.

Parameters:
name,: Name of the audio source.
data,: Pointer to a buffer in memory to load the data from.
length,: Length of the data buffer.
frequency,: Frequency (or sample rate) of the audio data.
format,: Format of the audio data.
Returns:
A pointer to an Audio Source or NULL if creation failed.

Implemented in cAudio::cAudioManager.

virtual IAudioDecoderFactory* cAudio::IAudioManager::getAudioDecoderFactory ( const char * extension ) [pure virtual]

Returns a registered audio decoder factory.

Parameters:
extension,: Extension for the audio decoder to return.
Returns:
A pointer to the found factory or NULL if it could not be found.

Implemented in cAudio::cAudioManager.

virtual unsigned int cAudio::IAudioManager::getAvailableDeviceCount ( ) [pure virtual]

Returns the number of playback devices available for use.

Returns:
Number of playback devices available.

Implemented in cAudio::cAudioManager.

virtual const char* cAudio::IAudioManager::getAvailableDeviceName ( unsigned int index ) [pure virtual]

Returns the name of an available playback device.

Parameters:
index,: Specify which name to retrieve ( Range: 0 to getAvailableDeviceCount()-1 )
Returns:
Name of the selected device.

Implemented in cAudio::cAudioManager.

virtual IDataSourceFactory* cAudio::IAudioManager::getDataSourceFactory ( const char * name ) [pure virtual]

Returns a previously registered data source factory.

Parameters:
name,: Name of the data source to return.
Returns:
A pointer to the found factory or NULL if it could not be found.

Implemented in cAudio::cAudioManager.

virtual const char* cAudio::IAudioManager::getDefaultDeviceName ( ) [pure virtual]

Returns the name of the default system playback device.

Returns:
Name of the default playback device.

Implemented in cAudio::cAudioManager.

virtual IAudioSource* cAudio::IAudioManager::getSoundByName ( const char * name ) [pure virtual]

Returns an Audio Source by its "name" and NULL if the name is not found.

Parameters:
name,: Name of the audio source to retrieve.
Returns:
Pointer to the audio source object or NULL if it could not be found.

Implemented in cAudio::cAudioManager.

virtual bool cAudio::IAudioManager::initialize | ( | const char * | deviceName = 0x0,
 |  | int | outputFrequency = -1,
 |  | int | eaxEffectSlots = 4 |
 | ) |  |  | [pure virtual]

Initializes the manager.

Parameters:
deviceName,: Name of the device to create this manager for.
outputFrequency,: Frequency of the output audio or -1 for the device default.
eaxEffectSlots,: Number of EFX effect slots to request. Has no effect if EFX is not supported or compiled out.
Returns:
True on success, False if initialization of OpenAL failed.

Implemented in cAudio::cAudioManager.

virtual bool cAudio::IAudioManager::isAudioDecoderRegistered ( const char * extension ) [pure virtual]

Returns whether an audio decoder is currently registered for this file type.

Parameters:
extension,: Extension for the audio decoder to check for.
Returns:
True if the specified decoder is registered or False if not.

Implemented in cAudio::cAudioManager.

virtual bool cAudio::IAudioManager::isDataSourceRegistered ( const char * name ) [pure virtual]

Returns whether a data source is currently registered under a certain name.

Parameters:
name,: Name of the data source to check for.
Returns:
True if the specified data source is registered or False if not.

Implemented in cAudio::cAudioManager.

virtual bool cAudio::IAudioManager::registerAudioDecoder | ( | IAudioDecoderFactory * | factory,
 |  | const char * | extension |
 | ) |  |  | [pure virtual]

Register an Audio Decoder.

Parameters:
factory,: Pointer to the factory instance to use.
extension,: Extension of the audio codec to register this decoder under. For example, .wav for a RIFF/wav decoder.
Returns:
True on seccess, False if registration failed.

Implemented in cAudio::cAudioManager.

virtual bool cAudio::IAudioManager::registerDataSource | ( | IDataSourceFactory * | factory,
 |  | const char * | name,
 |  | int | priority |
 | ) |  |  | [pure virtual]

Registers a data source with this manager.

Use this function to provide access to a custom resource manager, zip archive, vfs, or any other place you'd like to get audio files from.

Parameters:
factory,: Pointer to the data source factory to register.
name,: Name for the data source (ie. Zip Archive or FileSystem)
priority,: Determines what order data sources are asked for a file. The higher the priority, the sooner they are asked. cAudio stops looking for a file as soon as any data source returns it.
Returns:
True on success, False on failure to register.

Implemented in cAudio::cAudioManager.

virtual void cAudio::IAudioManager::registerEventHandler ( IManagerEventHandler * handler ) [pure virtual]

Registers a new event handler with the manager.

Parameters:
handler,: Pointer to an event handler instance to register.

Implemented in cAudio::cAudioManager.

virtual void cAudio::IAudioManager::release ( IAudioSource * source ) [pure virtual]

Releases a single Audio Source, removing it from the manager.

Parameters:
source,: Pointer to the source to release.

Implemented in cAudio::cAudioManager.

virtual void cAudio::IAudioManager::unRegisterAllAudioDecoders ( ) [pure virtual]

Unregisters all attached Audio Decoders.

Note that all current sound sources will still continue to use any currently allocated decoders. Will NOT delete any user added factory instance, you must do that yourself.

Implemented in cAudio::cAudioManager.

virtual void cAudio::IAudioManager::unRegisterAllDataSources ( ) [pure virtual]

Removes all previously registered data sources.

Note that sound sources will still continue to use any currently allocated sources, so you may not be able to close an open zip/archive file handle until they are done. Will NOT delete any user added factory instance, you must do that yourself.

Implemented in cAudio::cAudioManager.

virtual void cAudio::IAudioManager::unRegisterAllEventHandlers ( ) [pure virtual]

Unregisters all previously registered event handlers from the manager.

Note: Will not delete your event handler, you must take care of that yourself.

Implemented in cAudio::cAudioManager.

virtual void cAudio::IAudioManager::unRegisterAudioDecoder ( const char * extension ) [pure virtual]

Unregister a previously registered Audio Decoder.

Note that all current sound sources will still continue to use any currently allocated decoders. Will NOT delete any user added factory instance, you must do that yourself.

Parameters:
extension,: Extension for the audio decoder to remove.

Implemented in cAudio::cAudioManager.

virtual void cAudio::IAudioManager::unRegisterDataSource ( const char * name ) [pure virtual]

Removes a previously registered data source.

Note that sound sources will still continue to use any currently allocated sources, so you may not be able to close an open zip/archive file handle until they are done. Will NOT delete any user added factory instance, you must do that yourself.

Parameters:
name,: Name of the data source to unregister.

Implemented in cAudio::cAudioManager.

virtual void cAudio::IAudioManager::unRegisterEventHandler ( IManagerEventHandler * handler ) [pure virtual]

Unregisters a previously registered event handler from the manager.

Note: Will not delete your event handler, you must take care of that yourself.

Parameters:
handler,: Pointer to the event handler to remove.

Implemented in cAudio::cAudioManager.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioManager.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:32 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::IAudioPlugin Class Reference

cAudio::IAudioPlugin

cAudio::IAudioPlugin Class Reference

Interface for all plugins in cAudio. More...

#include <IAudioPlugin.h>

Inherits cAudio::IRefCounted.

Collaboration diagram for cAudio::IAudioPlugin:
[legend]

List of all members.

Public Member Functions

virtual bool | installPlugin (ILogger *logger)=0
Called to initialize the plugin. Use this for any initial setup that needs to be done.
virtual const char * | getPluginName ()=0
Called to retrieve a name to register this plugin under if the user didn't specify one (or the plugin was auto-loaded).
virtual void | uninstallPlugin ()=0
Called to shutdown the plugin and do any final cleanup. This is the last function call cAudio will give you before your plugin is completely removed.
virtual void | onCreateAudioManager (IAudioManager *manager)
Called on creation of an Audio Playback Manager.
virtual void | onCreateAudioCapture (IAudioCapture *capture)
Called on creation of an Audio Capture Manager.
virtual void | onDestroyAudioManager (IAudioManager *manager)
Called on destruction of an Audio Playback Manager.
virtual void | onDestoryAudioCapture (IAudioCapture *capture)
Called on destruction of an Audio Capture Manager.

Detailed Description

Interface for all plugins in cAudio.

Definition at line 12 of file IAudioPlugin.h.

Member Function Documentation

virtual const char* cAudio::IAudioPlugin::getPluginName ( ) [pure virtual]

Called to retrieve a name to register this plugin under if the user didn't specify one (or the plugin was auto-loaded).

Returns:
Name of the plugin.
virtual bool cAudio::IAudioPlugin::installPlugin ( ILogger * logger ) [pure virtual]

Called to initialize the plugin. Use this for any initial setup that needs to be done.

Parameters:
logger,: Pointer to the logger singleton.
Returns:
True if plugin initialization was successful, false if there was an error.
virtual void cAudio::IAudioPlugin::onCreateAudioCapture ( IAudioCapture * capture ) [inline, virtual]

Called on creation of an Audio Capture Manager.

Use this to register any event handlers that you'd like to add to the engine.

Parameters:
capture,: Pointer to the newly created capture interface.

Definition at line 40 of file IAudioPlugin.h.

virtual void cAudio::IAudioPlugin::onCreateAudioManager ( IAudioManager * manager ) [inline, virtual]

Called on creation of an Audio Playback Manager.

Use this to register any decoders or event handlers that you'd like to add to the engine.

Parameters:
manager,: Pointer to the newly created manager.

Definition at line 35 of file IAudioPlugin.h.

virtual void cAudio::IAudioPlugin::onDestoryAudioCapture ( IAudioCapture * capture ) [inline, virtual]

Called on destruction of an Audio Capture Manager.

Use this to remove anything you added to a capture manger earlier.

Parameters:
capture,: Pointer to the soon to be destroyed capture interface.

Definition at line 50 of file IAudioPlugin.h.

virtual void cAudio::IAudioPlugin::onDestroyAudioManager ( IAudioManager * manager ) [inline, virtual]

Called on destruction of an Audio Playback Manager.

Use this to remove anything you added to the playback manger earlier.

Parameters:
manager,: Pointer to the soon to be destroyed playback interface.

Definition at line 45 of file IAudioPlugin.h.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioPlugin.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:33 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::IAudioSource Class Reference

cAudio::IAudioSource

cAudio::IAudioSource Class Reference

Interface for a single audio source, which allow you to manipulate sound sources (speakers) in 2D or 3D space. More...

#include <IAudioSource.h>

Inherits cAudio::IRefCounted.

Inherited by cAudio::cAudioSource.

Collaboration diagram for cAudio::IAudioSource:
[legend]

List of all members.

Public Member Functions

virtual bool | play ()=0
Plays the source with the last set parameters.
virtual bool | play2d (const bool &toLoop=false)=0
Plays the source in 2D mode.
virtual bool | play3d (const cVector3 &position, const float &soundstr=1.0, const bool &toLoop=false)=0
Plays the source in 3D mode.
virtual void | pause ()=0
Pauses playback of the sound source.
virtual void | stop ()=0
Stops playback of the sound source.
virtual void | loop (const bool &toLoop)=0
Controls whether the source should loop or not.
virtual bool | seek (const float &seconds, bool relative=false)=0
Seeks through the audio stream to a specific spot.
virtual float | getTotalAudioTime ()=0
Returns the total amount of time in the audio stream. See IAudioDecoder for details.
virtual int | getTotalAudioSize ()=0
Returns the total decoded size of the audio stream. See IAudioDecoder for details.
virtual int | getCompressedAudioSize ()=0
Returns the original size of the audio stream. See IAudioDecoder for details.
virtual float | getCurrentAudioTime ()=0
Returns the current position in the audio stream in seconds. See IAudioDecoder for details.
virtual int | getCurrentAudioPosition ()=0
Returns the current position in the decoded audio stream in bytes. See IAudioDecoder for details.
virtual int | getCurrentCompressedAudioPosition ()=0
Returns the current position in the original audio stream in bytes. See IAudioDecoder for details.
virtual bool | update ()=0
Normally called every frame by the audio manager to update the internal buffers. Note: For internal use only.
virtual void | release ()=0
Releases all resources used by the audio source, normally used to clean up before deletion. Note: For internal use only.
virtual const bool | isValid () const =0
Returns if the source is ready to be used.
virtual const bool | isPlaying () const =0
Returns if the source is playing.
virtual const bool | isPaused () const =0
Returns if the source is paused.
virtual const bool | isStopped () const =0
Returns if the source is stopped.
virtual const bool | isLooping () const =0
Returns if the source is looping.
virtual void | setPosition (const cVector3 &position)=0
Sets the position of the source in 3D space.
virtual void | setVelocity (const cVector3 &velocity)=0
Sets the current velocity of the source for doppler effects.
virtual void | setDirection (const cVector3 &direction)=0
Sets the direction the source is facing.
virtual void | setRolloffFactor (const float &rolloff)=0
Sets the factor used in attenuating the source over distance.
virtual void | setStrength (const float &soundstrength)=0
Sets how well the source carries over distance.
virtual void | setMinDistance (const float &minDistance)=0
Sets the distance from the source where attenuation will begin.
virtual void | setMaxDistance (const float &maxDistance)=0
Sets the distance from the source where attenuation will stop.
virtual void | setPitch (const float &pitch)=0
Sets the pitch of the source.
virtual void | setVolume (const float &volume)=0
Sets the source volume before attenuation and other effects.
virtual void | setMinVolume (const float &minVolume)=0
Sets the minimum volume that the source can be attenuated to.
virtual void | setMaxVolume (const float &maxVolume)=0
Sets the maximum volume that the source can achieve.
virtual void | setInnerConeAngle (const float &innerAngle)=0
Sets the angle of the inner sound cone of the source. The cone opens up in the direction of the source as set by setDirection().
virtual void | setOuterConeAngle (const float &outerAngle)=0
Sets the angle of the outer sound cone of the source. The cone opens up in the direction of the source as set by setDirection().
virtual void | setOuterConeVolume (const float &outerVolume)=0
Sets how much the volume of the source is scaled in the outer cone.
virtual void | setDopplerStrength (const float &dstrength)=0
Sets the doppler strength, which enhances or diminishes the doppler effect. Can be used to exaggerate the doppler for a special effect.
virtual void | setDopplerVelocity (const cVector3 &dvelocity)=0
Overrides the doppler velocity vector. It is usually better to let the engine take care of it automatically.
virtual void | move (const cVector3 &position)=0
Convenience function to automatically set the velocity and position for you in a single call.
virtual const cVector3 | getPosition () const =0
Returns the audio objects position.
virtual const cVector3 | getVelocity () const =0
Returns the audio objects velocity.
virtual const cVector3 | getDirection () const =0
Returns the audio objects direction.
virtual const float | getRolloffFactor () const =0
Returns the factor used in attenuating the source over distance.
virtual const float | getStrength () const =0
Returns the strength of the source.
virtual const float | getMinDistance () const =0
Returns the distance from the source where attenuation will begin.
virtual const float | getMaxDistance () const =0
Returns the distance from the source where attenuation will stop.
virtual const float | getPitch () const =0
Returns the pitch of the source.
virtual const float | getVolume () const =0
Returns the source volume before attenuation and other effects.
virtual const float | getMinVolume () const =0
Returns the minimum volume that the source can be attenuated to.
virtual const float | getMaxVolume () const =0
Returns the maximum volume that the source can achieve.
virtual const float | getInnerConeAngle () const =0
Returns the angle of the inner sound cone of the source.
virtual const float | getOuterConeAngle () const =0
Returns the angle of the outer sound cone of the source.
virtual const float | getOuterConeVolume () const =0
Returns how much the volume of the source is scaled in the outer cone.
virtual const float | getDopplerStrength () const =0
Returns the doppler strength, which enhances or diminishes the doppler effect.
virtual const cVector3 | getDopplerVelocity () const =0
Returns the override for the doppler velocity vector.
virtual void | registerEventHandler (ISourceEventHandler *handler)=0
Registers a new event handler to this source.
virtual void | unRegisterEventHandler (ISourceEventHandler *handler)=0
Removes a specified event handler from this source.
virtual void | unRegisterAllEventHandlers ()=0
Removes all event handlers attached to this source.
virtual unsigned int | getNumEffectSlotsAvailable () const =0
Returns the number of effects at one time this source can support.
virtual bool | attachEffect (unsigned int slot, IEffect *effect)=0
Attaches an EFX audio effect to this sound source to a specific slot.
virtual void | removeEffect (unsigned int slot)=0
Removes an EFX audio effect from this sound source.
virtual bool | attachFilter (IFilter *filter)=0
Attaches an audio filter to this sound source that will operate on the direct feed, separate from any effects.
virtual void | removeFilter ()=0
Removes a previously attached filter.

Detailed Description

Interface for a single audio source, which allow you to manipulate sound sources (speakers) in 2D or 3D space.

Definition at line 19 of file IAudioSource.h.

Member Function Documentation

virtual bool cAudio::IAudioSource::attachEffect | ( | unsigned int | slot,
 |  | IEffect * | effect |
 | ) |  |  | [pure virtual]

Attaches an EFX audio effect to this sound source to a specific slot.

Parameters:
slot,: Slot to attach this effect to. Range: 0 to getNumEffectSlotsAvailable().
effect,: Pointer to an effect object to attach.
Returns:
Whether the effect was successfully attached.

Implemented in cAudio::cAudioSource.

virtual bool cAudio::IAudioSource::attachFilter ( IFilter * filter ) [pure virtual]

Attaches an audio filter to this sound source that will operate on the direct feed, separate from any effects.

Parameters:
filter,: Pointer to the filter to attach. Any previous filter will be dropped.
Returns:
Whether the filter was successfully attached.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::loop ( const bool & toLoop ) [pure virtual]

Controls whether the source should loop or not.

Parameters:
toLoop,: Whether to loop (restart) the audio when the end is reached.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::move ( const cVector3 & position ) [pure virtual]

Convenience function to automatically set the velocity and position for you in a single call.

Velocity will be set to new position - last position.

Parameters:
position,: Position to move the source to.

Implemented in cAudio::cAudioSource.

virtual bool cAudio::IAudioSource::play ( ) [pure virtual]

Plays the source with the last set parameters.

Returns:
True if the source is playing, false if not.

Implemented in cAudio::cAudioSource.

virtual bool cAudio::IAudioSource::play2d ( const bool & toLoop = false ) [pure virtual]

Plays the source in 2D mode.

No automatic attenuation or panning will take place in this mode, but using setPosition will allow you to manually pan mono audio streams.

Parameters:
toLoop,: Whether to loop (restart) the audio when the end is reached.
Returns:
True if the source is playing, false if not.

Implemented in cAudio::cAudioSource.

virtual bool cAudio::IAudioSource::play3d | ( | const cVector3 & | position,
 |  | const float & | soundstr = 1.0,
 |  | const bool & | toLoop = false |
 | ) |  |  | [pure virtual]

Plays the source in 3D mode.

Parameters:
position,: Position to start the sound off at.
soundstr,: Affects how the source attenuates due to distance. Higher values cause the source to stand out more over distance.
toLoop,: Whether to loop (restart) the audio when the end is reached.
Returns:
True if the source is playing, false if not.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::registerEventHandler ( ISourceEventHandler * handler ) [pure virtual]

Registers a new event handler to this source.

Parameters:
handler,: Pointer to the event handler to register.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::removeEffect ( unsigned int slot ) [pure virtual]

Removes an EFX audio effect from this sound source.

Parameters:
slot,: Slot of the effect to remove. Range: 0 to getNumEffectSlotsAvailable().

Implemented in cAudio::cAudioSource.

virtual bool cAudio::IAudioSource::seek | ( | const float & | seconds,
 |  | bool | relative = false |
 | ) |  |  | [pure virtual]

Seeks through the audio stream to a specific spot.

Note: May not be supported by all codecs.

Parameters:
seconds,: Number of seconds to seek.
relative,: Whether to seek from the current position or the start of the stream.
Returns:
True on success, False if the codec does not support seeking.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setDirection ( const cVector3 & direction ) [pure virtual]

Sets the direction the source is facing.

Parameters:
direction,: A 3D vector giving the direction that the source is aiming.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setDopplerStrength ( const float & dstrength ) [pure virtual]

Sets the doppler strength, which enhances or diminishes the doppler effect. Can be used to exaggerate the doppler for a special effect.

Range: 0.0f to +inf (Default: 1.0f).

Parameters:
dstrength,: New strength for the doppler effect.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setDopplerVelocity ( const cVector3 & dvelocity ) [pure virtual]

Overrides the doppler velocity vector. It is usually better to let the engine take care of it automatically.

Note: must be set every time you set the position, velocity, or direction.

Parameters:
dvelocity,: New doppler vector for the source.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setInnerConeAngle ( const float & innerAngle ) [pure virtual]

Sets the angle of the inner sound cone of the source. The cone opens up in the direction of the source as set by setDirection().

Note: This causes the sound to be loudest only if the listener is inside this cone. Range: 0.0f to 360.0f (Default: 360.0f).

Parameters:
innerAngle,: Inside angle of the cone.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setMaxDistance ( const float & maxDistance ) [pure virtual]

Sets the distance from the source where attenuation will stop.

Range: 0.0f to +inf

Parameters:
maxDistance,: Distance where attenuation will cease. Normally the farthest range you can hear the source.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setMaxVolume ( const float & maxVolume ) [pure virtual]

Sets the maximum volume that the source can achieve.

Range: 0.0f to +inf (Default: 1.0f).

Parameters:
maxVolume,: New maximum volume of the source.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setMinDistance ( const float & minDistance ) [pure virtual]

Sets the distance from the source where attenuation will begin.

Range: 0.0f to +inf

Parameters:
minDistance,: Distance from the source where attenuation begins.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setMinVolume ( const float & minVolume ) [pure virtual]

Sets the minimum volume that the source can be attenuated to.

Range: 0.0f to +inf (Default: 0.0f).

Parameters:
minVolume,: New minimum volume of the source.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setOuterConeAngle ( const float & outerAngle ) [pure virtual]

Sets the angle of the outer sound cone of the source. The cone opens up in the direction of the source as set by setDirection().

Note: If the listener is outside of this cone, the sound cannot be heard. Between the inner cone angle and this angle, the sound volume will fall off. Range: 0.0f to 360.0f (Default: 360.0f).

Parameters:
outerAngle,: Outside angle of the cone.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setOuterConeVolume ( const float & outerVolume ) [pure virtual]

Sets how much the volume of the source is scaled in the outer cone.

Range: 0.0f to +inf (Default: 0.0f).

Parameters:
outerVolume,: Volume of the source in the outside cone.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setPitch ( const float & pitch ) [pure virtual]

Sets the pitch of the source.

Range: 0.0f to +inf (Default: 1.0f)

Parameters:
pitch,: New pitch level. Note that higher values will speed up the playback of the sound.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setPosition ( const cVector3 & position ) [pure virtual]

Sets the position of the source in 3D space.

Parameters:
position,: A 3D vector giving the new location to put this source.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setRolloffFactor ( const float & rolloff ) [pure virtual]

Sets the factor used in attenuating the source over distance.

Larger values make it attenuate faster, smaller values make the source carry better. Range: 0.0f to +inf (Default: 1.0f).

Parameters:
rolloff,: The rolloff factor to apply to the attenuation calculation.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setStrength ( const float & soundstrength ) [pure virtual]

Sets how well the source carries over distance.

Same as setRolloffFactor(1.0f/soundstrength). Range: 0.0f to +inf (Default: 1.0f).

Parameters:
soundstrength,: How well the sound carries over distance.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setVelocity ( const cVector3 & velocity ) [pure virtual]

Sets the current velocity of the source for doppler effects.

Parameters:
velocity,: A 3D vector giving the speed and direction that the source is moving.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setVolume ( const float & volume ) [pure virtual]

Sets the source volume before attenuation and other effects.

Range: 0.0f to +inf (Default: 1.0f).

Parameters:
volume,: New volume of the source.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::unRegisterEventHandler ( ISourceEventHandler * handler ) [pure virtual]

Removes a specified event handler from this source.

Parameters:
handler,: Pointer to the event handler to remove.

Implemented in cAudio::cAudioSource.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioSource.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:33 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::ICaptureEventHandler Class Reference

cAudio::ICaptureEventHandler

cAudio::ICaptureEventHandler Class Reference

Interface for recieving Capture Manager Events. More...

#include <ICaptureEventHandler.h>

List of all members.

Public Member Functions

virtual void | onInit ()=0
This function is called on capture device intialize.
virtual void | onUpdate ()=0
This function is called when the capture manager update's its internal buffers.
virtual void | onRelease ()=0
This function is called on capture device shutdown.
virtual void | onBeginCapture ()=0
This function is called when the user begins capturing audio.
virtual void | onEndCapture ()=0
This function is called when the user ends a capture operation.
virtual void | onUserRequestBuffer ()=0
This function is called whe user requests data from the capture buffer.

Detailed Description

Interface for recieving Capture Manager Events.

Definition at line 11 of file ICaptureEventHandler.h.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/ICaptureEventHandler.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:33 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::IDataSource Class Reference

cAudio::IDataSource

cAudio::IDataSource Class Reference

Interface for data providers in cAudio. More...

#include <IDataSource.h>

Inherits cAudio::IRefCounted.

Inherited by cAudio::cFileSource, and cAudio::cMemorySource.

Collaboration diagram for cAudio::IDataSource:
[legend]

List of all members.

Public Member Functions

virtual bool | isValid ()=0
Returns whether the source is valid.
virtual int | getCurrentPos ()=0
Returns the current location in the data stream.
virtual int | getSize ()=0
Returns the total size of the data stream.
virtual int | read (void *output, int size)=0
Reads out a section of the data stream.
virtual bool | seek (int amount, bool relative)=0
Seek to a position in the data stream.

Detailed Description

Interface for data providers in cAudio.

Definition at line 13 of file IDataSource.h.

Member Function Documentation

virtual bool cAudio::IDataSource::isValid ( ) [pure virtual]

Returns whether the source is valid.

Returns:
Returns false in case of an error, like the file couldn't be found.

Implemented in cAudio::cFileSource, and cAudio::cMemorySource.

virtual int cAudio::IDataSource::read | ( | void * | output,
 |  | int | size |
 | ) |  |  | [pure virtual]

Reads out a section of the data stream.

Parameters:
output,: Pointer to a location to put the read data.
size,: Size in bytes of the data to read.
Returns:
Number of bytes actually read. 0 bytes may indicate end of file or stream.

Implemented in cAudio::cFileSource, and cAudio::cMemorySource.

virtual bool cAudio::IDataSource::seek | ( | int | amount,
 |  | bool | relative |
 | ) |  |  | [pure virtual]

Seek to a position in the data stream.

Parameters:
amount,: Amount in bytes to seek to.
relative,: If true the number of bytes in amount is relative to the current position in the stream.
Returns:
True if seek was successful, false if not.

Implemented in cAudio::cFileSource, and cAudio::cMemorySource.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IDataSource.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:33 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::IDataSourceFactory Class Reference

cAudio::IDataSourceFactory

cAudio::IDataSourceFactory Class Reference

Interface for creating data sources for use with the engine. More...

#include <IDataSourceFactory.h>

Inherited by cAudio::cFileSourceFactory.

List of all members.

Public Member Functions

virtual IDataSource * CreateDataSource (const char *filename, bool streamingRequested)=0
Creates a data source instance for use with the engine.

Detailed Description

Interface for creating data sources for use with the engine.

Definition at line 13 of file IDataSourceFactory.h.

Member Function Documentation

virtual IDataSource* cAudio::IDataSourceFactory::CreateDataSource | ( | const char * | filename,
 |  | bool | streamingRequested |
 | ) |  |  | [pure virtual]

Creates a data source instance for use with the engine.

Parameters:
filename,: Filename of the file to get a stream for.
streamingRequested,: True if the user requested streaming capabilities from the data source.
Returns:
A pointer to a data source instance or NULL on failure to allocate.

Implemented in cAudio::cFileSourceFactory.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IDataSourceFactory.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:33 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::IEffect Class Reference

cAudio::IEffect

cAudio::IEffect Class Reference

Interface for a single effect in cAudio. More...

#include <IEffect.h>

Inherits cAudio::IRefCounted.

Inherited by cAudio::cEffect.

Collaboration diagram for cAudio::IEffect:
[legend]

List of all members.

Public Member Functions

virtual const EffectTypes & | getType () const =0
Returns the current type this effect object is set to.
virtual void | setType (const EffectTypes &type)=0
Sets the type of this effect object.
virtual const
sEAXReverbParameters & 		getEAXReverbParameters () const =0
Returns the current parameters for the EAX Reverb Effect.
virtual void | setEAXReverbParameters (const sEAXReverbParameters &param)=0
Sets the parameters for the EAX Reverb Effect.
virtual const sReverbParameters & | getReverbParameters () const =0
Returns the current parameters for the Reverb Effect.
virtual void | setReverbParameters (const sReverbParameters &param)=0
Sets the parameters for the Reverb Effect.
virtual const sChorusParameters & | getChorusParameters () const =0
Returns the current parameters for the Chorus Effect.
virtual void | setChorusParameters (const sChorusParameters &param)=0
Sets the parameters for the Chorus Effect.
virtual const
sDistortionParameters & 		getDistortionParameters () const =0
Returns the current parameters for the Distortion Effect.
virtual void | setDistortionParameters (const sDistortionParameters &param)=0
Sets the parameters for the Distortion Effect.
virtual const sEchoParameters & | getEchoParameters () const =0
Returns the current parameters for the Echo Effect.
virtual void | setEchoParameters (const sEchoParameters &param)=0
Sets the parameters for the Echo Effect.
virtual const sFlangerParameters & | getFlangerParameters () const =0
Returns the current parameters for the Flanger Effect.
virtual void | setFlangerParameters (const sFlangerParameters &param)=0
Sets the parameters for the Flanger Effect.
virtual const
sFrequencyShiftParameters & 		getFrequencyShiftParameters () const =0
Returns the current parameters for the Frequency Shift Effect.
virtual void | setFrequencyShiftParameters (const sFrequencyShiftParameters &param)=0
Sets the parameters for the Frequency Shift Effect.
virtual const
sVocalMorpherParameters & 		getVocalMorpherParameters () const =0
Returns the current parameters for the Vocal Morpher Effect.
virtual void | setVocalMorpherParameters (const sVocalMorpherParameters &param)=0
Sets the parameters for the Vocal Morpher Effect.
virtual const
sPitchShifterParameters & 		getPitchShifterParameters () const =0
Returns the current parameters for the Pitch Shifter Effect.
virtual void | setPitchShifterParameters (const sPitchShifterParameters &param)=0
Sets the parameters for the Pitch Shifter Effect.
virtual const
sRingModulatorParameters & 		getRingModulatorParameters () const =0
Returns the current parameters for the Ring Modulator Effect.
virtual void | setRingModulatorParameters (const sRingModulatorParameters &param)=0
Sets the parameters for the Ring Modulator Effect.
virtual const sAutowahParameters & | getAutowahParameters () const =0
Returns the current parameters for the Autowah Effect.
virtual void | setAutowahParameters (const sAutowahParameters &param)=0
Sets the parameters for the Autowah Effect.
virtual const
sCompressorParameters & 		getCompressorParameters () const =0
Returns the current parameters for the Compressor Effect.
virtual void | setCompressorParameters (const sCompressorParameters &param)=0
Sets the parameters for the Compressor Effect.
virtual const
sEqualizerParameters & 		getEqualizerParameters () const =0
Returns the current parameters for the Equalizer Effect.
virtual void | setEqualizerParameters (const sEqualizerParameters &param)=0
Sets the parameters for the Equalizer Effect.
virtual float | getMasterVolume () const =0
Returns the master volume for this effect.
virtual void | setMasterVolume (const float &volume)=0
Sets the master volume for this effect.
virtual bool | isIgnoringAttenuation () const =0
Returns if the effect for each attached source is attenuated by distance.
virtual void | ignoreAttenuation (const bool &ignore)=0
Sets whether the effect for each attached source is attenuated by distance.
virtual IFilter * | getFilter () const =0
Returns the attached filter to this audio effect.
virtual void | attachFilter (IFilter *filter)=0
Attaches a filter to this effect.
virtual void | removeFilter ()=0
Removes the currently attached filter.
virtual unsigned int | getLastUpdated () const =0
Returns a timestamp indicating the last time settings on this effect were changed. Used internally by the engine to update attached sources.
virtual bool | isValid () const =0
Returns if this effect is ready to be used or if it has encountered a fatal error.

Detailed Description

Interface for a single effect in cAudio.

Definition at line 38 of file IEffect.h.

Member Function Documentation

virtual void cAudio::IEffect::attachFilter ( IFilter * filter ) [pure virtual]

Attaches a filter to this effect.

Parameters:
filter,: A Pointer to the filter to attach.

Implemented in cAudio::cEffect.

virtual float cAudio::IEffect::getMasterVolume ( ) const [pure virtual]

Returns the master volume for this effect.

This volume scales the amount of effect audible from all attached sources.

Returns:
Currently set volume.

Implemented in cAudio::cEffect.

virtual void cAudio::IEffect::ignoreAttenuation ( const bool & ignore ) [pure virtual]

Sets whether the effect for each attached source is attenuated by distance.

If set to true, can cause some interesting and non-realistic effects, so be careful with it.

Parameters:
ignore,: Whether to ignore attenuation.

Implemented in cAudio::cEffect.

virtual void cAudio::IEffect::setAutowahParameters ( const sAutowahParameters & param ) [pure virtual]

Sets the parameters for the Autowah Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implemented in cAudio::cEffect.

virtual void cAudio::IEffect::setChorusParameters ( const sChorusParameters & param ) [pure virtual]

Sets the parameters for the Chorus Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implemented in cAudio::cEffect.

virtual void cAudio::IEffect::setCompressorParameters ( const sCompressorParameters & param ) [pure virtual]

Sets the parameters for the Compressor Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implemented in cAudio::cEffect.

virtual void cAudio::IEffect::setDistortionParameters ( const sDistortionParameters & param ) [pure virtual]

Sets the parameters for the Distortion Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implemented in cAudio::cEffect.

virtual void cAudio::IEffect::setEAXReverbParameters ( const sEAXReverbParameters & param ) [pure virtual]

Sets the parameters for the EAX Reverb Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implemented in cAudio::cEffect.

virtual void cAudio::IEffect::setEchoParameters ( const sEchoParameters & param ) [pure virtual]

Sets the parameters for the Echo Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implemented in cAudio::cEffect.

virtual void cAudio::IEffect::setEqualizerParameters ( const sEqualizerParameters & param ) [pure virtual]

Sets the parameters for the Equalizer Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implemented in cAudio::cEffect.

virtual void cAudio::IEffect::setFlangerParameters ( const sFlangerParameters & param ) [pure virtual]

Sets the parameters for the Flanger Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implemented in cAudio::cEffect.

virtual void cAudio::IEffect::setFrequencyShiftParameters ( const sFrequencyShiftParameters & param ) [pure virtual]

Sets the parameters for the Frequency Shift Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implemented in cAudio::cEffect.

virtual void cAudio::IEffect::setMasterVolume ( const float & volume ) [pure virtual]

Sets the master volume for this effect.

This volume scales the amount of effect audible from all attached sources.

Parameters:
volume,: Volume to set the master volume to. 1.0f equal no volume change. Range: 0.0f to 1.0.

Implemented in cAudio::cEffect.

virtual void cAudio::IEffect::setPitchShifterParameters ( const sPitchShifterParameters & param ) [pure virtual]

Sets the parameters for the Pitch Shifter Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implemented in cAudio::cEffect.

virtual void cAudio::IEffect::setReverbParameters ( const sReverbParameters & param ) [pure virtual]

Sets the parameters for the Reverb Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implemented in cAudio::cEffect.

virtual void cAudio::IEffect::setRingModulatorParameters ( const sRingModulatorParameters & param ) [pure virtual]

Sets the parameters for the Ring Modulator Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implemented in cAudio::cEffect.

virtual void cAudio::IEffect::setType ( const EffectTypes & type ) [pure virtual]

Sets the type of this effect object.

Parameters:
type,: Type of effect to switch to.

Implemented in cAudio::cEffect.

virtual void cAudio::IEffect::setVocalMorpherParameters ( const sVocalMorpherParameters & param ) [pure virtual]

Sets the parameters for the Vocal Morpher Effect.

Parameters:
param,: Parameter struct to set this effect to.

Implemented in cAudio::cEffect.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffect.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:33 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::IFilter Class Reference

cAudio::IFilter

cAudio::IFilter Class Reference

Interface for a filter in cAudio. More...

#include <IFilter.h>

Inherits cAudio::IRefCounted.

Inherited by cAudio::cFilter.

Collaboration diagram for cAudio::IFilter:
[legend]

List of all members.

Public Member Functions

virtual const FilterTypes & | getType () const =0
Returns the type of the filter.
virtual void | setType (const FilterTypes &type)=0
Sets the type of this filter.
virtual float | getVolume () const =0
Returns the master volume of this filter.
virtual void | setVolume (const float &volume)=0
Sets the master volume of this filter.
virtual float | getLowFrequencyVolume () const =0
Returns the volume for low frequencies.
virtual void | setLowFrequencyVolume (const float &volumeLF)=0
Sets the volume for low frequencies.
virtual float | getHighFrequencyVolume () const =0
Returns the volume for high frequencies.
virtual void | setHighFrequencyVolume (const float &volumeHF)=0
Sets the volume for high frequencies.
virtual unsigned int | getLastUpdated () const =0
Returns a timestamp indicating the last time settings on this filter were changed. Used internally by the engine to update attached sources or effects.
virtual bool | isValid () const =0
Returns if this filter is ready to be used or if it has encountered a fatal error.

Detailed Description

Interface for a filter in cAudio.

Definition at line 26 of file IFilter.h.

Member Function Documentation

virtual void cAudio::IFilter::setHighFrequencyVolume ( const float & volumeHF ) [pure virtual]

Sets the volume for high frequencies.

This volume scales higher frequency audio that goes through it by this amount.

Parameters:
volume,: New volume amount. Range: 0.0f to 1.0.

Implemented in cAudio::cFilter.

virtual void cAudio::IFilter::setLowFrequencyVolume ( const float & volumeLF ) [pure virtual]

Sets the volume for low frequencies.

This volume scales lower frequency audio that goes through it by this amount.

Parameters:
volume,: New volume amount. Range: 0.0f to 1.0.

Implemented in cAudio::cFilter.

virtual void cAudio::IFilter::setType ( const FilterTypes & type ) [pure virtual]

Sets the type of this filter.

Parameters:
type,: Type of filter to set this filter up as.

Implemented in cAudio::cFilter.

virtual void cAudio::IFilter::setVolume ( const float & volume ) [pure virtual]

Sets the master volume of this filter.

This volume scales all audio that goes through it by this amount.

Parameters:
volume,: New volume amount. Range: 0.0f to 1.0.

Implemented in cAudio::cFilter.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IFilter.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::IListener Class Reference

cAudio::IListener

cAudio::IListener Class Reference

Interface for the listener in cAudio. This class provides abilities to move and orient where your camera or user is in the audio world. More...

#include <IListener.h>

Inherited by cAudio::cListener.

List of all members.

Public Member Functions

virtual void | setPosition (const cVector3 &pos)=0
Sets the position of the listener.
virtual void | setDirection (const cVector3 &dir)=0
Sets the direction the listener is facing.
virtual void | setUpVector (const cVector3 &up)=0
Sets the up vector to use for the listener.
virtual void | setVelocity (const cVector3 &vel)=0
Sets the current velocity of the listener for doppler effects.
virtual void | setMasterVolume (const float &volume)=0
Sets the global volume modifier (will effect all sources).
virtual void | move (const cVector3 &pos)=0
Convenience function to automatically set the velocity and position for you in a single call.
virtual cVector3 | getPosition (void) const =0
Returns the current position of the listener.
virtual cVector3 | getDirection (void) const =0
Returns the current direction of the listener.
virtual cVector3 | getUpVector (void) const =0
Returns the current up vector of the listener.
virtual cVector3 | getVelocity (void) const =0
Returns the current velocity of the listener.
virtual float | getMasterVolume (void) const =0
Returns the global volume modifier for all sources.
virtual void | setMetersPerUnit (const float &meters)=0
Sets the meters per user world unit for use with sound effects.
virtual float | getMetersPerUnit (void) const =0
Returns the meters per user world unit for use with sound effects.

Detailed Description

Interface for the listener in cAudio. This class provides abilities to move and orient where your camera or user is in the audio world.

Definition at line 14 of file IListener.h.

Member Function Documentation

virtual void cAudio::IListener::move ( const cVector3 & pos ) [pure virtual]

Convenience function to automatically set the velocity and position for you in a single call.

Velocity will be set to new position - last position

Parameters:
pos,: New position to move the listener to.

Implemented in cAudio::cListener.

virtual void cAudio::IListener::setDirection ( const cVector3 & dir ) [pure virtual]

Sets the direction the listener is facing.

Parameters:
dir,: New direction vector for the listener.

Implemented in cAudio::cListener.

virtual void cAudio::IListener::setMasterVolume ( const float & volume ) [pure virtual]

Sets the global volume modifier (will effect all sources).

Parameters:
volume,: Volume to scale all sources by. Range: 0.0 to +inf.

Implemented in cAudio::cListener.

virtual void cAudio::IListener::setMetersPerUnit ( const float & meters ) [pure virtual]

Sets the meters per user world unit for use with sound effects.

Parameters:
meters,: Number of meters per world unit in your simulation.

Implemented in cAudio::cListener.

virtual void cAudio::IListener::setPosition ( const cVector3 & pos ) [pure virtual]

Sets the position of the listener.

Note that you will still have to set velocity after this call for proper doppler effects. Use move() if you'd like to have cAudio automatically handle velocity for you.

Parameters:
pos,: New position for the listener.

Implemented in cAudio::cListener.

virtual void cAudio::IListener::setUpVector ( const cVector3 & up ) [pure virtual]

Sets the up vector to use for the listener.

Default up vector is Y+, same as OpenGL.

Parameters:
up,: New up vector for the listener.

Implemented in cAudio::cListener.

virtual void cAudio::IListener::setVelocity ( const cVector3 & vel ) [pure virtual]

Sets the current velocity of the listener for doppler effects.

Parameters:
vel,: New velocity for the listener.

Implemented in cAudio::cListener.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IListener.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::ILogger Class Reference

cAudio::ILogger

cAudio::ILogger Class Reference

Interface for all logging operations in cAudio. More...

#include <ILogger.h>

Inherited by cAudio::cLogger.

List of all members.

Public Member Functions

virtual void | logCritical (const char *sender, const char *msg,...)=0
Used to log a critical error message to the logging system.
virtual void | logError (const char *sender, const char *msg,...)=0
Used to log an error message to the logging system.
virtual void | logWarning (const char *sender, const char *msg,...)=0
Used to log a warning to the logging system.
virtual void | logInfo (const char *sender, const char *msg,...)=0
Used to log an informational message to the logging system.
virtual void | logDebug (const char *sender, const char *msg,...)=0
Used to log a debug message to the logging system.
virtual const LogLevel & | getLogLevel () const =0
Returns the minimum log level that will be sent to the log receivers.
virtual void | setLogLevel (const LogLevel &logLevel)=0
Sets the minimum log level that the engine will send to log receivers.
virtual bool | registerLogReceiver (ILogReceiver *receiver, const char *name)=0
Register Log Receiver.
virtual void | unRegisterLogReceiver (const char *name)=0
Unregister a Log Receiver.
virtual bool | isLogReceiverRegistered (const char *name)=0
Returns whether an log receiver is currently registered.
virtual ILogReceiver * | getLogReceiver (const char *name)=0
Returns a registered log receiver.

Detailed Description

Interface for all logging operations in cAudio.

Definition at line 14 of file ILogger.h.

Member Function Documentation

virtual ILogReceiver* cAudio::ILogger::getLogReceiver ( const char * name ) [pure virtual]

Returns a registered log receiver.

Parameters:
name,: Name of the log receiver to return.
Returns:
Pointer to the found log receiver or NULL if it could not be found.

Implemented in cAudio::cLogger.

virtual bool cAudio::ILogger::isLogReceiverRegistered ( const char * name ) [pure virtual]

Returns whether an log receiver is currently registered.

Parameters:
name,: Name of the log receiver to check for.

Implemented in cAudio::cLogger.

virtual void cAudio::ILogger::logCritical | ( | const char * | sender,
 |  | const char * | msg,
 |  |  | ... |
 | ) |  |  | [pure virtual]

Used to log a critical error message to the logging system.

Parameters:
sender,: Name of the class/component sending the message.
msg,: The message to send.

Implemented in cAudio::cLogger.

virtual void cAudio::ILogger::logDebug | ( | const char * | sender,
 |  | const char * | msg,
 |  |  | ... |
 | ) |  |  | [pure virtual]

Used to log a debug message to the logging system.

Parameters:
sender,: Name of the class/component sending the message.
msg,: The message to send.

Implemented in cAudio::cLogger.

virtual void cAudio::ILogger::logError | ( | const char * | sender,
 |  | const char * | msg,
 |  |  | ... |
 | ) |  |  | [pure virtual]

Used to log an error message to the logging system.

Parameters:
sender,: Name of the class/component sending the message.
msg,: The message to send.

Implemented in cAudio::cLogger.

virtual void cAudio::ILogger::logInfo | ( | const char * | sender,
 |  | const char * | msg,
 |  |  | ... |
 | ) |  |  | [pure virtual]

Used to log an informational message to the logging system.

Parameters:
sender,: Name of the class/component sending the message.
msg,: The message to send.

Implemented in cAudio::cLogger.

virtual void cAudio::ILogger::logWarning | ( | const char * | sender,
 |  | const char * | msg,
 |  |  | ... |
 | ) |  |  | [pure virtual]

Used to log a warning to the logging system.

Parameters:
sender,: Name of the class/component sending the message.
msg,: The message to send.

Implemented in cAudio::cLogger.

virtual bool cAudio::ILogger::registerLogReceiver | ( | ILogReceiver * | receiver,
 |  | const char * | name |
 | ) |  |  | [pure virtual]

Register Log Receiver.

Note: Any class registered will become owned by the internal thread. If threading is enabled, you MUST make the receiver threadsafe if you plan to access it in your application while it is registered.

Parameters:
receiver,: Pointer to your implementation of ILogReceiver.
name,: Name of the log receiver.
Returns:
True on success, False on failure.

Implemented in cAudio::cLogger.

virtual void cAudio::ILogger::setLogLevel ( const LogLevel & logLevel ) [pure virtual]

Sets the minimum log level that the engine will send to log receivers.

Primarily used to prevent too much verbose information from being sent to disk/console.

Parameters:
logLevel,: LogLevel to set as the new minimum. Anything equal to or greater than this level will be logged.

Implemented in cAudio::cLogger.

virtual void cAudio::ILogger::unRegisterLogReceiver ( const char * name ) [pure virtual]

Unregister a Log Receiver.

Will NOT delete any user added receiver, you must do that yourself.

Parameters:
name,: Name of the log receiver to remove.

Implemented in cAudio::cLogger.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/ILogger.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::ILogReceiver Class Reference

cAudio::ILogReceiver

cAudio::ILogReceiver Class Reference

Interface for receiving log messages and relaying them to some kind of output device or stream. More...

#include <ILogReceiver.h>

Inherited by cAudio::cConsoleLogReceiver, and cAudio::cFileLogReceiver.

List of all members.

Public Member Functions

virtual bool OnLogMessage (const char *sender, const char *message, LogLevel level, float time)=0
Called on every logged message that is greater than or equal to the minimum log level.

Detailed Description

Interface for receiving log messages and relaying them to some kind of output device or stream.

Definition at line 33 of file ILogReceiver.h.

Member Function Documentation

virtual bool cAudio::ILogReceiver::OnLogMessage | ( | const char * | sender,
 |  | const char * | message,
 |  | LogLevel | level,
 |  | float | time |
 | ) |  |  | [pure virtual]

Called on every logged message that is greater than or equal to the minimum log level.

Parameters:
sender,: The class/component sending the message.
message,: The log message itself.
level,: Log level of the message.
time,: Time in seconds that the message was sent. This time has millisecond accuracy.

Implemented in cAudio::cConsoleLogReceiver, and cAudio::cFileLogReceiver.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/ILogReceiver.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::IManagerEventHandler Class Reference

cAudio::IManagerEventHandler

cAudio::IManagerEventHandler Class Reference

Interface for event handlers for playback manager events. More...

#include <IManagerEventHandler.h>

List of all members.

Public Member Functions

virtual void | onInit ()=0
This function is called on manager initialization.
virtual void | onUpdate ()=0
This function is called on every manager update.
virtual void | onRelease ()=0
This function is called on manager shutdown.
virtual void | onSourceCreate ()=0
This function is called on when an audio source is created.
virtual void | onDecoderRegister ()=0
This function is called when an audio decoder is registered.
virtual void | onDataSourceRegister ()=0
This function is called when a data source is registered.

Detailed Description

Interface for event handlers for playback manager events.

Definition at line 11 of file IManagerEventHandler.h.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IManagerEventHandler.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::IMemoryProvider Class Reference

cAudio::IMemoryProvider

cAudio::IMemoryProvider Class Reference

Interface for a class that allocates and frees memory used by cAudio. More...

#include <IMemoryProvider.h>

Inherited by cAudio::cStandardMemoryProvider.

List of all members.

Public Member Functions

virtual void * | Allocate (size_t size, const char *filename, int line, const char *function)=0
Allocates memory and returns a pointer to it.
virtual void | Free (void *pointer)=0
Frees memory previously allocated.
virtual size_t | getMaxAllocationSize ()=0
Returns the largest possible single allocation that can be made.

Detailed Description

Interface for a class that allocates and frees memory used by cAudio.

Definition at line 9 of file IMemoryProvider.h.

Member Function Documentation

virtual void* cAudio::IMemoryProvider::Allocate | ( | size_t | size,
 |  | const char * | filename,
 |  | int | line,
 |  | const char * | function |
 | ) |  |  | [pure virtual]

Allocates memory and returns a pointer to it.

Parameters:
size,: Size of the memory chunk to allocate in bytes.
filename,: Filename of the source file that this allocation took place in (in Debug) or NULL otherwise.
line,: Line of the source file where this allocation took place (in Debug) or -1 otherwise.
function,: Function that this allocation took place in (in Debug) or NULL otherwise.
Returns:
Pointer to the allocated memory or NULL if allocation failed.

Implemented in cAudio::cStandardMemoryProvider.

virtual void cAudio::IMemoryProvider::Free ( void * pointer ) [pure virtual]

Frees memory previously allocated.

Parameters:
pointer,: Pointer to the memory location to free.

Implemented in cAudio::cStandardMemoryProvider.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IMemoryProvider.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::IPluginManager Class Reference

cAudio::IPluginManager

cAudio::IPluginManager Class Reference

Interface for the plugin capabilities of cAudio. More...

#include <IPluginManager.h>

Inherited by cAudio::cPluginManager.

List of all members.

Public Member Functions

virtual bool | installPlugin (IAudioPlugin *plugin, const char *name=NULL)=0
Installs a plugin using a statically linked plugin implementation.
virtual bool | installPlugin (const char *filename, const char *name=NULL)=0
Installs a plugin from a dynamically linked library on your hard drive.
virtual bool | checkForPlugin (const char *name)=0
Checks for the existance of a plugin with the supplied name.
virtual IAudioPlugin * | getPlugin (const char *name)=0
Returns a plugin interface for a plugin with the supplied name.
virtual unsigned int | getPluginCount ()=0
Returns the total number of installed plugins.
virtual void | uninstallPlugin (IAudioPlugin *plugin)=0
Removes a plugin installed via statically linked reference.
virtual void | uninstallPlugin (const char *name)=0
Removes a plugin with the specified name.

Detailed Description

Interface for the plugin capabilities of cAudio.

Definition at line 11 of file IPluginManager.h.

Member Function Documentation

virtual bool cAudio::IPluginManager::checkForPlugin ( const char * name ) [pure virtual]

Checks for the existance of a plugin with the supplied name.

Parameters:
name,: Name of the plugin to check for.

Implemented in cAudio::cPluginManager.

virtual IAudioPlugin* cAudio::IPluginManager::getPlugin ( const char * name ) [pure virtual]

Returns a plugin interface for a plugin with the supplied name.

Parameters:
name,: Name of the plugin to check return.
Returns:
A pointer to the plugin interface or NULL if it could not be found.

Implemented in cAudio::cPluginManager.

virtual bool cAudio::IPluginManager::installPlugin | ( | const char * | filename,
 |  | const char * | name = NULL |
 | ) |  |  | [pure virtual]

Installs a plugin from a dynamically linked library on your hard drive.

Parameters:
filename,: Path to the dll/so/dynlib on your hard drive.
name,: Optional name for the plugin. Pass NULL to have the plugin use its default name.
Returns:
True if plugin was installed successfully.

Implemented in cAudio::cPluginManager.

virtual bool cAudio::IPluginManager::installPlugin | ( | IAudioPlugin * | plugin,
 |  | const char * | name = NULL |
 | ) |  |  | [pure virtual]

Installs a plugin using a statically linked plugin implementation.

Parameters:
plugin,: Pointer to a plugin implementation to install.
name,: Optional name for the plugin. Pass NULL to have the plugin use its default name.
Returns:
True if plugin was installed successfully.

Implemented in cAudio::cPluginManager.

virtual void cAudio::IPluginManager::uninstallPlugin ( const char * name ) [pure virtual]

Removes a plugin with the specified name.

Parameters:
name,: Name of the plugin to uninstall.

Implemented in cAudio::cPluginManager.

virtual void cAudio::IPluginManager::uninstallPlugin ( IAudioPlugin * plugin ) [pure virtual]

Removes a plugin installed via statically linked reference.

Parameters:
plugin,: Pointer to the plugin implementation to uninstall.

Implemented in cAudio::cPluginManager.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IPluginManager.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:35 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::IRefCounted Class Reference

cAudio::IRefCounted

cAudio::IRefCounted Class Reference

Applies reference counting to certain cAudio objects. More...

#include <IRefCounted.h>

Inherited by cAudio::IAudioDecoder, cAudio::IAudioPlugin, cAudio::IAudioSource, cAudio::IDataSource, cAudio::IEffect, and cAudio::IFilter.

List of all members.

Public Member Functions

void | grab ()
Increments the reference count by one.
bool | drop ()
Decrements the reference count by one. If it hits zero, this object is deleted.
int | getReferenceCount () const
Returns the current reference count of this object.

Detailed Description

Applies reference counting to certain cAudio objects.

Definition at line 13 of file IRefCounted.h.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IRefCounted.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:35 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::ISourceEventHandler Class Reference

cAudio::ISourceEventHandler

cAudio::ISourceEventHandler Class Reference

Interface for event handlers on Audio Sources. More...

#include <ISourceEventHandler.h>

List of all members.

Public Member Functions

virtual void | onUpdate ()=0
This function is called when a source updates its buffers.
virtual void | onRelease ()=0
This function is called when a source is released and soon to be deleted.
virtual void | onPlay ()=0
This function is called when a source starts playing.
virtual void | onStop ()=0
This function is called when a source stopped playback.
virtual void | onPause ()=0
This function is called when a source is paused.

Detailed Description

Interface for event handlers on Audio Sources.

Definition at line 11 of file ISourceEventHandler.h.

The documentation for this class was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/ISourceEventHandler.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:35 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cSTLAllocator< void >::rebind< U > Struct Template Reference

cAudio::cSTLAllocator< void >::rebind

cAudio::cSTLAllocator< void >::rebind< U > Struct Template Reference

List of all members.

Public Types

typedef cSTLAllocator< U > other

Detailed Description

template<>
template<typename U>
struct cAudio::cSTLAllocator< void >::rebind< U >

Definition at line 97 of file cSTLAllocator.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cSTLAllocator.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::cSTLAllocator< T >::rebind< U > Struct Template Reference

cAudio::cSTLAllocator::rebind

cAudio::cSTLAllocator< T >::rebind< U > Struct Template Reference

List of all members.

Public Types

typedef cSTLAllocator< U > other

Detailed Description

template<typename T>
template<typename U>
struct cAudio::cSTLAllocator< T >::rebind< U >

Definition at line 29 of file cSTLAllocator.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cSTLAllocator.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::sAutowahParameters Struct Reference

cAudio::sAutowahParameters

cAudio::sAutowahParameters Struct Reference

The Auto-wah effect emulates the sound of a wah-wah pedal used with an electric guitar, or a mute on a brass instrument. More...

#include <IEffectParameters.h>

List of all members.

Public Member Functions

sAutowahParameters (float attackTime=0.06f, float releaseTime=0.06f, float resonance=1000.0f, float peakGain=11.22f)

Public Attributes

float | AttackTime
float | ReleaseTime
float | Resonance
float | PeakGain

Detailed Description

The Auto-wah effect emulates the sound of a wah-wah pedal used with an electric guitar, or a mute on a brass instrument.

Definition at line 714 of file IEffectParameters.h.

Member Data Documentation

float cAudio::sAutowahParameters::AttackTime

This property controls the time the filtering effect takes to sweep from minimum to maximum center frequency when it is triggered by input signal. Range: 0.0001 to 1.0

Definition at line 726 of file IEffectParameters.h.

float cAudio::sAutowahParameters::PeakGain

This property controls the input signal level at which the band-pass filter will be fully opened. Range: 0.00003 to 31621.0

Definition at line 741 of file IEffectParameters.h.

float cAudio::sAutowahParameters::ReleaseTime

This property controls the time the filtering effect takes to sweep from maximum back to base center frequency, when the input signal ends. Range: 0.0001 to 1.0

Definition at line 730 of file IEffectParameters.h.

float cAudio::sAutowahParameters::Resonance

This property controls the resonant peak, sometimes known as emphasis or Q, of the auto-wah band-pass filter. Resonance occurs when the effect boosts the frequency content of the sound around the point at which the filter is working. A high value promotes a highly resonant, sharp sounding effect. Range: 2.0 to 1000.0

Definition at line 737 of file IEffectParameters.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffectParameters.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::sChorusParameters Struct Reference

cAudio::sChorusParameters

cAudio::sChorusParameters Struct Reference

The chorus effect essentially replays the input audio accompanied by another slightly delayed version of the signal, creating a "doubling" effect. More...

#include <IEffectParameters.h>

List of all members.

Public Types

enum | ChorusWaveform { ECW_SINUSOID, ECW_TRIANGLE, ECW_COUNT }

Public Member Functions

sChorusParameters (ChorusWaveform waveform=ECW_TRIANGLE, int phase=90, float rate=1.1f, float depth=0.1f, float feedback=0.25f, float delay=0.016f)

Public Attributes

ChorusWaveform | Waveform
This property sets the waveform shape of the LFO that controls the delay time of the delayed signals.
int | Phase
float | Rate
float | Depth
float | Feedback
float | Delay

Detailed Description

The chorus effect essentially replays the input audio accompanied by another slightly delayed version of the signal, creating a "doubling" effect.

Definition at line 375 of file IEffectParameters.h.

Member Data Documentation

float cAudio::sChorusParameters::Delay

This property controls the average amount of time the sample is delayed before it is played back, and with feedback, the amount of time between iterations of the sample. Larger values lower the pitch. Smaller values make the chorus sound like a flanger, but with different frequency characteristics. Range: 0.0 to 0.016

Definition at line 422 of file IEffectParameters.h.

float cAudio::sChorusParameters::Depth

This property controls the amount by which the delay time is modulated by the LFO. Range: 0.0 to 1.0

Definition at line 408 of file IEffectParameters.h.

float cAudio::sChorusParameters::Feedback

This property controls the amount of processed signal that is fed back to the input of the chorus effect. Negative values will reverse the phase of the feedback signal. At full magnitude the identical sample will repeat endlessly. At lower magnitudes the sample will repeat and fade out over time. Use this parameter to create a "cascading" chorus effect. Range: -1.0 to 1.0

Definition at line 415 of file IEffectParameters.h.

int cAudio::sChorusParameters::Phase

This property controls the phase difference between the left and right LFO's. At zero degrees the two LFOs are synchronized. Use this parameter to create the illusion of an expanded stereo field of the output signal. Range: -180 to 180

Definition at line 400 of file IEffectParameters.h.

float cAudio::sChorusParameters::Rate

This property sets the modulation rate of the LFO that controls the delay time of the delayed signals. Range: 0.0 to 10.0

Definition at line 404 of file IEffectParameters.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffectParameters.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::sCompressorParameters Struct Reference

cAudio::sCompressorParameters

cAudio::sCompressorParameters Struct Reference

The Automatic Gain Control effect performs the same task as a studio compressor, evening out the audio dynamic range of an input sound. More...

#include <IEffectParameters.h>

List of all members.

Public Member Functions

sCompressorParameters (bool active=true)

Public Attributes

bool Active
The Compressor can only be switched on and off – it cannot be adjusted.

Detailed Description

The Automatic Gain Control effect performs the same task as a studio compressor, evening out the audio dynamic range of an input sound.

Definition at line 745 of file IEffectParameters.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffectParameters.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::sDistortionParameters Struct Reference

cAudio::sDistortionParameters

cAudio::sDistortionParameters Struct Reference

The distortion effect simulates turning up (overdriving) the gain stage on a guitar amplifier or adding a distortion pedal to an instrument's output. More...

#include <IEffectParameters.h>

List of all members.

Public Member Functions

sDistortionParameters (float edge=0.2f, float gain=0.05f, float lowpassCutoff=8000.0f, float eqCenter=3600.0f, float eqBandwidth=3600.0f)

Public Attributes

float | Edge
float | Gain
float | LowpassCutoff
float | EqCenter
float | EqBandwidth

Detailed Description

The distortion effect simulates turning up (overdriving) the gain stage on a guitar amplifier or adding a distortion pedal to an instrument's output.

Definition at line 426 of file IEffectParameters.h.

Member Data Documentation

float cAudio::sDistortionParameters::Edge

This property controls the shape of the distortion. The higher the value for Edge, the "dirtier" and "fuzzier" the effect. Range: 0.0 to 1.0

Definition at line 439 of file IEffectParameters.h.

float cAudio::sDistortionParameters::EqBandwidth

This property controls the bandwidth of the post-distortion attenuation. Range: 80.0 to 24000.0

Definition at line 455 of file IEffectParameters.h.

float cAudio::sDistortionParameters::EqCenter

This property controls the frequency at which the post-distortion attenuation (Gain) is active. Range: 80.0 to 24000.0

Definition at line 451 of file IEffectParameters.h.

float cAudio::sDistortionParameters::Gain

This property allows you to attenuate the distorted sound. Range: 0.01 to 1.0

Definition at line 443 of file IEffectParameters.h.

float cAudio::sDistortionParameters::LowpassCutoff

Input signal can have a low pass filter applied, to limit the amount of high frequency signal feeding into the distortion effect. Range: 80.0 to 24000.0

Definition at line 447 of file IEffectParameters.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffectParameters.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::sEAXReverbParameters Struct Reference

cAudio::sEAXReverbParameters

cAudio::sEAXReverbParameters Struct Reference

Contains parameters for the EAX Reverb Effect. This effect tries to simulate how sound behaves in different environments. More...

#include <IEffectParameters.h>

Collaboration diagram for cAudio::sEAXReverbParameters:
[legend]

List of all members.

Public Member Functions

sEAXReverbParameters (float density=1.0f, float diffusion=1.0f, float gain=0.32f, float gainHF=0.89f, float gainLF=0.0f, float decayTime=1.49f, float decayHFRatio=0.83f, float decayLFRatio=1.0f, float reflectionsGain=0.05f, float reflectionsDelay=0.007f, cVector3 reflectionsPan=cVector3(0.0f, 0.0f, 0.0f), float lateReverbGain=1.26f, float lateReverbDelay=0.011f, cVector3 lateReverbPan=cVector3(0.0f, 0.0f, 0.0f), float echoTime=0.25f, float echoDepth=0.0f, float modulationTime=0.25f, float modulationDepth=0.0f, float airAbsorptionGainHF=0.994f, float hFReference=5000.0f, float lFReference=250.0f, float roomRolloffFactor=0.0f, bool decayHFLimit=true)

Public Attributes

float | Density
float | Diffusion
float | Gain
float | GainHF
float | GainLF
float | DecayTime
float | DecayHFRatio
float | DecayLFRatio
float | ReflectionsGain
float | ReflectionsDelay
cVector3 ReflectionsPan
float | LateReverbGain
float | LateReverbDelay
cVector3 LateReverbPan
float | EchoTime
float | EchoDepth
float | ModulationTime
float | ModulationDepth
float | AirAbsorptionGainHF
float | HFReference
float | LFReference
float | RoomRolloffFactor
bool | DecayHFLimit

Detailed Description

Contains parameters for the EAX Reverb Effect. This effect tries to simulate how sound behaves in different environments.

Definition at line 16 of file IEffectParameters.h.

Member Data Documentation

float cAudio::sEAXReverbParameters::AirAbsorptionGainHF

The Air Absorption Gain HF property controls the distance-dependent attenuation at high frequencies caused by the propagation medium. It applies to reflected sound only. You can use Air Absorption Gain HF to simulate sound transmission through foggy air, dry air, smoky atmosphere, and so on. The default value is 0.994 (-0.05 dB) per meter, which roughly corresponds to typical condition of atmospheric humidity, temperature, and so on. Lowering the value simulates a more absorbent medium (more humidity in the air, for example); raising the value simulates a less absorbent medium (dry desert air, for example). Range: 0.892 to 1.0

Definition at line 201 of file IEffectParameters.h.

bool cAudio::sEAXReverbParameters::DecayHFLimit

When this flag is set, the high-frequency decay time automatically stays below a limit value that's derived from the setting of the property Air Absorption Gain HF. This limit applies regardless of the setting of the property Decay HF Ratio, and the limit doesn't affect the value of Decay HF Ratio. This limit, when on, maintains a natural sounding reverberation decay by allowing you to increase the value of Decay Time without the risk of getting an unnaturally long decay time at high frequencies. If this flag is set to false, high-frequency decay time isn't automatically limited.

Definition at line 240 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::DecayHFRatio

The Decay HF Ratio property adjusts the spectral quality of the Decay Time parameter. It is the ratio of high-frequency decay time relative to the time set by Decay Time. The Decay HF Ratio value 1.0 is neutral: the decay time is equal for all frequencies. As Decay HF Ratio increases above 1.0, the high-frequency decay time increases so it's longer than the decay time at mid frequencies. You hear a more brilliant reverberation with a longer decay at high frequencies. As the Decay HF Ratio value decreases below 1.0, the high-frequency decay time decreases so it's shorter than the decay time of the mid frequencies. You hear a more natural reverberation. Range: 0.1 to 20.0

Definition at line 101 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::DecayLFRatio

The Decay LF Ratio property adjusts the spectral quality of the Decay Time parameter. It is the ratio of low-frequency decay time relative to the time set by Decay Time. The Decay LF Ratio value 1.0 is neutral: the decay time is equal for all frequencies. As Decay LF Ratio increases above 1.0, the low-frequency decay time increases so it's longer than the decay time at mid frequencies. You hear a more booming reverberation with a longer decay at low frequencies. As the Decay LF Ratio value decreases below 1.0, the low-frequency decay time decreases so it's shorter than the decay time of the mid frequencies. You hear a more tinny reverberation. Range: 0.1 to 20.0

Definition at line 111 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::DecayTime

The Decay Time property sets the reverberation decay time. It ranges from 0.1 (typically a small room with very dead surfaces) to 20.0 (typically a large room with very live surfaces). Range: 0.1 to 20.0

Definition at line 91 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::Density

Reverb Modal Density controls the coloration of the late reverb. Lowering the value adds more coloration to the late reverb. Range: 0.0 to 1.0

Definition at line 55 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::Diffusion

The Reverb Diffusion property controls the echo density in the reverberation decay. It's set by default to 1.0, which provides the highest density. Reducing diffusion gives the reverberation a more "grainy" character that is especially noticeable with percussive sound sources. If you set a diffusion value of 0.0, the later reverberation sounds like a succession of distinct echoes. Range: 0.0 to 1.0

Definition at line 62 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::EchoDepth

Echo Depth introduces a cyclic echo in the reverberation decay, which will be noticeable with transient or percussive sounds. A larger value of Echo Depth will make this effect more prominent. Together with Reverb Diffusion, Echo Depth will control how long the echo effect will persist along the reverberation decay. In a more diffuse environment, echoes will wash out more quickly after the direct sound. In an environment that is less diffuse, you will be able to hear a larger number of repetitions of the echo, which will wash out later in the reverberation decay. If Diffusion is set to 0.0 and Echo Depth is set to 1.0, the echo will persist distinctly until the end of the reverberation decay. Range: 0.0 to 1.0

Definition at line 179 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::EchoTime

Echo Time controls the rate at which the cyclic echo repeats itself along the reverberation decay. For example, the default setting for Echo Time is 250 ms. causing the echo to occur 4 times per second. Therefore, if you were to clap your hands in this type of environment, you will hear four repetitions of clap per second. Range: 0.075 to 0.25

Definition at line 167 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::Gain

The Reverb Gain property is the master volume control for the reflected sound (both early reflections and reverberation) that the reverb effect adds to all sound sources. It sets the maximum amount of reflections and reverberation added to the final sound mix. The value of the Reverb Gain property ranges from 1.0 (0db) (the maximum amount) to 0.0 (-100db) (no reflected sound at all). Range: 0.0 to 1.0

Definition at line 70 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::GainHF

The Reverb Gain HF property further tweaks reflected sound by attenuating it at high frequencies. It controls a low-pass filter that applies globally to the reflected sound of all sound sources feeding the particular instance of the reverb effect. The value of the Reverb Gain HF property ranges from 1.0 (0db) (no filter) to 0.0 (-100db) (virtually no reflected sound). HF Reference sets the frequency at which the value of this property is measured. Range: 0.0 to 1.0

Definition at line 78 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::GainLF

The Reverb Gain LF property further tweaks reflected sound by attenuating it at low frequencies. It controls a high-pass filter that applies globally to the reflected sound of all sound sources feeding the particular instance of the reverb effect. The value of the Reverb Gain LF property ranges from 1.0 (0db) (no filter) to 0.0 (-100db) (virtually no reflected sound). LF Reference sets the frequency at which the value of this property is measured. Range: 0.0 to 1.0

Definition at line 86 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::HFReference

The properties HF Reference and LF Reference determine respectively the frequencies at which the high-frequency effects and the low-frequency effects created by EAX Reverb properties are measured, for example Decay HF Ratio and Decay LF Ratio. Note that it is necessary to maintain a factor of at least 10 between these two reference frequencies so that low frequency and high frequency properties can be accurately controlled and will produce independent effects. In other words, the LF Reference value should be less than 1/10 of the HF Reference value. Range: 1000.0 to 20000.0

Definition at line 211 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::LateReverbDelay

The Late Reverb Delay property defines the begin time of the late reverberation relative to the time of the initial reflection (the first of the early reflections). It ranges from 0 to 100 milliseconds. Reducing or increasing Late Reverb Delay is useful for simulating a smaller or larger room. Range: 0.0 to 0.1

Definition at line 154 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::LateReverbGain

The Late Reverb Gain property controls the overall amount of later reverberation relative to the Gain property. (The Gain property sets the overall amount of both initial reflections and later reverberation.) The value of Late Reverb Gain ranges from a maximum of 10.0 (+20 dB) to a minimum of 0.0 (-100 dB) (no late reverberation at all). Range: 0.0 to 10.0

Definition at line 148 of file IEffectParameters.h.

cVector3 cAudio::sEAXReverbParameters::LateReverbPan

The Late Reverb Pan property is a 3D vector that controls the spatial distribution of the late reverb. The direction of this vector controls the global direction of the reverb, while its magnitude controls how focused the reverb are towards this direction. The details under Reflections Pan, above, also apply to Late Reverb Pan.

Definition at line 160 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::LFReference

See HFReference. Range: 20.0 to 1000.0

Definition at line 215 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::ModulationDepth

Modulation Depth controls the amount of pitch change. Low values of Diffusion will contribute to reinforcing the perceived effect by reducing the mixing of overlapping reflections in the reverberation decay. Range: 0.0 to 1.0

Definition at line 191 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::ModulationTime

Using these two properties below, you can create a pitch modulation in the reverberant sound. This will be most noticeable applied to sources that have tonal color or pitch. You can use this to make some trippy effects! Modulation Time controls the speed of the vibrato (rate of periodic changes in pitch). Range: 0.004 to 4.0

Definition at line 185 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::ReflectionsDelay

The Reflections Delay property is the amount of delay between the arrival time of the direct path from the source to the first reflection from the source. It ranges from 0 to 300 milliseconds. You can reduce or increase Reflections Delay to simulate closer or more distant reflective surfaces— and therefore control the perceived size of the room. Range: 0.0 to 0.3

Definition at line 126 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::ReflectionsGain

The Reflections Gain property controls the overall amount of initial reflections relative to the Gain property. (The Gain property sets the overall amount of reflected sound: both initial reflections and later reverberation.) The value of Reflections Gain ranges from a maximum of 3.16 (+10 dB) to a minimum of 0.0 (-100 dB) (no initial reflections at all), and is corrected by the value of the Gain property. The Reflections Gain property does not affect the subsequent reverberation decay. Range: 0.0 to 3.16

Definition at line 119 of file IEffectParameters.h.

cVector3 cAudio::sEAXReverbParameters::ReflectionsPan

The Reflections Pan property is a 3D vector that controls the spatial distribution of the cluster of early reflections. The direction of this vector controls the global direction of the reflections, while its magnitude controls how focused the reflections are towards this direction. It is important to note that the direction of the vector is interpreted in the coordinate system of the user, without taking into account the orientation of the virtual listener. For instance, assuming a four-point loudspeaker playback system, setting Reflections Pan to (0, 0, 0.7) means that the reflections are panned to the front speaker pair, whereas as setting of (0, 0, -0.7) pans the reflections towards the rear speakers. These vectors follow the a left-handed co-ordinate system, unlike OpenAL uses a right-handed co-ordinate system. If the magnitude of Reflections Pan is zero (the default setting), the early reflections come evenly from all directions. As the magnitude increases, the reflections become more focused in the direction pointed to by the vector. A magnitude of 1.0 would represent the extreme case, where all reflections come from a single direction.

Definition at line 141 of file IEffectParameters.h.

float cAudio::sEAXReverbParameters::RoomRolloffFactor

The Room Rolloff Factor property is one of two methods available to attenuate the reflected sound (containing both reflections and reverberation) according to source-listener distance. It's defined the same way as OpenAL's Rolloff Factor, but operates on reverb sound instead of direct-path sound. Setting the Room Rolloff Factor value to 1.0 specifies that the reflected sound will decay by 6 dB every time the distance doubles. Any value other than 1.0 is equivalent to a scaling factor applied to the quantity specified by ((Source listener distance) - (Reference Distance)). Reference Distance is an OpenAL source parameter that specifies the inner border for distance rolloff effects: if the source comes closer to the listener than the reference distance, the direct-path sound isn't increased as the source comes closer to the listener, and neither is the reflected sound. The default value of Room Rolloff Factor is 0.0 because, by default, the Effects Extension reverb effect naturally manages the reflected sound level automatically for each sound source to simulate the natural rolloff of reflected sound vs. distance in typical rooms. Range: 0.0 to 10.0

Definition at line 231 of file IEffectParameters.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffectParameters.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::sEchoParameters Struct Reference

cAudio::sEchoParameters

cAudio::sEchoParameters Struct Reference

The echo effect generates discrete, delayed instances of the input signal. More...

#include <IEffectParameters.h>

List of all members.

Public Member Functions

sEchoParameters (float delay=0.1f, float lRDelay=0.1f, float damping=0.5f, float feedback=0.5f, float spread=-1.0f)

Public Attributes

float | Delay
float | LRDelay
float | Damping
float | Feedback
float | Spread

Detailed Description

The echo effect generates discrete, delayed instances of the input signal.

Definition at line 459 of file IEffectParameters.h.

Member Data Documentation

float cAudio::sEchoParameters::Damping

This property controls the amount of high frequency damping applied to each echo. As the sound is subsequently fed back for further echoes, damping results in an echo which progressively gets softer in tone as well as intensity. Range: 0.0 to 0.99

Definition at line 482 of file IEffectParameters.h.

float cAudio::sEchoParameters::Delay

This property controls the delay between the original sound and the first "tap", or echo instance. Range: 0.0 to 0.207

Definition at line 472 of file IEffectParameters.h.

float cAudio::sEchoParameters::Feedback

This property controls the amount of feedback the output signal fed back into the input. Use this parameter to create "cascading" echoes. At full magnitude, the identical sample will repeat endlessly. Below full magnitude, the sample will repeat and fade. Range: 0.0 to 1.0

Definition at line 488 of file IEffectParameters.h.

float cAudio::sEchoParameters::LRDelay

This property controls the delay between the first "tap" and the second "tap". Range: 0.0 to 0.404

Definition at line 476 of file IEffectParameters.h.

float cAudio::sEchoParameters::Spread

This property controls how hard panned the individual echoes are. With a value of 1.0, the first "tap" will be panned hard left, and the second "tap" hard right. A value of -1.0 gives the opposite result. Settings nearer to 0.0 result in less emphasized panning. Range: -1.0 to 1.0

Definition at line 494 of file IEffectParameters.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffectParameters.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::sEqualizerParameters Struct Reference

cAudio::sEqualizerParameters

cAudio::sEqualizerParameters Struct Reference

The OpenAL Effects Extension EQ is very flexible, providing tonal control over four different adjustable frequency ranges. More...

#include <IEffectParameters.h>

List of all members.

Public Member Functions

sEqualizerParameters (float lowGain=1.0f, float lowCutoff=200.0f, float mid1Gain=1.0f, float mid1Center=500.0f, float mid1Width=1.0f, float mid2Gain=1.0f, float mid2Center=3000.0f, float mid2Width=1.0f, float highGain=1.0f, float highCutoff=6000.0f)

Public Attributes

float | LowGain
float | LowCutoff
float | Mid1Gain
float | Mid1Center
float | Mid1Width
float | Mid2Gain
float | Mid2Center
float | Mid2Width
float | HighGain
float | HighCutoff

Detailed Description

The OpenAL Effects Extension EQ is very flexible, providing tonal control over four different adjustable frequency ranges.

Definition at line 756 of file IEffectParameters.h.

Member Data Documentation

float cAudio::sEqualizerParameters::HighCutoff

This property controls the high frequency above which signal will be cut off. Range: 4000.0 to 16000.0

Definition at line 812 of file IEffectParameters.h.

float cAudio::sEqualizerParameters::HighGain

This property allows you to cut / boost the signal at high frequencies. Range: 0.126 to 7.943

Definition at line 808 of file IEffectParameters.h.

float cAudio::sEqualizerParameters::LowCutoff

This property controls the low frequency below which signal will be cut off. Range: 50.0 to 800.0

Definition at line 780 of file IEffectParameters.h.

float cAudio::sEqualizerParameters::LowGain

This property controls amount of cut or boost on the low frequency range. Range: 0.126 to 7.943

Definition at line 776 of file IEffectParameters.h.

float cAudio::sEqualizerParameters::Mid1Center

This property sets the center frequency for the "mid1" range. Range: 200.0 to 3000.0

Definition at line 788 of file IEffectParameters.h.

float cAudio::sEqualizerParameters::Mid1Gain

This property allows you to cut / boost signal on the "mid1" range. Range: 0.126 to 7.943

Definition at line 784 of file IEffectParameters.h.

float cAudio::sEqualizerParameters::Mid1Width

This property controls the width of the "mid1" range. Range: 0.01 to 1.0

Definition at line 792 of file IEffectParameters.h.

float cAudio::sEqualizerParameters::Mid2Center

This property sets the center frequency for the "mid2" range. Range: 1000.0 to 8000.0

Definition at line 800 of file IEffectParameters.h.

float cAudio::sEqualizerParameters::Mid2Gain

This property allows you to cut / boost signal on the "mid2" range. Range: 0.126 to 7.943

Definition at line 796 of file IEffectParameters.h.

float cAudio::sEqualizerParameters::Mid2Width

This property controls the width of the "mid2" range. Range: 0.01 to 1.0

Definition at line 804 of file IEffectParameters.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffectParameters.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::sFlangerParameters Struct Reference

cAudio::sFlangerParameters

cAudio::sFlangerParameters Struct Reference

The flanger effect creates a "tearing" or "whooshing" sound (like a jet flying overhead). More...

#include <IEffectParameters.h>

List of all members.

Public Types

enum | FlangerWaveform { EFW_SINUSOID, EFW_TRIANGLE, EFW_COUNT }

Public Member Functions

sFlangerParameters (FlangerWaveform waveform=EFW_TRIANGLE, int phase=0, float rate=0.27f, float depth=1.0f, float feedback=-0.5f, float delay=0.002f)

Public Attributes

FlangerWaveform | Waveform
Selects the shape of the LFO waveform that controls the amount of the delay of the sampled signal.
int | Phase
float | Rate
float | Depth
float | Feedback
float | Delay

Detailed Description

The flanger effect creates a "tearing" or "whooshing" sound (like a jet flying overhead).

Definition at line 498 of file IEffectParameters.h.

Member Data Documentation

float cAudio::sFlangerParameters::Delay

The average amount of time the sample is delayed before it is played back; with feedback, the amount of time between iterations of the sample. Range: 0.0 to 0.004

Definition at line 540 of file IEffectParameters.h.

float cAudio::sFlangerParameters::Depth

The ratio by which the delay time is modulated by the LFO. Use this parameter to increase the pitch modulation. Range: 0.0 to 1.0

Definition at line 529 of file IEffectParameters.h.

float cAudio::sFlangerParameters::Feedback

This is the amount of the output signal level fed back into the effect's input. A negative value will reverse the phase of the feedback signal. Use this parameter to create an "intense metallic" effect. At full magnitude, the identical sample will repeat endlessly. At less than full magnitude, the sample will repeat and fade out over time. Range: -1.0 to 1.0

Definition at line 536 of file IEffectParameters.h.

int cAudio::sFlangerParameters::Phase

This changes the phase difference between the left and right LFO's. At zero degrees the two LFOs are synchronized. Range: -180 to 180

Definition at line 521 of file IEffectParameters.h.

float cAudio::sFlangerParameters::Rate

The number of times per second the LFO controlling the amount of delay repeats. Higher values increase the pitch modulation. Range: 0.0 to 10.0

Definition at line 525 of file IEffectParameters.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffectParameters.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::sFrequencyShiftParameters Struct Reference

cAudio::sFrequencyShiftParameters

cAudio::sFrequencyShiftParameters Struct Reference

The frequency shifter is a single-sideband modulator, which translates all the component frequencies of the input signal by an equal amount. More...

#include <IEffectParameters.h>

List of all members.

Public Types

enum | ShiftDirection { ESD_DOWN, ESD_UP, ESD_OFF, ESD_COUNT }

Public Member Functions

sFrequencyShiftParameters (float frequency=0.0f, ShiftDirection left=ESD_DOWN, ShiftDirection right=ESD_DOWN)

Public Attributes

float | Frequency
ShiftDirection | Left
ShiftDirection | Right

Detailed Description

The frequency shifter is a single-sideband modulator, which translates all the component frequencies of the input signal by an equal amount.

Definition at line 544 of file IEffectParameters.h.

Member Data Documentation

float cAudio::sFrequencyShiftParameters::Frequency

This is the carrier frequency. For carrier frequencies below the audible range, the singlesideband modulator may produce phaser effects, spatial effects or a slight pitch-shift. As the carrier frequency increases, the timbre of the sound is affected; a piano or guitar note becomes like a bell's chime, and a human voice sounds extraterrestrial! Range: 0.0 to 24000.0

Definition at line 564 of file IEffectParameters.h.

ShiftDirection cAudio::sFrequencyShiftParameters::Left

These select which internal signals are added together to produce the output. Different combinations of values will produce slightly different tonal and spatial effects.

Definition at line 568 of file IEffectParameters.h.

ShiftDirection cAudio::sFrequencyShiftParameters::Right

These select which internal signals are added together to produce the output. Different combinations of values will produce slightly different tonal and spatial effects.

Definition at line 572 of file IEffectParameters.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffectParameters.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::sPitchShifterParameters Struct Reference

cAudio::sPitchShifterParameters

cAudio::sPitchShifterParameters Struct Reference

The pitch shifter applies time-invariant pitch shifting to the input signal, over a one octave range and controllable at a semi-tone and cent resolution. More...

#include <IEffectParameters.h>

List of all members.

Public Member Functions

sPitchShifterParameters (int coarseTune=12, int fineTune=0)

Public Attributes

int | CoarseTune
int | FineTune

Detailed Description

The pitch shifter applies time-invariant pitch shifting to the input signal, over a one octave range and controllable at a semi-tone and cent resolution.

Definition at line 657 of file IEffectParameters.h.

Member Data Documentation

int cAudio::sPitchShifterParameters::CoarseTune

This sets the number of semitones by which the pitch is shifted. There are 12 semitones per octave. Negative values create a downwards shift in pitch, positive values pitch the sound upwards. Range: -12 to 12

Definition at line 668 of file IEffectParameters.h.

int cAudio::sPitchShifterParameters::FineTune

This sets the number of cents between Semitones a pitch is shifted. A Cent is 1/100th of a Semitone. Negative values create a downwards shift in pitch, positive values pitch the sound upwards. Range: -50 to 50

Definition at line 674 of file IEffectParameters.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffectParameters.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::sReverbParameters Struct Reference

cAudio::sReverbParameters

cAudio::sReverbParameters Struct Reference

Similar to the above EAX Reverb Effect, but has less features, meaning it may be better supported on lower end hardware. More...

#include <IEffectParameters.h>

List of all members.

Public Member Functions

sReverbParameters (float density=1.0f, float diffusion=1.0f, float gain=0.32f, float gainHF=0.89f, float decayTime=1.49f, float decayHFRatio=0.83f, float reflectionsGain=0.05f, float reflectionsDelay=0.007f, float lateReverbGain=1.26f, float lateReverbDelay=0.011f, float airAbsorptionGainHF=0.994f, float roomRolloffFactor=0.0f, bool decayHFLimit=true)

Public Attributes

float | Density
float | Diffusion
float | Gain
float | GainHF
float | DecayTime
float | DecayHFRatio
float | ReflectionsGain
float | ReflectionsDelay
float | LateReverbGain
float | LateReverbDelay
float | AirAbsorptionGainHF
float | RoomRolloffFactor
bool | DecayHFLimit

Detailed Description

Similar to the above EAX Reverb Effect, but has less features, meaning it may be better supported on lower end hardware.

Definition at line 244 of file IEffectParameters.h.

Member Data Documentation

float cAudio::sReverbParameters::AirAbsorptionGainHF

The Air Absorption Gain HF property controls the distance-dependent attenuation at high frequencies caused by the propagation medium. It applies to reflected sound only. You can use Air Absorption Gain HF to simulate sound transmission through foggy air, dry air, smoky atmosphere, and so on. The default value is 0.994 (-0.05 dB) per meter, which roughly corresponds to typical condition of atmospheric humidity, temperature, and so on. Lowering the value simulates a more absorbent medium (more humidity in the air, for example); raising the value simulates a less absorbent medium (dry desert air, for example). Range: 0.892 to 1.0

Definition at line 346 of file IEffectParameters.h.

bool cAudio::sReverbParameters::DecayHFLimit

When this flag is set, the high-frequency decay time automatically stays below a limit value that's derived from the setting of the property Air Absorption Gain HF. This limit applies regardless of the setting of the property Decay HF Ratio, and the limit doesn't affect the value of Decay HF Ratio. This limit, when on, maintains a natural sounding reverberation decay by allowing you to increase the value of Decay Time without the risk of getting an unnaturally long decay time at high frequencies. If this flag is set to false, high-frequency decay time isn't automatically limited.

Definition at line 371 of file IEffectParameters.h.

float cAudio::sReverbParameters::DecayHFRatio

The Decay HF Ratio property sets the spectral quality of the Decay Time parameter. It is the ratio of high-frequency decay time relative to the time set by Decay Time. The Decay HF Ratio value 1.0 is neutral: the decay time is equal for all frequencies. As Decay HF Ratio increases above 1.0, the high-frequency decay time increases so it's longer than the decay time at low frequencies. You hear a more brilliant reverberation with a longer decay at high frequencies. As the Decay HF Ratio value decreases below 1.0, the high-frequency decay time decreases so it's shorter than the decay time of the low frequencies. You hear a more natural reverberation. Range: 0.1 to 2.0

Definition at line 307 of file IEffectParameters.h.

float cAudio::sReverbParameters::DecayTime

The Decay Time property sets the reverberation decay time. It ranges from 0.1 (typically a small room with very dead surfaces) to 20.0 (typically a large room with very live surfaces). Range: 0.1 to 20.0

Definition at line 297 of file IEffectParameters.h.

float cAudio::sReverbParameters::Density

Reverb Modal Density controls the coloration of the late reverb. Lowering the value adds more coloration to the late reverb. Range: 0.0 to 1.0

Definition at line 270 of file IEffectParameters.h.

float cAudio::sReverbParameters::Diffusion

The Reverb Diffusion property controls the echo density in the reverberation decay. It's set by default to 1.0, which provides the highest density. Reducing diffusion gives the reverberation a more "grainy" character that is especially noticeable with percussive sound sources. If you set a diffusion value of 0.0, the later reverberation sounds like a succession of distinct echoes. Range: 0.0 to 1.0

Definition at line 277 of file IEffectParameters.h.

float cAudio::sReverbParameters::Gain

The Reverb Gain property is the master volume control for the reflected sound (both early reflections and reverberation) that the reverb effect adds to all sound sources. It sets the maximum amount of reflections and reverberation added to the final sound mix. The value of the Reverb Gain property ranges from 1.0 (0db) (the maximum amount) to 0.0 (-100db) (no reflected sound at all). Range: 0.0 to 1.0

Definition at line 285 of file IEffectParameters.h.

float cAudio::sReverbParameters::GainHF

The Reverb Gain HF property further tweaks reflected sound by attenuating it at high frequencies. It controls a low-pass filter that applies globally to the reflected sound of all sound sources feeding the particular instance of the reverb effect. The value of the Reverb Gain HF property ranges from 1.0 (0db) (no filter) to 0.0 (-100db) (virtually no reflected sound). Range: 0.0 to 1.0

Definition at line 292 of file IEffectParameters.h.

float cAudio::sReverbParameters::LateReverbDelay

The Late Reverb Delay property defines the begin time of the late reverberation relative to the time of the initial reflection (the first of the early reflections). It ranges from 0 to 100 milliseconds. Reducing or increasing Late Reverb Delay is useful for simulating a smaller or larger room. Range: 0.0 to 0.1

Definition at line 336 of file IEffectParameters.h.

float cAudio::sReverbParameters::LateReverbGain

The Late Reverb Gain property controls the overall amount of later reverberation relative to the Gain property. (The Gain property sets the overall amount of both initial reflections and later reverberation.) The value of Late Reverb Gain ranges from a maximum of 10.0 (+20 dB) to a minimum of 0.0 (-100 dB) (no late reverberation at all). Range: 0.0 to 10.0

Definition at line 330 of file IEffectParameters.h.

float cAudio::sReverbParameters::ReflectionsDelay

The Reflections Delay property is the amount of delay between the arrival time of the direct path from the source to the first reflection from the source. It ranges from 0 to 300 milliseconds. You can reduce or increase Reflections Delay to simulate closer or more distant reflective surfaces— and therefore control the perceived size of the room. Range: 0.0 to 0.3

Definition at line 323 of file IEffectParameters.h.

float cAudio::sReverbParameters::ReflectionsGain

The Reflections Gain property controls the overall amount of initial reflections relative to the Gain property. (The Gain property sets the overall amount of reflected sound: both initial reflections and later reverberation.) The value of Reflections Gain ranges from a maximum of 3.16 (+10 dB) to a minimum of 0.0 (-100 dB) (no initial reflections at all), and is corrected by the value of the Gain property. The Reflections Gain property does not affect the subsequent reverberation decay. Range: 0.0 to 3.16

Definition at line 316 of file IEffectParameters.h.

float cAudio::sReverbParameters::RoomRolloffFactor

The Room Rolloff Factor property is one of two methods available to attenuate the reflected sound (containing both reflections and reverberation) according to source-listener distance. It's defined the same way as OpenAL's Rolloff Factor, but operates on reverb sound instead of direct-path sound. Setting the Room Rolloff Factor value to 1.0 specifies that the reflected sound will decay by 6 dB every time the distance doubles. Any value other than 1.0 is equivalent to a scaling factor applied to the quantity specified by ((Source listener distance) - (Reference Distance)). Reference Distance is an OpenAL source parameter that specifies the inner border for distance rolloff effects: if the source comes closer to the listener than the reference distance, the direct-path sound isn't increased as the source comes closer to the listener, and neither is the reflected sound. The default value of Room Rolloff Factor is 0.0 because, by default, the Effects Extension reverb effect naturally manages the reflected sound level automatically for each sound source to simulate the natural rolloff of reflected sound vs. distance in typical rooms. Range: 0.0 to 10.0

Definition at line 362 of file IEffectParameters.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffectParameters.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::sRingModulatorParameters Struct Reference

cAudio::sRingModulatorParameters

cAudio::sRingModulatorParameters Struct Reference

The ring modulator multiplies an input signal by a carrier signal in the time domain, resulting in tremolo or inharmonic effects. More...

#include <IEffectParameters.h>

List of all members.

Public Types

enum | ModulatorWaveform { EMW_SINUSOID, EMW_SAW, EMW_SQUARE, EMW_COUNT }

Public Member Functions

sRingModulatorParameters (float frequency=440.0f, float highPassCutoff=800.0f, ModulatorWaveform waveform=EMW_SINUSOID)

Public Attributes

float | Frequency
float | HighPassCutoff
ModulatorWaveform | Waveform

Detailed Description

The ring modulator multiplies an input signal by a carrier signal in the time domain, resulting in tremolo or inharmonic effects.

Definition at line 678 of file IEffectParameters.h.

Member Data Documentation

float cAudio::sRingModulatorParameters::Frequency

This is the frequency of the carrier signal. If the carrier signal is slowly varying (less than 20 Hz), the result is a tremolo (slow amplitude variation) effect. If the carrier signal is in the audio range, audible upper and lower sidebands begin to appear, causing an inharmonic effect. The carrier signal itself is not heard in the output. Range: 0.0 to 8000.0

Definition at line 698 of file IEffectParameters.h.

float cAudio::sRingModulatorParameters::HighPassCutoff

This controls the cutoff frequency at which the input signal is high-pass filtered before being ring modulated. If the cutoff frequency is 0, the entire signal will be ring modulated. If the cutoff frequency is high, very little of the signal (only those parts above the cutoff) will be ring modulated. Range: 0.0 to 24000.0

Definition at line 705 of file IEffectParameters.h.

ModulatorWaveform cAudio::sRingModulatorParameters::Waveform

This controls which waveform is used as the carrier signal. Traditional ring modulator and tremolo effects generally use a sinusoidal carrier. Sawtooth and square waveforms are may cause unpleasant aliasing.

Definition at line 710 of file IEffectParameters.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffectParameters.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio::sVocalMorpherParameters Struct Reference

cAudio::sVocalMorpherParameters

cAudio::sVocalMorpherParameters Struct Reference

The vocal morpher consists of a pair of 4-band formant filters, used to impose vocal tract effects upon the input signal. More...

#include <IEffectParameters.h>

List of all members.

Public Types

enum MorpherPhoneme {
EMP_A, EMP_E, EMP_I, EMP_O,
EMP_U, EMP_AA, EMP_AE, EMP_AH,
EMP_AO, EMP_EH, EMP_ER, EMP_IH,
EMP_IY, EMP_UH, EMP_UW, EMP_B,
EMP_D, EMP_F, EMP_G, EMP_J,
EMP_K, EMP_L, EMP_M, EMP_N,
EMP_P, EMP_R, EMP_S, EMP_T,
EMP_V, EMP_Z, ESD_COUNT
}
enum | MorpherWaveform { EMW_SINUSOID, EMW_TRIANGLE, EMW_SAW, EMW_COUNT }

Public Member Functions

sVocalMorpherParameters (MorpherPhoneme phonemeA=EMP_A, MorpherPhoneme phonemeB=EMP_ER, int phonemeACoarseTune=0, int phonemeBCoarseTune=0, MorpherWaveform waveform=EMW_SINUSOID, float rate=1.41f)

Public Attributes

MorpherPhoneme | PhonemeA
MorpherPhoneme | PhonemeB
int | PhonemeACoarseTune
int | PhonemeBCoarseTune
MorpherWaveform | Waveform
This controls the shape of the low-frequency oscillator used to morph between the two phoneme filters.
float | Rate

Detailed Description

The vocal morpher consists of a pair of 4-band formant filters, used to impose vocal tract effects upon the input signal.

Definition at line 576 of file IEffectParameters.h.

Member Data Documentation

MorpherPhoneme cAudio::sVocalMorpherParameters::PhonemeA

If both parameters are set to the same phoneme, that determines the filtering effect that will be heard. If these two parameters are set to different phonemes, the filtering effect will morph between the two settings at a rate specified by Rate.

Definition at line 633 of file IEffectParameters.h.

int cAudio::sVocalMorpherParameters::PhonemeACoarseTune

This is used to adjust the pitch of phoneme filter A in 1-semitone increments. Range: -24 to 24

Definition at line 642 of file IEffectParameters.h.

MorpherPhoneme cAudio::sVocalMorpherParameters::PhonemeB

If both parameters are set to the same phoneme, that determines the filtering effect that will be heard. If these two parameters are set to different phonemes, the filtering effect will morph between the two settings at a rate specified by Rate.

Definition at line 638 of file IEffectParameters.h.

int cAudio::sVocalMorpherParameters::PhonemeBCoarseTune

This is used to adjust the pitch of phoneme filter B in 1-semitone increments. Range: -24 to 24

Definition at line 646 of file IEffectParameters.h.

float cAudio::sVocalMorpherParameters::Rate

This controls the frequency of the low-frequency oscillator used to morph between the two phoneme filters. Range: 0.0 to 10.0

Definition at line 653 of file IEffectParameters.h.

The documentation for this struct was generated from the following file:
  • C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffectParameters.h
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Hierarchical Index

Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
  • cAudio::cAudioList< T >
  • cAudio::cAudioMap< T1, T2 >
  • cAudio::cAudioMutex
  • cAudio::cAudioMutexBasicLock
  • cAudio::cAudioSet< T >
  • cAudio::cAudioThread
  • cAudio::cAudioVector< T >
  • cAudio::cEFXFunctions
  • cAudio::cMemoryOverride
    • cAudio::cAudioCapture
    • cAudio::cAudioManager
    • cAudio::cAudioSource
    • cAudio::cEffect
    • cAudio::cFileSource
    • cAudio::cFilter
    • cAudio::cMemorySource
    • cAudio::cOggDecoder
    • cAudio::cRawDecoder
    • cAudio::cWavDecoder
  • cAudio::cMemoryTracker
  • cAudio::cSTLAllocator< T >
  • cAudio::cSTLAllocator< void >
  • cAudio::cVector3
  • cAudio::IAudioCapture
    • cAudio::cAudioCapture
  • cAudio::IAudioDecoderFactory
    • cAudio::cOggAudioDecoderFactory
    • cAudio::cRawAudioDecoderFactory
    • cAudio::cWavAudioDecoderFactory
  • cAudio::IAudioEffects
    • cAudio::cAudioEffects
  • cAudio::IAudioManager
    • cAudio::cAudioManager
  • cAudio::ICaptureEventHandler
  • cAudio::IDataSourceFactory
    • cAudio::cFileSourceFactory
  • cAudio::IListener
    • cAudio::cListener
  • cAudio::ILogger
    • cAudio::cLogger
  • cAudio::ILogReceiver
    • cAudio::cConsoleLogReceiver
    • cAudio::cFileLogReceiver
  • cAudio::IManagerEventHandler
  • cAudio::IMemoryProvider
    • cAudio::cStandardMemoryProvider
  • cAudio::IPluginManager
    • cAudio::cPluginManager
  • cAudio::IRefCounted
    • cAudio::IAudioDecoder
      • cAudio::cOggDecoder
      • cAudio::cRawDecoder
      • cAudio::cWavDecoder
    • cAudio::IAudioPlugin
    • cAudio::IAudioSource
      • cAudio::cAudioSource
    • cAudio::IDataSource
      • cAudio::cFileSource
      • cAudio::cMemorySource
    • cAudio::IEffect
      • cAudio::cEffect
    • cAudio::IFilter
      • cAudio::cFilter
  • cAudio::ISourceEventHandler
  • cAudio::cSTLAllocator< void >::rebind< U >
  • cAudio::cSTLAllocator< T >::rebind< U >
  • cAudio::sAutowahParameters
  • cAudio::sChorusParameters
  • cAudio::sCompressorParameters
  • cAudio::sDistortionParameters
  • cAudio::sEAXReverbParameters
  • cAudio::sEchoParameters
  • cAudio::sEqualizerParameters
  • cAudio::sFlangerParameters
  • cAudio::sFrequencyShiftParameters
  • cAudio::sPitchShifterParameters
  • cAudio::sReverbParameters
  • cAudio::sRingModulatorParameters
  • cAudio::sVocalMorpherParameters
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- a -

  • Active : cAudio::sCompressorParameters
  • AddAllocation() : cAudio::cMemoryTracker
  • addAutowahEffectPreset()
: cAudio::cAudioEffects
, cAudio::IAudioEffects
  • addChorusEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addCompressorEffectPreset()
: cAudio::cAudioEffects
, cAudio::IAudioEffects
  • addDistortionEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addEAXReverbEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addEchoEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addEqualizerEffectPreset()
: cAudio::cAudioEffects
, cAudio::IAudioEffects
  • addFlangerEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addFrequencyShiftEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addPitchShifterEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addReverbEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addRingModulatorEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addVocalMorpherEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • AirAbsorptionGainHF : cAudio::sReverbParameters , cAudio::sEAXReverbParameters
  • Allocate()
: cAudio::cStandardMemoryProvider
, cAudio::IMemoryProvider
  • attachEffect()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • attachFilter()
: cAudio::IAudioSource
, cAudio::cEffect
, cAudio::cAudioSource
, cAudio::IEffect
  • AttackTime : cAudio::sAutowahParameters
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Graphical Class Hierarchy

Graphical Class Hierarchy

Go to the textual class hierarchy

All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:32 2010 for cAudio by doxygen 1.6.2


cAudio: Namespace Index

  • Namespace List
  • Namespace Members

Namespace List

Here is a list of all documented namespaces with brief descriptions:
cAudio Main namespace for the entire cAudio library
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:32 2010 for cAudio by doxygen 1.6.2


cAudio: cAudio Namespace Reference

  • Namespace List
  • Namespace Members

cAudio Namespace Reference

Main namespace for the entire cAudio library. More...

Classes

class | cVector3
Class for manipulating vectors in 3D space. More...
class | IAudioCapture
Interface for capturing operations in the cAudio Engine. More...
class | IAudioDecoder
Interface for all Audio Decoders in cAudio. More...
class | IAudioDecoderFactory
Interface for factories that create Audio Decoders for cAudio. More...
class | IAudioEffects
Interface for Audio Effects in cAudio. More...
class | IAudioManager
Interface for the playback capabilities of cAudio. More...
class | IAudioPlugin
Interface for all plugins in cAudio. More...
class | IAudioSource
Interface for a single audio source, which allow you to manipulate sound sources (speakers) in 2D or 3D space. More...
class | ICaptureEventHandler
Interface for recieving Capture Manager Events. More...
class | IDataSource
Interface for data providers in cAudio. More...
class | IDataSourceFactory
Interface for creating data sources for use with the engine. More...
class | IEffect
Interface for a single effect in cAudio. More...
struct | sEAXReverbParameters
Contains parameters for the EAX Reverb Effect. This effect tries to simulate how sound behaves in different environments. More...
struct | sReverbParameters
Similar to the above EAX Reverb Effect, but has less features, meaning it may be better supported on lower end hardware. More...
struct | sChorusParameters
The chorus effect essentially replays the input audio accompanied by another slightly delayed version of the signal, creating a "doubling" effect. More...
struct | sDistortionParameters
The distortion effect simulates turning up (overdriving) the gain stage on a guitar amplifier or adding a distortion pedal to an instrument's output. More...
struct | sEchoParameters
The echo effect generates discrete, delayed instances of the input signal. More...
struct | sFlangerParameters
The flanger effect creates a "tearing" or "whooshing" sound (like a jet flying overhead). More...
struct | sFrequencyShiftParameters
The frequency shifter is a single-sideband modulator, which translates all the component frequencies of the input signal by an equal amount. More...
struct | sVocalMorpherParameters
The vocal morpher consists of a pair of 4-band formant filters, used to impose vocal tract effects upon the input signal. More...
struct | sPitchShifterParameters
The pitch shifter applies time-invariant pitch shifting to the input signal, over a one octave range and controllable at a semi-tone and cent resolution. More...
struct | sRingModulatorParameters
The ring modulator multiplies an input signal by a carrier signal in the time domain, resulting in tremolo or inharmonic effects. More...
struct | sAutowahParameters
The Auto-wah effect emulates the sound of a wah-wah pedal used with an electric guitar, or a mute on a brass instrument. More...
struct | sCompressorParameters
The Automatic Gain Control effect performs the same task as a studio compressor, evening out the audio dynamic range of an input sound. More...
struct | sEqualizerParameters
The OpenAL Effects Extension EQ is very flexible, providing tonal control over four different adjustable frequency ranges. More...
class | IFilter
Interface for a filter in cAudio. More...
class | IListener
Interface for the listener in cAudio. This class provides abilities to move and orient where your camera or user is in the audio world. More...
class | ILogger
Interface for all logging operations in cAudio. More...
class | ILogReceiver
Interface for receiving log messages and relaying them to some kind of output device or stream. More...
class | IManagerEventHandler
Interface for event handlers for playback manager events. More...
class | IMemoryProvider
Interface for a class that allocates and frees memory used by cAudio. More...
class | IPluginManager
Interface for the plugin capabilities of cAudio. More...
class | IRefCounted
Applies reference counting to certain cAudio objects. More...
class | ISourceEventHandler
Interface for event handlers on Audio Sources. More...
class | cAudioCapture
class | cAudioEffects
class | cAudioManager
class | cAudioSource
class | cConsoleLogReceiver
class | cEffect
struct | cEFXFunctions
EFX Extension function pointers and setup. More...
class | cFileLogReceiver
class | cFileSource
class | cFileSourceFactory
class | cFilter
class | cListener
class | cLogger
class | cMemoryOverride
Overrides the memory allocations for classes derived from it and makes them use the cAudio memory system. More...
class | cMemorySource
Class used to read from a memory buffer. More...
class | cMemoryTracker
Tracks all allocations that go through cAudio's memory system and keeps statistics on it. More...
class | cAudioMutex
Basic mutex class used for internal thread locking. More...
class | cAudioMutexBasicLock
class | cOggAudioDecoderFactory
class | cOggDecoder
class | cPluginManager
class | cRawAudioDecoderFactory
class | cRawDecoder
class | cStandardMemoryProvider
Memory provider that wraps the standard memalloc and free. More...
class | cSTLAllocator
Reroutes allocations from STL containers into cAudio's memory system. More...
class | cSTLAllocator< void >
struct | cAudioMap
struct | cAudioSet
struct | cAudioList
struct | cAudioVector
class | cAudioThread
class | cWavAudioDecoderFactory
class | cWavDecoder

Typedefs

typedef IAudioPlugin *(* | GetPluginModule )(const char *version)
typedef std::basic_string
< char, std::char_traits< char >
, cSTLAllocator< char > > 		cAudioString

Enumerations

enum | AudioFormats { EAF_8BIT_MONO, EAF_8BIT_STEREO, EAF_16BIT_MONO, EAF_16BIT_STEREO }

Enumeration of audio formats supported by the engine.

enum EffectTypes {
EET_NULL, EET_EAX_REVERB, EET_REVERB, EET_CHORUS,
EET_DISTORTION, EET_ECHO, EET_FLANGER, EET_FREQUENCY_SHIFTER,
EET_VOCAL_MORPHER, EET_PITCH_SHIFTER, EET_RING_MODULATOR, EET_AUTOWAH,
EET_COMPRESSOR, EET_EQUALIZER, EET_COUNT
}

Enum of all available effect types in cAudio.

enum FilterTypes {
EFT_NULL, EFT_LOWPASS, EFT_HIGHPASS, EFT_BANDPASS,
EFT_COUNT
}

Enum of all available filter types in cAudio.

enum LogLevel {
ELL_DEBUG, ELL_INFO, ELL_WARNING, ELL_ERROR,
ELL_CRITICAL, ELL_COUNT
}

Enum of all supported log levels in cAudio.

Functions

CAUDIO_API IMemoryProvider * | getMemoryProvider ()
Returns a pointer to the memory provider of cAudio.
CAUDIO_API void | cAudioSleep (unsigned int ms)
Causes the current thread to give up control for a certain duration.
bool | float_equals (const float a, const float b)
Internal function that compares two floats while keeping the Epsilon in mind.
CAUDIO_API IAudioCapture * | createAudioCapture (bool initializeDefault=true)
Creates an interface to an Audio Capture Object.
CAUDIO_API void | destroyAudioCapture (IAudioCapture *capture)
Destroys an interface to a previously created Audio Capture Object and frees the memory allocated for it.
CAUDIO_API bool | isAudioCaptureThreadRunning ()
Returns if the thread used to update all Audio Capture Objects is running.
CAUDIO_API IAudioManager * | createAudioManager (bool initializeDefault=true)
Creates an interface to an Audio Manager.
CAUDIO_API void | destroyAudioManager (IAudioManager *manager)
Destroys an interface to a previously created Audio Manager and frees the memory allocated for it.
CAUDIO_API bool | isAudioManagerThreadRunning ()
Returns if the thread used to update all Audio Managers is running.
CAUDIO_API ILogger * | getLogger ()
Gets the interface to the logger.
CAUDIO_API IPluginManager * | getPluginManager ()
Gets the interface to the plugin manager.
CAUDIO_DECLARE_THREAD_FUNCTION (AudioCaptureUpdateThread)
CAUDIO_DECLARE_THREAD_FUNCTION (AudioManagerUpdateThread)
bool | compareDataSourcePriorities (std::pair< int, cAudioString > left, std::pair< int, cAudioString > right)
size_t | VorbisRead (void *ptr, size_t byteSize, size_t sizeToRead, void *datasource)
Read Vorbis Data.
int | VorbisSeek (void *datasource, ogg_int64_t offset, int whence)
Seek Vorbis Data.
long | VorbisTell (void *datasource)
Returns the vorbis data that was stored.
int | VorbisCloseFunc (void *datasource)
template<typename T >
bool | operator== (const cSTLAllocator< T > &, const cSTLAllocator< T > &)
template<typename T >
bool | operator!= (const cSTLAllocator< T > &, const cSTLAllocator< T > &)

Variables

const float | Epsilon = 0.000001f
Smallest number that can be represented with a 32 bit float (may not match your compiler/os varient).
const char *const | LogLevelStrings []
Contains strings for each log level to make them easier to print to a stream.

Detailed Description

Main namespace for the entire cAudio library.

Function Documentation

void cAudio::cAudioSleep ( unsigned int ms )

Causes the current thread to give up control for a certain duration.

Parameters:
ms,: amount of miliseconds to sleep

Definition at line 19 of file cAudioSleep.cpp.

CAUDIO_API IAudioCapture * cAudio::createAudioCapture ( bool initializeDefault = true )

Creates an interface to an Audio Capture Object.

Note: This is the only way to get access to the audio capture capabilities of cAudio. You must delete this interface using destroyAudioCapture() once you are done with it.

Parameters:
initializeDefault,: Whether to return an object initialized with the default settings. If set to false, you must make a call to initialize before audio can be captured.
Returns:
A pointer to the created object, NULL if the object could not be allocated.

Definition at line 340 of file cAudioCapture.cpp.

CAUDIO_API IAudioManager * cAudio::createAudioManager ( bool initializeDefault = true )

Creates an interface to an Audio Manager.

Note: This is the only way to get access to the audio playback capabilities of cAudio. You must delete this interface using destroyAudioManager() once you are done with it.

Parameters:
initializeDefault,: Whether to return an object initialized with the default settings. If set to false, you must make a call to initialize before you can create audio sources.
Returns:
A pointer to the created object, NULL if the object could not be allocated.

Definition at line 726 of file cAudioManager.cpp.

CAUDIO_API void cAudio::destroyAudioCapture ( IAudioCapture * capture )

Destroys an interface to a previously created Audio Capture Object and frees the memory allocated for it.

Parameters:
capture,: The object to destroy

Definition at line 369 of file cAudioCapture.cpp.

CAUDIO_API void cAudio::destroyAudioManager ( IAudioManager * manager )

Destroys an interface to a previously created Audio Manager and frees the memory allocated for it.

Parameters:
capture,: The object to destroy.

Definition at line 770 of file cAudioManager.cpp.

CAUDIO_API ILogger * cAudio::getLogger ( )

Gets the interface to the logger.

Note: This is the only way to get access to the logging capabilities of cAudio.

Returns:
A pointer to the logger interface.

Definition at line 151 of file cLogger.cpp.

CAUDIO_API IMemoryProvider * cAudio::getMemoryProvider ( )

Returns a pointer to the memory provider of cAudio.

Used by cAudio for all allocations of memory

Returns:
A pointer to the memory provider

Definition at line 6 of file cAudioMemory.cpp.

CAUDIO_API IPluginManager * cAudio::getPluginManager ( )

Gets the interface to the plugin manager.

Note: This is the only way to get access to the plugin capabilities of cAudio.

Returns:
A pointer to the manager.

Definition at line 174 of file cPluginManager.cpp.

CAUDIO_API bool cAudio::isAudioCaptureThreadRunning ( )

Returns if the thread used to update all Audio Capture Objects is running.

Note: Will always return false if threading is disabled. The library automatically shuts down the thread if no Audio Capture objects exist and will restart the thread on creation of a new object.

Returns:
True if the thread is currently running, false otherwise.

Definition at line 396 of file cAudioCapture.cpp.

CAUDIO_API bool cAudio::isAudioManagerThreadRunning ( )

Returns if the thread used to update all Audio Managers is running.

Note: Will always return false if threading is disabled. The library automatically shuts down the thread if no Audio Managers exist and will restart the thread on creation of a new manager.

Returns:
True if the thread is currently running, false otherwise.

Definition at line 802 of file cAudioManager.cpp.

Variable Documentation

const char* const cAudio::LogLevelStrings[]
Initial value:
        {
                "Debug",
                "Information",
                "Warning",
                "Error",
                "Critical",
                0
        }

Contains strings for each log level to make them easier to print to a stream.

Definition at line 22 of file ILogReceiver.h.

All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:32 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Enumerations
Here is a list of all documented namespace members with links to the namespaces they belong to:
  • AudioFormats : cAudio
  • cAudioSleep() : cAudio
  • createAudioCapture() : cAudio
  • createAudioManager() : cAudio
  • destroyAudioCapture() : cAudio
  • destroyAudioManager() : cAudio
  • EffectTypes : cAudio
  • Epsilon : cAudio
  • FilterTypes : cAudio
  • float_equals() : cAudio
  • getLogger() : cAudio
  • getMemoryProvider() : cAudio
  • getPluginManager() : cAudio
  • isAudioCaptureThreadRunning() : cAudio
  • isAudioManagerThreadRunning() : cAudio
  • LogLevel : cAudio
  • LogLevelStrings : cAudio
  • VorbisRead() : cAudio
  • VorbisSeek() : cAudio
  • VorbisTell() : cAudio
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:44 2010 for cAudio by doxygen 1.6.2


cAudio: File Index

  • File List

File List

Here is a list of all documented files with brief descriptions:
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cAudioCapture.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cAudioEffects.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cAudioManager.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cAudioSource.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cConsoleLogReceiver.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cEffect.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cEFXFunctions.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cFileLogReceiver.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cFileSource.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cFileSourceFactory.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cFilter.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cListener.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cLogger.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cMemoryOverride.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cMemorySource.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cMemoryTracker.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cMutex.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cOggAudioDecoderFactory.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cOggDecoder.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cPluginManager.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cRawAudioDecoderFactory.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cRawDecoder.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cStandardMemoryProvider.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cSTLAllocator.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cThread.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cUtils.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cWavAudioDecoderFactory.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cWavDecoder.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/cAudio.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/cAudioDefines.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/cAudioMemory.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/cAudioPlatform.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/cAudioSleep.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/cVector3.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/EAudioFormats.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioCapture.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioDecoder.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioDecoderFactory.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioEffects.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioManager.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioPlugin.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioSource.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/ICaptureEventHandler.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IDataSource.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IDataSourceFactory.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffect.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffectParameters.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IFilter.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IListener.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/ILogger.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/ILogReceiver.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IManagerEventHandler.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IMemoryProvider.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IPluginManager.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IRefCounted.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/ISourceEventHandler.h [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cAudioCapture.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cAudioEffects.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cAudioManager.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cAudioMemory.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cAudioSleep.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cAudioSource.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cConsoleLogReceiver.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cEffect.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cFileLogReceiver.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cFileSource.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cFilter.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cListener.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cLogger.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cMemorySource.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cMemoryTracker.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cMutex.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cOggAudioDecoderFactory.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cOggDecoder.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cPluginManager.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cRawDecoder.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cStandardMemoryProvider.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cThread.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cWavAudioDecoderFactory.cpp [code]
C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cWavDecoder.cpp [code]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:45 2010 for cAudio by doxygen 1.6.2


cAudio: Directory Hierarchy

Directories

This directory hierarchy is sorted roughly, but not completely, alphabetically:
  • Headers
  • include
  • Source
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:45 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/ Directory Reference

Headers

Headers Directory Reference

Files

file | cAudioCapture.h [code]
file | cAudioEffects.h [code]
file | cAudioManager.h [code]
file | cAudioSource.h [code]
file | cConsoleLogReceiver.h [code]
file | cEffect.h [code]
file | cEFXFunctions.h [code]
file | cFileLogReceiver.h [code]
file | cFileSource.h [code]
file | cFileSourceFactory.h [code]
file | cFilter.h [code]
file | cListener.h [code]
file | cLogger.h [code]
file | cMemoryOverride.h [code]
file | cMemorySource.h [code]
file | cMemoryTracker.h [code]
file | cMutex.h [code]
file | cOggAudioDecoderFactory.h [code]
file | cOggDecoder.h [code]
file | cPluginManager.h [code]
file | cRawAudioDecoderFactory.h [code]
file | cRawDecoder.h [code]
file | cStandardMemoryProvider.h [code]
file | cSTLAllocator.h [code]
file | cThread.h [code]
file | cUtils.h [code]
file | cWavAudioDecoderFactory.h [code]
file | cWavDecoder.h [code]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:44 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/ Directory Reference

include

include Directory Reference

Files

file | cAudio.h [code]
file | cAudioDefines.h [code]
file | cAudioMemory.h [code]
file | cAudioPlatform.h [code]
file | cAudioSleep.h [code]
file | cVector3.h [code]
file | EAudioFormats.h [code]
file | IAudioCapture.h [code]
file | IAudioDecoder.h [code]
file | IAudioDecoderFactory.h [code]
file | IAudioEffects.h [code]
file | IAudioManager.h [code]
file | IAudioPlugin.h [code]
file | IAudioSource.h [code]
file | ICaptureEventHandler.h [code]
file | IDataSource.h [code]
file | IDataSourceFactory.h [code]
file | IEffect.h [code]
file | IEffectParameters.h [code]
file | IFilter.h [code]
file | IListener.h [code]
file | ILogger.h [code]
file | ILogReceiver.h [code]
file | IManagerEventHandler.h [code]
file | IMemoryProvider.h [code]
file | IPluginManager.h [code]
file | IRefCounted.h [code]
file | ISourceEventHandler.h [code]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:45 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/ Directory Reference

Source

Source Directory Reference

Files

file | cAudioCapture.cpp [code]
file | cAudioEffects.cpp [code]
file | cAudioManager.cpp [code]
file | cAudioMemory.cpp [code]
file | cAudioSleep.cpp [code]
file | cAudioSource.cpp [code]
file | cConsoleLogReceiver.cpp [code]
file | cEffect.cpp [code]
file | cFileLogReceiver.cpp [code]
file | cFileSource.cpp [code]
file | cFilter.cpp [code]
file | cListener.cpp [code]
file | cLogger.cpp [code]
file | cMemorySource.cpp [code]
file | cMemoryTracker.cpp [code]
file | cMutex.cpp [code]
file | cOggAudioDecoderFactory.cpp [code]
file | cOggDecoder.cpp [code]
file | cPluginManager.cpp [code]
file | cRawDecoder.cpp [code]
file | cStandardMemoryProvider.cpp [code]
file | cThread.cpp [code]
file | cWavAudioDecoderFactory.cpp [code]
file | cWavDecoder.cpp [code]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:45 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/EAudioFormats.h Source File

  • File List
include

EAudioFormats.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef EAUDIOFORMATS_H
00006 #define EAUDIOFORMATS_H
00007
00008 namespace cAudio
00009 {
00011         enum AudioFormats
00012         {
00013           EAF_8BIT_MONO,
00014           EAF_8BIT_STEREO,
00015           EAF_16BIT_MONO,
00016           EAF_16BIT_STEREO
00017         };
00018 };
00019
00020 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioCapture.h Source File

  • File List
include

IAudioCapture.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef IAUDIOCAPTURE_H
00006 #define IAUDIOCAPTURE_H
00007
00008 #include "EAudioFormats.h"
00009 #include "cAudioDefines.h"
00010 #include "ICaptureEventHandler.h"
00011
00012 namespace cAudio
00013 {
00015         class IAudioCapture
00016         {
00017         public:
00018                 IAudioCapture() { }
00019                 virtual ~IAudioCapture() { }
00020
00022
00029                 virtual bool initialize(const char* deviceName = 0x0, unsigned int frequency = 22050, AudioFormats format = EAF_16BIT_MONO, unsigned int internalBufferSize = 8192) = 0;
00031                 virtual bool isSupported() = 0;
00033                 virtual bool isReady() = 0;
00035
00036                 virtual void updateCaptureBuffer(bool force = false) = 0;
00038                 virtual void shutdown() = 0;
00039
00041
00043                 virtual const char* getAvailableDeviceName(unsigned int index) = 0;
00045
00046                 virtual unsigned int getAvailableDeviceCount() = 0;
00048
00049                 virtual const char* getDefaultDeviceName() = 0;
00050
00052                 virtual const char* getDeviceName() = 0;
00054                 virtual unsigned int getFrequency() = 0;
00056                 virtual AudioFormats getFormat() = 0;
00058
00059                 virtual unsigned int getInternalBufferSize() = 0;
00061
00062                 virtual unsigned int getSampleSize() = 0;
00063
00065
00068                 virtual bool setDevice(const char* deviceName) = 0;
00070
00073                 virtual bool setFrequency(unsigned int frequency) = 0;
00075
00078                 virtual bool setFormat(AudioFormats format) = 0;
00080
00083                 virtual bool setInternalBufferSize(unsigned int internalBufferSize) = 0;
00084
00086
00087                 virtual bool beginCapture() = 0;
00089                 virtual void stopCapture() = 0;
00091
00097                 virtual unsigned int getCapturedAudio(void* outputBuffer, unsigned int outputBufferSize) = 0;
00098
00100                 virtual unsigned int getCurrentCapturedAudioSize() = 0;
00101
00103
00104                 virtual void registerEventHandler(ICaptureEventHandler* handler) = 0;
00106
00107                 virtual void unRegisterEventHandler(ICaptureEventHandler* handler) = 0;
00109                 virtual void unRegisterAllEventHandlers() = 0;
00110
00111         };
00112
00114
00119         CAUDIO_API IAudioCapture* createAudioCapture(bool initializeDefault = true);
00120
00122
00125         CAUDIO_API void destroyAudioCapture(IAudioCapture* capture);
00126
00128
00132         CAUDIO_API bool isAudioCaptureThreadRunning();
00133 };
00134
00135 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioDecoder.h Source File

  • File List
include

IAudioDecoder.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef IAUDIODECODER_H
00006 #define IAUDIODECODER_H
00007
00008 #include "IRefCounted.h"
00009 #include "IDataSource.h"
00010 #include "EAudioFormats.h"
00011
00012 namespace cAudio
00013 {
00015         class IAudioDecoder : public IRefCounted
00016         {
00017                 public:
00019
00020                         IAudioDecoder(IDataSource* stream) : Stream(stream) { if(Stream) Stream->grab(); }
00021                         virtual ~IAudioDecoder() { if(Stream) Stream->drop(); }
00022
00024                         virtual AudioFormats getFormat() = 0;
00025
00027                         virtual int getFrequency() = 0;
00028
00030                         virtual bool isSeekingSupported() = 0;
00031
00033                         virtual bool isValid() = 0;
00034
00036
00040                         virtual int readAudioData(void* output, int amount) = 0;
00041
00043
00047                         virtual bool setPosition(int position, bool relative) = 0;
00048
00050
00054                         virtual bool seek(float seconds, bool relative) = 0;
00055
00057                         virtual float getTotalTime() = 0;
00058
00060                         virtual int getTotalSize() = 0;
00061
00063                         virtual int getCompressedSize() = 0;
00064
00066                         virtual float getCurrentTime() = 0;
00067
00069                         virtual int getCurrentPosition() = 0;
00070
00072                         virtual int getCurrentCompressedPosition() = 0;
00073                 protected:
00075                         IDataSource* Stream;
00076         };
00077 };
00078
00079 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioDecoderFactory.h Source File

  • File List
include

IAudioDecoderFactory.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef IAUDIODECODERFACTORY_H
00006 #define IAUDIODECODERFACTORY_H
00007
00008 #include "IAudioDecoder.h"
00009
00010 namespace cAudio
00011 {
00013         class IAudioDecoderFactory
00014         {
00015                 public:
00016                         IAudioDecoderFactory() {}
00017                         virtual ~IAudioDecoderFactory() {}
00018
00020
00023                         virtual IAudioDecoder* CreateAudioDecoder(IDataSource* stream) = 0;
00024                 protected:
00025                 private:
00026         };
00027 };
00028
00029 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioEffects.h Source File

  • File List
include

IAudioEffects.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef IAUDIOEFFECTS_H
00006 #define IAUDIOEFFECTS_H
00007
00008 #include "IEffect.h"
00009 #include "IFilter.h"
00010 #include "cAudioDefines.h"
00011
00012 #ifdef CAUDIO_EFX_ENABLED
00013
00014 namespace cAudio
00015 {
00017     class IAudioEffects
00018     {
00019     public:
00020                 IAudioEffects() {}
00021         virtual ~IAudioEffects() {}
00022
00024
00025                 virtual IEffect* createEffect() = 0;
00026
00028
00029                 virtual IFilter* createFilter() = 0;
00030
00032                 virtual unsigned int getMaxEffectsSupported() const = 0;
00033
00035
00038                 virtual bool isEffectSupported(const EffectTypes& type) const = 0;
00039
00041
00044                 virtual bool isFilterSupported(const FilterTypes& type) const = 0;
00045
00047
00051                 virtual bool addEAXReverbEffectPreset(const char* name, const sEAXReverbParameters& setting) = 0;
00052
00054
00058                 virtual bool addReverbEffectPreset(const char* name, const sReverbParameters& setting) = 0;
00059
00061
00065                 virtual bool addChorusEffectPreset(const char* name, const sChorusParameters& setting) = 0;
00066
00068
00072                 virtual bool addDistortionEffectPreset(const char* name, const sDistortionParameters& setting) = 0;
00073
00075
00079                 virtual bool addEchoEffectPreset(const char* name, const sEchoParameters& setting) = 0;
00080
00082
00086                 virtual bool addFlangerEffectPreset(const char* name, const sFlangerParameters& setting) = 0;
00087
00089
00093                 virtual bool addFrequencyShiftEffectPreset(const char* name, const sFrequencyShiftParameters& setting) = 0;
00094
00096
00100                 virtual bool addVocalMorpherEffectPreset(const char* name, const sVocalMorpherParameters& setting) = 0;
00101
00103
00107                 virtual bool addPitchShifterEffectPreset(const char* name, const sPitchShifterParameters& setting) = 0;
00108
00110
00114                 virtual bool addRingModulatorEffectPreset(const char* name, const sRingModulatorParameters& setting) = 0;
00115
00117
00121                 virtual bool addAutowahEffectPreset(const char* name, const sAutowahParameters& setting) = 0;
00122
00124
00128                 virtual bool addCompressorEffectPreset(const char* name, const sCompressorParameters& setting) = 0;
00129
00131
00135                 virtual bool addEqualizerEffectPreset(const char* name, const sEqualizerParameters& setting) = 0;
00136
00138
00141                 virtual sEAXReverbParameters getEAXReverbEffectPreset(const char* name) = 0;
00142
00144
00147                 virtual sReverbParameters getReverbEffectPreset(const char* name) = 0;
00148
00150
00153                 virtual sChorusParameters getChorusEffectPreset(const char* name) = 0;
00154
00156
00159                 virtual sDistortionParameters getDistortionEffectPreset(const char* name) = 0;
00160
00162
00165                 virtual sEchoParameters getEchoEffectPreset(const char* name) = 0;
00166
00168
00171                 virtual sFlangerParameters getFlangerEffectPreset(const char* name) = 0;
00172
00174
00177                 virtual sFrequencyShiftParameters getFrequencyShiftEffectPreset(const char* name) = 0;
00178
00180
00183                 virtual sVocalMorpherParameters getVocalMorpherEffectPreset(const char* name) = 0;
00184
00186
00189                 virtual sPitchShifterParameters getPitchShifterEffectPreset(const char* name) = 0;
00190
00192
00195                 virtual sRingModulatorParameters getRingModulatorEffectPreset(const char* name) = 0;
00196
00198
00201                 virtual sAutowahParameters getAutowahEffectPreset(const char* name) = 0;
00202
00204
00207                 virtual sCompressorParameters getCompressorEffectPreset(const char* name) = 0;
00208
00210
00213                 virtual sEqualizerParameters getEqualizerEffectPreset(const char* name) = 0;
00214
00216
00219                 virtual void removeEffectPreset(const EffectTypes& type, const char* name) = 0;
00220
00222
00226                 virtual bool isEffectPresetRegistered(const EffectTypes& type, const char* name) = 0;
00227
00229
00231                 virtual void removeAllEffectPresets(const EffectTypes& type) = 0;
00232
00233     protected:
00234     private:
00235     };
00236 };
00237
00238 #endif
00239
00240 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioManager.h Source File

  • File List
include

IAudioManager.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef IAUDIOMANAGER_H
00006 #define IAUDIOMANAGER_H
00007
00008 #include "IListener.h"
00009 #include "cAudioDefines.h"
00010 #include "EAudioFormats.h"
00011 #include "IAudioEffects.h"
00012 #include "IDataSourceFactory.h"
00013 #include "IManagerEventHandler.h"
00014 #include <string>
00015
00016 namespace cAudio
00017 {
00018         class IAudioSource;
00019         class IAudioDecoderFactory;
00020
00022     class IAudioManager
00023     {
00024     public:
00025                 IAudioManager() { }
00026                 virtual ~IAudioManager() { }
00027
00029
00034                 virtual bool initialize(const char* deviceName = 0x0, int outputFrequency = -1, int eaxEffectSlots = 4) = 0;
00035
00037                 virtual void shutDown() = 0;
00038
00040                 virtual void update() = 0;
00041
00043
00046                 virtual IAudioSource* getSoundByName(const char* name) = 0;
00047
00049                 virtual void releaseAllSources() = 0;
00050
00052
00053                 virtual void release(IAudioSource* source) = 0;
00054
00056
00058                 virtual const char* getAvailableDeviceName(unsigned int index) = 0;
00059
00061
00062                 virtual unsigned int getAvailableDeviceCount() = 0;
00063
00065
00066                 virtual const char* getDefaultDeviceName() = 0;
00067
00069
00075                 virtual IAudioSource* create(const char* name, const char* filename, bool stream = false) = 0;
00076
00078
00085                 virtual IAudioSource* createFromMemory(const char* name, const char* data, size_t length, const char* extension) = 0;
00086
00088
00096                 virtual IAudioSource* createFromRaw(const char* name, const char* data, size_t length, unsigned int frequency, AudioFormats format) = 0;
00097
00099
00103                 virtual bool registerAudioDecoder(IAudioDecoderFactory* factory, const char* extension) = 0;
00104
00106
00108                 virtual void unRegisterAudioDecoder(const char* extension) = 0;
00109
00111
00114                 virtual bool isAudioDecoderRegistered(const char* extension) = 0;
00115
00117
00120                 virtual IAudioDecoderFactory* getAudioDecoderFactory(const char* extension) = 0;
00121
00123
00124                 virtual void unRegisterAllAudioDecoders() = 0;
00125
00127
00132                 virtual bool registerDataSource(IDataSourceFactory* factory, const char* name, int priority) = 0;
00133
00135
00137                 virtual void unRegisterDataSource(const char* name) = 0;
00138
00140
00143                 virtual bool isDataSourceRegistered(const char* name) = 0;
00144
00146
00149                 virtual IDataSourceFactory* getDataSourceFactory(const char* name) = 0;
00150
00152
00153                 virtual void unRegisterAllDataSources() = 0;
00154
00156
00158                 virtual void registerEventHandler(IManagerEventHandler* handler) = 0;
00159
00161
00163                 virtual void unRegisterEventHandler(IManagerEventHandler* handler) = 0;
00164
00166
00167                 virtual void unRegisterAllEventHandlers() = 0;
00168
00170                 virtual IListener* getListener() = 0;
00171
00172 #ifdef CAUDIO_EFX_ENABLED
00174                 virtual IAudioEffects* getEffects() = 0;
00175 #endif
00176
00177     protected:
00178     private:
00179     };
00180
00182
00187         CAUDIO_API IAudioManager* createAudioManager(bool initializeDefault = true);
00188
00190
00193         CAUDIO_API void destroyAudioManager(IAudioManager* manager);
00194
00196
00200         CAUDIO_API bool isAudioManagerThreadRunning();
00201 }
00202 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioPlugin.h Source File

  • File List
include

IAudioPlugin.h

00001 #ifndef IAUDIOPLUGIN_H_INCLUDED
00002 #define IAUDIOPLUGIN_H_INCLUDED
00003
00004 #include "IRefCounted.h"
00005 #include "IAudioManager.h"
00006 #include "IAudioCapture.h"
00007 #include "ILogger.h"
00008
00009 namespace cAudio
00010 {
00012         class IAudioPlugin : public IRefCounted
00013         {
00014         public:
00015                 IAudioPlugin() { }
00016                 ~IAudioPlugin() { }
00017
00019
00022                 virtual bool installPlugin(ILogger* logger) = 0;
00023
00025
00027                 virtual const char* getPluginName() = 0;
00028
00030                 virtual void uninstallPlugin() = 0;
00031
00033
00035                 virtual void onCreateAudioManager(IAudioManager* manager) { }
00036
00038
00040                 virtual void onCreateAudioCapture(IAudioCapture* capture) { }
00041
00043
00045                 virtual void onDestroyAudioManager(IAudioManager* manager) { }
00046
00048
00050                 virtual void onDestoryAudioCapture(IAudioCapture* capture) { }
00051         };
00052 };
00053
00054 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IAudioSource.h Source File

  • File List
include

IAudioSource.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef IAUDIOSOURCE_H
00006 #define IAUDIOSOURCE_H
00007
00008 #include "cAudioDefines.h"
00009 #include "IRefCounted.h"
00010 #include "IAudioDecoder.h"
00011 #include "cVector3.h"
00012 #include "IEffect.h"
00013 #include "IFilter.h"
00014 #include "ISourceEventHandler.h"
00015
00016 namespace cAudio
00017 {
00019     class IAudioSource : public IRefCounted
00020     {
00021     public:
00022                 IAudioSource() {}
00023                 virtual ~IAudioSource() {}
00024
00026
00028                 virtual bool play() = 0;
00029
00031
00034                 virtual bool play2d(const bool& toLoop = false) = 0;
00035
00037
00042                 virtual bool play3d(const cVector3& position, const float& soundstr = 1.0 , const bool& toLoop = false) = 0;
00043
00045                 virtual void pause() = 0;
00046
00048                 virtual void stop() = 0;
00049
00051
00052                 virtual void loop(const bool& toLoop) = 0;
00053
00055
00059                 virtual bool seek(const float& seconds, bool relative = false) = 0;
00060
00062                 virtual float getTotalAudioTime() = 0;
00063
00065                 virtual int getTotalAudioSize() = 0;
00066
00068                 virtual int getCompressedAudioSize() = 0;
00069
00071                 virtual float getCurrentAudioTime() = 0;
00072
00074                 virtual int getCurrentAudioPosition() = 0;
00075
00077                 virtual int getCurrentCompressedAudioPosition() = 0;
00078
00080                 virtual bool update() = 0;
00081
00083                 virtual void release() = 0;
00084
00086                 virtual const bool isValid() const = 0;
00087
00089                 virtual const bool isPlaying() const = 0;
00090
00092                 virtual const bool isPaused() const = 0;
00093
00095                 virtual const bool isStopped() const = 0;
00096
00098                 virtual const bool isLooping() const = 0;
00099
00101
00103                 virtual void setPosition(const cVector3& position) = 0;
00104
00106
00108                 virtual void setVelocity(const cVector3& velocity) = 0;
00109
00111
00113                 virtual void setDirection(const cVector3& direction) = 0;
00114
00116
00119                 virtual void setRolloffFactor(const float& rolloff) = 0;
00120
00122
00125                 virtual void setStrength(const float& soundstrength) = 0;
00126
00128
00130                 virtual void setMinDistance(const float& minDistance) = 0;
00131
00133
00135                 virtual void setMaxDistance(const float& maxDistance) = 0;
00136
00138
00140                 virtual void setPitch(const float& pitch) = 0;
00141
00143
00145                 virtual void setVolume(const float& volume) = 0;
00146
00148
00150                 virtual void setMinVolume(const float& minVolume) = 0;
00151
00153
00155                 virtual void setMaxVolume(const float& maxVolume) = 0;
00156
00158
00161                 virtual void setInnerConeAngle(const float& innerAngle) = 0;
00162
00164
00167                 virtual void setOuterConeAngle(const float& outerAngle) = 0;
00168
00170
00172                 virtual void setOuterConeVolume(const float& outerVolume) = 0;
00173
00175
00177                 virtual void setDopplerStrength(const float& dstrength) = 0;
00178
00180
00182                 virtual void setDopplerVelocity(const cVector3& dvelocity) = 0;
00183
00185
00187                 virtual void move(const cVector3& position) = 0;
00188
00190                 virtual const cVector3 getPosition() const = 0;
00191
00193                 virtual const cVector3 getVelocity() const = 0;
00194
00196                 virtual const cVector3 getDirection() const = 0;
00197
00199                 virtual const float getRolloffFactor() const = 0;
00200
00202                 virtual const float getStrength() const = 0;
00203
00205                 virtual const float getMinDistance() const = 0;
00206
00208                 virtual const float getMaxDistance() const = 0;
00209
00211                 virtual const float getPitch() const = 0;
00212
00214                 virtual const float getVolume() const = 0;
00215
00217                 virtual const float getMinVolume() const = 0;
00218
00220                 virtual const float getMaxVolume() const = 0;
00221
00223                 virtual const float getInnerConeAngle() const = 0;
00224
00226                 virtual const float getOuterConeAngle() const = 0;
00227
00229                 virtual const float getOuterConeVolume() const = 0;
00230
00232                 virtual const float getDopplerStrength() const = 0;
00233
00235                 virtual const cVector3 getDopplerVelocity() const = 0;
00236
00238
00240                 virtual void registerEventHandler(ISourceEventHandler* handler) = 0;
00241
00243
00245                 virtual void unRegisterEventHandler(ISourceEventHandler* handler) = 0;
00246
00248                 virtual void unRegisterAllEventHandlers() = 0;
00249
00250 #ifdef CAUDIO_EFX_ENABLED
00252                 virtual unsigned int getNumEffectSlotsAvailable() const = 0;
00253
00255
00259                 virtual bool attachEffect(unsigned int slot, IEffect* effect) = 0;
00260
00262
00264                 virtual void removeEffect(unsigned int slot) = 0;
00265
00267
00270                 virtual bool attachFilter(IFilter* filter) = 0;
00271
00273                 virtual void removeFilter() = 0;
00274 #endif
00275
00276     protected:
00277     private:
00278     };
00279 };
00280 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/ICaptureEventHandler.h Source File

  • File List
include

ICaptureEventHandler.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef ICAPTUREEVENTHANDLER_H
00006 #define ICAPTUREEVENTHANDLER_H
00007
00008 namespace cAudio
00009 {
00011         class ICaptureEventHandler
00012         {
00013
00014         public:
00016                 virtual void onInit() = 0;
00017
00019                 virtual void onUpdate() = 0;
00020
00022                 virtual void onRelease() = 0;
00023
00025                 virtual void onBeginCapture() = 0;
00026
00028                 virtual void onEndCapture() = 0;
00029
00031                 virtual void onUserRequestBuffer() = 0;
00032
00033         };
00034 };
00035
00036 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IDataSource.h Source File

  • File List
include

IDataSource.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef IDATASOURCE_H
00006 #define IDATASOURCE_H
00007
00008 #include "IRefCounted.h"
00009
00010 namespace cAudio
00011 {
00013         class IDataSource : public IRefCounted
00014         {
00015                 public:
00016                         IDataSource() {  }
00017                         virtual ~IDataSource() {  }
00018
00020
00022                         virtual bool isValid() = 0;
00023
00025                         virtual int getCurrentPos() = 0;
00026
00028                         virtual int getSize() = 0;
00029
00031
00035                         virtual int read(void* output, int size) = 0;
00036
00038
00042                         virtual bool seek(int amount, bool relative) = 0;
00043         };
00044 };
00045
00046 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IDataSourceFactory.h Source File

  • File List
include

IDataSourceFactory.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef IDATASOURCEFACTORY_H
00006 #define IDATASOURCEFACTORY_H
00007
00008 #include "IDataSource.h"
00009
00010 namespace cAudio
00011 {
00013         class IDataSourceFactory
00014         {
00015                 public:
00016                         IDataSourceFactory() { }
00017                         virtual ~IDataSourceFactory() { }
00018
00020
00024                         virtual IDataSource* CreateDataSource(const char* filename, bool streamingRequested) = 0;
00025                 protected:
00026                 private:
00027         };
00028 };
00029
00030 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffect.h Source File

  • File List
include

IEffect.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef IEFFECT_H
00006 #define IEFFECT_H
00007
00008 #include "IRefCounted.h"
00009 #include "IFilter.h"
00010 #include "IEffectParameters.h"
00011 #include "cAudioDefines.h"
00012
00013 #ifdef CAUDIO_EFX_ENABLED
00014
00015 namespace cAudio
00016 {
00018         enum EffectTypes
00019         {
00020                 EET_NULL,
00021                 EET_EAX_REVERB,
00022                 EET_REVERB,
00023                 EET_CHORUS,
00024                 EET_DISTORTION,
00025                 EET_ECHO,
00026                 EET_FLANGER,
00027                 EET_FREQUENCY_SHIFTER,
00028                 EET_VOCAL_MORPHER,
00029                 EET_PITCH_SHIFTER,
00030                 EET_RING_MODULATOR,
00031                 EET_AUTOWAH,
00032                 EET_COMPRESSOR,
00033                 EET_EQUALIZER,
00034                 EET_COUNT
00035         };
00036
00038         class IEffect : public IRefCounted
00039         {
00040         public:
00041                 IEffect() {  }
00042                 virtual ~IEffect() {  }
00043
00045                 virtual const EffectTypes& getType() const = 0;
00046
00048
00050                 virtual void setType(const EffectTypes& type) = 0;
00051
00053                 virtual const sEAXReverbParameters& getEAXReverbParameters() const = 0;
00054
00056
00058                 virtual void setEAXReverbParameters(const sEAXReverbParameters& param) = 0;
00059
00061                 virtual const sReverbParameters& getReverbParameters() const = 0;
00062
00064
00066                 virtual void setReverbParameters(const sReverbParameters& param) = 0;
00067
00069                 virtual const sChorusParameters& getChorusParameters() const = 0;
00070
00072
00074                 virtual void setChorusParameters(const sChorusParameters& param) = 0;
00075
00077                 virtual const sDistortionParameters& getDistortionParameters() const = 0;
00078
00080
00082                 virtual void setDistortionParameters(const sDistortionParameters& param) = 0;
00083
00085                 virtual const sEchoParameters& getEchoParameters() const = 0;
00086
00088
00090                 virtual void setEchoParameters(const sEchoParameters& param) = 0;
00091
00093                 virtual const sFlangerParameters& getFlangerParameters() const = 0;
00094
00096
00098                 virtual void setFlangerParameters(const sFlangerParameters& param) = 0;
00099
00101                 virtual const sFrequencyShiftParameters& getFrequencyShiftParameters() const = 0;
00102
00104
00106                 virtual void setFrequencyShiftParameters(const sFrequencyShiftParameters& param) = 0;
00107
00109                 virtual const sVocalMorpherParameters& getVocalMorpherParameters() const = 0;
00110
00112
00114                 virtual void setVocalMorpherParameters(const sVocalMorpherParameters& param) = 0;
00115
00117                 virtual const sPitchShifterParameters& getPitchShifterParameters() const = 0;
00118
00120
00122                 virtual void setPitchShifterParameters(const sPitchShifterParameters& param) = 0;
00123
00125                 virtual const sRingModulatorParameters& getRingModulatorParameters() const = 0;
00126
00128
00130                 virtual void setRingModulatorParameters(const sRingModulatorParameters& param) = 0;
00131
00133                 virtual const sAutowahParameters& getAutowahParameters() const = 0;
00134
00136
00138                 virtual void setAutowahParameters(const sAutowahParameters& param) = 0;
00139
00141                 virtual const sCompressorParameters& getCompressorParameters() const = 0;
00142
00144
00146                 virtual void setCompressorParameters(const sCompressorParameters& param) = 0;
00147
00149                 virtual const sEqualizerParameters& getEqualizerParameters() const = 0;
00150
00152
00154                 virtual void setEqualizerParameters(const sEqualizerParameters& param) = 0;
00155
00157
00159                 virtual float getMasterVolume() const = 0;
00160
00162
00164                 virtual void setMasterVolume(const float& volume) = 0;
00165
00167                 virtual bool isIgnoringAttenuation() const = 0;
00168
00170
00172                 virtual void ignoreAttenuation(const bool& ignore) = 0;
00173
00175                 virtual IFilter* getFilter() const = 0;
00176
00178
00180                 virtual void attachFilter(IFilter* filter) = 0;
00181
00183                 virtual void removeFilter() = 0;
00184
00186                 virtual unsigned int getLastUpdated() const = 0;
00187
00189                 virtual bool isValid() const = 0;
00190         };
00191 };
00192
00193 #endif
00194
00195 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IEffectParameters.h Source File

  • File List
include

IEffectParameters.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef IEFFECTPARAMETERS_H
00006 #define IEFFECTPARAMETERS_H
00007
00008 #include "cVector3.h"
00009 #include "cAudioDefines.h"
00010
00011 #ifdef CAUDIO_EFX_ENABLED
00012
00013 namespace cAudio
00014 {
00016         struct sEAXReverbParameters
00017         {
00018                 sEAXReverbParameters(
00019                         float density = 1.0f,
00020                         float diffusion = 1.0f,
00021                         float gain = 0.32f,
00022                         float gainHF = 0.89f,
00023                         float gainLF = 0.0f,
00024                         float decayTime = 1.49f,
00025                         float decayHFRatio = 0.83f,
00026                         float decayLFRatio = 1.0f,
00027                         float reflectionsGain = 0.05f,
00028                         float reflectionsDelay = 0.007f,
00029                         cVector3 reflectionsPan = cVector3(0.0f, 0.0f, 0.0f),
00030                         float lateReverbGain = 1.26f,
00031                         float lateReverbDelay = 0.011f,
00032                         cVector3 lateReverbPan = cVector3(0.0f, 0.0f, 0.0f),
00033                         float echoTime = 0.25f,
00034                         float echoDepth = 0.0f,
00035                         float modulationTime = 0.25f,
00036                         float modulationDepth = 0.0f,
00037                         float airAbsorptionGainHF = 0.994f,
00038                         float hFReference = 5000.0f,
00039                         float lFReference = 250.0f,
00040                         float roomRolloffFactor = 0.0f,
00041                         bool decayHFLimit = true) :
00042                         Density(density), Diffusion(diffusion), Gain(gain), GainHF(gainHF), GainLF(gainLF),
00043                         DecayTime(decayTime), DecayHFRatio(decayHFRatio), DecayLFRatio(decayLFRatio),
00044                         ReflectionsGain(reflectionsGain), ReflectionsDelay(reflectionsDelay),
00045                         ReflectionsPan(reflectionsPan), LateReverbGain(lateReverbGain),
00046                         LateReverbDelay(lateReverbDelay), LateReverbPan(lateReverbPan),
00047                         EchoTime(echoTime), EchoDepth(echoDepth),ModulationTime(modulationTime),
00048                         ModulationDepth(modulationDepth), AirAbsorptionGainHF(airAbsorptionGainHF),
00049                         HFReference(hFReference), LFReference(lFReference),
00050                         RoomRolloffFactor(roomRolloffFactor), DecayHFLimit(decayHFLimit) { }
00051
00055                 float Density;
00056
00062                 float Diffusion;
00063
00070                 float Gain;
00071
00078                 float GainHF;
00079
00086                 float GainLF;
00087
00091                 float DecayTime;
00092
00101                 float DecayHFRatio;
00102
00111                 float DecayLFRatio;
00112
00119                 float ReflectionsGain;
00120
00126                 float ReflectionsDelay;
00127
00141                 cVector3 ReflectionsPan;
00142
00148                 float LateReverbGain;
00149
00154                 float LateReverbDelay;
00155
00160                 cVector3 LateReverbPan;
00161
00167                 float EchoTime;
00168
00179                 float EchoDepth;
00180
00185                 float ModulationTime;
00186
00191                 float ModulationDepth;
00192
00201                 float AirAbsorptionGainHF;
00202
00211                 float HFReference;
00212
00215                 float LFReference;
00216
00231                 float RoomRolloffFactor;
00232
00240                 bool DecayHFLimit;
00241         };
00242
00244         struct sReverbParameters
00245         {
00246                 sReverbParameters(
00247                         float density = 1.0f,
00248                         float diffusion = 1.0f,
00249                         float gain = 0.32f,
00250                         float gainHF = 0.89f,
00251                         float decayTime = 1.49f,
00252                         float decayHFRatio = 0.83f,
00253                         float reflectionsGain = 0.05f,
00254                         float reflectionsDelay = 0.007f,
00255                         float lateReverbGain = 1.26f,
00256                         float lateReverbDelay = 0.011f,
00257                         float airAbsorptionGainHF = 0.994f,
00258                         float roomRolloffFactor = 0.0f,
00259                         bool decayHFLimit = true) :
00260                         Density(density), Diffusion(diffusion), Gain(gain), GainHF(gainHF),
00261                         DecayTime(decayTime), DecayHFRatio(decayHFRatio),
00262                         ReflectionsGain(reflectionsGain), ReflectionsDelay(reflectionsDelay),
00263                         LateReverbGain(lateReverbGain), LateReverbDelay(lateReverbDelay),
00264                         AirAbsorptionGainHF(airAbsorptionGainHF), RoomRolloffFactor(roomRolloffFactor),
00265                         DecayHFLimit(decayHFLimit) { }
00266
00270                 float Density;
00271
00277                 float Diffusion;
00278
00285                 float Gain;
00286
00292                 float GainHF;
00293
00297                 float DecayTime;
00298
00307                 float DecayHFRatio;
00308
00316                 float ReflectionsGain;
00317
00323                 float ReflectionsDelay;
00324
00330                 float LateReverbGain;
00331
00336                 float LateReverbDelay;
00337
00346                 float AirAbsorptionGainHF;
00347
00362                 float RoomRolloffFactor;
00363
00371                 bool DecayHFLimit;
00372         };
00373
00375         struct sChorusParameters
00376         {
00377                 enum ChorusWaveform
00378                 {
00379                         ECW_SINUSOID,
00380                         ECW_TRIANGLE,
00381                         ECW_COUNT
00382                 };
00383                 sChorusParameters(
00384                         ChorusWaveform waveform = ECW_TRIANGLE,
00385                         int phase = 90,
00386                         float rate = 1.1f,
00387                         float depth = 0.1f,
00388                         float feedback = 0.25f,
00389                         float delay = 0.016f) :
00390                         Waveform(waveform), Phase(phase), Rate(rate), Depth(depth), Feedback(feedback),
00391                         Delay(delay) { }
00392
00394                 ChorusWaveform Waveform;
00395
00400                 int Phase;
00401
00404                 float Rate;
00405
00408                 float Depth;
00409
00415                 float Feedback;
00416
00422                 float Delay;
00423         };
00424
00426         struct sDistortionParameters
00427         {
00428                 sDistortionParameters(
00429                         float edge = 0.2f,
00430                         float gain = 0.05f,
00431                         float lowpassCutoff = 8000.0f,
00432                         float eqCenter = 3600.0f,
00433                         float eqBandwidth = 3600.0f) :
00434                         Edge(edge), Gain(gain), LowpassCutoff(lowpassCutoff), EqCenter(eqCenter),
00435                         EqBandwidth(eqBandwidth) { }
00436
00439                 float Edge;
00440
00443                 float Gain;
00444
00447                 float LowpassCutoff;
00448
00451                 float EqCenter;
00452
00455                 float EqBandwidth;
00456         };
00457
00459         struct sEchoParameters
00460         {
00461                 sEchoParameters(
00462                         float delay = 0.1f,
00463                         float lRDelay = 0.1f,
00464                         float damping = 0.5f,
00465                         float feedback = 0.5f,
00466                         float spread = -1.0f) :
00467                         Delay(delay), LRDelay(lRDelay), Damping(damping), Feedback(feedback),
00468                         Spread(spread) { }
00469
00472                 float Delay;
00473
00476                 float LRDelay;
00477
00482                 float Damping;
00483
00488                 float Feedback;
00489
00494                 float Spread;
00495         };
00496
00498         struct sFlangerParameters
00499         {
00500                 enum FlangerWaveform
00501                 {
00502                         EFW_SINUSOID,
00503                         EFW_TRIANGLE,
00504                         EFW_COUNT
00505                 };
00506                 sFlangerParameters(
00507                         FlangerWaveform waveform = EFW_TRIANGLE,
00508                         int phase = 0,
00509                         float rate = 0.27f,
00510                         float depth = 1.0f,
00511                         float feedback = -0.5f,
00512                         float delay = 0.002f) :
00513                         Waveform(waveform), Phase(phase), Rate(rate), Depth(depth), Feedback(feedback),
00514                         Delay(delay) { }
00515
00517                 FlangerWaveform Waveform;
00518
00521                 int Phase;
00522
00525                 float Rate;
00526
00529                 float Depth;
00530
00536                 float Feedback;
00537
00540                 float Delay;
00541         };
00542
00544         struct sFrequencyShiftParameters
00545         {
00546                 enum ShiftDirection
00547                 {
00548                         ESD_DOWN,
00549                         ESD_UP,
00550                         ESD_OFF,
00551                         ESD_COUNT
00552                 };
00553                 sFrequencyShiftParameters(
00554                         float frequency = 0.0f,
00555                         ShiftDirection left = ESD_DOWN,
00556                         ShiftDirection right = ESD_DOWN) :
00557                         Frequency(frequency), Left(left), Right(right) { }
00558
00564                 float Frequency;
00565
00568                 ShiftDirection Left;
00569
00572                 ShiftDirection Right;
00573         };
00574
00576         struct sVocalMorpherParameters
00577         {
00578                 enum MorpherPhoneme
00579                 {
00580                         EMP_A,
00581                         EMP_E,
00582                         EMP_I,
00583                         EMP_O,
00584                         EMP_U,
00585                         EMP_AA,
00586                         EMP_AE,
00587                         EMP_AH,
00588                         EMP_AO,
00589                         EMP_EH,
00590                         EMP_ER,
00591                         EMP_IH,
00592                         EMP_IY,
00593                         EMP_UH,
00594                         EMP_UW,
00595                         EMP_B,
00596                         EMP_D,
00597                         EMP_F,
00598                         EMP_G,
00599                         EMP_J,
00600                         EMP_K,
00601                         EMP_L,
00602                         EMP_M,
00603                         EMP_N,
00604                         EMP_P,
00605                         EMP_R,
00606                         EMP_S,
00607                         EMP_T,
00608                         EMP_V,
00609                         EMP_Z,
00610                         ESD_COUNT
00611                 };
00612
00613                 enum MorpherWaveform
00614                 {
00615                         EMW_SINUSOID,
00616                         EMW_TRIANGLE,
00617                         EMW_SAW,
00618                         EMW_COUNT
00619                 };
00620                 sVocalMorpherParameters(
00621                         MorpherPhoneme phonemeA = EMP_A,
00622                         MorpherPhoneme phonemeB = EMP_ER,
00623                         int phonemeACoarseTune = 0,
00624                         int phonemeBCoarseTune = 0,
00625                         MorpherWaveform waveform = EMW_SINUSOID,
00626                         float rate = 1.41f) :
00627                         PhonemeA(phonemeA), PhonemeB(phonemeB), PhonemeACoarseTune(phonemeACoarseTune),
00628                         PhonemeBCoarseTune(phonemeBCoarseTune), Waveform(waveform), Rate(rate) { }
00629
00633                 MorpherPhoneme PhonemeA;
00634
00638                 MorpherPhoneme PhonemeB;
00639
00642                 int PhonemeACoarseTune;
00643
00646                 int PhonemeBCoarseTune;
00647
00649                 MorpherWaveform Waveform;
00650
00653                 float Rate;
00654         };
00655
00657         struct sPitchShifterParameters
00658         {
00659                 sPitchShifterParameters(
00660                         int coarseTune = 12,
00661                         int fineTune = 0) :
00662                         CoarseTune(coarseTune), FineTune(fineTune) { }
00663
00668                 int CoarseTune;
00669
00674                 int FineTune;
00675         };
00676
00678         struct sRingModulatorParameters
00679         {
00680                 enum ModulatorWaveform
00681                 {
00682                         EMW_SINUSOID,
00683                         EMW_SAW,
00684                         EMW_SQUARE,
00685                         EMW_COUNT
00686                 };
00687                 sRingModulatorParameters(
00688                         float frequency = 440.0f,
00689                         float highPassCutoff = 800.0f,
00690                         ModulatorWaveform waveform = EMW_SINUSOID) :
00691                         Frequency(frequency), HighPassCutoff(highPassCutoff), Waveform(waveform) { }
00692
00698                 float Frequency;
00699
00705                 float HighPassCutoff;
00706
00710                 ModulatorWaveform Waveform;
00711         };
00712
00714         struct sAutowahParameters
00715         {
00716                 sAutowahParameters(
00717                         float attackTime = 0.06f,
00718                         float releaseTime = 0.06f,
00719                         float resonance = 1000.0f,
00720                         float peakGain = 11.22f) :
00721                         AttackTime(attackTime), ReleaseTime(releaseTime), Resonance(resonance),
00722                         PeakGain(peakGain) { }
00723
00726                 float AttackTime;
00727
00730                 float ReleaseTime;
00731
00737                 float Resonance;
00738
00741                 float PeakGain;
00742         };
00743
00745         struct sCompressorParameters
00746         {
00747                 sCompressorParameters(
00748                         bool active = true) :
00749                         Active(active) { }
00750
00752                 bool Active;
00753         };
00754
00756         struct sEqualizerParameters
00757         {
00758                 sEqualizerParameters(
00759                         float lowGain = 1.0f,
00760                         float lowCutoff = 200.0f,
00761                         float mid1Gain = 1.0f,
00762                         float mid1Center = 500.0f,
00763                         float mid1Width = 1.0f,
00764                         float mid2Gain = 1.0f,
00765                         float mid2Center = 3000.0f,
00766                         float mid2Width = 1.0f,
00767                         float highGain = 1.0f,
00768                         float highCutoff = 6000.0f) :
00769                         LowGain(lowGain), LowCutoff(lowCutoff), Mid1Gain(mid1Gain),
00770                         Mid1Center(mid1Center), Mid1Width(mid1Width), Mid2Gain(mid2Gain),
00771                         Mid2Center(mid2Center), Mid2Width(mid2Width), HighGain(highGain),
00772                         HighCutoff(highCutoff) { }
00773
00776                 float LowGain;
00777
00780                 float LowCutoff;
00781
00784                 float Mid1Gain;
00785
00788                 float Mid1Center;
00789
00792                 float Mid1Width;
00793
00796                 float Mid2Gain;
00797
00800                 float Mid2Center;
00801
00804                 float Mid2Width;
00805
00808                 float HighGain;
00809
00812                 float HighCutoff;
00813         };
00814 };
00815
00816 #endif
00817
00818 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IFilter.h Source File

  • File List
include

IFilter.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef IFILTER_H
00006 #define IFILTER_H
00007
00008 #include "IRefCounted.h"
00009 #include "cAudioDefines.h"
00010
00011 #ifdef CAUDIO_EFX_ENABLED
00012
00013 namespace cAudio
00014 {
00016         enum FilterTypes
00017         {
00018                 EFT_NULL,
00019                 EFT_LOWPASS,
00020                 EFT_HIGHPASS,
00021                 EFT_BANDPASS,
00022                 EFT_COUNT
00023         };
00024
00026         class IFilter : public IRefCounted
00027         {
00028         public:
00029                 IFilter() {  }
00030                 virtual ~IFilter() {  }
00031
00033                 virtual const FilterTypes& getType() const = 0;
00034
00036
00038                 virtual void setType(const FilterTypes& type) = 0;
00039
00041                 virtual float getVolume() const = 0;
00042
00044
00046                 virtual void setVolume(const float& volume) = 0;
00047
00049                 virtual float getLowFrequencyVolume() const = 0;
00050
00052
00054                 virtual void setLowFrequencyVolume(const float& volumeLF) = 0;
00055
00057                 virtual float getHighFrequencyVolume() const = 0;
00058
00060
00062                 virtual void setHighFrequencyVolume(const float& volumeHF) = 0;
00063
00065                 virtual unsigned int getLastUpdated() const = 0;
00066
00068                 virtual bool isValid() const = 0;
00069         };
00070 };
00071
00072 #endif
00073
00074 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IListener.h Source File

  • File List
include

IListener.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef ILISTENER_H
00006 #define ILISTENER_H
00007
00008 #include "cVector3.h"
00009 #include "cAudioDefines.h"
00010
00011 namespace cAudio
00012 {
00014     class IListener
00015     {
00016     public:
00017                 IListener() {}
00018         virtual ~IListener() {}
00019
00021
00025                 virtual void setPosition(const cVector3& pos) = 0;
00026
00028
00030                 virtual void setDirection(const cVector3& dir) = 0;
00031
00033
00035                 virtual void setUpVector(const cVector3& up) = 0;
00036
00038
00040                 virtual void setVelocity(const cVector3& vel) = 0;
00041
00043
00045                 virtual void setMasterVolume(const float& volume) = 0;
00046
00048
00050                 virtual void move(const cVector3& pos) = 0;
00051
00053                 virtual cVector3 getPosition(void) const = 0;
00054
00056                 virtual cVector3 getDirection(void) const = 0;
00057
00059                 virtual cVector3 getUpVector(void) const = 0;
00060
00062                 virtual cVector3 getVelocity(void) const = 0;
00063
00065                 virtual float getMasterVolume(void) const = 0;
00066
00067 #ifdef CAUDIO_EFX_ENABLED
00069
00071                 virtual void setMetersPerUnit(const float& meters) = 0;
00072
00074                 virtual float getMetersPerUnit(void) const = 0;
00075 #endif
00076
00077     protected:
00078     private:
00079     };
00080 }
00081 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/ILogReceiver.h Source File

  • File List
include

ILogReceiver.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef ILOGRECEIVER_H_INCLUDED
00006 #define ILOGRECEIVER_H_INCLUDED
00007
00008 namespace cAudio
00009 {
00011         enum LogLevel
00012         {
00013                 ELL_DEBUG,
00014                 ELL_INFO,
00015                 ELL_WARNING,
00016                 ELL_ERROR,
00017                 ELL_CRITICAL,
00018                 ELL_COUNT
00019         };
00020
00022         const char* const LogLevelStrings[] =
00023         {
00024                 "Debug",
00025                 "Information",
00026                 "Warning",
00027                 "Error",
00028                 "Critical",
00029                 0
00030         };
00031
00033         class ILogReceiver
00034         {
00035         public:
00036                 ILogReceiver() { }
00037                 ~ILogReceiver() { }
00038
00040
00045                 virtual bool OnLogMessage(const char* sender, const char* message, LogLevel level, float time) = 0;
00046         };
00047 };
00048 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/ILogger.h Source File

  • File List
include

ILogger.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef ILOGGER_H_INCLUDED
00006 #define ILOGGER_H_INCLUDED
00007
00008 #include "ILogReceiver.h"
00009 #include "cAudioDefines.h"
00010
00011 namespace cAudio
00012 {
00014         class ILogger
00015     {
00016     public:
00017                 ILogger() { }
00018                 virtual ~ILogger() { }
00019
00021
00024                 virtual void logCritical( const char* sender, const char *msg, ... ) = 0;
00025
00027
00030                 virtual void logError( const char* sender, const char *msg, ... ) = 0;
00031
00033
00036                 virtual void logWarning( const char* sender, const char *msg, ... ) = 0;
00037
00039
00042                 virtual void logInfo( const char* sender, const char *msg, ... ) = 0;
00043
00045
00048                 virtual void logDebug( const char* sender, const char *msg, ... ) = 0;
00049
00051                 virtual const LogLevel& getLogLevel() const = 0;
00052
00054
00056                 virtual void setLogLevel( const LogLevel& logLevel ) = 0;
00057
00059
00064                 virtual bool registerLogReceiver(ILogReceiver* receiver, const char* name) = 0;
00065
00067
00069                 virtual void unRegisterLogReceiver(const char* name) = 0;
00070
00072
00074                 virtual bool isLogReceiverRegistered(const char* name) = 0;
00075
00077
00080                 virtual ILogReceiver* getLogReceiver(const char* name) = 0;
00081
00082         protected:
00083         private:
00084     };
00085
00087
00090         CAUDIO_API ILogger* getLogger();
00091 };
00092 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IManagerEventHandler.h Source File

  • File List
include

IManagerEventHandler.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef IMANAGEREVENTHANDLER_H
00006 #define IMANAGEREVENTHANDLER_H
00007
00008 namespace cAudio
00009 {
00011         class IManagerEventHandler
00012         {
00013         public:
00015                 virtual void onInit() = 0;
00016
00018                 virtual void onUpdate() = 0;
00019
00021                 virtual void onRelease() = 0;
00022
00024                 virtual void onSourceCreate() = 0;
00025
00027                 virtual void onDecoderRegister() = 0;
00028
00030                 virtual void onDataSourceRegister() = 0;
00031         };
00032 };
00033
00034 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IMemoryProvider.h Source File

  • File List
include

IMemoryProvider.h

00001 #ifndef IMEMORYPROVIDER_H_INCLUDED
00002 #define IMEMORYPROVIDER_H_INCLUDED
00003
00004 #include "../include/cAudioDefines.h"
00005 #include <cstring>
00006 namespace cAudio
00007 {
00009         class IMemoryProvider
00010         {
00011         public:
00013
00019                 virtual void* Allocate(size_t size, const char* filename, int line, const char* function) = 0;
00020
00022
00024                 virtual void Free(void* pointer) = 0;
00025
00027                 virtual size_t getMaxAllocationSize() = 0;
00028         };
00029 };
00030
00031 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IPluginManager.h Source File

  • File List
include

IPluginManager.h

00001 #ifndef IPLUGINMANAGER_H_INCLUDED
00002 #define IPLUGINMANAGER_H_INCLUDED
00003
00004 #include "IAudioPlugin.h"
00005 #include "cAudioDefines.h"
00006
00007 #ifdef CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
00008 namespace cAudio
00009 {
00011         class IPluginManager
00012         {
00013         public:
00014                 IPluginManager() { }
00015                 ~IPluginManager() { }
00016
00018
00022                 virtual bool installPlugin(IAudioPlugin* plugin, const char* name = NULL) = 0;
00023
00025
00029                 virtual bool installPlugin(const char* filename, const char* name = NULL) = 0;
00030
00032
00034                 virtual bool checkForPlugin(const char* name) = 0;
00035
00037
00040                 virtual IAudioPlugin* getPlugin(const char* name) = 0;
00041
00043                 virtual unsigned int getPluginCount() = 0;
00044
00046
00048                 virtual void uninstallPlugin(IAudioPlugin* plugin) = 0;
00049
00051
00053                 virtual void uninstallPlugin(const char* name) = 0;
00054         };
00055
00057
00060         CAUDIO_API IPluginManager* getPluginManager();
00061 };
00062
00063 #endif
00064
00065 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/IRefCounted.h Source File

  • File List
include

IRefCounted.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef IREFCOUNTED_H
00006 #define IREFCOUNTED_H
00007
00008 #include "../include/cAudioMemory.h"
00009
00010 namespace cAudio
00011 {
00013         class IRefCounted
00014         {
00015         public:
00016                 IRefCounted() : RefCount(1) { }
00017                 virtual ~IRefCounted() { }
00018
00020                 void grab()
00021                 {
00022                         ++RefCount;
00023                 }
00024
00026                 bool drop()
00027                 {
00028                         --RefCount;
00029                         if (RefCount < 1)
00030                         {
00031                                 CAUDIO_DELETE this;
00032                                 return true;
00033                         }
00034                         return false;
00035                 }
00036
00038                 int getReferenceCount() const
00039                 {
00040                         return RefCount;
00041                 }
00042
00043         private:
00044                 int RefCount;
00045         };
00046 }
00047 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/ISourceEventHandler.h Source File

  • File List
include

ISourceEventHandler.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef ISOURCEEVENTHANDLER_H
00006 #define ISOURCEEVENTHANDLER_H
00007
00008 namespace cAudio
00009 {
00011         class ISourceEventHandler
00012         {
00013         public:
00015                 virtual void onUpdate() = 0;
00016
00018                 virtual void onRelease() = 0;
00019
00021                 virtual void onPlay() = 0;
00022
00024                 virtual void onStop() = 0;
00025
00027                 virtual void onPause() = 0;
00028         };
00029 };
00030
00031 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/cAudio.h Source File

  • File List
include

cAudio.h

00001 /*      cAudio.h -- interface of the 'cAudio Engine'
00002
00003         Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00004
00005         This software is provided 'as-is', without any express or implied
00006         warranty. In no event will the authors be held liable for any damages
00007         arising from the use of this software.
00008
00009         Permission is granted to anyone to use this software for any purpose,
00010         including commercial applications, and to alter it and redistribute it
00011         freely, subject to the following restrictions:
00012
00013         1. The origin of this software must not be misrepresented; you must not
00014         claim that you wrote the original software. If you use this software
00015         in a product, an acknowledgment in the product documentation would be
00016         appreciated but is not required.
00017
00018         2. Altered source versions must be plainly marked as such, and must not be
00019         misrepresented as being the original software.
00020
00021         3. This notice may not be removed or altered from any source
00022         distribution.
00023
00024 */
00025
00026 #ifndef CAUDIO_H
00027 #define CAUDIO_H
00028
00029 #include "cAudioDefines.h"
00030 #include "cAudioPlatform.h"
00031 #include "cAudioSleep.h"
00032 #include "EAudioFormats.h"
00033 #include "IAudioSource.h"
00034 #include "IAudioCapture.h"
00035 #include "IAudioDecoder.h"
00036 #include "IAudioDecoderFactory.h"
00037 #include "IAudioEffects.h"
00038 #include "IAudioManager.h"
00039 #include "IDataSource.h"
00040 #include "IEffect.h"
00041 #include "IEffectParameters.h"
00042 #include "IFilter.h"
00043 #include "IListener.h"
00044 #include "ILogger.h"
00045 #include "ILogReceiver.h"
00046 #include "IPluginManager.h"
00047 #include "IRefCounted.h"
00048
00106
00107 namespace cAudio
00108 {
00109 };
00110
00111 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cAudioCapture.cpp Source File

  • File List
Source

cAudioCapture.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cAudioCapture.h"
00006 #include "../Headers/cUtils.h"
00007 #include "../Headers/cThread.h"
00008 #include "../include/cAudioSleep.h"
00009 #include "../Headers/cLogger.h"
00010 #include "../Headers/cPluginManager.h"
00011
00012 #include <string.h>
00013
00014 namespace cAudio
00015 {
00016         static bool RunAudioCaptureThread(false);
00017
00018         //Note: OpenAL is threadsafe, so a mutex only needs to protect the class state
00019 #ifdef CAUDIO_USE_INTERNAL_THREAD
00020         static cAudioMutex AudioCaptureObjectsMutex;
00021         static cAudioSet<IAudioCapture*>::Type AudioCaptureObjects;
00022
00023         CAUDIO_DECLARE_THREAD_FUNCTION(AudioCaptureUpdateThread)
00024         {
00025                 while(RunAudioCaptureThread)
00026                 {
00027                         AudioCaptureObjectsMutex.lock();
00028                         cAudioSet<IAudioCapture*>::Type::iterator it;
00029                         for ( it=AudioCaptureObjects.begin() ; it != AudioCaptureObjects.end(); it++ )
00030                         {
00031                                 (*it)->updateCaptureBuffer();
00032                         }
00033                         AudioCaptureObjectsMutex.unlock();
00034                         cAudioSleep(1);
00035                 }
00036                 return 0;
00037         }
00038 #endif
00039
00040         cAudioCapture::cAudioCapture() : Frequency(22050), Format(EAF_16BIT_MONO), InternalBufferSize(8192),
00041                                                                         SampleSize(2), Supported(false), Ready(false), Capturing(false),
00042                                                                         CaptureDevice(NULL)
00043         {
00044                 checkCaptureExtension();
00045                 getAvailableDevices();
00046         }
00047         cAudioCapture::~cAudioCapture()
00048         {
00049                 shutdown();
00050         }
00051
00052         bool cAudioCapture::checkCaptureExtension()
00053         {
00054                 cAudioMutexBasicLock lock(Mutex);
00055                 // Check for Capture Extension support
00056                 Supported = ( alcIsExtensionPresent(NULL, "ALC_EXT_CAPTURE") == AL_TRUE );
00057                 return Supported;
00058         }
00059
00060         bool cAudioCapture::initOpenALDevice()
00061         {
00062                 cAudioMutexBasicLock lock(Mutex);
00063                 if(Supported)
00064                 {
00065                         if(CaptureDevice)
00066                                 shutdownOpenALDevice();
00067                         if(DeviceName.empty())
00068                                 CaptureDevice = alcCaptureOpenDevice(NULL, Frequency, convertAudioFormatEnum(Format), InternalBufferSize / SampleSize);
00069                         else
00070                                 CaptureDevice = alcCaptureOpenDevice(DeviceName.c_str(), Frequency, convertAudioFormatEnum(Format), InternalBufferSize / SampleSize);
00071                         if(CaptureDevice)
00072                         {
00073                                 DeviceName = alcGetString(CaptureDevice, ALC_CAPTURE_DEVICE_SPECIFIER);
00074                                 Ready = true;
00075                                 checkError();
00076                                 getLogger()->logDebug("AudioCapture", "OpenAL Capture Device Opened.");
00077
00078                                 return true;
00079                         }
00080                 }
00081                 checkError();
00082                 return false;
00083         }
00084
00085         void cAudioCapture::shutdownOpenALDevice()
00086         {
00087                 cAudioMutexBasicLock lock(Mutex);
00088                 if(Supported)
00089                 {
00090                         if(Capturing)
00091                                 stopCapture();
00092
00093                         if(CaptureDevice)
00094                         {
00095                                 alcCaptureCloseDevice(CaptureDevice);
00096                                 CaptureDevice = NULL;
00097                                 Ready = false;
00098                                 getLogger()->logDebug("AudioCapture", "OpenAL Capture Device Closed.");
00099                                 signalEvent(ON_RELEASE);
00100                         }
00101                         checkError();
00102                         CaptureBuffer.clear();
00103                 }
00104         }
00105
00106         void cAudioCapture::shutdown()
00107         {
00108                 cAudioMutexBasicLock lock(Mutex);
00109                 shutdownOpenALDevice();
00110                 signalEvent(ON_RELEASE);
00111         }
00112
00113         void cAudioCapture::getAvailableDevices()
00114         {
00115                 // Get list of available Capture Devices
00116                 cAudioMutexBasicLock lock(Mutex);
00117                 if( alcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT") == AL_TRUE )
00118                 {
00119                         const char* deviceList = alcGetString(NULL, ALC_CAPTURE_DEVICE_SPECIFIER);
00120                         if (deviceList)
00121                         {
00122                                 while(*deviceList)
00123                                 {
00124                                         cAudioString device(deviceList);
00125                                         AvailableDevices.push_back(device);
00126                                         deviceList += strlen(deviceList) + 1;
00127                                 }
00128                         }
00129
00130                         // Get the name of the 'default' capture device
00131                         DefaultDevice = alcGetString(NULL, ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER);
00132                 }
00133         }
00134
00135         const char* cAudioCapture::getAvailableDeviceName(unsigned int index)
00136         {
00137                 cAudioMutexBasicLock lock(Mutex);
00138                 if(!AvailableDevices.empty())
00139                 {
00140                         //Bounds check
00141                         if( index > (AvailableDevices.size()-1) ) index = (AvailableDevices.size()-1);
00142                         const char* deviceName = AvailableDevices[index].c_str();
00143                         return deviceName;
00144                 }
00145                 return "";
00146         }
00147
00148         unsigned int cAudioCapture::getAvailableDeviceCount()
00149         {
00150                 cAudioMutexBasicLock lock(Mutex);
00151                 return AvailableDevices.size();
00152         }
00153
00154         const char* cAudioCapture::getDefaultDeviceName()
00155         {
00156                 cAudioMutexBasicLock lock(Mutex);
00157                 return DefaultDevice.empty() ? "" : DefaultDevice.c_str();
00158         }
00159
00160         void cAudioCapture::updateCaptureBuffer(bool force)
00161         {
00162                 cAudioMutexBasicLock lock(Mutex);
00163                 if(Capturing && CaptureDevice && Ready)
00164                 {
00165                         int AvailableSamples = 0;
00166                         alcGetIntegerv(CaptureDevice, ALC_CAPTURE_SAMPLES, 1, &AvailableSamples);
00167                         const unsigned int availbuffersize = AvailableSamples * SampleSize;
00168
00169                         //If the samples in the OpenAL buffer are more than half of its max size, grab them
00170                         if(availbuffersize > InternalBufferSize / 2 || force)
00171                         {
00172                                 //Fixes a bug with the capture being forced, but no data being available
00173                                 if(availbuffersize > 0)
00174                                 {
00175                                         const unsigned int oldBufferSize = CaptureBuffer.size();
00176                                         CaptureBuffer.resize(oldBufferSize + availbuffersize, 0);
00177                                         alcCaptureSamples(CaptureDevice, &CaptureBuffer[oldBufferSize], AvailableSamples);
00178                                         checkError();
00179                                         getLogger()->logDebug("AudioCapture", "Captured %i bytes of audio data.", availbuffersize);
00180                                         signalEvent(ON_UPDATE);
00181                                 }
00182                         }
00183                 }
00184         }
00185
00186         bool cAudioCapture::beginCapture()
00187         {
00188                 cAudioMutexBasicLock lock(Mutex);
00189                 if(!Capturing)
00190                 {
00191                         CaptureBuffer.clear();
00192                         if(CaptureDevice && Ready)
00193                         {
00194                                 alcCaptureStart(CaptureDevice);
00195                                 Capturing = true;
00196                                 getLogger()->logDebug("AudioCapture", "OpenAL Capture Started.");
00197                                 signalEvent(ON_BEGINCAPTURE);
00198                         }
00199                         checkError();
00200                         return Capturing;
00201                 }
00202                 checkError();
00203                 return false;
00204         }
00205
00206         void cAudioCapture::stopCapture()
00207         {
00208                 cAudioMutexBasicLock lock(Mutex);
00209                 if(CaptureDevice && Ready)
00210                 {
00211                         alcCaptureStop(CaptureDevice);
00212                         updateCaptureBuffer(true);
00213                         checkError();
00214                         getLogger()->logDebug("AudioCapture", "OpenAL Capture Stopped.");
00215                         signalEvent(ON_ENDCAPTURE);
00216                 }
00217                 Capturing = false;
00218         }
00219
00220         unsigned int cAudioCapture::getCapturedAudio(void* outputBuffer, unsigned int outputBufferSize)
00221         {
00222                 cAudioMutexBasicLock lock(Mutex);
00223                 unsigned int internalBufferSize = CaptureBuffer.size();
00224                 if(outputBuffer && outputBufferSize > 0 && internalBufferSize > 0)
00225                 {
00226                         int sizeToCopy = (outputBufferSize >= internalBufferSize) ? internalBufferSize : outputBufferSize;
00227                         memcpy(outputBuffer, &CaptureBuffer[0], sizeToCopy);
00228                         CaptureBuffer.erase(CaptureBuffer.begin(), CaptureBuffer.begin()+sizeToCopy);
00229
00230                         getLogger()->logDebug("AudioCapture", "Copied out %i bytes of data out of %i bytes in the buffer at user request.", sizeToCopy, internalBufferSize);
00231                         signalEvent(ON_USERREQUESTEDBUFFER);
00232                         return sizeToCopy;
00233                 }
00234                 return 0;
00235         }
00236
00237         unsigned int cAudioCapture::getCurrentCapturedAudioSize()
00238         {
00239                 cAudioMutexBasicLock lock(Mutex);
00240                 return CaptureBuffer.size();
00241         }
00242
00243         bool cAudioCapture::setFrequency(unsigned int frequency)
00244         {
00245                 cAudioMutexBasicLock lock(Mutex);
00246                 Frequency = frequency;
00247                 shutdownOpenALDevice();
00248                 return initOpenALDevice();
00249         }
00250
00251         bool cAudioCapture::setFormat(AudioFormats format)
00252         {
00253                 cAudioMutexBasicLock lock(Mutex);
00254                 Format = format;
00255                 if(Format == EAF_8BIT_MONO)
00256                         SampleSize = 1;
00257                 else if(Format == EAF_8BIT_STEREO)
00258                         SampleSize = 2;
00259                 else if(Format == EAF_16BIT_MONO)
00260                         SampleSize = 2;
00261                 else
00262                         SampleSize = 4;
00263
00264                 shutdownOpenALDevice();
00265                 return initOpenALDevice();
00266         }
00267
00268         bool cAudioCapture::setInternalBufferSize(unsigned int internalBufferSize)
00269         {
00270                 cAudioMutexBasicLock lock(Mutex);
00271                 InternalBufferSize = internalBufferSize;
00272
00273                 shutdownOpenALDevice();
00274                 return initOpenALDevice();
00275         }
00276
00277         bool cAudioCapture::setDevice(const char* deviceName)
00278         {
00279                 cAudioMutexBasicLock lock(Mutex);
00280                 DeviceName = safeCStr(deviceName);
00281
00282                 shutdownOpenALDevice();
00283                 return initOpenALDevice();
00284         }
00285
00286         bool cAudioCapture::initialize(const char* deviceName, unsigned int frequency, AudioFormats format, unsigned int internalBufferSize)
00287         {
00288                 cAudioMutexBasicLock lock(Mutex);
00289                 DeviceName = safeCStr(deviceName);
00290                 Frequency = frequency;
00291                 InternalBufferSize = internalBufferSize;
00292
00293                 Format = format;
00294                 if(Format == EAF_8BIT_MONO)
00295                         SampleSize = 1;
00296                 else if(Format == EAF_8BIT_STEREO)
00297                         SampleSize = 2;
00298                 else if(Format == EAF_16BIT_MONO)
00299                         SampleSize = 2;
00300                 else
00301                         SampleSize = 4;
00302
00303                 shutdownOpenALDevice();
00304                 signalEvent(ON_INIT);
00305                 return initOpenALDevice();
00306         }
00307
00308         bool cAudioCapture::checkError()
00309         {
00310                 if(CaptureDevice)
00311                 {
00312                         int error = alcGetError(CaptureDevice);
00313                         if (error != AL_NO_ERROR)
00314                         {
00315                                 const char* errorString = alGetString(error);
00316                                 getLogger()->logError("AudioCapture", "OpenAL Error: %s.", errorString);
00317                                 return true;
00318                         }
00319                 }
00320                 return false;
00321         }
00322
00323         ALenum cAudioCapture::convertAudioFormatEnum(AudioFormats format)
00324         {
00325                 switch(format)
00326                 {
00327                 case EAF_8BIT_MONO:
00328                         return AL_FORMAT_MONO8;
00329                 case EAF_16BIT_MONO:
00330                         return AL_FORMAT_MONO16;
00331                 case EAF_8BIT_STEREO:
00332                         return AL_FORMAT_STEREO8;
00333                 case EAF_16BIT_STEREO:
00334                         return AL_FORMAT_STEREO16;
00335                 default:
00336                         return AL_FORMAT_MONO8;
00337                 };
00338         }
00339
00340         CAUDIO_API IAudioCapture* createAudioCapture(bool initializeDefault)
00341         {
00342                 cAudioCapture* capture = CAUDIO_NEW cAudioCapture;
00343                 if(capture)
00344                 {
00345                         if(initializeDefault)
00346                                 capture->initialize();
00347
00348 #ifdef CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
00349                         cAudioVector<IAudioPlugin*>::Type plugins = cPluginManager::Instance()->getPluginList();
00350                         for(unsigned int i = 0; i < plugins.size(); ++i)
00351                         {
00352                                 plugins[i]->onCreateAudioCapture(capture);
00353                         }
00354 #endif
00355
00356 #ifdef CAUDIO_USE_INTERNAL_THREAD
00357                         AudioCaptureObjectsMutex.lock();
00358                         AudioCaptureObjects.insert(capture);
00359
00360                         //First time launch of thread
00361                         if(!RunAudioCaptureThread && AudioCaptureObjects.size() > 0)
00362                                 RunAudioCaptureThread = (cAudioThread::SpawnThread(AudioCaptureUpdateThread, NULL) == 0);
00363                         AudioCaptureObjectsMutex.unlock();
00364 #endif
00365                 }
00366                 return capture;
00367         }
00368
00369         CAUDIO_API void destroyAudioCapture(IAudioCapture* capture)
00370         {
00371                 if(capture)
00372                 {
00373 #ifdef CAUDIO_USE_INTERNAL_THREAD
00374                         AudioCaptureObjectsMutex.lock();
00375                         AudioCaptureObjects.erase(capture);
00376
00377                         //Kill the thread if there are no objects to process anymore
00378                         if(RunAudioCaptureThread && AudioCaptureObjects.empty())
00379                                 RunAudioCaptureThread = false;
00380                         AudioCaptureObjectsMutex.unlock();
00381 #endif
00382
00383 #ifdef CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
00384                         cAudioVector<IAudioPlugin*>::Type plugins = cPluginManager::Instance()->getPluginList();
00385                         for(unsigned int i = 0; i < plugins.size(); ++i)
00386                         {
00387                                 plugins[i]->onDestoryAudioCapture(capture);
00388                         }
00389 #endif
00390
00391                         CAUDIO_DELETE capture;
00392                         capture = NULL;
00393                 }
00394         }
00395
00396         CAUDIO_API bool isAudioCaptureThreadRunning()
00397         {
00398                 return RunAudioCaptureThread;
00399         }
00400
00401
00402         void cAudioCapture::registerEventHandler(ICaptureEventHandler* handler)
00403         {
00404                 if(handler)
00405                 {
00406                         eventHandlerList.push_back(handler);
00407                 }
00408         }
00409
00410         void cAudioCapture::unRegisterEventHandler(ICaptureEventHandler* handler)
00411         {
00412                 if(handler)
00413                 {
00414                         eventHandlerList.remove(handler);
00415                 }
00416         }
00417
00418         void cAudioCapture::unRegisterAllEventHandlers()
00419         {
00420                 eventHandlerList.clear();
00421         }
00422
00423         void cAudioCapture::signalEvent(Events sevent)
00424         {
00425                 cAudioMutexBasicLock lock(Mutex);
00426                 cAudioList<ICaptureEventHandler*>::Type::iterator it = eventHandlerList.begin();
00427
00428                 if(it != eventHandlerList.end()){
00429
00430                         switch(sevent){
00431
00432                                 case ON_INIT:
00433
00434                                         for(it; it != eventHandlerList.end(); it++){
00435                                                 (*it)->onInit();
00436                                         }
00437
00438                                         break;
00439
00440                                 case ON_UPDATE:
00441
00442                                         for(it; it != eventHandlerList.end(); it++){
00443                                                 (*it)->onUpdate();
00444                                         }
00445
00446                                         break;
00447
00448                                 case ON_RELEASE:
00449
00450                                         for(it; it != eventHandlerList.end(); it++){
00451                                                 (*it)->onRelease();
00452                                         }
00453
00454                                         break;
00455
00456                                 case ON_BEGINCAPTURE:
00457
00458                                         for(it; it != eventHandlerList.end(); it++){
00459                                                 (*it)->onBeginCapture();
00460                                         }
00461
00462
00463                                         break;
00464
00465                                 case ON_ENDCAPTURE:
00466
00467                                         for(it; it != eventHandlerList.end(); it++){
00468                                                 (*it)->onEndCapture();
00469                                         }
00470
00471                                         break;
00472
00473                                 case ON_USERREQUESTEDBUFFER:
00474
00475                                         for(it; it != eventHandlerList.end(); it++){
00476                                                 (*it)->onUserRequestBuffer();
00477                                         }
00478
00479                                         break;
00480                         }
00481                 }
00482         }
00483 };
00484
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cAudioCapture.h Source File

  • File List
Headers

cAudioCapture.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CAUDIOCAPTURE_H
00006 #define CAUDIOCAPTURE_H
00007
00008 #include "../include/IAudioCapture.h"
00009 #include <AL/al.h>
00010 #include <AL/alc.h>
00011 #include "../Headers/cMutex.h"
00012 #include "../Headers/cMemoryOverride.h"
00013 #include "../Headers/cSTLAllocator.h"
00014
00015 namespace cAudio
00016 {
00017         class cAudioCapture : public IAudioCapture, public cMemoryOverride
00018         {
00019         public:
00020
00021                 enum Events{
00022                         ON_INIT,
00023                         ON_UPDATE,
00024                         ON_RELEASE,
00025                         ON_BEGINCAPTURE,
00026                         ON_ENDCAPTURE,
00027                         ON_USERREQUESTEDBUFFER,
00028                 };
00029
00030                 cAudioCapture();
00031                 ~cAudioCapture();
00032
00034                 bool checkCaptureExtension();
00035
00036                 virtual bool initialize(const char* deviceName = 0x0, unsigned int frequency = 22050, AudioFormats format = EAF_16BIT_MONO, unsigned int internalBufferSize = 8192);
00037                 virtual bool isSupported() { return Supported; }
00038                 virtual bool isReady() { return Ready; }
00039                 virtual void updateCaptureBuffer(bool force = false);
00040                 virtual void shutdown();
00041
00042                 virtual const char* getAvailableDeviceName(unsigned int index);
00043                 virtual unsigned int getAvailableDeviceCount();
00044                 virtual const char* getDefaultDeviceName();
00045
00046                 virtual const char* getDeviceName() { return DeviceName.c_str(); }
00047                 virtual unsigned int getFrequency() { return Frequency; }
00048                 virtual AudioFormats getFormat() { return Format; }
00049                 virtual unsigned int getInternalBufferSize() { return InternalBufferSize; }
00050                 virtual unsigned int getSampleSize() { return SampleSize; }
00051
00052                 virtual bool setDevice(const char* deviceName);
00053                 virtual bool setFrequency(unsigned int frequency);
00054                 virtual bool setFormat(AudioFormats format);
00055                 virtual bool setInternalBufferSize(unsigned int internalBufferSize);
00056
00057                 virtual bool beginCapture();
00058                 virtual void stopCapture();
00059                 virtual unsigned int getCapturedAudio(void* outputBuffer, unsigned int outputBufferSize);
00060
00061                 virtual unsigned int getCurrentCapturedAudioSize();
00062                 void getAvailableDevices();
00063
00064                 virtual void registerEventHandler(ICaptureEventHandler* handler);
00065                 virtual void unRegisterEventHandler(ICaptureEventHandler* handler);
00066                 virtual void unRegisterAllEventHandlers();
00067
00068         protected:
00069                 cAudioMutex Mutex;
00070
00071                 bool initOpenALDevice();
00072                 void shutdownOpenALDevice();
00073
00074                 unsigned int Frequency;
00075                 AudioFormats Format;
00076                 unsigned int InternalBufferSize;
00077                 int SampleSize;
00078
00079                 cAudioVector<char>::Type CaptureBuffer;
00080                 cAudioVector<cAudioString>::Type AvailableDevices;
00081                 cAudioString DefaultDevice;
00082                 cAudioList<ICaptureEventHandler*>::Type eventHandlerList;
00083
00084                 bool Supported;
00085                 bool Ready;
00086                 bool Capturing;
00087
00088                 cAudioString DeviceName;
00089                 ALCdevice* CaptureDevice;
00090
00091                 bool checkError();
00092                 ALenum convertAudioFormatEnum(AudioFormats format);
00093                 void signalEvent(Events sevent);
00094         };
00095 };
00096
00097 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/cAudioDefines.h Source File

  • File List
include

cAudioDefines.h

00001 #ifndef CAUDIODEFINES_H
00002 #define CAUDIODEFINES_H
00003
00004 #include "cAudioPlatform.h"
00005
00008 #define CAUDIO_VERSION "2.1.0"
00009
00010 #if !defined( CAUDIO_DEBUG )
00011         #if defined( DEBUG ) || defined( _DEBUG )
00012                 #define CAUDIO_DEBUG
00013         #endif
00014 #endif
00015
00017 // Windows Settings //
00019 #ifdef CAUDIO_PLATFORM_WIN
00020
00021 #ifndef CAUDIO_STATIC_LIB
00022         #define CAUDIO_API __declspec(dllexport)
00023 #else
00024         #define CAUDIO_API extern "C"
00025 #endif // CAUDIO_STATIC_LIB
00026
00028 #define CAUDIO_MAKE_THREAD_SAFE
00029
00030 #ifdef CAUDIO_MAKE_THREAD_SAFE
00032         #define CAUDIO_USE_INTERNAL_THREAD
00033 #endif //CAUDIO_MAKE_THREAD_SAFE
00034
00036 #define CAUDIO_COMPILE_WITH_OGG_DECODER
00038 #define CAUDIO_COMPILE_WITH_WAV_DECODER
00040 #define CAUDIO_COMPILE_WITH_FILE_SOURCE
00042 #define CAUDIO_COMPILE_WITH_FILE_LOG_RECEIVER
00044 #define CAUDIO_COMPILE_WITH_CONSOLE_LOG_RECEIVER
00045
00047 #define CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
00048
00049 #ifdef CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
00051         #define CAUDIO_COMPILE_WITH_DYNAMIC_PLUGIN_SUPPORT
00052 #endif //CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
00053
00055 #define CAUDIO_SOURCE_BUFFER_SIZE ( 1024 * 64 )
00057 #define CAUDIO_SOURCE_NUM_BUFFERS 3
00058
00060 #define CAUDIO_EFX_ENABLED
00061
00063 #define CAUDIO_SOURCE_MAX_EFFECT_SLOTS 4
00064
00066 #define CAUDIO_MEMORY_USE_STD
00067
00069 #define CAUDIO_REROUTE_STL_ALLOCATIONS
00070
00072 //#define CAUDIO_USE_MEMORYTRACKER
00073
00075 //#define CAUDIO_MEMORYTRACKER_GENERATE_STATISTICS
00076
00078 //#define CAUDIO_MEMORYTRACKER_LOG_ALL_ALLOCATIONS
00079
00080 #endif //CAUDIO_PLATFORM_WIN
00081
00083 // Mac OS X Settings //
00085 #ifdef CAUDIO_PLATFORM_MAC
00086
00087 #define CAUDIO_API extern "C"
00088
00090 #define CAUDIO_MAKE_THREAD_SAFE
00091
00092 #ifdef CAUDIO_MAKE_THREAD_SAFE
00094         #define CAUDIO_USE_INTERNAL_THREAD
00095 #endif //CAUDIO_MAKE_THREAD_SAFE
00096
00098 #define CAUDIO_COMPILE_WITH_OGG_DECODER
00100 #define CAUDIO_COMPILE_WITH_WAV_DECODER
00102 #define CAUDIO_COMPILE_WITH_FILE_SOURCE
00104 #define CAUDIO_COMPILE_WITH_FILE_LOG_RECEIVER
00106 #define CAUDIO_COMPILE_WITH_CONSOLE_LOG_RECEIVER
00107
00109 #define CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
00110
00111 #ifdef CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
00113         #define CAUDIO_COMPILE_WITH_DYNAMIC_PLUGIN_SUPPORT
00114 #endif //CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
00115
00117 #define CAUDIO_SOURCE_BUFFER_SIZE ( 1024 * 64 )
00119 #define CAUDIO_SOURCE_NUM_BUFFERS 3
00120
00122 #define CAUDIO_SOURCE_MAX_EFFECT_SLOTS 4
00123
00125 #define CAUDIO_MEMORY_USE_STD
00126
00128 //#define CAUDIO_REROUTE_STL_ALLOCATIONS
00129
00131 //#define CAUDIO_USE_MEMORYTRACKER
00132
00134 //#define CAUDIO_MEMORYTRACKER_GENERATE_STATISTICS
00135
00137 //#define CAUDIO_MEMORYTRACKER_LOG_ALL_ALLOCATIONS
00138
00139 #endif //CAUDIO_PLATFORM_MAC
00140
00142 // IPhone Settings //
00144 #ifdef CAUDIO_PLATFORM_IPHONE
00145
00146 #define CAUDIO_API extern "C"
00147
00149 #define CAUDIO_MAKE_THREAD_SAFE
00150
00151 #ifdef CAUDIO_MAKE_THREAD_SAFE
00153         #define CAUDIO_USE_INTERNAL_THREAD
00154 #endif //CAUDIO_MAKE_THREAD_SAFE
00155
00157 #define CAUDIO_COMPILE_WITH_OGG_DECODER
00159 #define CAUDIO_COMPILE_WITH_WAV_DECODER
00161 #define CAUDIO_COMPILE_WITH_FILE_SOURCE
00163 #define CAUDIO_COMPILE_WITH_FILE_LOG_RECEIVER
00165 #define CAUDIO_COMPILE_WITH_CONSOLE_LOG_RECEIVER
00166
00168 #define CAUDIO_SOURCE_BUFFER_SIZE ( 1024 * 64 )
00170 #define CAUDIO_SOURCE_NUM_BUFFERS 3
00171
00173 #define CAUDIO_MEMORY_USE_STD
00174
00176 //#define CAUDIO_REROUTE_STL_ALLOCATIONS
00177
00179 //#define CAUDIO_USE_MEMORYTRACKER
00180
00182 //#define CAUDIO_MEMORYTRACKER_GENERATE_STATISTICS
00183
00185 //#define CAUDIO_MEMORYTRACKER_LOG_ALL_ALLOCATIONS
00186
00187 #endif //CAUDIO_PLATFORM_IPHONE
00188
00190 // Linux Settings //
00192 #ifdef CAUDIO_PLATFORM_LINUX
00193
00194 #define CAUDIO_API extern "C"
00195
00197 #define CAUDIO_MAKE_THREAD_SAFE
00198
00199 #ifdef CAUDIO_MAKE_THREAD_SAFE
00201         #define CAUDIO_USE_INTERNAL_THREAD
00202 #endif //CAUDIO_MAKE_THREAD_SAFE
00203
00205 #define CAUDIO_COMPILE_WITH_OGG_DECODER
00207 #define CAUDIO_COMPILE_WITH_WAV_DECODER
00209 #define CAUDIO_COMPILE_WITH_FILE_SOURCE
00211 #define CAUDIO_COMPILE_WITH_FILE_LOG_RECEIVER
00213 #define CAUDIO_COMPILE_WITH_CONSOLE_LOG_RECEIVER
00214
00216 #define CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
00217
00218 #ifdef CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
00220         #define CAUDIO_COMPILE_WITH_DYNAMIC_PLUGIN_SUPPORT
00221 #endif //CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
00222
00224 #define CAUDIO_SOURCE_BUFFER_SIZE ( 1024 * 64 )
00226 #define CAUDIO_SOURCE_NUM_BUFFERS 3
00227
00229 //#define CAUDIO_EFX_ENABLED
00230
00232 //#define CAUDIO_SOURCE_MAX_EFFECT_SLOTS 4
00233
00235 #define CAUDIO_MEMORY_USE_STD
00236
00238 #define CAUDIO_REROUTE_STL_ALLOCATIONS
00239
00241 //#define CAUDIO_USE_MEMORYTRACKER
00242
00244 //#define CAUDIO_MEMORYTRACKER_GENERATE_STATISTICS
00245
00247 //#define CAUDIO_MEMORYTRACKER_LOG_ALL_ALLOCATIONS
00248
00249 #endif //CAUDIO_PLATFORM_LINUX
00250
00251 #endif //CAUDIODEFINES_H
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cAudioEffects.cpp Source File

  • File List
Source

cAudioEffects.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cAudioEffects.h"
00006 #include "../Headers/cFilter.h"
00007 #include "../Headers/cEffect.h"
00008 #include "../Headers/cUtils.h"
00009
00010 #ifdef CAUDIO_EFX_ENABLED
00011
00012 //Number of effect slots to try to create
00013 #define EFFECT_SLOTS_TO_TEST 256
00014
00015 namespace cAudio
00016 {
00017
00018 cAudioEffects::cAudioEffects() : MaxEffectsSupported(0)
00019 {
00020         for(int i=0; i<EET_COUNT; ++i)
00021                 SupportedEffects[i] = false;
00022
00023         for(int i=0; i<EFT_COUNT; ++i)
00024                 SupportedFilters[i] = false;
00025 }
00026
00027 cAudioEffects::~cAudioEffects()
00028 {
00029
00030 }
00031
00032 IEffect* cAudioEffects::createEffect()
00033 {
00034         cAudioMutexBasicLock lock(Mutex);
00035         IEffect* effect = CAUDIO_NEW cEffect(&EFXInterface);
00036
00037         if(effect && effect->isValid())
00038                 return effect;
00039
00040         return NULL;
00041 }
00042
00043 IFilter* cAudioEffects::createFilter()
00044 {
00045         cAudioMutexBasicLock lock(Mutex);
00046         IFilter* filter = CAUDIO_NEW cFilter(&EFXInterface);
00047
00048         if(filter && filter->isValid())
00049                 return filter;
00050
00051         return NULL;
00052 }
00053
00054 unsigned int cAudioEffects::getMaxEffectsSupported() const
00055 {
00056         return MaxEffectsSupported;
00057 }
00058
00059 bool cAudioEffects::isEffectSupported(const EffectTypes& type) const
00060 {
00061         return SupportedEffects[type];
00062 }
00063
00064 bool cAudioEffects::isFilterSupported(const FilterTypes& type) const
00065 {
00066         return SupportedFilters[type];
00067 }
00068
00069 bool cAudioEffects::addEAXReverbEffectPreset(const char* name, const sEAXReverbParameters& setting)
00070 {
00071         cAudioMutexBasicLock lock(Mutex);
00072         cAudioString safeName = safeCStr(name);
00073         EAXReverbPresets[safeName] = setting;
00074         return true;
00075 }
00076
00077 bool cAudioEffects::addReverbEffectPreset(const char* name, const sReverbParameters& setting)
00078 {
00079         cAudioMutexBasicLock lock(Mutex);
00080         cAudioString safeName = safeCStr(name);
00081         ReverbPresets[safeName] = setting;
00082         return true;
00083 }
00084
00085 bool cAudioEffects::addChorusEffectPreset(const char* name, const sChorusParameters& setting)
00086 {
00087         cAudioMutexBasicLock lock(Mutex);
00088         cAudioString safeName = safeCStr(name);
00089         ChorusPresets[safeName] = setting;
00090         return true;
00091 }
00092
00093 bool cAudioEffects::addDistortionEffectPreset(const char* name, const sDistortionParameters& setting)
00094 {
00095         cAudioMutexBasicLock lock(Mutex);
00096         cAudioString safeName = safeCStr(name);
00097         DistortionPresets[safeName] = setting;
00098         return true;
00099 }
00100
00101 bool cAudioEffects::addEchoEffectPreset(const char* name, const sEchoParameters& setting)
00102 {
00103         cAudioMutexBasicLock lock(Mutex);
00104         cAudioString safeName = safeCStr(name);
00105         EchoPresets[safeName] = setting;
00106         return true;
00107 }
00108
00109 bool cAudioEffects::addFlangerEffectPreset(const char* name, const sFlangerParameters& setting)
00110 {
00111         cAudioMutexBasicLock lock(Mutex);
00112         cAudioString safeName = safeCStr(name);
00113         FlangerPresets[safeName] = setting;
00114         return true;
00115 }
00116
00117 bool cAudioEffects::addFrequencyShiftEffectPreset(const char* name, const sFrequencyShiftParameters& setting)
00118 {
00119         cAudioMutexBasicLock lock(Mutex);
00120         cAudioString safeName = safeCStr(name);
00121         FrequencyShiftPresets[safeName] = setting;
00122         return true;
00123 }
00124
00125 bool cAudioEffects::addVocalMorpherEffectPreset(const char* name, const sVocalMorpherParameters& setting)
00126 {
00127         cAudioMutexBasicLock lock(Mutex);
00128         cAudioString safeName = safeCStr(name);
00129         VocalMorpherPresets[safeName] = setting;
00130         return true;
00131 }
00132
00133 bool cAudioEffects::addPitchShifterEffectPreset(const char* name, const sPitchShifterParameters& setting)
00134 {
00135         cAudioMutexBasicLock lock(Mutex);
00136         cAudioString safeName = safeCStr(name);
00137         PitchShifterPresets[safeName] = setting;
00138         return true;
00139 }
00140
00141 bool cAudioEffects::addRingModulatorEffectPreset(const char* name, const sRingModulatorParameters& setting)
00142 {
00143         cAudioMutexBasicLock lock(Mutex);
00144         cAudioString safeName = safeCStr(name);
00145         RingModulatorPresets[safeName] = setting;
00146         return true;
00147 }
00148
00149 bool cAudioEffects::addAutowahEffectPreset(const char* name, const sAutowahParameters& setting)
00150 {
00151         cAudioMutexBasicLock lock(Mutex);
00152         cAudioString safeName = safeCStr(name);
00153         AutowahPresets[safeName] = setting;
00154         return true;
00155 }
00156
00157 bool cAudioEffects::addCompressorEffectPreset(const char* name, const sCompressorParameters& setting)
00158 {
00159         cAudioMutexBasicLock lock(Mutex);
00160         cAudioString safeName = safeCStr(name);
00161         CompressorPresets[safeName] = setting;
00162         return true;
00163 }
00164
00165 bool cAudioEffects::addEqualizerEffectPreset(const char* name, const sEqualizerParameters& setting)
00166 {
00167         cAudioMutexBasicLock lock(Mutex);
00168         cAudioString safeName = safeCStr(name);
00169         EqualizerPresets[safeName] = setting;
00170         return true;
00171 }
00172
00173 sEAXReverbParameters cAudioEffects::getEAXReverbEffectPreset(const char* name)
00174 {
00175         cAudioMutexBasicLock lock(Mutex);
00176         cAudioString safeName = safeCStr(name);
00177         cAudioMap<cAudioString, sEAXReverbParameters>::Type::iterator it = EAXReverbPresets.find(safeName);
00178         if(it != EAXReverbPresets.end())
00179         {
00180                 return it->second;
00181         }
00182         return sEAXReverbParameters();
00183 }
00184
00185 sReverbParameters cAudioEffects::getReverbEffectPreset(const char* name)
00186 {
00187         cAudioMutexBasicLock lock(Mutex);
00188         cAudioString safeName = safeCStr(name);
00189         cAudioMap<cAudioString, sReverbParameters>::Type::iterator it = ReverbPresets.find(safeName);
00190         if(it != ReverbPresets.end())
00191         {
00192                 return it->second;
00193         }
00194         return sReverbParameters();
00195 }
00196
00197 sChorusParameters cAudioEffects::getChorusEffectPreset(const char* name)
00198 {
00199         cAudioMutexBasicLock lock(Mutex);
00200         cAudioString safeName = safeCStr(name);
00201         cAudioMap<cAudioString, sChorusParameters>::Type::iterator it = ChorusPresets.find(safeName);
00202         if(it != ChorusPresets.end())
00203         {
00204                 return it->second;
00205         }
00206         return sChorusParameters();
00207 }
00208
00209 sDistortionParameters cAudioEffects::getDistortionEffectPreset(const char* name)
00210 {
00211         cAudioMutexBasicLock lock(Mutex);
00212         cAudioString safeName = safeCStr(name);
00213         cAudioMap<cAudioString, sDistortionParameters>::Type::iterator it = DistortionPresets.find(safeName);
00214         if(it != DistortionPresets.end())
00215         {
00216                 return it->second;
00217         }
00218         return sDistortionParameters();
00219 }
00220
00221 sEchoParameters cAudioEffects::getEchoEffectPreset(const char* name)
00222 {
00223         cAudioMutexBasicLock lock(Mutex);
00224         cAudioString safeName = safeCStr(name);
00225         cAudioMap<cAudioString, sEchoParameters>::Type::iterator it = EchoPresets.find(safeName);
00226         if(it != EchoPresets.end())
00227         {
00228                 return it->second;
00229         }
00230         return sEchoParameters();
00231 }
00232
00233 sFlangerParameters cAudioEffects::getFlangerEffectPreset(const char* name)
00234 {
00235         cAudioMutexBasicLock lock(Mutex);
00236         cAudioString safeName = safeCStr(name);
00237         cAudioMap<cAudioString, sFlangerParameters>::Type::iterator it = FlangerPresets.find(safeName);
00238         if(it != FlangerPresets.end())
00239         {
00240                 return it->second;
00241         }
00242         return sFlangerParameters();
00243 }
00244
00245 sFrequencyShiftParameters cAudioEffects::getFrequencyShiftEffectPreset(const char* name)
00246 {
00247         cAudioMutexBasicLock lock(Mutex);
00248         cAudioString safeName = safeCStr(name);
00249         cAudioMap<cAudioString, sFrequencyShiftParameters>::Type::iterator it = FrequencyShiftPresets.find(safeName);
00250         if(it != FrequencyShiftPresets.end())
00251         {
00252                 return it->second;
00253         }
00254         return sFrequencyShiftParameters();
00255 }
00256
00257 sVocalMorpherParameters cAudioEffects::getVocalMorpherEffectPreset(const char* name)
00258 {
00259         cAudioMutexBasicLock lock(Mutex);
00260         cAudioString safeName = safeCStr(name);
00261         cAudioMap<cAudioString, sVocalMorpherParameters>::Type::iterator it = VocalMorpherPresets.find(safeName);
00262         if(it != VocalMorpherPresets.end())
00263         {
00264                 return it->second;
00265         }
00266         return sVocalMorpherParameters();
00267 }
00268
00269 sPitchShifterParameters cAudioEffects::getPitchShifterEffectPreset(const char* name)
00270 {
00271         cAudioMutexBasicLock lock(Mutex);
00272         cAudioString safeName = safeCStr(name);
00273         cAudioMap<cAudioString, sPitchShifterParameters>::Type::iterator it = PitchShifterPresets.find(safeName);
00274         if(it != PitchShifterPresets.end())
00275         {
00276                 return it->second;
00277         }
00278         return sPitchShifterParameters();
00279 }
00280
00281 sRingModulatorParameters cAudioEffects::getRingModulatorEffectPreset(const char* name)
00282 {
00283         cAudioMutexBasicLock lock(Mutex);
00284         cAudioString safeName = safeCStr(name);
00285         cAudioMap<cAudioString, sRingModulatorParameters>::Type::iterator it = RingModulatorPresets.find(safeName);
00286         if(it != RingModulatorPresets.end())
00287         {
00288                 return it->second;
00289         }
00290         return sRingModulatorParameters();
00291 }
00292
00293 sAutowahParameters cAudioEffects::getAutowahEffectPreset(const char* name)
00294 {
00295         cAudioMutexBasicLock lock(Mutex);
00296         cAudioString safeName = safeCStr(name);
00297         cAudioMap<cAudioString, sAutowahParameters>::Type::iterator it = AutowahPresets.find(safeName);
00298         if(it != AutowahPresets.end())
00299         {
00300                 return it->second;
00301         }
00302         return sAutowahParameters();
00303 }
00304
00305 sCompressorParameters cAudioEffects::getCompressorEffectPreset(const char* name)
00306 {
00307         cAudioMutexBasicLock lock(Mutex);
00308         cAudioString safeName = safeCStr(name);
00309         cAudioMap<cAudioString, sCompressorParameters>::Type::iterator it = CompressorPresets.find(safeName);
00310         if(it != CompressorPresets.end())
00311         {
00312                 return it->second;
00313         }
00314         return sCompressorParameters();
00315 }
00316
00317 sEqualizerParameters cAudioEffects::getEqualizerEffectPreset(const char* name)
00318 {
00319         cAudioMutexBasicLock lock(Mutex);
00320         cAudioString safeName = safeCStr(name);
00321         cAudioMap<cAudioString, sEqualizerParameters>::Type::iterator it = EqualizerPresets.find(safeName);
00322         if(it != EqualizerPresets.end())
00323         {
00324                 return it->second;
00325         }
00326         return sEqualizerParameters();
00327 }
00328
00329 void cAudioEffects::removeEffectPreset(const EffectTypes& type, const char* name)
00330 {
00331         cAudioMutexBasicLock lock(Mutex);
00332         cAudioString safeName = safeCStr(name);
00333         switch(type)
00334         {
00335         case EET_EAX_REVERB:
00336                 EAXReverbPresets.erase(safeName);
00337                 break;
00338         case EET_REVERB:
00339                 ReverbPresets.erase(safeName);
00340                 break;
00341         case EET_CHORUS:
00342                 ChorusPresets.erase(safeName);
00343                 break;
00344         case EET_DISTORTION:
00345                 DistortionPresets.erase(safeName);
00346                 break;
00347         case EET_ECHO:
00348                 EchoPresets.erase(safeName);
00349                 break;
00350         case EET_FLANGER:
00351                 FlangerPresets.erase(safeName);
00352                 break;
00353         case EET_FREQUENCY_SHIFTER:
00354                 FrequencyShiftPresets.erase(safeName);
00355                 break;
00356         case EET_VOCAL_MORPHER:
00357                 VocalMorpherPresets.erase(safeName);
00358                 break;
00359         case EET_PITCH_SHIFTER:
00360                 PitchShifterPresets.erase(safeName);
00361                 break;
00362         case EET_RING_MODULATOR:
00363                 RingModulatorPresets.erase(safeName);
00364                 break;
00365         case EET_AUTOWAH:
00366                 AutowahPresets.erase(safeName);
00367                 break;
00368         case EET_COMPRESSOR:
00369                 CompressorPresets.erase(safeName);
00370                 break;
00371         case EET_EQUALIZER:
00372                 EqualizerPresets.erase(safeName);
00373                 break;
00374         default:
00375                 break;
00376         }
00377 }
00378
00379 bool cAudioEffects::isEffectPresetRegistered(const EffectTypes& type, const char* name)
00380 {
00381         cAudioMutexBasicLock lock(Mutex);
00382         cAudioString safeName = safeCStr(name);
00383         switch(type)
00384         {
00385         case EET_EAX_REVERB:
00386                 return (EAXReverbPresets.find(safeName) != EAXReverbPresets.end());
00387                 break;
00388         case EET_REVERB:
00389                 return (ReverbPresets.find(safeName) != ReverbPresets.end());
00390                 break;
00391         case EET_CHORUS:
00392                 return (ChorusPresets.find(safeName) != ChorusPresets.end());
00393                 break;
00394         case EET_DISTORTION:
00395                 return (DistortionPresets.find(safeName) != DistortionPresets.end());
00396                 break;
00397         case EET_ECHO:
00398                 return (EchoPresets.find(safeName) != EchoPresets.end());
00399                 break;
00400         case EET_FLANGER:
00401                 return (FlangerPresets.find(safeName) != FlangerPresets.end());
00402                 break;
00403         case EET_FREQUENCY_SHIFTER:
00404                 return (FrequencyShiftPresets.find(safeName) != FrequencyShiftPresets.end());
00405                 break;
00406         case EET_VOCAL_MORPHER:
00407                 return (VocalMorpherPresets.find(safeName) != VocalMorpherPresets.end());
00408                 break;
00409         case EET_PITCH_SHIFTER:
00410                 return (PitchShifterPresets.find(safeName) != PitchShifterPresets.end());
00411                 break;
00412         case EET_RING_MODULATOR:
00413                 return (RingModulatorPresets.find(safeName) != RingModulatorPresets.end());
00414                 break;
00415         case EET_AUTOWAH:
00416                 return (AutowahPresets.find(safeName) != AutowahPresets.end());
00417                 break;
00418         case EET_COMPRESSOR:
00419                 return (CompressorPresets.find(safeName) != CompressorPresets.end());
00420                 break;
00421         case EET_EQUALIZER:
00422                 return (EqualizerPresets.find(safeName) != EqualizerPresets.end());
00423                 break;
00424         default:
00425                 return false;
00426                 break;
00427         }
00428 }
00429
00430 void cAudioEffects::removeAllEffectPresets(const EffectTypes& type)
00431 {
00432         switch(type)
00433         {
00434         case EET_EAX_REVERB:
00435                 EAXReverbPresets.clear();
00436                 break;
00437         case EET_REVERB:
00438                 ReverbPresets.clear();
00439                 break;
00440         case EET_CHORUS:
00441                 ChorusPresets.clear();
00442                 break;
00443         case EET_DISTORTION:
00444                 DistortionPresets.clear();
00445                 break;
00446         case EET_ECHO:
00447                 EchoPresets.clear();
00448                 break;
00449         case EET_FLANGER:
00450                 FlangerPresets.clear();
00451                 break;
00452         case EET_FREQUENCY_SHIFTER:
00453                 FrequencyShiftPresets.clear();
00454                 break;
00455         case EET_VOCAL_MORPHER:
00456                 VocalMorpherPresets.clear();
00457                 break;
00458         case EET_PITCH_SHIFTER:
00459                 PitchShifterPresets.clear();
00460                 break;
00461         case EET_RING_MODULATOR:
00462                 RingModulatorPresets.clear();
00463                 break;
00464         case EET_AUTOWAH:
00465                 AutowahPresets.clear();
00466                 break;
00467         case EET_COMPRESSOR:
00468                 CompressorPresets.clear();
00469                 break;
00470         case EET_EQUALIZER:
00471                 EqualizerPresets.clear();
00472                 break;
00473         default:
00474                 EAXReverbPresets.clear();
00475                 ReverbPresets.clear();
00476                 ChorusPresets.clear();
00477                 DistortionPresets.clear();
00478                 EchoPresets.clear();
00479                 FlangerPresets.clear();
00480                 FrequencyShiftPresets.clear();
00481                 VocalMorpherPresets.clear();
00482                 PitchShifterPresets.clear();
00483                 RingModulatorPresets.clear();
00484                 AutowahPresets.clear();
00485                 CompressorPresets.clear();
00486                 EqualizerPresets.clear();
00487                 break;
00488         }
00489 }
00490
00491 cEFXFunctions* cAudioEffects::getEFXInterface()
00492 {
00493         return &EFXInterface;
00494 }
00495
00496 void cAudioEffects::checkEFXSupportDetails()
00497 {
00498         cAudioMutexBasicLock lock(Mutex);
00499         if(EFXInterface.Supported)
00500         {
00501                 cAudioMutexBasicLock lock(EFXInterface.Mutex);
00502
00503                 //Count the number of effect slots this device supports (limits the max number of effects available)
00504                 unsigned int count = 0;
00505                 ALuint effectSlots[EFFECT_SLOTS_TO_TEST];
00506                 for(count=0; count<EFFECT_SLOTS_TO_TEST; ++count)
00507                 {
00508                         EFXInterface.alGenAuxiliaryEffectSlots(1, &effectSlots[count]);
00509                         if(alGetError() != AL_NO_ERROR)
00510                                 break;
00511                 }
00512
00513                 MaxEffectsSupported = count;
00514
00515                 //Check what effects are supported
00516                 ALuint Effect;
00517                 EFXInterface.alGenEffects(1, &Effect);
00518                 if (alGetError() == AL_NO_ERROR)
00519                 {
00520                         SupportedEffects[EET_NULL] = true;
00521
00522                         // Try setting Effect Type to known Effects
00523                         EFXInterface.alEffecti(Effect, AL_EFFECT_TYPE, AL_EFFECT_REVERB);
00524                         SupportedEffects[EET_REVERB] = (alGetError() == AL_NO_ERROR);
00525
00526                         EFXInterface.alEffecti(Effect, AL_EFFECT_TYPE, AL_EFFECT_EAXREVERB);
00527                         SupportedEffects[EET_EAX_REVERB] = (alGetError() == AL_NO_ERROR);
00528
00529                         EFXInterface.alEffecti(Effect, AL_EFFECT_TYPE, AL_EFFECT_CHORUS);
00530                         SupportedEffects[EET_CHORUS] = (alGetError() == AL_NO_ERROR);
00531
00532                         EFXInterface.alEffecti(Effect, AL_EFFECT_TYPE, AL_EFFECT_DISTORTION);
00533                         SupportedEffects[EET_DISTORTION] = (alGetError() == AL_NO_ERROR);
00534
00535                         EFXInterface.alEffecti(Effect, AL_EFFECT_TYPE, AL_EFFECT_ECHO);
00536                         SupportedEffects[EET_ECHO] = (alGetError() == AL_NO_ERROR);
00537
00538                         EFXInterface.alEffecti(Effect, AL_EFFECT_TYPE, AL_EFFECT_FLANGER);
00539                         SupportedEffects[EET_FLANGER] = (alGetError() == AL_NO_ERROR);
00540
00541                         EFXInterface.alEffecti(Effect, AL_EFFECT_TYPE, AL_EFFECT_FREQUENCY_SHIFTER);
00542                         SupportedEffects[EET_FREQUENCY_SHIFTER] = (alGetError() == AL_NO_ERROR);
00543
00544                         EFXInterface.alEffecti(Effect, AL_EFFECT_TYPE, AL_EFFECT_VOCAL_MORPHER);
00545                         SupportedEffects[EET_VOCAL_MORPHER] = (alGetError() == AL_NO_ERROR);
00546
00547                         EFXInterface.alEffecti(Effect, AL_EFFECT_TYPE, AL_EFFECT_PITCH_SHIFTER);
00548                         SupportedEffects[EET_PITCH_SHIFTER] = (alGetError() == AL_NO_ERROR);
00549
00550                         EFXInterface.alEffecti(Effect, AL_EFFECT_TYPE, AL_EFFECT_RING_MODULATOR);
00551                         SupportedEffects[EET_RING_MODULATOR] = (alGetError() == AL_NO_ERROR);
00552
00553                         EFXInterface.alEffecti(Effect, AL_EFFECT_TYPE, AL_EFFECT_AUTOWAH);
00554                         SupportedEffects[EET_AUTOWAH] = (alGetError() == AL_NO_ERROR);
00555
00556                         EFXInterface.alEffecti(Effect, AL_EFFECT_TYPE, AL_EFFECT_COMPRESSOR);
00557                         SupportedEffects[EET_COMPRESSOR] = (alGetError() == AL_NO_ERROR);
00558
00559                         EFXInterface.alEffecti(Effect, AL_EFFECT_TYPE, AL_EFFECT_EQUALIZER);
00560                         SupportedEffects[EET_EQUALIZER] = (alGetError() == AL_NO_ERROR);
00561                 }
00562
00563                 // Delete Effect
00564                 EFXInterface.alDeleteEffects(1, &Effect);
00565
00566                 // Generate a Filter to use to determine what Filter Types are supported
00567                 ALuint Filter;
00568                 EFXInterface.alGenFilters(1, &Filter);
00569                 if (alGetError() == AL_NO_ERROR)
00570                 {
00571                         SupportedFilters[EFT_NULL] = true;
00572
00573                         // Try setting the Filter type to known Filters
00574                         EFXInterface.alFilteri(Filter, AL_FILTER_TYPE, AL_FILTER_LOWPASS);
00575                         SupportedFilters[EFT_LOWPASS] = (alGetError() == AL_NO_ERROR);
00576
00577                         EFXInterface.alFilteri(Filter, AL_FILTER_TYPE, AL_FILTER_HIGHPASS);
00578                         SupportedFilters[EFT_HIGHPASS] = (alGetError() == AL_NO_ERROR);
00579
00580                         EFXInterface.alFilteri(Filter, AL_FILTER_TYPE, AL_FILTER_BANDPASS);
00581                         SupportedFilters[EFT_BANDPASS] = (alGetError() == AL_NO_ERROR);
00582                 }
00583
00584                 // Delete Filter
00585                 EFXInterface.alDeleteFilters(1, &Filter);
00586
00587                 //Cleanup the slots we created
00588                 while(count > 0)
00589                 {
00590                         EFXInterface.alDeleteAuxiliaryEffectSlots(1, &effectSlots[--count]);
00591                 }
00592         }
00593 }
00594
00595 };
00596
00597 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cAudioEffects.h Source File

  • File List
Headers

cAudioEffects.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CAUDIOEFFECTS_H
00006 #define CAUDIOEFFECTS_H
00007
00008 #include "../include/IAudioEffects.h"
00009 #include "../Headers/cMutex.h"
00010 #include "../Headers/cEFXFunctions.h"
00011 #include "../Headers/cSTLAllocator.h"
00012
00013 #ifdef CAUDIO_EFX_ENABLED
00014
00015 namespace cAudio
00016 {
00017         class cAudioEffects : public IAudioEffects
00018     {
00019     public:
00020                 cAudioEffects();
00021         virtual ~cAudioEffects();
00022
00023                 virtual IEffect* createEffect();
00024                 virtual IFilter* createFilter();
00025
00026                 virtual unsigned int getMaxEffectsSupported() const;
00027                 virtual bool isEffectSupported(const EffectTypes& type) const;
00028                 virtual bool isFilterSupported(const FilterTypes& type) const;
00029
00030                 virtual bool addEAXReverbEffectPreset(const char* name, const sEAXReverbParameters& setting);
00031                 virtual bool addReverbEffectPreset(const char* name, const sReverbParameters& setting);
00032                 virtual bool addChorusEffectPreset(const char* name, const sChorusParameters& setting);
00033                 virtual bool addDistortionEffectPreset(const char* name, const sDistortionParameters& setting);
00034                 virtual bool addEchoEffectPreset(const char* name, const sEchoParameters& setting);
00035                 virtual bool addFlangerEffectPreset(const char* name, const sFlangerParameters& setting);
00036                 virtual bool addFrequencyShiftEffectPreset(const char* name, const sFrequencyShiftParameters& setting);
00037                 virtual bool addVocalMorpherEffectPreset(const char* name, const sVocalMorpherParameters& setting);
00038                 virtual bool addPitchShifterEffectPreset(const char* name, const sPitchShifterParameters& setting);
00039                 virtual bool addRingModulatorEffectPreset(const char* name, const sRingModulatorParameters& setting);
00040                 virtual bool addAutowahEffectPreset(const char* name, const sAutowahParameters& setting);
00041                 virtual bool addCompressorEffectPreset(const char* name, const sCompressorParameters& setting);
00042                 virtual bool addEqualizerEffectPreset(const char* name, const sEqualizerParameters& setting);
00043
00044                 virtual sEAXReverbParameters getEAXReverbEffectPreset(const char* name);
00045                 virtual sReverbParameters getReverbEffectPreset(const char* name);
00046                 virtual sChorusParameters getChorusEffectPreset(const char* name);
00047                 virtual sDistortionParameters getDistortionEffectPreset(const char* name);
00048                 virtual sEchoParameters getEchoEffectPreset(const char* name);
00049                 virtual sFlangerParameters getFlangerEffectPreset(const char* name);
00050                 virtual sFrequencyShiftParameters getFrequencyShiftEffectPreset(const char* name);
00051                 virtual sVocalMorpherParameters getVocalMorpherEffectPreset(const char* name);
00052                 virtual sPitchShifterParameters getPitchShifterEffectPreset(const char* name);
00053                 virtual sRingModulatorParameters getRingModulatorEffectPreset(const char* name);
00054                 virtual sAutowahParameters getAutowahEffectPreset(const char* name);
00055                 virtual sCompressorParameters getCompressorEffectPreset(const char* name);
00056                 virtual sEqualizerParameters getEqualizerEffectPreset(const char* name);
00057
00058                 virtual void removeEffectPreset(const EffectTypes& type, const char* name);
00059                 virtual bool isEffectPresetRegistered(const EffectTypes& type, const char* name);
00060                 virtual void removeAllEffectPresets(const EffectTypes& type);
00061
00062                 cEFXFunctions* getEFXInterface();
00063                 void checkEFXSupportDetails();
00064
00065     private:
00066                 cAudioMutex Mutex;
00067                 cEFXFunctions EFXInterface;
00068                 unsigned int MaxEffectsSupported;
00069                 bool SupportedEffects[EET_COUNT];
00070                 bool SupportedFilters[EFT_COUNT];
00071
00072                 cAudioMap<cAudioString, sEAXReverbParameters>::Type EAXReverbPresets;
00073                 cAudioMap<cAudioString, sReverbParameters>::Type ReverbPresets;
00074                 cAudioMap<cAudioString, sChorusParameters>::Type ChorusPresets;
00075                 cAudioMap<cAudioString, sDistortionParameters>::Type DistortionPresets;
00076                 cAudioMap<cAudioString, sEchoParameters>::Type EchoPresets;
00077                 cAudioMap<cAudioString, sFlangerParameters>::Type FlangerPresets;
00078                 cAudioMap<cAudioString, sFrequencyShiftParameters>::Type FrequencyShiftPresets;
00079                 cAudioMap<cAudioString, sVocalMorpherParameters>::Type VocalMorpherPresets;
00080                 cAudioMap<cAudioString, sPitchShifterParameters>::Type PitchShifterPresets;
00081                 cAudioMap<cAudioString, sRingModulatorParameters>::Type RingModulatorPresets;
00082                 cAudioMap<cAudioString, sAutowahParameters>::Type AutowahPresets;
00083                 cAudioMap<cAudioString, sCompressorParameters>::Type CompressorPresets;
00084                 cAudioMap<cAudioString, sEqualizerParameters>::Type EqualizerPresets;
00085     };
00086 };
00087
00088 #endif
00089
00090 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cAudioManager.cpp Source File

  • File List
Source

cAudioManager.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cAudioManager.h"
00006 #include "../Headers/cFileSource.h"
00007 #include "../Headers/cMemorySource.h"
00008 #include "../Headers/cUtils.h"
00009 #include "../Headers/cOggAudioDecoderFactory.h"
00010 #include "../Headers/cWavAudioDecoderFactory.h"
00011 #include "../Headers/cRawAudioDecoderFactory.h"
00012 #include "../Headers/cThread.h"
00013 #include "../include/cAudioSleep.h"
00014 #include "../Headers/cLogger.h"
00015 #include "../Headers/cPluginManager.h"
00016 #include "../include/cAudioPlatform.h"
00017 #include "../Headers/cFileSourceFactory.h"
00018
00019 #include <string.h>
00020 #include <algorithm>
00021
00022 #ifdef CAUDIO_EFX_ENABLED
00023
00024 #ifdef CAUDIO_PLATFORM_WIN
00025         #include <AL/efx.h>
00026         #include <AL/efx-creative.h>
00027         #include <AL/xram.h>
00028 #endif
00029
00030 #ifdef CAUDIO_PLATFORM_LINUX
00031         #include <AL/alext.h>
00032 #endif
00033
00034 #endif
00035
00036 namespace cAudio
00037 {
00038         static bool RunAudioManagerThread(false);
00039
00040 #ifdef CAUDIO_COMPILE_WITH_OGG_DECODER
00041         static cOggAudioDecoderFactory OggDecoderFactory;
00042 #endif
00043 #ifdef CAUDIO_COMPILE_WITH_WAV_DECODER
00044         static cWavAudioDecoderFactory WavDecoderFactory;
00045 #endif
00046
00047         static cRawAudioDecoderFactory RawDecoderFactory;
00048
00049 #ifdef CAUDIO_COMPILE_WITH_FILE_SOURCE
00050         static cFileSourceFactory FileSourceFactory;
00051 #endif
00052
00053         //Note: OpenAL is threadsafe, so a mutex only needs to protect the class state
00054 #ifdef CAUDIO_USE_INTERNAL_THREAD
00055         static cAudioMutex AudioManagerObjectsMutex;
00056         static cAudioSet<IAudioManager*>::Type AudioManagerObjects;
00057
00058         CAUDIO_DECLARE_THREAD_FUNCTION(AudioManagerUpdateThread)
00059         {
00060                 while(RunAudioManagerThread)
00061                 {
00062                         AudioManagerObjectsMutex.lock();
00063                         cAudioSet<IAudioManager*>::Type::iterator it;
00064                         for ( it=AudioManagerObjects.begin() ; it != AudioManagerObjects.end(); it++ )
00065                         {
00066                                 (*it)->update();
00067                         }
00068                         AudioManagerObjectsMutex.unlock();
00069                         cAudioSleep(1);
00070                 }
00071                 return 0;
00072         }
00073 #endif
00074
00075     bool cAudioManager::initialize(const char* deviceName, int outputFrequency, int eaxEffectSlots)
00076     {
00077                 cAudioMutexBasicLock lock(Mutex);
00078
00079                 if(Initialized)
00080                         return false;
00081
00082                 //Stores the context attributes (MAX of 4, with 2 zeros to terminate)
00083                 ALint attribs[6] = { 0 };
00084
00085                 unsigned int currentAttrib = 0;
00086                 if(outputFrequency > 0)
00087                 {
00088                         attribs[currentAttrib++] = ALC_FREQUENCY;
00089                         attribs[currentAttrib++] = outputFrequency;
00090                 }
00091 #ifdef CAUDIO_EFX_ENABLED
00092                 if(eaxEffectSlots > 0)
00093                 {
00094                         attribs[currentAttrib++] = ALC_MAX_AUXILIARY_SENDS;
00095                         attribs[currentAttrib++] = eaxEffectSlots;
00096                 }
00097 #endif
00098
00099                 //Create a new device
00100                 Device = alcOpenDevice(deviceName);
00101                 //Check if device can be created
00102                 if (Device == NULL)
00103                 {
00104                         getLogger()->logError("AudioManager", "Failed to Create OpenAL Device.");
00105                         checkError();
00106                         return false;
00107                 }
00108
00109                 Context = alcCreateContext(Device, attribs);
00110                 if (Context == NULL)
00111                 {
00112                         getLogger()->logError("AudioManager", "Failed to Create OpenAL Context.");
00113                         checkError();
00114                         alcCloseDevice(Device);
00115                         Device = NULL;
00116                         return false;
00117                 }
00118
00119                 if(!alcMakeContextCurrent(Context))
00120                 {
00121                         getLogger()->logError("AudioManager", "Failed to make OpenAL Context current.");
00122                         checkError();
00123                         alcDestroyContext(Context);
00124                         alcCloseDevice(Device);
00125                         Context = NULL;
00126                         Device = NULL;
00127                         return false;
00128                 }
00129
00130 #ifdef CAUDIO_EFX_ENABLED
00131                 initEffects.getEFXInterface()->Mutex.lock();
00132                 EFXSupported = initEffects.getEFXInterface()->CheckEFXSupport(Device);
00133                 initEffects.getEFXInterface()->Mutex.unlock();
00134                 initEffects.checkEFXSupportDetails();
00135 #endif
00136
00137                 getLogger()->logInfo("AudioManager", "OpenAL Version: %s", alGetString(AL_VERSION));
00138                 getLogger()->logInfo("AudioManager", "Vendor: %s", alGetString(AL_VENDOR));
00139                 getLogger()->logInfo("AudioManager", "Renderer: %s", alGetString(AL_RENDERER));
00140 #ifdef CAUDIO_EFX_ENABLED
00141                 if(EFXSupported)
00142                 {
00143                         int EFXMajorVersion = 0;
00144                         int EFXMinorVersion = 0;
00145                         alcGetIntegerv(Device, ALC_EFX_MAJOR_VERSION, 1, &EFXMajorVersion);
00146                         alcGetIntegerv(Device, ALC_EFX_MINOR_VERSION, 1, &EFXMinorVersion);
00147                         getLogger()->logInfo("AudioManager", "EFX Version: %i.%i", EFXMajorVersion, EFXMinorVersion);
00148                         getLogger()->logInfo("AudioManager", "EFX supported and enabled.");
00149                 }
00150                 else
00151                 {
00152                         getLogger()->logWarning("AudioManager", "EFX is not supported, EFX disabled.");
00153                 }
00154 #endif
00155                 getLogger()->logInfo("AudioManager", "Supported Extensions: %s", alGetString(AL_EXTENSIONS));
00156
00157                 Initialized = true;
00158                 return true;
00159     }
00160
00161     IAudioSource* cAudioManager::create(const char* name, const char* filename, bool stream)
00162     {
00163                 cAudioMutexBasicLock lock(Mutex);
00164
00165                 cAudioString audioName = safeCStr(name);
00166                 cAudioString path = safeCStr(filename);
00167
00168                 cAudioString ext = getExt(path);
00169                 IAudioDecoderFactory* factory = getAudioDecoderFactory(ext.c_str());
00170
00171                 if(factory)
00172                 {
00173                         for(int i=0; i<dataSourcePriorityList.size(); ++i)
00174                         {
00175                                 IDataSourceFactory* dataFactory = datasourcemap[dataSourcePriorityList[i].second];
00176                                 if(dataFactory)
00177                                 {
00178                                         IDataSource* source = dataFactory->CreateDataSource(filename, stream);
00179                                         if(source && source->isValid())
00180                                         {
00181                                                 IAudioDecoder* decoder = factory->CreateAudioDecoder(source);
00182                                                 source->drop();
00183                                                 if(decoder && decoder->isValid())
00184                                                 {
00185 #ifdef CAUDIO_EFX_ENABLED
00186                                                         IAudioSource* audio = CAUDIO_NEW cAudioSource(decoder, Context, initEffects.getEFXInterface());
00187 #else
00188                                                         IAudioSource* audio = CAUDIO_NEW cAudioSource(decoder, Context);
00189 #endif
00190                                                         decoder->drop();
00191
00192                                                         if(audio && audio->isValid())
00193                                                         {
00194                                                                 if(!audioName.empty())
00195                                                                         audioIndex[audioName] = audio;
00196
00197                                                                 audioSources.push_back(audio);
00198
00199                                                                 getLogger()->logInfo("AudioManager", "Audio Source (%s) created from file %s from Data Source %s.", audioName.c_str(), path.c_str(), dataSourcePriorityList[i].second.c_str());
00200
00201                                                                 return audio;
00202                                                         }
00203                                                         getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): Error creating audio source.", audioName.c_str());
00204                                                         audio->drop();
00205                                                         return NULL;
00206                                                 }
00207                                                 getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): Audio data could not be decoded by (.%s) decoder.", audioName.c_str(), ext.c_str());
00208                                                 decoder->drop();
00209                                                 return NULL;
00210                                         }
00211                                         if(source)
00212                                                 source->drop();
00213                                 }
00214                         }
00215                         getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): File could not be found (.%s).", audioName.c_str(), path.c_str());
00216                         return NULL;
00217                 }
00218                 getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): No decoder could be found for (.%s).", audioName.c_str(), ext.c_str());
00219                 return NULL;
00220     }
00221
00222     IAudioSource* cAudioManager::createFromMemory(const char* name, const char* data, size_t length, const char* extension)
00223     {
00224                 cAudioMutexBasicLock lock(Mutex);
00225
00226                 cAudioString audioName = safeCStr(name);
00227                 cAudioString ext = safeCStr(extension);
00228                 IAudioDecoderFactory* factory = getAudioDecoderFactory(ext.c_str());
00229                 if(factory)
00230                 {
00231                         cMemorySource* source = CAUDIO_NEW cMemorySource(data, length, true);
00232                         if(source)
00233                         {
00234                                 if(source->isValid())
00235                                 {
00236                                         IAudioDecoder* decoder = factory->CreateAudioDecoder(source);
00237                                         source->drop();
00238                                         if(decoder)
00239                                         {
00240                                                 if(decoder->isValid())
00241                                                 {
00242 #ifdef CAUDIO_EFX_ENABLED
00243                                                         IAudioSource* audio = CAUDIO_NEW cAudioSource(decoder, Context, initEffects.getEFXInterface());
00244 #else
00245                                                         IAudioSource* audio = CAUDIO_NEW cAudioSource(decoder, Context);
00246 #endif
00247                                                         decoder->drop();
00248
00249                                                         if(audio)
00250                                                         {
00251                                                                 if(audio->isValid())
00252                                                                 {
00253                                                                         if(!audioName.empty())
00254                                                                                 audioIndex[audioName] = audio;
00255
00256                                                                         audioSources.push_back(audio);
00257
00258                                                                         getLogger()->logInfo("AudioManager", "Audio Source (%s) successfully created from memory.", audioName.c_str());
00259
00260                                                                         return audio;
00261                                                                 }
00262                                                                 audio->drop();
00263                                                                 getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): Error creating audio source.", audioName.c_str());
00264                                                                 return NULL;
00265                                                         }
00266                                                         getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): Could not allocate enough memory.", audioName.c_str());
00267                                                         return NULL;
00268                                                 }
00269                                                 decoder->drop();
00270                                                 getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): Audio data could not be decoded by (.%s) decoder.", audioName.c_str(), ext.c_str());
00271                                                 return NULL;
00272                                         }
00273                                         getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): Could not allocate enough memory for decoder.", audioName.c_str());
00274                                         return NULL;
00275                                 }
00276                                 source->drop();
00277                                 getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): Audio data is corrupt.", audioName.c_str());
00278                                 return NULL;
00279                         }
00280                         getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): Could not allocate enough memory.", audioName.c_str());
00281                         return NULL;
00282                 }
00283                 getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): Codec (.%s) is not supported.", audioName.c_str(), ext.c_str());
00284                 return NULL;
00285     }
00286
00287         IAudioSource* cAudioManager::createFromRaw(const char* name, const char* data, size_t length, unsigned int frequency, AudioFormats format)
00288         {
00289                 cAudioMutexBasicLock lock(Mutex);
00290
00291                 cAudioString audioName = safeCStr(name);
00292                 IAudioDecoderFactory* factory = getAudioDecoderFactory("raw");
00293                 if(factory)
00294                 {
00295                         cMemorySource* source = CAUDIO_NEW cMemorySource(data, length, true);
00296                         if(source)
00297                         {
00298                                 if(source->isValid())
00299                                 {
00300                                         IAudioDecoder* decoder = ((cRawAudioDecoderFactory*)factory)->CreateAudioDecoder(source, frequency, format);
00301                                         source->drop();
00302                                         if(decoder)
00303                                         {
00304                                                 if(decoder->isValid())
00305                                                 {
00306 #ifdef CAUDIO_EFX_ENABLED
00307                                                         IAudioSource* audio = CAUDIO_NEW cAudioSource(decoder, Context, initEffects.getEFXInterface());
00308 #else
00309                                                         IAudioSource* audio = CAUDIO_NEW cAudioSource(decoder, Context);
00310 #endif
00311                                                         decoder->drop();
00312
00313                                                         if(audio)
00314                                                         {
00315                                                                 if(audio->isValid())
00316                                                                 {
00317                                                                         if(!audioName.empty())
00318                                                                                 audioIndex[audioName] = audio;
00319
00320                                                                         audioSources.push_back(audio);
00321
00322                                                                         getLogger()->logInfo("AudioManager", "Audio Source (%s) successfully created from raw data.", audioName.c_str());
00323
00324                                                                         return audio;
00325                                                                 }
00326                                                                 audio->drop();
00327                                                                 getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): Error creating audio source.", audioName.c_str());
00328                                                                 return NULL;
00329                                                         }
00330                                                         getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): Could not allocate enough memory.", audioName.c_str());
00331                                                         return NULL;
00332                                                 }
00333                                                 decoder->drop();
00334                                                 getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): Audio data could not be decoded by (.%s) decoder.", audioName.c_str(), "raw");
00335                                                 return NULL;
00336                                         }
00337                                         getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): Could not allocate enough memory for decoder.", audioName.c_str());
00338                                         return NULL;
00339                                 }
00340                                 source->drop();
00341                                 getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): Audio data is corrupt.", audioName.c_str());
00342                                 return NULL;
00343                         }
00344                         getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): Could not allocate enough memory.", audioName.c_str());
00345                         return NULL;
00346                 }
00347                 getLogger()->logError("AudioManager", "Failed to create Audio Source (%s): Codec (.%s) is not supported.", audioName.c_str(), "raw");
00348                 return NULL;
00349         }
00350
00351     bool cAudioManager::registerAudioDecoder(IAudioDecoderFactory* factory, const char* extension)
00352     {
00353                 cAudioMutexBasicLock lock(Mutex);
00354                 cAudioString ext = safeCStr(extension);
00355         decodermap[ext] = factory;
00356                 getLogger()->logInfo("AudioManager", "Audio Decoder for extension .%s registered.", ext.c_str());
00357                 return true;
00358     }
00359
00360         void cAudioManager::unRegisterAudioDecoder(const char* extension)
00361         {
00362                 cAudioMutexBasicLock lock(Mutex);
00363                 cAudioString ext = safeCStr(extension);
00364                 decodermapIterator it = decodermap.find(ext);
00365                 if(it != decodermap.end())
00366                 {
00367                         decodermap.erase(it);
00368                         getLogger()->logInfo("AudioManager", "Audio Decoder for extension .%s unregistered.", ext.c_str());
00369                 }
00370         }
00371
00372         bool cAudioManager::isAudioDecoderRegistered(const char* extension)
00373         {
00374                 cAudioMutexBasicLock lock(Mutex);
00375                 cAudioString ext = safeCStr(extension);
00376                 decodermapIterator it = decodermap.find(ext);
00377                 return (it != decodermap.end());
00378         }
00379
00380         IAudioDecoderFactory* cAudioManager::getAudioDecoderFactory(const char* extension)
00381         {
00382                 cAudioMutexBasicLock lock(Mutex);
00383                 cAudioString ext = safeCStr(extension);
00384                 decodermapIterator it = decodermap.find(ext);
00385                 if(it != decodermap.end())
00386                 {
00387                         return it->second;
00388                 }
00389                 return NULL;
00390         }
00391
00392         void cAudioManager::unRegisterAllAudioDecoders()
00393         {
00394                 cAudioMutexBasicLock lock(Mutex);
00395                 decodermap.clear();
00396         }
00397
00398         bool compareDataSourcePriorities(std::pair<int, cAudioString> left, std::pair<int, cAudioString> right)
00399         {
00400                 return (left.first > right.first);
00401         }
00402
00403         bool cAudioManager::registerDataSource(IDataSourceFactory* factory, const char* name, int priority)
00404         {
00405                 cAudioMutexBasicLock lock(Mutex);
00406                 cAudioString safeName = safeCStr(name);
00407         datasourcemap[safeName] = factory;
00408                 dataSourcePriorityList.push_back(std::pair<int, cAudioString>(priority, safeName));
00409                 std::sort(dataSourcePriorityList.begin(), dataSourcePriorityList.end(), compareDataSourcePriorities);
00410
00411                 getLogger()->logInfo("AudioManager", "Data Source named %s registered (Priority %i).", safeName.c_str(), priority);
00412                 return true;
00413         }
00414
00415         void cAudioManager::unRegisterDataSource(const char* name)
00416         {
00417                 cAudioMutexBasicLock lock(Mutex);
00418                 cAudioString safeName = safeCStr(name);
00419                 datasourcemapIterator it = datasourcemap.find(safeName);
00420                 if(it != datasourcemap.end())
00421                 {
00422                         datasourcemap.erase(it);
00423                         getLogger()->logInfo("AudioManager", "Data Source named %s unregistered.", safeName.c_str());
00424                 }
00425
00426                 for(int i=0; i<dataSourcePriorityList.size(); ++i)
00427                 {
00428                         if(dataSourcePriorityList[i].second == safeName)
00429                         {
00430                                 dataSourcePriorityList.erase(dataSourcePriorityList.begin()+i);
00431                                 break;
00432                         }
00433                 }
00434
00435                 std::sort(dataSourcePriorityList.begin(), dataSourcePriorityList.end(), compareDataSourcePriorities);
00436         }
00437
00438         bool cAudioManager::isDataSourceRegistered(const char* name)
00439         {
00440                 cAudioMutexBasicLock lock(Mutex);
00441                 cAudioString safeName = safeCStr(name);
00442                 datasourcemapIterator it = datasourcemap.find(safeName);
00443                 return (it != datasourcemap.end());
00444         }
00445
00446         IDataSourceFactory* cAudioManager::getDataSourceFactory(const char* name)
00447         {
00448                 cAudioMutexBasicLock lock(Mutex);
00449                 cAudioString safeName = safeCStr(name);
00450                 datasourcemapIterator it = datasourcemap.find(safeName);
00451                 if(it != datasourcemap.end())
00452                 {
00453                         return it->second;
00454                 }
00455                 return NULL;
00456         }
00457
00458         void cAudioManager::unRegisterAllDataSources()
00459         {
00460                 cAudioMutexBasicLock lock(Mutex);
00461                 datasourcemap.clear();
00462                 dataSourcePriorityList.clear();
00463         }
00464
00465         void cAudioManager::registerEventHandler(IManagerEventHandler* handler)
00466         {
00467                 if(handler)
00468                 {
00469                         eventHandlerList.push_back(handler);
00470                 }
00471         }
00472
00473         void cAudioManager::unRegisterEventHandler(IManagerEventHandler* handler)
00474         {
00475                 if(handler)
00476                 {
00477                         eventHandlerList.remove(handler);
00478                 }
00479         }
00480
00481         void cAudioManager::unRegisterAllEventHandlers()
00482         {
00483                 eventHandlerList.clear();
00484         }
00485
00486         void cAudioManager::signalEvent(Events sevent)
00487         {
00488                 cAudioMutexBasicLock lock(Mutex);
00489                 cAudioList<IManagerEventHandler*>::Type::iterator it = eventHandlerList.begin();
00490
00491                 if(it != eventHandlerList.end())
00492                 {
00493                         switch(sevent)
00494                         {
00495                                 case ON_INIT:
00496
00497                                         for(it; it != eventHandlerList.end(); it++)
00498                                         {
00499                                                 (*it)->onInit();
00500                                         }
00501
00502                                         break;
00503
00504                                 case ON_UPDATE:
00505
00506                                         for(it; it != eventHandlerList.end(); it++)
00507                                         {
00508                                                 (*it)->onUpdate();
00509                                         }
00510
00511                                         break;
00512
00513                                 case ON_RELEASE:
00514
00515                                         for(it; it != eventHandlerList.end(); it++)
00516                                         {
00517                                                 (*it)->onRelease();
00518                                         }
00519
00520                                         break;
00521
00522                                 case ON_SOURCECREATE:
00523
00524                                         for(it; it != eventHandlerList.end(); it++)
00525                                         {
00526                                                 (*it)->onSourceCreate();
00527                                         }
00528
00529                                         break;
00530
00531                                 case ON_DECODERREGISTER:
00532
00533                                         for(it; it != eventHandlerList.end(); it++)
00534                                         {
00535                                                 (*it)->onDecoderRegister();
00536                                         }
00537
00538                                         break;
00539
00540                                 case ON_DATASOURCEREGISTER:
00541
00542                                         for(it; it != eventHandlerList.end(); it++)
00543                                         {
00544                                                 (*it)->onDataSourceRegister();
00545                                         }
00546
00547                                         break;
00548                         }
00549                 }
00550         }
00551
00552     IAudioSource* cAudioManager::getSoundByName(const char* name)
00553     {
00554                 cAudioMutexBasicLock lock(Mutex);
00555                 cAudioString audioName = safeCStr(name);
00556         audioIndexIterator i = audioIndex.find(audioName);
00557         if (i == audioIndex.end())
00558                 {
00559                         return NULL;
00560                 }
00561         return i->second;
00562     }
00563
00564     void cAudioManager::releaseAllSources()
00565     {
00566                 cAudioMutexBasicLock lock(Mutex);
00567                 for(unsigned int i=0; i<audioSources.size(); ++i)
00568                 {
00569                         IAudioSource* source = audioSources[i];
00570                         if(source)
00571                                 source->drop();
00572                 }
00573                 audioSources.clear();
00574                 audioIndex.clear();
00575     }
00576
00577         void cAudioManager::release(IAudioSource* source)
00578         {
00579                 if(source)
00580                 {
00581                         cAudioMutexBasicLock lock(Mutex);
00582                         audioIndexIterator it = audioIndex.begin();
00583                         for ( it=audioIndex.begin(); it != audioIndex.end(); it++ )
00584                         {
00585                                 if( it->second == source )
00586                                 {
00587                                         audioIndex.erase(it);
00588                                         break;
00589                                 }
00590                         }
00591                         for(unsigned int i=0; i<audioSources.size(); ++i)
00592                         {
00593                                 if(source == audioSources[i])
00594                                 {
00595                                         source->drop();
00596                                         audioSources.erase(audioSources.begin()+i);
00597                                         break;
00598                                 }
00599                         }
00600                 }
00601         }
00602
00603     void cAudioManager::update()
00604     {
00605                 cAudioMutexBasicLock lock(Mutex);
00606         for(unsigned int i=0; i<audioSources.size(); ++i)
00607                 {
00608                         IAudioSource* source = audioSources[i];
00609             if (source->isValid())
00610             {
00611                 if (source->update())
00612                 {
00613
00614                 }
00615             }
00616         }
00617     }
00618
00619     void cAudioManager::shutDown()
00620     {
00621                 if(Initialized)
00622                 {
00623                         cAudioMutexBasicLock lock(Mutex);
00624                         releaseAllSources();
00625                         //Reset context to null
00626                         alcMakeContextCurrent(NULL);
00627                         //Delete the context
00628                         alcDestroyContext(Context);
00629                         Context = NULL;
00630                         //Close the device
00631                         alcCloseDevice(Device);
00632                         Device = NULL;
00633                         Initialized = false;
00634                         getLogger()->logInfo("AudioManager", "Manager successfully shutdown.");
00635                 }
00636     }
00637
00638         bool cAudioManager::checkError()
00639         {
00640                 int error = alGetError();
00641                 const char* errorString;
00642
00643         if (error != AL_NO_ERROR)
00644         {
00645                         errorString = alGetString(error);
00646                         getLogger()->logError("AudioManager", "OpenAL Error: %s.", errorString);
00647                         return true;
00648         }
00649
00650                 if(Device)
00651                 {
00652                         error = alcGetError(Device);
00653                         if (error != AL_NO_ERROR)
00654                         {
00655                                 errorString = alGetString(error);
00656                                 getLogger()->logError("AudioManager", "OpenAL Error: %s.", errorString);
00657                                 return true;
00658                         }
00659                 }
00660                 return false;
00661         }
00662
00663         void cAudioManager::getAvailableDevices()
00664         {
00665                 // Get list of available Playback Devices
00666                 cAudioMutexBasicLock lock(Mutex);
00667                 if( alcIsExtensionPresent(NULL, "ALC_ENUMERATE_ALL_EXT") == AL_TRUE )
00668                 {
00669                         const char* deviceList = alcGetString(NULL, ALC_ALL_DEVICES_SPECIFIER);
00670                         if (deviceList)
00671                         {
00672                                 while(*deviceList)
00673                                 {
00674                                         cAudioString device(deviceList);
00675                                         AvailableDevices.push_back(device);
00676                                         deviceList += strlen(deviceList) + 1;
00677                                 }
00678                         }
00679
00680                         // Get the name of the 'default' capture device
00681                         DefaultDevice = alcGetString(NULL, ALC_DEFAULT_ALL_DEVICES_SPECIFIER);
00682                 }
00683                 else if( alcIsExtensionPresent(NULL, "ALC_ENUMERATION_EXT") == AL_TRUE )
00684                 {
00685                         const char* deviceList = alcGetString(NULL, ALC_DEVICE_SPECIFIER);
00686                         if (deviceList)
00687                         {
00688                                 while(*deviceList)
00689                                 {
00690                                         cAudioString device(deviceList);
00691                                         AvailableDevices.push_back(device);
00692                                         deviceList += strlen(deviceList) + 1;
00693                                 }
00694                         }
00695
00696                         // Get the name of the 'default' capture device
00697                         DefaultDevice = alcGetString(NULL, ALC_DEFAULT_DEVICE_SPECIFIER);
00698                 }
00699         }
00700
00701         const char* cAudioManager::getAvailableDeviceName(unsigned int index)
00702         {
00703                 cAudioMutexBasicLock lock(Mutex);
00704                 if(!AvailableDevices.empty())
00705                 {
00706                         //Bounds check
00707                         if( index > (AvailableDevices.size()-1) ) index = (AvailableDevices.size()-1);
00708                         const char* deviceName = AvailableDevices[index].c_str();
00709                         return deviceName;
00710                 }
00711                 return "";
00712         }
00713
00714         unsigned int cAudioManager::getAvailableDeviceCount()
00715         {
00716                 cAudioMutexBasicLock lock(Mutex);
00717                 return AvailableDevices.size();
00718         }
00719
00720         const char* cAudioManager::getDefaultDeviceName()
00721         {
00722                 cAudioMutexBasicLock lock(Mutex);
00723                 return DefaultDevice.empty() ? "" : DefaultDevice.c_str();
00724         }
00725
00726         CAUDIO_API IAudioManager* createAudioManager(bool initializeDefault)
00727         {
00728                 cAudioManager* manager = CAUDIO_NEW cAudioManager;
00729                 if(manager)
00730                 {
00731                         if(initializeDefault)
00732                                 manager->initialize();
00733
00734                         manager->getAvailableDevices();
00735
00736 #ifdef CAUDIO_COMPILE_WITH_OGG_DECODER
00737                         manager->registerAudioDecoder(&OggDecoderFactory, "ogg");
00738 #endif
00739 #ifdef CAUDIO_COMPILE_WITH_WAV_DECODER
00740                         manager->registerAudioDecoder(&WavDecoderFactory, "wav");
00741 #endif
00742
00743                         manager->registerAudioDecoder(&RawDecoderFactory, "raw");
00744
00745 #ifdef CAUDIO_COMPILE_WITH_FILE_SOURCE
00746                         manager->registerDataSource(&FileSourceFactory, "FileSystem", 0);
00747 #endif
00748
00749 #ifdef CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
00750                         cAudioVector<IAudioPlugin*>::Type plugins = cPluginManager::Instance()->getPluginList();
00751                         for(unsigned int i = 0; i < plugins.size(); ++i)
00752                         {
00753                                 plugins[i]->onCreateAudioManager(manager);
00754                         }
00755 #endif
00756
00757 #ifdef CAUDIO_USE_INTERNAL_THREAD
00758                         AudioManagerObjectsMutex.lock();
00759                         AudioManagerObjects.insert(manager);
00760
00761                         //First time launch of thread
00762                         if(!RunAudioManagerThread && AudioManagerObjects.size() > 0)
00763                                 RunAudioManagerThread = (cAudioThread::SpawnThread(AudioManagerUpdateThread, NULL) == 0);
00764                         AudioManagerObjectsMutex.unlock();
00765 #endif
00766                 }
00767                 return manager;
00768         }
00769
00770         CAUDIO_API void destroyAudioManager(IAudioManager* manager)
00771         {
00772                 if(manager)
00773                 {
00774 #ifdef CAUDIO_USE_INTERNAL_THREAD
00775                         AudioManagerObjectsMutex.lock();
00776                         AudioManagerObjects.erase(manager);
00777
00778                         //Kill the thread if there are no objects to process anymore
00779                         if(RunAudioManagerThread && AudioManagerObjects.empty())
00780                                 RunAudioManagerThread = false;
00781                         AudioManagerObjectsMutex.unlock();
00782 #endif
00783
00784 #ifdef CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
00785                         cAudioVector<IAudioPlugin*>::Type plugins = cPluginManager::Instance()->getPluginList();
00786                         for(unsigned int i = 0; i < plugins.size(); ++i)
00787                         {
00788                                 plugins[i]->onDestroyAudioManager(manager);
00789                         }
00790 #endif
00791
00792                         manager->unRegisterAllAudioDecoders();
00793                         manager->unRegisterAllDataSources();
00794                         manager->unRegisterAllEventHandlers();
00795                         manager->shutDown();
00796
00797                         CAUDIO_DELETE manager;
00798                         manager = NULL;
00799                 }
00800         }
00801
00802         CAUDIO_API bool isAudioManagerThreadRunning()
00803         {
00804                 return RunAudioManagerThread;
00805         }
00806
00807 };
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cAudioManager.h Source File

  • File List
Headers

cAudioManager.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CAUDIOMANAGER_H_INCLUDED
00006 #define CAUDIOMANAGER_H_INCLUDED
00007
00008 #include "cAudioSource.h"
00009 #include "../include/IAudioDecoderFactory.h"
00010 #include "cListener.h"
00011 #include "../include/IAudioManager.h"
00012 #include "../Headers/cMutex.h"
00013 #include "../Headers/cAudioEffects.h"
00014 #include "../Headers/cMemoryOverride.h"
00015 #include "../Headers/cSTLAllocator.h"
00016
00017 #include <AL/al.h>
00018 #include <AL/alc.h>
00019
00020 #ifdef CAUDIO_PLATFORM_LINUX
00021 #include <AL/alext.h>
00022 #endif
00023
00024 namespace cAudio
00025 {
00026         class IAudioSource;
00027
00028     class cAudioManager : public IAudioManager, public cMemoryOverride
00029     {
00030     public:
00031                 enum Events{
00032                         ON_INIT,
00033                         ON_UPDATE,
00034                         ON_RELEASE,
00035                         ON_SOURCECREATE,
00036                         ON_DECODERREGISTER,
00037                         ON_DATASOURCEREGISTER,
00038                 };
00039
00040                 cAudioManager() : Device(NULL), Context(NULL), EFXSupported(false), Initialized(false) { }
00041                 virtual ~cAudioManager() { }
00042
00043                 virtual bool initialize(const char* deviceName = 0x0, int outputFrequency = -1, int eaxEffectSlots = 4);
00044                 virtual void shutDown();
00045                 virtual void update();
00046                 virtual IAudioSource* getSoundByName(const char* name);
00047                 virtual void releaseAllSources();
00048                 virtual void release(IAudioSource* source);
00049
00050                 virtual const char* getAvailableDeviceName(unsigned int index);
00051                 virtual unsigned int getAvailableDeviceCount();
00052                 virtual const char* getDefaultDeviceName();
00053
00054                 virtual IAudioSource* create(const char* name, const char* filename, bool stream = false);
00055                 virtual IAudioSource* createFromMemory(const char* name, const char* data, size_t length, const char* extension);
00056                 virtual IAudioSource* createFromRaw(const char* name, const char* data, size_t length, unsigned int frequency, AudioFormats format);
00057
00058                 virtual bool registerAudioDecoder(IAudioDecoderFactory* factory, const char* extension);
00059                 virtual void unRegisterAudioDecoder(const char* extension);
00060                 virtual bool isAudioDecoderRegistered(const char* extension);
00061                 virtual IAudioDecoderFactory* getAudioDecoderFactory(const char* extension);
00062                 virtual void unRegisterAllAudioDecoders();
00063
00064                 virtual bool registerDataSource(IDataSourceFactory* factory, const char* name, int priority);
00065                 virtual void unRegisterDataSource(const char* name);
00066                 virtual bool isDataSourceRegistered(const char* name);
00067                 virtual IDataSourceFactory* getDataSourceFactory(const char* name);
00068                 virtual void unRegisterAllDataSources();
00069
00070                 virtual void registerEventHandler(IManagerEventHandler* handler);
00071                 virtual void unRegisterEventHandler(IManagerEventHandler* handler) ;
00072                 virtual void unRegisterAllEventHandlers();
00073
00075                 void getAvailableDevices();
00076
00077                 virtual IListener* getListener() { return &initlistener; }
00078
00079 #ifdef CAUDIO_EFX_ENABLED
00080                 virtual IAudioEffects* getEffects() { return &initEffects; }
00081 #endif
00082
00083         private:
00085                 cAudioMutex Mutex;
00086
00088                 ALCcontext* Context;
00090                 ALCdevice* Device;
00091
00093                 bool EFXSupported;
00094
00096                 bool Initialized;
00097
00099                 cAudioMap<cAudioString, IAudioSource*>::Type audioIndex;
00100                 typedef cAudioMap<cAudioString, IAudioSource*>::Type::iterator audioIndexIterator;
00102                 cAudioVector<IAudioSource*>::Type audioSources;
00104                 cAudioMap<cAudioString, IAudioDecoderFactory*>::Type decodermap;
00105                 typedef cAudioMap<cAudioString, IAudioDecoderFactory*>::Type::iterator decodermapIterator;
00107                 cAudioMap<cAudioString, IDataSourceFactory*>::Type datasourcemap;
00108                 typedef cAudioMap<cAudioString, IDataSourceFactory*>::Type::iterator datasourcemapIterator;
00109                 cAudioVector< std::pair<int, cAudioString> >::Type dataSourcePriorityList;
00110
00112                 cListener initlistener;
00113 #ifdef CAUDIO_EFX_ENABLED
00115                 cAudioEffects initEffects;
00116 #endif
00118                 bool checkError();
00119
00120                 cAudioVector<cAudioString>::Type AvailableDevices;
00121                 cAudioString DefaultDevice;
00122
00124                 void signalEvent(Events sevent);
00125
00127                 cAudioList<IManagerEventHandler*>::Type eventHandlerList;
00128     };
00129 }
00130
00131 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cAudioMemory.cpp Source File

  • File List
Source

cAudioMemory.cpp

00001 #include "../include/cAudioMemory.h"
00002 #include "../Headers/cStandardMemoryProvider.h"
00003
00004 namespace cAudio
00005 {
00006         CAUDIO_API IMemoryProvider* getMemoryProvider()
00007         {
00008 #ifdef CAUDIO_MEMORY_USE_STD
00009                 static cStandardMemoryProvider memoryProvider;
00010 #endif
00011                 //To use your own memory provider, add it in here and set its name to memoryProvider
00012
00013                 return &memoryProvider;
00014         }
00015 };
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/cAudioMemory.h Source File

  • File List
include

cAudioMemory.h

00001 #ifndef CAUDIOMEMORY_H_INCLUDED
00002 #define CAUDIOMEMORY_H_INCLUDED
00003
00004 #include "cAudioDefines.h"
00005 #include "IMemoryProvider.h"
00006
00007 #ifdef CAUDIO_DEBUG
00008         #define CAUDIO_NEW new (__FILE__, __LINE__, __FUNCTION__)
00009         #define CAUDIO_DELETE delete
00010         #define CAUDIO_MALLOC(size) cAudio::getMemoryProvider()->Allocate(size, __FILE__, __LINE__, __FUNCTION__)
00011         #define CAUDIO_FREE(pointer) cAudio::getMemoryProvider()->Free((void*)pointer)
00012 #else
00013         #define CAUDIO_NEW new
00014         #define CAUDIO_DELETE delete
00015         #define CAUDIO_MALLOC(size) cAudio::getMemoryProvider()->Allocate(size, NULL, -1, NULL)
00016         #define CAUDIO_FREE(pointer) cAudio::getMemoryProvider()->Free((void*)pointer)
00017 #endif
00018
00019 namespace cAudio
00020 {
00022
00024         CAUDIO_API IMemoryProvider* getMemoryProvider();
00025 };
00026
00027 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/cAudioPlatform.h Source File

  • File List
include

cAudioPlatform.h

00001 #ifndef CAUDIOPLATFORM_H_INCLUDED
00002 #define CAUDIOPLATFORM_H_INCLUDED
00003
00004 #if !defined( CAUDIO_PLATFORM_WIN )
00005 #       if defined( WIN32 ) || defined( _WINDOWS ) || defined(_WIN32)
00006 #               define CAUDIO_PLATFORM_WIN
00007 #       endif
00008 #endif
00009
00010 #if !defined( CAUDIO_PLATFORM_MAC ) || !defined( CAUDIO_PLATFORM_IPHONE )
00011 #   if defined( __APPLE__ ) || defined( __APPLE_CC__ ) || defined( MACOSX )
00012 #               if __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 30000 || __IPHONE_OS_VERSION_MIN_REQUIRED >= 30000
00013 #                       define CAUDIO_PLATFORM_IPHONE
00014 #               else
00015 #                       define CAUDIO_PLATFORM_MAC
00016 #               endif
00017 #   endif
00018 #endif
00019
00020 #if !defined( CAUDIO_PLATFORM_LINUX )
00021 #       if defined(_UNIX) || defined(__linux)
00022 #               define CAUDIO_PLATFORM_LINUX
00023 #       endif
00024 #endif
00025
00026 #ifndef CAUDIO_COMPILIER_GCC
00027 #       if defined(__GNUC__) || defined(__GCCXML__)
00028 #               define CAUDIO_COMPILIER_GCC
00029 #       endif
00030 #endif
00031
00032 #ifndef CAUDIO_COMPILIER_MSVC
00033 #       if defined(_MSC_VER)
00034 #               if _MSC_VER >= 1400
00035 #                       define CAUDIO_COMPILIER_MSVC
00036 #               else
00037 #                       error This version of the MSVC compilier is not supported
00038 #               endif
00039 #       endif
00040 #endif
00041
00042 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cAudioSleep.cpp Source File

  • File List
Source

cAudioSleep.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../include/cAudioPlatform.h"
00006
00007 #ifdef CAUDIO_PLATFORM_WIN
00008 #include <windows.h>    //Basic windows include for Sleep();
00009 #else
00010 #include <unistd.h>             //Assumed linux system, include for usleep()
00011 #include <time.h>
00012 #endif                                  //If you need to support another platform, simply add a define for it
00013
00014 #include "../include/cAudioSleep.h"
00015
00016 namespace cAudio
00017 {
00018
00019 void cAudioSleep(unsigned int ms)
00020 {
00021 #ifdef CAUDIO_PLATFORM_WIN
00022         Sleep(ms);
00023 #else
00024         usleep(ms*1000); //convert from milliseconds to microseconds
00025 #endif
00026 }
00027
00028 };
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/cAudioSleep.h Source File

  • File List
include

cAudioSleep.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CAUDIOSLEEP_H
00006 #define CAUDIOSLEEP_H
00007
00008 #include "cAudioDefines.h"
00009
00010 namespace cAudio
00011 {
00013
00014         CAUDIO_API void cAudioSleep(unsigned int ms);
00015 };
00016
00017 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cAudioSource.cpp Source File

  • File List
Source

cAudioSource.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cAudioSource.h"
00006 #include "../Headers/cLogger.h"
00007 #include "../Headers/cFilter.h"
00008 #include "../Headers/cEffect.h"
00009
00010 #include <string.h>
00011
00012 namespace cAudio
00013 {
00014 #ifdef CAUDIO_EFX_ENABLED
00015     cAudioSource::cAudioSource(IAudioDecoder* decoder, ALCcontext* context, cEFXFunctions* oALFunctions)
00016                 : Context(context), Source(0), Decoder(decoder), Loop(false), Valid(false),
00017                 EFX(oALFunctions), Filter(NULL), EffectSlotsAvailable(0), LastFilterTimeStamp(0)
00018 #else
00019         cAudioSource::cAudioSource(IAudioDecoder* decoder, ALCcontext* context)
00020                 : Context(context), Source(0), Decoder(decoder), Loop(false), Valid(false)
00021 #endif
00022     {
00023                 cAudioMutexBasicLock lock(Mutex);
00024
00025                 for(int i=0; i<CAUDIO_SOURCE_NUM_BUFFERS; ++i)
00026                         Buffers[i] = 0;
00027
00028 #ifdef CAUDIO_EFX_ENABLED
00029                 for(int i=0; i<CAUDIO_SOURCE_MAX_EFFECT_SLOTS; ++i)
00030                         Effects[i] = NULL;
00031
00032                 for(int i=0; i<CAUDIO_SOURCE_MAX_EFFECT_SLOTS; ++i)
00033                         LastEffectTimeStamp[i] = 0;
00034 #endif
00035
00036                 if(Decoder)
00037                         Decoder->grab();
00038
00039                 //Generates 3 buffers for the ogg file
00040                 alGenBuffers(CAUDIO_SOURCE_NUM_BUFFERS, Buffers);
00041                 bool state = !checkError();
00042                 if(state)
00043                 {
00044                         //Creates one source to be stored.
00045                         alGenSources(1, &Source);
00046                         state = !checkError();
00047                 }
00048 #ifdef CAUDIO_EFX_ENABLED
00049                 Valid = state && (Decoder != NULL) && (Context != NULL) && (EFX != NULL);
00050 #else
00051                 Valid = state && (Decoder != NULL) && (Context != NULL);
00052 #endif
00053
00054 #ifdef CAUDIO_EFX_ENABLED
00055                 int numSlots = 0;
00056                 ALCdevice* device = alcGetContextsDevice(Context);
00057                 alcGetIntegerv(device, ALC_MAX_AUXILIARY_SENDS, 1, &numSlots);
00058
00059                 EffectSlotsAvailable = (numSlots <= CAUDIO_SOURCE_MAX_EFFECT_SLOTS) ? numSlots : CAUDIO_SOURCE_MAX_EFFECT_SLOTS;
00060 #endif
00061
00062     }
00063
00064     cAudioSource::~cAudioSource()
00065     {
00066                 cAudioMutexBasicLock lock(Mutex);
00067                 if(Decoder)
00068                         Decoder->drop();
00069
00070 #ifdef CAUDIO_EFX_ENABLED
00071                 for(int i=0; i<CAUDIO_SOURCE_MAX_EFFECT_SLOTS; ++i)
00072                 {
00073                         if(Effects[i])
00074                                 Effects[i]->drop();
00075                         Effects[i] = NULL;
00076                 }
00077
00078                 if(Filter)
00079                         Filter->drop();
00080                 Filter = NULL;
00081 #endif
00082                 unRegisterAllEventHandlers();
00083     }
00084
00085         bool cAudioSource::play()
00086         {
00087                 cAudioMutexBasicLock lock(Mutex);
00088                 if (!isPaused())
00089         {
00090             int queueSize = 0;
00091                         //Purges all buffers from the source
00092                         alSourcei(Source, AL_BUFFER, 0);
00093                         checkError();
00094             for(int u = 0; u < CAUDIO_SOURCE_NUM_BUFFERS; u++)
00095             {
00096                 int val = stream(Buffers[u]);
00097
00098                 if(val < 0)
00099                 {
00100                     return false;
00101                 }
00102                 else if(val > 0)
00103                     ++queueSize;
00104             }
00105             //Stores the sources 3 buffers to be used in the queue
00106             alSourceQueueBuffers(Source, queueSize, Buffers);
00107                         checkError();
00108         }
00109 #ifdef CAUDIO_EFX_ENABLED
00110                 updateFilter();
00111                 for(unsigned int i=0; i<CAUDIO_SOURCE_MAX_EFFECT_SLOTS; ++i)
00112                         updateEffect(i);
00113 #endif
00114         alSourcePlay(Source);
00115                 checkError();
00116                 getLogger()->logDebug("Audio Source", "Source playing.");
00117                 signalEvent(ON_PLAY);
00118                 oldState = AL_PLAYING;
00119         return true;
00120     }
00121
00122         bool cAudioSource::play2d(const bool& toLoop)
00123         {
00124                 cAudioMutexBasicLock lock(Mutex);
00125         alSourcei(Source, AL_SOURCE_RELATIVE, true);
00126         loop(toLoop);
00127         bool state = play();
00128                 checkError();
00129                 return state;
00130     }
00131
00132         bool cAudioSource::play3d(const cVector3& position, const float& soundstr, const bool& toLoop)
00133         {
00134                 cAudioMutexBasicLock lock(Mutex);
00135         alSourcei(Source, AL_SOURCE_RELATIVE, false);
00136         setPosition(position);
00137         setStrength(soundstr);
00138         loop(toLoop);
00139         bool state = play();
00140                 checkError();
00141                 return state;
00142     }
00143
00144         void cAudioSource::pause()
00145         {
00146                 cAudioMutexBasicLock lock(Mutex);
00147         alSourcePause(Source);
00148                 checkError();
00149                 getLogger()->logDebug("Audio Source", "Source paused.");
00150                 signalEvent(ON_PAUSE);
00151                 oldState = AL_PAUSED;
00152     }
00153
00154         void cAudioSource::stop()
00155         {
00156                 cAudioMutexBasicLock lock(Mutex);
00157         alSourceStop(Source);
00158                 //Resets the audio to the beginning
00159                 Decoder->setPosition(0, false);
00160                 checkError();
00161                 getLogger()->logDebug("Audio Source", "Source stopped.");
00162                 signalEvent(ON_STOP);
00163                 oldState = AL_STOPPED;
00164     }
00165
00166         void cAudioSource::loop(const bool& loop)
00167         {
00168                 cAudioMutexBasicLock lock(Mutex);
00169         Loop = loop;
00170     }
00171
00172         bool cAudioSource::seek(const float& seconds, bool relative)
00173         {
00174                 bool state = false;
00175                 cAudioMutexBasicLock lock(Mutex);
00176         if(Decoder->isSeekingSupported())
00177         {
00178                         state = Decoder->seek(seconds, relative);
00179         }
00180                 return state;
00181     }
00182
00183         float cAudioSource::getTotalAudioTime()
00184         {
00185                 return Decoder->getTotalTime();
00186         }
00187
00188         int cAudioSource::getTotalAudioSize()
00189         {
00190                 return Decoder->getTotalSize();
00191         }
00192
00193         int cAudioSource::getCompressedAudioSize()
00194         {
00195                 return Decoder->getCompressedSize();
00196         }
00197
00198         float cAudioSource::getCurrentAudioTime()
00199         {
00200                 return Decoder->getCurrentTime();
00201         }
00202
00203         int cAudioSource::getCurrentAudioPosition()
00204         {
00205                 return Decoder->getCurrentPosition();
00206         }
00207
00208         int cAudioSource::getCurrentCompressedAudioPosition()
00209         {
00210                 return Decoder->getCurrentCompressedPosition();
00211         }
00212
00213         bool cAudioSource::update()
00214         {
00215                 cAudioMutexBasicLock lock(Mutex);
00216
00217                 int processed = 0;
00218                 bool active = true;
00219         if(isValid() || isPlaying())
00220                 {
00221 #ifdef CAUDIO_EFX_ENABLED
00222                         updateFilter();
00223                         for(unsigned int i=0; i<CAUDIO_SOURCE_MAX_EFFECT_SLOTS; ++i)
00224                                 updateEffect(i);
00225 #endif
00226
00227                         //gets the sound source processed buffers
00228                         alGetSourcei(Source, AL_BUFFERS_PROCESSED, &processed);
00229
00230                         //while there is more data refill buffers with audio data.
00231                         while (processed--)
00232                         {
00233                                 ALuint buffer;
00234                                 alSourceUnqueueBuffers(Source, 1, &buffer);
00235                                 active = stream(buffer);
00236
00237                                 //if more in stream continue playing.
00238                                 if(active)
00239                                 {
00240                                         alSourceQueueBuffers(Source, 1, &buffer);
00241                                 }
00242
00243                                 checkError();
00244                         }
00245
00246                         signalEvent(ON_UPDATE);
00247                 }
00248
00249                 ALenum state;
00250                 alGetSourcei(Source, AL_SOURCE_STATE, &state);
00251                 if(state == AL_STOPPED && oldState != state)
00252                 {
00253                         //Resets the audio to the beginning
00254                         Decoder->setPosition(0, false);
00255                         getLogger()->logDebug("Audio Source", "Source stopped.");
00256                         signalEvent(ON_STOP);
00257                         oldState = state;
00258                 }
00259
00260                 return active;
00261     }
00262
00263         void cAudioSource::release()
00264     {
00265                 cAudioMutexBasicLock lock(Mutex);
00266                 //Stops the audio Source
00267                 alSourceStop(Source);
00268                 empty();
00269                 //Deletes the source
00270                 alDeleteSources(1, &Source);
00271                 //deletes the last filled buffer
00272                 alDeleteBuffers(CAUDIO_SOURCE_NUM_BUFFERS, Buffers);
00273                 checkError();
00274                 getLogger()->logDebug("Audio Source", "Audio source released.");
00275                 signalEvent(ON_RELEASE);
00276     }
00277
00278         const bool cAudioSource::isValid() const
00279         {
00280         return Valid;
00281         }
00282
00283         const bool cAudioSource::isPlaying() const
00284         {
00285                 ALenum state = 0;
00286         alGetSourcei(Source, AL_SOURCE_STATE, &state);
00287         return (state == AL_PLAYING);
00288     }
00289
00290         const bool cAudioSource::isPaused() const
00291         {
00292                 ALenum state = 0;
00293         alGetSourcei(Source, AL_SOURCE_STATE, &state);
00294         return (state == AL_PAUSED);
00295     }
00296
00297         const bool cAudioSource::isStopped() const
00298         {
00299                 ALenum state = 0;
00300         alGetSourcei(Source, AL_SOURCE_STATE, &state);
00301                 return (state == AL_STOPPED);
00302     }
00303
00304         const bool cAudioSource::isLooping() const
00305         {
00306                 return Loop;
00307         }
00308
00309         void cAudioSource::setPosition(const cVector3& position)
00310         {
00311                 cAudioMutexBasicLock lock(Mutex);
00312         alSource3f(Source, AL_POSITION, position.x, position.y, position.z);
00313                 checkError();
00314     }
00315
00316         void cAudioSource::setVelocity(const cVector3& velocity)
00317         {
00318                 cAudioMutexBasicLock lock(Mutex);
00319         alSource3f(Source, AL_VELOCITY, velocity.x, velocity.y, velocity.z);
00320                 checkError();
00321     }
00322
00323         void cAudioSource::setDirection(const cVector3& direction)
00324         {
00325                 cAudioMutexBasicLock lock(Mutex);
00326         alSource3f(Source, AL_DIRECTION, direction.x, direction.y, direction.z);
00327                 checkError();
00328     }
00329
00330         void cAudioSource::setRolloffFactor(const float& rolloff)
00331         {
00332                 cAudioMutexBasicLock lock(Mutex);
00333         alSourcef(Source, AL_ROLLOFF_FACTOR, rolloff);
00334                 checkError();
00335     }
00336
00337         void cAudioSource::setStrength(const float& soundstrength)
00338         {
00339                 float inverseStrength = 0.0f;
00340                 if(soundstrength > 0.0f)
00341                         inverseStrength = 1.0f / soundstrength;
00342
00343                 cAudioMutexBasicLock lock(Mutex);
00344         alSourcef(Source, AL_ROLLOFF_FACTOR, inverseStrength);
00345                 checkError();
00346     }
00347
00348         void cAudioSource::setMinDistance(const float& minDistance)
00349         {
00350                 cAudioMutexBasicLock lock(Mutex);
00351         alSourcef(Source, AL_REFERENCE_DISTANCE, minDistance);
00352                 checkError();
00353         }
00354
00355         void cAudioSource::setMaxDistance(const float& maxDistance)
00356         {
00357                 cAudioMutexBasicLock lock(Mutex);
00358         alSourcef(Source, AL_MAX_DISTANCE, maxDistance);
00359                 checkError();
00360         }
00361
00362         void cAudioSource::setPitch(const float& pitch)
00363         {
00364                 cAudioMutexBasicLock lock(Mutex);
00365         alSourcef (Source, AL_PITCH, pitch);
00366                 checkError();
00367     }
00368
00369         void cAudioSource::setVolume(const float& volume)
00370         {
00371                 cAudioMutexBasicLock lock(Mutex);
00372         alSourcef(Source, AL_GAIN, volume);
00373                 checkError();
00374     }
00375
00376         void cAudioSource::setMinVolume(const float& minVolume)
00377         {
00378                 cAudioMutexBasicLock lock(Mutex);
00379         alSourcef(Source, AL_MIN_GAIN, minVolume);
00380                 checkError();
00381         }
00382
00383         void cAudioSource::setMaxVolume(const float& maxVolume)
00384         {
00385                 cAudioMutexBasicLock lock(Mutex);
00386         alSourcef(Source, AL_MAX_GAIN, maxVolume);
00387                 checkError();
00388         }
00389
00390         void cAudioSource::setInnerConeAngle(const float& innerAngle)
00391         {
00392                 cAudioMutexBasicLock lock(Mutex);
00393         alSourcef(Source, AL_CONE_INNER_ANGLE, innerAngle);
00394                 checkError();
00395         }
00396
00397         void cAudioSource::setOuterConeAngle(const float& outerAngle)
00398         {
00399                 cAudioMutexBasicLock lock(Mutex);
00400         alSourcef(Source, AL_CONE_OUTER_ANGLE, outerAngle);
00401                 checkError();
00402         }
00403
00404         void cAudioSource::setOuterConeVolume(const float& outerVolume)
00405         {
00406                 cAudioMutexBasicLock lock(Mutex);
00407         alSourcef(Source, AL_CONE_OUTER_GAIN, outerVolume);
00408                 checkError();
00409         }
00410
00411         void cAudioSource::setDopplerStrength(const float& dstrength)
00412         {
00413                 cAudioMutexBasicLock lock(Mutex);
00414         alSourcef(Source, AL_DOPPLER_FACTOR, dstrength);
00415                 checkError();
00416     }
00417
00418         void cAudioSource::setDopplerVelocity(const cVector3& dvelocity)
00419         {
00420                 cAudioMutexBasicLock lock(Mutex);
00421         alSource3f(Source, AL_DOPPLER_VELOCITY, dvelocity.x, dvelocity.y, dvelocity.z);
00422                 checkError();
00423     }
00424
00425         void cAudioSource::move(const cVector3& position)
00426         {
00427                 cAudioMutexBasicLock lock(Mutex);
00428                 cVector3 oldPos = getPosition();
00429                 cVector3 velocity = position - oldPos;
00430
00431         alSource3f(Source, AL_VELOCITY, velocity.x, velocity.y, velocity.z);
00432                 alSource3f(Source, AL_POSITION, position.x, position.y, position.z);
00433                 checkError();
00434         }
00435
00436         const cVector3 cAudioSource::getPosition() const
00437         {
00438                 cVector3 position;
00439                 alGetSourcefv(Source, AL_POSITION, &position.x);
00440                 return position;
00441         }
00442
00443         const cVector3 cAudioSource::getVelocity() const
00444         {
00445                 cVector3 velocity;
00446                 alGetSourcefv(Source, AL_VELOCITY, &velocity.x);
00447                 return velocity;
00448         }
00449
00450         const cVector3 cAudioSource::getDirection() const
00451         {
00452                 cVector3 direction;
00453                 alGetSourcefv(Source, AL_DIRECTION, &direction.x);
00454                 return direction;
00455         }
00456
00457         const float cAudioSource::getRolloffFactor() const
00458         {
00459                 float value = 0.0f;
00460                 alGetSourcef(Source, AL_ROLLOFF_FACTOR, &value);
00461                 return value;
00462         }
00463
00464         const float cAudioSource::getStrength() const
00465         {
00466                 float value = 0.0f;
00467                 alGetSourcef(Source, AL_ROLLOFF_FACTOR, &value);
00468
00469                 float inverseStrength = 0.0f;
00470                 if(value > 0.0f)
00471                         inverseStrength = 1.0f / value;
00472
00473                 return inverseStrength;
00474         }
00475
00476         const float cAudioSource::getMinDistance() const
00477         {
00478                 float value = 0.0f;
00479                 alGetSourcef(Source, AL_REFERENCE_DISTANCE, &value);
00480                 return value;
00481         }
00482
00483         const float cAudioSource::getMaxDistance() const
00484         {
00485                 float value = 0.0f;
00486                 alGetSourcef(Source, AL_MAX_DISTANCE, &value);
00487                 return value;
00488         }
00489
00490         const float cAudioSource::getPitch() const
00491         {
00492                 float value = 0.0f;
00493                 alGetSourcef(Source, AL_PITCH, &value);
00494                 return value;
00495         }
00496
00497         const float cAudioSource::getVolume() const
00498         {
00499                 float value = 0.0f;
00500                 alGetSourcef(Source, AL_GAIN, &value);
00501                 return value;
00502         }
00503
00504         const float cAudioSource::getMinVolume() const
00505         {
00506                 float value = 0.0f;
00507                 alGetSourcef(Source, AL_MIN_GAIN, &value);
00508                 return value;
00509         }
00510
00511         const float cAudioSource::getMaxVolume() const
00512         {
00513                 float value = 0.0f;
00514                 alGetSourcef(Source, AL_MAX_GAIN, &value);
00515                 return value;
00516         }
00517
00518         const float cAudioSource::getInnerConeAngle() const
00519         {
00520                 float value = 0.0f;
00521                 alGetSourcef(Source, AL_CONE_INNER_ANGLE, &value);
00522                 return value;
00523         }
00524
00525         const float cAudioSource::getOuterConeAngle() const
00526         {
00527                 float value = 0.0f;
00528                 alGetSourcef(Source, AL_CONE_OUTER_ANGLE, &value);
00529                 return value;
00530         }
00531
00532         const float cAudioSource::getOuterConeVolume() const
00533         {
00534                 float value = 0.0f;
00535                 alGetSourcef(Source, AL_CONE_OUTER_GAIN, &value);
00536                 return value;
00537         }
00538
00539         const float cAudioSource::getDopplerStrength() const
00540         {
00541                 float value = 0.0f;
00542                 alGetSourcef(Source, AL_DOPPLER_FACTOR, &value);
00543                 return value;
00544         }
00545
00546         const cVector3 cAudioSource::getDopplerVelocity() const
00547         {
00548                 cVector3 velocity;
00549                 alGetSourcefv(Source, AL_DOPPLER_VELOCITY, &velocity.x);
00550                 return velocity;
00551         }
00552
00553 #ifdef CAUDIO_EFX_ENABLED
00554         unsigned int cAudioSource::getNumEffectSlotsAvailable() const
00555         {
00556                 return EffectSlotsAvailable;
00557         }
00558
00559         bool cAudioSource::attachEffect(unsigned int slot, IEffect* effect)
00560         {
00561                 cAudioMutexBasicLock lock(Mutex);
00562                 if(slot < EffectSlotsAvailable)
00563                 {
00564                         Effects[slot] = effect;
00565
00566                         if(Effects[slot])
00567                                 Effects[slot]->grab();
00568
00569                         updateEffect(slot);
00570                         return true;
00571                 }
00572                 return false;
00573         }
00574
00575         void cAudioSource::removeEffect(unsigned int slot)
00576         {
00577                 cAudioMutexBasicLock lock(Mutex);
00578                 if(slot < EffectSlotsAvailable)
00579                 {
00580                         if(Effects[slot])
00581                                 Effects[slot]->drop();
00582
00583                         Effects[slot] = NULL;
00584                         LastEffectTimeStamp[slot] = 0;
00585                         updateEffect(slot, true);
00586                 }
00587         }
00588
00589         bool cAudioSource::attachFilter(IFilter* filter)
00590         {
00591                 cAudioMutexBasicLock lock(Mutex);
00592                 Filter = filter;
00593
00594                 if(Filter)
00595                         Filter->grab();
00596
00597                 updateFilter();
00598                 return true;
00599         }
00600
00601         void cAudioSource::removeFilter()
00602         {
00603                 cAudioMutexBasicLock lock(Mutex);
00604                 if(Filter)
00605                         Filter->drop();
00606                 Filter = NULL;
00607                 LastFilterTimeStamp = 0;
00608                 updateFilter(true);
00609         }
00610 #endif
00611
00612     void cAudioSource::empty()
00613     {
00614         int queued = 0;
00615         alGetSourcei(Source, AL_BUFFERS_QUEUED, &queued);
00616
00617         while (queued--)
00618         {
00619             ALuint buffer;
00620             alSourceUnqueueBuffers(Source, 1, &buffer);
00621                         checkError();
00622         }
00623     }
00624
00625         bool cAudioSource::checkError()
00626     {
00627         int error = alGetError();
00628                 const char* errorString;
00629
00630         if (error != AL_NO_ERROR)
00631         {
00632                         errorString = alGetString(error);
00633                         if(error == AL_OUT_OF_MEMORY)
00634                                 getLogger()->logCritical("Audio Source", "OpenAL Error: %s.", errorString);
00635                         else
00636                                 getLogger()->logError("Audio Source", "OpenAL Error: %s.", errorString);
00637                         return true;
00638         }
00639                 return false;
00640     }
00641
00642     bool cAudioSource::stream(ALuint buffer)
00643     {
00644         if(Decoder)
00645         {
00646                 //stores the caculated data into buffer that is passed to output.
00647                         size_t totalread = 0;
00648                         unsigned int errorcount = 0;
00649                 char tempbuffer[CAUDIO_SOURCE_BUFFER_SIZE];
00650                         while( totalread < CAUDIO_SOURCE_BUFFER_SIZE )
00651                         {
00652                                 char tempbuffer2[CAUDIO_SOURCE_BUFFER_SIZE];
00653                                 int actualread = Decoder->readAudioData(tempbuffer2, CAUDIO_SOURCE_BUFFER_SIZE-totalread);
00654                                 if(actualread > 0)
00655                                 {
00656                                         memcpy(tempbuffer+totalread,tempbuffer2,actualread);
00657                                         totalread += actualread;
00658                                 }
00659                                 if(actualread < 0)
00660                                 {
00661                                         ++errorcount;
00662                                         getLogger()->logDebug("Audio Source", "Decoder returned an error: %i (%i of 3)", actualread, errorcount);
00663                                         if(errorcount >= 3)
00664                                         {
00665                                                 stop();
00666                                                 break;
00667                                         }
00668                                 }
00669                                 if(actualread == 0)
00670                                 {
00671                                         if(isLooping())
00672                                         {
00673                                                 //If we are to loop, set to the beginning and reload from the start
00674                                                 Decoder->setPosition(0, false);
00675                                                 getLogger()->logDebug("Audio Source", "Buffer looping.");
00676                                         }
00677                                         else
00678                                                 break;
00679                                 }
00680                         }
00681
00682                 //Second check, in case looping is not enabled, we will return false for end of stream
00683                 if(totalread == 0)
00684                 {
00685                         return false;
00686                 }
00687                         getLogger()->logDebug("Audio Source", "Buffered %i bytes of data into buffer %i at %i hz.", totalread, buffer, Decoder->getFrequency());
00688             alBufferData(buffer, convertAudioFormatEnum(Decoder->getFormat()), tempbuffer, totalread, Decoder->getFrequency());
00689                         checkError();
00690             return true;
00691         }
00692                 return false;
00693     }
00694
00695         ALenum cAudioSource::convertAudioFormatEnum(AudioFormats format)
00696         {
00697                 switch(format)
00698                 {
00699                 case EAF_8BIT_MONO:
00700                         return AL_FORMAT_MONO8;
00701                 case EAF_16BIT_MONO:
00702                         return AL_FORMAT_MONO16;
00703                 case EAF_8BIT_STEREO:
00704                         return AL_FORMAT_STEREO8;
00705                 case EAF_16BIT_STEREO:
00706                         return AL_FORMAT_STEREO16;
00707                 default:
00708                         return AL_FORMAT_MONO8;
00709                 };
00710         }
00711
00712 #ifdef CAUDIO_EFX_ENABLED
00713         void cAudioSource::updateFilter(bool remove)
00714         {
00715                 if(!remove)
00716                 {
00717                         if(Filter && Filter->isValid())
00718                         {
00719                                 if(LastFilterTimeStamp != Filter->getLastUpdated())
00720                                 {
00721                                         LastFilterTimeStamp = Filter->getLastUpdated();
00722                                         cFilter* theFilter = static_cast<cFilter*>(Filter);
00723                                         if(theFilter)
00724                                         {
00725                                                 alSourcei(Source, AL_DIRECT_FILTER, theFilter->getOpenALFilter());
00726                                                 checkError();
00727                                                 return;
00728                                         }
00729                                 }
00730                                 return;
00731                         }
00732                 }
00733                 alSourcei(Source, AL_DIRECT_FILTER, AL_FILTER_NULL);
00734                 checkError();
00735         }
00736
00737         void cAudioSource::updateEffect(unsigned int slot, bool remove)
00738         {
00739                 if(slot < EffectSlotsAvailable)
00740                 {
00741                         if(!remove)
00742                         {
00743                                 if(Effects[slot] && Effects[slot]->isValid())
00744                                 {
00745                                         if(LastEffectTimeStamp[slot] != Effects[slot]->getLastUpdated())
00746                                         {
00747                                                 LastEffectTimeStamp[slot] = Effects[slot]->getLastUpdated();
00748                                                 cEffect* theEffect = static_cast<cEffect*>(Effects[slot]);
00749                                                 if(theEffect)
00750                                                 {
00751                                                         ALuint filterID = AL_FILTER_NULL;
00752                                                         cFilter* theFilter = static_cast<cFilter*>(theEffect->getFilter());
00753                                                         if(theFilter)
00754                                                         {
00755                                                                 filterID = theFilter->getOpenALFilter();
00756                                                         }
00757                                                         alSource3i(Source, AL_AUXILIARY_SEND_FILTER, theEffect->getOpenALEffectSlot(), slot, filterID);
00758                                                         checkError();
00759                                                         return;
00760                                                 }
00761                                         }
00762                                         return;
00763                                 }
00764                         }
00765                         alSource3i(Source, AL_AUXILIARY_SEND_FILTER, AL_EFFECTSLOT_NULL, slot, AL_FILTER_NULL);
00766                         checkError();
00767                 }
00768         }
00769 #endif
00770
00771         void cAudioSource::registerEventHandler(ISourceEventHandler* handler)
00772         {
00773                 if(handler)
00774                 {
00775                         eventHandlerList.push_back(handler);
00776                 }
00777         }
00778
00779         void cAudioSource::unRegisterEventHandler(ISourceEventHandler* handler)
00780         {
00781                 if(handler)
00782                 {
00783                         eventHandlerList.remove(handler);
00784                 }
00785         }
00786
00787         void cAudioSource::unRegisterAllEventHandlers()
00788         {
00789                 eventHandlerList.clear();
00790         }
00791
00792         void cAudioSource::signalEvent(Events sevent)
00793         {
00794                 cAudioMutexBasicLock lock(Mutex);
00795                 cAudioList<ISourceEventHandler*>::Type::iterator it = eventHandlerList.begin();
00796
00797                 if(it != eventHandlerList.end()){
00798
00799                         switch(sevent){
00800
00801                                 case ON_UPDATE:
00802
00803                                         for(it; it != eventHandlerList.end(); it++){
00804                                                 (*it)->onUpdate();
00805                                         }
00806
00807                                         break;
00808
00809                                 case ON_RELEASE:
00810
00811                                         for(it; it != eventHandlerList.end(); it++){
00812                                                 (*it)->onRelease();
00813                                         }
00814
00815                                         break;
00816
00817                                 case ON_PLAY:
00818
00819                                         for(it; it != eventHandlerList.end(); it++){
00820                                                 (*it)->onPlay();
00821                                         }
00822
00823
00824                                         break;
00825
00826                                 case ON_PAUSE:
00827
00828                                         for(it; it != eventHandlerList.end(); it++){
00829                                                 (*it)->onPause();
00830                                         }
00831
00832                                         break;
00833
00834                                 case ON_STOP:
00835
00836                                         for(it; it != eventHandlerList.end(); it++){
00837                                                 (*it)->onStop();
00838                                         }
00839
00840                                         break;
00841                         }
00842                 }
00843         }
00844 }
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cAudioSource.h Source File

  • File List
Headers

cAudioSource.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CAUDIOSOURCE_H_INCLUDED
00006 #define CAUDIOSOURCE_H_INCLUDED
00007 #include <list>
00008 #include <string>
00009 #include <vector>
00010 #include <AL/al.h>
00011 #include <AL/alc.h>
00012
00013 #include "../include/IAudioSource.h"
00014 #include "../include/cVector3.h"
00015 #include "../Headers/cMutex.h"
00016 #include "../include/ILogger.h"
00017 #include "../Headers/cEFXFunctions.h"
00018 #include "../Headers/cMemoryOverride.h"
00019 #include "../Headers/cSTLAllocator.h"
00020
00021 namespace cAudio
00022 {
00023
00024     class cAudioSource : public IAudioSource, public cMemoryOverride
00025     {
00026     public:
00027
00028                 enum Events{
00029                         ON_UPDATE,
00030                         ON_RELEASE,
00031                         ON_PLAY,
00032                         ON_PAUSE,
00033                         ON_STOP,
00034                 };
00035
00036 #ifdef CAUDIO_EFX_ENABLED
00037                 cAudioSource(IAudioDecoder* decoder, ALCcontext* context, cEFXFunctions* oALFunctions);
00038 #else
00039                 cAudioSource(IAudioDecoder* decoder, ALCcontext* context);
00040 #endif
00041                 ~cAudioSource();
00042
00043                 virtual bool play();
00044                 virtual bool play2d(const bool& toLoop = false);
00045                 virtual bool play3d(const cVector3& position, const float& soundstr = 1.0 , const bool& toLoop = false);
00046
00047                 virtual void pause();
00048                 virtual void stop();
00049                 virtual void loop(const bool& toLoop);
00050                 virtual bool seek(const float& seconds, bool relative = false);
00051
00052                 virtual float getTotalAudioTime();
00053                 virtual int getTotalAudioSize();
00054                 virtual int getCompressedAudioSize();
00055
00056                 virtual float getCurrentAudioTime();
00057                 virtual int getCurrentAudioPosition();
00058                 virtual int getCurrentCompressedAudioPosition();
00059
00060                 virtual bool update();
00061                 virtual void release();
00062
00063                 virtual const bool isValid() const;
00064                 virtual const bool isPlaying() const;
00065                 virtual const bool isPaused() const;
00066                 virtual const bool isStopped() const;
00067                 virtual const bool isLooping() const;
00068
00069                 virtual void setPosition(const cVector3& position);
00070                 virtual void setVelocity(const cVector3& velocity);
00071                 virtual void setDirection(const cVector3& direction);
00072
00073                 virtual void setRolloffFactor(const float& rolloff);
00074                 virtual void setStrength(const float& soundstrength);
00075                 virtual void setMinDistance(const float& minDistance);
00076                 virtual void setMaxDistance(const float& maxDistance);
00077
00078                 virtual void setPitch(const float& pitch);
00079                 virtual void setVolume(const float& volume);
00080                 virtual void setMinVolume(const float& minVolume);
00081                 virtual void setMaxVolume(const float& maxVolume);
00082
00083                 virtual void setInnerConeAngle(const float& innerAngle);
00084                 virtual void setOuterConeAngle(const float& outerAngle);
00085                 virtual void setOuterConeVolume(const float& outerVolume);
00086
00087                 virtual void setDopplerStrength(const float& dstrength);
00088                 virtual void setDopplerVelocity(const cVector3& dvelocity);
00089
00090                 virtual void move(const cVector3& position);
00091
00092                 virtual const cVector3 getPosition() const;
00093                 virtual const cVector3 getVelocity() const;
00094                 virtual const cVector3 getDirection() const;
00095
00096                 virtual const float getRolloffFactor() const;
00097                 virtual const float getStrength() const;
00098                 virtual const float getMinDistance() const;
00099                 virtual const float getMaxDistance() const;
00100
00101                 virtual const float getPitch() const;
00102                 virtual const float getVolume() const;
00103                 virtual const float getMinVolume() const;
00104                 virtual const float getMaxVolume() const;
00105
00106                 virtual const float getInnerConeAngle() const;
00107                 virtual const float getOuterConeAngle() const;
00108                 virtual const float getOuterConeVolume() const;
00109
00110                 virtual const float getDopplerStrength() const;
00111                 virtual const cVector3 getDopplerVelocity() const;
00112
00113                 virtual void registerEventHandler(ISourceEventHandler* handler);
00114                 virtual void unRegisterEventHandler(ISourceEventHandler* handler);
00115                 virtual void unRegisterAllEventHandlers();
00116
00117 #ifdef CAUDIO_EFX_ENABLED
00118                 virtual unsigned int getNumEffectSlotsAvailable() const;
00119                 virtual bool attachEffect(unsigned int slot, IEffect* effect);
00120                 virtual void removeEffect(unsigned int slot);
00121
00122                 virtual bool attachFilter(IFilter* filter);
00123                 virtual void removeFilter();
00124 #endif
00125
00126         protected:
00127         private:
00129                 cAudioMutex Mutex;
00131                 void empty();
00133                 bool checkError();
00135                 bool stream(ALuint buffer);
00137                 void signalEvent(Events sevent);
00139                 ALenum convertAudioFormatEnum(AudioFormats format);
00140
00142                 ALCcontext* Context;
00143
00145                 ALuint Buffers[CAUDIO_SOURCE_NUM_BUFFERS];
00147                 ALuint Source;
00148
00149                 ALenum oldState;
00151                 IAudioDecoder* Decoder;
00152
00154                 bool Loop;
00156                 bool Valid;
00157
00159                 cAudioList<ISourceEventHandler*>::Type eventHandlerList;
00160
00161 #ifdef CAUDIO_EFX_ENABLED
00163                 cEFXFunctions* EFX;
00165                 void updateFilter(bool remove = false);
00167                 void updateEffect(unsigned int slot, bool remove = false);
00168
00170                 IEffect* Effects[CAUDIO_SOURCE_MAX_EFFECT_SLOTS];
00172                 unsigned int LastEffectTimeStamp[CAUDIO_SOURCE_MAX_EFFECT_SLOTS];
00173
00175                 IFilter* Filter;
00177                 unsigned int LastFilterTimeStamp;
00178
00180                 unsigned int EffectSlotsAvailable;
00181 #endif
00182     };
00183 };
00184 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cConsoleLogReceiver.cpp Source File

  • File List
Source

cConsoleLogReceiver.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cConsoleLogReceiver.h"
00006
00007 #ifdef CAUDIO_COMPILE_WITH_CONSOLE_LOG_RECEIVER
00008 #include <iostream>
00009
00010 namespace cAudio
00011 {
00012     bool cConsoleLogReceiver::OnLogMessage(const char* sender, const char* message, LogLevel level, float time)
00013         {
00014                 //std::cout << time << " " << sender << ": [" << LogLevelStrings[level] << "] " << message << std::endl;
00015                 std::cout << "[" << LogLevelStrings[level] << "] " << message << std::endl;
00016                 return true;
00017         }
00018 };
00019
00020 #endif
00021
00022
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cConsoleLogReceiver.h Source File

  • File List
Headers

cConsoleLogReceiver.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CCONSOLELOGRECEIVER_H_INCLUDED
00006 #define CCONSOLELOGRECEIVER_H_INCLUDED
00007
00008 #include "../include/ILogReceiver.h"
00009 #include "../include/cAudioDefines.h"
00010
00011 #ifdef CAUDIO_COMPILE_WITH_CONSOLE_LOG_RECEIVER
00012 namespace cAudio
00013 {
00014
00015     class cConsoleLogReceiver : public ILogReceiver
00016     {
00017         public:
00018                         virtual bool OnLogMessage(const char* sender, const char* message, LogLevel level, float time);
00019     };
00020
00021 };
00022 #endif
00023
00024 #endif
00025
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cEFXFunctions.h Source File

  • File List
Headers

cEFXFunctions.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CEFXFUNCTIONS_H
00006 #define CEFXFUNCTIONS_H
00007
00008 #include "../include/cAudioDefines.h"
00009
00010 #ifdef CAUDIO_EFX_ENABLED
00011
00012 #include <AL/al.h>
00013 #include <AL/alc.h>
00014 #include <AL/efx.h>
00015 #include <AL/efx-creative.h>
00016
00017 #include "../Headers/cMutex.h"
00018
00019 //To use EFX in linux.
00020 #ifndef ALC_EXT_EFX
00021 #define AL_FILTER_TYPE                                     0x8001
00022 #define AL_EFFECT_TYPE                                     0x8001
00023 #define AL_FILTER_NULL                                     0x0000
00024 #define AL_FILTER_LOWPASS                                  0x0001
00025 #define AL_FILTER_HIGHPASS                                 0x0002
00026 #define AL_FILTER_BANDPASS                                 0x0003
00027 #define AL_EFFECT_NULL                                     0x0000
00028 #define AL_EFFECT_EAXREVERB                                0x8000
00029 #define AL_EFFECT_REVERB                                   0x0001
00030 #define AL_EFFECT_CHORUS                                   0x0002
00031 #define AL_EFFECT_DISTORTION                               0x0003
00032 #define AL_EFFECT_ECHO                                     0x0004
00033 #define AL_EFFECT_FLANGER                                  0x0005
00034 #define AL_EFFECT_FREQUENCY_SHIFTER                        0x0006
00035 #define AL_EFFECT_VOCAL_MORPHER                            0x0007
00036 #define AL_EFFECT_PITCH_SHIFTER                            0x0008
00037 #define AL_EFFECT_RING_MODULATOR                           0x0009
00038 #define AL_EFFECT_AUTOWAH                                  0x000A
00039 #define AL_EFFECT_COMPRESSOR                               0x000B
00040 #define AL_EFFECT_EQUALIZER                                0x000C
00041 #define ALC_EFX_MAJOR_VERSION                              0x20001
00042 #define ALC_EFX_MINOR_VERSION                              0x20002
00043 #define ALC_MAX_AUXILIARY_SENDS                            0x20003
00044 #endif
00045
00046 namespace cAudio
00047 {
00049         struct cEFXFunctions
00050         {
00051                 cEFXFunctions::cEFXFunctions()
00052                 {
00053                         alGenEffects = NULL;
00054                         alDeleteEffects = NULL;
00055                         alIsEffect = NULL;
00056                         alEffecti = NULL;
00057                         alEffectiv = NULL;
00058                         alEffectf = NULL;
00059                         alEffectfv = NULL;
00060                         alGetEffecti = NULL;
00061                         alGetEffectiv = NULL;
00062                         alGetEffectf = NULL;
00063                         alGetEffectfv = NULL;
00064
00065                         alGenFilters = NULL;
00066                         alDeleteFilters = NULL;
00067                         alIsFilter = NULL;
00068                         alFilteri = NULL;
00069                         alFilteriv = NULL;
00070                         alFilterf = NULL;
00071                         alFilterfv = NULL;
00072                         alGetFilteri = NULL;
00073                         alGetFilteriv = NULL;
00074                         alGetFilterf = NULL;
00075                         alGetFilterfv = NULL;
00076
00077                         alGenAuxiliaryEffectSlots = NULL;
00078                         alDeleteAuxiliaryEffectSlots = NULL;
00079                         alIsAuxiliaryEffectSlot = NULL;
00080                         alAuxiliaryEffectSloti = NULL;
00081                         alAuxiliaryEffectSlotiv = NULL;
00082                         alAuxiliaryEffectSlotf = NULL;
00083                         alAuxiliaryEffectSlotfv = NULL;
00084                         alGetAuxiliaryEffectSloti = NULL;
00085                         alGetAuxiliaryEffectSlotiv = NULL;
00086                         alGetAuxiliaryEffectSlotf = NULL;
00087                         alGetAuxiliaryEffectSlotfv = NULL;
00088
00089                         Supported = false;
00090                 }
00091
00092                 // Effect objects
00093                 LPALGENEFFECTS alGenEffects;
00094                 LPALDELETEEFFECTS alDeleteEffects;
00095                 LPALISEFFECT alIsEffect;
00096                 LPALEFFECTI alEffecti;
00097                 LPALEFFECTIV alEffectiv;
00098                 LPALEFFECTF alEffectf;
00099                 LPALEFFECTFV alEffectfv;
00100                 LPALGETEFFECTI alGetEffecti;
00101                 LPALGETEFFECTIV alGetEffectiv;
00102                 LPALGETEFFECTF alGetEffectf;
00103                 LPALGETEFFECTFV alGetEffectfv;
00104
00105                 // Filter objects
00106                 LPALGENFILTERS alGenFilters;
00107                 LPALDELETEFILTERS alDeleteFilters;
00108                 LPALISFILTER alIsFilter;
00109                 LPALFILTERI alFilteri;
00110                 LPALFILTERIV alFilteriv;
00111                 LPALFILTERF alFilterf;
00112                 LPALFILTERFV alFilterfv;
00113                 LPALGETFILTERI alGetFilteri;
00114                 LPALGETFILTERIV alGetFilteriv;
00115                 LPALGETFILTERF alGetFilterf;
00116                 LPALGETFILTERFV alGetFilterfv;
00117
00118                 // Auxiliary slot object
00119                 LPALGENAUXILIARYEFFECTSLOTS alGenAuxiliaryEffectSlots;
00120                 LPALDELETEAUXILIARYEFFECTSLOTS alDeleteAuxiliaryEffectSlots;
00121                 LPALISAUXILIARYEFFECTSLOT alIsAuxiliaryEffectSlot;
00122                 LPALAUXILIARYEFFECTSLOTI alAuxiliaryEffectSloti;
00123                 LPALAUXILIARYEFFECTSLOTIV alAuxiliaryEffectSlotiv;
00124                 LPALAUXILIARYEFFECTSLOTF alAuxiliaryEffectSlotf;
00125                 LPALAUXILIARYEFFECTSLOTFV alAuxiliaryEffectSlotfv;
00126                 LPALGETAUXILIARYEFFECTSLOTI alGetAuxiliaryEffectSloti;
00127                 LPALGETAUXILIARYEFFECTSLOTIV alGetAuxiliaryEffectSlotiv;
00128                 LPALGETAUXILIARYEFFECTSLOTF alGetAuxiliaryEffectSlotf;
00129                 LPALGETAUXILIARYEFFECTSLOTFV alGetAuxiliaryEffectSlotfv;
00130
00131                 cAudioMutex Mutex;
00132
00133                 bool Supported;
00134
00135                 bool CheckEFXSupport(ALCdevice* device)
00136                 {
00137                         Supported = false;
00138                         if (alcIsExtensionPresent(device, "ALC_EXT_EFX"))
00139                         {
00140                                 // Get function pointers
00141                                 alGenEffects = (LPALGENEFFECTS)alGetProcAddress("alGenEffects");
00142                                 alDeleteEffects = (LPALDELETEEFFECTS )alGetProcAddress("alDeleteEffects");
00143                                 alIsEffect = (LPALISEFFECT )alGetProcAddress("alIsEffect");
00144                                 alEffecti = (LPALEFFECTI)alGetProcAddress("alEffecti");
00145                                 alEffectiv = (LPALEFFECTIV)alGetProcAddress("alEffectiv");
00146                                 alEffectf = (LPALEFFECTF)alGetProcAddress("alEffectf");
00147                                 alEffectfv = (LPALEFFECTFV)alGetProcAddress("alEffectfv");
00148                                 alGetEffecti = (LPALGETEFFECTI)alGetProcAddress("alGetEffecti");
00149                                 alGetEffectiv = (LPALGETEFFECTIV)alGetProcAddress("alGetEffectiv");
00150                                 alGetEffectf = (LPALGETEFFECTF)alGetProcAddress("alGetEffectf");
00151                                 alGetEffectfv = (LPALGETEFFECTFV)alGetProcAddress("alGetEffectfv");
00152                                 alGenFilters = (LPALGENFILTERS)alGetProcAddress("alGenFilters");
00153                                 alDeleteFilters = (LPALDELETEFILTERS)alGetProcAddress("alDeleteFilters");
00154                                 alIsFilter = (LPALISFILTER)alGetProcAddress("alIsFilter");
00155                                 alFilteri = (LPALFILTERI)alGetProcAddress("alFilteri");
00156                                 alFilteriv = (LPALFILTERIV)alGetProcAddress("alFilteriv");
00157                                 alFilterf = (LPALFILTERF)alGetProcAddress("alFilterf");
00158                                 alFilterfv = (LPALFILTERFV)alGetProcAddress("alFilterfv");
00159                                 alGetFilteri = (LPALGETFILTERI )alGetProcAddress("alGetFilteri");
00160                                 alGetFilteriv= (LPALGETFILTERIV )alGetProcAddress("alGetFilteriv");
00161                                 alGetFilterf = (LPALGETFILTERF )alGetProcAddress("alGetFilterf");
00162                                 alGetFilterfv= (LPALGETFILTERFV )alGetProcAddress("alGetFilterfv");
00163                                 alGenAuxiliaryEffectSlots = (LPALGENAUXILIARYEFFECTSLOTS)alGetProcAddress("alGenAuxiliaryEffectSlots");
00164                                 alDeleteAuxiliaryEffectSlots = (LPALDELETEAUXILIARYEFFECTSLOTS)alGetProcAddress("alDeleteAuxiliaryEffectSlots");
00165                                 alIsAuxiliaryEffectSlot = (LPALISAUXILIARYEFFECTSLOT)alGetProcAddress("alIsAuxiliaryEffectSlot");
00166                                 alAuxiliaryEffectSloti = (LPALAUXILIARYEFFECTSLOTI)alGetProcAddress("alAuxiliaryEffectSloti");
00167                                 alAuxiliaryEffectSlotiv = (LPALAUXILIARYEFFECTSLOTIV)alGetProcAddress("alAuxiliaryEffectSlotiv");
00168                                 alAuxiliaryEffectSlotf = (LPALAUXILIARYEFFECTSLOTF)alGetProcAddress("alAuxiliaryEffectSlotf");
00169                                 alAuxiliaryEffectSlotfv = (LPALAUXILIARYEFFECTSLOTFV)alGetProcAddress("alAuxiliaryEffectSlotfv");
00170                                 alGetAuxiliaryEffectSloti = (LPALGETAUXILIARYEFFECTSLOTI)alGetProcAddress("alGetAuxiliaryEffectSloti");
00171                                 alGetAuxiliaryEffectSlotiv = (LPALGETAUXILIARYEFFECTSLOTIV)alGetProcAddress("alGetAuxiliaryEffectSlotiv");
00172                                 alGetAuxiliaryEffectSlotf = (LPALGETAUXILIARYEFFECTSLOTF)alGetProcAddress("alGetAuxiliaryEffectSlotf");
00173                                 alGetAuxiliaryEffectSlotfv = (LPALGETAUXILIARYEFFECTSLOTFV)alGetProcAddress("alGetAuxiliaryEffectSlotfv");
00174
00175                                 if (alGenEffects &&     alDeleteEffects && alIsEffect && alEffecti && alEffectiv &&     alEffectf &&
00176                                         alEffectfv && alGetEffecti && alGetEffectiv && alGetEffectf && alGetEffectfv && alGenFilters &&
00177                                         alDeleteFilters && alIsFilter && alFilteri && alFilteriv &&     alFilterf && alFilterfv &&
00178                                         alGetFilteri && alGetFilteriv && alGetFilterf && alGetFilterfv && alGenAuxiliaryEffectSlots &&
00179                                         alDeleteAuxiliaryEffectSlots && alIsAuxiliaryEffectSlot && alAuxiliaryEffectSloti &&
00180                                         alAuxiliaryEffectSlotiv && alAuxiliaryEffectSlotf && alAuxiliaryEffectSlotfv &&
00181                                         alGetAuxiliaryEffectSloti && alGetAuxiliaryEffectSlotiv && alGetAuxiliaryEffectSlotf &&
00182                                         alGetAuxiliaryEffectSlotfv)
00183                                         Supported = true;
00184                         }
00185
00186                         return Supported;
00187                 }
00188         };
00189 };
00190
00191 #endif
00192
00193 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cEffect.cpp Source File

  • File List
Source

cEffect.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cEffect.h"
00006 #include "../Headers/cLogger.h"
00007 #include "../Headers/cUtils.h"
00008
00009 #ifdef CAUDIO_EFX_ENABLED
00010
00011 namespace cAudio
00012 {
00013         cEffect::cEffect(cEFXFunctions* oALFunctions) : EFX(oALFunctions), Type(EET_NULL),
00014                 Volume(1.0f), IgnoreAttenuation(false), LastUpdated(0), Valid(false), Filter(NULL),
00015                 Effect(0), EffectSlot(0)
00016         {
00017                 cAudioMutexBasicLock lock(Mutex);
00018                 if(EFX)
00019                 {
00020                         if(EFX->Supported)
00021                         {
00022                                 cAudioMutexBasicLock lock(EFX->Mutex);
00023
00024                                 //Create Effect Slot
00025                                 EFX->alGenAuxiliaryEffectSlots(1, &EffectSlot);
00026                                 bool error = CheckError();
00027                                 if(error)
00028                                 {
00029                                         EffectSlot = 0;
00030                                         return;
00031                                 }
00032
00033                                 //Create the effect object
00034                                 EFX->alGenEffects(1, &Effect);
00035                                 error = CheckError();
00036                                 if(error)
00037                                 {
00038                                         EFX->alDeleteAuxiliaryEffectSlots(1, &EffectSlot);
00039                                         EffectSlot = 0;
00040                                         Effect = 0;
00041                                         return;
00042                                 }
00043
00044                                 //Bind the effect to the effect slot
00045                                 EFX->alAuxiliaryEffectSloti(EffectSlot, AL_EFFECTSLOT_EFFECT, Effect);
00046                                 error = CheckError();
00047                                 if(error)
00048                                 {
00049                                         EFX->alDeleteEffects(1, &Effect);
00050                                         EFX->alDeleteAuxiliaryEffectSlots(1, &EffectSlot);
00051                                         EffectSlot = 0;
00052                                         Effect = 0;
00053                                         return;
00054                                 }
00055
00056                                 //Everything worked, effect is ready to use
00057                                 Valid = true;
00058                         }
00059                 }
00060         }
00061
00062         cEffect::~cEffect()
00063         {
00064                 cAudioMutexBasicLock lock(Mutex);
00065                 if(EFX && EFX->Supported)
00066                 {
00067                         cAudioMutexBasicLock lock(EFX->Mutex);
00068                         EFX->alAuxiliaryEffectSloti(EffectSlot, AL_EFFECTSLOT_EFFECT, AL_EFFECT_NULL);
00069
00070                         if(Effect)
00071                         {
00072                                 EFX->alDeleteEffects(1, &Effect);
00073                         }
00074
00075                         if(EffectSlot)
00076                         {
00077                                 EFX->alDeleteAuxiliaryEffectSlots(1, &EffectSlot);
00078                         }
00079                 }
00080         }
00081
00082         const EffectTypes& cEffect::getType() const
00083         {
00084                 return Type;
00085         }
00086
00087         void cEffect::setType(const EffectTypes& type)
00088         {
00089                 cAudioMutexBasicLock lock(Mutex);
00090                 Type = type;
00091                 UpdateEffect();
00092         }
00093
00094         const sEAXReverbParameters& cEffect::getEAXReverbParameters() const
00095         {
00096                 return EAXReverbParam;
00097         }
00098
00099         void cEffect::setEAXReverbParameters(const sEAXReverbParameters& param)
00100         {
00101                 cAudioMutexBasicLock lock(Mutex);
00102                 EAXReverbParam = param;
00103                 UpdateEffect();
00104         }
00105
00106         const sReverbParameters& cEffect::getReverbParameters() const
00107         {
00108                 return ReverbParam;
00109         }
00110
00111         void cEffect::setReverbParameters(const sReverbParameters& param)
00112         {
00113                 cAudioMutexBasicLock lock(Mutex);
00114                 ReverbParam = param;
00115                 UpdateEffect();
00116         }
00117
00118         const sChorusParameters& cEffect::getChorusParameters() const
00119         {
00120                 return ChorusParam;
00121         }
00122
00123         void cEffect::setChorusParameters(const sChorusParameters& param)
00124         {
00125                 cAudioMutexBasicLock lock(Mutex);
00126                 ChorusParam = param;
00127                 UpdateEffect();
00128         }
00129
00130         const sDistortionParameters& cEffect::getDistortionParameters() const
00131         {
00132                 return DistortionParam;
00133         }
00134
00135         void cEffect::setDistortionParameters(const sDistortionParameters& param)
00136         {
00137                 cAudioMutexBasicLock lock(Mutex);
00138                 DistortionParam = param;
00139                 UpdateEffect();
00140         }
00141
00142         const sEchoParameters& cEffect::getEchoParameters() const
00143         {
00144                 return EchoParam;
00145         }
00146
00147         void cEffect::setEchoParameters(const sEchoParameters& param)
00148         {
00149                 cAudioMutexBasicLock lock(Mutex);
00150                 EchoParam = param;
00151                 UpdateEffect();
00152         }
00153
00154         const sFlangerParameters& cEffect::getFlangerParameters() const
00155         {
00156                 return FlangerParam;
00157         }
00158
00159         void cEffect::setFlangerParameters(const sFlangerParameters& param)
00160         {
00161                 cAudioMutexBasicLock lock(Mutex);
00162                 FlangerParam = param;
00163                 UpdateEffect();
00164         }
00165
00166         const sFrequencyShiftParameters& cEffect::getFrequencyShiftParameters() const
00167         {
00168                 return FrequencyShiftParam;
00169         }
00170
00171         void cEffect::setFrequencyShiftParameters(const sFrequencyShiftParameters& param)
00172         {
00173                 cAudioMutexBasicLock lock(Mutex);
00174                 FrequencyShiftParam = param;
00175                 UpdateEffect();
00176         }
00177
00178         const sVocalMorpherParameters& cEffect::getVocalMorpherParameters() const
00179         {
00180                 return VocalMorpherParam;
00181         }
00182
00183         void cEffect::setVocalMorpherParameters(const sVocalMorpherParameters& param)
00184         {
00185                 cAudioMutexBasicLock lock(Mutex);
00186                 VocalMorpherParam = param;
00187                 UpdateEffect();
00188         }
00189
00190         const sPitchShifterParameters& cEffect::getPitchShifterParameters() const
00191         {
00192                 return PitchShifterParam;
00193         }
00194
00195         void cEffect::setPitchShifterParameters(const sPitchShifterParameters& param)
00196         {
00197                 cAudioMutexBasicLock lock(Mutex);
00198                 PitchShifterParam = param;
00199                 UpdateEffect();
00200         }
00201
00202         const sRingModulatorParameters& cEffect::getRingModulatorParameters() const
00203         {
00204                 return RingModulatorParam;
00205         }
00206
00207         void cEffect::setRingModulatorParameters(const sRingModulatorParameters& param)
00208         {
00209                 cAudioMutexBasicLock lock(Mutex);
00210                 RingModulatorParam = param;
00211                 UpdateEffect();
00212         }
00213
00214         const sAutowahParameters& cEffect::getAutowahParameters() const
00215         {
00216                 return AutowahParam;
00217         }
00218
00219         void cEffect::setAutowahParameters(const sAutowahParameters& param)
00220         {
00221                 cAudioMutexBasicLock lock(Mutex);
00222                 AutowahParam = param;
00223                 UpdateEffect();
00224         }
00225
00226         const sCompressorParameters& cEffect::getCompressorParameters() const
00227         {
00228                 return CompressorParam;
00229         }
00230
00231         void cEffect::setCompressorParameters(const sCompressorParameters& param)
00232         {
00233                 cAudioMutexBasicLock lock(Mutex);
00234                 CompressorParam = param;
00235                 UpdateEffect();
00236         }
00237
00238         const sEqualizerParameters& cEffect::getEqualizerParameters() const
00239         {
00240                 return EqualizerParam;
00241         }
00242
00243         void cEffect::setEqualizerParameters(const sEqualizerParameters& param)
00244         {
00245                 cAudioMutexBasicLock lock(Mutex);
00246                 EqualizerParam = param;
00247                 UpdateEffect();
00248         }
00249
00250         float cEffect::getMasterVolume() const
00251         {
00252                 return Volume;
00253         }
00254
00255         void cEffect::setMasterVolume(const float& volume)
00256         {
00257                 cAudioMutexBasicLock lock(Mutex);
00258                 Volume = volume;
00259                 UpdateEffect();
00260         }
00261
00262         bool cEffect::isIgnoringAttenuation() const
00263         {
00264                 return IgnoreAttenuation;
00265         }
00266
00267         void cEffect::ignoreAttenuation(const bool& ignore)
00268         {
00269                 cAudioMutexBasicLock lock(Mutex);
00270                 IgnoreAttenuation = ignore;
00271                 UpdateEffect();
00272         }
00273
00274         IFilter* cEffect::getFilter() const
00275         {
00276                 return Filter;
00277         }
00278
00279         void cEffect::attachFilter(IFilter* filter)
00280         {
00281                 cAudioMutexBasicLock lock(Mutex);
00282                 Filter = filter;
00283
00284                 if(Filter)
00285                         Filter->grab();
00286                 UpdateEffect();
00287         }
00288
00289         void cEffect::removeFilter()
00290         {
00291                 cAudioMutexBasicLock lock(Mutex);
00292                 if(Filter)
00293                         Filter->drop();
00294                 Filter = NULL;
00295         }
00296
00297         unsigned int cEffect::getLastUpdated() const
00298         {
00299                 return LastUpdated;
00300         }
00301
00302         bool cEffect::isValid() const
00303         {
00304                 return Valid;
00305         }
00306
00307         ALuint cEffect::getOpenALEffect() const
00308         {
00309                 return Effect;
00310         }
00311
00312         ALuint cEffect::getOpenALEffectSlot() const
00313         {
00314                 return EffectSlot;
00315         }
00316
00317         bool cEffect::UpdateEffect()
00318         {
00319                 ++LastUpdated;
00320
00321                 ALenum alEffectType = ConvertEffectEnum(Type);
00322
00323                 if(EFX && EFX->Supported && EffectSlot && Effect)
00324                 {
00325                         cAudioMutexBasicLock lock(EFX->Mutex);
00326                         EFX->alEffecti(Effect, AL_EFFECT_TYPE, alEffectType);
00327                         Valid = !CheckError();
00328                         if(!Valid)
00329                                 return false;
00330
00331                         EFX->alAuxiliaryEffectSlotf(EffectSlot, AL_EFFECTSLOT_GAIN, Volume);
00332                         Valid = !CheckError();
00333                         if(!Valid)
00334                                 return false;
00335
00336                         EFX->alAuxiliaryEffectSloti(EffectSlot, AL_EFFECTSLOT_AUXILIARY_SEND_AUTO, IgnoreAttenuation ? AL_TRUE : AL_FALSE);
00337                         Valid = !CheckError();
00338                         if(!Valid)
00339                                 return false;
00340
00341                         if(Type == EET_EAX_REVERB)
00342                         {
00343                                 EFX->alEffectf(Effect, AL_EAXREVERB_DENSITY, EAXReverbParam.Density);
00344                                 EFX->alEffectf(Effect, AL_EAXREVERB_DIFFUSION, EAXReverbParam.Diffusion);
00345                                 EFX->alEffectf(Effect, AL_EAXREVERB_GAIN, EAXReverbParam.Gain);
00346                                 EFX->alEffectf(Effect, AL_EAXREVERB_GAINHF, EAXReverbParam.GainHF);
00347                                 EFX->alEffectf(Effect, AL_EAXREVERB_GAINLF, EAXReverbParam.GainLF);
00348                                 EFX->alEffectf(Effect, AL_EAXREVERB_DECAY_TIME, EAXReverbParam.DecayTime);
00349                                 EFX->alEffectf(Effect, AL_EAXREVERB_DECAY_HFRATIO, EAXReverbParam.DecayHFRatio);
00350                                 EFX->alEffectf(Effect, AL_EAXREVERB_DECAY_LFRATIO, EAXReverbParam.DecayLFRatio);
00351                                 EFX->alEffectf(Effect, AL_EAXREVERB_REFLECTIONS_GAIN, EAXReverbParam.ReflectionsGain);
00352                                 EFX->alEffectf(Effect, AL_EAXREVERB_REFLECTIONS_DELAY, EAXReverbParam.ReflectionsDelay);
00353                                 EFX->alEffectfv(Effect, AL_EAXREVERB_REFLECTIONS_PAN, &EAXReverbParam.ReflectionsPan.x);
00354                                 EFX->alEffectf(Effect, AL_EAXREVERB_LATE_REVERB_GAIN, EAXReverbParam.LateReverbGain);
00355                                 EFX->alEffectf(Effect, AL_EAXREVERB_LATE_REVERB_DELAY, EAXReverbParam.LateReverbDelay);
00356                                 EFX->alEffectfv(Effect, AL_EAXREVERB_LATE_REVERB_PAN, &EAXReverbParam.LateReverbPan.x);
00357                                 EFX->alEffectf(Effect, AL_EAXREVERB_ECHO_TIME, EAXReverbParam.EchoTime);
00358                                 EFX->alEffectf(Effect, AL_EAXREVERB_ECHO_DEPTH, EAXReverbParam.EchoDepth);
00359                                 EFX->alEffectf(Effect, AL_EAXREVERB_MODULATION_TIME, EAXReverbParam.ModulationTime);
00360                                 EFX->alEffectf(Effect, AL_EAXREVERB_MODULATION_DEPTH, EAXReverbParam.ModulationDepth);
00361                                 EFX->alEffectf(Effect, AL_EAXREVERB_HFREFERENCE, EAXReverbParam.HFReference);
00362                                 EFX->alEffectf(Effect, AL_EAXREVERB_LFREFERENCE, EAXReverbParam.LFReference);
00363                                 EFX->alEffectf(Effect, AL_EAXREVERB_ROOM_ROLLOFF_FACTOR, EAXReverbParam.RoomRolloffFactor);
00364                                 EFX->alEffectf(Effect, AL_EAXREVERB_AIR_ABSORPTION_GAINHF, EAXReverbParam.AirAbsorptionGainHF);
00365                                 EFX->alEffecti(Effect, AL_EAXREVERB_DECAY_HFLIMIT, EAXReverbParam.DecayHFLimit ? AL_TRUE : AL_FALSE);
00366                                 Valid = !CheckError();
00367                                 return Valid;
00368                         }
00369                         else if(Type == EET_REVERB)
00370                         {
00371                                 EFX->alEffectf(Effect, AL_REVERB_DENSITY, ReverbParam.Density);
00372                                 EFX->alEffectf(Effect, AL_REVERB_DIFFUSION, ReverbParam.Diffusion);
00373                                 EFX->alEffectf(Effect, AL_REVERB_GAIN, ReverbParam.Gain);
00374                                 EFX->alEffectf(Effect, AL_REVERB_GAINHF, ReverbParam.GainHF);
00375                                 EFX->alEffectf(Effect, AL_REVERB_DECAY_TIME, ReverbParam.DecayTime);
00376                                 EFX->alEffectf(Effect, AL_REVERB_DECAY_HFRATIO, ReverbParam.DecayHFRatio);
00377                                 EFX->alEffectf(Effect, AL_REVERB_REFLECTIONS_GAIN, ReverbParam.ReflectionsGain);
00378                                 EFX->alEffectf(Effect, AL_REVERB_REFLECTIONS_DELAY, ReverbParam.ReflectionsDelay);
00379                                 EFX->alEffectf(Effect, AL_REVERB_LATE_REVERB_GAIN, ReverbParam.LateReverbGain);
00380                                 EFX->alEffectf(Effect, AL_REVERB_LATE_REVERB_DELAY, ReverbParam.LateReverbDelay);
00381                                 EFX->alEffectf(Effect, AL_REVERB_ROOM_ROLLOFF_FACTOR, ReverbParam.RoomRolloffFactor);
00382                                 EFX->alEffectf(Effect, AL_REVERB_AIR_ABSORPTION_GAINHF, ReverbParam.AirAbsorptionGainHF);
00383                                 EFX->alEffecti(Effect, AL_REVERB_DECAY_HFLIMIT, ReverbParam.DecayHFLimit ? AL_TRUE : AL_FALSE);
00384                                 Valid = !CheckError();
00385                                 return Valid;
00386                         }
00387                         else if(Type == EET_CHORUS)
00388                         {
00389                                 ALenum waveform = AL_CHORUS_DEFAULT_WAVEFORM;
00390                                 switch(ChorusParam.Waveform)
00391                                 {
00392                                 case sChorusParameters::ECW_SINUSOID:
00393                                         waveform = AL_CHORUS_WAVEFORM_SINUSOID;
00394                                         break;
00395                                 case sChorusParameters::ECW_TRIANGLE:
00396                                         waveform = AL_CHORUS_WAVEFORM_TRIANGLE;
00397                                         break;
00398                                 default:
00399                                         waveform = AL_CHORUS_DEFAULT_WAVEFORM;
00400                                         break;
00401                                 };
00402                                 EFX->alEffecti(Effect, AL_CHORUS_WAVEFORM, waveform);
00403                                 EFX->alEffecti(Effect, AL_CHORUS_PHASE, ChorusParam.Phase);
00404                                 EFX->alEffectf(Effect, AL_CHORUS_RATE, ChorusParam.Rate);
00405                                 EFX->alEffectf(Effect, AL_CHORUS_DEPTH, ChorusParam.Depth);
00406                                 EFX->alEffectf(Effect, AL_CHORUS_FEEDBACK, ChorusParam.Feedback);
00407                                 EFX->alEffectf(Effect, AL_CHORUS_DELAY, ChorusParam.Delay);
00408                                 Valid = !CheckError();
00409                                 return Valid;
00410                         }
00411                         else if(Type == EET_DISTORTION)
00412                         {
00413                                 EFX->alEffectf(Effect, AL_DISTORTION_EDGE, DistortionParam.Edge);
00414                                 EFX->alEffectf(Effect, AL_DISTORTION_GAIN, DistortionParam.Gain);
00415                                 EFX->alEffectf(Effect, AL_DISTORTION_LOWPASS_CUTOFF, DistortionParam.LowpassCutoff);
00416                                 EFX->alEffectf(Effect, AL_DISTORTION_EQCENTER, DistortionParam.EqCenter);
00417                                 EFX->alEffectf(Effect, AL_DISTORTION_EQBANDWIDTH, DistortionParam.EqBandwidth);
00418                                 Valid = !CheckError();
00419                                 return Valid;
00420                         }
00421                         else if(Type == EET_ECHO)
00422                         {
00423                                 EFX->alEffectf(Effect, AL_ECHO_DELAY, EchoParam.Delay);
00424                                 EFX->alEffectf(Effect, AL_ECHO_LRDELAY, EchoParam.LRDelay);
00425                                 EFX->alEffectf(Effect, AL_ECHO_DAMPING, EchoParam.Damping);
00426                                 EFX->alEffectf(Effect, AL_ECHO_FEEDBACK, EchoParam.Feedback);
00427                                 EFX->alEffectf(Effect, AL_ECHO_SPREAD, EchoParam.Spread);
00428                                 Valid = !CheckError();
00429                                 return Valid;
00430                         }
00431                         else if(Type == EET_FLANGER)
00432                         {
00433                                 ALenum waveform = AL_FLANGER_DEFAULT_WAVEFORM;
00434                                 switch(FlangerParam.Waveform)
00435                                 {
00436                                 case sFlangerParameters::EFW_SINUSOID:
00437                                         waveform = AL_FLANGER_WAVEFORM_SINUSOID;
00438                                         break;
00439                                 case sFlangerParameters::EFW_TRIANGLE:
00440                                         waveform = AL_FLANGER_WAVEFORM_SINUSOID;
00441                                         break;
00442                                 default:
00443                                         waveform = AL_FLANGER_DEFAULT_WAVEFORM;
00444                                         break;
00445                                 };
00446                                 EFX->alEffecti(Effect, AL_FLANGER_WAVEFORM, waveform);
00447                                 EFX->alEffecti(Effect, AL_FLANGER_PHASE, FlangerParam.Phase);
00448                                 EFX->alEffectf(Effect, AL_FLANGER_RATE, FlangerParam.Rate);
00449                                 EFX->alEffectf(Effect, AL_FLANGER_DEPTH, FlangerParam.Depth);
00450                                 EFX->alEffectf(Effect, AL_FLANGER_FEEDBACK, FlangerParam.Feedback);
00451                                 EFX->alEffectf(Effect, AL_FLANGER_DELAY, FlangerParam.Delay);
00452                                 Valid = !CheckError();
00453                                 return Valid;
00454                         }
00455                         else if(Type == EET_FREQUENCY_SHIFTER)
00456                         {
00457                                 ALenum shiftleft = ConvertFrequencyShiftEnum(FrequencyShiftParam.Left);
00458                                 ALenum shiftright = ConvertFrequencyShiftEnum(FrequencyShiftParam.Right);
00459                                 EFX->alEffectf(Effect, AL_FREQUENCY_SHIFTER_FREQUENCY, FrequencyShiftParam.Frequency);
00460                                 EFX->alEffecti(Effect, AL_FREQUENCY_SHIFTER_LEFT_DIRECTION, shiftleft);
00461                                 EFX->alEffecti(Effect, AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION, shiftright);
00462                                 Valid = !CheckError();
00463                                 return Valid;
00464                         }
00465                         else if(Type == EET_VOCAL_MORPHER)
00466                         {
00467                                 ALenum pA = ConvertVocalMorphPhonemeEnum(VocalMorpherParam.PhonemeA);
00468                                 ALenum pB = ConvertVocalMorphPhonemeEnum(VocalMorpherParam.PhonemeB);
00469
00470                                 ALenum waveform = AL_VOCAL_MORPHER_DEFAULT_WAVEFORM;
00471                                 switch(VocalMorpherParam.Waveform)
00472                                 {
00473                                 case sVocalMorpherParameters::EMW_SINUSOID:
00474                                         waveform = AL_VOCAL_MORPHER_WAVEFORM_SINUSOID;
00475                                         break;
00476                                 case sVocalMorpherParameters::EMW_TRIANGLE:
00477                                         waveform = AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE;
00478                                         break;
00479                                 case sVocalMorpherParameters::EMW_SAW:
00480                                         waveform = AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH;
00481                                         break;
00482                                 default:
00483                                         waveform = AL_VOCAL_MORPHER_DEFAULT_WAVEFORM;
00484                                         break;
00485                                 };
00486
00487                                 EFX->alEffecti(Effect, AL_VOCAL_MORPHER_PHONEMEA, pA);
00488                                 EFX->alEffecti(Effect, AL_VOCAL_MORPHER_PHONEMEB, pB);
00489                                 EFX->alEffecti(Effect, AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING, VocalMorpherParam.PhonemeACoarseTune);
00490                                 EFX->alEffecti(Effect, AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING, VocalMorpherParam.PhonemeBCoarseTune);
00491                                 EFX->alEffecti(Effect, AL_VOCAL_MORPHER_WAVEFORM, waveform);
00492                                 EFX->alEffectf(Effect, AL_VOCAL_MORPHER_RATE, VocalMorpherParam.Rate);
00493                                 Valid = !CheckError();
00494                                 return Valid;
00495                         }
00496                         else if(Type == EET_PITCH_SHIFTER)
00497                         {
00498                                 EFX->alEffecti(Effect, AL_PITCH_SHIFTER_COARSE_TUNE, PitchShifterParam.CoarseTune);
00499                                 EFX->alEffecti(Effect, AL_PITCH_SHIFTER_FINE_TUNE, PitchShifterParam.FineTune);
00500                                 Valid = !CheckError();
00501                                 return Valid;
00502                         }
00503                         else if(Type == EET_RING_MODULATOR)
00504                         {
00505                                 ALenum waveform = AL_RING_MODULATOR_DEFAULT_WAVEFORM;
00506                                 switch(RingModulatorParam.Waveform)
00507                                 {
00508                                 case sRingModulatorParameters::EMW_SINUSOID:
00509                                         waveform = AL_RING_MODULATOR_SINUSOID;
00510                                         break;
00511                                 case sRingModulatorParameters::EMW_SAW:
00512                                         waveform = AL_RING_MODULATOR_SAWTOOTH;
00513                                         break;
00514                                 case sRingModulatorParameters::EMW_SQUARE:
00515                                         waveform = AL_RING_MODULATOR_SQUARE;
00516                                         break;
00517                                 default:
00518                                         waveform = AL_RING_MODULATOR_DEFAULT_WAVEFORM;
00519                                         break;
00520                                 };
00521
00522                                 EFX->alEffectf(Effect, AL_RING_MODULATOR_FREQUENCY, RingModulatorParam.Frequency);
00523                                 EFX->alEffectf(Effect, AL_RING_MODULATOR_HIGHPASS_CUTOFF, RingModulatorParam.HighPassCutoff);
00524                                 EFX->alEffecti(Effect, AL_RING_MODULATOR_WAVEFORM, waveform);
00525                                 Valid = !CheckError();
00526                                 return Valid;
00527                         }
00528                         else if(Type == EET_AUTOWAH)
00529                         {
00530                                 EFX->alEffectf(Effect, AL_AUTOWAH_ATTACK_TIME, AutowahParam.AttackTime);
00531                                 EFX->alEffectf(Effect, AL_AUTOWAH_RELEASE_TIME, AutowahParam.ReleaseTime);
00532                                 EFX->alEffectf(Effect, AL_AUTOWAH_RESONANCE, AutowahParam.Resonance);
00533                                 EFX->alEffectf(Effect, AL_AUTOWAH_PEAK_GAIN, AutowahParam.PeakGain);
00534                                 Valid = !CheckError();
00535                                 return Valid;
00536                         }
00537                         else if(Type == EET_COMPRESSOR)
00538                         {
00539                                 EFX->alEffecti(Effect, AL_COMPRESSOR_ONOFF, CompressorParam.Active ? AL_TRUE : AL_FALSE);
00540                                 Valid = !CheckError();
00541                                 return Valid;
00542                         }
00543                         else if(Type == EET_EQUALIZER)
00544                         {
00545                                 EFX->alEffectf(Effect, AL_EQUALIZER_LOW_GAIN, EqualizerParam.LowGain);
00546                                 EFX->alEffectf(Effect, AL_EQUALIZER_LOW_CUTOFF, EqualizerParam.LowCutoff);
00547                                 EFX->alEffectf(Effect, AL_EQUALIZER_MID1_GAIN, EqualizerParam.Mid1Gain);
00548                                 EFX->alEffectf(Effect, AL_EQUALIZER_MID1_CENTER, EqualizerParam.Mid1Center);
00549                                 EFX->alEffectf(Effect, AL_EQUALIZER_MID1_WIDTH, EqualizerParam.Mid1Width);
00550                                 EFX->alEffectf(Effect, AL_EQUALIZER_MID2_GAIN, EqualizerParam.Mid2Gain);
00551                                 EFX->alEffectf(Effect, AL_EQUALIZER_MID2_CENTER, EqualizerParam.Mid2Center);
00552                                 EFX->alEffectf(Effect, AL_EQUALIZER_MID2_WIDTH, EqualizerParam.Mid2Width);
00553                                 EFX->alEffectf(Effect, AL_EQUALIZER_HIGH_GAIN, EqualizerParam.HighGain);
00554                                 EFX->alEffectf(Effect, AL_EQUALIZER_HIGH_CUTOFF, EqualizerParam.HighCutoff);
00555                                 Valid = !CheckError();
00556                                 return Valid;
00557                         }
00558                         else
00559                         {
00560                                 return true;
00561                         }
00562                 }
00563                 return false;
00564         }
00565
00566         bool cEffect::CheckError()
00567         {
00568                 int error = alGetError();
00569                 const char* errorString;
00570
00571         if (error != AL_NO_ERROR)
00572         {
00573                         errorString = alGetString(error);
00574                         if(error == AL_OUT_OF_MEMORY)
00575                                 getLogger()->logCritical("Audio Effect", "OpenAL Error: %s.", errorString);
00576                         else
00577                                 getLogger()->logError("Audio Effect", "OpenAL Error: %s.", errorString);
00578                         return true;
00579         }
00580                 return false;
00581         }
00582
00583         ALenum cEffect::ConvertEffectEnum(EffectTypes type)
00584         {
00585                 switch(type)
00586                 {
00587                 case EET_NULL:
00588                         return AL_EFFECT_NULL;
00589                 case EET_EAX_REVERB:
00590                         return AL_EFFECT_EAXREVERB;
00591                 case EET_REVERB:
00592                         return AL_EFFECT_REVERB;
00593                 case EET_CHORUS:
00594                         return AL_EFFECT_CHORUS;
00595                 case EET_DISTORTION:
00596                         return AL_EFFECT_DISTORTION;
00597                 case EET_ECHO:
00598                         return AL_EFFECT_ECHO;
00599                 case EET_FLANGER:
00600                         return AL_EFFECT_FLANGER;
00601                 case EET_FREQUENCY_SHIFTER:
00602                         return AL_EFFECT_FREQUENCY_SHIFTER;
00603                 case EET_VOCAL_MORPHER:
00604                         return AL_EFFECT_VOCAL_MORPHER;
00605                 case EET_PITCH_SHIFTER:
00606                         return AL_EFFECT_PITCH_SHIFTER;
00607                 case EET_RING_MODULATOR:
00608                         return AL_EFFECT_RING_MODULATOR;
00609                 case EET_AUTOWAH:
00610                         return AL_EFFECT_AUTOWAH;
00611                 case EET_COMPRESSOR:
00612                         return AL_EFFECT_COMPRESSOR;
00613                 case EET_EQUALIZER:
00614                         return AL_EFFECT_EQUALIZER;
00615                 default:
00616                         return AL_EFFECT_NULL;
00617                 };
00618         }
00619
00620         ALenum cEffect::ConvertFrequencyShiftEnum(sFrequencyShiftParameters::ShiftDirection shift)
00621         {
00622                 switch(shift)
00623                 {
00624                 case sFrequencyShiftParameters::ESD_DOWN:
00625                         return AL_FREQUENCY_SHIFTER_DIRECTION_DOWN;
00626                 case sFrequencyShiftParameters::ESD_UP:
00627                         return AL_FREQUENCY_SHIFTER_DIRECTION_UP;
00628                 case sFrequencyShiftParameters::ESD_OFF:
00629                         return AL_FREQUENCY_SHIFTER_DIRECTION_OFF;
00630                 default:
00631                         return AL_FREQUENCY_SHIFTER_DIRECTION_DOWN;
00632                 };
00633         }
00634
00635         ALenum cEffect::ConvertVocalMorphPhonemeEnum(sVocalMorpherParameters::MorpherPhoneme phoneme)
00636         {
00637                 switch(phoneme)
00638                 {
00639                 case sVocalMorpherParameters::EMP_A:
00640                         return AL_VOCAL_MORPHER_PHONEME_A;
00641                 case sVocalMorpherParameters::EMP_E:
00642                         return AL_VOCAL_MORPHER_PHONEME_E;
00643                 case sVocalMorpherParameters::EMP_I:
00644                         return AL_VOCAL_MORPHER_PHONEME_I;
00645                 case sVocalMorpherParameters::EMP_O:
00646                         return AL_VOCAL_MORPHER_PHONEME_O;
00647                 case sVocalMorpherParameters::EMP_U:
00648                         return AL_VOCAL_MORPHER_PHONEME_U;
00649                 case sVocalMorpherParameters::EMP_AA:
00650                         return AL_VOCAL_MORPHER_PHONEME_AA;
00651                 case sVocalMorpherParameters::EMP_AE:
00652                         return AL_VOCAL_MORPHER_PHONEME_AE;
00653                 case sVocalMorpherParameters::EMP_AH:
00654                         return AL_VOCAL_MORPHER_PHONEME_AH;
00655                 case sVocalMorpherParameters::EMP_AO:
00656                         return AL_VOCAL_MORPHER_PHONEME_AO;
00657                 case sVocalMorpherParameters::EMP_EH:
00658                         return AL_VOCAL_MORPHER_PHONEME_EH;
00659                 case sVocalMorpherParameters::EMP_ER:
00660                         return AL_VOCAL_MORPHER_PHONEME_ER;
00661                 case sVocalMorpherParameters::EMP_IH:
00662                         return AL_VOCAL_MORPHER_PHONEME_IH;
00663                 case sVocalMorpherParameters::EMP_IY:
00664                         return AL_VOCAL_MORPHER_PHONEME_IY;
00665                 case sVocalMorpherParameters::EMP_UH:
00666                         return AL_VOCAL_MORPHER_PHONEME_UH;
00667                 case sVocalMorpherParameters::EMP_UW:
00668                         return AL_VOCAL_MORPHER_PHONEME_UW;
00669                 case sVocalMorpherParameters::EMP_B:
00670                         return AL_VOCAL_MORPHER_PHONEME_B;
00671                 case sVocalMorpherParameters::EMP_D:
00672                         return AL_VOCAL_MORPHER_PHONEME_D;
00673                 case sVocalMorpherParameters::EMP_F:
00674                         return AL_VOCAL_MORPHER_PHONEME_F;
00675                 case sVocalMorpherParameters::EMP_G:
00676                         return AL_VOCAL_MORPHER_PHONEME_G;
00677                 case sVocalMorpherParameters::EMP_J:
00678                         return AL_VOCAL_MORPHER_PHONEME_J;
00679                 case sVocalMorpherParameters::EMP_K:
00680                         return AL_VOCAL_MORPHER_PHONEME_K;
00681                 case sVocalMorpherParameters::EMP_L:
00682                         return AL_VOCAL_MORPHER_PHONEME_L;
00683                 case sVocalMorpherParameters::EMP_M:
00684                         return AL_VOCAL_MORPHER_PHONEME_M;
00685                 case sVocalMorpherParameters::EMP_N:
00686                         return AL_VOCAL_MORPHER_PHONEME_N;
00687                 case sVocalMorpherParameters::EMP_P:
00688                         return AL_VOCAL_MORPHER_PHONEME_P;
00689                 case sVocalMorpherParameters::EMP_R:
00690                         return AL_VOCAL_MORPHER_PHONEME_R;
00691                 case sVocalMorpherParameters::EMP_S:
00692                         return AL_VOCAL_MORPHER_PHONEME_S;
00693                 case sVocalMorpherParameters::EMP_T:
00694                         return AL_VOCAL_MORPHER_PHONEME_T;
00695                 case sVocalMorpherParameters::EMP_V:
00696                         return AL_VOCAL_MORPHER_PHONEME_V;
00697                 case sVocalMorpherParameters::EMP_Z:
00698                         return AL_VOCAL_MORPHER_PHONEME_Z;
00699                 default:
00700                         return AL_VOCAL_MORPHER_DEFAULT_PHONEMEA;
00701                 };
00702         }
00703 };
00704
00705 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cEffect.h Source File

  • File List
Headers

cEffect.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CEFFECT_H
00006 #define CEFFECT_H
00007
00008 #include "../include/IEffect.h"
00009 #include "../Headers/cMutex.h"
00010 #include "../Headers/cEFXFunctions.h"
00011 #include "../Headers/cMemoryOverride.h"
00012
00013 #ifdef CAUDIO_EFX_ENABLED
00014
00015 #include <AL/al.h>
00016 #include <AL/alc.h>
00017
00018 namespace cAudio
00019 {
00020         class cEffect : public IEffect, public cMemoryOverride
00021         {
00022         public:
00023                 cEffect(cEFXFunctions* oALFunctions);
00024                 virtual ~cEffect();
00025
00026                 virtual const EffectTypes& getType() const;
00027                 virtual void setType(const EffectTypes& type);
00028
00029                 virtual const sEAXReverbParameters& getEAXReverbParameters() const;
00030                 virtual void setEAXReverbParameters(const sEAXReverbParameters& param);
00031
00032                 virtual const sReverbParameters& getReverbParameters() const;
00033                 virtual void setReverbParameters(const sReverbParameters& param);
00034
00035                 virtual const sChorusParameters& getChorusParameters() const;
00036                 virtual void setChorusParameters(const sChorusParameters& param);
00037
00038                 virtual const sDistortionParameters& getDistortionParameters() const;
00039                 virtual void setDistortionParameters(const sDistortionParameters& param);
00040
00041                 virtual const sEchoParameters& getEchoParameters() const;
00042                 virtual void setEchoParameters(const sEchoParameters& param);
00043
00044                 virtual const sFlangerParameters& getFlangerParameters() const;
00045                 virtual void setFlangerParameters(const sFlangerParameters& param);
00046
00047                 virtual const sFrequencyShiftParameters& getFrequencyShiftParameters() const;
00048                 virtual void setFrequencyShiftParameters(const sFrequencyShiftParameters& param);
00049
00050                 virtual const sVocalMorpherParameters& getVocalMorpherParameters() const;
00051                 virtual void setVocalMorpherParameters(const sVocalMorpherParameters& param);
00052
00053                 virtual const sPitchShifterParameters& getPitchShifterParameters() const;
00054                 virtual void setPitchShifterParameters(const sPitchShifterParameters& param);
00055
00056                 virtual const sRingModulatorParameters& getRingModulatorParameters() const;
00057                 virtual void setRingModulatorParameters(const sRingModulatorParameters& param);
00058
00059                 virtual const sAutowahParameters& getAutowahParameters() const;
00060                 virtual void setAutowahParameters(const sAutowahParameters& param);
00061
00062                 virtual const sCompressorParameters& getCompressorParameters() const;
00063                 virtual void setCompressorParameters(const sCompressorParameters& param);
00064
00065                 virtual const sEqualizerParameters& getEqualizerParameters() const;
00066                 virtual void setEqualizerParameters(const sEqualizerParameters& param);
00067
00068                 virtual float getMasterVolume() const;
00069                 virtual void setMasterVolume(const float& volume);
00070
00071                 virtual bool isIgnoringAttenuation() const;
00072                 virtual void ignoreAttenuation(const bool& ignore);
00073
00074                 virtual IFilter* getFilter() const;
00075                 virtual void attachFilter(IFilter* filter);
00076                 virtual void removeFilter();
00077
00078                 virtual unsigned int getLastUpdated() const;
00079                 virtual bool isValid() const;
00080
00081                 ALuint getOpenALEffect() const;
00082                 ALuint getOpenALEffectSlot() const;
00083
00084         private:
00085                 cEFXFunctions* EFX;
00086                 //Mutex for thread syncronization
00087                 cAudioMutex Mutex;
00088
00089                 EffectTypes Type;
00090                 float Volume;
00091                 bool IgnoreAttenuation;
00092                 unsigned int LastUpdated;
00093
00094                 bool Valid;
00095
00096                 IFilter* Filter;
00097
00098                 ALuint Effect;
00099                 ALuint EffectSlot;
00100
00101                 bool UpdateEffect();
00102                 bool CheckError();
00103                 ALenum ConvertEffectEnum(EffectTypes type);
00104                 ALenum ConvertFrequencyShiftEnum(sFrequencyShiftParameters::ShiftDirection shift);
00105                 ALenum ConvertVocalMorphPhonemeEnum(sVocalMorpherParameters::MorpherPhoneme phoneme);
00106
00107                 //Storage for all the possible settings for effects
00108                 sEAXReverbParameters            EAXReverbParam;
00109                 sReverbParameters                       ReverbParam;
00110                 sChorusParameters                       ChorusParam;
00111                 sDistortionParameters           DistortionParam;
00112                 sEchoParameters                         EchoParam;
00113                 sFlangerParameters                      FlangerParam;
00114                 sFrequencyShiftParameters       FrequencyShiftParam;
00115                 sVocalMorpherParameters         VocalMorpherParam;
00116                 sPitchShifterParameters         PitchShifterParam;
00117                 sRingModulatorParameters        RingModulatorParam;
00118                 sAutowahParameters                      AutowahParam;
00119                 sCompressorParameters           CompressorParam;
00120                 sEqualizerParameters            EqualizerParam;
00121         };
00122 };
00123
00124
00125 #endif
00126
00127 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cFileLogReceiver.cpp Source File

  • File List
Source

cFileLogReceiver.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cFileLogReceiver.h"
00006
00007 #ifdef CAUDIO_COMPILE_WITH_FILE_LOG_RECEIVER
00008 #include <iostream>
00009 #include <fstream>
00010
00011 namespace cAudio
00012 {
00013         cFileLogReceiver::cFileLogReceiver()
00014         {
00015                 firsttime = false;
00016         }
00017
00018         cFileLogReceiver::~cFileLogReceiver()
00019         {
00020
00021         }
00022
00023     bool cFileLogReceiver::OnLogMessage(const char* sender, const char* message, LogLevel level, float time)
00024         {
00025                 std::ofstream outf;
00026
00027                 if(firsttime == false)
00028                 {
00029                         if( !outf.is_open() )
00030                         {
00031                         // Reset log file
00032                         outf.setf( std::ios::fixed );
00033                         outf.precision( 3 );
00034                         outf.open( "cAudioEngineLog.html", std::ios::out );
00035
00036                         if( !outf ){
00037                                 return false;
00038                         }
00039
00040                         outf<<"<html>\n";
00041                         outf<<"<head>\n";
00042                         outf<<"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n";
00043                         outf<<"<title>cAudio Log</title>\n";
00044                         outf<<"<style type=\"text/css\">\n";
00045
00046                         outf<<"body, html {\n";
00047                         outf<<"background: #000000;\n";
00048                         outf<<"width: 1000px;\n";
00049                         outf<<"font-family: Arial;\n";
00050                         outf<<"font-size: 16px;\n";
00051                         outf<<"color: #C0C0C0;\n";
00052                         outf<<"}\n";
00053
00054                         outf<<"h1 {\n";
00055                         outf<<"color : #FFFFFF;\n";
00056                         outf<<"border-bottom : 1px dotted #888888;\n";
00057                         outf<<"}\n";
00058
00059                         outf<<"pre {\n";
00060                         outf<<"font-family : arial;\n";
00061                         outf<<"margin : 0;\n";
00062                         outf<<"}\n";
00063
00064                         outf<<".box {\n";
00065                         outf<<"border : 1px dotted #818286;\n";
00066                         outf<<"padding : 5px;\n";
00067                         outf<<"margin: 5px;\n";
00068                         outf<<"width: 950px;\n";
00069                         outf<<"background-color : #292929;\n";
00070                         outf<<"}\n";
00071
00072                         outf<<".err {\n";
00073                         outf<<"color: #EE1100;\n";
00074                         outf<<"font-weight: bold\n";
00075                         outf<<"}\n";
00076
00077                         outf<<".warn {\n";
00078                         outf<<"color: #FFCC00;\n";
00079                         outf<<"font-weight: bold\n";
00080                         outf<<"}\n";
00081
00082                         outf<<".crit {\n";
00083                         outf<<"color: #BB0077;\n";
00084                         outf<<"font-weight: bold\n";
00085                         outf<<"}\n";
00086
00087                         outf<<".info {\n";
00088                         outf<<"color: #C0C0C0;\n";
00089                         outf<<"}\n";
00090
00091                         outf<<".debug {\n";
00092                         outf<<"color: #CCA0A0;\n";
00093                         outf<<"}\n";
00094
00095                         outf<<"</style>\n";
00096                         outf<<"</head>\n\n";
00097
00098                         outf<<"<body>\n";
00099                         outf<<"<h1>cAudio Log</h1>\n";
00100                         outf<<"<h3>" << "2.0.0" << "</h3>\n";
00101                         outf<<"<div class=\"box\">\n";
00102                         outf<<"<table>\n";
00103
00104                         outf.flush();
00105
00106                         }
00107                         firsttime = true;
00108                 }
00109                 else
00110                 {
00111                         outf.open( "cAudioEngineLog.html", std::ios::out | std::ios::app );
00112
00113                         if( !outf ){
00114                                 return false;
00115                         }
00116
00117                         outf<<"<tr>\n";
00118                         outf<<"<td width=\"100\">";
00119                         outf<<time;
00120                         outf <<"</td>\n";
00121                         outf<<"<td class=\"";
00122
00123                         switch( level )
00124                         {
00125                         case ELL_DEBUG:
00126                                 outf<<"debug";
00127                                 break;
00128
00129                         case ELL_INFO:
00130                                 outf<<"info";
00131                                 break;
00132
00133                         case ELL_WARNING:
00134                                 outf<<"warn";
00135                                 break;
00136
00137                         case ELL_ERROR:
00138                                 outf<<"err";
00139                                 break;
00140
00141                         case ELL_CRITICAL:
00142                                 outf<<"crit";
00143                                 break;
00144
00145                         case ELL_COUNT:
00146                                 outf<<"debug";
00147                                 break;
00148
00149                         default:
00150                                 outf<<"debug";
00151                         }
00152
00153                         outf<<"\"><pre>\n";
00154                         outf<<message;
00155                         outf<<"\n</pre></td>\n";
00156                         outf<<"</tr>\n";
00157
00158                         outf.flush();
00159
00160                 }
00161                 outf.close();
00162                 return true;
00163         }
00164 };
00165
00166 #endif
00167
00168
00169
00170
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cFileLogReceiver.h Source File

  • File List
Headers

cFileLogReceiver.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CFILELOGRECEIVER_H_INCLUDED
00006 #define CFILELOGERCEIVER_H_INCLUDED
00007
00008 #include "../include/ILogReceiver.h"
00009 #include "../include/cAudioDefines.h"
00010
00011 #ifdef CAUDIO_COMPILE_WITH_FILE_LOG_RECEIVER
00012 namespace cAudio
00013 {
00014
00015         class cFileLogReceiver : public ILogReceiver
00016         {
00017         public:
00018                 cFileLogReceiver();
00019                 ~cFileLogReceiver();
00020
00021                 bool OnLogMessage(const char* sender, const char* message, LogLevel level, float time);
00022
00023         private:
00024
00025                 bool firsttime;
00026
00027         };
00028 };
00029 #endif
00030
00031 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cFileSource.cpp Source File

  • File List
Source

cFileSource.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cFileSource.h"
00006 #include "../Headers/cUtils.h"
00007
00008 #ifdef CAUDIO_COMPILE_WITH_FILE_SOURCE
00009
00010 #include <cstring>
00011
00012 namespace cAudio
00013 {
00014
00015 cFileSource::cFileSource(const char* filename) : pFile(NULL), Valid(false), Filesize(0)
00016 {
00017         cAudioString safeFilename = safeCStr(filename);
00018     if(safeFilename.length() != 0)
00019     {
00020                 pFile = fopen(safeFilename.c_str(),"rb");
00021                 if(pFile)
00022                         Valid = true;
00023     }
00024
00025     if(Valid)
00026     {
00027         fseek(pFile, 0, SEEK_END);
00028         Filesize = ftell(pFile);
00029         fseek(pFile, 0, SEEK_SET);
00030     }
00031 }
00032
00033 cFileSource::~cFileSource()
00034 {
00035         if(pFile)
00036                 fclose(pFile);
00037 }
00038
00039 bool cFileSource::isValid()
00040 {
00041     return Valid;
00042 }
00043
00044 int cFileSource::getCurrentPos()
00045 {
00046     return ftell(pFile);
00047 }
00048
00049 int cFileSource::getSize()
00050 {
00051     return Filesize;
00052 }
00053
00054 int cFileSource::read(void* output, int size)
00055 {
00056         return fread(output, sizeof(char), size, pFile);
00057 }
00058
00059 bool cFileSource::seek(int amount, bool relative)
00060 {
00061     if(relative == true)
00062     {
00063         int oldamount = ftell(pFile);
00064         fseek(pFile, amount, SEEK_CUR);
00065
00066         //check against the absolute position
00067         if(oldamount+amount != ftell(pFile))
00068             return false;
00069     }
00070     else
00071     {
00072         fseek(pFile, amount, SEEK_SET);
00073         if(amount != ftell(pFile))
00074             return false;
00075     }
00076
00077     return true;
00078 }
00079
00080 };
00081
00082 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cFileSource.h Source File

  • File List
Headers

cFileSource.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CFILESOURCE_H
00006 #define CFILESOURCE_H
00007
00008 #include "../include/IDataSource.h"
00009 #include "../include/cAudioDefines.h"
00010 #include "../Headers/cMemoryOverride.h"
00011
00012 #ifdef CAUDIO_COMPILE_WITH_FILE_SOURCE
00013
00014 #include <fstream>
00015
00016 namespace cAudio
00017 {
00018
00019 class cFileSource : public IDataSource, public cMemoryOverride
00020 {
00021     public:
00022         cFileSource(const char* filename);
00023         ~cFileSource();
00024
00025         virtual bool isValid();
00026         virtual int getCurrentPos();
00027         virtual int getSize();
00028         virtual int read(void* output, int size);
00029         virtual bool seek(int amount, bool relative);
00030
00031     protected:
00033                 bool Valid;
00035         int Filesize;
00037         FILE* pFile;
00038     private:
00039 };
00040
00041 };
00042
00043 #endif
00044
00045 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cFileSourceFactory.h Source File

  • File List
Headers

cFileSourceFactory.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CFILESOURCEFACTORY_H
00006 #define CFILESOURCEFACTORY_H
00007
00008 #include "../include/IDataSourceFactory.h"
00009
00010 #ifdef CAUDIO_COMPILE_WITH_FILE_SOURCE
00011
00012 #include "../Headers/cFileSource.h"
00013 #include "../Headers/cMemorySource.h"
00014 #include "../Headers/cMutex.h"
00015
00016 namespace cAudio
00017 {
00018         class cFileSourceFactory : public IDataSourceFactory
00019         {
00020                 public:
00021                         cFileSourceFactory() { }
00022                         virtual ~cFileSourceFactory() { }
00023
00024                         virtual IDataSource* CreateDataSource(const char* filename, bool streamingRequested)
00025                         {
00026                                 cAudioMutexBasicLock lock(Mutex);
00027                                 IDataSource* source = CAUDIO_NEW cFileSource(filename);
00028
00029                                 if(!streamingRequested && source && source->isValid())
00030                                 {
00031                                         //A bit hackish, but if the user doesn't want streaming, make this a memory source
00032                                         int length = source->getSize();
00033                                         char* tempbuf = (char*)CAUDIO_MALLOC(length);
00034                                         if(tempbuf)
00035                                         {
00036                                                 source->read(tempbuf, length);
00037                                                 IDataSource* memSource = CAUDIO_NEW cMemorySource(tempbuf, length, true);
00038                                                 CAUDIO_FREE(tempbuf);
00039
00040                                                 if(memSource && memSource->isValid())
00041                                                 {
00042                                                         source->drop();
00043                                                         return memSource;
00044                                                 }
00045
00046                                                 if(memSource)
00047                                                         memSource->drop();
00048                                         }
00049                                 }
00050                                 return source;
00051                         }
00052                 protected:
00053                         cAudioMutex Mutex;
00054                 private:
00055         };
00056 };
00057
00058 #endif
00059
00060 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cFilter.cpp Source File

  • File List
Source

cFilter.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cFilter.h"
00006 #include "../Headers/cLogger.h"
00007 #include "../Headers/cUtils.h"
00008
00009 #ifdef CAUDIO_EFX_ENABLED
00010
00011 namespace cAudio
00012 {
00013         cFilter::cFilter(cEFXFunctions* oALFunctions) : EFX(oALFunctions), Type(EFT_NULL),
00014                 Volume(1.0f), LowFreqVolume(1.0f), HighFreqVolume(1.0f), LastUpdated(0),
00015                 Valid(false), Filter(0)
00016         {
00017                 cAudioMutexBasicLock lock(Mutex);
00018                 if(EFX)
00019                         Valid = EFX->Supported;
00020
00021                 if(Valid)
00022                 {
00023                         cAudioMutexBasicLock lock(EFX->Mutex);
00024                         EFX->alGenFilters(1, &Filter);
00025                         Valid = !CheckError();
00026                         if(!Valid)
00027                                 Filter = 0;
00028                 }
00029         }
00030
00031         cFilter::~cFilter()
00032         {
00033                 cAudioMutexBasicLock lock(Mutex);
00034                 if(Filter && EFX && EFX->Supported)
00035                 {
00036                         cAudioMutexBasicLock lock(EFX->Mutex);
00037                         EFX->alDeleteFilters(1, &Filter);
00038                 }
00039         }
00040
00041         const FilterTypes& cFilter::getType() const
00042         {
00043                 return Type;
00044         }
00045
00046         void cFilter::setType(const FilterTypes& type)
00047         {
00048                 cAudioMutexBasicLock lock(Mutex);
00049                 Type = type;
00050                 UpdateFilter();
00051         }
00052
00053         float cFilter::getVolume() const
00054         {
00055                 return Volume;
00056         }
00057
00058         void cFilter::setVolume(const float& volume)
00059         {
00060                 cAudioMutexBasicLock lock(Mutex);
00061                 Volume = volume;
00062                 UpdateFilter();
00063         }
00064
00065         float cFilter::getLowFrequencyVolume() const
00066         {
00067                 return LowFreqVolume;
00068         }
00069
00070         void cFilter::setLowFrequencyVolume(const float& volumeLF)
00071         {
00072                 cAudioMutexBasicLock lock(Mutex);
00073                 LowFreqVolume = volumeLF;
00074                 UpdateFilter();
00075         }
00076
00077         float cFilter::getHighFrequencyVolume() const
00078         {
00079                 return HighFreqVolume;
00080         }
00081
00082         void cFilter::setHighFrequencyVolume(const float& volumeHF)
00083         {
00084                 cAudioMutexBasicLock lock(Mutex);
00085                 HighFreqVolume = volumeHF;
00086                 UpdateFilter();
00087         }
00088
00089         unsigned int cFilter::getLastUpdated() const
00090         {
00091                 return LastUpdated;
00092         }
00093
00094         bool cFilter::isValid() const
00095         {
00096                 return Valid;
00097         }
00098
00099         ALuint cFilter::getOpenALFilter() const
00100         {
00101                 return Filter;
00102         }
00103
00104         bool cFilter::UpdateFilter()
00105         {
00106                 ++LastUpdated;
00107
00108                 ALenum alFilterType = ConvertFilterEnum(Type);
00109
00110                 if(Filter && EFX && EFX->Supported)
00111                 {
00112                         cAudioMutexBasicLock lock(EFX->Mutex);
00113                         EFX->alFilteri(Filter, AL_FILTER_TYPE, alFilterType);
00114                         Valid = !CheckError();
00115                         if(!Valid)
00116                                 return false;
00117
00118                         if(Type == EFT_LOWPASS)
00119                         {
00120                                 EFX->alFilterf(Filter, AL_LOWPASS_GAIN, Volume);
00121                                 EFX->alFilterf(Filter, AL_LOWPASS_GAINHF, HighFreqVolume);
00122                                 Valid = !CheckError();
00123                                 return Valid;
00124                         }
00125                         else if(Type == EFT_HIGHPASS)
00126                         {
00127                                 EFX->alFilterf(Filter, AL_HIGHPASS_GAIN, Volume);
00128                                 EFX->alFilterf(Filter, AL_HIGHPASS_GAINLF, LowFreqVolume);
00129                                 Valid = !CheckError();
00130                                 return Valid;
00131                         }
00132                         else if(Type == EFT_BANDPASS)
00133                         {
00134                                 EFX->alFilterf(Filter, AL_BANDPASS_GAIN, Volume);
00135                                 EFX->alFilterf(Filter, AL_BANDPASS_GAINLF, LowFreqVolume);
00136                                 EFX->alFilterf(Filter, AL_BANDPASS_GAINHF, HighFreqVolume);
00137                                 Valid = !CheckError();
00138                                 return Valid;
00139                         }
00140                         else
00141                         {
00142                                 return true;
00143                         }
00144                 }
00145                 return false;
00146         }
00147
00148         bool cFilter::CheckError()
00149         {
00150                 int error = alGetError();
00151                 const char* errorString;
00152
00153         if (error != AL_NO_ERROR)
00154         {
00155                         errorString = alGetString(error);
00156                         if(error == AL_OUT_OF_MEMORY)
00157                                 getLogger()->logCritical("Audio Filter", "OpenAL Error: %s.", errorString);
00158                         else
00159                                 getLogger()->logError("Audio Filter", "OpenAL Error: %s.", errorString);
00160                         return true;
00161         }
00162                 return false;
00163         }
00164
00165         ALenum cFilter::ConvertFilterEnum(FilterTypes type)
00166         {
00167                 switch(type)
00168                 {
00169                 case EFT_NULL:
00170                         return AL_FILTER_NULL;
00171                 case EFT_LOWPASS:
00172                         return AL_FILTER_LOWPASS;
00173                 case EFT_HIGHPASS:
00174                         return AL_FILTER_HIGHPASS;
00175                 case EFT_BANDPASS:
00176                         return AL_FILTER_BANDPASS;
00177                 default:
00178                         return AL_FILTER_NULL;
00179                 };
00180         }
00181 };
00182
00183 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cFilter.h Source File

  • File List
Headers

cFilter.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CFILTER_H
00006 #define CFILTER_H
00007
00008 #include "../include/IFilter.h"
00009 #include "../Headers/cMutex.h"
00010 #include "../Headers/cEFXFunctions.h"
00011 #include "../Headers/cMemoryOverride.h"
00012
00013 #ifdef CAUDIO_EFX_ENABLED
00014
00015 #include <AL/al.h>
00016 #include <AL/alc.h>
00017
00018 namespace cAudio
00019 {
00020         class cFilter : public IFilter, public cMemoryOverride
00021         {
00022         public:
00023                 cFilter(cEFXFunctions* oALFunctions);
00024                 ~cFilter();
00025
00026                 virtual const FilterTypes& getType() const;
00027                 virtual void setType(const FilterTypes& type);
00028
00029                 virtual float getVolume() const;
00030                 virtual void setVolume(const float& volume);
00031
00032                 virtual float getLowFrequencyVolume() const;
00033                 virtual void setLowFrequencyVolume(const float& volumeLF);
00034
00035                 virtual float getHighFrequencyVolume() const;
00036                 virtual void setHighFrequencyVolume(const float& volumeHF);
00037
00038                 virtual unsigned int getLastUpdated() const;
00039                 virtual bool isValid() const;
00040
00041                 ALuint getOpenALFilter() const;
00042
00043         protected:
00044                 cEFXFunctions* EFX;
00045
00046                 //Mutex for thread syncronization
00047                 cAudioMutex Mutex;
00048
00049                 FilterTypes Type;
00050                 float Volume;
00051                 float LowFreqVolume;
00052                 float HighFreqVolume;
00053                 unsigned int LastUpdated;
00054
00055                 bool Valid;
00056
00057                 ALuint Filter;
00058
00059                 bool UpdateFilter();
00060                 bool CheckError();
00061                 ALenum ConvertFilterEnum(FilterTypes type);
00062         };
00063 };
00064
00065 #endif
00066
00067 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cListener.cpp Source File

  • File List
Source

cListener.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cListener.h"
00006 #include <AL/al.h>
00007 #include "../Headers/cEFXFunctions.h"
00008
00009 namespace cAudio
00010 {
00011         void cListener::setPosition(const cVector3& pos)
00012         {
00013                 cAudioMutexBasicLock lock(Mutex);
00014                 Position = pos;
00015                 alListener3f(AL_POSITION, Position.x, Position.y, Position.z);
00016         }
00017         void cListener::setDirection(const cVector3& dir)
00018         {
00019                 cAudioMutexBasicLock lock(Mutex);
00020                 Direction = dir;
00021                 float orient[6] = {Direction[0], Direction[1], Direction[2], UpVector[0], UpVector[1], UpVector[2]};
00022                 alListenerfv(AL_ORIENTATION, orient);
00023         }
00024         void cListener::setUpVector(const cVector3& up)
00025         {
00026                 cAudioMutexBasicLock lock(Mutex);
00027                 UpVector = up;
00028                 float orient[6] = {Direction[0], Direction[1], Direction[2], UpVector[0], UpVector[1], UpVector[2]};
00029                 alListenerfv(AL_ORIENTATION, orient);
00030         }
00031         void cListener::setVelocity(const cVector3& vel)
00032         {
00033                 cAudioMutexBasicLock lock(Mutex);
00034                 Velocity = vel;
00035                 alListener3f(AL_VELOCITY, Velocity.x, Velocity.y, Velocity.z);
00036         }
00037         void cListener::setMasterVolume(const float& volume)
00038         {
00039                 cAudioMutexBasicLock lock(Mutex);
00040                 MasterGain = volume;
00041                 alListenerf(AL_GAIN, MasterGain);
00042         }
00043         void cListener::move(const cVector3& pos)
00044         {
00045                 cAudioMutexBasicLock lock(Mutex);
00046                 Velocity = pos - Position;
00047                 Position = pos;
00048
00049                 alListener3f(AL_POSITION, Position.x, Position.y, Position.z);
00050                 alListener3f(AL_VELOCITY, Velocity.x, Velocity.y, Velocity.z);
00051         }
00052 #ifdef CAUDIO_EFX_ENABLED
00053                 void cListener::setMetersPerUnit(const float& meters)
00054                 {
00055                         cAudioMutexBasicLock lock(Mutex);
00056                         alListenerf(AL_METERS_PER_UNIT, meters);
00057                 }
00058
00059                 float cListener::getMetersPerUnit(void) const
00060                 {
00061                         float value = 1.0f;
00062                         alGetListenerf(AL_METERS_PER_UNIT, &value);
00063                         return value;
00064                 }
00065 #endif
00066 };
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cListener.h Source File

  • File List
Headers

cListener.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CLISTENER_H_INCLUDED
00006 #define CLISTENER_H_INCLUDED
00007
00008 #include "../include/IListener.h"
00009 #include "../Headers/cMutex.h"
00010
00011 namespace cAudio
00012 {
00013         class cListener : public IListener
00014     {
00015     public:
00016                 cListener() :   Direction(cVector3(0.f, 0.f, -1.f)),
00017                                                 UpVector(cVector3(0.f, 1.f, 0.f)),
00018                                                 MasterGain(1.f) {}
00019                 virtual ~cListener() {}
00020
00021                 virtual void setPosition(const cVector3& pos);
00022                 virtual void setDirection(const cVector3& dir);
00023                 virtual void setUpVector(const cVector3& up);
00024                 virtual void setVelocity(const cVector3& vel);
00025                 virtual void setMasterVolume(const float& volume);
00026                 virtual void move(const cVector3& pos);
00027
00028                 virtual cVector3 getPosition(void) const { return Position; }
00029                 virtual cVector3 getDirection(void) const { return Direction; }
00030                 virtual cVector3 getUpVector(void) const { return UpVector; }
00031                 virtual cVector3 getVelocity(void) const { return Velocity; }
00032                 virtual float getMasterVolume(void) const { return MasterGain; }
00033
00034 #ifdef CAUDIO_EFX_ENABLED
00035                 virtual void setMetersPerUnit(const float& meters);
00036                 virtual float getMetersPerUnit(void) const;
00037 #endif
00038
00039         protected:
00040                 cAudioMutex Mutex;
00041
00042                 cVector3 Position;
00043                 cVector3 Direction;
00044                 cVector3 UpVector;
00045                 cVector3 Velocity;
00046                 float MasterGain;
00047         private:
00048     };
00049 }
00050 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cLogger.cpp Source File

  • File List
Source

cLogger.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include <time.h>
00006 #include "../Headers/cLogger.h"
00007 #include "../Headers/cConsoleLogReceiver.h"
00008 #include "../Headers/cFileLogReceiver.h"
00009 #include "../Headers/cUtils.h"
00010
00011 namespace cAudio
00012 {
00013         static cLogger Logger;
00014         static bool FirstTimeLogInit(false);
00015
00016 #ifdef CAUDIO_COMPILE_WITH_CONSOLE_LOG_RECEIVER
00017         static cConsoleLogReceiver ConsoleLog;
00018 #endif
00019
00020 #ifdef CAUDIO_COMPILE_WITH_FILE_LOG_RECEIVER
00021         static cFileLogReceiver FileLog;
00022 #endif
00023
00024         cLogger::cLogger() : StartTime(0), MinLogLevel(ELL_INFO)
00025         {
00026                 StartTime = clock();
00027         }
00028
00029         void cLogger::logCritical( const char* sender, const char *msg, ... )
00030         {
00031                 if(ELL_CRITICAL >= MinLogLevel)
00032                 {
00033                         Mutex.lock();
00034                         va_list args;
00035                         va_start( args, msg );
00036                         broadcastMessage( ELL_CRITICAL, sender, msg, args );
00037                         va_end( args );
00038                         Mutex.unlock();
00039                 }
00040         }
00041         void cLogger::logError( const char* sender, const char *msg, ... )
00042         {
00043                 if(ELL_ERROR >= MinLogLevel)
00044                 {
00045                         Mutex.lock();
00046                         va_list args;
00047                         va_start( args, msg );
00048                         broadcastMessage( ELL_ERROR, sender, msg, args );
00049                         va_end( args );
00050                         Mutex.unlock();
00051                 }
00052         }
00053         void cLogger::logWarning( const char* sender, const char *msg, ... )
00054         {
00055                 if(ELL_WARNING >= MinLogLevel)
00056                 {
00057                         Mutex.lock();
00058                         va_list args;
00059                         va_start( args, msg );
00060                         broadcastMessage( ELL_WARNING, sender, msg, args );
00061                         va_end( args );
00062                         Mutex.unlock();
00063                 }
00064         }
00065         void cLogger::logInfo( const char* sender, const char *msg, ... )
00066         {
00067                 if(ELL_INFO >= MinLogLevel)
00068                 {
00069                         Mutex.lock();
00070                         va_list args;
00071                         va_start( args, msg );
00072                         broadcastMessage( ELL_INFO, sender, msg, args );
00073                         va_end( args );
00074                         Mutex.unlock();
00075                 }
00076         }
00077         void cLogger::logDebug( const char* sender, const char *msg, ... )
00078         {
00079                 if(ELL_DEBUG >= MinLogLevel)
00080                 {
00081                         Mutex.lock();
00082                         va_list args;
00083                         va_start( args, msg );
00084                         broadcastMessage( ELL_DEBUG, sender, msg, args );
00085                         va_end( args );
00086                         Mutex.unlock();
00087                 }
00088         }
00089         void cLogger::setLogLevel( const LogLevel& logLevel )
00090         {
00091                 Mutex.lock();
00092                 MinLogLevel = logLevel;
00093                 Mutex.unlock();
00094         }
00095         void cLogger::broadcastMessage( LogLevel level, const char* sender, const char* msg, va_list args )
00096         {
00097                 float messageTime = (clock() - StartTime) / (float)CLOCKS_PER_SEC;
00098                 vsnprintf( TempTextBuf, 2048, msg, args );
00099
00100                 ReceiversIterator it = Receivers.begin();
00101         for (it = Receivers.begin(); it != Receivers.end(); it++)
00102         {
00103             it->second->OnLogMessage(sender, TempTextBuf, level, messageTime);
00104         }
00105         }
00106         bool cLogger::registerLogReceiver(ILogReceiver* receiver, const char* name)
00107     {
00108                 Mutex.lock();
00109                 cAudioString logName = safeCStr(name);
00110         Receivers[logName] = receiver;
00111                 Mutex.unlock();
00112                 return true;
00113     }
00114
00115         void cLogger::unRegisterLogReceiver(const char* name)
00116         {
00117                 Mutex.lock();
00118                 cAudioString logName = safeCStr(name);
00119                 ReceiversIterator it = Receivers.find(logName);
00120                 if(it != Receivers.end())
00121                 {
00122                         Receivers.erase(it);
00123                 }
00124                 Mutex.unlock();
00125         }
00126
00127         bool cLogger::isLogReceiverRegistered(const char* name)
00128         {
00129                 Mutex.lock();
00130                 cAudioString logName = safeCStr(name);
00131                 ReceiversIterator it = Receivers.find(logName);
00132                 bool result = (it != Receivers.end());
00133                 Mutex.unlock();
00134                 return result;
00135         }
00136
00137         ILogReceiver* cLogger::getLogReceiver(const char* name)
00138         {
00139                 Mutex.lock();
00140                 cAudioString logName = safeCStr(name);
00141                 ReceiversIterator it = Receivers.find(logName);
00142                 if(it != Receivers.end())
00143                 {
00144                         Mutex.unlock();
00145                         return it->second;
00146                 }
00147                 Mutex.unlock();
00148                 return NULL;
00149         }
00150
00151         CAUDIO_API ILogger* getLogger()
00152         {
00153                 if(!FirstTimeLogInit)
00154                 {
00155                         FirstTimeLogInit = true;
00156 #ifdef CAUDIO_COMPILE_WITH_CONSOLE_LOG_RECEIVER
00157                         Logger.registerLogReceiver(&ConsoleLog, "Console");
00158 #endif
00159 #ifdef CAUDIO_COMPILE_WITH_FILE_LOG_RECEIVER
00160                         Logger.registerLogReceiver(&FileLog,"File");
00161 #endif
00162                 }
00163                 return &Logger;
00164         }
00165 };
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cLogger.h Source File

  • File List
Headers

cLogger.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CLOGGER_H_INCLUDED
00006 #define CLOGGER_H_INCLUDED
00007
00008 #include <stdarg.h>
00009
00010 #include "../include/ILogger.h"
00011 #include "../Headers/cMutex.h"
00012 #include "../Headers/cSTLAllocator.h"
00013
00014 namespace cAudio
00015 {
00016         class cLogger : public ILogger
00017     {
00018     public:
00019                 cLogger();
00020                 virtual ~cLogger() { }
00021
00022                 virtual void logCritical( const char* sender, const char *msg, ... );
00023                 virtual void logError( const char* sender, const char *msg, ... );
00024                 virtual void logWarning( const char* sender, const char *msg, ... );
00025                 virtual void logInfo( const char* sender, const char *msg, ... );
00026                 virtual void logDebug( const char* sender, const char *msg, ... );
00027
00028                 virtual const LogLevel& getLogLevel() const { return MinLogLevel; }
00029                 virtual void setLogLevel( const LogLevel& logLevel );
00030
00031                 virtual bool registerLogReceiver(ILogReceiver* receiver, const char* name);
00032                 virtual void unRegisterLogReceiver(const char* name);
00033                 virtual bool isLogReceiverRegistered(const char* name);
00034                 virtual ILogReceiver* getLogReceiver(const char* name);
00035
00036         protected:
00037                 void broadcastMessage( LogLevel level, const char* sender, const char* msg, va_list args );
00038
00039                 cAudioMutex Mutex;
00040                 unsigned long StartTime;
00041                 char TempTextBuf[2048];
00042                 LogLevel MinLogLevel;
00043                 cAudioMap<cAudioString, ILogReceiver*>::Type Receivers;
00044                 typedef cAudioMap<cAudioString, ILogReceiver*>::Type::iterator ReceiversIterator;
00045         private:
00046     };
00047 };
00048 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cMemoryOverride.h Source File

  • File List
Headers

cMemoryOverride.h

00001 #ifndef CMEMORYOVERRIDE_H_INCLUDED
00002 #define CMEMORYOVERRIDE_H_INCLUDED
00003
00004 #include <new>
00005 #include "../include/cAudioMemory.h"
00006
00007 namespace cAudio
00008 {
00010         class cMemoryOverride
00011         {
00012         public:
00013                 void* operator new(size_t size, const char* file, int line, const char* function)
00014                 {
00015                         return cAudio::getMemoryProvider()->Allocate(size, file, line, function);
00016                 }
00017
00018                 void* operator new(size_t size)
00019                 {
00020                         return cAudio::getMemoryProvider()->Allocate(size, NULL, -1, NULL);
00021                 }
00022
00023                 void* operator new(size_t size, void* pointer)
00024                 {
00025                         (void) size;
00026                         return pointer;
00027                 }
00028
00029                 void* operator new[] ( size_t size, const char* file, int line, const char* function )
00030                 {
00031                         return cAudio::getMemoryProvider()->Allocate(size, file, line, function);
00032                 }
00033
00034                 void* operator new[] ( size_t size )
00035                 {
00036                         return cAudio::getMemoryProvider()->Allocate(size, NULL, -1, NULL);
00037                 }
00038
00039                 void operator delete( void* pointer )
00040                 {
00041                         cAudio::getMemoryProvider()->Free(pointer);
00042                 }
00043
00044                 void operator delete( void* pointer, void* )
00045                 {
00046                         cAudio::getMemoryProvider()->Free(pointer);
00047                 }
00048
00049                 void operator delete( void* pointer, const char* , int , const char*  )
00050                 {
00051                         cAudio::getMemoryProvider()->Free(pointer);
00052                 }
00053
00054                 void operator delete[] ( void* pointer )
00055                 {
00056                         cAudio::getMemoryProvider()->Free(pointer);
00057                 }
00058
00059                 void operator delete[] ( void* pointer, const char* , int , const char*  )
00060                 {
00061                         cAudio::getMemoryProvider()->Free(pointer);
00062                 }
00063         };
00064 };
00065
00066 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cMemorySource.cpp Source File

  • File List
Source

cMemorySource.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cMemorySource.h"
00006
00007 #include <cstring>
00008
00009 namespace cAudio
00010 {
00011
00012 cMemorySource::cMemorySource(const void* data, int size, bool copy) : Data(NULL), Size(0), Valid(false), Pos(0)
00013 {
00014     if(data && size > 0)
00015     {
00016         Size = size;
00017         if(copy)
00018         {
00019             Data = (char*)CAUDIO_MALLOC(Size);
00020                         if(Data)
00021                                 memcpy(Data, data, Size);
00022         }
00023         else
00024         {
00025             Data = (char*)data;
00026         }
00027                 if(Data)
00028                         Valid = true;
00029     }
00030 }
00031
00032 cMemorySource::~cMemorySource()
00033 {
00034     CAUDIO_FREE(Data);
00035 }
00036
00037 bool cMemorySource::isValid()
00038 {
00039     return Valid;
00040 }
00041
00042 int cMemorySource::getCurrentPos()
00043 {
00044     return Pos;
00045 }
00046
00047 int cMemorySource::getSize()
00048 {
00049     return Size;
00050 }
00051
00052 int cMemorySource::read(void* output, int size)
00053 {
00054
00055     //memset(output, 0, size);
00056     if(Pos+size <= Size)
00057     {
00058         memcpy(output, Data+Pos, size);
00059         Pos += size;
00060         return size;
00061     }
00062     else
00063     {
00064         int extra = (Pos+size) - Size;
00065         int copied = size - extra;
00066         memcpy(output, Data+Pos, copied);
00067         Pos = Size;
00068         return copied;
00069     }
00070 }
00071
00072 bool cMemorySource::seek(int amount, bool relative)
00073 {
00074     if(relative)
00075     {
00076         Pos += amount;
00077         if(Pos > Size)
00078         {
00079             Pos = Size;
00080             return false;
00081         }
00082     }
00083     else
00084     {
00085         Pos = amount;
00086         if(Pos > Size)
00087         {
00088             Pos = Size;
00089             return false;
00090         }
00091     }
00092
00093     return true;
00094 }
00095
00096 };
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cMemorySource.h Source File

  • File List
Headers

cMemorySource.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CMEMORYSOURCE_H
00006 #define CMEMORYSOURCE_H
00007
00008 #include "../include/IDataSource.h"
00009 #include "../Headers/cMemoryOverride.h"
00010
00011 namespace cAudio
00012 {
00013
00015 class cMemorySource : public IDataSource, public cMemoryOverride
00016 {
00017     public:
00023         cMemorySource(const void* data, int size, bool copy);
00024         ~cMemorySource();
00025
00026         virtual bool isValid();
00027         virtual int getCurrentPos();
00028         virtual int getSize();
00029         virtual int read(void* output, int size);
00030         virtual bool seek(int amount, bool relative);
00031     protected:
00032         char* Data;
00033         int Size;
00034         bool Valid;
00035         int Pos;
00036     private:
00037 };
00038
00039 };
00040
00041 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cMemoryTracker.cpp Source File

  • File List
Source

cMemoryTracker.cpp

00001 #include "../Headers/cMemoryTracker.h"
00002
00003 #ifdef CAUDIO_USE_MEMORYTRACKER
00004
00005 namespace cAudio
00006 {
00007
00008 cMemoryTracker::cMemoryTracker()
00009 {
00010 #ifdef CAUDIO_MEMORYTRACKER_LOG_ALL_ALLOCATIONS
00011         outMemLog.open("cAudioMemoryLog.log");
00012 #endif
00013 }
00014
00015 cMemoryTracker::~cMemoryTracker()
00016 {
00017 #ifdef CAUDIO_MEMORYTRACKER_LOG_ALL_ALLOCATIONS
00018         outMemLog.close();
00019 #endif
00020         DumpLeaks();
00021 }
00022
00023 void cMemoryTracker::AddAllocation(void* pointer, size_t size, const char* filename, int line, const char* function)
00024 {
00025         cAudioMutexBasicLock lock(Mutex);
00026         cTrackedMemoryBlock block;
00027         block.size = size;
00028         block.filename = filename;
00029         block.line = line;
00030         block.function = function;
00031         TrackedBlocks[pointer] = block;
00032
00033 #ifdef CAUDIO_MEMORYTRACKER_GENERATE_STATISTICS
00034         MemStats.CurrentAllocationBytes += size;
00035         MemStats.TotalAllocationBytes += size;
00036
00037         MemStats.CurrentNumAllocations += 1;
00038         MemStats.TotalNumAllocations += 1;
00039
00040         MemStats.AllocationHighWaterMark = MemStats.CurrentAllocationBytes > MemStats.AllocationHighWaterMark ? MemStats.CurrentAllocationBytes : MemStats.AllocationHighWaterMark;
00041         MemStats.MaxNumAllocations = MemStats.CurrentNumAllocations > MemStats.MaxNumAllocations ? MemStats.CurrentNumAllocations : MemStats.MaxNumAllocations;
00042 #endif
00043
00044 #ifdef CAUDIO_MEMORYTRACKER_LOG_ALL_ALLOCATIONS
00045         if(outMemLog.good())
00046         {
00047                 outMemLog << "Allocation at " << pointer << " with size " << size << " bytes in " << filename << " (Line: " << line << ") function: " << function << std::endl;
00048                 outMemLog.flush();
00049         }
00050 #endif
00051 }
00052
00053 void cMemoryTracker::RemoveAllocation(void* pointer)
00054 {
00055         cAudioMutexBasicLock lock(Mutex);
00056         std::map<void*, cTrackedMemoryBlock>::iterator it = TrackedBlocks.find(pointer);
00057         if(it != TrackedBlocks.end())
00058         {
00059 #ifdef CAUDIO_MEMORYTRACKER_LOG_ALL_ALLOCATIONS
00060                 if(outMemLog.good())
00061                 {
00062                         outMemLog << "Deallocation of address " << pointer << " with size " << it->second.size << " bytes in " << it->second.filename << " (Line: " << it->second.line << ") function: " << it->second.function << std::endl;
00063                         outMemLog.flush();
00064                 }
00065 #endif
00066
00067 #ifdef CAUDIO_MEMORYTRACKER_GENERATE_STATISTICS
00068                 size_t size = it->second.size;
00069                 MemStats.CurrentAllocationBytes -= size;
00070                 MemStats.CurrentNumAllocations -= 1;
00071 #endif
00072                 TrackedBlocks.erase(pointer);
00073         }
00074 }
00075
00076 void cMemoryTracker::DumpLeaks()
00077 {
00078         cAudioMutexBasicLock lock(Mutex);
00079
00080         std::ofstream leakFile("cAudioMemoryLeaks.log");
00081
00082 #ifdef CAUDIO_MEMORYTRACKER_GENERATE_STATISTICS
00083         //Dump Statistics
00084         leakFile << "Highest Amount of Allocated Memory: " << MemStats.AllocationHighWaterMark << " bytes." << std::endl;
00085         leakFile << "Memory Allocated at Shutdown: " << MemStats.CurrentAllocationBytes << " bytes." << std::endl;
00086         leakFile << "Total Allocated Memory: " << MemStats.TotalAllocationBytes << " bytes." << std::endl;
00087
00088         leakFile << "Highest Number of Allocated Objects: " << MemStats.MaxNumAllocations << std::endl;
00089         leakFile << "Objects Allocated at Shutdown: " << MemStats.CurrentNumAllocations << std::endl;
00090         leakFile << "Total Objects Allocated: " << MemStats.TotalNumAllocations << std::endl;
00091         leakFile << std::endl;
00092 #endif
00093
00094         std::map<void*, cTrackedMemoryBlock>::iterator it;
00095         for(it = TrackedBlocks.begin(); it != TrackedBlocks.end(); it++)
00096         {
00097                 if(leakFile.good())
00098                 {
00099                         leakFile << "Address:" << it->first << " Size:" << it->second.size << " in " << it->second.filename << " (Line: " << it->second.line << ") function: " << it->second.function << std::endl;
00100                         leakFile.flush();
00101                 }
00102         }
00103
00104         if(TrackedBlocks.size() == 0)
00105         {
00106                 leakFile << "No Leaks Detected!" << std::endl;
00107                 leakFile.flush();
00108         }
00109
00110         leakFile.close();
00111 }
00112
00113 };
00114
00115 #endif
00116
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cMemoryTracker.h Source File

  • File List
Headers

cMemoryTracker.h

00001 #ifndef CMEMORYTRACKER_H_INCLUDED
00002 #define CMEMORYTRACKER_H_INCLUDED
00003
00004 #include "../include/cAudioDefines.h"
00005
00006 #ifdef CAUDIO_USE_MEMORYTRACKER
00007
00008 #include <map>
00009 #include "../Headers/cMutex.h"
00010 #include <iostream>
00011 #include <fstream>
00012
00013 namespace cAudio
00014 {
00016         class cMemoryTracker
00017         {
00018         public:
00019                 cMemoryTracker();
00020                 ~cMemoryTracker();
00021
00022                 static cMemoryTracker* Instance()
00023                 {
00024                         static cMemoryTracker Singleton;
00025                         return &Singleton;
00026                 }
00027
00029                 void AddAllocation(void* pointer, size_t size, const char* filename, int line, const char* function);
00030
00032                 void RemoveAllocation(void* pointer);
00033
00034         private:
00035                 cAudioMutex Mutex;
00036
00037                 struct cTrackedMemoryBlock
00038                 {
00039                         size_t size;
00040                         const char* filename;
00041                         int line;
00042                         const char* function;
00043                 };
00044
00045                 std::map<void*, cTrackedMemoryBlock> TrackedBlocks;
00046
00047 #ifdef CAUDIO_MEMORYTRACKER_GENERATE_STATISTICS
00048                 struct Statistics
00049                 {
00050                         Statistics() : AllocationHighWaterMark(0), CurrentAllocationBytes(0),
00051                                                    TotalAllocationBytes(0), MaxNumAllocations(0),
00052                                                    CurrentNumAllocations(0), TotalNumAllocations(0)
00053                         { }
00054                         size_t AllocationHighWaterMark;
00055                         size_t CurrentAllocationBytes;
00056                         size_t TotalAllocationBytes;
00057
00058                         size_t MaxNumAllocations;
00059                         size_t CurrentNumAllocations;
00060                         size_t TotalNumAllocations;
00061                 } MemStats;
00062 #endif
00063
00064                 void DumpLeaks();
00065
00066 #ifdef CAUDIO_MEMORYTRACKER_LOG_ALL_ALLOCATIONS
00067                 std::ofstream outMemLog;
00068 #endif
00069         };
00070 };
00071
00072 #endif
00073
00074 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cMutex.cpp Source File

  • File List
Source

cMutex.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cMutex.h"
00006
00007 namespace cAudio
00008 {
00009 #ifdef CAUDIO_MAKE_THREAD_SAFE
00010         cAudioMutex::cAudioMutex() : Initialized(false)
00011         {
00012         }
00013
00014         cAudioMutex::~cAudioMutex()
00015         {
00016                 if(!Initialized)
00017                         return;
00018                 #ifdef CAUDIO_PLATFORM_WIN
00019                 DeleteCriticalSection(&criticalSection);
00020                 #else
00021                 pthread_mutex_destroy(&Mutex);
00022                 #endif
00023         }
00024
00025         void cAudioMutex::lock(void)
00026         {
00027                 if(!Initialized)
00028                         initialize();
00029
00030         #ifdef CAUDIO_PLATFORM_WIN
00031                 EnterCriticalSection(&criticalSection);
00032         #else
00033                 int error = pthread_mutex_lock(&Mutex);
00034         #endif
00035         }
00036
00037         void cAudioMutex::unlock(void)
00038         {
00039                 if(!Initialized)
00040                         return;
00041         #ifdef CAUDIO_PLATFORM_WIN
00042                 LeaveCriticalSection(&criticalSection);
00043         #else
00044                 int error = pthread_mutex_unlock(&Mutex);
00045         #endif
00046         }
00047
00048         void cAudioMutex::initialize(void)
00049         {
00050         #ifdef CAUDIO_PLATFORM_WIN
00051                 InitializeCriticalSection(&criticalSection);
00052         #else
00053                 pthread_mutexattr_t attr;
00054                 int error = pthread_mutexattr_init(&attr);
00055                 error = pthread_mutexattr_settype(&attr,PTHREAD_MUTEX_RECURSIVE);
00056                 error = pthread_mutex_init(&Mutex, &attr);
00057                 error = pthread_mutexattr_destroy(&attr);
00058         #endif
00059                 Initialized=true;
00060         }
00061 #else
00062         cAudioMutex::cAudioMutex() : Initialized(false)
00063         {
00064         }
00065
00066         cAudioMutex::~cAudioMutex()
00067         {
00068                 //Do nothing
00069         }
00070
00071         void cAudioMutex::lock(void)
00072         {
00073                 //Do nothing
00074         }
00075
00076         void cAudioMutex::unlock(void)
00077         {
00078                 //Do nothing
00079         }
00080
00081         void cAudioMutex::initialize(void)
00082         {
00083                 //Do nothing
00084         }
00085 #endif
00086
00087 };
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cMutex.h Source File

  • File List
Headers

cMutex.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CAUDIOMUTEX_H
00006 #define CAUDIOMUTEX_H
00007
00008 #include "../include/cAudioDefines.h"
00009
00010 #ifdef CAUDIO_MAKE_THREAD_SAFE
00011         #ifdef CAUDIO_PLATFORM_WIN
00012         #include <windows.h>    //Basic windows include
00013         #else
00014         #include <pthread.h>    //Assumed linux system
00015         #endif
00016 #endif
00017
00018 namespace cAudio
00019 {
00020 #ifdef CAUDIO_MAKE_THREAD_SAFE
00022         class cAudioMutex
00023         {
00024         public:
00025                 cAudioMutex();
00026                 ~cAudioMutex();
00027
00028                 void lock();
00029                 void unlock();
00030         private:
00031                 void initialize();
00032                 #ifdef CAUDIO_PLATFORM_WIN
00033                 CRITICAL_SECTION criticalSection;
00034                 #else
00035                 pthread_mutex_t Mutex;
00036                 #endif
00037                 bool Initialized;
00038         };
00039 #else
00040         //Dud class to disable the mutex
00041         class cAudioMutex
00042         {
00043         public:
00044                 cAudioMutex();
00045                 ~cAudioMutex();
00046
00047                 void lock();
00048                 void unlock();
00049         private:
00050                 void initialize();
00051                 bool Initialized;
00052         };
00053 #endif
00054
00055         class cAudioMutexBasicLock
00056         {
00057         public:
00058                 cAudioMutexBasicLock(cAudioMutex& mutex) : Mutex(&mutex)
00059                 {
00060                         Mutex->lock();
00061                 }
00062                 ~cAudioMutexBasicLock()
00063                 {
00064                         Mutex->unlock();
00065                 }
00066         protected:
00067                 cAudioMutex* Mutex;
00068         };
00069 };
00070
00071 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cOggAudioDecoderFactory.cpp Source File

  • File List
Source

cOggAudioDecoderFactory.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cOggAudioDecoderFactory.h"
00006
00007
00008
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cOggAudioDecoderFactory.h Source File

  • File List
Headers

cOggAudioDecoderFactory.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef COGGAUDIODECODERFACTORY_H
00006 #define COGGAUDIODECODERFACTORY_H
00007
00008 #include "../include/IAudioDecoderFactory.h"
00009 #include "cOggDecoder.h"
00010 #include "../Headers/cMutex.h"
00011
00012 #ifdef CAUDIO_COMPILE_WITH_OGG_DECODER
00013
00014 namespace cAudio
00015 {
00016
00017 class cOggAudioDecoderFactory : public IAudioDecoderFactory
00018 {
00019     public:
00020         cOggAudioDecoderFactory() {}
00021         ~cOggAudioDecoderFactory() {}
00022
00023         IAudioDecoder* CreateAudioDecoder(IDataSource* stream)
00024         {
00025                         Mutex.lock();
00026                         IAudioDecoder* decoder = CAUDIO_NEW cOggDecoder(stream);
00027                         Mutex.unlock();
00028             return decoder;
00029         }
00030
00031     protected:
00032                 cAudioMutex Mutex;
00033     private:
00034 };
00035
00036 };
00037
00038 #endif
00039
00040 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cOggDecoder.cpp Source File

  • File List
Source

cOggDecoder.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cOggDecoder.h"
00006
00007 #ifdef CAUDIO_COMPILE_WITH_OGG_DECODER
00008
00009 namespace cAudio
00010 {
00012     size_t VorbisRead(void *ptr, size_t byteSize,size_t sizeToRead, void *datasource)
00013     {
00014         IDataSource* Stream = (IDataSource*)datasource;
00015         return Stream->read(ptr,byteSize*sizeToRead);
00016     }
00017
00019     int VorbisSeek(void *datasource,ogg_int64_t offset,int whence)
00020     {
00021         IDataSource* Stream = (IDataSource*)datasource;
00022         switch (whence)
00023         {
00024         case SEEK_SET:
00025             Stream->seek(offset, false);
00026             break;
00027
00028         case SEEK_CUR:
00029             Stream->seek(offset, true);
00030             break;
00031
00032         case SEEK_END:
00033             Stream->seek(Stream->getSize()-offset, false);
00034             break;
00035         };
00036         return 0;
00037     }
00038
00040     long VorbisTell(void *datasource)
00041     {
00042         return ((IDataSource*)datasource)->getCurrentPos();
00043     }
00044
00045         int VorbisCloseFunc(void *datasource)
00046         {
00047                 return 0;
00048         }
00049
00050     cOggDecoder::cOggDecoder(IDataSource* stream) : IAudioDecoder(stream)
00051     {
00052         vorbisCallbacks.read_func = VorbisRead;
00053         vorbisCallbacks.close_func = VorbisCloseFunc;
00054         vorbisCallbacks.seek_func = VorbisSeek;
00055         vorbisCallbacks.tell_func = VorbisTell;
00056         Valid = (ov_open_callbacks(Stream,&oggStream,NULL,0,vorbisCallbacks) == 0);
00057
00058                 if(Valid)
00059                 {
00060                         vorbisInfo = ov_info(&oggStream, -1);
00061                         vorbisComment = ov_comment(&oggStream,-1);
00062                 }
00063     }
00064
00065     cOggDecoder::~cOggDecoder()
00066     {
00067         ov_clear(&oggStream);
00068     }
00069
00070     AudioFormats cOggDecoder::getFormat()
00071     {
00072                 if(Valid)
00073                 {
00074                         if(vorbisInfo->channels == 1)
00075                         {
00076                                 return EAF_16BIT_MONO;
00077                         }
00078                         else
00079                         {
00080                                 return EAF_16BIT_STEREO;
00081                         }
00082                 }
00083                 return EAF_8BIT_MONO;
00084     }
00085
00086     int cOggDecoder::getFrequency()
00087     {
00088                 if(Valid)
00089                 {
00090                         return vorbisInfo->rate;
00091                 }
00092                 return 0;
00093     }
00094
00095     bool cOggDecoder::isSeekingSupported()
00096     {
00097                 if(Valid)
00098                 {
00099                         return (ov_seekable(&oggStream)!=0);
00100                 }
00101                 return false;
00102     }
00103
00104         bool cOggDecoder::isValid()
00105         {
00106                 return Valid;
00107         }
00108
00109     int cOggDecoder::readAudioData(void* output, int amount)
00110     {
00111                 if(Valid)
00112                 {
00113                         int temp = 0;
00114                         int result = ov_read(&oggStream,(char*)output,amount,0,2,1,&temp);
00115                         //return (result < 0) ? 0 : result;
00116                         return result;
00117                 }
00118                 return 0;
00119     }
00120
00121     bool cOggDecoder::setPosition(int position, bool relative)
00122     {
00123                 if(Valid)
00124                 {
00125                         if(ov_seekable(&oggStream))
00126                         {
00127                                 return (ov_raw_seek(&oggStream,position)==0);
00128                         }
00129                 }
00130                 return false;
00131     }
00132
00133     bool cOggDecoder::seek(float seconds, bool relative)
00134     {
00135                 if(Valid)
00136                 {
00137                         if(ov_seekable(&oggStream))
00138                         {
00139                                 if(relative)
00140                                 {
00141                                         float curtime = ov_time_tell(&oggStream);
00142                                         return (ov_time_seek(&oggStream,curtime+seconds)==0);
00143                                 }
00144                                 else
00145                                         return (ov_time_seek(&oggStream,seconds)==0);
00146                         }
00147                 }
00148         return false;
00149     }
00150
00151         float cOggDecoder::getTotalTime()
00152         {
00153                 return ov_time_total(&oggStream, -1);
00154         }
00155
00156         int cOggDecoder::getTotalSize()
00157         {
00158                 return ov_pcm_total(&oggStream, -1) * vorbisInfo->channels;
00159         }
00160
00161         int cOggDecoder::getCompressedSize()
00162         {
00163                 return ov_raw_total(&oggStream, -1);
00164         }
00165
00166         float cOggDecoder::getCurrentTime()
00167         {
00168                 return ov_time_tell(&oggStream);
00169         }
00170
00171         int cOggDecoder::getCurrentPosition()
00172         {
00173                 return ov_pcm_tell(&oggStream) * vorbisInfo->channels;
00174         }
00175
00176         int cOggDecoder::getCurrentCompressedPosition()
00177         {
00178                 return ov_raw_tell(&oggStream);
00179         }
00180 };
00181
00182 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cOggDecoder.h Source File

  • File List
Headers

cOggDecoder.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef COGGDECODER_H_INCLUDED
00006 #define COGGDECODER_H_INCLUDED
00007
00008 #include "../include/cAudioDefines.h"
00009
00010 #ifdef CAUDIO_COMPILE_WITH_OGG_DECODER
00011
00012 #include "../include/IAudioDecoder.h"
00013 #include <ogg/ogg.h>
00014 #include <vorbis/codec.h>
00015 #include <vorbis/vorbisfile.h>
00016 #include "../Headers/cMemoryOverride.h"
00017
00018 namespace cAudio
00019 {
00020
00021     class cOggDecoder : public IAudioDecoder, public cMemoryOverride
00022     {
00023         public:
00024
00025             cOggDecoder(IDataSource* stream);
00026             ~cOggDecoder();
00027
00028             virtual AudioFormats getFormat();
00029             virtual int getFrequency();
00030             virtual bool isSeekingSupported();
00031                         virtual bool isValid();
00032             virtual int readAudioData(void* output, int amount);
00033             virtual bool setPosition(int position, bool relative);
00034             virtual bool seek(float seconds,bool relative);
00035                         virtual float getTotalTime();
00036                         virtual int getTotalSize();
00037                         virtual int getCompressedSize();
00038                         virtual float getCurrentTime();
00039                         virtual int getCurrentPosition();
00040                         virtual int getCurrentCompressedPosition();
00041
00042         protected:
00044             ov_callbacks vorbisCallbacks;
00046             vorbis_info* vorbisInfo;
00048             vorbis_comment* vorbisComment;
00050             OggVorbis_File oggStream;
00051                         bool Valid;
00052     };
00053
00054 }
00055
00056 #endif
00057
00058 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cPluginManager.cpp Source File

  • File List
Source

cPluginManager.cpp

00001 #include "../Headers/cPluginManager.h"
00002 #include "../Headers/cUtils.h"
00003 #include "../include/cAudioPlatform.h"
00004 #include "../include/cAudioDefines.h"
00005 #include "../include/ILogger.h"
00006
00007 #ifdef CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
00008
00009 namespace cAudio
00010 {
00011
00012 #ifdef CAUDIO_COMPILE_WITH_DYNAMIC_PLUGIN_SUPPORT
00013 typedef IAudioPlugin* (*GetPluginModule)(const char* version);
00014 #endif
00015
00016 cPluginManager::cPluginManager()
00017 {
00018 #ifdef CAUDIO_COMPILE_WITH_DYNAMIC_PLUGIN_SUPPORT
00019         autoLoadPlugins();
00020 #endif
00021 }
00022
00023 cPluginManager::~cPluginManager()
00024 {
00025 #ifdef CAUDIO_COMPILE_WITH_DYNAMIC_PLUGIN_SUPPORT
00026         DynamicallyLoadedPluginsIterator it;
00027         for(it = DynamicallyLoadedPlugins.begin(); it != DynamicallyLoadedPlugins.end(); it++)
00028         {
00029                 //Found a plugin we loaded from the filesystem, unload it and delete the plugin
00030                 it->first->drop();
00031                 if(DYNLIB_UNLOAD(it->second))
00032                 {
00033                         //Could be an error, not reporting it for now
00034                 }
00035         }
00036 #endif
00037 }
00038
00039 bool cPluginManager::installPlugin(IAudioPlugin* plugin, const char* name)
00040 {
00041         if(plugin)
00042         {
00043                 cAudioString theName = safeCStr(name);
00044                 if(theName.empty())
00045                         theName = plugin->getPluginName();
00046
00047                 if(plugin->installPlugin(getLogger()))
00048                 {
00049                         RegisteredPlugins[theName] = plugin;
00050                         return true;
00051                 }
00052         }
00053         return false;
00054 }
00055
00056 bool cPluginManager::installPlugin(const char* filename, const char* name)
00057 {
00058 #ifdef CAUDIO_COMPILE_WITH_DYNAMIC_PLUGIN_SUPPORT
00059         DYNLIB_HANDLE m_hInst = DYNLIB_LOAD(filename);
00060         if(m_hInst)
00061         {
00062                 GetPluginModule moduleFunc = (GetPluginModule)DYNLIB_GETSYM(m_hInst, "GetPluginModule");
00063
00064                 if(moduleFunc)
00065                 {
00066                         IAudioPlugin* plugin = moduleFunc(CAUDIO_VERSION);
00067
00068                         if(plugin)
00069                         {
00070                                 DynamicallyLoadedPlugins[plugin] = m_hInst;
00071
00072                                 return installPlugin(plugin, name);
00073                         }
00074                 }
00075         }
00076 #endif
00077         return false;
00078 }
00079
00080 bool cPluginManager::checkForPlugin(const char* name)
00081 {
00082         return (RegisteredPlugins.find(name) != RegisteredPlugins.end());
00083 }
00084
00085 IAudioPlugin* cPluginManager::getPlugin(const char* name)
00086 {
00087         if(RegisteredPlugins.find(name) != RegisteredPlugins.end())
00088         {
00089                 return RegisteredPlugins[name];
00090         }
00091         return NULL;
00092 }
00093
00094 unsigned int cPluginManager::getPluginCount()
00095 {
00096         return RegisteredPlugins.size();
00097 }
00098
00099 cAudioVector<IAudioPlugin*>::Type cPluginManager::getPluginList()
00100 {
00101         cAudioVector<IAudioPlugin*>::Type list;
00102         RegisteredPluginsIterator it;
00103         for(it = RegisteredPlugins.begin(); it != RegisteredPlugins.end(); it++)
00104         {
00105                 list.push_back(it->second);
00106         }
00107         return list;
00108 }
00109
00110 void cPluginManager::uninstallPlugin(IAudioPlugin* plugin)
00111 {
00112         if(plugin)
00113         {
00114                 RegisteredPluginsIterator it;
00115                 for(it = RegisteredPlugins.begin(); it != RegisteredPlugins.end(); it++)
00116                 {
00117                         if(it->second == plugin)
00118                         {
00119                                 RegisteredPlugins.erase(it->first);
00120                                 break;
00121                         }
00122                 }
00123
00124 #ifdef CAUDIO_COMPILE_WITH_DYNAMIC_PLUGIN_SUPPORT
00125                 DynamicallyLoadedPluginsIterator it2 = DynamicallyLoadedPlugins.find(plugin);
00126                 if(it2 != DynamicallyLoadedPlugins.end())
00127                 {
00128                         //Found a plugin we loaded from the filesystem, unload it and delete the plugin
00129                         it2->first->drop();
00130                         if(DYNLIB_UNLOAD(it2->second))
00131                         {
00132                                 //Could be an error, not reporting it for now
00133                         }
00134                         DynamicallyLoadedPlugins.erase(it2->first);
00135                 }
00136 #endif
00137         }
00138 }
00139
00140 void cPluginManager::uninstallPlugin(const char* name)
00141 {
00142         if(RegisteredPlugins.find(name) != RegisteredPlugins.end())
00143         {
00144                 uninstallPlugin(RegisteredPlugins[name]);
00145         }
00146 }
00147
00148 #ifdef CAUDIO_COMPILE_WITH_DYNAMIC_PLUGIN_SUPPORT
00149 void cPluginManager::autoLoadPlugins()
00150 {
00151         cAudioVector<cAudioString>::Type fileList = getFilesInDirectory(".");
00152         for(int i=0; i<fileList.size(); ++i)
00153         {
00154                 if(fileList[i].substr(0, 4) == "cAp_")
00155                 {
00156 #ifdef CAUDIO_PLATFORM_WIN
00157                         if(fileList[i].substr(fileList[i].length()-4, 4) == ".dll")
00158 #endif
00159 #ifdef CAUDIO_PLATFORM_LINUX
00160                         if(fileList[i].substr(fileList[i].length()-3, 3) == ".so")
00161 #endif
00162 #ifdef CAUDIO_PLATFORM_MAC
00163                         if(fileList[i].substr(fileList[i].length()-6, 6) == ".dylib")
00164 #endif
00165                         {
00166                                 //Found a plugin, load it
00167                                 installPlugin(cAudioString("./" + fileList[i]).c_str(), NULL);
00168                         }
00169                 }
00170         }
00171 }
00172 #endif
00173
00174 CAUDIO_API IPluginManager* getPluginManager()
00175 {
00176         return cPluginManager::Instance();
00177 }
00178
00179 };
00180
00181 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:16 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cPluginManager.h Source File

  • File List
Headers

cPluginManager.h

00001 #ifndef CPLUGINMANAGER_H_INCLUDED
00002 #define CPLUGINMANAGER_H_INCLUDED
00003
00004 #include "../include/IPluginManager.h"
00005 #include "../include/IAudioPlugin.h"
00006 #include "../Headers/cMutex.h"
00007 #include "../Headers/cSTLAllocator.h"
00008
00009 #ifdef CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
00010
00011 #ifdef CAUDIO_COMPILE_WITH_DYNAMIC_PLUGIN_SUPPORT
00012
00013 #ifdef CAUDIO_PLATFORM_WIN
00014 #       define WIN32_LEAN_AND_MEAN
00015 #       include <windows.h>
00016
00017 struct HINSTANCE__;
00018 typedef struct HINSTANCE__* hInstance;
00019
00020 #       define DYNLIB_HANDLE hInstance
00021 #       define DYNLIB_LOAD( a ) LoadLibraryEx( a, NULL, LOAD_WITH_ALTERED_SEARCH_PATH )
00022 #       define DYNLIB_GETSYM( a, b ) GetProcAddress( a, b )
00023 #       define DYNLIB_UNLOAD( a ) !FreeLibrary( a )
00024 #endif
00025
00026 #ifdef CAUDIO_PLATFORM_MAC
00027 #   include <dlfcn.h>
00028 #       define DYNLIB_HANDLE void*
00029 #       define DYNLIB_LOAD( a ) dlopen( a, RTLD_LAZY | RTLD_GLOBAL)
00030 #       define DYNLIB_GETSYM( a, b ) dlsym( a, b )
00031 #       define DYNLIB_UNLOAD( a ) dlclose( a )
00032 #endif
00033
00034 #ifdef CAUDIO_PLATFORM_LINUX
00035 #       include <dlfcn.h>
00036 #       define DYNLIB_HANDLE void*
00037 #       define DYNLIB_LOAD( a ) dlopen( a, RTLD_LAZY | RTLD_GLOBAL)
00038 #       define DYNLIB_GETSYM( a, b ) dlsym( a, b )
00039 #       define DYNLIB_UNLOAD( a ) dlclose( a )
00040 #endif
00041
00042 #endif
00043
00044 namespace cAudio
00045 {
00046         class cPluginManager : public IPluginManager
00047         {
00048         public:
00049                 cPluginManager();
00050                 ~cPluginManager();
00051
00052                 static cPluginManager* Instance()
00053                 {
00054                         static cPluginManager theInstance;
00055                         return &theInstance;
00056                 }
00057
00058                 virtual bool installPlugin(IAudioPlugin* plugin, const char* name);
00059                 virtual bool installPlugin(const char* filename, const char* name);
00060
00061                 virtual bool checkForPlugin(const char* name);
00062                 virtual IAudioPlugin* getPlugin(const char* name);
00063                 virtual unsigned int getPluginCount();
00064                 cAudioVector<IAudioPlugin*>::Type getPluginList();
00065
00066                 virtual void uninstallPlugin(IAudioPlugin* plugin);
00067                 virtual void uninstallPlugin(const char* name);
00068
00069 #ifdef CAUDIO_COMPILE_WITH_DYNAMIC_PLUGIN_SUPPORT
00070                 void autoLoadPlugins();
00071 #endif
00072         protected:
00073                 cAudioMap<cAudioString, IAudioPlugin*>::Type RegisteredPlugins;
00074                 typedef cAudioMap<cAudioString, IAudioPlugin*>::Type::iterator RegisteredPluginsIterator;
00075 #ifdef CAUDIO_COMPILE_WITH_DYNAMIC_PLUGIN_SUPPORT
00076                 cAudioMap<IAudioPlugin*, DYNLIB_HANDLE>::Type DynamicallyLoadedPlugins;
00077                 typedef cAudioMap<IAudioPlugin*, DYNLIB_HANDLE>::Type::iterator DynamicallyLoadedPluginsIterator;
00078 #endif
00079         };
00080 };
00081
00082 #endif
00083
00084 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cRawAudioDecoderFactory.h Source File

  • File List
Headers

cRawAudioDecoderFactory.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CRAWAUDIODECODERFACOTRY_H_INCLUDED
00006 #define CRAWAUDIODECODERFACOTRY_H_INCLUDED
00007
00008 #include "../include/IAudioDecoderFactory.h"
00009 #include "cRawDecoder.h"
00010 #include "../Headers/cMutex.h"
00011
00012 namespace cAudio
00013 {
00014
00015 class cRawAudioDecoderFactory : public IAudioDecoderFactory
00016 {
00017     public:
00018         cRawAudioDecoderFactory() {}
00019         ~cRawAudioDecoderFactory() {}
00020
00021                 IAudioDecoder* CreateAudioDecoder(IDataSource* stream)
00022         {
00023                         Mutex.lock();
00024             IAudioDecoder* decoder = CAUDIO_NEW cRawDecoder(stream, 22050, EAF_16BIT_MONO);
00025                         Mutex.unlock();
00026                         return decoder;
00027         }
00028
00029                 IAudioDecoder* CreateAudioDecoder(IDataSource* stream, unsigned int frequency = 22050, AudioFormats format = EAF_16BIT_MONO)
00030         {
00031                         Mutex.lock();
00032             IAudioDecoder* decoder = CAUDIO_NEW cRawDecoder(stream, frequency, format);
00033                         Mutex.unlock();
00034                         return decoder;
00035         }
00036     protected:
00037                 cAudioMutex Mutex;
00038     private:
00039 };
00040
00041 };
00042
00043 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cRawDecoder.cpp Source File

  • File List
Source

cRawDecoder.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cRawDecoder.h"
00006
00007 namespace cAudio{
00008
00009         cRawDecoder::cRawDecoder(IDataSource* stream,  unsigned int frequency, AudioFormats format) : IAudioDecoder(stream), Frequency(frequency), Format(format)
00010     {
00011
00012     }
00013
00014     cRawDecoder::~cRawDecoder()
00015     {
00016
00017     }
00018
00019     AudioFormats cRawDecoder::getFormat()
00020     {
00021         return Format;
00022     }
00023
00024     int cRawDecoder::getFrequency()
00025     {
00026         return Frequency;
00027     }
00028
00029     bool cRawDecoder::isSeekingSupported()
00030     {
00031         return true;
00032     }
00033
00034         bool cRawDecoder::isValid()
00035         {
00036                 return true;
00037         }
00038
00039     int cRawDecoder::readAudioData(void* output, int amount)
00040     {
00041         return Stream->read(output,amount);
00042     }
00043
00044     bool cRawDecoder::setPosition(int position, bool relative)
00045     {
00046         Stream->seek(position,relative);
00047         return true;
00048     }
00049
00050     bool cRawDecoder::seek(float seconds,bool relative)
00051     {
00052                 int SampleSize = 1;
00053                 if(Format == EAF_8BIT_MONO)
00054                         SampleSize = 1;
00055                 else if(Format == EAF_8BIT_STEREO)
00056                         SampleSize = 2;
00057                 else if(Format == EAF_16BIT_MONO)
00058                         SampleSize = 2;
00059                 else
00060                         SampleSize = 4;
00061
00062         int amountToSeek = seconds * (float)Frequency * (float)SampleSize;
00063         return setPosition(amountToSeek, relative);
00064     }
00065
00066         float cRawDecoder::getTotalTime()
00067         {
00068                 int SampleSize = 0;
00069                 if(Format == EAF_8BIT_MONO)
00070                         SampleSize = 1;
00071                 else if(Format == EAF_8BIT_STEREO)
00072                         SampleSize = 2;
00073                 else if(Format == EAF_16BIT_MONO)
00074                         SampleSize = 2;
00075                 else
00076                         SampleSize = 4;
00077                 return (float)Stream->getSize() / ((float)Frequency * (float)SampleSize);
00078         }
00079
00080         int cRawDecoder::getTotalSize()
00081         {
00082                 return Stream->getSize();
00083         }
00084
00085         int cRawDecoder::getCompressedSize()
00086         {
00087                 return Stream->getSize();
00088         }
00089
00090         float cRawDecoder::getCurrentTime()
00091         {
00092                 int SampleSize = 0;
00093                 if(Format == EAF_8BIT_MONO)
00094                         SampleSize = 1;
00095                 else if(Format == EAF_8BIT_STEREO)
00096                         SampleSize = 2;
00097                 else if(Format == EAF_16BIT_MONO)
00098                         SampleSize = 2;
00099                 else
00100                         SampleSize = 4;
00101
00102                 return (float)Stream->getCurrentPos() / ((float)Frequency * (float)SampleSize);
00103         }
00104
00105         int cRawDecoder::getCurrentPosition()
00106         {
00107                 return Stream->getCurrentPos();
00108         }
00109
00110         int cRawDecoder::getCurrentCompressedPosition()
00111         {
00112                 return Stream->getCurrentPos();
00113         }
00114 }
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cRawDecoder.h Source File

  • File List
Headers

cRawDecoder.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CRAWDECODER_H_INCLUDED
00006 #define CRAWDECODER_H_INCLUDED
00007
00008 #include "../include/IAudioDecoder.h"
00009 #include "../Headers/cMemoryOverride.h"
00010
00011 namespace cAudio
00012 {
00013     class cRawDecoder : public IAudioDecoder, public cMemoryOverride
00014     {
00015         public:
00016
00017                         cRawDecoder(IDataSource* stream, unsigned int frequency, AudioFormats format);
00018             ~cRawDecoder();
00019
00020             virtual AudioFormats getFormat();
00021             virtual int getFrequency();
00022             virtual bool isSeekingSupported();
00023                         virtual bool isValid();
00024             virtual int readAudioData(void* output, int amount);
00025             virtual bool setPosition(int position, bool relative);
00026             virtual bool seek(float seconds,bool relative);
00027                         virtual float getTotalTime();
00028                         virtual int getTotalSize();
00029                         virtual int getCompressedSize();
00030                         virtual float getCurrentTime();
00031                         virtual int getCurrentPosition();
00032                         virtual int getCurrentCompressedPosition();
00033
00034         private:
00035             unsigned int Frequency;
00036                         AudioFormats Format;
00037     };
00038 };
00039
00040 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cSTLAllocator.h Source File

  • File List
Headers

cSTLAllocator.h

00001 #ifndef CSTLALLOCATOR_H_INCLUDED
00002 #define CSTLALLOCATOR_H_INCLUDED
00003
00004 #include "../include/cAudioDefines.h"
00005 #include "../include/cAudioMemory.h"
00006
00007 #include <set>
00008 #include <map>
00009 #include <list>
00010 #include <vector>
00011 #include <string>
00012
00013 namespace cAudio
00014 {
00015 #ifdef CAUDIO_REROUTE_STL_ALLOCATIONS
00017         template <typename T> class cSTLAllocator
00018         {
00019         public:
00020                 typedef T                                       value_type;
00021                 typedef value_type*                     pointer;
00022                 typedef const value_type*       const_pointer;
00023                 typedef value_type&                     reference;
00024                 typedef const value_type&       const_reference;
00025                 typedef std::size_t                     size_type;
00026                 typedef std::ptrdiff_t          difference_type;
00027
00028                 template<typename U>
00029                 struct rebind
00030                 {
00031                         typedef cSTLAllocator<U> other;
00032                 };
00033
00034                 cSTLAllocator()
00035                 { }
00036
00037                 ~cSTLAllocator() throw()
00038                 { }
00039
00040                 cSTLAllocator( const cSTLAllocator& ) throw()
00041                 { }
00042
00043                 template <typename U>
00044                 cSTLAllocator( const cSTLAllocator<U>& ) throw()
00045                 { }
00046
00047                 pointer address(reference x) const
00048                 {
00049                         return &x;
00050                 }
00051
00052                 const_pointer address(const_reference x) const
00053                 {
00054                         return &x;
00055                 }
00056
00057                 pointer allocate( size_type count, typename std::allocator<void>::const_pointer ptr = 0 )
00058                 {
00059             (void)ptr;
00060                         register size_type size = count*sizeof( T );
00061                         pointer p  = static_cast<pointer>(CAUDIO_MALLOC(size));
00062                         return p;
00063                 }
00064
00065                 void deallocate( pointer p, size_type size )
00066                 {
00067                         CAUDIO_FREE(p);
00068                 }
00069
00070                 size_type max_size() const throw()
00071                 {
00072                         return cAudio::getMemoryProvider()->getMaxAllocationSize();
00073                 }
00074
00075                 void construct(pointer p, const T& val)
00076                 {
00077                         // call placement new
00078                         new(static_cast<void*>(p)) T(val);
00079                 }
00080
00081                 void destroy(pointer p)
00082                 {
00083                         p->~T();
00084                 }
00085         };
00086
00087         template<> class cSTLAllocator<void>
00088         {
00089     public:
00090                 typedef size_t      size_type;
00091                 typedef ptrdiff_t   difference_type;
00092                 typedef void*       pointer;
00093                 typedef const void* const_pointer;
00094                 typedef void        value_type;
00095
00096                 template<typename U>
00097                 struct rebind
00098                 {
00099                         typedef cSTLAllocator<U> other;
00100                 };
00101     };
00102
00103         template <typename T>
00104         inline bool operator==(const cSTLAllocator<T>&, const cSTLAllocator<T>&)
00105         {
00106                 return true;
00107         }
00108
00109         template <typename T>
00110         inline bool operator!=(const cSTLAllocator<T>&, const cSTLAllocator<T>&)
00111         {
00112                 return false;
00113         }
00114 #endif
00115
00116 #ifdef CAUDIO_REROUTE_STL_ALLOCATIONS
00117         typedef std::basic_string< char, std::char_traits<char>, cSTLAllocator<char> > cAudioString;
00118         template<typename T1, typename T2> struct cAudioMap { typedef std::map< T1, T2, std::less< T1 >, cSTLAllocator< std::pair< T1, T2 > > > Type; };
00119         template<typename T> struct cAudioSet { typedef std::set< T, std::less< T >, cSTLAllocator< T > > Type; };
00120         template<typename T> struct cAudioList { typedef std::list< T, cSTLAllocator< T > > Type; };
00121         template<typename T> struct cAudioVector { typedef std::vector< T, cSTLAllocator< T > > Type; };
00122 #else
00123         typedef std::string cAudioString;
00124         template<typename T1, typename T2> struct cAudioMap { typedef std::map< T1, T2> Type; };
00125         template<typename T> struct cAudioSet { typedef std::set< T > Type; };
00126         template<typename T> struct cAudioList { typedef std::list< T > Type; };
00127         template<typename T> struct cAudioVector { typedef std::vector< T > Type; };
00128 #endif
00129
00130 };
00131
00132 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cStandardMemoryProvider.cpp Source File

  • File List
Source

cStandardMemoryProvider.cpp

00001 #include "../Headers/cStandardMemoryProvider.h"
00002 #include "../Headers/cMemoryTracker.h"
00003 #include <stdlib.h>
00004 #include <limits>
00005
00006 #ifdef max
00007         #undef max
00008 #endif
00009
00010 #ifdef min
00011         #undef min
00012 #endif
00013
00014 namespace cAudio
00015 {
00016         void* cStandardMemoryProvider::Allocate(size_t size, const char* filename, int line, const char* function)
00017         {
00018                 void* ptr = malloc(size);
00019 #ifdef CAUDIO_USE_MEMORYTRACKER
00020                 cMemoryTracker::Instance()->AddAllocation(ptr, size, filename, line, function);
00021 #endif
00022                 return ptr;
00023         }
00024
00025         void cStandardMemoryProvider::Free(void* pointer)
00026         {
00027                 if(pointer)
00028                 {
00029 #ifdef CAUDIO_USE_MEMORYTRACKER
00030                         cMemoryTracker::Instance()->RemoveAllocation(pointer);
00031 #endif
00032                         free(pointer);
00033                 }
00034         }
00035
00036         size_t cStandardMemoryProvider::getMaxAllocationSize()
00037         {
00038                 return std::numeric_limits<size_t>::max();
00039         }
00040 };
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cStandardMemoryProvider.h Source File

  • File List
Headers

cStandardMemoryProvider.h

00001 #ifndef CSTANDARDMEMORYPROVIDER_H_INCLUDED
00002 #define CSTANDARDMEMORYPROVIDER_H_INCLUDED
00003
00004 #include "../include/IMemoryProvider.h"
00005 #include <cstring>
00006 namespace cAudio
00007 {
00009         class cStandardMemoryProvider : public IMemoryProvider
00010         {
00011         public:
00012                 virtual void* Allocate(size_t size, const char* filename, int line, const char* function);
00013                 virtual void Free(void* pointer);
00014                 virtual size_t getMaxAllocationSize();
00015         };
00016 };
00017
00018 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cThread.cpp Source File

  • File List
Source

cThread.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cThread.h"
00006
00007 #ifdef CAUDIO_PLATFORM_WIN
00008 #include <windows.h>    //Basic windows includes
00009 #include <process.h>
00010 #else
00011 #include <pthread.h>    //Assumed linux system
00012 #endif
00013
00014 namespace cAudio
00015 {
00016         #ifdef CAUDIO_PLATFORM_WIN
00017         int cAudioThread::SpawnThread( unsigned __stdcall start_address( void* ), void *arg)
00018         {
00019                 HANDLE threadHandle;
00020                 unsigned threadID = 0;
00021
00022                 threadHandle = (HANDLE) _beginthreadex(NULL,0,start_address,arg,0,&threadID);
00023
00024                 int state = (threadHandle==0) ? 1 : 0;
00025
00026                 if(state == 0)
00027                         CloseHandle( threadHandle );
00028
00029                 return state;
00030         }
00031         #else
00032         int cAudioThread::SpawnThread( void* start_address( void* ), void *arg)
00033         {
00034                 pthread_t threadHandle;
00035
00036                 pthread_attr_t attr;
00037                 pthread_attr_init( &attr );
00038                 pthread_attr_setdetachstate( &attr, PTHREAD_CREATE_DETACHED );
00039
00040                 return pthread_create( &threadHandle, &attr, start_address, arg );
00041         }
00042         #endif
00043 };
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cThread.h Source File

  • File List
Headers

cThread.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CAUDIOTHREAD_H
00006 #define CAUDIOTHREAD_H
00007
00008 #include "../include/cAudioDefines.h"
00009
00010 //Helper defines in order to make sure the function is declared right for use as a thread
00011 #ifdef CAUDIO_PLATFORM_WIN
00012 #define CAUDIO_DECLARE_THREAD_FUNCTION(functionName) unsigned __stdcall functionName( void* arguments )
00013 #else
00014 #define CAUDIO_DECLARE_THREAD_FUNCTION(functionName) void* functionName( void* arguments )
00015 #endif
00016
00017 namespace cAudio
00018 {
00019         class cAudioThread
00020         {
00021         public:
00022         //      Really basic function to spawn a single detached thread
00026 #ifdef CAUDIO_PLATFORM_WIN
00027         static int SpawnThread( unsigned __stdcall start_address( void* ), void *arg);
00028 #else
00029         static int SpawnThread( void* start_address( void* ), void *arg);
00030 #endif
00031         };
00032 };
00033
00034 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cUtils.h Source File

  • File List
Headers

cUtils.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CUTILS_H_INCLUDED
00006 #define CUTILS_H_INCLUDED
00007 #include "../include/cAudioPlatform.h"
00008 #include "../Headers/cSTLAllocator.h"
00009
00010 #ifdef CAUDIO_PLATFORM_WIN
00011 #  define WIN32_LEAN_AND_MEAN
00012 #  include <windows.h>
00013 #  include <direct.h>
00014 #  include <io.h>
00015 #endif
00016
00017 #ifdef CAUDIO_PLATFORM_LINUX
00018 #       include <dirent.h>
00019 #       include <stdio.h>
00020 #       include <cstring>
00021 #endif
00022
00023 namespace cAudio
00024 {
00025
00027 static cAudioString getExt(const cAudioString& filename)
00028 {
00029     if(filename.find_last_of(".") == cAudioString::npos) return filename;
00030     return filename.substr(filename.find_last_of(".") + 1, filename.length()-filename.find_last_of(".")-1);
00031 }
00032
00034 static cAudioString safeCStr(const char* str)
00035 {
00036         if( str != NULL ) return cAudioString(str);
00037         else return cAudioString("");
00038 }
00039
00041 static cAudioVector<cAudioString>::Type getFilesInDirectory(cAudioString path)
00042 {
00043         cAudioVector<cAudioString>::Type FileList;
00044 #ifdef CAUDIO_PLATFORM_WIN
00045         cAudioString search = path + "\\" + cAudioString("*.*");
00046         WIN32_FIND_DATA info;
00047         HANDLE h = FindFirstFile(search.c_str(), &info);
00048         if (h != INVALID_HANDLE_VALUE)
00049         {
00050                 do
00051                 {
00052                         if (!(strcmp(info.cFileName, ".") == 0 || strcmp(info.cFileName, "..") == 0))
00053                         {
00054                                 FileList.push_back(info.cFileName);
00055                         }
00056                 } while (FindNextFile(h, &info));
00057                 FindClose(h);
00058         }
00059 #endif
00060
00061 #ifdef CAUDIO_PLATFORM_LINUX
00062         DIR           *d;
00063         struct dirent *dir;
00064         d = opendir(path.c_str());
00065         if (d)
00066         {
00067                 while ((dir = readdir(d)) != NULL)
00068                 {
00069                         if( strcmp( dir->d_name, "." ) == 0 || strcmp( dir->d_name, ".." ) == 0 ) { continue; }
00070                         if( dir->d_type == DT_DIR ) continue;
00071                         FileList.push_back(dir->d_name);
00072                 }
00073
00074                 closedir(d);
00075         }
00076 #endif
00077
00078         return FileList;
00079 }
00080
00081 };
00082
00083 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/include/cVector3.h Source File

  • File List
include

cVector3.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CVECTOR3_H
00006 #define CVECTOR3_H
00007
00008 #include <math.h>
00009
00010 namespace cAudio
00011 {
00013         const float Epsilon = 0.000001f;
00014
00016         inline bool float_equals(const float a, const float b)
00017         {
00018                 return (a + Epsilon >= b) && (a - Epsilon <= b);
00019         }
00020
00022         class cVector3
00023         {
00024         public:
00025                 float x, y, z;
00026
00028                 cVector3(void) : x(0), y(0), z(0)
00029                 {
00030                 }
00031
00032                 cVector3(float nx, float ny, float nz) : x(nx), y(ny), z(nz)
00033                 {
00034                 }
00035
00037                 cVector3(float n) : x(n), y(n), z(n)
00038                 {
00039                 }
00040
00041                 cVector3(const cVector3& other) : x(other.x), y(other.y), z(other.z)
00042                 {
00043                 }
00044
00045                 cVector3 operator-() const { return cVector3(-x, -y, -z); }
00046                 cVector3& operator=(const cVector3& other) { x = other.x; y = other.y; z = other.z; return *this; }
00047                 cVector3 operator+(const cVector3& other) const { return cVector3(x + other.x, y + other.y, z + other.z); }
00048                 cVector3& operator+=(const cVector3& other) { x+=other.x; y+=other.y; z+=other.z; return *this; }
00049                 cVector3 operator+(const float val) const { return cVector3(x + val, y + val, z + val); }
00050                 cVector3& operator+=(const float val) { x+=val; y+=val; z+=val; return *this; }
00051
00052                 cVector3 operator-(const cVector3& other) const { return cVector3(x - other.x, y - other.y, z - other.z); }
00053                 cVector3& operator-=(const cVector3& other) { x-=other.x; y-=other.y; z-=other.z; return *this; }
00054                 cVector3 operator-(const float val) const { return cVector3(x - val, y - val, z - val); }
00055                 cVector3& operator-=(const float val) { x-=val; y-=val; z-=val; return *this; }
00056
00057                 cVector3 operator*(const cVector3& other) const { return cVector3(x * other.x, y * other.y, z * other.z); }
00058                 cVector3& operator*=(const cVector3& other) { x*=other.x; y*=other.y; z*=other.z; return *this; }
00059                 cVector3 operator*(const float v) const { return cVector3(x * v, y * v, z * v); }
00060                 cVector3& operator*=(const float v) { x*=v; y*=v; z*=v; return *this; }
00061
00062                 cVector3 operator/(const cVector3& other) const { return cVector3(x / other.x, y / other.y, z / other.z); }
00063                 cVector3& operator/=(const cVector3& other) { x/=other.x; y/=other.y; z/=other.z; return *this; }
00064                 cVector3 operator/(const float v) const { float i=(float)1.0/v; return cVector3(x * i, y * i, z * i); }
00065                 cVector3& operator/=(const float v) { float i=(float)1.0/v; x*=i; y*=i; z*=i; return *this; }
00066
00067                 bool operator<=(const cVector3& other) const { return x<=other.x && y<=other.y && z<=other.z;}
00068                 bool operator>=(const cVector3& other) const { return x>=other.x && y>=other.y && z>=other.z;}
00069                 bool operator<(const cVector3& other) const { return x<other.x && y<other.y && z<other.z;}
00070                 bool operator>(const cVector3& other) const { return x>other.x && y>other.y && z>other.z;}
00071
00072                 bool operator==(const cVector3& other) const
00073                 {
00074                         return float_equals(x, other.x) &&
00075                                         float_equals(y, other.y) &&
00076                                         float_equals(z, other.z);
00077                 }
00078
00079                 bool operator!=(const cVector3& other) const
00080                 {
00081                         return !(float_equals(x, other.x) &&
00082                                         float_equals(y, other.y) &&
00083                                         float_equals(z, other.z));
00084                 }
00085
00086                 operator const float*() const { return &x; }
00087
00088                 operator float*() { return &x; }
00089
00090                 const float operator[] ( int i ) const { return ( ( float* ) &x ) [i]; }
00091
00092                 float &operator[] ( int i ) { return ( ( float* ) &x ) [i]; }
00093
00095                 float length() const
00096                 {
00097                         return sqrtf( x*x + y*y + z*z );
00098                 }
00099
00101                 void normalize()
00102                 {
00103                         float invLen = 1.0f / length();
00104                         x *= invLen;
00105                         y *= invLen;
00106                         z *= invLen;
00107                 }
00108
00110                 float dot( const cVector3& other ) const
00111                 {
00112                         return ( x * other.x + y * other.y + z * other.z );
00113                 }
00114
00116                 cVector3 cross( const cVector3& other ) const
00117                 {
00118                         return cVector3( y * other.z - z * other.y, z * other.x - x * other.z, x * other.y - y * other.x );
00119                 }
00120
00122                 void set( float nx, float ny, float nz )
00123                 {
00124                         x = nx;
00125                         y = ny;
00126                         z = nz;
00127                 }
00128
00130                 void set( float n )
00131                 {
00132                         x = y = z = n;
00133                 }
00134
00136                 void set( const cVector3& other )
00137                 {
00138                         x = other.x;
00139                         y = other.y;
00140                         z = other.z;
00141                 }
00142
00143                 void getAsArray(float* output)
00144                 {
00145                         output[0] = x;
00146                         output[1] = y;
00147                         output[2] = z;
00148                 }
00149         };
00150 };
00151
00152 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cWavAudioDecoderFactory.cpp Source File

  • File List
Source

cWavAudioDecoderFactory.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cWavAudioDecoderFactory.h"
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cWavAudioDecoderFactory.h Source File

  • File List
Headers

cWavAudioDecoderFactory.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CWAVAUDIODECODERFACOTRY_H_INCLUDED
00006 #define CWAVAUDIODECODERFACOTRY_H_INCLUDED
00007
00008 #include "../include/IAudioDecoderFactory.h"
00009 #include "cWavDecoder.h"
00010 #include "../Headers/cMutex.h"
00011
00012 #ifdef CAUDIO_COMPILE_WITH_WAV_DECODER
00013
00014 namespace cAudio
00015 {
00016
00017 class cWavAudioDecoderFactory : public IAudioDecoderFactory
00018 {
00019     public:
00020         cWavAudioDecoderFactory() {}
00021         ~cWavAudioDecoderFactory() {}
00022
00023         IAudioDecoder* CreateAudioDecoder(IDataSource* stream)
00024         {
00025                         Mutex.lock();
00026             IAudioDecoder* decoder = CAUDIO_NEW cWavDecoder(stream);
00027                         Mutex.unlock();
00028                         return decoder;
00029         }
00030     protected:
00031                 cAudioMutex Mutex;
00032     private:
00033 };
00034
00035 };
00036
00037 #endif
00038
00039 #endif
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Source/cWavDecoder.cpp Source File

  • File List
Source

cWavDecoder.cpp

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #include "../Headers/cWavDecoder.h"
00006 #include <string.h>
00007
00008 #ifdef CAUDIO_COMPILE_WITH_WAV_DECODER
00009
00010 namespace cAudio
00011 {
00012         cWavDecoder::cWavDecoder(IDataSource* stream) : IAudioDecoder(stream), Valid(false)
00013     {
00014         const char* RIFFTAG = "RIFF";
00015                 const char* WAVETAG = "WAVE";
00016                 const char* FORMATTAG = "fmt ";
00017                 const char* DATATAG = "data";
00018
00019                 char ident[4];
00020                 int tempint32 = 0;
00021                 short tempint16 = 0;
00022                 char tempint8 = 0;
00023
00024                 unsigned int startOffset = 0;
00025
00026                 //Read the first 4 bytes
00027                 Stream->seek(0, false);
00028                 Stream->read(ident, 4);
00029                 //Check to see if it is a valid RIFF file
00030                 if(strncmp(ident, RIFFTAG, 4) == 0)
00031                 {
00032                         Stream->read(&tempint32, 4);
00033                         //Check to see if the file is big enough to be valid (not completely accurate)
00034                         if(tempint32 >= 44)
00035                         {
00036                                 Stream->read(ident, 4);
00037                                 //Check that it is a wave file
00038                                 if(strncmp(ident, WAVETAG, 4) == 0)
00039                                 {
00040                                         //Save our position
00041                                         startOffset = Stream->getCurrentPos();
00042
00043                                         //Scan for the first fmt chuck (not necessarily right after)
00044                                         do
00045                                         {
00046                                                 Stream->read(ident, 4);
00047                                         }
00048                                         while((strncmp(ident, FORMATTAG, 4) != 0) && (Stream->getCurrentPos() < Stream->getSize()));
00049
00050                                         //Did we find it?
00051                                         if(Stream->getCurrentPos() < (Stream->getSize() - 16))
00052                                         {
00053                                                 //Yes, read it in
00054                                                 Stream->read(&tempint32, 4);
00055                                                 if(tempint32 >= 16)
00056                                                 {
00057                                                         //Check that it is in PCM format, we don't support compressed wavs
00058                                                         Stream->read(&tempint16, 2);
00059                                                         if(tempint16 == 1)
00060                                                         {
00061                                                                 Stream->read(&tempint16, 2);
00062                                                                 Channels = tempint16;
00063                                                                 //We only support mono or stereo wavs
00064                                                                 if(Channels == 1 || Channels == 2)
00065                                                                 {
00066                                                                         Stream->read(&tempint32, 4);
00067                                                                         SampleRate = tempint32;
00068                                                                         Stream->read(&tempint32, 4);
00069                                                                         ByteRate = tempint32;
00070                                                                         Stream->read(&tempint16, 2);
00071                                                                         BlockAlign = tempint16;
00072                                                                         Stream->read(&tempint16, 2);
00073                                                                         BitsPerSample = tempint16;
00074
00075                                                                         //We only support 8 bit or 16 bit wavs
00076                                                                         if(BitsPerSample == 8 || BitsPerSample == 16)
00077                                                                         {
00078                                                                                 //Reset our pointer to start scanning for the data block
00079                                                                                 Stream->seek(startOffset, false);
00080                                                                                 //Scan for the first data chuck (not necessarily right after)
00081                                                                                 do
00082                                                                                 {
00083                                                                                         Stream->read(ident, 4);
00084                                                                                 }
00085                                                                                 while((strncmp(ident, DATATAG, 4) != 0) && (Stream->getCurrentPos() < Stream->getSize()));
00086
00087                                                                                 //Did we find it?
00088                                                                                 if(Stream->getCurrentPos() < Stream->getSize())
00089                                                                                 {
00090                                                                                         //Get size of data block
00091                                                                                         Stream->read(&tempint32, 4);
00092                                                                                         DataSize = tempint32;
00093                                                                                         DataOffset = Stream->getCurrentPos();
00094
00095                                                                                         Valid = true;
00096                                                                                 }
00097                                                                         }
00098                                                                 }
00099                                                         }
00100                                                 }
00101                                         }
00102                                 }
00103                         }
00104                 }
00105     }
00106
00107     cWavDecoder::~cWavDecoder()
00108     {
00109                 Channels = 0;
00110                 SampleRate = 0;
00111                 ByteRate = 0;
00112                 BlockAlign = 0;
00113                 BitsPerSample = 0;
00114                 DataSize = 0;
00115                 DataOffset = 0;
00116                 Valid = false;
00117     }
00118
00119     AudioFormats cWavDecoder::getFormat()
00120     {
00121         if(Channels == 1 && BitsPerSample == 8)
00122             return EAF_8BIT_MONO;
00123                 else if(Channels == 1 && BitsPerSample == 16)
00124             return EAF_16BIT_MONO;
00125                 else if(Channels == 2 && BitsPerSample == 8)
00126             return EAF_8BIT_STEREO;
00127         else
00128             return EAF_16BIT_STEREO;
00129     }
00130
00131     int cWavDecoder::getFrequency()
00132     {
00133         return SampleRate;
00134     }
00135
00136     bool cWavDecoder::isSeekingSupported()
00137     {
00138         return true;
00139     }
00140
00141         bool cWavDecoder::isValid()
00142         {
00143                 return Valid;
00144         }
00145
00146     int cWavDecoder::readAudioData(void* output, int amount)
00147     {
00148                 int currentPos = Stream->getCurrentPos();
00149                 int startPos = DataOffset;
00150                 int endPos = DataOffset + DataSize;
00151                 int amountToRead = amount;
00152
00153                 //Bounds checks (and adjustments if possible)
00154                 if(currentPos > endPos)
00155                         return 0;
00156
00157                 if(currentPos < startPos)
00158                 {
00159                         Stream->seek(startPos, false);
00160                         currentPos = Stream->getCurrentPos();
00161                 }
00162
00163                 if((currentPos + amountToRead) > endPos)
00164                         amountToRead = endPos - currentPos;
00165
00166                 if(amountToRead < 0)
00167                         amountToRead = 0;
00168
00169                 return Stream->read(output,amountToRead);
00170
00171     }
00172
00173     bool cWavDecoder::setPosition(int position, bool relative)
00174     {
00175                 int currentPos = Stream->getCurrentPos();
00176                 int startPos = DataOffset;
00177                 int endPos = DataOffset + DataSize;
00178
00179                 //Bounds checks (and adjustments if possible)
00180                 if(!relative && position < startPos)
00181                         position = startPos;
00182                 if(!relative && position > endPos)
00183                         position = endPos;
00184                 if(relative && currentPos + position < startPos)
00185                         position = startPos - currentPos;
00186                 if(relative && currentPos + position > startPos)
00187                         position = endPos - currentPos;
00188
00189         Stream->seek(position,relative);
00190         return true;
00191     }
00192
00193     bool cWavDecoder::seek(float seconds,bool relative)
00194     {
00195                 int amountToSeek = seconds * (float)SampleRate * (float)Channels * (float)(BitsPerSample/8);
00196         return setPosition(amountToSeek, relative);
00197     }
00198
00199         float cWavDecoder::getTotalTime()
00200         {
00201                 return (float)Stream->getSize() / ((float)SampleRate * (float)Channels * (float)(BitsPerSample/8));
00202         }
00203
00204         int cWavDecoder::getTotalSize()
00205         {
00206                 return Stream->getSize();
00207         }
00208
00209         int cWavDecoder::getCompressedSize()
00210         {
00211                 return Stream->getSize();
00212         }
00213
00214         float cWavDecoder::getCurrentTime()
00215         {
00216                 return (float)Stream->getCurrentPos() / ((float)SampleRate * (float)Channels * (float)(BitsPerSample/8));
00217         }
00218
00219         int cWavDecoder::getCurrentPosition()
00220         {
00221                 return Stream->getCurrentPos();
00222         }
00223
00224         int cWavDecoder::getCurrentCompressedPosition()
00225         {
00226                 return Stream->getCurrentPos();
00227         }
00228 };
00229
00230 #endif
00231
00232
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: C:/Users/Wildicv/Desktop/cAudio/cAudio/Trunk/Headers/cWavDecoder.h Source File

  • File List
Headers

cWavDecoder.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004
00005 #ifndef CWAVDECODER_H_INCLUDED
00006 #define CWAVDECODER_H_INCLUDED
00007
00008 #include "../include/IAudioDecoder.h"
00009 #include "../include/cAudioDefines.h"
00010 #include "../Headers/cMemoryOverride.h"
00011
00012 #ifdef CAUDIO_COMPILE_WITH_WAV_DECODER
00013
00014 namespace cAudio
00015 {
00016     class cWavDecoder : public IAudioDecoder, public cMemoryOverride
00017     {
00018         public:
00019
00020             cWavDecoder(IDataSource* stream);
00021             ~cWavDecoder();
00022
00023             virtual AudioFormats getFormat();
00024             virtual int getFrequency();
00025             virtual bool isSeekingSupported();
00026                         virtual bool isValid();
00027             virtual int readAudioData(void* output, int amount);
00028             virtual bool setPosition(int position, bool relative);
00029             virtual bool seek(float seconds,bool relative);
00030                         virtual float getTotalTime();
00031                         virtual int getTotalSize();
00032                         virtual int getCompressedSize();
00033                         virtual float getCurrentTime();
00034                         virtual int getCurrentPosition();
00035                         virtual int getCurrentCompressedPosition();
00036
00037         private:
00038             short Channels;
00039             int SampleRate;
00040             int ByteRate;
00041             short BlockAlign;
00042             short BitsPerSample;
00043             int DataSize;
00044                         int DataOffset;
00045
00046                         bool Valid;
00047     };
00048 };
00049
00050 #endif
00051
00052 #endif
00053
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:15 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::IAudioCapture Member List

This is the complete list of members for cAudio::IAudioCapture, including all inherited members.
beginCapture()=0 | cAudio::IAudioCapture | [pure virtual]
getAvailableDeviceCount()=0 | cAudio::IAudioCapture | [pure virtual]
getAvailableDeviceName(unsigned int index)=0 | cAudio::IAudioCapture | [pure virtual]
getCapturedAudio(void *outputBuffer, unsigned int outputBufferSize)=0 | cAudio::IAudioCapture | [pure virtual]
getCurrentCapturedAudioSize()=0 | cAudio::IAudioCapture | [pure virtual]
getDefaultDeviceName()=0 | cAudio::IAudioCapture | [pure virtual]
getDeviceName()=0 | cAudio::IAudioCapture | [pure virtual]
getFormat()=0 | cAudio::IAudioCapture | [pure virtual]
getFrequency()=0 | cAudio::IAudioCapture | [pure virtual]
getInternalBufferSize()=0 | cAudio::IAudioCapture | [pure virtual]
getSampleSize()=0 | cAudio::IAudioCapture | [pure virtual]
IAudioCapture() (defined in cAudio::IAudioCapture) | cAudio::IAudioCapture | [inline]
initialize(const char *deviceName=0x0, unsigned int frequency=22050, AudioFormats format=EAF_16BIT_MONO, unsigned int internalBufferSize=8192)=0 | cAudio::IAudioCapture | [pure virtual]
isReady()=0 | cAudio::IAudioCapture | [pure virtual]
isSupported()=0 | cAudio::IAudioCapture | [pure virtual]
registerEventHandler(ICaptureEventHandler *handler)=0 | cAudio::IAudioCapture | [pure virtual]
setDevice(const char *deviceName)=0 | cAudio::IAudioCapture | [pure virtual]
setFormat(AudioFormats format)=0 | cAudio::IAudioCapture | [pure virtual]
setFrequency(unsigned int frequency)=0 | cAudio::IAudioCapture | [pure virtual]
setInternalBufferSize(unsigned int internalBufferSize)=0 | cAudio::IAudioCapture | [pure virtual]
shutdown()=0 | cAudio::IAudioCapture | [pure virtual]
stopCapture()=0 | cAudio::IAudioCapture | [pure virtual]
unRegisterAllEventHandlers()=0 | cAudio::IAudioCapture | [pure virtual]
unRegisterEventHandler(ICaptureEventHandler *handler)=0 | cAudio::IAudioCapture | [pure virtual]
updateCaptureBuffer(bool force=false)=0 | cAudio::IAudioCapture | [pure virtual]
~IAudioCapture() (defined in cAudio::IAudioCapture) | cAudio::IAudioCapture | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:32 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::IAudioDecoder Member List

This is the complete list of members for cAudio::IAudioDecoder, including all inherited members.
drop() | cAudio::IRefCounted | [inline]
getCompressedSize()=0 | cAudio::IAudioDecoder | [pure virtual]
getCurrentCompressedPosition()=0 | cAudio::IAudioDecoder | [pure virtual]
getCurrentPosition()=0 | cAudio::IAudioDecoder | [pure virtual]
getCurrentTime()=0 | cAudio::IAudioDecoder | [pure virtual]
getFormat()=0 | cAudio::IAudioDecoder | [pure virtual]
getFrequency()=0 | cAudio::IAudioDecoder | [pure virtual]
getReferenceCount() const | cAudio::IRefCounted | [inline]
getTotalSize()=0 | cAudio::IAudioDecoder | [pure virtual]
getTotalTime()=0 | cAudio::IAudioDecoder | [pure virtual]
grab() | cAudio::IRefCounted | [inline]
IAudioDecoder(IDataSource *stream) | cAudio::IAudioDecoder | [inline]
IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline]
isSeekingSupported()=0 | cAudio::IAudioDecoder | [pure virtual]
isValid()=0 | cAudio::IAudioDecoder | [pure virtual]
readAudioData(void *output, int amount)=0 | cAudio::IAudioDecoder | [pure virtual]
seek(float seconds, bool relative)=0 | cAudio::IAudioDecoder | [pure virtual]
setPosition(int position, bool relative)=0 | cAudio::IAudioDecoder | [pure virtual]
Stream | cAudio::IAudioDecoder | [protected]
~IAudioDecoder() (defined in cAudio::IAudioDecoder) | cAudio::IAudioDecoder | [inline, virtual]
~IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:32 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::IAudioDecoderFactory Member List

This is the complete list of members for cAudio::IAudioDecoderFactory, including all inherited members.
CreateAudioDecoder(IDataSource *stream)=0 | cAudio::IAudioDecoderFactory | [pure virtual]
IAudioDecoderFactory() (defined in cAudio::IAudioDecoderFactory) | cAudio::IAudioDecoderFactory | [inline]
~IAudioDecoderFactory() (defined in cAudio::IAudioDecoderFactory) | cAudio::IAudioDecoderFactory | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:32 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::IAudioEffects Member List

This is the complete list of members for cAudio::IAudioEffects, including all inherited members.
addAutowahEffectPreset(const char *name, const sAutowahParameters &setting)=0 | cAudio::IAudioEffects | [pure virtual]
addChorusEffectPreset(const char *name, const sChorusParameters &setting)=0 | cAudio::IAudioEffects | [pure virtual]
addCompressorEffectPreset(const char *name, const sCompressorParameters &setting)=0 | cAudio::IAudioEffects | [pure virtual]
addDistortionEffectPreset(const char *name, const sDistortionParameters &setting)=0 | cAudio::IAudioEffects | [pure virtual]
addEAXReverbEffectPreset(const char *name, const sEAXReverbParameters &setting)=0 | cAudio::IAudioEffects | [pure virtual]
addEchoEffectPreset(const char *name, const sEchoParameters &setting)=0 | cAudio::IAudioEffects | [pure virtual]
addEqualizerEffectPreset(const char *name, const sEqualizerParameters &setting)=0 | cAudio::IAudioEffects | [pure virtual]
addFlangerEffectPreset(const char *name, const sFlangerParameters &setting)=0 | cAudio::IAudioEffects | [pure virtual]
addFrequencyShiftEffectPreset(const char *name, const sFrequencyShiftParameters &setting)=0 | cAudio::IAudioEffects | [pure virtual]
addPitchShifterEffectPreset(const char *name, const sPitchShifterParameters &setting)=0 | cAudio::IAudioEffects | [pure virtual]
addReverbEffectPreset(const char *name, const sReverbParameters &setting)=0 | cAudio::IAudioEffects | [pure virtual]
addRingModulatorEffectPreset(const char *name, const sRingModulatorParameters &setting)=0 | cAudio::IAudioEffects | [pure virtual]
addVocalMorpherEffectPreset(const char *name, const sVocalMorpherParameters &setting)=0 | cAudio::IAudioEffects | [pure virtual]
createEffect()=0 | cAudio::IAudioEffects | [pure virtual]
createFilter()=0 | cAudio::IAudioEffects | [pure virtual]
getAutowahEffectPreset(const char *name)=0 | cAudio::IAudioEffects | [pure virtual]
getChorusEffectPreset(const char *name)=0 | cAudio::IAudioEffects | [pure virtual]
getCompressorEffectPreset(const char *name)=0 | cAudio::IAudioEffects | [pure virtual]
getDistortionEffectPreset(const char *name)=0 | cAudio::IAudioEffects | [pure virtual]
getEAXReverbEffectPreset(const char *name)=0 | cAudio::IAudioEffects | [pure virtual]
getEchoEffectPreset(const char *name)=0 | cAudio::IAudioEffects | [pure virtual]
getEqualizerEffectPreset(const char *name)=0 | cAudio::IAudioEffects | [pure virtual]
getFlangerEffectPreset(const char *name)=0 | cAudio::IAudioEffects | [pure virtual]
getFrequencyShiftEffectPreset(const char *name)=0 | cAudio::IAudioEffects | [pure virtual]
getMaxEffectsSupported() const =0 | cAudio::IAudioEffects | [pure virtual]
getPitchShifterEffectPreset(const char *name)=0 | cAudio::IAudioEffects | [pure virtual]
getReverbEffectPreset(const char *name)=0 | cAudio::IAudioEffects | [pure virtual]
getRingModulatorEffectPreset(const char *name)=0 | cAudio::IAudioEffects | [pure virtual]
getVocalMorpherEffectPreset(const char *name)=0 | cAudio::IAudioEffects | [pure virtual]
IAudioEffects() (defined in cAudio::IAudioEffects) | cAudio::IAudioEffects | [inline]
isEffectPresetRegistered(const EffectTypes &type, const char *name)=0 | cAudio::IAudioEffects | [pure virtual]
isEffectSupported(const EffectTypes &type) const =0 | cAudio::IAudioEffects | [pure virtual]
isFilterSupported(const FilterTypes &type) const =0 | cAudio::IAudioEffects | [pure virtual]
removeAllEffectPresets(const EffectTypes &type)=0 | cAudio::IAudioEffects | [pure virtual]
removeEffectPreset(const EffectTypes &type, const char *name)=0 | cAudio::IAudioEffects | [pure virtual]
~IAudioEffects() (defined in cAudio::IAudioEffects) | cAudio::IAudioEffects | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:32 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::IAudioManager Member List

This is the complete list of members for cAudio::IAudioManager, including all inherited members.
create(const char *name, const char *filename, bool stream=false)=0 | cAudio::IAudioManager | [pure virtual]
createFromMemory(const char *name, const char *data, size_t length, const char *extension)=0 | cAudio::IAudioManager | [pure virtual]
createFromRaw(const char *name, const char *data, size_t length, unsigned int frequency, AudioFormats format)=0 | cAudio::IAudioManager | [pure virtual]
getAudioDecoderFactory(const char *extension)=0 | cAudio::IAudioManager | [pure virtual]
getAvailableDeviceCount()=0 | cAudio::IAudioManager | [pure virtual]
getAvailableDeviceName(unsigned int index)=0 | cAudio::IAudioManager | [pure virtual]
getDataSourceFactory(const char *name)=0 | cAudio::IAudioManager | [pure virtual]
getDefaultDeviceName()=0 | cAudio::IAudioManager | [pure virtual]
getEffects()=0 | cAudio::IAudioManager | [pure virtual]
getListener()=0 | cAudio::IAudioManager | [pure virtual]
getSoundByName(const char *name)=0 | cAudio::IAudioManager | [pure virtual]
IAudioManager() (defined in cAudio::IAudioManager) | cAudio::IAudioManager | [inline]
initialize(const char *deviceName=0x0, int outputFrequency=-1, int eaxEffectSlots=4)=0 | cAudio::IAudioManager | [pure virtual]
isAudioDecoderRegistered(const char *extension)=0 | cAudio::IAudioManager | [pure virtual]
isDataSourceRegistered(const char *name)=0 | cAudio::IAudioManager | [pure virtual]
registerAudioDecoder(IAudioDecoderFactory *factory, const char *extension)=0 | cAudio::IAudioManager | [pure virtual]
registerDataSource(IDataSourceFactory *factory, const char *name, int priority)=0 | cAudio::IAudioManager | [pure virtual]
registerEventHandler(IManagerEventHandler *handler)=0 | cAudio::IAudioManager | [pure virtual]
release(IAudioSource *source)=0 | cAudio::IAudioManager | [pure virtual]
releaseAllSources()=0 | cAudio::IAudioManager | [pure virtual]
shutDown()=0 | cAudio::IAudioManager | [pure virtual]
unRegisterAllAudioDecoders()=0 | cAudio::IAudioManager | [pure virtual]
unRegisterAllDataSources()=0 | cAudio::IAudioManager | [pure virtual]
unRegisterAllEventHandlers()=0 | cAudio::IAudioManager | [pure virtual]
unRegisterAudioDecoder(const char *extension)=0 | cAudio::IAudioManager | [pure virtual]
unRegisterDataSource(const char *name)=0 | cAudio::IAudioManager | [pure virtual]
unRegisterEventHandler(IManagerEventHandler *handler)=0 | cAudio::IAudioManager | [pure virtual]
update()=0 | cAudio::IAudioManager | [pure virtual]
~IAudioManager() (defined in cAudio::IAudioManager) | cAudio::IAudioManager | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:32 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::IAudioPlugin Member List

This is the complete list of members for cAudio::IAudioPlugin, including all inherited members.
drop() | cAudio::IRefCounted | [inline]
getPluginName()=0 | cAudio::IAudioPlugin | [pure virtual]
getReferenceCount() const | cAudio::IRefCounted | [inline]
grab() | cAudio::IRefCounted | [inline]
IAudioPlugin() (defined in cAudio::IAudioPlugin) | cAudio::IAudioPlugin | [inline]
installPlugin(ILogger *logger)=0 | cAudio::IAudioPlugin | [pure virtual]
IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline]
onCreateAudioCapture(IAudioCapture *capture) | cAudio::IAudioPlugin | [inline, virtual]
onCreateAudioManager(IAudioManager *manager) | cAudio::IAudioPlugin | [inline, virtual]
onDestoryAudioCapture(IAudioCapture *capture) | cAudio::IAudioPlugin | [inline, virtual]
onDestroyAudioManager(IAudioManager *manager) | cAudio::IAudioPlugin | [inline, virtual]
uninstallPlugin()=0 | cAudio::IAudioPlugin | [pure virtual]
~IAudioPlugin() (defined in cAudio::IAudioPlugin) | cAudio::IAudioPlugin | [inline]
~IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:33 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::IAudioSource Member List

This is the complete list of members for cAudio::IAudioSource, including all inherited members.
attachEffect(unsigned int slot, IEffect *effect)=0 | cAudio::IAudioSource | [pure virtual]
attachFilter(IFilter *filter)=0 | cAudio::IAudioSource | [pure virtual]
drop() | cAudio::IRefCounted | [inline]
getCompressedAudioSize()=0 | cAudio::IAudioSource | [pure virtual]
getCurrentAudioPosition()=0 | cAudio::IAudioSource | [pure virtual]
getCurrentAudioTime()=0 | cAudio::IAudioSource | [pure virtual]
getCurrentCompressedAudioPosition()=0 | cAudio::IAudioSource | [pure virtual]
getDirection() const =0 | cAudio::IAudioSource | [pure virtual]
getDopplerStrength() const =0 | cAudio::IAudioSource | [pure virtual]
getDopplerVelocity() const =0 | cAudio::IAudioSource | [pure virtual]
getInnerConeAngle() const =0 | cAudio::IAudioSource | [pure virtual]
getMaxDistance() const =0 | cAudio::IAudioSource | [pure virtual]
getMaxVolume() const =0 | cAudio::IAudioSource | [pure virtual]
getMinDistance() const =0 | cAudio::IAudioSource | [pure virtual]
getMinVolume() const =0 | cAudio::IAudioSource | [pure virtual]
getNumEffectSlotsAvailable() const =0 | cAudio::IAudioSource | [pure virtual]
getOuterConeAngle() const =0 | cAudio::IAudioSource | [pure virtual]
getOuterConeVolume() const =0 | cAudio::IAudioSource | [pure virtual]
getPitch() const =0 | cAudio::IAudioSource | [pure virtual]
getPosition() const =0 | cAudio::IAudioSource | [pure virtual]
getReferenceCount() const | cAudio::IRefCounted | [inline]
getRolloffFactor() const =0 | cAudio::IAudioSource | [pure virtual]
getStrength() const =0 | cAudio::IAudioSource | [pure virtual]
getTotalAudioSize()=0 | cAudio::IAudioSource | [pure virtual]
getTotalAudioTime()=0 | cAudio::IAudioSource | [pure virtual]
getVelocity() const =0 | cAudio::IAudioSource | [pure virtual]
getVolume() const =0 | cAudio::IAudioSource | [pure virtual]
grab() | cAudio::IRefCounted | [inline]
IAudioSource() (defined in cAudio::IAudioSource) | cAudio::IAudioSource | [inline]
IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline]
isLooping() const =0 | cAudio::IAudioSource | [pure virtual]
isPaused() const =0 | cAudio::IAudioSource | [pure virtual]
isPlaying() const =0 | cAudio::IAudioSource | [pure virtual]
isStopped() const =0 | cAudio::IAudioSource | [pure virtual]
isValid() const =0 | cAudio::IAudioSource | [pure virtual]
loop(const bool &toLoop)=0 | cAudio::IAudioSource | [pure virtual]
move(const cVector3 &position)=0 | cAudio::IAudioSource | [pure virtual]
pause()=0 | cAudio::IAudioSource | [pure virtual]
play()=0 | cAudio::IAudioSource | [pure virtual]
play2d(const bool &toLoop=false)=0 | cAudio::IAudioSource | [pure virtual]
play3d(const cVector3 &position, const float &soundstr=1.0, const bool &toLoop=false)=0 | cAudio::IAudioSource | [pure virtual]
registerEventHandler(ISourceEventHandler *handler)=0 | cAudio::IAudioSource | [pure virtual]
release()=0 | cAudio::IAudioSource | [pure virtual]
removeEffect(unsigned int slot)=0 | cAudio::IAudioSource | [pure virtual]
removeFilter()=0 | cAudio::IAudioSource | [pure virtual]
seek(const float &seconds, bool relative=false)=0 | cAudio::IAudioSource | [pure virtual]
setDirection(const cVector3 &direction)=0 | cAudio::IAudioSource | [pure virtual]
setDopplerStrength(const float &dstrength)=0 | cAudio::IAudioSource | [pure virtual]
setDopplerVelocity(const cVector3 &dvelocity)=0 | cAudio::IAudioSource | [pure virtual]
setInnerConeAngle(const float &innerAngle)=0 | cAudio::IAudioSource | [pure virtual]
setMaxDistance(const float &maxDistance)=0 | cAudio::IAudioSource | [pure virtual]
setMaxVolume(const float &maxVolume)=0 | cAudio::IAudioSource | [pure virtual]
setMinDistance(const float &minDistance)=0 | cAudio::IAudioSource | [pure virtual]
setMinVolume(const float &minVolume)=0 | cAudio::IAudioSource | [pure virtual]
setOuterConeAngle(const float &outerAngle)=0 | cAudio::IAudioSource | [pure virtual]
setOuterConeVolume(const float &outerVolume)=0 | cAudio::IAudioSource | [pure virtual]
setPitch(const float &pitch)=0 | cAudio::IAudioSource | [pure virtual]
setPosition(const cVector3 &position)=0 | cAudio::IAudioSource | [pure virtual]
setRolloffFactor(const float &rolloff)=0 | cAudio::IAudioSource | [pure virtual]
setStrength(const float &soundstrength)=0 | cAudio::IAudioSource | [pure virtual]
setVelocity(const cVector3 &velocity)=0 | cAudio::IAudioSource | [pure virtual]
setVolume(const float &volume)=0 | cAudio::IAudioSource | [pure virtual]
stop()=0 | cAudio::IAudioSource | [pure virtual]
unRegisterAllEventHandlers()=0 | cAudio::IAudioSource | [pure virtual]
unRegisterEventHandler(ISourceEventHandler *handler)=0 | cAudio::IAudioSource | [pure virtual]
update()=0 | cAudio::IAudioSource | [pure virtual]
~IAudioSource() (defined in cAudio::IAudioSource) | cAudio::IAudioSource | [inline, virtual]
~IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:33 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::ICaptureEventHandler Member List

This is the complete list of members for cAudio::ICaptureEventHandler, including all inherited members.
onBeginCapture()=0 | cAudio::ICaptureEventHandler | [pure virtual]
onEndCapture()=0 | cAudio::ICaptureEventHandler | [pure virtual]
onInit()=0 | cAudio::ICaptureEventHandler | [pure virtual]
onRelease()=0 | cAudio::ICaptureEventHandler | [pure virtual]
onUpdate()=0 | cAudio::ICaptureEventHandler | [pure virtual]
onUserRequestBuffer()=0 | cAudio::ICaptureEventHandler | [pure virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:33 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::IDataSource Member List

This is the complete list of members for cAudio::IDataSource, including all inherited members.
drop() | cAudio::IRefCounted | [inline]
getCurrentPos()=0 | cAudio::IDataSource | [pure virtual]
getReferenceCount() const | cAudio::IRefCounted | [inline]
getSize()=0 | cAudio::IDataSource | [pure virtual]
grab() | cAudio::IRefCounted | [inline]
IDataSource() (defined in cAudio::IDataSource) | cAudio::IDataSource | [inline]
IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline]
isValid()=0 | cAudio::IDataSource | [pure virtual]
read(void *output, int size)=0 | cAudio::IDataSource | [pure virtual]
seek(int amount, bool relative)=0 | cAudio::IDataSource | [pure virtual]
~IDataSource() (defined in cAudio::IDataSource) | cAudio::IDataSource | [inline, virtual]
~IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:33 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::IDataSourceFactory Member List

This is the complete list of members for cAudio::IDataSourceFactory, including all inherited members.
CreateDataSource(const char *filename, bool streamingRequested)=0 | cAudio::IDataSourceFactory | [pure virtual]
IDataSourceFactory() (defined in cAudio::IDataSourceFactory) | cAudio::IDataSourceFactory | [inline]
~IDataSourceFactory() (defined in cAudio::IDataSourceFactory) | cAudio::IDataSourceFactory | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:33 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::IEffect Member List

This is the complete list of members for cAudio::IEffect, including all inherited members.
attachFilter(IFilter *filter)=0 | cAudio::IEffect | [pure virtual]
drop() | cAudio::IRefCounted | [inline]
getAutowahParameters() const =0 | cAudio::IEffect | [pure virtual]
getChorusParameters() const =0 | cAudio::IEffect | [pure virtual]
getCompressorParameters() const =0 | cAudio::IEffect | [pure virtual]
getDistortionParameters() const =0 | cAudio::IEffect | [pure virtual]
getEAXReverbParameters() const =0 | cAudio::IEffect | [pure virtual]
getEchoParameters() const =0 | cAudio::IEffect | [pure virtual]
getEqualizerParameters() const =0 | cAudio::IEffect | [pure virtual]
getFilter() const =0 | cAudio::IEffect | [pure virtual]
getFlangerParameters() const =0 | cAudio::IEffect | [pure virtual]
getFrequencyShiftParameters() const =0 | cAudio::IEffect | [pure virtual]
getLastUpdated() const =0 | cAudio::IEffect | [pure virtual]
getMasterVolume() const =0 | cAudio::IEffect | [pure virtual]
getPitchShifterParameters() const =0 | cAudio::IEffect | [pure virtual]
getReferenceCount() const | cAudio::IRefCounted | [inline]
getReverbParameters() const =0 | cAudio::IEffect | [pure virtual]
getRingModulatorParameters() const =0 | cAudio::IEffect | [pure virtual]
getType() const =0 | cAudio::IEffect | [pure virtual]
getVocalMorpherParameters() const =0 | cAudio::IEffect | [pure virtual]
grab() | cAudio::IRefCounted | [inline]
IEffect() (defined in cAudio::IEffect) | cAudio::IEffect | [inline]
ignoreAttenuation(const bool &ignore)=0 | cAudio::IEffect | [pure virtual]
IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline]
isIgnoringAttenuation() const =0 | cAudio::IEffect | [pure virtual]
isValid() const =0 | cAudio::IEffect | [pure virtual]
removeFilter()=0 | cAudio::IEffect | [pure virtual]
setAutowahParameters(const sAutowahParameters &param)=0 | cAudio::IEffect | [pure virtual]
setChorusParameters(const sChorusParameters &param)=0 | cAudio::IEffect | [pure virtual]
setCompressorParameters(const sCompressorParameters &param)=0 | cAudio::IEffect | [pure virtual]
setDistortionParameters(const sDistortionParameters &param)=0 | cAudio::IEffect | [pure virtual]
setEAXReverbParameters(const sEAXReverbParameters &param)=0 | cAudio::IEffect | [pure virtual]
setEchoParameters(const sEchoParameters &param)=0 | cAudio::IEffect | [pure virtual]
setEqualizerParameters(const sEqualizerParameters &param)=0 | cAudio::IEffect | [pure virtual]
setFlangerParameters(const sFlangerParameters &param)=0 | cAudio::IEffect | [pure virtual]
setFrequencyShiftParameters(const sFrequencyShiftParameters &param)=0 | cAudio::IEffect | [pure virtual]
setMasterVolume(const float &volume)=0 | cAudio::IEffect | [pure virtual]
setPitchShifterParameters(const sPitchShifterParameters &param)=0 | cAudio::IEffect | [pure virtual]
setReverbParameters(const sReverbParameters &param)=0 | cAudio::IEffect | [pure virtual]
setRingModulatorParameters(const sRingModulatorParameters &param)=0 | cAudio::IEffect | [pure virtual]
setType(const EffectTypes &type)=0 | cAudio::IEffect | [pure virtual]
setVocalMorpherParameters(const sVocalMorpherParameters &param)=0 | cAudio::IEffect | [pure virtual]
~IEffect() (defined in cAudio::IEffect) | cAudio::IEffect | [inline, virtual]
~IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:33 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::IFilter Member List

This is the complete list of members for cAudio::IFilter, including all inherited members.
drop() | cAudio::IRefCounted | [inline]
getHighFrequencyVolume() const =0 | cAudio::IFilter | [pure virtual]
getLastUpdated() const =0 | cAudio::IFilter | [pure virtual]
getLowFrequencyVolume() const =0 | cAudio::IFilter | [pure virtual]
getReferenceCount() const | cAudio::IRefCounted | [inline]
getType() const =0 | cAudio::IFilter | [pure virtual]
getVolume() const =0 | cAudio::IFilter | [pure virtual]
grab() | cAudio::IRefCounted | [inline]
IFilter() (defined in cAudio::IFilter) | cAudio::IFilter | [inline]
IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline]
isValid() const =0 | cAudio::IFilter | [pure virtual]
setHighFrequencyVolume(const float &volumeHF)=0 | cAudio::IFilter | [pure virtual]
setLowFrequencyVolume(const float &volumeLF)=0 | cAudio::IFilter | [pure virtual]
setType(const FilterTypes &type)=0 | cAudio::IFilter | [pure virtual]
setVolume(const float &volume)=0 | cAudio::IFilter | [pure virtual]
~IFilter() (defined in cAudio::IFilter) | cAudio::IFilter | [inline, virtual]
~IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::IListener Member List

This is the complete list of members for cAudio::IListener, including all inherited members.
getDirection(void) const =0 | cAudio::IListener | [pure virtual]
getMasterVolume(void) const =0 | cAudio::IListener | [pure virtual]
getMetersPerUnit(void) const =0 | cAudio::IListener | [pure virtual]
getPosition(void) const =0 | cAudio::IListener | [pure virtual]
getUpVector(void) const =0 | cAudio::IListener | [pure virtual]
getVelocity(void) const =0 | cAudio::IListener | [pure virtual]
IListener() (defined in cAudio::IListener) | cAudio::IListener | [inline]
move(const cVector3 &pos)=0 | cAudio::IListener | [pure virtual]
setDirection(const cVector3 &dir)=0 | cAudio::IListener | [pure virtual]
setMasterVolume(const float &volume)=0 | cAudio::IListener | [pure virtual]
setMetersPerUnit(const float &meters)=0 | cAudio::IListener | [pure virtual]
setPosition(const cVector3 &pos)=0 | cAudio::IListener | [pure virtual]
setUpVector(const cVector3 &up)=0 | cAudio::IListener | [pure virtual]
setVelocity(const cVector3 &vel)=0 | cAudio::IListener | [pure virtual]
~IListener() (defined in cAudio::IListener) | cAudio::IListener | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::ILogReceiver Member List

This is the complete list of members for cAudio::ILogReceiver, including all inherited members.
ILogReceiver() (defined in cAudio::ILogReceiver) | cAudio::ILogReceiver | [inline]
OnLogMessage(const char *sender, const char *message, LogLevel level, float time)=0 | cAudio::ILogReceiver | [pure virtual]
~ILogReceiver() (defined in cAudio::ILogReceiver) | cAudio::ILogReceiver | [inline]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::ILogger Member List

This is the complete list of members for cAudio::ILogger, including all inherited members.
getLogLevel() const =0 | cAudio::ILogger | [pure virtual]
getLogReceiver(const char *name)=0 | cAudio::ILogger | [pure virtual]
ILogger() (defined in cAudio::ILogger) | cAudio::ILogger | [inline]
isLogReceiverRegistered(const char *name)=0 | cAudio::ILogger | [pure virtual]
logCritical(const char *sender, const char *msg,...)=0 | cAudio::ILogger | [pure virtual]
logDebug(const char *sender, const char *msg,...)=0 | cAudio::ILogger | [pure virtual]
logError(const char *sender, const char *msg,...)=0 | cAudio::ILogger | [pure virtual]
logInfo(const char *sender, const char *msg,...)=0 | cAudio::ILogger | [pure virtual]
logWarning(const char *sender, const char *msg,...)=0 | cAudio::ILogger | [pure virtual]
registerLogReceiver(ILogReceiver *receiver, const char *name)=0 | cAudio::ILogger | [pure virtual]
setLogLevel(const LogLevel &logLevel)=0 | cAudio::ILogger | [pure virtual]
unRegisterLogReceiver(const char *name)=0 | cAudio::ILogger | [pure virtual]
~ILogger() (defined in cAudio::ILogger) | cAudio::ILogger | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::IManagerEventHandler Member List

This is the complete list of members for cAudio::IManagerEventHandler, including all inherited members.
onDataSourceRegister()=0 | cAudio::IManagerEventHandler | [pure virtual]
onDecoderRegister()=0 | cAudio::IManagerEventHandler | [pure virtual]
onInit()=0 | cAudio::IManagerEventHandler | [pure virtual]
onRelease()=0 | cAudio::IManagerEventHandler | [pure virtual]
onSourceCreate()=0 | cAudio::IManagerEventHandler | [pure virtual]
onUpdate()=0 | cAudio::IManagerEventHandler | [pure virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::IMemoryProvider Member List

This is the complete list of members for cAudio::IMemoryProvider, including all inherited members.
Allocate(size_t size, const char *filename, int line, const char *function)=0 | cAudio::IMemoryProvider | [pure virtual]
Free(void *pointer)=0 | cAudio::IMemoryProvider | [pure virtual]
getMaxAllocationSize()=0 | cAudio::IMemoryProvider | [pure virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:35 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::IPluginManager Member List

This is the complete list of members for cAudio::IPluginManager, including all inherited members.
checkForPlugin(const char *name)=0 | cAudio::IPluginManager | [pure virtual]
getPlugin(const char *name)=0 | cAudio::IPluginManager | [pure virtual]
getPluginCount()=0 | cAudio::IPluginManager | [pure virtual]
installPlugin(IAudioPlugin *plugin, const char *name=NULL)=0 | cAudio::IPluginManager | [pure virtual]
installPlugin(const char *filename, const char *name=NULL)=0 | cAudio::IPluginManager | [pure virtual]
IPluginManager() (defined in cAudio::IPluginManager) | cAudio::IPluginManager | [inline]
uninstallPlugin(IAudioPlugin *plugin)=0 | cAudio::IPluginManager | [pure virtual]
uninstallPlugin(const char *name)=0 | cAudio::IPluginManager | [pure virtual]
~IPluginManager() (defined in cAudio::IPluginManager) | cAudio::IPluginManager | [inline]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:35 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::IRefCounted Member List

This is the complete list of members for cAudio::IRefCounted, including all inherited members.
drop() | cAudio::IRefCounted | [inline]
getReferenceCount() const | cAudio::IRefCounted | [inline]
grab() | cAudio::IRefCounted | [inline]
IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline]
~IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:35 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::ISourceEventHandler Member List

This is the complete list of members for cAudio::ISourceEventHandler, including all inherited members.
onPause()=0 | cAudio::ISourceEventHandler | [pure virtual]
onPlay()=0 | cAudio::ISourceEventHandler | [pure virtual]
onRelease()=0 | cAudio::ISourceEventHandler | [pure virtual]
onStop()=0 | cAudio::ISourceEventHandler | [pure virtual]
onUpdate()=0 | cAudio::ISourceEventHandler | [pure virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:35 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cAudioCapture Member List

This is the complete list of members for cAudio::cAudioCapture, including all inherited members.
AvailableDevices (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
beginCapture() | cAudio::cAudioCapture | [virtual]
CaptureBuffer (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
CaptureDevice (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
Capturing (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
cAudioCapture() (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture |
checkCaptureExtension() | cAudio::cAudioCapture |
checkError() (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
convertAudioFormatEnum(AudioFormats format) (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
DefaultDevice (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
DeviceName (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
eventHandlerList (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
Events enum name (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture |
Format (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
Frequency (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
getAvailableDeviceCount() | cAudio::cAudioCapture | [virtual]
getAvailableDeviceName(unsigned int index) | cAudio::cAudioCapture | [virtual]
getAvailableDevices() (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture |
getCapturedAudio(void *outputBuffer, unsigned int outputBufferSize) | cAudio::cAudioCapture | [virtual]
getCurrentCapturedAudioSize() | cAudio::cAudioCapture | [virtual]
getDefaultDeviceName() | cAudio::cAudioCapture | [virtual]
getDeviceName() | cAudio::cAudioCapture | [inline, virtual]
getFormat() | cAudio::cAudioCapture | [inline, virtual]
getFrequency() | cAudio::cAudioCapture | [inline, virtual]
getInternalBufferSize() | cAudio::cAudioCapture | [inline, virtual]
getSampleSize() | cAudio::cAudioCapture | [inline, virtual]
IAudioCapture() (defined in cAudio::IAudioCapture) | cAudio::IAudioCapture | [inline]
initialize(const char *deviceName=0x0, unsigned int frequency=22050, AudioFormats format=EAF_16BIT_MONO, unsigned int internalBufferSize=8192) | cAudio::cAudioCapture | [virtual]
initOpenALDevice() (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
InternalBufferSize (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
isReady() | cAudio::cAudioCapture | [inline, virtual]
isSupported() | cAudio::cAudioCapture | [inline, virtual]
Mutex (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
ON_BEGINCAPTURE enum value (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture |
ON_ENDCAPTURE enum value (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture |
ON_INIT enum value (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture |
ON_RELEASE enum value (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture |
ON_UPDATE enum value (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture |
ON_USERREQUESTEDBUFFER enum value (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture |
operator delete(void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, void *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
Ready (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
registerEventHandler(ICaptureEventHandler *handler) | cAudio::cAudioCapture | [virtual]
SampleSize (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
setDevice(const char *deviceName) | cAudio::cAudioCapture | [virtual]
setFormat(AudioFormats format) | cAudio::cAudioCapture | [virtual]
setFrequency(unsigned int frequency) | cAudio::cAudioCapture | [virtual]
setInternalBufferSize(unsigned int internalBufferSize) | cAudio::cAudioCapture | [virtual]
shutdown() | cAudio::cAudioCapture | [virtual]
shutdownOpenALDevice() (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
signalEvent(Events sevent) (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
stopCapture() | cAudio::cAudioCapture | [virtual]
Supported (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture | [protected]
unRegisterAllEventHandlers() | cAudio::cAudioCapture | [virtual]
unRegisterEventHandler(ICaptureEventHandler *handler) | cAudio::cAudioCapture | [virtual]
updateCaptureBuffer(bool force=false) | cAudio::cAudioCapture | [virtual]
~cAudioCapture() (defined in cAudio::cAudioCapture) | cAudio::cAudioCapture |
~IAudioCapture() (defined in cAudio::IAudioCapture) | cAudio::IAudioCapture | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:35 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cAudioEffects Member List

This is the complete list of members for cAudio::cAudioEffects, including all inherited members.
addAutowahEffectPreset(const char *name, const sAutowahParameters &setting) | cAudio::cAudioEffects | [virtual]
addChorusEffectPreset(const char *name, const sChorusParameters &setting) | cAudio::cAudioEffects | [virtual]
addCompressorEffectPreset(const char *name, const sCompressorParameters &setting) | cAudio::cAudioEffects | [virtual]
addDistortionEffectPreset(const char *name, const sDistortionParameters &setting) | cAudio::cAudioEffects | [virtual]
addEAXReverbEffectPreset(const char *name, const sEAXReverbParameters &setting) | cAudio::cAudioEffects | [virtual]
addEchoEffectPreset(const char *name, const sEchoParameters &setting) | cAudio::cAudioEffects | [virtual]
addEqualizerEffectPreset(const char *name, const sEqualizerParameters &setting) | cAudio::cAudioEffects | [virtual]
addFlangerEffectPreset(const char *name, const sFlangerParameters &setting) | cAudio::cAudioEffects | [virtual]
addFrequencyShiftEffectPreset(const char *name, const sFrequencyShiftParameters &setting) | cAudio::cAudioEffects | [virtual]
addPitchShifterEffectPreset(const char *name, const sPitchShifterParameters &setting) | cAudio::cAudioEffects | [virtual]
addReverbEffectPreset(const char *name, const sReverbParameters &setting) | cAudio::cAudioEffects | [virtual]
addRingModulatorEffectPreset(const char *name, const sRingModulatorParameters &setting) | cAudio::cAudioEffects | [virtual]
addVocalMorpherEffectPreset(const char *name, const sVocalMorpherParameters &setting) | cAudio::cAudioEffects | [virtual]
cAudioEffects() (defined in cAudio::cAudioEffects) | cAudio::cAudioEffects |
checkEFXSupportDetails() (defined in cAudio::cAudioEffects) | cAudio::cAudioEffects |
createEffect() | cAudio::cAudioEffects | [virtual]
createFilter() | cAudio::cAudioEffects | [virtual]
getAutowahEffectPreset(const char *name) | cAudio::cAudioEffects | [virtual]
getChorusEffectPreset(const char *name) | cAudio::cAudioEffects | [virtual]
getCompressorEffectPreset(const char *name) | cAudio::cAudioEffects | [virtual]
getDistortionEffectPreset(const char *name) | cAudio::cAudioEffects | [virtual]
getEAXReverbEffectPreset(const char *name) | cAudio::cAudioEffects | [virtual]
getEchoEffectPreset(const char *name) | cAudio::cAudioEffects | [virtual]
getEFXInterface() (defined in cAudio::cAudioEffects) | cAudio::cAudioEffects |
getEqualizerEffectPreset(const char *name) | cAudio::cAudioEffects | [virtual]
getFlangerEffectPreset(const char *name) | cAudio::cAudioEffects | [virtual]
getFrequencyShiftEffectPreset(const char *name) | cAudio::cAudioEffects | [virtual]
getMaxEffectsSupported() const | cAudio::cAudioEffects | [virtual]
getPitchShifterEffectPreset(const char *name) | cAudio::cAudioEffects | [virtual]
getReverbEffectPreset(const char *name) | cAudio::cAudioEffects | [virtual]
getRingModulatorEffectPreset(const char *name) | cAudio::cAudioEffects | [virtual]
getVocalMorpherEffectPreset(const char *name) | cAudio::cAudioEffects | [virtual]
IAudioEffects() (defined in cAudio::IAudioEffects) | cAudio::IAudioEffects | [inline]
isEffectPresetRegistered(const EffectTypes &type, const char *name) | cAudio::cAudioEffects | [virtual]
isEffectSupported(const EffectTypes &type) const | cAudio::cAudioEffects | [virtual]
isFilterSupported(const FilterTypes &type) const | cAudio::cAudioEffects | [virtual]
removeAllEffectPresets(const EffectTypes &type) | cAudio::cAudioEffects | [virtual]
removeEffectPreset(const EffectTypes &type, const char *name) | cAudio::cAudioEffects | [virtual]
~cAudioEffects() (defined in cAudio::cAudioEffects) | cAudio::cAudioEffects | [virtual]
~IAudioEffects() (defined in cAudio::IAudioEffects) | cAudio::IAudioEffects | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:36 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cAudioManager Member List

This is the complete list of members for cAudio::cAudioManager, including all inherited members.
cAudioManager() (defined in cAudio::cAudioManager) | cAudio::cAudioManager | [inline]
create(const char *name, const char *filename, bool stream=false) | cAudio::cAudioManager | [virtual]
createFromMemory(const char *name, const char *data, size_t length, const char *extension) | cAudio::cAudioManager | [virtual]
createFromRaw(const char *name, const char *data, size_t length, unsigned int frequency, AudioFormats format) | cAudio::cAudioManager | [virtual]
Events enum name (defined in cAudio::cAudioManager) | cAudio::cAudioManager |
getAudioDecoderFactory(const char *extension) | cAudio::cAudioManager | [virtual]
getAvailableDeviceCount() | cAudio::cAudioManager | [virtual]
getAvailableDeviceName(unsigned int index) | cAudio::cAudioManager | [virtual]
getAvailableDevices() | cAudio::cAudioManager |
getDataSourceFactory(const char *name) | cAudio::cAudioManager | [virtual]
getDefaultDeviceName() | cAudio::cAudioManager | [virtual]
getEffects() | cAudio::cAudioManager | [inline, virtual]
getListener() | cAudio::cAudioManager | [inline, virtual]
getSoundByName(const char *name) | cAudio::cAudioManager | [virtual]
IAudioManager() (defined in cAudio::IAudioManager) | cAudio::IAudioManager | [inline]
initialize(const char *deviceName=0x0, int outputFrequency=-1, int eaxEffectSlots=4) | cAudio::cAudioManager | [virtual]
isAudioDecoderRegistered(const char *extension) | cAudio::cAudioManager | [virtual]
isDataSourceRegistered(const char *name) | cAudio::cAudioManager | [virtual]
ON_DATASOURCEREGISTER enum value (defined in cAudio::cAudioManager) | cAudio::cAudioManager |
ON_DECODERREGISTER enum value (defined in cAudio::cAudioManager) | cAudio::cAudioManager |
ON_INIT enum value (defined in cAudio::cAudioManager) | cAudio::cAudioManager |
ON_RELEASE enum value (defined in cAudio::cAudioManager) | cAudio::cAudioManager |
ON_SOURCECREATE enum value (defined in cAudio::cAudioManager) | cAudio::cAudioManager |
ON_UPDATE enum value (defined in cAudio::cAudioManager) | cAudio::cAudioManager |
operator delete(void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, void *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
registerAudioDecoder(IAudioDecoderFactory *factory, const char *extension) | cAudio::cAudioManager | [virtual]
registerDataSource(IDataSourceFactory *factory, const char *name, int priority) | cAudio::cAudioManager | [virtual]
registerEventHandler(IManagerEventHandler *handler) | cAudio::cAudioManager | [virtual]
release(IAudioSource *source) | cAudio::cAudioManager | [virtual]
releaseAllSources() | cAudio::cAudioManager | [virtual]
shutDown() | cAudio::cAudioManager | [virtual]
unRegisterAllAudioDecoders() | cAudio::cAudioManager | [virtual]
unRegisterAllDataSources() | cAudio::cAudioManager | [virtual]
unRegisterAllEventHandlers() | cAudio::cAudioManager | [virtual]
unRegisterAudioDecoder(const char *extension) | cAudio::cAudioManager | [virtual]
unRegisterDataSource(const char *name) | cAudio::cAudioManager | [virtual]
unRegisterEventHandler(IManagerEventHandler *handler) | cAudio::cAudioManager | [virtual]
update() | cAudio::cAudioManager | [virtual]
~cAudioManager() (defined in cAudio::cAudioManager) | cAudio::cAudioManager | [inline, virtual]
~IAudioManager() (defined in cAudio::IAudioManager) | cAudio::IAudioManager | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:37 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cAudioMutex Member List

This is the complete list of members for cAudio::cAudioMutex, including all inherited members.
cAudioMutex() (defined in cAudio::cAudioMutex) | cAudio::cAudioMutex
cAudioMutex() (defined in cAudio::cAudioMutex) | cAudio::cAudioMutex
lock() (defined in cAudio::cAudioMutex) | cAudio::cAudioMutex
lock() (defined in cAudio::cAudioMutex) | cAudio::cAudioMutex
unlock() (defined in cAudio::cAudioMutex) | cAudio::cAudioMutex
unlock() (defined in cAudio::cAudioMutex) | cAudio::cAudioMutex
~cAudioMutex() (defined in cAudio::cAudioMutex) | cAudio::cAudioMutex
~cAudioMutex() (defined in cAudio::cAudioMutex) | cAudio::cAudioMutex
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:41 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cAudioMutexBasicLock Member List

This is the complete list of members for cAudio::cAudioMutexBasicLock, including all inherited members.
cAudioMutexBasicLock(cAudioMutex &mutex) (defined in cAudio::cAudioMutexBasicLock) | cAudio::cAudioMutexBasicLock | [inline]
Mutex (defined in cAudio::cAudioMutexBasicLock) | cAudio::cAudioMutexBasicLock | [protected]
~cAudioMutexBasicLock() (defined in cAudio::cAudioMutexBasicLock) | cAudio::cAudioMutexBasicLock | [inline]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:41 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cAudioSource Member List

This is the complete list of members for cAudio::cAudioSource, including all inherited members.
attachEffect(unsigned int slot, IEffect *effect) | cAudio::cAudioSource | [virtual]
attachFilter(IFilter *filter) | cAudio::cAudioSource | [virtual]
cAudioSource(IAudioDecoder *decoder, ALCcontext *context, cEFXFunctions *oALFunctions) (defined in cAudio::cAudioSource) | cAudio::cAudioSource |
cAudioSource(IAudioDecoder *decoder, ALCcontext *context) (defined in cAudio::cAudioSource) | cAudio::cAudioSource |
drop() | cAudio::IRefCounted | [inline]
Events enum name (defined in cAudio::cAudioSource) | cAudio::cAudioSource |
getCompressedAudioSize() | cAudio::cAudioSource | [virtual]
getCurrentAudioPosition() | cAudio::cAudioSource | [virtual]
getCurrentAudioTime() | cAudio::cAudioSource | [virtual]
getCurrentCompressedAudioPosition() | cAudio::cAudioSource | [virtual]
getDirection() const | cAudio::cAudioSource | [virtual]
getDopplerStrength() const | cAudio::cAudioSource | [virtual]
getDopplerVelocity() const | cAudio::cAudioSource | [virtual]
getInnerConeAngle() const | cAudio::cAudioSource | [virtual]
getMaxDistance() const | cAudio::cAudioSource | [virtual]
getMaxVolume() const | cAudio::cAudioSource | [virtual]
getMinDistance() const | cAudio::cAudioSource | [virtual]
getMinVolume() const | cAudio::cAudioSource | [virtual]
getNumEffectSlotsAvailable() const | cAudio::cAudioSource | [virtual]
getOuterConeAngle() const | cAudio::cAudioSource | [virtual]
getOuterConeVolume() const | cAudio::cAudioSource | [virtual]
getPitch() const | cAudio::cAudioSource | [virtual]
getPosition() const | cAudio::cAudioSource | [virtual]
getReferenceCount() const | cAudio::IRefCounted | [inline]
getRolloffFactor() const | cAudio::cAudioSource | [virtual]
getStrength() const | cAudio::cAudioSource | [virtual]
getTotalAudioSize() | cAudio::cAudioSource | [virtual]
getTotalAudioTime() | cAudio::cAudioSource | [virtual]
getVelocity() const | cAudio::cAudioSource | [virtual]
getVolume() const | cAudio::cAudioSource | [virtual]
grab() | cAudio::IRefCounted | [inline]
IAudioSource() (defined in cAudio::IAudioSource) | cAudio::IAudioSource | [inline]
IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline]
isLooping() const | cAudio::cAudioSource | [virtual]
isPaused() const | cAudio::cAudioSource | [virtual]
isPlaying() const | cAudio::cAudioSource | [virtual]
isStopped() const | cAudio::cAudioSource | [virtual]
isValid() const | cAudio::cAudioSource | [virtual]
loop(const bool &toLoop) | cAudio::cAudioSource | [virtual]
move(const cVector3 &position) | cAudio::cAudioSource | [virtual]
ON_PAUSE enum value (defined in cAudio::cAudioSource) | cAudio::cAudioSource |
ON_PLAY enum value (defined in cAudio::cAudioSource) | cAudio::cAudioSource |
ON_RELEASE enum value (defined in cAudio::cAudioSource) | cAudio::cAudioSource |
ON_STOP enum value (defined in cAudio::cAudioSource) | cAudio::cAudioSource |
ON_UPDATE enum value (defined in cAudio::cAudioSource) | cAudio::cAudioSource |
operator delete(void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, void *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
pause() | cAudio::cAudioSource | [virtual]
play() | cAudio::cAudioSource | [virtual]
play2d(const bool &toLoop=false) | cAudio::cAudioSource | [virtual]
play3d(const cVector3 &position, const float &soundstr=1.0, const bool &toLoop=false) | cAudio::cAudioSource | [virtual]
registerEventHandler(ISourceEventHandler *handler) | cAudio::cAudioSource | [virtual]
release() | cAudio::cAudioSource | [virtual]
removeEffect(unsigned int slot) | cAudio::cAudioSource | [virtual]
removeFilter() | cAudio::cAudioSource | [virtual]
seek(const float &seconds, bool relative=false) | cAudio::cAudioSource | [virtual]
setDirection(const cVector3 &direction) | cAudio::cAudioSource | [virtual]
setDopplerStrength(const float &dstrength) | cAudio::cAudioSource | [virtual]
setDopplerVelocity(const cVector3 &dvelocity) | cAudio::cAudioSource | [virtual]
setInnerConeAngle(const float &innerAngle) | cAudio::cAudioSource | [virtual]
setMaxDistance(const float &maxDistance) | cAudio::cAudioSource | [virtual]
setMaxVolume(const float &maxVolume) | cAudio::cAudioSource | [virtual]
setMinDistance(const float &minDistance) | cAudio::cAudioSource | [virtual]
setMinVolume(const float &minVolume) | cAudio::cAudioSource | [virtual]
setOuterConeAngle(const float &outerAngle) | cAudio::cAudioSource | [virtual]
setOuterConeVolume(const float &outerVolume) | cAudio::cAudioSource | [virtual]
setPitch(const float &pitch) | cAudio::cAudioSource | [virtual]
setPosition(const cVector3 &position) | cAudio::cAudioSource | [virtual]
setRolloffFactor(const float &rolloff) | cAudio::cAudioSource | [virtual]
setStrength(const float &soundstrength) | cAudio::cAudioSource | [virtual]
setVelocity(const cVector3 &velocity) | cAudio::cAudioSource | [virtual]
setVolume(const float &volume) | cAudio::cAudioSource | [virtual]
stop() | cAudio::cAudioSource | [virtual]
unRegisterAllEventHandlers() | cAudio::cAudioSource | [virtual]
unRegisterEventHandler(ISourceEventHandler *handler) | cAudio::cAudioSource | [virtual]
update() | cAudio::cAudioSource | [virtual]
~cAudioSource() (defined in cAudio::cAudioSource) | cAudio::cAudioSource |
~IAudioSource() (defined in cAudio::IAudioSource) | cAudio::IAudioSource | [inline, virtual]
~IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:37 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cAudioThread Member List

This is the complete list of members for cAudio::cAudioThread, including all inherited members.
SpawnThread(unsigned __stdcall start_address(void *), void *arg) | cAudio::cAudioThread | [static]
SpawnThread(void *start_address(void *), void *arg) (defined in cAudio::cAudioThread) | cAudio::cAudioThread | [static]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cConsoleLogReceiver Member List

This is the complete list of members for cAudio::cConsoleLogReceiver, including all inherited members.
ILogReceiver() (defined in cAudio::ILogReceiver) | cAudio::ILogReceiver | [inline]
OnLogMessage(const char *sender, const char *message, LogLevel level, float time) | cAudio::cConsoleLogReceiver | [virtual]
~ILogReceiver() (defined in cAudio::ILogReceiver) | cAudio::ILogReceiver | [inline]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:38 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cEffect Member List

This is the complete list of members for cAudio::cEffect, including all inherited members.
attachFilter(IFilter *filter) | cAudio::cEffect | [virtual]
cEffect(cEFXFunctions *oALFunctions) (defined in cAudio::cEffect) | cAudio::cEffect |
drop() | cAudio::IRefCounted | [inline]
getAutowahParameters() const | cAudio::cEffect | [virtual]
getChorusParameters() const | cAudio::cEffect | [virtual]
getCompressorParameters() const | cAudio::cEffect | [virtual]
getDistortionParameters() const | cAudio::cEffect | [virtual]
getEAXReverbParameters() const | cAudio::cEffect | [virtual]
getEchoParameters() const | cAudio::cEffect | [virtual]
getEqualizerParameters() const | cAudio::cEffect | [virtual]
getFilter() const | cAudio::cEffect | [virtual]
getFlangerParameters() const | cAudio::cEffect | [virtual]
getFrequencyShiftParameters() const | cAudio::cEffect | [virtual]
getLastUpdated() const | cAudio::cEffect | [virtual]
getMasterVolume() const | cAudio::cEffect | [virtual]
getOpenALEffect() const (defined in cAudio::cEffect) | cAudio::cEffect |
getOpenALEffectSlot() const (defined in cAudio::cEffect) | cAudio::cEffect |
getPitchShifterParameters() const | cAudio::cEffect | [virtual]
getReferenceCount() const | cAudio::IRefCounted | [inline]
getReverbParameters() const | cAudio::cEffect | [virtual]
getRingModulatorParameters() const | cAudio::cEffect | [virtual]
getType() const | cAudio::cEffect | [virtual]
getVocalMorpherParameters() const | cAudio::cEffect | [virtual]
grab() | cAudio::IRefCounted | [inline]
IEffect() (defined in cAudio::IEffect) | cAudio::IEffect | [inline]
ignoreAttenuation(const bool &ignore) | cAudio::cEffect | [virtual]
IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline]
isIgnoringAttenuation() const | cAudio::cEffect | [virtual]
isValid() const | cAudio::cEffect | [virtual]
operator delete(void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, void *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
removeFilter() | cAudio::cEffect | [virtual]
setAutowahParameters(const sAutowahParameters &param) | cAudio::cEffect | [virtual]
setChorusParameters(const sChorusParameters &param) | cAudio::cEffect | [virtual]
setCompressorParameters(const sCompressorParameters &param) | cAudio::cEffect | [virtual]
setDistortionParameters(const sDistortionParameters &param) | cAudio::cEffect | [virtual]
setEAXReverbParameters(const sEAXReverbParameters &param) | cAudio::cEffect | [virtual]
setEchoParameters(const sEchoParameters &param) | cAudio::cEffect | [virtual]
setEqualizerParameters(const sEqualizerParameters &param) | cAudio::cEffect | [virtual]
setFlangerParameters(const sFlangerParameters &param) | cAudio::cEffect | [virtual]
setFrequencyShiftParameters(const sFrequencyShiftParameters &param) | cAudio::cEffect | [virtual]
setMasterVolume(const float &volume) | cAudio::cEffect | [virtual]
setPitchShifterParameters(const sPitchShifterParameters &param) | cAudio::cEffect | [virtual]
setReverbParameters(const sReverbParameters &param) | cAudio::cEffect | [virtual]
setRingModulatorParameters(const sRingModulatorParameters &param) | cAudio::cEffect | [virtual]
setType(const EffectTypes &type) | cAudio::cEffect | [virtual]
setVocalMorpherParameters(const sVocalMorpherParameters &param) | cAudio::cEffect | [virtual]
~cEffect() (defined in cAudio::cEffect) | cAudio::cEffect | [virtual]
~IEffect() (defined in cAudio::IEffect) | cAudio::IEffect | [inline, virtual]
~IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:38 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cFileLogReceiver Member List

This is the complete list of members for cAudio::cFileLogReceiver, including all inherited members.
cFileLogReceiver() (defined in cAudio::cFileLogReceiver) | cAudio::cFileLogReceiver |
ILogReceiver() (defined in cAudio::ILogReceiver) | cAudio::ILogReceiver | [inline]
OnLogMessage(const char *sender, const char *message, LogLevel level, float time) | cAudio::cFileLogReceiver | [virtual]
~cFileLogReceiver() (defined in cAudio::cFileLogReceiver) | cAudio::cFileLogReceiver |
~ILogReceiver() (defined in cAudio::ILogReceiver) | cAudio::ILogReceiver | [inline]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:39 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cFileSource Member List

This is the complete list of members for cAudio::cFileSource, including all inherited members.
cFileSource(const char *filename) (defined in cAudio::cFileSource) | cAudio::cFileSource |
drop() | cAudio::IRefCounted | [inline]
Filesize | cAudio::cFileSource | [protected]
getCurrentPos() | cAudio::cFileSource | [virtual]
getReferenceCount() const | cAudio::IRefCounted | [inline]
getSize() | cAudio::cFileSource | [virtual]
grab() | cAudio::IRefCounted | [inline]
IDataSource() (defined in cAudio::IDataSource) | cAudio::IDataSource | [inline]
IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline]
isValid() | cAudio::cFileSource | [virtual]
operator delete(void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, void *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
pFile | cAudio::cFileSource | [protected]
read(void *output, int size) | cAudio::cFileSource | [virtual]
seek(int amount, bool relative) | cAudio::cFileSource | [virtual]
Valid | cAudio::cFileSource | [protected]
~cFileSource() (defined in cAudio::cFileSource) | cAudio::cFileSource |
~IDataSource() (defined in cAudio::IDataSource) | cAudio::IDataSource | [inline, virtual]
~IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:39 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cFileSourceFactory Member List

This is the complete list of members for cAudio::cFileSourceFactory, including all inherited members.
cFileSourceFactory() (defined in cAudio::cFileSourceFactory) | cAudio::cFileSourceFactory | [inline]
CreateDataSource(const char *filename, bool streamingRequested) | cAudio::cFileSourceFactory | [inline, virtual]
IDataSourceFactory() (defined in cAudio::IDataSourceFactory) | cAudio::IDataSourceFactory | [inline]
Mutex (defined in cAudio::cFileSourceFactory) | cAudio::cFileSourceFactory | [protected]
~cFileSourceFactory() (defined in cAudio::cFileSourceFactory) | cAudio::cFileSourceFactory | [inline, virtual]
~IDataSourceFactory() (defined in cAudio::IDataSourceFactory) | cAudio::IDataSourceFactory | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:39 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cFilter Member List

This is the complete list of members for cAudio::cFilter, including all inherited members.
cFilter(cEFXFunctions *oALFunctions) (defined in cAudio::cFilter) | cAudio::cFilter |
CheckError() (defined in cAudio::cFilter) | cAudio::cFilter | [protected]
ConvertFilterEnum(FilterTypes type) (defined in cAudio::cFilter) | cAudio::cFilter | [protected]
drop() | cAudio::IRefCounted | [inline]
EFX (defined in cAudio::cFilter) | cAudio::cFilter | [protected]
Filter (defined in cAudio::cFilter) | cAudio::cFilter | [protected]
getHighFrequencyVolume() const | cAudio::cFilter | [virtual]
getLastUpdated() const | cAudio::cFilter | [virtual]
getLowFrequencyVolume() const | cAudio::cFilter | [virtual]
getOpenALFilter() const (defined in cAudio::cFilter) | cAudio::cFilter |
getReferenceCount() const | cAudio::IRefCounted | [inline]
getType() const | cAudio::cFilter | [virtual]
getVolume() const | cAudio::cFilter | [virtual]
grab() | cAudio::IRefCounted | [inline]
HighFreqVolume (defined in cAudio::cFilter) | cAudio::cFilter | [protected]
IFilter() (defined in cAudio::IFilter) | cAudio::IFilter | [inline]
IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline]
isValid() const | cAudio::cFilter | [virtual]
LastUpdated (defined in cAudio::cFilter) | cAudio::cFilter | [protected]
LowFreqVolume (defined in cAudio::cFilter) | cAudio::cFilter | [protected]
Mutex (defined in cAudio::cFilter) | cAudio::cFilter | [protected]
operator delete(void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, void *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
setHighFrequencyVolume(const float &volumeHF) | cAudio::cFilter | [virtual]
setLowFrequencyVolume(const float &volumeLF) | cAudio::cFilter | [virtual]
setType(const FilterTypes &type) | cAudio::cFilter | [virtual]
setVolume(const float &volume) | cAudio::cFilter | [virtual]
Type (defined in cAudio::cFilter) | cAudio::cFilter | [protected]
UpdateFilter() (defined in cAudio::cFilter) | cAudio::cFilter | [protected]
Valid (defined in cAudio::cFilter) | cAudio::cFilter | [protected]
Volume (defined in cAudio::cFilter) | cAudio::cFilter | [protected]
~cFilter() (defined in cAudio::cFilter) | cAudio::cFilter |
~IFilter() (defined in cAudio::IFilter) | cAudio::IFilter | [inline, virtual]
~IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:40 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cListener Member List

This is the complete list of members for cAudio::cListener, including all inherited members.
cListener() (defined in cAudio::cListener) | cAudio::cListener | [inline]
Direction (defined in cAudio::cListener) | cAudio::cListener | [protected]
getDirection(void) const | cAudio::cListener | [inline, virtual]
getMasterVolume(void) const | cAudio::cListener | [inline, virtual]
getMetersPerUnit(void) const | cAudio::cListener | [virtual]
getPosition(void) const | cAudio::cListener | [inline, virtual]
getUpVector(void) const | cAudio::cListener | [inline, virtual]
getVelocity(void) const | cAudio::cListener | [inline, virtual]
IListener() (defined in cAudio::IListener) | cAudio::IListener | [inline]
MasterGain (defined in cAudio::cListener) | cAudio::cListener | [protected]
move(const cVector3 &pos) | cAudio::cListener | [virtual]
Mutex (defined in cAudio::cListener) | cAudio::cListener | [protected]
Position (defined in cAudio::cListener) | cAudio::cListener | [protected]
setDirection(const cVector3 &dir) | cAudio::cListener | [virtual]
setMasterVolume(const float &volume) | cAudio::cListener | [virtual]
setMetersPerUnit(const float &meters) | cAudio::cListener | [virtual]
setPosition(const cVector3 &pos) | cAudio::cListener | [virtual]
setUpVector(const cVector3 &up) | cAudio::cListener | [virtual]
setVelocity(const cVector3 &vel) | cAudio::cListener | [virtual]
UpVector (defined in cAudio::cListener) | cAudio::cListener | [protected]
Velocity (defined in cAudio::cListener) | cAudio::cListener | [protected]
~cListener() (defined in cAudio::cListener) | cAudio::cListener | [inline, virtual]
~IListener() (defined in cAudio::IListener) | cAudio::IListener | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:40 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cLogger Member List

This is the complete list of members for cAudio::cLogger, including all inherited members.
broadcastMessage(LogLevel level, const char *sender, const char *msg, va_list args) (defined in cAudio::cLogger) | cAudio::cLogger | [protected]
cLogger() (defined in cAudio::cLogger) | cAudio::cLogger |
getLogLevel() const | cAudio::cLogger | [inline, virtual]
getLogReceiver(const char *name) | cAudio::cLogger | [virtual]
ILogger() (defined in cAudio::ILogger) | cAudio::ILogger | [inline]
isLogReceiverRegistered(const char *name) | cAudio::cLogger | [virtual]
logCritical(const char *sender, const char *msg,...) | cAudio::cLogger | [virtual]
logDebug(const char *sender, const char *msg,...) | cAudio::cLogger | [virtual]
logError(const char *sender, const char *msg,...) | cAudio::cLogger | [virtual]
logInfo(const char *sender, const char *msg,...) | cAudio::cLogger | [virtual]
logWarning(const char *sender, const char *msg,...) | cAudio::cLogger | [virtual]
MinLogLevel (defined in cAudio::cLogger) | cAudio::cLogger | [protected]
Mutex (defined in cAudio::cLogger) | cAudio::cLogger | [protected]
Receivers (defined in cAudio::cLogger) | cAudio::cLogger | [protected]
ReceiversIterator typedef (defined in cAudio::cLogger) | cAudio::cLogger | [protected]
registerLogReceiver(ILogReceiver *receiver, const char *name) | cAudio::cLogger | [virtual]
setLogLevel(const LogLevel &logLevel) | cAudio::cLogger | [virtual]
StartTime (defined in cAudio::cLogger) | cAudio::cLogger | [protected]
TempTextBuf (defined in cAudio::cLogger) | cAudio::cLogger | [protected]
unRegisterLogReceiver(const char *name) | cAudio::cLogger | [virtual]
~cLogger() (defined in cAudio::cLogger) | cAudio::cLogger | [inline, virtual]
~ILogger() (defined in cAudio::ILogger) | cAudio::ILogger | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:40 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cMemoryOverride Member List

This is the complete list of members for cAudio::cMemoryOverride, including all inherited members.
operator delete(void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, void *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:40 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cMemorySource Member List

This is the complete list of members for cAudio::cMemorySource, including all inherited members.
cMemorySource(const void *data, int size, bool copy) | cAudio::cMemorySource |
Data (defined in cAudio::cMemorySource) | cAudio::cMemorySource | [protected]
drop() | cAudio::IRefCounted | [inline]
getCurrentPos() | cAudio::cMemorySource | [virtual]
getReferenceCount() const | cAudio::IRefCounted | [inline]
getSize() | cAudio::cMemorySource | [virtual]
grab() | cAudio::IRefCounted | [inline]
IDataSource() (defined in cAudio::IDataSource) | cAudio::IDataSource | [inline]
IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline]
isValid() | cAudio::cMemorySource | [virtual]
operator delete(void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, void *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
Pos (defined in cAudio::cMemorySource) | cAudio::cMemorySource | [protected]
read(void *output, int size) | cAudio::cMemorySource | [virtual]
seek(int amount, bool relative) | cAudio::cMemorySource | [virtual]
Size (defined in cAudio::cMemorySource) | cAudio::cMemorySource | [protected]
Valid (defined in cAudio::cMemorySource) | cAudio::cMemorySource | [protected]
~cMemorySource() (defined in cAudio::cMemorySource) | cAudio::cMemorySource |
~IDataSource() (defined in cAudio::IDataSource) | cAudio::IDataSource | [inline, virtual]
~IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:40 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cMemoryTracker Member List

This is the complete list of members for cAudio::cMemoryTracker, including all inherited members.
AddAllocation(void *pointer, size_t size, const char *filename, int line, const char *function) | cAudio::cMemoryTracker |
cMemoryTracker() (defined in cAudio::cMemoryTracker) | cAudio::cMemoryTracker |
Instance() (defined in cAudio::cMemoryTracker) | cAudio::cMemoryTracker | [inline, static]
RemoveAllocation(void *pointer) | cAudio::cMemoryTracker |
~cMemoryTracker() (defined in cAudio::cMemoryTracker) | cAudio::cMemoryTracker |
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:41 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cOggAudioDecoderFactory Member List

This is the complete list of members for cAudio::cOggAudioDecoderFactory, including all inherited members.
cOggAudioDecoderFactory() (defined in cAudio::cOggAudioDecoderFactory) | cAudio::cOggAudioDecoderFactory | [inline]
CreateAudioDecoder(IDataSource *stream) | cAudio::cOggAudioDecoderFactory | [inline, virtual]
IAudioDecoderFactory() (defined in cAudio::IAudioDecoderFactory) | cAudio::IAudioDecoderFactory | [inline]
Mutex (defined in cAudio::cOggAudioDecoderFactory) | cAudio::cOggAudioDecoderFactory | [protected]
~cOggAudioDecoderFactory() (defined in cAudio::cOggAudioDecoderFactory) | cAudio::cOggAudioDecoderFactory | [inline]
~IAudioDecoderFactory() (defined in cAudio::IAudioDecoderFactory) | cAudio::IAudioDecoderFactory | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:41 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cOggDecoder Member List

This is the complete list of members for cAudio::cOggDecoder, including all inherited members.
cOggDecoder(IDataSource *stream) (defined in cAudio::cOggDecoder) | cAudio::cOggDecoder |
drop() | cAudio::IRefCounted | [inline]
getCompressedSize() | cAudio::cOggDecoder | [virtual]
getCurrentCompressedPosition() | cAudio::cOggDecoder | [virtual]
getCurrentPosition() | cAudio::cOggDecoder | [virtual]
getCurrentTime() | cAudio::cOggDecoder | [virtual]
getFormat() | cAudio::cOggDecoder | [virtual]
getFrequency() | cAudio::cOggDecoder | [virtual]
getReferenceCount() const | cAudio::IRefCounted | [inline]
getTotalSize() | cAudio::cOggDecoder | [virtual]
getTotalTime() | cAudio::cOggDecoder | [virtual]
grab() | cAudio::IRefCounted | [inline]
IAudioDecoder(IDataSource *stream) | cAudio::IAudioDecoder | [inline]
IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline]
isSeekingSupported() | cAudio::cOggDecoder | [virtual]
isValid() | cAudio::cOggDecoder | [virtual]
oggStream | cAudio::cOggDecoder | [protected]
operator delete(void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, void *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
readAudioData(void *output, int amount) | cAudio::cOggDecoder | [virtual]
seek(float seconds, bool relative) | cAudio::cOggDecoder | [virtual]
setPosition(int position, bool relative) | cAudio::cOggDecoder | [virtual]
Stream | cAudio::IAudioDecoder | [protected]
Valid (defined in cAudio::cOggDecoder) | cAudio::cOggDecoder | [protected]
vorbisCallbacks | cAudio::cOggDecoder | [protected]
vorbisComment | cAudio::cOggDecoder | [protected]
vorbisInfo | cAudio::cOggDecoder | [protected]
~cOggDecoder() (defined in cAudio::cOggDecoder) | cAudio::cOggDecoder |
~IAudioDecoder() (defined in cAudio::IAudioDecoder) | cAudio::IAudioDecoder | [inline, virtual]
~IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:42 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cPluginManager Member List

This is the complete list of members for cAudio::cPluginManager, including all inherited members.
autoLoadPlugins() (defined in cAudio::cPluginManager) | cAudio::cPluginManager |
checkForPlugin(const char *name) | cAudio::cPluginManager | [virtual]
cPluginManager() (defined in cAudio::cPluginManager) | cAudio::cPluginManager |
DynamicallyLoadedPlugins (defined in cAudio::cPluginManager) | cAudio::cPluginManager | [protected]
DynamicallyLoadedPluginsIterator typedef (defined in cAudio::cPluginManager) | cAudio::cPluginManager | [protected]
getPlugin(const char *name) | cAudio::cPluginManager | [virtual]
getPluginCount() | cAudio::cPluginManager | [virtual]
getPluginList() (defined in cAudio::cPluginManager) | cAudio::cPluginManager |
installPlugin(IAudioPlugin *plugin, const char *name) | cAudio::cPluginManager | [virtual]
installPlugin(const char *filename, const char *name) | cAudio::cPluginManager | [virtual]
Instance() (defined in cAudio::cPluginManager) | cAudio::cPluginManager | [inline, static]
IPluginManager() (defined in cAudio::IPluginManager) | cAudio::IPluginManager | [inline]
RegisteredPlugins (defined in cAudio::cPluginManager) | cAudio::cPluginManager | [protected]
RegisteredPluginsIterator typedef (defined in cAudio::cPluginManager) | cAudio::cPluginManager | [protected]
uninstallPlugin(IAudioPlugin *plugin) | cAudio::cPluginManager | [virtual]
uninstallPlugin(const char *name) | cAudio::cPluginManager | [virtual]
~cPluginManager() (defined in cAudio::cPluginManager) | cAudio::cPluginManager |
~IPluginManager() (defined in cAudio::IPluginManager) | cAudio::IPluginManager | [inline]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:42 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cRawAudioDecoderFactory Member List

This is the complete list of members for cAudio::cRawAudioDecoderFactory, including all inherited members.
cRawAudioDecoderFactory() (defined in cAudio::cRawAudioDecoderFactory) | cAudio::cRawAudioDecoderFactory | [inline]
CreateAudioDecoder(IDataSource *stream) | cAudio::cRawAudioDecoderFactory | [inline, virtual]
CreateAudioDecoder(IDataSource *stream, unsigned int frequency=22050, AudioFormats format=EAF_16BIT_MONO) (defined in cAudio::cRawAudioDecoderFactory) | cAudio::cRawAudioDecoderFactory | [inline]
IAudioDecoderFactory() (defined in cAudio::IAudioDecoderFactory) | cAudio::IAudioDecoderFactory | [inline]
Mutex (defined in cAudio::cRawAudioDecoderFactory) | cAudio::cRawAudioDecoderFactory | [protected]
~cRawAudioDecoderFactory() (defined in cAudio::cRawAudioDecoderFactory) | cAudio::cRawAudioDecoderFactory | [inline]
~IAudioDecoderFactory() (defined in cAudio::IAudioDecoderFactory) | cAudio::IAudioDecoderFactory | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:42 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cRawDecoder Member List

This is the complete list of members for cAudio::cRawDecoder, including all inherited members.
cRawDecoder(IDataSource *stream, unsigned int frequency, AudioFormats format) (defined in cAudio::cRawDecoder) | cAudio::cRawDecoder |
drop() | cAudio::IRefCounted | [inline]
getCompressedSize() | cAudio::cRawDecoder | [virtual]
getCurrentCompressedPosition() | cAudio::cRawDecoder | [virtual]
getCurrentPosition() | cAudio::cRawDecoder | [virtual]
getCurrentTime() | cAudio::cRawDecoder | [virtual]
getFormat() | cAudio::cRawDecoder | [virtual]
getFrequency() | cAudio::cRawDecoder | [virtual]
getReferenceCount() const | cAudio::IRefCounted | [inline]
getTotalSize() | cAudio::cRawDecoder | [virtual]
getTotalTime() | cAudio::cRawDecoder | [virtual]
grab() | cAudio::IRefCounted | [inline]
IAudioDecoder(IDataSource *stream) | cAudio::IAudioDecoder | [inline]
IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline]
isSeekingSupported() | cAudio::cRawDecoder | [virtual]
isValid() | cAudio::cRawDecoder | [virtual]
operator delete(void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, void *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
readAudioData(void *output, int amount) | cAudio::cRawDecoder | [virtual]
seek(float seconds, bool relative) | cAudio::cRawDecoder | [virtual]
setPosition(int position, bool relative) | cAudio::cRawDecoder | [virtual]
Stream | cAudio::IAudioDecoder | [protected]
~cRawDecoder() (defined in cAudio::cRawDecoder) | cAudio::cRawDecoder |
~IAudioDecoder() (defined in cAudio::IAudioDecoder) | cAudio::IAudioDecoder | [inline, virtual]
~IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cSTLAllocator< T > Member List

This is the complete list of members for cAudio::cSTLAllocator< T >, including all inherited members.
address(reference x) const (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > | [inline]
address(const_reference x) const (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > | [inline]
allocate(size_type count, typename std::allocator< void >::const_pointer ptr=0) (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > | [inline]
const_pointer typedef (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > |
const_reference typedef (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > |
construct(pointer p, const T &val) (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > | [inline]
cSTLAllocator() (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > | [inline]
cSTLAllocator(const cSTLAllocator &) (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > | [inline]
cSTLAllocator(const cSTLAllocator< U > &) (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > | [inline]
deallocate(pointer p, size_type size) (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > | [inline]
destroy(pointer p) (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > | [inline]
difference_type typedef (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > |
max_size() const (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > | [inline]
pointer typedef (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > |
reference typedef (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > |
size_type typedef (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > |
value_type typedef (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > |
~cSTLAllocator() (defined in cAudio::cSTLAllocator< T >) | cAudio::cSTLAllocator< T > | [inline]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cSTLAllocator< void > Member List

This is the complete list of members for cAudio::cSTLAllocator< void >, including all inherited members.
const_pointer typedef (defined in cAudio::cSTLAllocator< void >) | cAudio::cSTLAllocator< void >
difference_type typedef (defined in cAudio::cSTLAllocator< void >) | cAudio::cSTLAllocator< void >
pointer typedef (defined in cAudio::cSTLAllocator< void >) | cAudio::cSTLAllocator< void >
size_type typedef (defined in cAudio::cSTLAllocator< void >) | cAudio::cSTLAllocator< void >
value_type typedef (defined in cAudio::cSTLAllocator< void >) | cAudio::cSTLAllocator< void >
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cStandardMemoryProvider Member List

This is the complete list of members for cAudio::cStandardMemoryProvider, including all inherited members.
Allocate(size_t size, const char *filename, int line, const char *function) | cAudio::cStandardMemoryProvider | [virtual]
Free(void *pointer) | cAudio::cStandardMemoryProvider | [virtual]
getMaxAllocationSize() | cAudio::cStandardMemoryProvider | [virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cVector3 Member List

This is the complete list of members for cAudio::cVector3, including all inherited members.
cross(const cVector3 &other) const | cAudio::cVector3 | [inline]
cVector3(void) | cAudio::cVector3 | [inline]
cVector3(float nx, float ny, float nz) (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
cVector3(float n) | cAudio::cVector3 | [inline]
cVector3(const cVector3 &other) (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
dot(const cVector3 &other) const | cAudio::cVector3 | [inline]
getAsArray(float *output) (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
length() const | cAudio::cVector3 | [inline]
normalize() | cAudio::cVector3 | [inline]
operator const float *() const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator float *() (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator!=(const cVector3 &other) const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator*(const cVector3 &other) const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator*(const float v) const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator*=(const cVector3 &other) (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator*=(const float v) (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator+(const cVector3 &other) const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator+(const float val) const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator+=(const cVector3 &other) (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator+=(const float val) (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator-() const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator-(const cVector3 &other) const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator-(const float val) const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator-=(const cVector3 &other) (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator-=(const float val) (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator/(const cVector3 &other) const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator/(const float v) const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator/=(const cVector3 &other) (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator/=(const float v) (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator<(const cVector3 &other) const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator<=(const cVector3 &other) const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator=(const cVector3 &other) (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator==(const cVector3 &other) const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator>(const cVector3 &other) const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator>=(const cVector3 &other) const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator[](int i) const (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
operator[](int i) (defined in cAudio::cVector3) | cAudio::cVector3 | [inline]
set(float nx, float ny, float nz) | cAudio::cVector3 | [inline]
set(float n) | cAudio::cVector3 | [inline]
set(const cVector3 &other) | cAudio::cVector3 | [inline]
x (defined in cAudio::cVector3) | cAudio::cVector3 |
y (defined in cAudio::cVector3) | cAudio::cVector3 |
z (defined in cAudio::cVector3) | cAudio::cVector3 |
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:32 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cWavAudioDecoderFactory Member List

This is the complete list of members for cAudio::cWavAudioDecoderFactory, including all inherited members.
CreateAudioDecoder(IDataSource *stream) | cAudio::cWavAudioDecoderFactory | [inline, virtual]
cWavAudioDecoderFactory() (defined in cAudio::cWavAudioDecoderFactory) | cAudio::cWavAudioDecoderFactory | [inline]
IAudioDecoderFactory() (defined in cAudio::IAudioDecoderFactory) | cAudio::IAudioDecoderFactory | [inline]
Mutex (defined in cAudio::cWavAudioDecoderFactory) | cAudio::cWavAudioDecoderFactory | [protected]
~cWavAudioDecoderFactory() (defined in cAudio::cWavAudioDecoderFactory) | cAudio::cWavAudioDecoderFactory | [inline]
~IAudioDecoderFactory() (defined in cAudio::IAudioDecoderFactory) | cAudio::IAudioDecoderFactory | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:44 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cWavDecoder Member List

This is the complete list of members for cAudio::cWavDecoder, including all inherited members.
cWavDecoder(IDataSource *stream) (defined in cAudio::cWavDecoder) | cAudio::cWavDecoder |
drop() | cAudio::IRefCounted | [inline]
getCompressedSize() | cAudio::cWavDecoder | [virtual]
getCurrentCompressedPosition() | cAudio::cWavDecoder | [virtual]
getCurrentPosition() | cAudio::cWavDecoder | [virtual]
getCurrentTime() | cAudio::cWavDecoder | [virtual]
getFormat() | cAudio::cWavDecoder | [virtual]
getFrequency() | cAudio::cWavDecoder | [virtual]
getReferenceCount() const | cAudio::IRefCounted | [inline]
getTotalSize() | cAudio::cWavDecoder | [virtual]
getTotalTime() | cAudio::cWavDecoder | [virtual]
grab() | cAudio::IRefCounted | [inline]
IAudioDecoder(IDataSource *stream) | cAudio::IAudioDecoder | [inline]
IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline]
isSeekingSupported() | cAudio::cWavDecoder | [virtual]
isValid() | cAudio::cWavDecoder | [virtual]
operator delete(void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, void *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete(void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator delete[](void *pointer, const char *, int, const char *) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new(size_t size, void *pointer) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size, const char *file, int line, const char *function) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
operator new[](size_t size) (defined in cAudio::cMemoryOverride) | cAudio::cMemoryOverride | [inline]
readAudioData(void *output, int amount) | cAudio::cWavDecoder | [virtual]
seek(float seconds, bool relative) | cAudio::cWavDecoder | [virtual]
setPosition(int position, bool relative) | cAudio::cWavDecoder | [virtual]
Stream | cAudio::IAudioDecoder | [protected]
~cWavDecoder() (defined in cAudio::cWavDecoder) | cAudio::cWavDecoder |
~IAudioDecoder() (defined in cAudio::IAudioDecoder) | cAudio::IAudioDecoder | [inline, virtual]
~IRefCounted() (defined in cAudio::IRefCounted) | cAudio::IRefCounted | [inline, virtual]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:44 2010 for cAudio by doxygen 1.6.2


cAudio: Alphabetical List

Class Index

C | I | R | S
C
cFileLogReceiver (cAudio) cSTLAllocator (cAudio) IDataSourceFactory (cAudio)
S
cAudioCapture (cAudio) cFileSource (cAudio) cSTLAllocator< void > (cAudio) IEffect (cAudio) sAutowahParameters (cAudio)
cAudioEffects (cAudio) cFileSourceFactory (cAudio) cVector3 (cAudio) IFilter (cAudio) sChorusParameters (cAudio)
cAudioList (cAudio) cFilter (cAudio) cWavAudioDecoderFactory (cAudio) IListener (cAudio) sCompressorParameters (cAudio)
cAudioManager (cAudio) cListener (cAudio) cWavDecoder (cAudio) ILogger (cAudio) sDistortionParameters (cAudio)
cAudioMap (cAudio) cLogger (cAudio)
I
ILogReceiver (cAudio) sEAXReverbParameters (cAudio)
cAudioMutex (cAudio) cMemoryOverride (cAudio) IAudioCapture (cAudio) IManagerEventHandler (cAudio) sEchoParameters (cAudio)
cAudioMutexBasicLock (cAudio) cMemorySource (cAudio) IAudioDecoder (cAudio) IMemoryProvider (cAudio) sEqualizerParameters (cAudio)
cAudioSet (cAudio) cMemoryTracker (cAudio) IAudioDecoderFactory (cAudio) IPluginManager (cAudio) sFlangerParameters (cAudio)
cAudioSource (cAudio) cOggAudioDecoderFactory (cAudio) IAudioEffects (cAudio) IRefCounted (cAudio) sFrequencyShiftParameters (cAudio)
cAudioThread (cAudio) cOggDecoder (cAudio) IAudioManager (cAudio) ISourceEventHandler (cAudio) sPitchShifterParameters (cAudio)
cAudioVector (cAudio) cPluginManager (cAudio) IAudioPlugin (cAudio)
R
sReverbParameters (cAudio)
cConsoleLogReceiver (cAudio) cRawAudioDecoderFactory (cAudio) IAudioSource (cAudio) cSTLAllocator::rebind (cAudio) sRingModulatorParameters (cAudio)
cEffect (cAudio) cRawDecoder (cAudio) ICaptureEventHandler (cAudio) cSTLAllocator< void >::rebind (cAudio) sVocalMorpherParameters (cAudio)
cEFXFunctions (cAudio) cStandardMemoryProvider (cAudio) IDataSource (cAudio)
C | I | R | S
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- l -

  • LateReverbDelay : cAudio::sEAXReverbParameters , cAudio::sReverbParameters
  • LateReverbGain : cAudio::sReverbParameters , cAudio::sEAXReverbParameters
  • LateReverbPan : cAudio::sEAXReverbParameters
  • Left : cAudio::sFrequencyShiftParameters
  • length() : cAudio::cVector3
  • LFReference : cAudio::sEAXReverbParameters
  • logCritical()
: cAudio::ILogger
, cAudio::cLogger
  • logDebug()
: cAudio::ILogger
, cAudio::cLogger
  • logError()
: cAudio::ILogger
, cAudio::cLogger
  • logInfo()
: cAudio::ILogger
, cAudio::cLogger
  • logWarning()
: cAudio::ILogger
, cAudio::cLogger
  • loop()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • LowCutoff : cAudio::sEqualizerParameters
  • LowGain : cAudio::sEqualizerParameters
  • LowpassCutoff : cAudio::sDistortionParameters
  • LRDelay : cAudio::sEchoParameters
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- m -

  • Mid1Center : cAudio::sEqualizerParameters
  • Mid1Gain : cAudio::sEqualizerParameters
  • Mid1Width : cAudio::sEqualizerParameters
  • Mid2Center : cAudio::sEqualizerParameters
  • Mid2Gain : cAudio::sEqualizerParameters
  • Mid2Width : cAudio::sEqualizerParameters
  • ModulationDepth : cAudio::sEAXReverbParameters
  • ModulationTime : cAudio::sEAXReverbParameters
  • move()
: cAudio::IListener
, cAudio::IAudioSource
, cAudio::cListener
, cAudio::cAudioSource
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- n -

  • normalize() : cAudio::cVector3
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- o -

  • oggStream : cAudio::cOggDecoder
  • onBeginCapture() : cAudio::ICaptureEventHandler
  • onCreateAudioCapture() : cAudio::IAudioPlugin
  • onCreateAudioManager() : cAudio::IAudioPlugin
  • onDataSourceRegister() : cAudio::IManagerEventHandler
  • onDecoderRegister() : cAudio::IManagerEventHandler
  • onDestoryAudioCapture() : cAudio::IAudioPlugin
  • onDestroyAudioManager() : cAudio::IAudioPlugin
  • onEndCapture() : cAudio::ICaptureEventHandler
  • onInit()
: cAudio::ICaptureEventHandler
, cAudio::IManagerEventHandler
  • OnLogMessage()
: cAudio::ILogReceiver
, cAudio::cConsoleLogReceiver
, cAudio::cFileLogReceiver
  • onPause() : cAudio::ISourceEventHandler
  • onPlay() : cAudio::ISourceEventHandler
  • onRelease()
: cAudio::ISourceEventHandler
, cAudio::IManagerEventHandler
, cAudio::ICaptureEventHandler
  • onSourceCreate() : cAudio::IManagerEventHandler
  • onStop() : cAudio::ISourceEventHandler
  • onUpdate()
: cAudio::ICaptureEventHandler
, cAudio::ISourceEventHandler
, cAudio::IManagerEventHandler
  • onUserRequestBuffer() : cAudio::ICaptureEventHandler
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- b -

  • beginCapture()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- c -

  • checkCaptureExtension() : cAudio::cAudioCapture
  • checkForPlugin()
: cAudio::IPluginManager
, cAudio::cPluginManager
  • cMemorySource() : cAudio::cMemorySource
  • CoarseTune : cAudio::sPitchShifterParameters
  • create()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • CreateAudioDecoder()
: cAudio::IAudioDecoderFactory
, cAudio::cOggAudioDecoderFactory
, cAudio::cRawAudioDecoderFactory
, cAudio::cWavAudioDecoderFactory
  • CreateDataSource()
: cAudio::IDataSourceFactory
, cAudio::cFileSourceFactory
  • createEffect()
: cAudio::cAudioEffects
, cAudio::IAudioEffects
  • createFilter()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • createFromMemory()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • createFromRaw()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • cross() : cAudio::cVector3
  • cVector3() : cAudio::cVector3
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- d -

  • Damping : cAudio::sEchoParameters
  • DecayHFLimit : cAudio::sEAXReverbParameters , cAudio::sReverbParameters
  • DecayHFRatio : cAudio::sEAXReverbParameters , cAudio::sReverbParameters
  • DecayLFRatio : cAudio::sEAXReverbParameters
  • DecayTime : cAudio::sReverbParameters , cAudio::sEAXReverbParameters
  • Delay
: cAudio::sChorusParameters
, cAudio::sEchoParameters
, cAudio::sFlangerParameters
  • Density : cAudio::sReverbParameters , cAudio::sEAXReverbParameters
  • Depth : cAudio::sChorusParameters , cAudio::sFlangerParameters
  • Diffusion : cAudio::sReverbParameters , cAudio::sEAXReverbParameters
  • dot() : cAudio::cVector3
  • drop() : cAudio::IRefCounted
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- e -

  • EchoDepth : cAudio::sEAXReverbParameters
  • EchoTime : cAudio::sEAXReverbParameters
  • Edge : cAudio::sDistortionParameters
  • EqBandwidth : cAudio::sDistortionParameters
  • EqCenter : cAudio::sDistortionParameters
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- f -

  • Feedback
: cAudio::sChorusParameters
, cAudio::sEchoParameters
, cAudio::sFlangerParameters
  • Filesize : cAudio::cFileSource
  • FineTune : cAudio::sPitchShifterParameters
  • Free()
: cAudio::cStandardMemoryProvider
, cAudio::IMemoryProvider
  • Frequency : cAudio::sRingModulatorParameters , cAudio::sFrequencyShiftParameters
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- g -

  • Gain
: cAudio::sEAXReverbParameters
, cAudio::sReverbParameters
, cAudio::sDistortionParameters
  • GainHF : cAudio::sEAXReverbParameters , cAudio::sReverbParameters
  • GainLF : cAudio::sEAXReverbParameters
  • getAudioDecoderFactory()
: cAudio::cAudioManager
, cAudio::IAudioManager
  • getAutowahEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getAutowahParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getAvailableDeviceCount()
: cAudio::cAudioManager
, cAudio::IAudioCapture
, cAudio::IAudioManager
, cAudio::cAudioCapture
  • getAvailableDeviceName()
: cAudio::IAudioCapture
, cAudio::IAudioManager
, cAudio::cAudioCapture
, cAudio::cAudioManager
  • getAvailableDevices() : cAudio::cAudioManager
  • getCapturedAudio()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • getChorusEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getChorusParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getCompressedAudioSize()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getCompressedSize()
: cAudio::cRawDecoder
, cAudio::cWavDecoder
, cAudio::IAudioDecoder
, cAudio::cOggDecoder
  • getCompressorEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getCompressorParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getCurrentAudioPosition()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getCurrentAudioTime()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getCurrentCapturedAudioSize()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • getCurrentCompressedAudioPosition()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getCurrentCompressedPosition()
: cAudio::IAudioDecoder
, cAudio::cOggDecoder
, cAudio::cRawDecoder
, cAudio::cWavDecoder
  • getCurrentPos()
: cAudio::IDataSource
, cAudio::cFileSource
, cAudio::cMemorySource
  • getCurrentPosition()
: cAudio::IAudioDecoder
, cAudio::cOggDecoder
, cAudio::cRawDecoder
, cAudio::cWavDecoder
  • getCurrentTime()
: cAudio::IAudioDecoder
, cAudio::cOggDecoder
, cAudio::cRawDecoder
, cAudio::cWavDecoder
  • getDataSourceFactory()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • getDefaultDeviceName()
: cAudio::IAudioManager
, cAudio::cAudioCapture
, cAudio::cAudioManager
, cAudio::IAudioCapture
  • getDeviceName()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • getDirection()
: cAudio::IAudioSource
, cAudio::IListener
, cAudio::cAudioSource
, cAudio::cListener
  • getDistortionEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getDistortionParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getDopplerStrength()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getDopplerVelocity()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getEAXReverbEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getEAXReverbParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getEchoEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getEchoParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getEffects()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • getEqualizerEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getEqualizerParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getFilter()
: cAudio::IEffect
, cAudio::cEffect
  • getFlangerEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getFlangerParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getFormat()
: cAudio::IAudioCapture
, cAudio::IAudioDecoder
, cAudio::cAudioCapture
, cAudio::cOggDecoder
, cAudio::cRawDecoder
, cAudio::cWavDecoder
  • getFrequency()
: cAudio::IAudioCapture
, cAudio::IAudioDecoder
, cAudio::cAudioCapture
, cAudio::cOggDecoder
, cAudio::cRawDecoder
, cAudio::cWavDecoder
  • getFrequencyShiftEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getFrequencyShiftParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getHighFrequencyVolume()
: cAudio::IFilter
, cAudio::cFilter
  • getInnerConeAngle()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getInternalBufferSize()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • getLastUpdated()
: cAudio::IEffect
, cAudio::IFilter
, cAudio::cEffect
, cAudio::cFilter
  • getListener()
: cAudio::cAudioManager
, cAudio::IAudioManager
  • getLogLevel()
: cAudio::ILogger
, cAudio::cLogger
  • getLogReceiver()
: cAudio::ILogger
, cAudio::cLogger
  • getLowFrequencyVolume()
: cAudio::IFilter
, cAudio::cFilter
  • getMasterVolume()
: cAudio::IListener
, cAudio::cEffect
, cAudio::cListener
, cAudio::IEffect
  • getMaxAllocationSize()
: cAudio::cStandardMemoryProvider
, cAudio::IMemoryProvider
  • getMaxDistance()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getMaxEffectsSupported()
: cAudio::cAudioEffects
, cAudio::IAudioEffects
  • getMaxVolume()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getMetersPerUnit()
: cAudio::IListener
, cAudio::cListener
  • getMinDistance()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getMinVolume()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • getNumEffectSlotsAvailable()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • getOuterConeAngle()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • getOuterConeVolume()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getPitch()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • getPitchShifterEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getPitchShifterParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getPlugin()
: cAudio::cPluginManager
, cAudio::IPluginManager
  • getPluginCount()
: cAudio::cPluginManager
, cAudio::IPluginManager
  • getPluginName() : cAudio::IAudioPlugin
  • getPosition()
: cAudio::IAudioSource
, cAudio::cAudioSource
, cAudio::cListener
, cAudio::IListener
  • getReferenceCount() : cAudio::IRefCounted
  • getReverbEffectPreset()
: cAudio::cAudioEffects
, cAudio::IAudioEffects
  • getReverbParameters()
: cAudio::cEffect
, cAudio::IEffect
  • getRingModulatorEffectPreset()
: cAudio::cAudioEffects
, cAudio::IAudioEffects
  • getRingModulatorParameters()
: cAudio::cEffect
, cAudio::IEffect
  • getRolloffFactor()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • getSampleSize()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • getSize()
: cAudio::cFileSource
, cAudio::cMemorySource
, cAudio::IDataSource
  • getSoundByName()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • getStrength()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getTotalAudioSize()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getTotalAudioTime()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getTotalSize()
: cAudio::cWavDecoder
, cAudio::cRawDecoder
, cAudio::cOggDecoder
, cAudio::IAudioDecoder
  • getTotalTime()
: cAudio::cRawDecoder
, cAudio::cOggDecoder
, cAudio::cWavDecoder
, cAudio::IAudioDecoder
  • getType()
: cAudio::IEffect
, cAudio::cFilter
, cAudio::cEffect
, cAudio::IFilter
  • getUpVector()
: cAudio::IListener
, cAudio::cListener
  • getVelocity()
: cAudio::cListener
, cAudio::cAudioSource
, cAudio::IListener
, cAudio::IAudioSource
  • getVocalMorpherEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getVocalMorpherParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getVolume()
: cAudio::IAudioSource
, cAudio::cFilter
, cAudio::cAudioSource
, cAudio::IFilter
  • grab() : cAudio::IRefCounted
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- h -

  • HFReference : cAudio::sEAXReverbParameters
  • HighCutoff : cAudio::sEqualizerParameters
  • HighGain : cAudio::sEqualizerParameters
  • HighPassCutoff : cAudio::sRingModulatorParameters
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- i -

  • IAudioDecoder() : cAudio::IAudioDecoder
  • ignoreAttenuation()
: cAudio::IEffect
, cAudio::cEffect
  • initialize()
: cAudio::IAudioCapture
, cAudio::IAudioManager
, cAudio::cAudioCapture
, cAudio::cAudioManager
  • installPlugin()
: cAudio::IAudioPlugin
, cAudio::IPluginManager
, cAudio::cPluginManager
  • isAudioDecoderRegistered()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • isDataSourceRegistered()
: cAudio::cAudioManager
, cAudio::IAudioManager
  • isEffectPresetRegistered()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • isEffectSupported()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • isFilterSupported()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • isIgnoringAttenuation()
: cAudio::IEffect
, cAudio::cEffect
  • isLogReceiverRegistered()
: cAudio::ILogger
, cAudio::cLogger
  • isLooping()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • isPaused()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • isPlaying()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • isReady()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • isSeekingSupported()
: cAudio::cOggDecoder
, cAudio::cRawDecoder
, cAudio::cWavDecoder
, cAudio::IAudioDecoder
  • isStopped()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • isSupported()
: cAudio::cAudioCapture
, cAudio::IAudioCapture
  • isValid()
: cAudio::IAudioSource
, cAudio::cWavDecoder
, cAudio::IEffect
, cAudio::cMemorySource
, cAudio::IFilter
, cAudio::cAudioSource
, cAudio::cOggDecoder
, cAudio::cFilter
, cAudio::IDataSource
, cAudio::cRawDecoder
, cAudio::cEffect
, cAudio::IAudioDecoder
, cAudio::cFileSource
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- p -

  • pause()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • PeakGain : cAudio::sAutowahParameters
  • pFile : cAudio::cFileSource
  • Phase : cAudio::sChorusParameters , cAudio::sFlangerParameters
  • PhonemeA : cAudio::sVocalMorpherParameters
  • PhonemeACoarseTune : cAudio::sVocalMorpherParameters
  • PhonemeB : cAudio::sVocalMorpherParameters
  • PhonemeBCoarseTune : cAudio::sVocalMorpherParameters
  • play()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • play2d()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • play3d()
: cAudio::IAudioSource
, cAudio::cAudioSource
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- r -

  • Rate
: cAudio::sChorusParameters
, cAudio::sFlangerParameters
, cAudio::sVocalMorpherParameters
  • read()
: cAudio::IDataSource
, cAudio::cFileSource
, cAudio::cMemorySource
  • readAudioData()
: cAudio::cOggDecoder
, cAudio::cRawDecoder
, cAudio::cWavDecoder
, cAudio::IAudioDecoder
  • ReflectionsDelay : cAudio::sEAXReverbParameters , cAudio::sReverbParameters
  • ReflectionsGain : cAudio::sEAXReverbParameters , cAudio::sReverbParameters
  • ReflectionsPan : cAudio::sEAXReverbParameters
  • registerAudioDecoder()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • registerDataSource()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • registerEventHandler()
: cAudio::IAudioCapture
, cAudio::IAudioManager
, cAudio::IAudioSource
, cAudio::cAudioCapture
, cAudio::cAudioManager
, cAudio::cAudioSource
  • registerLogReceiver()
: cAudio::cLogger
, cAudio::ILogger
  • release()
: cAudio::cAudioSource
, cAudio::IAudioManager
, cAudio::IAudioSource
, cAudio::cAudioManager
  • releaseAllSources()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • ReleaseTime : cAudio::sAutowahParameters
  • removeAllEffectPresets()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • RemoveAllocation() : cAudio::cMemoryTracker
  • removeEffect()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • removeEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • removeFilter()
: cAudio::cAudioSource
, cAudio::cEffect
, cAudio::IEffect
, cAudio::IAudioSource
  • Resonance : cAudio::sAutowahParameters
  • Right : cAudio::sFrequencyShiftParameters
  • RoomRolloffFactor : cAudio::sReverbParameters , cAudio::sEAXReverbParameters
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- s -

  • seek()
: cAudio::IAudioDecoder
, cAudio::IAudioSource
, cAudio::cAudioSource
, cAudio::cRawDecoder
, cAudio::cWavDecoder
, cAudio::cFileSource
, cAudio::IDataSource
, cAudio::cMemorySource
, cAudio::cOggDecoder
  • set() : cAudio::cVector3
  • setAutowahParameters()
: cAudio::IEffect
, cAudio::cEffect
  • setChorusParameters()
: cAudio::cEffect
, cAudio::IEffect
  • setCompressorParameters()
: cAudio::IEffect
, cAudio::cEffect
  • setDevice()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • setDirection()
: cAudio::IAudioSource
, cAudio::IListener
, cAudio::cAudioSource
, cAudio::cListener
  • setDistortionParameters()
: cAudio::IEffect
, cAudio::cEffect
  • setDopplerStrength()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setDopplerVelocity()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setEAXReverbParameters()
: cAudio::cEffect
, cAudio::IEffect
  • setEchoParameters()
: cAudio::IEffect
, cAudio::cEffect
  • setEqualizerParameters()
: cAudio::IEffect
, cAudio::cEffect
  • setFlangerParameters()
: cAudio::IEffect
, cAudio::cEffect
  • setFormat()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • setFrequency()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • setFrequencyShiftParameters()
: cAudio::IEffect
, cAudio::cEffect
  • setHighFrequencyVolume()
: cAudio::IFilter
, cAudio::cFilter
  • setInnerConeAngle()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setInternalBufferSize()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • setLogLevel()
: cAudio::ILogger
, cAudio::cLogger
  • setLowFrequencyVolume()
: cAudio::IFilter
, cAudio::cFilter
  • setMasterVolume()
: cAudio::IEffect
, cAudio::IListener
, cAudio::cEffect
, cAudio::cListener
  • setMaxDistance()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setMaxVolume()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setMetersPerUnit()
: cAudio::cListener
, cAudio::IListener
  • setMinDistance()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setMinVolume()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setOuterConeAngle()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setOuterConeVolume()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • setPitch()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setPitchShifterParameters()
: cAudio::cEffect
, cAudio::IEffect
  • setPosition()
: cAudio::cRawDecoder
, cAudio::IAudioDecoder
, cAudio::IAudioSource
, cAudio::cAudioSource
, cAudio::cListener
, cAudio::cOggDecoder
, cAudio::cWavDecoder
, cAudio::IListener
  • setReverbParameters()
: cAudio::cEffect
, cAudio::IEffect
  • setRingModulatorParameters()
: cAudio::IEffect
, cAudio::cEffect
  • setRolloffFactor()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • setStrength()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • setType()
: cAudio::cEffect
, cAudio::cFilter
, cAudio::IFilter
, cAudio::IEffect
  • setUpVector()
: cAudio::cListener
, cAudio::IListener
  • setVelocity()
: cAudio::cAudioSource
, cAudio::cListener
, cAudio::IAudioSource
, cAudio::IListener
  • setVocalMorpherParameters()
: cAudio::IEffect
, cAudio::cEffect
  • setVolume()
: cAudio::IFilter
, cAudio::IAudioSource
, cAudio::cAudioSource
, cAudio::cFilter
  • shutdown() : cAudio::IAudioCapture
  • shutDown()
: cAudio::cAudioManager
, cAudio::IAudioManager
  • shutdown() : cAudio::cAudioCapture
  • SpawnThread() : cAudio::cAudioThread
  • Spread : cAudio::sEchoParameters
  • stop()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • stopCapture()
: cAudio::cAudioCapture
, cAudio::IAudioCapture
  • Stream : cAudio::IAudioDecoder
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- u -

  • uninstallPlugin()
: cAudio::IAudioPlugin
, cAudio::IPluginManager
, cAudio::cPluginManager
, cAudio::IPluginManager
  • unRegisterAllAudioDecoders()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • unRegisterAllDataSources()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • unRegisterAllEventHandlers()
: cAudio::IAudioCapture
, cAudio::IAudioManager
, cAudio::IAudioSource
, cAudio::cAudioCapture
, cAudio::cAudioManager
, cAudio::cAudioSource
  • unRegisterAudioDecoder()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • unRegisterDataSource()
: cAudio::cAudioManager
, cAudio::IAudioManager
  • unRegisterEventHandler()
: cAudio::cAudioSource
, cAudio::IAudioCapture
, cAudio::IAudioSource
, cAudio::cAudioCapture
, cAudio::cAudioManager
, cAudio::IAudioManager
  • unRegisterLogReceiver()
: cAudio::ILogger
, cAudio::cLogger
  • update()
: cAudio::cAudioManager
, cAudio::cAudioSource
, cAudio::IAudioSource
, cAudio::IAudioManager
  • updateCaptureBuffer()
: cAudio::cAudioCapture
, cAudio::IAudioCapture
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- v -

  • Valid : cAudio::cFileSource
  • vorbisCallbacks : cAudio::cOggDecoder
  • vorbisComment : cAudio::cOggDecoder
  • vorbisInfo : cAudio::cOggDecoder
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u
  • v
  • w
Here is a list of all documented class members with links to the class documentation for each member:

- w -

  • Waveform
: cAudio::sChorusParameters
, cAudio::sRingModulatorParameters
, cAudio::sVocalMorpherParameters
, cAudio::sFlangerParameters
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members - Functions

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • f
  • g
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u

- a -

  • AddAllocation() : cAudio::cMemoryTracker
  • addAutowahEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addChorusEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addCompressorEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addDistortionEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addEAXReverbEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addEchoEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addEqualizerEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addFlangerEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addFrequencyShiftEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addPitchShifterEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addReverbEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • addRingModulatorEffectPreset()
: cAudio::cAudioEffects
, cAudio::IAudioEffects
  • addVocalMorpherEffectPreset()
: cAudio::cAudioEffects
, cAudio::IAudioEffects
  • Allocate()
: cAudio::cStandardMemoryProvider
, cAudio::IMemoryProvider
  • attachEffect()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • attachFilter()
: cAudio::IEffect
, cAudio::cEffect
, cAudio::cAudioSource
, cAudio::IAudioSource
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members - Functions

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • f
  • g
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u

- l -

  • length() : cAudio::cVector3
  • logCritical()
: cAudio::ILogger
, cAudio::cLogger
  • logDebug()
: cAudio::ILogger
, cAudio::cLogger
  • logError()
: cAudio::ILogger
, cAudio::cLogger
  • logInfo()
: cAudio::ILogger
, cAudio::cLogger
  • logWarning()
: cAudio::cLogger
, cAudio::ILogger
  • loop()
: cAudio::cAudioSource
, cAudio::IAudioSource
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members - Functions

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • f
  • g
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u

- m -

  • move()
: cAudio::IAudioSource
, cAudio::cListener
, cAudio::cAudioSource
, cAudio::IListener
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members - Functions

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • f
  • g
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u

- n -

  • normalize() : cAudio::cVector3
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members - Functions

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • f
  • g
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u

- o -

  • onBeginCapture() : cAudio::ICaptureEventHandler
  • onCreateAudioCapture() : cAudio::IAudioPlugin
  • onCreateAudioManager() : cAudio::IAudioPlugin
  • onDataSourceRegister() : cAudio::IManagerEventHandler
  • onDecoderRegister() : cAudio::IManagerEventHandler
  • onDestoryAudioCapture() : cAudio::IAudioPlugin
  • onDestroyAudioManager() : cAudio::IAudioPlugin
  • onEndCapture() : cAudio::ICaptureEventHandler
  • onInit()
: cAudio::ICaptureEventHandler
, cAudio::IManagerEventHandler
  • OnLogMessage()
: cAudio::ILogReceiver
, cAudio::cConsoleLogReceiver
, cAudio::cFileLogReceiver
  • onPause() : cAudio::ISourceEventHandler
  • onPlay() : cAudio::ISourceEventHandler
  • onRelease()
: cAudio::ICaptureEventHandler
, cAudio::IManagerEventHandler
, cAudio::ISourceEventHandler
  • onSourceCreate() : cAudio::IManagerEventHandler
  • onStop() : cAudio::ISourceEventHandler
  • onUpdate()
: cAudio::ISourceEventHandler
, cAudio::ICaptureEventHandler
, cAudio::IManagerEventHandler
  • onUserRequestBuffer() : cAudio::ICaptureEventHandler
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members - Functions

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • f
  • g
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u

- b -

  • beginCapture()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members - Functions

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • f
  • g
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u

- c -

  • checkCaptureExtension() : cAudio::cAudioCapture
  • checkForPlugin()
: cAudio::IPluginManager
, cAudio::cPluginManager
  • cMemorySource() : cAudio::cMemorySource
  • create()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • CreateAudioDecoder()
: cAudio::cOggAudioDecoderFactory
, cAudio::cRawAudioDecoderFactory
, cAudio::cWavAudioDecoderFactory
, cAudio::IAudioDecoderFactory
  • CreateDataSource()
: cAudio::IDataSourceFactory
, cAudio::cFileSourceFactory
  • createEffect()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • createFilter()
: cAudio::cAudioEffects
, cAudio::IAudioEffects
  • createFromMemory()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • createFromRaw()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • cross() : cAudio::cVector3
  • cVector3() : cAudio::cVector3
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members - Functions

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • f
  • g
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u

- d -

  • dot() : cAudio::cVector3
  • drop() : cAudio::IRefCounted
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members - Functions

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • f
  • g
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u

- f -

  • Free()
: cAudio::IMemoryProvider
, cAudio::cStandardMemoryProvider
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members - Functions

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • f
  • g
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u

- g -

  • getAudioDecoderFactory()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • getAutowahEffectPreset()
: cAudio::cAudioEffects
, cAudio::IAudioEffects
  • getAutowahParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getAvailableDeviceCount()
: cAudio::IAudioManager
, cAudio::cAudioCapture
, cAudio::cAudioManager
, cAudio::IAudioCapture
  • getAvailableDeviceName()
: cAudio::IAudioCapture
, cAudio::IAudioManager
, cAudio::cAudioCapture
, cAudio::cAudioManager
  • getAvailableDevices() : cAudio::cAudioManager
  • getCapturedAudio()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • getChorusEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getChorusParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getCompressedAudioSize()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getCompressedSize()
: cAudio::IAudioDecoder
, cAudio::cOggDecoder
, cAudio::cRawDecoder
, cAudio::cWavDecoder
  • getCompressorEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getCompressorParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getCurrentAudioPosition()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getCurrentAudioTime()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getCurrentCapturedAudioSize()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • getCurrentCompressedAudioPosition()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getCurrentCompressedPosition()
: cAudio::IAudioDecoder
, cAudio::cOggDecoder
, cAudio::cRawDecoder
, cAudio::cWavDecoder
  • getCurrentPos()
: cAudio::IDataSource
, cAudio::cFileSource
, cAudio::cMemorySource
  • getCurrentPosition()
: cAudio::IAudioDecoder
, cAudio::cOggDecoder
, cAudio::cRawDecoder
, cAudio::cWavDecoder
  • getCurrentTime()
: cAudio::IAudioDecoder
, cAudio::cOggDecoder
, cAudio::cRawDecoder
, cAudio::cWavDecoder
  • getDataSourceFactory()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • getDefaultDeviceName()
: cAudio::IAudioCapture
, cAudio::IAudioManager
, cAudio::cAudioCapture
, cAudio::cAudioManager
  • getDeviceName()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • getDirection()
: cAudio::IListener
, cAudio::cAudioSource
, cAudio::cListener
, cAudio::IAudioSource
  • getDistortionEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getDistortionParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getDopplerStrength()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getDopplerVelocity()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getEAXReverbEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getEAXReverbParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getEchoEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getEchoParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getEffects()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • getEqualizerEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getEqualizerParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getFilter()
: cAudio::IEffect
, cAudio::cEffect
  • getFlangerEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getFlangerParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getFormat()
: cAudio::IAudioCapture
, cAudio::IAudioDecoder
, cAudio::cAudioCapture
, cAudio::cOggDecoder
, cAudio::cRawDecoder
, cAudio::cWavDecoder
  • getFrequency()
: cAudio::IAudioCapture
, cAudio::IAudioDecoder
, cAudio::cAudioCapture
, cAudio::cOggDecoder
, cAudio::cRawDecoder
, cAudio::cWavDecoder
  • getFrequencyShiftEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getFrequencyShiftParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getHighFrequencyVolume()
: cAudio::IFilter
, cAudio::cFilter
  • getInnerConeAngle()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getInternalBufferSize()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • getLastUpdated()
: cAudio::cEffect
, cAudio::IEffect
, cAudio::IFilter
, cAudio::cFilter
  • getListener()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • getLogLevel()
: cAudio::ILogger
, cAudio::cLogger
  • getLogReceiver()
: cAudio::ILogger
, cAudio::cLogger
  • getLowFrequencyVolume()
: cAudio::cFilter
, cAudio::IFilter
  • getMasterVolume()
: cAudio::IEffect
, cAudio::IListener
, cAudio::cEffect
, cAudio::cListener
  • getMaxAllocationSize()
: cAudio::IMemoryProvider
, cAudio::cStandardMemoryProvider
  • getMaxDistance()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • getMaxEffectsSupported()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getMaxVolume()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • getMetersPerUnit()
: cAudio::IListener
, cAudio::cListener
  • getMinDistance()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getMinVolume()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getNumEffectSlotsAvailable()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • getOuterConeAngle()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getOuterConeVolume()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getPitch()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • getPitchShifterEffectPreset()
: cAudio::cAudioEffects
, cAudio::IAudioEffects
  • getPitchShifterParameters()
: cAudio::IEffect
, cAudio::cEffect
  • getPlugin()
: cAudio::cPluginManager
, cAudio::IPluginManager
  • getPluginCount()
: cAudio::cPluginManager
, cAudio::IPluginManager
  • getPluginName() : cAudio::IAudioPlugin
  • getPosition()
: cAudio::cAudioSource
, cAudio::IAudioSource
, cAudio::cListener
, cAudio::IListener
  • getReferenceCount() : cAudio::IRefCounted
  • getReverbEffectPreset()
: cAudio::cAudioEffects
, cAudio::IAudioEffects
  • getReverbParameters()
: cAudio::cEffect
, cAudio::IEffect
  • getRingModulatorEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getRingModulatorParameters()
: cAudio::cEffect
, cAudio::IEffect
  • getRolloffFactor()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • getSampleSize()
: cAudio::cAudioCapture
, cAudio::IAudioCapture
  • getSize()
: cAudio::cFileSource
, cAudio::cMemorySource
, cAudio::IDataSource
  • getSoundByName()
: cAudio::cAudioManager
, cAudio::IAudioManager
  • getStrength()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getTotalAudioSize()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getTotalAudioTime()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • getTotalSize()
: cAudio::IAudioDecoder
, cAudio::cOggDecoder
, cAudio::cWavDecoder
, cAudio::cRawDecoder
  • getTotalTime()
: cAudio::IAudioDecoder
, cAudio::cOggDecoder
, cAudio::cWavDecoder
, cAudio::cRawDecoder
  • getType()
: cAudio::cEffect
, cAudio::cFilter
, cAudio::IFilter
, cAudio::IEffect
  • getUpVector()
: cAudio::IListener
, cAudio::cListener
  • getVelocity()
: cAudio::cAudioSource
, cAudio::cListener
, cAudio::IAudioSource
, cAudio::IListener
  • getVocalMorpherEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • getVocalMorpherParameters()
: cAudio::cEffect
, cAudio::IEffect
  • getVolume()
: cAudio::cAudioSource
, cAudio::IFilter
, cAudio::IAudioSource
, cAudio::cFilter
  • grab() : cAudio::IRefCounted
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members - Functions

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • f
  • g
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u

- i -

  • IAudioDecoder() : cAudio::IAudioDecoder
  • ignoreAttenuation()
: cAudio::IEffect
, cAudio::cEffect
  • initialize()
: cAudio::IAudioCapture
, cAudio::IAudioManager
, cAudio::cAudioCapture
, cAudio::cAudioManager
  • installPlugin()
: cAudio::IAudioPlugin
, cAudio::IPluginManager
, cAudio::cPluginManager
  • isAudioDecoderRegistered()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • isDataSourceRegistered()
: cAudio::cAudioManager
, cAudio::IAudioManager
  • isEffectPresetRegistered()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • isEffectSupported()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • isFilterSupported()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • isIgnoringAttenuation()
: cAudio::IEffect
, cAudio::cEffect
  • isLogReceiverRegistered()
: cAudio::ILogger
, cAudio::cLogger
  • isLooping()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • isPaused()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • isPlaying()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • isReady()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • isSeekingSupported()
: cAudio::cOggDecoder
, cAudio::cRawDecoder
, cAudio::cWavDecoder
, cAudio::IAudioDecoder
  • isStopped()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • isSupported()
: cAudio::cAudioCapture
, cAudio::IAudioCapture
  • isValid()
: cAudio::IAudioSource
, cAudio::cWavDecoder
, cAudio::IEffect
, cAudio::cMemorySource
, cAudio::IFilter
, cAudio::cAudioSource
, cAudio::cOggDecoder
, cAudio::cFilter
, cAudio::IDataSource
, cAudio::cRawDecoder
, cAudio::cEffect
, cAudio::IAudioDecoder
, cAudio::cFileSource
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members - Functions

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • f
  • g
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u

- p -

  • pause()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • play()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • play2d()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • play3d()
: cAudio::cAudioSource
, cAudio::IAudioSource
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members - Functions

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • f
  • g
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u

- r -

  • read()
: cAudio::IDataSource
, cAudio::cFileSource
, cAudio::cMemorySource
  • readAudioData()
: cAudio::IAudioDecoder
, cAudio::cOggDecoder
, cAudio::cRawDecoder
, cAudio::cWavDecoder
  • registerAudioDecoder()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • registerDataSource()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • registerEventHandler()
: cAudio::cAudioManager
, cAudio::cAudioSource
, cAudio::IAudioCapture
, cAudio::IAudioManager
, cAudio::IAudioSource
, cAudio::cAudioCapture
  • registerLogReceiver()
: cAudio::ILogger
, cAudio::cLogger
  • release()
: cAudio::IAudioManager
, cAudio::IAudioSource
, cAudio::cAudioManager
, cAudio::cAudioSource
  • releaseAllSources()
: cAudio::cAudioManager
, cAudio::IAudioManager
  • removeAllEffectPresets()
: cAudio::cAudioEffects
, cAudio::IAudioEffects
  • RemoveAllocation() : cAudio::cMemoryTracker
  • removeEffect()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • removeEffectPreset()
: cAudio::IAudioEffects
, cAudio::cAudioEffects
  • removeFilter()
: cAudio::cAudioSource
, cAudio::IAudioSource
, cAudio::cEffect
, cAudio::IEffect
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members - Functions

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • f
  • g
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u

- s -

  • seek()
: cAudio::IAudioDecoder
, cAudio::IAudioSource
, cAudio::cAudioSource
, cAudio::cRawDecoder
, cAudio::cWavDecoder
, cAudio::cFileSource
, cAudio::IDataSource
, cAudio::cMemorySource
, cAudio::cOggDecoder
  • set() : cAudio::cVector3
  • setAutowahParameters()
: cAudio::IEffect
, cAudio::cEffect
  • setChorusParameters()
: cAudio::cEffect
, cAudio::IEffect
  • setCompressorParameters()
: cAudio::IEffect
, cAudio::cEffect
  • setDevice()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • setDirection()
: cAudio::IAudioSource
, cAudio::IListener
, cAudio::cAudioSource
, cAudio::cListener
  • setDistortionParameters()
: cAudio::IEffect
, cAudio::cEffect
  • setDopplerStrength()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setDopplerVelocity()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setEAXReverbParameters()
: cAudio::cEffect
, cAudio::IEffect
  • setEchoParameters()
: cAudio::IEffect
, cAudio::cEffect
  • setEqualizerParameters()
: cAudio::IEffect
, cAudio::cEffect
  • setFlangerParameters()
: cAudio::IEffect
, cAudio::cEffect
  • setFormat()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • setFrequency()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • setFrequencyShiftParameters()
: cAudio::IEffect
, cAudio::cEffect
  • setHighFrequencyVolume()
: cAudio::IFilter
, cAudio::cFilter
  • setInnerConeAngle()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setInternalBufferSize()
: cAudio::IAudioCapture
, cAudio::cAudioCapture
  • setLogLevel()
: cAudio::ILogger
, cAudio::cLogger
  • setLowFrequencyVolume()
: cAudio::IFilter
, cAudio::cFilter
  • setMasterVolume()
: cAudio::IEffect
, cAudio::IListener
, cAudio::cEffect
, cAudio::cListener
  • setMaxDistance()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setMaxVolume()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setMetersPerUnit()
: cAudio::cListener
, cAudio::IListener
  • setMinDistance()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setMinVolume()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setOuterConeAngle()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setOuterConeVolume()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • setPitch()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • setPitchShifterParameters()
: cAudio::cEffect
, cAudio::IEffect
  • setPosition()
: cAudio::cWavDecoder
, cAudio::cRawDecoder
, cAudio::IAudioSource
, cAudio::cAudioSource
, cAudio::cListener
, cAudio::cOggDecoder
, cAudio::IListener
, cAudio::IAudioDecoder
  • setReverbParameters()
: cAudio::cEffect
, cAudio::IEffect
  • setRingModulatorParameters()
: cAudio::cEffect
, cAudio::IEffect
  • setRolloffFactor()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • setStrength()
: cAudio::cAudioSource
, cAudio::IAudioSource
  • setType()
: cAudio::cEffect
, cAudio::IEffect
, cAudio::cFilter
, cAudio::IFilter
  • setUpVector()
: cAudio::IListener
, cAudio::cListener
  • setVelocity()
: cAudio::cListener
, cAudio::IListener
, cAudio::cAudioSource
, cAudio::IAudioSource
  • setVocalMorpherParameters()
: cAudio::cEffect
, cAudio::IEffect
  • setVolume()
: cAudio::cAudioSource
, cAudio::cFilter
, cAudio::IFilter
, cAudio::IAudioSource
  • shutdown() : cAudio::cAudioCapture
  • shutDown() : cAudio::IAudioManager
  • shutdown() : cAudio::IAudioCapture
  • shutDown() : cAudio::cAudioManager
  • SpawnThread() : cAudio::cAudioThread
  • stop()
: cAudio::IAudioSource
, cAudio::cAudioSource
  • stopCapture()
: cAudio::cAudioCapture
, cAudio::IAudioCapture
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members - Functions

  • All
  • Functions
  • Variables
  • a
  • b
  • c
  • d
  • f
  • g
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u

- u -

  • uninstallPlugin()
: cAudio::IAudioPlugin
, cAudio::IPluginManager
, cAudio::cPluginManager
, cAudio::IPluginManager
  • unRegisterAllAudioDecoders()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • unRegisterAllDataSources()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • unRegisterAllEventHandlers()
: cAudio::IAudioCapture
, cAudio::IAudioManager
, cAudio::IAudioSource
, cAudio::cAudioCapture
, cAudio::cAudioManager
, cAudio::cAudioSource
  • unRegisterAudioDecoder()
: cAudio::IAudioManager
, cAudio::cAudioManager
  • unRegisterDataSource()
: cAudio::cAudioManager
, cAudio::IAudioManager
  • unRegisterEventHandler()
: cAudio::cAudioSource
, cAudio::IAudioCapture
, cAudio::IAudioSource
, cAudio::cAudioCapture
, cAudio::cAudioManager
, cAudio::IAudioManager
  • unRegisterLogReceiver()
: cAudio::ILogger
, cAudio::cLogger
  • update()
: cAudio::cAudioManager
, cAudio::cAudioSource
, cAudio::IAudioSource
, cAudio::IAudioManager
  • updateCaptureBuffer()
: cAudio::cAudioCapture
, cAudio::IAudioCapture
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members - Variables

  • All
  • Functions
  • Variables
  • a
  • c
  • d
  • e
  • f
  • g
  • h
  • l
  • m
  • o
  • p
  • r
  • s
  • v
  • w

- a -

  • Active : cAudio::sCompressorParameters
  • AirAbsorptionGainHF : cAudio::sEAXReverbParameters , cAudio::sReverbParameters
  • AttackTime : cAudio::sAutowahParameters

- c -

  • CoarseTune : cAudio::sPitchShifterParameters

- d -

  • Damping : cAudio::sEchoParameters
  • DecayHFLimit : cAudio::sEAXReverbParameters , cAudio::sReverbParameters
  • DecayHFRatio : cAudio::sEAXReverbParameters , cAudio::sReverbParameters
  • DecayLFRatio : cAudio::sEAXReverbParameters
  • DecayTime : cAudio::sReverbParameters , cAudio::sEAXReverbParameters
  • Delay
: cAudio::sChorusParameters
, cAudio::sEchoParameters
, cAudio::sFlangerParameters
  • Density : cAudio::sReverbParameters , cAudio::sEAXReverbParameters
  • Depth : cAudio::sFlangerParameters , cAudio::sChorusParameters
  • Diffusion : cAudio::sReverbParameters , cAudio::sEAXReverbParameters

- e -

  • EchoDepth : cAudio::sEAXReverbParameters
  • EchoTime : cAudio::sEAXReverbParameters
  • Edge : cAudio::sDistortionParameters
  • EqBandwidth : cAudio::sDistortionParameters
  • EqCenter : cAudio::sDistortionParameters

- f -

  • Feedback
: cAudio::sChorusParameters
, cAudio::sEchoParameters
, cAudio::sFlangerParameters
  • Filesize : cAudio::cFileSource
  • FineTune : cAudio::sPitchShifterParameters
  • Frequency : cAudio::sFrequencyShiftParameters , cAudio::sRingModulatorParameters

- g -

  • Gain
: cAudio::sEAXReverbParameters
, cAudio::sReverbParameters
, cAudio::sDistortionParameters
  • GainHF : cAudio::sEAXReverbParameters , cAudio::sReverbParameters
  • GainLF : cAudio::sEAXReverbParameters

- h -

  • HFReference : cAudio::sEAXReverbParameters
  • HighCutoff : cAudio::sEqualizerParameters
  • HighGain : cAudio::sEqualizerParameters
  • HighPassCutoff : cAudio::sRingModulatorParameters

- l -

  • LateReverbDelay : cAudio::sEAXReverbParameters , cAudio::sReverbParameters
  • LateReverbGain : cAudio::sReverbParameters , cAudio::sEAXReverbParameters
  • LateReverbPan : cAudio::sEAXReverbParameters
  • Left : cAudio::sFrequencyShiftParameters
  • LFReference : cAudio::sEAXReverbParameters
  • LowCutoff : cAudio::sEqualizerParameters
  • LowGain : cAudio::sEqualizerParameters
  • LowpassCutoff : cAudio::sDistortionParameters
  • LRDelay : cAudio::sEchoParameters

- m -

  • Mid1Center : cAudio::sEqualizerParameters
  • Mid1Gain : cAudio::sEqualizerParameters
  • Mid1Width : cAudio::sEqualizerParameters
  • Mid2Center : cAudio::sEqualizerParameters
  • Mid2Gain : cAudio::sEqualizerParameters
  • Mid2Width : cAudio::sEqualizerParameters
  • ModulationDepth : cAudio::sEAXReverbParameters
  • ModulationTime : cAudio::sEAXReverbParameters

- o -

  • oggStream : cAudio::cOggDecoder

- p -

  • PeakGain : cAudio::sAutowahParameters
  • pFile : cAudio::cFileSource
  • Phase : cAudio::sFlangerParameters , cAudio::sChorusParameters
  • PhonemeA : cAudio::sVocalMorpherParameters
  • PhonemeACoarseTune : cAudio::sVocalMorpherParameters
  • PhonemeB : cAudio::sVocalMorpherParameters
  • PhonemeBCoarseTune : cAudio::sVocalMorpherParameters

- r -

  • Rate
: cAudio::sChorusParameters
, cAudio::sFlangerParameters
, cAudio::sVocalMorpherParameters
  • ReflectionsDelay : cAudio::sEAXReverbParameters , cAudio::sReverbParameters
  • ReflectionsGain : cAudio::sEAXReverbParameters , cAudio::sReverbParameters
  • ReflectionsPan : cAudio::sEAXReverbParameters
  • ReleaseTime : cAudio::sAutowahParameters
  • Resonance : cAudio::sAutowahParameters
  • Right : cAudio::sFrequencyShiftParameters
  • RoomRolloffFactor : cAudio::sReverbParameters , cAudio::sEAXReverbParameters

- s -

  • Spread : cAudio::sEchoParameters
  • Stream : cAudio::IAudioDecoder

- v -

  • Valid : cAudio::cFileSource
  • vorbisCallbacks : cAudio::cOggDecoder
  • vorbisComment : cAudio::cOggDecoder
  • vorbisInfo : cAudio::cOggDecoder

- w -

  • Waveform
: cAudio::sChorusParameters
, cAudio::sRingModulatorParameters
, cAudio::sVocalMorpherParameters
, cAudio::sFlangerParameters
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:17 2010 for cAudio by doxygen 1.6.2


cAudio: Graph Legend

Graph Legend

This page explains how to interpret the graphs that are generated by doxygen.

Consider the following example:

/*! Invisible class because of truncation */
class Invisible { };

/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };

/* Class not documented with doxygen comments */
class Undocumented { };

/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };

/*! A template class */
template<class T> class Templ { };

/*! Class that is inherited using protected inheritance */
class ProtectedBase { };

/*! Class that is inherited using private inheritance */
class PrivateBase { };

/*! Class that is used by the Inherited class */
class Used { };

/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
                  protected ProtectedBase,
                  private PrivateBase,
                  public Undocumented,
                  public Templ<int>
{
  private:
    Used *m_usedClass;
};

This will result in the following graph:

The boxes in the above graph have the following meaning:

  • A filled gray box represents the struct or class for which the graph is generated.
  • A box with a black border denotes a documented struct or class.
  • A box with a grey border denotes an undocumented struct or class.
  • A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.

The arrows have the following meaning:

  • A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • A dark green arrow is used for protected inheritance.
  • A dark red arrow is used for private inheritance.
  • A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:44 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Enumerations
  • AudioFormats : cAudio
  • EffectTypes : cAudio
  • FilterTypes : cAudio
  • LogLevel : cAudio
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:44 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Enumerations
  • cAudioSleep() : cAudio
  • createAudioCapture() : cAudio
  • createAudioManager() : cAudio
  • destroyAudioCapture() : cAudio
  • destroyAudioManager() : cAudio
  • float_equals() : cAudio
  • getLogger() : cAudio
  • getMemoryProvider() : cAudio
  • getPluginManager() : cAudio
  • isAudioCaptureThreadRunning() : cAudio
  • isAudioManagerThreadRunning() : cAudio
  • VorbisRead() : cAudio
  • VorbisSeek() : cAudio
  • VorbisTell() : cAudio
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:44 2010 for cAudio by doxygen 1.6.2


cAudio: Class Members

  • Namespace List
  • Namespace Members
  • All
  • Functions
  • Variables
  • Enumerations
  • Epsilon : cAudio
  • LogLevelStrings : cAudio
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:44 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cAudioList< T > Member List

This is the complete list of members for cAudio::cAudioList< T >, including all inherited members.
Type typedef (defined in cAudio::cAudioList< T >) | cAudio::cAudioList< T >
Type typedef (defined in cAudio::cAudioList< T >) | cAudio::cAudioList< T >
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cAudioMap< T1, T2 > Member List

This is the complete list of members for cAudio::cAudioMap< T1, T2 >, including all inherited members.
Type typedef (defined in cAudio::cAudioMap< T1, T2 >) | cAudio::cAudioMap< T1, T2 >
Type typedef (defined in cAudio::cAudioMap< T1, T2 >) | cAudio::cAudioMap< T1, T2 >
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cAudioSet< T > Member List

This is the complete list of members for cAudio::cAudioSet< T >, including all inherited members.
Type typedef (defined in cAudio::cAudioSet< T >) | cAudio::cAudioSet< T >
Type typedef (defined in cAudio::cAudioSet< T >) | cAudio::cAudioSet< T >
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cAudioVector< T > Member List

This is the complete list of members for cAudio::cAudioVector< T >, including all inherited members.
Type typedef (defined in cAudio::cAudioVector< T >) | cAudio::cAudioVector< T >
Type typedef (defined in cAudio::cAudioVector< T >) | cAudio::cAudioVector< T >
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cEFXFunctions Member List

This is the complete list of members for cAudio::cEFXFunctions, including all inherited members.
alAuxiliaryEffectSlotf (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alAuxiliaryEffectSlotfv (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alAuxiliaryEffectSloti (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alAuxiliaryEffectSlotiv (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alDeleteAuxiliaryEffectSlots (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alDeleteEffects (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alDeleteFilters (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alEffectf (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alEffectfv (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alEffecti (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alEffectiv (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alFilterf (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alFilterfv (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alFilteri (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alFilteriv (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alGenAuxiliaryEffectSlots (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alGenEffects (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alGenFilters (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alGetAuxiliaryEffectSlotf (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alGetAuxiliaryEffectSlotfv (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alGetAuxiliaryEffectSloti (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alGetAuxiliaryEffectSlotiv (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alGetEffectf (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alGetEffectfv (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alGetEffecti (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alGetEffectiv (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alGetFilterf (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alGetFilterfv (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alGetFilteri (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alGetFilteriv (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alIsAuxiliaryEffectSlot (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alIsEffect (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
alIsFilter (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
cEFXFunctions::cEFXFunctions() (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions | [inline]
CheckEFXSupport(ALCdevice *device) (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions | [inline]
Mutex (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
Supported (defined in cAudio::cEFXFunctions) | cAudio::cEFXFunctions |
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:39 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cSTLAllocator< T >::rebind< U > Member List

This is the complete list of members for cAudio::cSTLAllocator< T >::rebind< U >, including all inherited members.
other typedef (defined in cAudio::cSTLAllocator< T >::rebind< U >) cAudio::cSTLAllocator< T >::rebind< U >
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::cSTLAllocator< void >::rebind< U > Member List

This is the complete list of members for cAudio::cSTLAllocator< void >::rebind< U >, including all inherited members.
other typedef (defined in cAudio::cSTLAllocator< void >::rebind< U >) cAudio::cSTLAllocator< void >::rebind< U >
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:43 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::sAutowahParameters Member List

This is the complete list of members for cAudio::sAutowahParameters, including all inherited members.
AttackTime | cAudio::sAutowahParameters |
PeakGain | cAudio::sAutowahParameters |
ReleaseTime | cAudio::sAutowahParameters |
Resonance | cAudio::sAutowahParameters |
sAutowahParameters(float attackTime=0.06f, float releaseTime=0.06f, float resonance=1000.0f, float peakGain=11.22f) (defined in cAudio::sAutowahParameters) | cAudio::sAutowahParameters | [inline]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::sChorusParameters Member List

This is the complete list of members for cAudio::sChorusParameters, including all inherited members.
ChorusWaveform enum name (defined in cAudio::sChorusParameters) | cAudio::sChorusParameters |
Delay | cAudio::sChorusParameters |
Depth | cAudio::sChorusParameters |
ECW_COUNT enum value (defined in cAudio::sChorusParameters) | cAudio::sChorusParameters |
ECW_SINUSOID enum value (defined in cAudio::sChorusParameters) | cAudio::sChorusParameters |
ECW_TRIANGLE enum value (defined in cAudio::sChorusParameters) | cAudio::sChorusParameters |
Feedback | cAudio::sChorusParameters |
Phase | cAudio::sChorusParameters |
Rate | cAudio::sChorusParameters |
sChorusParameters(ChorusWaveform waveform=ECW_TRIANGLE, int phase=90, float rate=1.1f, float depth=0.1f, float feedback=0.25f, float delay=0.016f) (defined in cAudio::sChorusParameters) | cAudio::sChorusParameters | [inline]
Waveform | cAudio::sChorusParameters |
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::sCompressorParameters Member List

This is the complete list of members for cAudio::sCompressorParameters, including all inherited members.
Active | cAudio::sCompressorParameters |
sCompressorParameters(bool active=true) (defined in cAudio::sCompressorParameters) | cAudio::sCompressorParameters | [inline]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::sDistortionParameters Member List

This is the complete list of members for cAudio::sDistortionParameters, including all inherited members.
Edge | cAudio::sDistortionParameters |
EqBandwidth | cAudio::sDistortionParameters |
EqCenter | cAudio::sDistortionParameters |
Gain | cAudio::sDistortionParameters |
LowpassCutoff | cAudio::sDistortionParameters |
sDistortionParameters(float edge=0.2f, float gain=0.05f, float lowpassCutoff=8000.0f, float eqCenter=3600.0f, float eqBandwidth=3600.0f) (defined in cAudio::sDistortionParameters) | cAudio::sDistortionParameters | [inline]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::sEAXReverbParameters Member List

This is the complete list of members for cAudio::sEAXReverbParameters, including all inherited members.
AirAbsorptionGainHF | cAudio::sEAXReverbParameters |
DecayHFLimit | cAudio::sEAXReverbParameters |
DecayHFRatio | cAudio::sEAXReverbParameters |
DecayLFRatio | cAudio::sEAXReverbParameters |
DecayTime | cAudio::sEAXReverbParameters |
Density | cAudio::sEAXReverbParameters |
Diffusion | cAudio::sEAXReverbParameters |
EchoDepth | cAudio::sEAXReverbParameters |
EchoTime | cAudio::sEAXReverbParameters |
Gain | cAudio::sEAXReverbParameters |
GainHF | cAudio::sEAXReverbParameters |
GainLF | cAudio::sEAXReverbParameters |
HFReference | cAudio::sEAXReverbParameters |
LateReverbDelay | cAudio::sEAXReverbParameters |
LateReverbGain | cAudio::sEAXReverbParameters |
LateReverbPan | cAudio::sEAXReverbParameters |
LFReference | cAudio::sEAXReverbParameters |
ModulationDepth | cAudio::sEAXReverbParameters |
ModulationTime | cAudio::sEAXReverbParameters |
ReflectionsDelay | cAudio::sEAXReverbParameters |
ReflectionsGain | cAudio::sEAXReverbParameters |
ReflectionsPan | cAudio::sEAXReverbParameters |
RoomRolloffFactor | cAudio::sEAXReverbParameters |
sEAXReverbParameters(float density=1.0f, float diffusion=1.0f, float gain=0.32f, float gainHF=0.89f, float gainLF=0.0f, float decayTime=1.49f, float decayHFRatio=0.83f, float decayLFRatio=1.0f, float reflectionsGain=0.05f, float reflectionsDelay=0.007f, cVector3 reflectionsPan=cVector3(0.0f, 0.0f, 0.0f), float lateReverbGain=1.26f, float lateReverbDelay=0.011f, cVector3 lateReverbPan=cVector3(0.0f, 0.0f, 0.0f), float echoTime=0.25f, float echoDepth=0.0f, float modulationTime=0.25f, float modulationDepth=0.0f, float airAbsorptionGainHF=0.994f, float hFReference=5000.0f, float lFReference=250.0f, float roomRolloffFactor=0.0f, bool decayHFLimit=true) (defined in cAudio::sEAXReverbParameters) | cAudio::sEAXReverbParameters | [inline]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::sEchoParameters Member List

This is the complete list of members for cAudio::sEchoParameters, including all inherited members.
Damping | cAudio::sEchoParameters |
Delay | cAudio::sEchoParameters |
Feedback | cAudio::sEchoParameters |
LRDelay | cAudio::sEchoParameters |
sEchoParameters(float delay=0.1f, float lRDelay=0.1f, float damping=0.5f, float feedback=0.5f, float spread=-1.0f) (defined in cAudio::sEchoParameters) | cAudio::sEchoParameters | [inline]
Spread | cAudio::sEchoParameters |
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::sEqualizerParameters Member List

This is the complete list of members for cAudio::sEqualizerParameters, including all inherited members.
HighCutoff | cAudio::sEqualizerParameters |
HighGain | cAudio::sEqualizerParameters |
LowCutoff | cAudio::sEqualizerParameters |
LowGain | cAudio::sEqualizerParameters |
Mid1Center | cAudio::sEqualizerParameters |
Mid1Gain | cAudio::sEqualizerParameters |
Mid1Width | cAudio::sEqualizerParameters |
Mid2Center | cAudio::sEqualizerParameters |
Mid2Gain | cAudio::sEqualizerParameters |
Mid2Width | cAudio::sEqualizerParameters |
sEqualizerParameters(float lowGain=1.0f, float lowCutoff=200.0f, float mid1Gain=1.0f, float mid1Center=500.0f, float mid1Width=1.0f, float mid2Gain=1.0f, float mid2Center=3000.0f, float mid2Width=1.0f, float highGain=1.0f, float highCutoff=6000.0f) (defined in cAudio::sEqualizerParameters) | cAudio::sEqualizerParameters | [inline]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::sFlangerParameters Member List

This is the complete list of members for cAudio::sFlangerParameters, including all inherited members.
Delay | cAudio::sFlangerParameters |
Depth | cAudio::sFlangerParameters |
EFW_COUNT enum value (defined in cAudio::sFlangerParameters) | cAudio::sFlangerParameters |
EFW_SINUSOID enum value (defined in cAudio::sFlangerParameters) | cAudio::sFlangerParameters |
EFW_TRIANGLE enum value (defined in cAudio::sFlangerParameters) | cAudio::sFlangerParameters |
Feedback | cAudio::sFlangerParameters |
FlangerWaveform enum name (defined in cAudio::sFlangerParameters) | cAudio::sFlangerParameters |
Phase | cAudio::sFlangerParameters |
Rate | cAudio::sFlangerParameters |
sFlangerParameters(FlangerWaveform waveform=EFW_TRIANGLE, int phase=0, float rate=0.27f, float depth=1.0f, float feedback=-0.5f, float delay=0.002f) (defined in cAudio::sFlangerParameters) | cAudio::sFlangerParameters | [inline]
Waveform | cAudio::sFlangerParameters |
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::sFrequencyShiftParameters Member List

This is the complete list of members for cAudio::sFrequencyShiftParameters, including all inherited members.
ESD_COUNT enum value (defined in cAudio::sFrequencyShiftParameters) | cAudio::sFrequencyShiftParameters |
ESD_DOWN enum value (defined in cAudio::sFrequencyShiftParameters) | cAudio::sFrequencyShiftParameters |
ESD_OFF enum value (defined in cAudio::sFrequencyShiftParameters) | cAudio::sFrequencyShiftParameters |
ESD_UP enum value (defined in cAudio::sFrequencyShiftParameters) | cAudio::sFrequencyShiftParameters |
Frequency | cAudio::sFrequencyShiftParameters |
Left | cAudio::sFrequencyShiftParameters |
Right | cAudio::sFrequencyShiftParameters |
sFrequencyShiftParameters(float frequency=0.0f, ShiftDirection left=ESD_DOWN, ShiftDirection right=ESD_DOWN) (defined in cAudio::sFrequencyShiftParameters) | cAudio::sFrequencyShiftParameters | [inline]
ShiftDirection enum name (defined in cAudio::sFrequencyShiftParameters) | cAudio::sFrequencyShiftParameters |
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::sPitchShifterParameters Member List

This is the complete list of members for cAudio::sPitchShifterParameters, including all inherited members.
CoarseTune | cAudio::sPitchShifterParameters |
FineTune | cAudio::sPitchShifterParameters |
sPitchShifterParameters(int coarseTune=12, int fineTune=0) (defined in cAudio::sPitchShifterParameters) | cAudio::sPitchShifterParameters | [inline]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::sReverbParameters Member List

This is the complete list of members for cAudio::sReverbParameters, including all inherited members.
AirAbsorptionGainHF | cAudio::sReverbParameters |
DecayHFLimit | cAudio::sReverbParameters |
DecayHFRatio | cAudio::sReverbParameters |
DecayTime | cAudio::sReverbParameters |
Density | cAudio::sReverbParameters |
Diffusion | cAudio::sReverbParameters |
Gain | cAudio::sReverbParameters |
GainHF | cAudio::sReverbParameters |
LateReverbDelay | cAudio::sReverbParameters |
LateReverbGain | cAudio::sReverbParameters |
ReflectionsDelay | cAudio::sReverbParameters |
ReflectionsGain | cAudio::sReverbParameters |
RoomRolloffFactor | cAudio::sReverbParameters |
sReverbParameters(float density=1.0f, float diffusion=1.0f, float gain=0.32f, float gainHF=0.89f, float decayTime=1.49f, float decayHFRatio=0.83f, float reflectionsGain=0.05f, float reflectionsDelay=0.007f, float lateReverbGain=1.26f, float lateReverbDelay=0.011f, float airAbsorptionGainHF=0.994f, float roomRolloffFactor=0.0f, bool decayHFLimit=true) (defined in cAudio::sReverbParameters) | cAudio::sReverbParameters | [inline]
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::sRingModulatorParameters Member List

This is the complete list of members for cAudio::sRingModulatorParameters, including all inherited members.
EMW_COUNT enum value (defined in cAudio::sRingModulatorParameters) | cAudio::sRingModulatorParameters |
EMW_SAW enum value (defined in cAudio::sRingModulatorParameters) | cAudio::sRingModulatorParameters |
EMW_SINUSOID enum value (defined in cAudio::sRingModulatorParameters) | cAudio::sRingModulatorParameters |
EMW_SQUARE enum value (defined in cAudio::sRingModulatorParameters) | cAudio::sRingModulatorParameters |
Frequency | cAudio::sRingModulatorParameters |
HighPassCutoff | cAudio::sRingModulatorParameters |
ModulatorWaveform enum name (defined in cAudio::sRingModulatorParameters) | cAudio::sRingModulatorParameters |
sRingModulatorParameters(float frequency=440.0f, float highPassCutoff=800.0f, ModulatorWaveform waveform=EMW_SINUSOID) (defined in cAudio::sRingModulatorParameters) | cAudio::sRingModulatorParameters | [inline]
Waveform | cAudio::sRingModulatorParameters |
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2


cAudio: Member List

cAudio::sVocalMorpherParameters Member List

This is the complete list of members for cAudio::sVocalMorpherParameters, including all inherited members.
EMP_A enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_AA enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_AE enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_AH enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_AO enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_B enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_D enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_E enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_EH enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_ER enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_F enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_G enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_I enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_IH enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_IY enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_J enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_K enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_L enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_M enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_N enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_O enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_P enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_R enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_S enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_T enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_U enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_UH enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_UW enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_V enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMP_Z enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMW_COUNT enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMW_SAW enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMW_SINUSOID enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
EMW_TRIANGLE enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
ESD_COUNT enum value (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
MorpherPhoneme enum name (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
MorpherWaveform enum name (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters |
PhonemeA | cAudio::sVocalMorpherParameters |
PhonemeACoarseTune | cAudio::sVocalMorpherParameters |
PhonemeB | cAudio::sVocalMorpherParameters |
PhonemeBCoarseTune | cAudio::sVocalMorpherParameters |
Rate | cAudio::sVocalMorpherParameters |
sVocalMorpherParameters(MorpherPhoneme phonemeA=EMP_A, MorpherPhoneme phonemeB=EMP_ER, int phonemeACoarseTune=0, int phonemeBCoarseTune=0, MorpherWaveform waveform=EMW_SINUSOID, float rate=1.41f) (defined in cAudio::sVocalMorpherParameters) | cAudio::sVocalMorpherParameters | [inline]
Waveform | cAudio::sVocalMorpherParameters |
All Classes Namespaces Functions Variables Enumerations
Generated on Wed Mar 17 06:32:34 2010 for cAudio by doxygen 1.6.2