Ogre Video and Audio Plugins  master
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Modules Pages
OgreOggSound Namespace Reference

Classes

struct  ChunkHeader
 CHUNK header information. More...
 
struct  cSound
 Holds information about a create sound request. More...
 
struct  efxProperty
 Holds information about an EFX effect. More...
 
class  LocklessQueue
 LocklessQueue template: as provided by Lf3THn4D. More...
 
class  OgreOggISound
 A single sound object. More...
 
class  OgreOggListener
 Listener object (Users ears) More...
 
class  OgreOggSoundFactory
 MovableFactory for creating Sound instances. More...
 
class  OgreOggSoundManager
 Sound Manager: Manages all sounds for an application. More...
 
class  OgreOggSoundPlugin
 Plugin instance for the MovableText. More...
 
class  OgreOggSoundRecord
 Captures audio data. More...
 
class  OgreOggStaticSound
 A single static buffer sound (OGG) More...
 
class  OgreOggStaticWavSound
 A single static buffer sound (WAV) More...
 
class  OgreOggStreamBufferSound
 A single streaming sound (OGG) More...
 
class  OgreOggStreamSound
 A single streaming sound (OGG) More...
 
class  OgreOggStreamWavSound
 A single streaming sound (WAV) More...
 
class  OOSCallback
 Callbacks for sound states. More...
 
class  OSSCallbackPointer
 Callback template. More...
 
struct  sharedAudioBuffer
 Holds information about a static shared audio buffer. More...
 
struct  SOggFile
 Structure describing an ogg stream. More...
 
struct  SoundAction
 Holds information about a sound action. More...
 
struct  WAVEHEADER
 WAVE file header information. More...
 
struct  WaveHeader
 WAVEFORMATEX header information. More...
 
struct  WavFormatData
 WAVEFORMATEXTENSIBLE sound information. More...
 

Typedefs

typedef std::map< Ogre::String, OgreOggISound * > SoundMap
 
typedef std::map< Ogre::String, ALuint > EffectList
 
typedef std::map< ALenum, bool > FeatureList
 
typedef std::list< OgreOggISound * > ActiveList
 
typedef std::deque< ALuint > SourceList
 
typedef std::vector< Ogre::StringRecordDeviceList
 
typedef std::vector< ALuint > BufferList
 
typedef Ogre::SharedPtr< BufferListBufferListPtr
 
typedef std::map< std::string, sharedAudioBuffer * > SharedBufferList
 
typedef char CHAR
 
typedef unsigned short WORD
 
typedef unsigned int DWORD
 

Enumerations

enum  FadeControl { FC_NONE = 0x00, FC_PAUSE = 0x01, FC_STOP = 0x02 }
 Action to perform after a fade has completed. More...
 
enum  SoundState {
  SS_NONE, SS_PLAYING, SS_PAUSED, SS_STOPPED,
  SS_DESTROYED
}
 The current state of the sound. More...
 
enum  SOUND_ACTION {
  LQ_PLAY, LQ_STOP, LQ_PAUSE, LQ_LOAD,
  LQ_GLOBAL_PITCH, LQ_STOP_ALL, LQ_PAUSE_ALL, LQ_RESUME_ALL,
  LQ_REACTIVATE, LQ_DESTROY_TEMPORARY, LQ_ATTACH_EFX, LQ_DETACH_EFX,
  LQ_SET_EFX_PROPERTY
}
 Various sound commands. More...
 

Detailed Description

Author
Ian Stangoe

LICENSE:

This source file is part of OgreOggSound, an OpenAL wrapper library for
use with the Ogre Rendering Engine.

Copyright 2010 Ian Stangoe

OgreOggSound is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

OgreOggSound is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with OgreOggSound. If not, see http://www.gnu.org/licenses/.

DESCRIPTION:

Template class for a lockless queue system to pass items from one thread to another. Only 1 thread can push and 1 thread can pop it. All credit goes to: Lf3THn4D

Author
Ian Stangoe

LICENSE:

This source file is part of OgreOggSound, an OpenAL wrapper library for
use with the Ogre Rendering Engine.

Copyright (c) 2017 Ian Stangoe

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

DESCRIPTION: Listener object (The users 'ears')

