This commit is contained in:
Raynaldo Rivera 2010-02-09 04:18:39 +00:00
parent 4e5dcd3443
commit 1e914b9796
65 changed files with 1384 additions and 1110 deletions

View File

@ -1,12 +1,8 @@
#include <iostream>
#include <string>
//Include IAudioManager so we can easily work with cAudio
#include "../../include/IAudioManager.h"
//Include IAudio so we can create cAudio objects
#include "../../include/IAudio.h"
//Include our version of Sleep to free CPU usage
#include "../../include/cAudioSleep.h"
//Include cAudio.h so we can work wtih cAudio
#include "../../include/cAudio.h"
using namespace std;

View File

@ -7,14 +7,8 @@
#include <string>
#include <math.h>
//Include IAudioManager so we can easily work with cAudio
#include "../../include/IAudioManager.h"
//Include IAudio so we can create cAudio objects
#include "../../include/IAudio.h"
//Include The cAudio vector class
#include "../../include/cVector3.h"
//Include our version of Sleep to free CPU usage
#include "../../include/cAudioSleep.h"
//Include cAudio.h so we can work wtih cAudio
#include "../../include/cAudio.h"
using namespace std;

View File

@ -7,14 +7,9 @@
#include <iostream>
#include <string>
//Include IAudioManager so we can easily work with cAudio
#include "../../include/IAudioManager.h"
//Include IAudio so we can create cAudio objects
#include "../../include/IAudio.h"
//Include The cAudio vector class
#include "../../include/cVector3.h"
//Include our version of Sleep to free CPU usage
#include "../../include/cAudioSleep.h"
//Include cAudio.h so we can work wtih cAudio
#include "../../include/cAudio.h"
//Our Bling sound
#include "bling.h"

View File

@ -1,15 +1,12 @@
//****************************************************************
//cAudio 1.7.1 Tutorial 4
//Audio Capture and playback
//****************************************************************
#include <iostream>
#include <string>
//Include IAudioManager so we can easily work with cAudio
#include "../../include/IAudioManager.h"
//Include IAudioCapture so we can capture audio
#include "../../include/IAudioCapture.h"
//Include IAudio so we can create cAudio objects
#include "../../include/IAudio.h"
//Include our version of Sleep to free CPU usage
#include "../../include/cAudioSleep.h"
#include "../../include/ILogger.h"
//Include cAudio.h so we can work wtih cAudio
#include "../../include/cAudio.h"
using namespace std;

View File

@ -1,12 +1,13 @@
//****************************************************************
//cAudio 1.7.1 Tutorial 5
//Audio effects
//****************************************************************
#include <iostream>
#include <string>
//Include IAudioManager so we can easily work with cAudio
#include "../../include/IAudioManager.h"
//Include IAudio so we can create cAudio objects
#include "../../include/IAudio.h"
//Include our version of Sleep to free CPU usage
#include "../../include/cAudioSleep.h"
///Include cAudio.h so we can work wtih cAudio
#include "../../include/cAudio.h"
using namespace std;

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CAUDIOCAPTURE_H
#define CAUDIOCAPTURE_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CAUDIOEFFECTS_H
#define CAUDIOEFFECTS_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CAUDIOMANAGER_H_INCLUDED
#define CAUDIOMANAGER_H_INCLUDED
@ -5,7 +9,7 @@
#include <string>
#include <vector>
#include "cAudio.h"
#include "cAudioSource.h"
#include "../include/IAudioDecoderFactory.h"
#include "cListener.h"
#include "../include/IAudioManager.h"

View File

