OgreOggSound Changelog

What's new in OgreOggSound 1.26

Jul 14, 2014
  • Added patches to fix a number of multi-threaded issues

New in OgreOggSound 1.25 (May 23, 2014)

  • Added patches
  • Path name getter for sound
  • const qualifier added to getter functions
  • Changed device list query to return all devices
  • Added Context/Device getters

New in OgreOggSound 1.24 (May 23, 2014)

  • Fixed bug where is playing returns wrong result for streaming sound
  • Fixed memory leak issues
  • Fixed ogg callback read size
  • Added 'finished' callback as suggested here
  • Fixed bug with shared sounds not setting parameters
  • Changed some types for 64-bit compatibility
  • Updated oggvorbis to 1.3.3

New in OgreOggSound 1.22 (Nov 23, 2011)

  • Added support for OGRE 1.8 (singleton rename)
  • Fixed crash when unloading/reloading OgreOggSound plugin

New in OgreOggSound 1.21 (Nov 23, 2011)

  • Tweaked sound fading
  • Finished off optional (execute command now) flag for MULTI-THREADED mode, allows user to specify per-sound immediate (blocking) execution of some common sound actions,
  • Play / Stop / Pause / create
  • Bug fix - EOF flag wasn't being reset correctly stopping stream sounds being replayed after finished playing.
  • Added openal path for EFX-Util lib on windows

New in OgreOggSound 1.20 (Nov 23, 2011)

  • Licensed under the MIT licensing terms.
  • Bug fix - playtime incorrectly calculated for WAV sounds
  • Bug fix - streamed sounds incorrectly wrapping around when remaining audio data is less then buffer size.
  • Added a OgreOggSoundManager::setForceMutex() function for switching between asynchronous sound actions & blocking sound actions (multi-threaded version ONLY - Useful for ensuring an action has completed before moving on, synching sound to animations??)
  • Added per-call setting of this attribute if necessary for the following functions:
  • createSound()
  • play()
  • stop()
  • pause()

New in OgreOggSound 1.19 (Nov 23, 2011)

  • Added patch from torrque to add mingw support.
  • Added getPlayPosition() function to OgreOggISound
  • Moved streaming loop callback to a more acurate trigger point
  • Removed include for individually used headers
  • Moved #define of HAVE_EFX into windows build only
  • Previously caused build issues on linux/mac where that support wasn't available, by default its disabled everywhere but windows.
  • Fixed mutex locking?
  • Added a lock to the update function which seems to correctly lock synchronisation between main thread and worker thread.
  • Solves a crash where quitting app whilst loading a sound would casue a crash, it would appear the locking wasn't working correctly,
  • fixed by adding a lock to the updateThread() function, but was under the impression this was unnecessary :s
  • Any performance issues please let me know!
  • Fixed crash bug in temporary sounds for non-threaded lib version
  • Fixed linux compile errors about EFX
  • Fixed POCO compile errors

New in OgreOggSound 1.18 (Nov 23, 2011)

  • Fixed broken Listener object
  • Minor change to listener creation
  • Fixed no sound bug after Ogre::Root recreation.
  • Changed stopAllSounds() / pauseAllSounds() / resumeAllPausedSounds() to call implementation functions instead of external functions
  • Fixes bugs where sound actions were getting cued up in the wrong order.
  • Fixes things like no sound playing after a call to stopAllSounds() then play().
  • Fixed some plugin loopholes as identified by cycheng here: http://www.ogre3d.org/addonforums/viewtopic.php?f=19&t=13383&p=75145#p75145
  • Added a createListener() function for cases where clearScene() is used to destroy all objects
  • This call will destroy all sounds and listener object and there was no way of recreating a listener previously.
  • http://www.ogre3d.org/addonforums/viewtopic.php?f=19&t=13381
  • Fixed crash on exit (Multi-threaded ONLY)
  • Reworked sound destruction to avoid thread crashes (Multi-threaded ONLY)
  • Mutex optimisation made to OgreOggSoundManager::update()
  • Added a setGlobalPitch()/getGlobalPitch() functions to OgreOggSoundManager
  • Destruction of sounds handled immediately, prevents timing issues between destruction/recreation.
  • Added a lockless queue to handle temporary sounds destruction
  • Requires update() to handle the destruction
  • Should fix any possible thread crash
  • Replaced Ogre::Real for float