Author
Ian Stangoe

LICENSE:

This source file is part of OgreOggSound, an OpenAL wrapper library for
use with the Ogre Rendering Engine.

Copyright (c) 2017 Ian Stangoe

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

DESCRIPTION: Callbacks for detecting various states

Author
Ian Stangoe

LICENSE:

This source file is part of OgreOggSound, an OpenAL wrapper library for
use with the Ogre Rendering Engine.

Copyright (c) 2017 Ian Stangoe

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

DESCRIPTION: Factory manager for creation of sound objects

Author
Ian Stangoe

LICENSE:

This source file is part of OgreOggSound, an OpenAL wrapper library for
use with the Ogre Rendering Engine.

Copyright (c) 2017 Ian Stangoe

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

DESCRIPTION: Manages the audio library

Author
Ian Stangoe

LICENSE:

This source file is part of OgreOggSound, an OpenAL wrapper library for
use with the Ogre Rendering Engine.

Copyright (c) 2017 Ian Stangoe

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

DESCRIPTION: Impements the plugin interface for OGRE

Author
Ian Stangoe

LICENSE:

This source file is part of OgreOggSound, an OpenAL wrapper library for
use with the Ogre Rendering Engine.

Copyright (c) 2017 Ian Stangoe

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

DESCRIPTION: Implements methods for creating/using a static ogg sound

Author
Ian Stangoe

LICENSE:

This source file is part of OgreOggSound, an OpenAL wrapper library for
use with the Ogre Rendering Engine.

Copyright (c) 2017 Ian Stangoe

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

DESCRIPTION: Implements methods for creating/using a static wav sound

Author
Ian Stangoe

LICENSE:

This source file is part of OgreOggSound, an OpenAL wrapper library for
use with the Ogre Rendering Engine.

Copyright (c) 2017 Ian Stangoe

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

DESCRIPTION: Implements methods for creating/using a streamed ogg sound

Author
Ian Stangoe

LICENSE:

This source file is part of OgreOggSound, an OpenAL wrapper library for
use with the Ogre Rendering Engine.

Copyright (c) 2017 Ian Stangoe

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

DESCRIPTION: Implements methods for creating/using a streamed wav sound

Typedef Documentation

◆ ActiveList

◆ BufferList

typedef std::vector<ALuint> OgreOggSound::BufferList

◆ BufferListPtr

◆ CHAR

typedef char OgreOggSound::CHAR

◆ DWORD

typedef unsigned int OgreOggSound::DWORD

◆ EffectList

typedef std::map<Ogre::String, ALuint> OgreOggSound::EffectList

◆ FeatureList

typedef std::map<ALenum, bool> OgreOggSound::FeatureList

◆ RecordDeviceList

◆ SharedBufferList

typedef std::map<std::string, sharedAudioBuffer*> OgreOggSound::SharedBufferList

◆ SoundMap

◆ SourceList

typedef std::deque<ALuint> OgreOggSound::SourceList

◆ WORD

typedef unsigned short OgreOggSound::WORD

Enumeration Type Documentation

◆ FadeControl

Action to perform after a fade has completed.

Remarks
Use this to specify what to do on a sound after it has finished fading. i.e. after fading out pause.
Enumerator
FC_NONE 
FC_PAUSE 
FC_STOP 

◆ SOUND_ACTION

Various sound commands.

Enumerator
LQ_PLAY 
LQ_STOP 
LQ_PAUSE 
LQ_LOAD 
LQ_GLOBAL_PITCH 
LQ_STOP_ALL 
LQ_PAUSE_ALL 
LQ_RESUME_ALL 
LQ_REACTIVATE 
LQ_DESTROY_TEMPORARY 
LQ_ATTACH_EFX 
LQ_DETACH_EFX 
LQ_SET_EFX_PROPERTY 

◆ SoundState

The current state of the sound.

Remarks
This is separate from what OpenAL thinks the current state of the sound is. A separate state is maintained in order to make sure the correct state is available when using multi-threaded sound streaming since the OpenAL sound is stopped and started multiple times while it is still technically in a "playing" state.
Enumerator
SS_NONE 
SS_PLAYING 
SS_PAUSED 
SS_STOPPED 
SS_DESTROYED