@ -1,222 +1,226 @@
#ifndef CAUDIO_H_INCLUDED
#define CAUDIO_H_INCLUDED
#include <string>
#include <vector>
#include <AL/al.h>
#include <AL/alc.h>
#include "../include/IAudio.h"
#include "../Include/cVector3.h"
#include "../Headers/cMutex.h"
#include "../include/ILogger.h"
#include "../Headers/cEFXFunctions.h"
namespace cAudio
{
class cAudio : public IAudio
{
public:
#ifdef CAUDIO_EFX_ENABLED
cAudio(IAudioDecoder* decoder, ALCcontext* context, cEFXFunctions* oALFunctions);
#else
cAudio(IAudioDecoder* decoder, ALCcontext* context);
#endif
~cAudio();
//! Plays the source with the default or last set values
virtual bool play();
//! Plays the source in 2D mode
virtual bool play2d(const bool& toLoop = false);
//! Plays the source in 3D mode
virtual bool play3d(const cVector3& position, const float& soundstr = 1.0 , const bool& toLoop = false);
//! Pauses playback of the sound source
virtual void pause();
//! Stops playback of the sound source
virtual void stop();
//! Controls whether the source should loop or not
virtual void loop(const bool& toLoop);
//! Seeks through the audio stream to a specific spot
/** Note: May not be supported by all codecs
\param seconds: Number of seconds to seek
\param relative: Whether to seek from the current position or the start of the stream
\return True on success, False if the codec does not support seeking. */
virtual bool seek(const float& seconds, bool relative = false);
//! Normally called every frame by the audio manager to update the internal buffers
//! Note: For internal use only.
virtual bool update();
//! Releases all resources used by the audio source, normally used to clean up before deletion
//! Note: For internal use only.
virtual void release();
//! Returns if the source is ready to be used
virtual const bool isValid() const;
//! Returns if the source is playing
virtual const bool isPlaying() const;
//! Returns if the source is paused
virtual const bool isPaused() const;
//! Returns if the source is stopped
virtual const bool isStopped() const;
//! Returns if the source is looping
virtual const bool isLooping() const;
//! Sets the position of the source in 3D space
virtual void setPosition(const cVector3& position);
//! Sets the current velocity of the source for doppler effects
virtual void setVelocity(const cVector3& velocity);
//! Sets the direction the source is facing
virtual void setDirection(const cVector3& direction);
//! 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)
virtual void setRolloffFactor(const float& rolloff);
//! Sets how well the source carries over distance
//! Same as setRolloffFactor(1.0f/soundstrength)
//! Range: 0.0f to +inf (Default: 1.0f)
virtual void setStrength(const float& soundstrength);
//! Sets the distance from the source where attenuation will begin
//! Range: 0.0f to +inf
virtual void setMinDistance(const float& minDistance);
//! Sets the distance from the source where attenuation will stop
//! Range: 0.0f to +inf
virtual void setMaxDistance(const float& maxDistance);
//! Sets the pitch of the source
virtual void setPitch(const float& pitch);
//! Sets the source volume before attenuation and other effects
//! Range: 0.0f to +inf (Default: 1.0f)
virtual void setVolume(const float& volume);
//! Sets the minimum volume that the source can be attenuated to
//! Range: 0.0f to +inf (Default: 0.0f)
virtual void setMinVolume(const float& minVolume);
//! Sets the maximum volume that the source can achieve
//! Range: 0.0f to +inf (Default: 1.0f)
virtual void setMaxVolume(const float& maxVolume);
//! Sets the angle of the inner sound cone of the source
//! 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)
virtual void setInnerConeAngle(const float& innerAngle);
//! Sets the angle of the outer sound cone of the source
//! 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)
virtual void setOuterConeAngle(const float& outerAngle);
//! Sets how much the volume of the source is scaled in the outer cone
//! Range: 0.0f to +inf (Default: 0.0f)
virtual void setOuterConeVolume(const float& outerVolume);
//! Sets the doppler strength, which enhances or diminishes the doppler effect
//! Range: 0.0f to +inf (Default: 1.0f)
virtual void setDopplerStrength(const float& dstrength);
//! Overrides the doppler velocity vector
virtual void setDopplerVelocity(const cVector3& dvelocity);
//! Convenience function to automatically set the velocity and position for you in a single call
//! Velocity will be set to new position - last position
virtual void move(const cVector3& position);
//!Returns the audio objects position
virtual const cVector3 getPosition() const;
//!Returns the audio objects velocity
virtual const cVector3 getVelocity() const;
//!Returns the audio objects direction
virtual const cVector3 getDirection() const;
//! Returns the factor used in attenuating the source over distance
virtual const float getRolloffFactor() const;
//! Returns the strength of the source
virtual const float getStrength() const;
//! Returns the distance from the source where attenuation will begin
virtual const float getMinDistance() const;
//! Returns the distance from the source where attenuation will stop
virtual const float getMaxDistance() const;
//!Returns the pitch of the source
virtual const float getPitch() const;
//!Returns the source volume before attenuation and other effects
virtual const float getVolume() const;
//! Returns the minimum volume that the source can be attenuated to
virtual const float getMinVolume() const;
//! Returns the maximum volume that the source can achieve
virtual const float getMaxVolume() const;
//! Returns the angle of the inner sound cone of the source
virtual const float getInnerConeAngle() const;
//! Returns the angle of the outer sound cone of the source
virtual const float getOuterConeAngle() const;
//! Returns how much the volume of the source is scaled in the outer cone
virtual const float getOuterConeVolume() const;
//!Returns the doppler strength, which enhances or diminishes the doppler effect
virtual const float getDopplerStrength() const;
//!Returns the override for the doppler velocity vector
virtual const cVector3 getDopplerVelocity() const;
#ifdef CAUDIO_EFX_ENABLED
//! Returns the number of effects at one time this source can support
virtual unsigned int getNumEffectSlotsAvailable() const;
//! Attaches an EFX audio effect to this sound source to a specific slot
//! Range (slot): 0 to getNumEffectSlotsAvailable()
virtual bool attachEffect(unsigned int slot, IEffect* effect);
//! Removes an EFX audio effect from this sound source
//! Range (slot): 0 to getNumEffectSlotsAvailable()
virtual void removeEffect(unsigned int slot);
//! Attaches an audio filter to this sound source that will operate on the direct feed, seperate from any effects
virtual bool attachFilter(IFilter* filter);
//! Removes the previously attached filter
virtual void removeFilter();
#endif
protected:
private:
//Mutex for thread syncronization
cAudioMutex Mutex;
//Empties the current working buffer queue
void empty();
//Checks for OpenAL errors and reports them
bool checkError();
//Streams audio data from the decoder into a buffer
bool stream(ALuint buffer);
//Converts our audio format enum to OpenAL's
ALenum convertAudioFormatEnum(AudioFormats format);
//The context that owns this source
ALCcontext* Context;
//Internal audio buffers
ALuint Buffers[CAUDIO_SOURCE_NUM_BUFFERS];
//OpenAL source
ALuint Source;
//cAudio decoder being used to stream data
IAudioDecoder* Decoder;
//Stores whether the source is to loop the audio stream
bool Loop;
//Stores whether the source is ready to be used
bool Valid;
#ifdef CAUDIO_EFX_ENABLED
//Holds pointers to all the EFX related functions
cEFXFunctions* EFX;
//Updates the attached filter
void updateFilter(bool remove = false);
//Updates the effect attached to a specific slot
void updateEffect(unsigned int slot, bool remove = false);
//Stores the effects attached to this source
IEffect* Effects[CAUDIO_SOURCE_MAX_EFFECT_SLOTS];
unsigned int LastEffectTimeStamp[CAUDIO_SOURCE_MAX_EFFECT_SLOTS];
//Stores the attached direct feed filter
IFilter* Filter;
unsigned int LastFilterTimeStamp;
//Number of effects supported by the OpenAL Context
unsigned int EffectSlotsAvailable;
#endif
};
};
#endif //! CAUDIO_H_INCLUDED
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CAUDIOSOURCE_H_INCLUDED
#define CAUDIOSOURCE_H_INCLUDED
#include <string>
#include <vector>
#include <AL/al.h>
#include <AL/alc.h>
#include "../include/IAudio.h"
#include "../Include/cVector3.h"
#include "../Headers/cMutex.h"
#include "../include/ILogger.h"
#include "../Headers/cEFXFunctions.h"
namespace cAudio
{
class cAudio : public IAudio
{
public:
#ifdef CAUDIO_EFX_ENABLED
cAudio(IAudioDecoder* decoder, ALCcontext* context, cEFXFunctions* oALFunctions);
#else
cAudio(IAudioDecoder* decoder, ALCcontext* context);
#endif
~cAudio();
//! Plays the source with the default or last set values
virtual bool play();
//! Plays the source in 2D mode
virtual bool play2d(const bool& toLoop = false);
//! Plays the source in 3D mode
virtual bool play3d(const cVector3& position, const float& soundstr = 1.0 , const bool& toLoop = false);
//! Pauses playback of the sound source
virtual void pause();
//! Stops playback of the sound source
virtual void stop();
//! Controls whether the source should loop or not
virtual void loop(const bool& toLoop);
//! Seeks through the audio stream to a specific spot
/** Note: May not be supported by all codecs
\param seconds: Number of seconds to seek
\param relative: Whether to seek from the current position or the start of the stream
\return True on success, False if the codec does not support seeking. */
virtual bool seek(const float& seconds, bool relative = false);
//! Normally called every frame by the audio manager to update the internal buffers
//! Note: For internal use only.
virtual bool update();
//! Releases all resources used by the audio source, normally used to clean up before deletion
//! Note: For internal use only.
virtual void release();
//! Returns if the source is ready to be used
virtual const bool isValid() const;
//! Returns if the source is playing
virtual const bool isPlaying() const;
//! Returns if the source is paused
virtual const bool isPaused() const;
//! Returns if the source is stopped
virtual const bool isStopped() const;
//! Returns if the source is looping
virtual const bool isLooping() const;
//! Sets the position of the source in 3D space
virtual void setPosition(const cVector3& position);
//! Sets the current velocity of the source for doppler effects
virtual void setVelocity(const cVector3& velocity);
//! Sets the direction the source is facing
virtual void setDirection(const cVector3& direction);
//! 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)
virtual void setRolloffFactor(const float& rolloff);
//! Sets how well the source carries over distance
//! Same as setRolloffFactor(1.0f/soundstrength)
//! Range: 0.0f to +inf (Default: 1.0f)
virtual void setStrength(const float& soundstrength);
//! Sets the distance from the source where attenuation will begin
//! Range: 0.0f to +inf
virtual void setMinDistance(const float& minDistance);
//! Sets the distance from the source where attenuation will stop
//! Range: 0.0f to +inf
virtual void setMaxDistance(const float& maxDistance);
//! Sets the pitch of the source
virtual void setPitch(const float& pitch);
//! Sets the source volume before attenuation and other effects
//! Range: 0.0f to +inf (Default: 1.0f)
virtual void setVolume(const float& volume);
//! Sets the minimum volume that the source can be attenuated to
//! Range: 0.0f to +inf (Default: 0.0f)
virtual void setMinVolume(const float& minVolume);
//! Sets the maximum volume that the source can achieve
//! Range: 0.0f to +inf (Default: 1.0f)
virtual void setMaxVolume(const float& maxVolume);
//! Sets the angle of the inner sound cone of the source
//! 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)
virtual void setInnerConeAngle(const float& innerAngle);
//! Sets the angle of the outer sound cone of the source
//! 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)
virtual void setOuterConeAngle(const float& outerAngle);
//! Sets how much the volume of the source is scaled in the outer cone
//! Range: 0.0f to +inf (Default: 0.0f)
virtual void setOuterConeVolume(const float& outerVolume);
//! Sets the doppler strength, which enhances or diminishes the doppler effect
//! Range: 0.0f to +inf (Default: 1.0f)
virtual void setDopplerStrength(const float& dstrength);
//! Overrides the doppler velocity vector
virtual void setDopplerVelocity(const cVector3& dvelocity);
//! Convenience function to automatically set the velocity and position for you in a single call
//! Velocity will be set to new position - last position
virtual void move(const cVector3& position);
//!Returns the audio objects position
virtual const cVector3 getPosition() const;
//!Returns the audio objects velocity
virtual const cVector3 getVelocity() const;
//!Returns the audio objects direction
virtual const cVector3 getDirection() const;
//! Returns the factor used in attenuating the source over distance
virtual const float getRolloffFactor() const;
//! Returns the strength of the source
virtual const float getStrength() const;
//! Returns the distance from the source where attenuation will begin
virtual const float getMinDistance() const;
//! Returns the distance from the source where attenuation will stop
virtual const float getMaxDistance() const;
//!Returns the pitch of the source
virtual const float getPitch() const;
//!Returns the source volume before attenuation and other effects
virtual const float getVolume() const;
//! Returns the minimum volume that the source can be attenuated to
virtual const float getMinVolume() const;
//! Returns the maximum volume that the source can achieve
virtual const float getMaxVolume() const;
//! Returns the angle of the inner sound cone of the source
virtual const float getInnerConeAngle() const;
//! Returns the angle of the outer sound cone of the source
virtual const float getOuterConeAngle() const;
//! Returns how much the volume of the source is scaled in the outer cone
virtual const float getOuterConeVolume() const;
//!Returns the doppler strength, which enhances or diminishes the doppler effect
virtual const float getDopplerStrength() const;
//!Returns the override for the doppler velocity vector
virtual const cVector3 getDopplerVelocity() const;
#ifdef CAUDIO_EFX_ENABLED
//! Returns the number of effects at one time this source can support
virtual unsigned int getNumEffectSlotsAvailable() const;
//! Attaches an EFX audio effect to this sound source to a specific slot
//! Range (slot): 0 to getNumEffectSlotsAvailable()
virtual bool attachEffect(unsigned int slot, IEffect* effect);
//! Removes an EFX audio effect from this sound source
//! Range (slot): 0 to getNumEffectSlotsAvailable()
virtual void removeEffect(unsigned int slot);
//! Attaches an audio filter to this sound source that will operate on the direct feed, seperate from any effects
virtual bool attachFilter(IFilter* filter);
//! Removes the previously attached filter
virtual void removeFilter();
#endif
protected:
private:
//Mutex for thread syncronization
cAudioMutex Mutex;
//Empties the current working buffer queue
void empty();
//Checks for OpenAL errors and reports them
bool checkError();
//Streams audio data from the decoder into a buffer
bool stream(ALuint buffer);
//Converts our audio format enum to OpenAL's
ALenum convertAudioFormatEnum(AudioFormats format);
//The context that owns this source
ALCcontext* Context;
//Internal audio buffers
ALuint Buffers[CAUDIO_SOURCE_NUM_BUFFERS];
//OpenAL source
ALuint Source;
//cAudio decoder being used to stream data
IAudioDecoder* Decoder;
//Stores whether the source is to loop the audio stream
bool Loop;
//Stores whether the source is ready to be used
bool Valid;
#ifdef CAUDIO_EFX_ENABLED
//Holds pointers to all the EFX related functions
cEFXFunctions* EFX;
//Updates the attached filter
void updateFilter(bool remove = false);
//Updates the effect attached to a specific slot
void updateEffect(unsigned int slot, bool remove = false);
//Stores the effects attached to this source
IEffect* Effects[CAUDIO_SOURCE_MAX_EFFECT_SLOTS];
unsigned int LastEffectTimeStamp[CAUDIO_SOURCE_MAX_EFFECT_SLOTS];
//Stores the attached direct feed filter
IFilter* Filter;
unsigned int LastFilterTimeStamp;
//Number of effects supported by the OpenAL Context
unsigned int EffectSlotsAvailable;
#endif
};
};
#endif //! CAUDIO_H_INCLUDED

