Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::AudioAPIWrapper Class Referenceabstract

Audio Programming Interface. More...

#include <AudioAPIWrapper.h>

+ Inheritance diagram for Divide::AudioAPIWrapper:

Public Types

using MusicPlaylist = std::pair< U32, vector< Handle< AudioDescriptor > > >
 
using MusicPlaylists = hashMap< U32, MusicPlaylist >
 

Public Member Functions

 AudioAPIWrapper (const Str< 64 > &name, PlatformContext &context)
 
- Public Member Functions inherited from Divide::PlatformContextComponent
 PlatformContextComponent (PlatformContext &context) noexcept
 
virtual ~PlatformContextComponent ()=default
 
PlatformContextcontext () noexcept
 
const PlatformContextcontext () const noexcept
 
- Public Member Functions inherited from Divide::NonCopyable
 NonCopyable (const NonCopyable &)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=default
 
NonCopyableoperator= (NonCopyable &&)=default
 
- Public Member Functions inherited from Divide::FrameListener
 FrameListener (const Str< 64 > &name, FrameListenerManager &parent, U32 callOrder)
 Either give it a name.
 
virtual ~FrameListener () override
 
bool operator< (FrameListener &that) const noexcept
 
- Public Member Functions inherited from Divide::GUIDWrapper
 GUIDWrapper () noexcept
 
 GUIDWrapper (const GUIDWrapper &old) noexcept
 
 GUIDWrapper (GUIDWrapper &&old) noexcept
 
virtual ~GUIDWrapper ()=default
 
FORCE_INLINE I64 getGUID () const noexcept
 
GUIDWrapperoperator= (const GUIDWrapper &old)=delete
 
GUIDWrapperoperator= (GUIDWrapper &&other)=delete
 

Protected Member Functions

virtual bool frameStarted (const FrameEvent &evt) override
 
virtual bool frameEnded (const FrameEvent &evt) noexcept override
 frameEnded is called after the buffers have been swapped
 
virtual ErrorCode initAudioAPI ()=0
 
virtual void closeAudioAPI ()=0
 
virtual void playSound (Handle< AudioDescriptor > sound)=0
 
virtual void playMusic (Handle< AudioDescriptor > music)=0
 
virtual void pauseMusic ()=0
 
virtual void stopMusic ()=0
 
virtual void stopAllSounds ()=0
 
virtual void setMusicVolume (I8 value)=0
 
virtual void setSoundVolume (I8 value)=0
 
virtual void musicFinished ()=0
 
- Protected Member Functions inherited from Divide::NonCopyable
 NonCopyable ()=default
 
 ~NonCopyable ()=default
 
- Protected Member Functions inherited from Divide::FrameListener
void setCallOrder (const U32 order) noexcept
 
virtual bool frameStarted (const FrameEvent &evt)
 
virtual bool framePreRender (const FrameEvent &evt)
 framePreRenderStarted is called when we need to start processing the visual aspect of a scene
 
virtual bool frameSceneRenderStarted (const FrameEvent &evt)
 frameSceneRenderStarted is called right before rendering the scene for the current player starts
 
virtual bool frameSceneRenderEnded (const FrameEvent &evt)
 frameSceneRenderEnded is called immediately after scene rendering for the current player has ended but before any blitting operations
 
virtual bool frameRenderingQueued (const FrameEvent &evt)
 
virtual bool framePostRender (const FrameEvent &evt)
 
virtual bool frameEnded (const FrameEvent &evt)
 frameEnded is called after the buffers have been swapped
 
 PROPERTY_R_IW (bool, enabled, false)
 
 PROPERTY_RW (Str< 64 >, name)
 

Friends

class SFXDevice
 

Additional Inherited Members

- Static Public Member Functions inherited from Divide::GUIDWrapper
static I64 generateGUID () noexcept
 
- Protected Attributes inherited from Divide::PlatformContextComponent
PlatformContext_context
 
- Protected Attributes inherited from Divide::GUIDWrapper
const I64 _guid
 

Detailed Description

Audio Programming Interface.

Definition at line 54 of file AudioAPIWrapper.h.

Member Typedef Documentation

◆ MusicPlaylist

Definition at line 57 of file AudioAPIWrapper.h.

◆ MusicPlaylists

Constructor & Destructor Documentation

◆ AudioAPIWrapper()

Divide::AudioAPIWrapper::AudioAPIWrapper ( const Str< 64 > &  name,
PlatformContext context 
)
explicit

Definition at line 9 of file AudioAPIWrapper.cpp.

Member Function Documentation

◆ closeAudioAPI()

virtual void Divide::AudioAPIWrapper::closeAudioAPI ( )
protectedpure virtual

◆ frameEnded()

virtual bool Divide::AudioAPIWrapper::frameEnded ( const FrameEvent evt)
inlineoverrideprotectedvirtualnoexcept

frameEnded is called after the buffers have been swapped

Reimplemented from Divide::FrameListener.

Definition at line 65 of file AudioAPIWrapper.h.

◆ frameStarted()

virtual bool Divide::AudioAPIWrapper::frameStarted ( const FrameEvent evt)
inlineoverrideprotectedvirtual

Adapter patern instead of pure interface for the same reason as the Ogre boys pointed out: Implement what you need without filling classes with dummy functions frameStarted is calld at the beggining of a new frame before processing the logic aspect of a scene

Reimplemented from Divide::FrameListener.

Reimplemented in Divide::SFXDevice.

Definition at line 64 of file AudioAPIWrapper.h.

◆ initAudioAPI()

virtual ErrorCode Divide::AudioAPIWrapper::initAudioAPI ( )
protectedpure virtual

◆ musicFinished()

virtual void Divide::AudioAPIWrapper::musicFinished ( )
protectedpure virtual

◆ pauseMusic()

virtual void Divide::AudioAPIWrapper::pauseMusic ( )
protectedpure virtual

◆ playMusic()

virtual void Divide::AudioAPIWrapper::playMusic ( Handle< AudioDescriptor music)
protectedpure virtual

◆ playSound()

virtual void Divide::AudioAPIWrapper::playSound ( Handle< AudioDescriptor sound)
protectedpure virtual

◆ setMusicVolume()

virtual void Divide::AudioAPIWrapper::setMusicVolume ( I8  value)
protectedpure virtual

◆ setSoundVolume()

virtual void Divide::AudioAPIWrapper::setSoundVolume ( I8  value)
protectedpure virtual

◆ stopAllSounds()

virtual void Divide::AudioAPIWrapper::stopAllSounds ( )
protectedpure virtual

◆ stopMusic()

virtual void Divide::AudioAPIWrapper::stopMusic ( )
protectedpure virtual

Friends And Related Function Documentation

◆ SFXDevice

friend class SFXDevice
friend

Definition at line 68 of file AudioAPIWrapper.h.


The documentation for this class was generated from the following files: