2016-05-07 22:11:45 +00:00
|
|
|
#ifndef BOO_IAUDIOMIX_HPP
|
|
|
|
#define BOO_IAUDIOMIX_HPP
|
2016-05-07 04:28:32 +00:00
|
|
|
|
|
|
|
#include <list>
|
|
|
|
|
|
|
|
namespace boo
|
|
|
|
{
|
2016-05-23 05:34:20 +00:00
|
|
|
struct AudioVoiceEngineMixInfo;
|
2016-05-07 04:28:32 +00:00
|
|
|
class AudioVoice;
|
|
|
|
class AudioSubmix;
|
|
|
|
|
|
|
|
/** Entity that mixes audio from several child sources (engine root or submix) */
|
2016-05-07 22:11:45 +00:00
|
|
|
class IAudioMix
|
2016-05-07 04:28:32 +00:00
|
|
|
{
|
|
|
|
friend class AudioVoice;
|
|
|
|
friend class AudioSubmix;
|
|
|
|
virtual void _unbindFrom(std::list<AudioVoice*>::iterator it)=0;
|
|
|
|
virtual void _unbindFrom(std::list<AudioSubmix*>::iterator it)=0;
|
|
|
|
public:
|
|
|
|
virtual const AudioVoiceEngineMixInfo& mixInfo() const=0;
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2016-05-07 22:11:45 +00:00
|
|
|
#endif // BOO_IAUDIOMIX_HPP
|