View File

@ -1,19 +1,23 @@
#ifndef CCONSOLELOGRECEIVER_H_INCLUDED
#define CCONSOLELOGRECEIVER_H_INCLUDED
#include "../include/ILogReceiver.h"
namespace cAudio
{
class cConsoleLogReceiver : public ILogReceiver
{
public:
virtual bool OnLogMessage(const char* sender, const char* message, LogLevel level, float time);
private:
};
};
#endif //! CCONSOLELOGRECEIVER_H_INCLUDED
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CCONSOLELOGRECEIVER_H_INCLUDED
#define CCONSOLELOGRECEIVER_H_INCLUDED
#include "../include/ILogReceiver.h"
namespace cAudio
{
class cConsoleLogReceiver : public ILogReceiver
{
public:
virtual bool OnLogMessage(const char* sender, const char* message, LogLevel level, float time);
};
};
#endif //! CCONSOLELOGRECEIVER_H_INCLUDED

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CEFXFUNCTIONS_H
#define CEFXFUNCTIONS_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CEFFECT_H
#define CEFFECT_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CFILESOURCE_H
#define CFILESOURCE_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CFILTER_H
#define CFILTER_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CLISTENER_H_INCLUDED
#define CLISTENER_H_INCLUDED

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CLOGGER_H_INCLUDED
#define CLOGGER_H_INCLUDED

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CMEMORYSOURCE_H
#define CMEMORYSOURCE_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CAUDIOMUTEX_H
#define CAUDIOMUTEX_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef COGGAUDIODECODERFACTORY_H
#define COGGAUDIODECODERFACTORY_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef COGGDECODER_H_INCLUDED
#define COGGDECODER_H_INCLUDED

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CRAWAUDIODECODERFACOTRY_H_INCLUDED
#define CRAWAUDIODECODERFACOTRY_H_INCLUDED