New in OgreOggSound 1.17 (Nov 23, 2011)

  • Added POCO/BOOST thread support by way of defines (BOOST_THREAD/POCO_THREAD) default: BOOST
  • Fixed missing cpp ammendments
  • Wav format bug fixed for 7-channel / 8-channel audio
  • Added getter functions for: getMaxDistance() / getPitch() / getRolloffFactor() / getReferenceDistance()
  • Fixed two bugs affecting setPlayPosition() on OGG sounds
  • Fixed initialisation list order warning in OgreOggSoundListener
  • Fixed mSceneMgr pointer not set correctly in init()
  • Fixed getListener() returning NULL (threaded version)

New in OgreOggSound 1.16 (Nov 23, 2011)

  • Single createSound() function which takes an optional SceneManager pointer
  • If no scenemanager is provided then the first scenemanager is grabbed from Root.
  • Lib must be created through Root::loadPlugin()
  • Added optional parameter to support a default SceneManager for creating sounds
  • Added OgreOggSoundManager::getSceneManager() for getting current default manager.
  • Added OgreOggSoundManager::setSceneManager() for setting current default manager for sound creation.
  • Added SoundListener for notification of sound events per sound.
  • notifications are: Loaded/Played/Stopped/Paused/Destroyed/Looping
  • Fixed potential destruction crashes in multi-threaded mode in sound action list.
  • Added get/setResourceGroupName() to OgreOggSoundManager for speed improvements
  • Removed unnecessary resource group searching to improve sound creation speed.
  • Updated CMakeLists to allow optional builds and Threaded settings, as created by Kornerr.
  • Fixed compiler bugs for linux build
  • Fixed typo bug for getResourceGroupName()
  • Fixed bug in createSound() when passing a SceneManager pointer
  • Fixed bug in plugin shutdown - Ogre::MEMCATEGORY_GEOMETRY changed to Ogre::MEMCATEGORY_GENERAL
  • Fixed compile bugs for LINUX build
  • Fixed callback bug in OgreOggSoundStatic class

New in OgreOggSound 1.15 (Nov 23, 2011)

  • Bug fix - EFX attach/detach functions added to actions queue
  • Cleaned up warnings for variable conversions
  • suppressed vorbis file warnings
  • Removed prebuilt libs from SVN
  • Added isMono() convenience function for determining spatialisation problems.
  • Paths setup for OGRE 1.7

New in OgreOggSound 1.14 (Nov 23, 2011)

  • Visual Studio project settings tweaked to reduce lib size and improve performance.
  • Updated BOOST version to 1.40
  • Cleaned up files:
  • Removed ogg/vorbis directories
  • introduced a dependencies directory containing libs for ogg/vorbis
  • Removed TestDemo directory, available on request.
  • Removed Release/Debug folders
  • Added new lib folder for output, more consistent with other libs
  • Removed libs folder from within dependencies, dependencies now contains ogg/vorbis libs.
  • Changed exceptions to booleans in OgreOggSoundManager::init()
  • Function now returns false for any errors instead of crashing.
  • Fixed linux compiling issues.

New in OgreOggSound 1.13 (Nov 23, 2011)

  • Added temporary sounds
  • Can now specify a sound to auto-destroy itself at any point
  • markTemporary()/isTemporary() can be use to set and query this status
  • Looping will be disabled when set, and sound will destroy itself when it has finished playing.
  • Added user defined loop points for streamed sounds
  • Fixed - mLoopOffset changed to Ogre::Real instead of unsigned long.