Commit Graph

66 Commits

Author SHA1 Message Date
Joshua Jones 5d3848dc94 Listener uses const references now... 2010-03-16 01:41:57 +00:00
Joshua Jones 3b8704444a Comments and documentation.
Incremented the version in preparation for the next release.
2010-03-16 01:11:08 +00:00
Joshua Jones ff7b993ab0 Changes to STL containers to use typedefs, allowing rerouting of allocations to be disabled on platforms that may not support it (gcc 4.2). 2010-03-14 22:58:03 +00:00
Joshua Jones f7bbd9f0f9 More changes to the cSTLAllocator for mac os x compatibility. 2010-03-14 00:01:23 +00:00
Raynaldo Rivera dfef14e5f7 Fixed the >>> needing to be > > > error with mac as well has fixed the size_t undeclared error. 2010-03-13 23:09:59 +00:00
Joshua Jones 3bae1bc4db Change that hopefully will fix compile issues with cSTLAllocator on Mac OS X 2010-03-13 22:51:26 +00:00
Joshua Jones 849ba95609 Added an optional memory tracker (disabled by default) for detecting memory leaks and tracking allocations in the library. 2010-03-09 04:40:27 +00:00
Joshua Jones d5c5846d71 Added custom memory manager. Actually added the darn files this time... 2010-03-08 05:27:02 +00:00
Joshua Jones befd5f5821 Added custom memory manager. 2010-03-08 04:56:56 +00:00
Joshua Jones 1e2fe1c54c Added additional defines for more control of which components are compiled into the library (for embedded platforms like the IPhone). 2010-03-05 01:52:25 +00:00
Joshua Jones 3d6d81a80a Added a more specific define to disable just dynamic linking of plugins. 2010-02-28 01:51:58 +00:00
Joshua Jones ad9b3de527 Fixed a bug that would prevent the lib from compiling if the plugin system was activated. 2010-02-28 00:07:48 +00:00
Joshua Jones 97c7135bbc Added the ability to disable the plugin system with a define. 2010-02-27 23:58:18 +00:00
Joshua Jones 09a7d8d6e7 Removed buggy memory manager. 2010-02-25 02:11:15 +00:00
Joshua Jones 7e47541272 Fixes to mac dynamic lib loading.
Fix to prevent crash on uninstall of plugins loaded from disk.
2010-02-24 05:02:37 +00:00
Raynaldo Rivera fe2d4c9e8b enclosed the memory manager in CAUDIO_USE_MMGR 2010-02-23 01:07:20 +00:00
Raynaldo Rivera bea4b72893 Added the memory manager class 2010-02-21 01:47:24 +00:00
Raynaldo Rivera 4cba44dd46 Added a ifdef to cAudioManager to include alcext as well has the somewaht complete makefile 2010-02-20 05:41:28 +00:00
Raynaldo Rivera ff15f046a1 Is now linux compatable 2010-02-20 04:15:37 +00:00
Raynaldo Rivera 7f3bfe82c2 Added needed include to get working on linux 2010-02-20 04:03:41 +00:00
Raynaldo Rivera 62e876ccb2 Added the true correct include 2010-02-20 03:03:30 +00:00
Raynaldo Rivera f927fea4a8 added the missing include file 2010-02-20 02:57:49 +00:00
Joshua Jones 9b5870b89b Small fix to prevent the end of an audio stream from being cut off when the source auto resets when stream ends. 2010-02-18 05:00:43 +00:00
Joshua Jones b24a4f2bb8 More documentation.
Added image for the API doc.
Fixed a bug where audio sources would not reset themselves when they stopped playing a stream due to reaching the end.
2010-02-18 04:22:59 +00:00
Joshua Jones ffb0a8bdf9 Updated IAudio Decoder (and all official decoders) to provide Total Time/Size/Decoded Size of an audio stream and the current position (in time, size, and decoded size). Audio Sources also expose this information. 2010-02-17 03:49:22 +00:00
Joshua Jones 7c8aa15ea2 Work on documenting the library for doxygen. 2010-02-17 01:42:45 +00:00
Raynaldo Rivera d9d36a8ced Added tutorial 7 2010-02-14 23:44:26 +00:00
Raynaldo Rivera cb9ae7a72c Added tutorial 6 shows how to use a custom event handler as well has removed OnInit from the audio source events. 2010-02-14 22:54:19 +00:00
Raynaldo Rivera 7d782233c0 Removed the dumpMessages() function made it to act like the console logger. 2010-02-14 22:04:30 +00:00
Raynaldo Rivera 0c0a8d12ac Added the file log receiver and also added the dumpMessages() function to the ILogger class. 2010-02-14 17:08:16 +00:00
Joshua Jones b096f1536b Rework of plugin system. Now works better with static linking. Plugin makers are now expected to pass back a fully implemented version of IAudioPlugin for cAudio to use. Create your plugin class with new, cAudio will call drop() on it on unload of your dll.
The MP3Decoder plugin has been updated for the above changes.
Removed the shim that used to exist between dll plugins and the manager.
2010-02-14 05:34:57 +00:00
Joshua Jones f69d925b4f Added ability to add effect presets. 2010-02-14 03:32:24 +00:00
Joshua Jones c3bd49da8d Uploaded missing files. 2010-02-14 01:54:21 +00:00
Joshua Jones 3f06749573 Minor API changes to the manager, release is now releaseAllSources, createFromFile is now create.
Added the ability for the user to provide a DataSourceFactory, which cAudio will use to get audio data.  This interface can be overridden to provide cAudio the ability to read from zip archives, TCP streams, potentially any location.  DataSourceFactories can also be prioritized.
Made the existing FileSource a factory and registered it by default with the manager.  If the user wishes to prevent cAudio from reading from disk, unRegister the "FileSystem" data source.
Made tutorials conform with the changes to the API.
2010-02-13 05:48:19 +00:00
Raynaldo Rivera 08800c5bad Added the event system 2010-02-13 04:47:59 +00:00
Joshua Jones 16f222c8a5 Changes to make sure undefining decoders and EFX actually removes all pieces of them. 2010-02-13 02:34:50 +00:00
Raynaldo Rivera f0a5c7411d Added support for adding custom data sources. using registerSource(const char* , IDataSource*) createFromSource(const char*) isSourceRegistered(cont char*) unRegisterSource(cont char*) 2010-02-11 15:29:40 +00:00
Raynaldo Rivera b317412796 changed the IAudio objects and cAudio objects to IAudioSource and cAudioSource 2010-02-10 21:57:09 +00:00
Joshua Jones fbd3ecabb4 Added version checking to plugins. 2010-02-10 04:59:10 +00:00
Joshua Jones 48d264d0be Added a pass in for the logger to plugins, so they don't need to link with cAudio.dll to access logging capabilities.
Fixed a bug that prevented cAudio from getting plugin symbols correctly.
Fixed a bug where cPluginManager would be constructed multiple times.
2010-02-10 04:46:00 +00:00
Raynaldo Rivera 011f4a9fc2 Added the linux defines to cEFXFunctions.h 2010-02-09 06:11:39 +00:00
Joshua Jones 3043f5d4d5 Added plugin manager and plugin system to cAudio.
Started work on an mp3 decoder plugin.
Conflict fixes to earlier commit.
2010-02-09 05:58:27 +00:00
Raynaldo Rivera c261339e57 2010-02-09 05:33:32 +00:00
Raynaldo Rivera 1e914b9796 2010-02-09 04:18:39 +00:00
Joshua Jones 4e5dcd3443 Added support to remove a single audio source. 2010-01-19 04:04:40 +00:00
Joshua Jones 30e5b4a99e Added support for all OpenAL Audio Effects. Access can be gotten through the main audio manager using the AudioEffects interface. IEffect provides access to effect parameters and allows for binding to cAudio sources. IFilter provides access to filters that can be attached to sources and effects.
Added conversion functions from our audio format enum to OpenAL's in preparation for supporting more formats.
Reorganized cAudio defines, made it easier to access some compile time parameters.
Fixed a bug where a source could not be played again after it reached the end of its audio stream.
Added better checking for sources.  IsValid() should provide a more useful indication of whether a source is usable.
Added error checking and logging to cAudioCapture.
Prevented initializing of cAudioManager until shutdown() has been called.
Added a tutorial for Audio Effects.
Added a footsteps sound for showing off Audio Effects.
Moved the default compile location for the main library to lib/.  The msvc project will copy the cAudio.dll to bin/win32-visual/
2010-01-11 00:39:08 +00:00
Joshua Jones 2132eea8bf Added a small spreadsheet with performance information
Changed the 3d tutorial to use the move convenience function in order to have proper doppler effects.
Added relative seek ability to cAudio source.
Updated decoders to have a flag if the data they are working with is valid for their decoder (isValid).
Added reference counting to IAudio, IAudioDecoder, and IDataSource
Added better error checking in cAudio sources and they will do a better job of detecting if they are invalid.
Fixed the spelling on cWavAudioDecoderFactory.h
Ogg decoder support for the isValid check.
Time seek ability added to cRawDecoder
Rewrote cWavDecoder.  It will now read slightly malformed wav files (and conforms to the wav spec), no longer has a bug where 8 bit mono audio samples will play twice as fast as 16 bit mono samples, proper bounds checking to make sure only the audio data is sent to the audio source, and time seeking abilities.  The decoder does not support channels over 2, compressed wavs, wavs with more than 1 data or fmt block, or any other blocks that may be present in a wav file.  All unsupported blocks will be ignored.
2009-12-07 22:25:08 +00:00
Joshua Jones 4c76942a7f Changed IAudioManager to no longer use std::strings in the main interface. It now uses const char* strings. The reason this change was made was to make porting to other languages, or even use with other string libraries easier. std::string is no longer required to interface with the library.
Added a convenience function (move()) to the cAudio source, making it easier to move a source and do velocity for doppler effects with a single call.
Internally, audio sources are now stored in an std::vector for better performance.  This change also makes it so that it is no longer required for the user to name a source.  The user can pass NULL to name to avoid naming it.
Some documentation fixes.
Added a stress test app, allowing users and developers test how well cAudio performs under pressure.
2009-12-01 01:41:15 +00:00
Joshua Jones e1bf4ecc9a Updated the examples to use a better set of characters to denote the default device
Removed an unnecessary include in cAudioManager.h
Added a define to set the number of buffers used by an audio source
Added the last of the previously unsupported OpenAL source parameters (Cones, attenuation tweaking, max/min volume, and rolloff factor)
Cleaned up the implementation of cAudio source.  It no longer keeps a redundant copy of the state information and functions are now in order that they are defined.  Some functions have been renamed to be clearer.
Other changes throughout the code to support the changes to the cAudio source.
2009-11-28 03:58:24 +00:00
Joshua Jones cd1a2a61d9 Increased buffer size for audio sources from 32k to 64k.
Changed song used by Tutorial1_2DSound.
Added some comments.
Changed cVector3 to use a custom Episilon instead of including float.h (less bloat)
Added debug log entries to cAudio
Allowed cOggDecoder to return error values from decoding.  cAudio now handles those errors a little better.
2009-11-21 00:39:46 +00:00