View File

@ -1,44 +1,48 @@
#ifndef CRAWDECODER_H_INCLUDED
#define CRAWDECODER_H_INCLUDED
#include "../include/IAudioDecoder.h"
namespace cAudio
{
class cRawDecoder : public IAudioDecoder
{
public:
cRawDecoder(IDataSource* stream, unsigned int frequency, AudioFormats format);
~cRawDecoder();
//!Retruns the format of the audio data
virtual AudioFormats getFormat();
//!Returns the frequency of the audio data
virtual int getFrequency();
//!Returns whether seeking is supported
virtual bool isSeekingSupported();
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CRAWDECODER_H_INCLUDED
#define CRAWDECODER_H_INCLUDED
#include "../include/IAudioDecoder.h"
namespace cAudio
{
class cRawDecoder : public IAudioDecoder
{
public:
cRawDecoder(IDataSource* stream, unsigned int frequency, AudioFormats format);
~cRawDecoder();
//!Retruns the format of the audio data
virtual AudioFormats getFormat();
//!Returns the frequency of the audio data
virtual int getFrequency();
//!Returns whether seeking is supported
virtual bool isSeekingSupported();
//!Returns whether the stream is valid for this codec
virtual bool isValid();
//!Reads a section of data out of the audio stream
virtual int readAudioData(void* output, int amount);
//!Sets the position to read data out of
virtual bool setPosition(int position, bool relative);
//!If seeking is supported, will seek the stream to seconds
virtual bool seek(float seconds,bool relative);
private:
unsigned int Frequency;
AudioFormats Format;
};
}
virtual bool isValid();
//!Reads a section of data out of the audio stream
virtual int readAudioData(void* output, int amount);
//!Sets the position to read data out of
virtual bool setPosition(int position, bool relative);
//!If seeking is supported, will seek the stream to seconds
virtual bool seek(float seconds,bool relative);
private:
unsigned int Frequency;
AudioFormats Format;
};
}
#endif //! CRAWDECODER_H_INCLUDED

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CAUDIOTHREAD_H
#define CAUDIOTHREAD_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CUTILS_H_INCLUDED
#define CUTILS_H_INCLUDED
#include <string>

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CWAVAUDIODECODERFACOTRY_H_INCLUDED
#define CWAVAUDIODECODERFACOTRY_H_INCLUDED

View File

@ -1,52 +1,56 @@
#ifndef CWAVDECODER_H_INCLUDED
#define CWAVDECODER_H_INCLUDED
#include "../include/IAudioDecoder.h"
namespace cAudio
{
class cWavDecoder : public IAudioDecoder
{
public:
cWavDecoder(IDataSource* stream);
~cWavDecoder();
//!Retruns the format of the audio data
virtual AudioFormats getFormat();
//!Returns the frequency of the audio data
virtual int getFrequency();
//!Returns whether seeking is supported
virtual bool isSeekingSupported();
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CWAVDECODER_H_INCLUDED
#define CWAVDECODER_H_INCLUDED
#include "../include/IAudioDecoder.h"
namespace cAudio
{
class cWavDecoder : public IAudioDecoder
{
public:
cWavDecoder(IDataSource* stream);
~cWavDecoder();
//!Retruns the format of the audio data
virtual AudioFormats getFormat();
//!Returns the frequency of the audio data
virtual int getFrequency();
//!Returns whether seeking is supported
virtual bool isSeekingSupported();
//!Returns whether the stream is valid for this codec
virtual bool isValid();
//!Reads a section of data out of the audio stream
virtual int readAudioData(void* output, int amount);
//!Sets the position to read data out of
virtual bool setPosition(int position, bool relative);
//!If seeking is supported, will seek the stream to seconds
virtual bool seek(float seconds,bool relative);
private:
short Channels;
int SampleRate;
int ByteRate;
short BlockAlign;
short BitsPerSample;
int DataSize;
int DataOffset;
bool Valid;
};
}
#endif //! CFLACDECODER_H_INCLUDED
virtual bool isValid();
//!Reads a section of data out of the audio stream
virtual int readAudioData(void* output, int amount);
//!Sets the position to read data out of
virtual bool setPosition(int position, bool relative);
//!If seeking is supported, will seek the stream to seconds
virtual bool seek(float seconds,bool relative);
private:
short Channels;
int SampleRate;
int ByteRate;
short BlockAlign;
short BitsPerSample;
int DataSize;
int DataOffset;
bool Valid;
};
}
#endif //! CFLACDECODER_H_INCLUDED

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include "../Headers/cAudioCapture.h"
#include "../Headers/cUtils.h"
#include "../Headers/cThread.h"

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include "../Headers/cAudioEffects.h"
#include "../Headers/cFilter.h"
#include "../Headers/cEffect.h"

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include "../Headers/cAudioManager.h"
#include "../Headers/cFileSource.h"
#include "../Headers/cMemorySource.h"

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifdef _WIN32
#include <windows.h> //Basic windows include for Sleep();
#else

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include "../Headers/cConsoleLogReceiver.h"
#include <iostream>

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include "../Headers/cEffect.h"
#include "../Headers/cLogger.h"
#include "../Headers/cUtils.h"

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include "../Headers/cFileSource.h"
#include <cstring>

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include "../Headers/cFilter.h"
#include "../Headers/cLogger.h"
#include "../Headers/cUtils.h"

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include "../Headers/cListener.h"
#include <AL/al.h>
#include "../Headers/cEFXFunctions.h"

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include <time.h>
#include "../Headers/cLogger.h"
#include "../Headers/cConsoleLogReceiver.h"

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include "../Headers/cMemorySource.h"
#include <cstring>
#include <iostream>

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include "../Headers/cMutex.h"
namespace cAudio

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include "../Headers/cOggAudioDecoderFactory.h"

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include "../Headers/cOggDecoder.h"
namespace cAudio
{

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include "../Headers/cRawDecoder.h"
namespace cAudio{

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include "../Headers/cThread.h"
#ifdef _WIN32

View File

@ -1 +1,5 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include "../Headers/cWavAudioDecoderFactory.h"

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#include "../Headers/cWavDecoder.h"
#include <string.h>
@ -99,12 +103,12 @@ namespace cAudio
}
cWavDecoder::~cWavDecoder()
{
Channels = 0;
SampleRate = 0;
ByteRate = 0;
BlockAlign = 0;
BitsPerSample = 0;
{
Channels = 0;
SampleRate = 0;
ByteRate = 0;
BlockAlign = 0;
BitsPerSample = 0;
DataSize = 0;
DataOffset = 0;
Valid = false;

View File

@ -179,10 +179,6 @@
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\Headers\cAudio.h"
>
</File>
<File
RelativePath=".\Headers\cAudioCapture.h"
>
@ -195,6 +191,10 @@
RelativePath=".\Headers\cAudioManager.h"
>
</File>
<File
RelativePath=".\Headers\cAudioSource.h"
>
</File>
<File
RelativePath=".\Headers\cConsoleLogReceiver.h"
>
@ -239,10 +239,6 @@
RelativePath=".\Headers\cOggDecoder.h"
>
</File>
<File
RelativePath=".\Headers\cPluginManager.h"
>
</File>
<File
RelativePath=".\Headers\cRawAudioDecoderFactory.h"
>
@ -275,10 +271,6 @@
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\Source\cAudio.cpp"
>
</File>
<File
RelativePath=".\Source\cAudioCapture.cpp"
>
@ -295,6 +287,10 @@
RelativePath=".\Source\cAudioSleep.cpp"
>
</File>
<File
RelativePath=".\Source\cAudioSource.cpp"
>
</File>
<File
RelativePath=".\Source\cConsoleLogReceiver.cpp"
>
@ -335,10 +331,6 @@
RelativePath=".\Source\cOggDecoder.cpp"
>
</File>
<File
RelativePath=".\Source\cPluginManager.cpp"
>
</File>
<File
RelativePath=".\Source\cRawDecoder.cpp"
>
@ -359,6 +351,10 @@
<Filter
Name="Include"
>
<File
RelativePath=".\include\cAudio.h"
>
</File>
<File
RelativePath=".\include\cAudioDefines.h"
>

View File

@ -1,17 +1,20 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef EAUDIOFORMATS_H
#define EAUDIOFORMATS_H
namespace cAudio
{
enum AudioFormats
{
EAF_8BIT_MONO,
EAF_8BIT_STEREO,
EAF_16BIT_MONO,
EAF_16BIT_STEREO
};
enum AudioFormats
{
EAF_8BIT_MONO,
EAF_8BIT_STEREO,
EAF_16BIT_MONO,
EAF_16BIT_STEREO
};
};
#endif //! EAUDIOFORMATS_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef IAUDIO_H
#define IAUDIO_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef IAUDIOCAPTURE_H
#define IAUDIOCAPTURE_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef IAUDIODECODER_H
#define IAUDIODECODER_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef IAUDIODECODERFACTORY_H
#define IAUDIODECODERFACTORY_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef IAUDIOEFFECTS_H
#define IAUDIOEFFECTS_H
@ -12,12 +16,26 @@ namespace cAudio
public:
IAudioEffects() {}
virtual ~IAudioEffects() {}
//*! Creates a IEffect pointer.
virtual IEffect* createEffect() = 0;
//*! Creates a IEffect pointer.
virtual IFilter* createFilter() = 0;
//*! Returns the max number of effects supported
virtual unsigned int getMaxEffectsSupported() const = 0;
/*! Checks to see if the given effect type is supported
\param type: the effect type to be checked
\return True if the effect is supported, False if the effect isn't supported
*/
virtual bool isEffectSupported(const EffectTypes& type) const = 0;
/*! Checks to see if the given filter type is supported
\param type: the filter type to be checked
\return True if the filter is supported, False if the filter isn't supported
*/
virtual bool isFilterSupported(const FilterTypes& type) const = 0;
protected:

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef IAUDIOMANAGER_H
#define IAUDIOMANAGER_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef IDATASOURCE_H
#define IDATASOURCE_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef IEFFECT_H
#define IEFFECT_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef IEFFECTPARAMETERS_H
#define IEFFECTPARAMETERS_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef IFILTER_H
#define IFILTER_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef ILISTENER_H
#define ILISTENER_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef ILOGRECEIVER_H_INCLUDED
#define ILOGRECEIVER_H_INCLUDED

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef ILOGGER_H_INCLUDED
#define ILOGGER_H_INCLUDED

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef IREFCOUNTED_H
#define IREFCOUNTED_H

47
include/cAudio.h Normal file
View File

@ -0,0 +1,47 @@
/* cAudio.h -- interface of the 'cAudio Engine'
Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
*/
#ifndef CAUDIO_H
#define CAUDIO_H
#include "cAudioDefines.h"
#include "cAudioSleep.h"
#include "EAudioFormats.h"
#include "IAudio.h"
#include "IAudioCapture.h"
#include "IAudioDecoder.h"
#include "IAudioDecoderFactory.h"
#include "IAudioEffects.h"
#include "IAudioManager.h"
#include "IDataSource.h"
#include "IEffect.h"
#include "IEffectParameters.h"
#include "IFilter.h"
#include "IListener.h"
#include "ILogger.h"
#include "ILogReceiver.h"
#include "IRefCounted.h"
#endif

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CAUDIODEFINES_H
#define CAUDIODEFINES_H

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CAUDIOSLEEP_H
#define CAUDIOSLEEP_H
@ -5,6 +9,9 @@
namespace cAudio
{
/*! Amount of time to sleep in milliseconds
*\param ms: amount of miliseconds to sleep
*/
CAUDIO_API void cAudioSleep(unsigned int ms);
};

View File

@ -1,3 +1,7 @@
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef CVECTOR3_H
#define CVECTOR3_H