mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-03-25 16:43:33 +00:00
Use a ConstPtr in SoundManager
This commit is contained in:
parent
a0fb31e3b1
commit
604b5d24e9
@ -87,7 +87,7 @@ namespace MWBase
|
|||||||
///< Start playing music from the selected folder
|
///< Start playing music from the selected folder
|
||||||
/// \param name of the folder that contains the playlist
|
/// \param name of the folder that contains the playlist
|
||||||
|
|
||||||
virtual void say(const MWWorld::Ptr &reference, const std::string& filename) = 0;
|
virtual void say(const MWWorld::ConstPtr &reference, const std::string& filename) = 0;
|
||||||
///< Make an actor say some text.
|
///< Make an actor say some text.
|
||||||
/// \param filename name of a sound file in "Sound/" in the data directory.
|
/// \param filename name of a sound file in "Sound/" in the data directory.
|
||||||
|
|
||||||
@ -95,13 +95,13 @@ namespace MWBase
|
|||||||
///< Say some text, without an actor ref
|
///< Say some text, without an actor ref
|
||||||
/// \param filename name of a sound file in "Sound/" in the data directory.
|
/// \param filename name of a sound file in "Sound/" in the data directory.
|
||||||
|
|
||||||
virtual bool sayDone(const MWWorld::Ptr &reference=MWWorld::Ptr()) const = 0;
|
virtual bool sayDone(const MWWorld::ConstPtr &reference=MWWorld::ConstPtr()) const = 0;
|
||||||
///< Is actor not speaking?
|
///< Is actor not speaking?
|
||||||
|
|
||||||
virtual void stopSay(const MWWorld::Ptr &reference=MWWorld::Ptr()) = 0;
|
virtual void stopSay(const MWWorld::ConstPtr &reference=MWWorld::ConstPtr()) = 0;
|
||||||
///< Stop an actor speaking
|
///< Stop an actor speaking
|
||||||
|
|
||||||
virtual float getSaySoundLoudness(const MWWorld::Ptr& reference) const = 0;
|
virtual float getSaySoundLoudness(const MWWorld::ConstPtr& reference) const = 0;
|
||||||
///< Check the currently playing say sound for this actor
|
///< Check the currently playing say sound for this actor
|
||||||
/// and get an average loudness value (scale [0,1]) at the current time position.
|
/// and get an average loudness value (scale [0,1]) at the current time position.
|
||||||
/// If the actor is not saying anything, returns 0.
|
/// If the actor is not saying anything, returns 0.
|
||||||
@ -123,7 +123,7 @@ namespace MWBase
|
|||||||
///< Play a sound, independently of 3D-position
|
///< Play a sound, independently of 3D-position
|
||||||
///< @param offset Number of seconds into the sound to start playback.
|
///< @param offset Number of seconds into the sound to start playback.
|
||||||
|
|
||||||
virtual MWBase::SoundPtr playSound3D(const MWWorld::Ptr &reference, const std::string& soundId,
|
virtual MWBase::SoundPtr playSound3D(const MWWorld::ConstPtr &reference, const std::string& soundId,
|
||||||
float volume, float pitch, PlayType type=Play_TypeSfx,
|
float volume, float pitch, PlayType type=Play_TypeSfx,
|
||||||
PlayMode mode=Play_Normal, float offset=0) = 0;
|
PlayMode mode=Play_Normal, float offset=0) = 0;
|
||||||
///< Play a 3D sound attached to an MWWorld::Ptr. Will be updated automatically with the Ptr's position, unless Play_NoTrack is specified.
|
///< Play a 3D sound attached to an MWWorld::Ptr. Will be updated automatically with the Ptr's position, unless Play_NoTrack is specified.
|
||||||
@ -136,10 +136,10 @@ namespace MWBase
|
|||||||
virtual void stopSound(SoundPtr sound) = 0;
|
virtual void stopSound(SoundPtr sound) = 0;
|
||||||
///< Stop the given sound from playing
|
///< Stop the given sound from playing
|
||||||
|
|
||||||
virtual void stopSound3D(const MWWorld::Ptr &reference, const std::string& soundId) = 0;
|
virtual void stopSound3D(const MWWorld::ConstPtr &reference, const std::string& soundId) = 0;
|
||||||
///< Stop the given object from playing the given sound,
|
///< Stop the given object from playing the given sound,
|
||||||
|
|
||||||
virtual void stopSound3D(const MWWorld::Ptr &reference) = 0;
|
virtual void stopSound3D(const MWWorld::ConstPtr &reference) = 0;
|
||||||
///< Stop the given object from playing all sounds.
|
///< Stop the given object from playing all sounds.
|
||||||
|
|
||||||
virtual void stopSound(const MWWorld::CellStore *cell) = 0;
|
virtual void stopSound(const MWWorld::CellStore *cell) = 0;
|
||||||
@ -148,13 +148,13 @@ namespace MWBase
|
|||||||
virtual void stopSound(const std::string& soundId) = 0;
|
virtual void stopSound(const std::string& soundId) = 0;
|
||||||
///< Stop a non-3d looping sound
|
///< Stop a non-3d looping sound
|
||||||
|
|
||||||
virtual void fadeOutSound3D(const MWWorld::Ptr &reference, const std::string& soundId, float duration) = 0;
|
virtual void fadeOutSound3D(const MWWorld::ConstPtr &reference, const std::string& soundId, float duration) = 0;
|
||||||
///< Fade out given sound (that is already playing) of given object
|
///< Fade out given sound (that is already playing) of given object
|
||||||
///< @param reference Reference to object, whose sound is faded out
|
///< @param reference Reference to object, whose sound is faded out
|
||||||
///< @param soundId ID of the sound to fade out.
|
///< @param soundId ID of the sound to fade out.
|
||||||
///< @param duration Time until volume reaches 0.
|
///< @param duration Time until volume reaches 0.
|
||||||
|
|
||||||
virtual bool getSoundPlaying(const MWWorld::Ptr &reference, const std::string& soundId) const = 0;
|
virtual bool getSoundPlaying(const MWWorld::ConstPtr &reference, const std::string& soundId) const = 0;
|
||||||
///< Is the given sound currently playing on the given object?
|
///< Is the given sound currently playing on the given object?
|
||||||
/// If you want to check if sound played with playSound is playing, use empty Ptr
|
/// If you want to check if sound played with playSound is playing, use empty Ptr
|
||||||
|
|
||||||
@ -168,7 +168,7 @@ namespace MWBase
|
|||||||
|
|
||||||
virtual void setListenerPosDir(const osg::Vec3f &pos, const osg::Vec3f &dir, const osg::Vec3f &up, bool underwater) = 0;
|
virtual void setListenerPosDir(const osg::Vec3f &pos, const osg::Vec3f &dir, const osg::Vec3f &up, bool underwater) = 0;
|
||||||
|
|
||||||
virtual void updatePtr(const MWWorld::Ptr& old, const MWWorld::Ptr& updated) = 0;
|
virtual void updatePtr(const MWWorld::ConstPtr& old, const MWWorld::ConstPtr& updated) = 0;
|
||||||
|
|
||||||
virtual void clear() = 0;
|
virtual void clear() = 0;
|
||||||
};
|
};
|
||||||
|
@ -392,7 +392,7 @@ namespace MWSound
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SoundManager::say(const MWWorld::Ptr &ptr, const std::string &filename)
|
void SoundManager::say(const MWWorld::ConstPtr &ptr, const std::string &filename)
|
||||||
{
|
{
|
||||||
if(!mOutput->isInitialized())
|
if(!mOutput->isInitialized())
|
||||||
return;
|
return;
|
||||||
@ -429,7 +429,7 @@ namespace MWSound
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float SoundManager::getSaySoundLoudness(const MWWorld::Ptr &ptr) const
|
float SoundManager::getSaySoundLoudness(const MWWorld::ConstPtr &ptr) const
|
||||||
{
|
{
|
||||||
SaySoundMap::const_iterator snditer = mActiveSaySounds.find(ptr);
|
SaySoundMap::const_iterator snditer = mActiveSaySounds.find(ptr);
|
||||||
if(snditer != mActiveSaySounds.end())
|
if(snditer != mActiveSaySounds.end())
|
||||||
@ -456,17 +456,17 @@ namespace MWSound
|
|||||||
DecoderPtr decoder = loadVoice(voicefile, &loudness);
|
DecoderPtr decoder = loadVoice(voicefile, &loudness);
|
||||||
|
|
||||||
if(!loudness->isReady())
|
if(!loudness->isReady())
|
||||||
mPendingSaySounds[MWWorld::Ptr()] = std::make_pair(decoder, loudness);
|
mPendingSaySounds[MWWorld::ConstPtr()] = std::make_pair(decoder, loudness);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SaySoundMap::iterator oldIt = mActiveSaySounds.find(MWWorld::Ptr());
|
SaySoundMap::iterator oldIt = mActiveSaySounds.find(MWWorld::ConstPtr());
|
||||||
if (oldIt != mActiveSaySounds.end())
|
if (oldIt != mActiveSaySounds.end())
|
||||||
{
|
{
|
||||||
mOutput->finishStream(oldIt->second.first);
|
mOutput->finishStream(oldIt->second.first);
|
||||||
mActiveSaySounds.erase(oldIt);
|
mActiveSaySounds.erase(oldIt);
|
||||||
}
|
}
|
||||||
|
|
||||||
mActiveSaySounds.insert(std::make_pair(MWWorld::Ptr(),
|
mActiveSaySounds.insert(std::make_pair(MWWorld::ConstPtr(),
|
||||||
std::make_pair(playVoice(decoder, osg::Vec3f(), true), loudness)));
|
std::make_pair(playVoice(decoder, osg::Vec3f(), true), loudness)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -476,7 +476,7 @@ namespace MWSound
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SoundManager::sayDone(const MWWorld::Ptr &ptr) const
|
bool SoundManager::sayDone(const MWWorld::ConstPtr &ptr) const
|
||||||
{
|
{
|
||||||
SaySoundMap::const_iterator snditer = mActiveSaySounds.find(ptr);
|
SaySoundMap::const_iterator snditer = mActiveSaySounds.find(ptr);
|
||||||
if(snditer != mActiveSaySounds.end())
|
if(snditer != mActiveSaySounds.end())
|
||||||
@ -488,7 +488,7 @@ namespace MWSound
|
|||||||
return mPendingSaySounds.find(ptr) == mPendingSaySounds.end();
|
return mPendingSaySounds.find(ptr) == mPendingSaySounds.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SoundManager::stopSay(const MWWorld::Ptr &ptr)
|
void SoundManager::stopSay(const MWWorld::ConstPtr &ptr)
|
||||||
{
|
{
|
||||||
SaySoundMap::iterator snditer = mActiveSaySounds.find(ptr);
|
SaySoundMap::iterator snditer = mActiveSaySounds.find(ptr);
|
||||||
if(snditer != mActiveSaySounds.end())
|
if(snditer != mActiveSaySounds.end())
|
||||||
@ -552,7 +552,7 @@ namespace MWSound
|
|||||||
if(iter != mUnusedBuffers.end())
|
if(iter != mUnusedBuffers.end())
|
||||||
mUnusedBuffers.erase(iter);
|
mUnusedBuffers.erase(iter);
|
||||||
}
|
}
|
||||||
mActiveSounds[MWWorld::Ptr()].push_back(std::make_pair(sound, sfx));
|
mActiveSounds[MWWorld::ConstPtr()].push_back(std::make_pair(sound, sfx));
|
||||||
}
|
}
|
||||||
catch(std::exception&)
|
catch(std::exception&)
|
||||||
{
|
{
|
||||||
@ -562,7 +562,7 @@ namespace MWSound
|
|||||||
return sound;
|
return sound;
|
||||||
}
|
}
|
||||||
|
|
||||||
MWBase::SoundPtr SoundManager::playSound3D(const MWWorld::Ptr &ptr, const std::string& soundId,
|
MWBase::SoundPtr SoundManager::playSound3D(const MWWorld::ConstPtr &ptr, const std::string& soundId,
|
||||||
float volume, float pitch, PlayType type, PlayMode mode, float offset)
|
float volume, float pitch, PlayType type, PlayMode mode, float offset)
|
||||||
{
|
{
|
||||||
MWBase::SoundPtr sound;
|
MWBase::SoundPtr sound;
|
||||||
@ -627,7 +627,7 @@ namespace MWSound
|
|||||||
if(iter != mUnusedBuffers.end())
|
if(iter != mUnusedBuffers.end())
|
||||||
mUnusedBuffers.erase(iter);
|
mUnusedBuffers.erase(iter);
|
||||||
}
|
}
|
||||||
mActiveSounds[MWWorld::Ptr()].push_back(std::make_pair(sound, sfx));
|
mActiveSounds[MWWorld::ConstPtr()].push_back(std::make_pair(sound, sfx));
|
||||||
}
|
}
|
||||||
catch(std::exception &)
|
catch(std::exception &)
|
||||||
{
|
{
|
||||||
@ -643,7 +643,7 @@ namespace MWSound
|
|||||||
mOutput->finishSound(sound);
|
mOutput->finishSound(sound);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SoundManager::stopSound3D(const MWWorld::Ptr &ptr, const std::string& soundId)
|
void SoundManager::stopSound3D(const MWWorld::ConstPtr &ptr, const std::string& soundId)
|
||||||
{
|
{
|
||||||
SoundMap::iterator snditer = mActiveSounds.find(ptr);
|
SoundMap::iterator snditer = mActiveSounds.find(ptr);
|
||||||
if(snditer != mActiveSounds.end())
|
if(snditer != mActiveSounds.end())
|
||||||
@ -658,7 +658,7 @@ namespace MWSound
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SoundManager::stopSound3D(const MWWorld::Ptr &ptr)
|
void SoundManager::stopSound3D(const MWWorld::ConstPtr &ptr)
|
||||||
{
|
{
|
||||||
SoundMap::iterator snditer = mActiveSounds.find(ptr);
|
SoundMap::iterator snditer = mActiveSounds.find(ptr);
|
||||||
if(snditer != mActiveSounds.end())
|
if(snditer != mActiveSounds.end())
|
||||||
@ -674,7 +674,7 @@ namespace MWSound
|
|||||||
SoundMap::iterator snditer = mActiveSounds.begin();
|
SoundMap::iterator snditer = mActiveSounds.begin();
|
||||||
while(snditer != mActiveSounds.end())
|
while(snditer != mActiveSounds.end())
|
||||||
{
|
{
|
||||||
if(snditer->first != MWWorld::Ptr() &&
|
if(snditer->first != MWWorld::ConstPtr() &&
|
||||||
snditer->first != MWMechanics::getPlayer() &&
|
snditer->first != MWMechanics::getPlayer() &&
|
||||||
snditer->first.getCell() == cell)
|
snditer->first.getCell() == cell)
|
||||||
{
|
{
|
||||||
@ -687,7 +687,7 @@ namespace MWSound
|
|||||||
SaySoundMap::iterator sayiter = mActiveSaySounds.begin();
|
SaySoundMap::iterator sayiter = mActiveSaySounds.begin();
|
||||||
while(sayiter != mActiveSaySounds.end())
|
while(sayiter != mActiveSaySounds.end())
|
||||||
{
|
{
|
||||||
if(sayiter->first != MWWorld::Ptr() &&
|
if(sayiter->first != MWWorld::ConstPtr() &&
|
||||||
sayiter->first != MWMechanics::getPlayer() &&
|
sayiter->first != MWMechanics::getPlayer() &&
|
||||||
sayiter->first.getCell() == cell)
|
sayiter->first.getCell() == cell)
|
||||||
{
|
{
|
||||||
@ -699,7 +699,7 @@ namespace MWSound
|
|||||||
|
|
||||||
void SoundManager::stopSound(const std::string& soundId)
|
void SoundManager::stopSound(const std::string& soundId)
|
||||||
{
|
{
|
||||||
SoundMap::iterator snditer = mActiveSounds.find(MWWorld::Ptr());
|
SoundMap::iterator snditer = mActiveSounds.find(MWWorld::ConstPtr());
|
||||||
if(snditer != mActiveSounds.end())
|
if(snditer != mActiveSounds.end())
|
||||||
{
|
{
|
||||||
Sound_Buffer *sfx = loadSound(Misc::StringUtils::lowerCase(soundId));
|
Sound_Buffer *sfx = loadSound(Misc::StringUtils::lowerCase(soundId));
|
||||||
@ -712,7 +712,7 @@ namespace MWSound
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SoundManager::fadeOutSound3D(const MWWorld::Ptr &ptr,
|
void SoundManager::fadeOutSound3D(const MWWorld::ConstPtr &ptr,
|
||||||
const std::string& soundId, float duration)
|
const std::string& soundId, float duration)
|
||||||
{
|
{
|
||||||
SoundMap::iterator snditer = mActiveSounds.find(ptr);
|
SoundMap::iterator snditer = mActiveSounds.find(ptr);
|
||||||
@ -728,7 +728,7 @@ namespace MWSound
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SoundManager::getSoundPlaying(const MWWorld::Ptr &ptr, const std::string& soundId) const
|
bool SoundManager::getSoundPlaying(const MWWorld::ConstPtr &ptr, const std::string& soundId) const
|
||||||
{
|
{
|
||||||
SoundMap::const_iterator snditer = mActiveSounds.find(ptr);
|
SoundMap::const_iterator snditer = mActiveSounds.find(ptr);
|
||||||
if(snditer != mActiveSounds.end())
|
if(snditer != mActiveSounds.end())
|
||||||
@ -773,7 +773,7 @@ namespace MWSound
|
|||||||
static std::string regionName = "";
|
static std::string regionName = "";
|
||||||
static float sTimePassed = 0.0;
|
static float sTimePassed = 0.0;
|
||||||
MWBase::World *world = MWBase::Environment::get().getWorld();
|
MWBase::World *world = MWBase::Environment::get().getWorld();
|
||||||
const MWWorld::Ptr player = world->getPlayerPtr();
|
const MWWorld::ConstPtr player = world->getPlayerPtr();
|
||||||
const ESM::Cell *cell = player.getCell()->getCell();
|
const ESM::Cell *cell = player.getCell()->getCell();
|
||||||
|
|
||||||
sTimePassed += duration;
|
sTimePassed += duration;
|
||||||
@ -864,7 +864,7 @@ namespace MWSound
|
|||||||
SoundBufferRefPairList::iterator sndidx = snditer->second.begin();
|
SoundBufferRefPairList::iterator sndidx = snditer->second.begin();
|
||||||
while(sndidx != snditer->second.end())
|
while(sndidx != snditer->second.end())
|
||||||
{
|
{
|
||||||
MWWorld::Ptr ptr = snditer->first;
|
MWWorld::ConstPtr ptr = snditer->first;
|
||||||
MWBase::SoundPtr sound = sndidx->first;
|
MWBase::SoundPtr sound = sndidx->first;
|
||||||
if(!ptr.isEmpty() && sound->getIs3D())
|
if(!ptr.isEmpty() && sound->getIs3D())
|
||||||
{
|
{
|
||||||
@ -912,7 +912,7 @@ namespace MWSound
|
|||||||
decoder->rewind();
|
decoder->rewind();
|
||||||
|
|
||||||
MWBase::SoundStreamPtr sound;
|
MWBase::SoundStreamPtr sound;
|
||||||
MWWorld::Ptr ptr = penditer->first;
|
MWWorld::ConstPtr ptr = penditer->first;
|
||||||
|
|
||||||
SaySoundMap::iterator old = mActiveSaySounds.find(ptr);
|
SaySoundMap::iterator old = mActiveSaySounds.find(ptr);
|
||||||
if (old != mActiveSaySounds.end())
|
if (old != mActiveSaySounds.end())
|
||||||
@ -921,7 +921,7 @@ namespace MWSound
|
|||||||
mActiveSaySounds.erase(old);
|
mActiveSaySounds.erase(old);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ptr == MWWorld::Ptr())
|
if(ptr == MWWorld::ConstPtr())
|
||||||
sound = playVoice(decoder, osg::Vec3f(), true);
|
sound = playVoice(decoder, osg::Vec3f(), true);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -944,7 +944,7 @@ namespace MWSound
|
|||||||
SaySoundMap::iterator sayiter = mActiveSaySounds.begin();
|
SaySoundMap::iterator sayiter = mActiveSaySounds.begin();
|
||||||
while(sayiter != mActiveSaySounds.end())
|
while(sayiter != mActiveSaySounds.end())
|
||||||
{
|
{
|
||||||
MWWorld::Ptr ptr = sayiter->first;
|
MWWorld::ConstPtr ptr = sayiter->first;
|
||||||
MWBase::SoundStreamPtr sound = sayiter->second.first;
|
MWBase::SoundStreamPtr sound = sayiter->second.first;
|
||||||
if(!ptr.isEmpty() && sound->getIs3D())
|
if(!ptr.isEmpty() && sound->getIs3D())
|
||||||
{
|
{
|
||||||
@ -1068,7 +1068,7 @@ namespace MWSound
|
|||||||
mListenerUnderwater = underwater;
|
mListenerUnderwater = underwater;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SoundManager::updatePtr(const MWWorld::Ptr &old, const MWWorld::Ptr &updated)
|
void SoundManager::updatePtr(const MWWorld::ConstPtr &old, const MWWorld::ConstPtr &updated)
|
||||||
{
|
{
|
||||||
SoundMap::iterator snditer = mActiveSounds.find(old);
|
SoundMap::iterator snditer = mActiveSounds.find(old);
|
||||||
if(snditer != mActiveSounds.end())
|
if(snditer != mActiveSounds.end())
|
||||||
|
@ -81,15 +81,15 @@ namespace MWSound
|
|||||||
|
|
||||||
typedef std::pair<MWBase::SoundPtr,Sound_Buffer*> SoundBufferRefPair;
|
typedef std::pair<MWBase::SoundPtr,Sound_Buffer*> SoundBufferRefPair;
|
||||||
typedef std::vector<SoundBufferRefPair> SoundBufferRefPairList;
|
typedef std::vector<SoundBufferRefPair> SoundBufferRefPairList;
|
||||||
typedef std::map<MWWorld::Ptr,SoundBufferRefPairList> SoundMap;
|
typedef std::map<MWWorld::ConstPtr,SoundBufferRefPairList> SoundMap;
|
||||||
SoundMap mActiveSounds;
|
SoundMap mActiveSounds;
|
||||||
|
|
||||||
typedef std::pair<MWBase::SoundStreamPtr,Sound_Loudness*> SoundLoudnessPair;
|
typedef std::pair<MWBase::SoundStreamPtr,Sound_Loudness*> SoundLoudnessPair;
|
||||||
typedef std::map<MWWorld::Ptr,SoundLoudnessPair> SaySoundMap;
|
typedef std::map<MWWorld::ConstPtr,SoundLoudnessPair> SaySoundMap;
|
||||||
SaySoundMap mActiveSaySounds;
|
SaySoundMap mActiveSaySounds;
|
||||||
|
|
||||||
typedef std::pair<DecoderPtr,Sound_Loudness*> DecoderLoudnessPair;
|
typedef std::pair<DecoderPtr,Sound_Loudness*> DecoderLoudnessPair;
|
||||||
typedef std::map<MWWorld::Ptr,DecoderLoudnessPair> SayDecoderMap;
|
typedef std::map<MWWorld::ConstPtr,DecoderLoudnessPair> SayDecoderMap;
|
||||||
SayDecoderMap mPendingSaySounds;
|
SayDecoderMap mPendingSaySounds;
|
||||||
|
|
||||||
typedef std::vector<MWBase::SoundStreamPtr> TrackList;
|
typedef std::vector<MWBase::SoundStreamPtr> TrackList;
|
||||||
@ -154,7 +154,7 @@ namespace MWSound
|
|||||||
///< Start playing music from the selected folder
|
///< Start playing music from the selected folder
|
||||||
/// \param name of the folder that contains the playlist
|
/// \param name of the folder that contains the playlist
|
||||||
|
|
||||||
virtual void say(const MWWorld::Ptr &reference, const std::string& filename);
|
virtual void say(const MWWorld::ConstPtr &reference, const std::string& filename);
|
||||||
///< Make an actor say some text.
|
///< Make an actor say some text.
|
||||||
/// \param filename name of a sound file in "Sound/" in the data directory.
|
/// \param filename name of a sound file in "Sound/" in the data directory.
|
||||||
|
|
||||||
@ -162,13 +162,13 @@ namespace MWSound
|
|||||||
///< Say some text, without an actor ref
|
///< Say some text, without an actor ref
|
||||||
/// \param filename name of a sound file in "Sound/" in the data directory.
|
/// \param filename name of a sound file in "Sound/" in the data directory.
|
||||||
|
|
||||||
virtual bool sayDone(const MWWorld::Ptr &reference=MWWorld::Ptr()) const;
|
virtual bool sayDone(const MWWorld::ConstPtr &reference=MWWorld::ConstPtr()) const;
|
||||||
///< Is actor not speaking?
|
///< Is actor not speaking?
|
||||||
|
|
||||||
virtual void stopSay(const MWWorld::Ptr &reference=MWWorld::Ptr());
|
virtual void stopSay(const MWWorld::ConstPtr &reference=MWWorld::ConstPtr());
|
||||||
///< Stop an actor speaking
|
///< Stop an actor speaking
|
||||||
|
|
||||||
virtual float getSaySoundLoudness(const MWWorld::Ptr& reference) const;
|
virtual float getSaySoundLoudness(const MWWorld::ConstPtr& reference) const;
|
||||||
///< Check the currently playing say sound for this actor
|
///< Check the currently playing say sound for this actor
|
||||||
/// and get an average loudness value (scale [0,1]) at the current time position.
|
/// and get an average loudness value (scale [0,1]) at the current time position.
|
||||||
/// If the actor is not saying anything, returns 0.
|
/// If the actor is not saying anything, returns 0.
|
||||||
@ -188,7 +188,7 @@ namespace MWSound
|
|||||||
///< Play a sound, independently of 3D-position
|
///< Play a sound, independently of 3D-position
|
||||||
///< @param offset Number of seconds into the sound to start playback.
|
///< @param offset Number of seconds into the sound to start playback.
|
||||||
|
|
||||||
virtual MWBase::SoundPtr playSound3D(const MWWorld::Ptr &reference, const std::string& soundId,
|
virtual MWBase::SoundPtr playSound3D(const MWWorld::ConstPtr &reference, const std::string& soundId,
|
||||||
float volume, float pitch, PlayType type=Play_TypeSfx,
|
float volume, float pitch, PlayType type=Play_TypeSfx,
|
||||||
PlayMode mode=Play_Normal, float offset=0);
|
PlayMode mode=Play_Normal, float offset=0);
|
||||||
///< Play a 3D sound attached to an MWWorld::Ptr. Will be updated automatically with the Ptr's position, unless Play_NoTrack is specified.
|
///< Play a 3D sound attached to an MWWorld::Ptr. Will be updated automatically with the Ptr's position, unless Play_NoTrack is specified.
|
||||||
@ -203,10 +203,10 @@ namespace MWSound
|
|||||||
///< Stop the given sound from playing
|
///< Stop the given sound from playing
|
||||||
/// @note no-op if \a sound is null
|
/// @note no-op if \a sound is null
|
||||||
|
|
||||||
virtual void stopSound3D(const MWWorld::Ptr &reference, const std::string& soundId);
|
virtual void stopSound3D(const MWWorld::ConstPtr &reference, const std::string& soundId);
|
||||||
///< Stop the given object from playing the given sound,
|
///< Stop the given object from playing the given sound,
|
||||||
|
|
||||||
virtual void stopSound3D(const MWWorld::Ptr &reference);
|
virtual void stopSound3D(const MWWorld::ConstPtr &reference);
|
||||||
///< Stop the given object from playing all sounds.
|
///< Stop the given object from playing all sounds.
|
||||||
|
|
||||||
virtual void stopSound(const MWWorld::CellStore *cell);
|
virtual void stopSound(const MWWorld::CellStore *cell);
|
||||||
@ -215,13 +215,13 @@ namespace MWSound
|
|||||||
virtual void stopSound(const std::string& soundId);
|
virtual void stopSound(const std::string& soundId);
|
||||||
///< Stop a non-3d looping sound
|
///< Stop a non-3d looping sound
|
||||||
|
|
||||||
virtual void fadeOutSound3D(const MWWorld::Ptr &reference, const std::string& soundId, float duration);
|
virtual void fadeOutSound3D(const MWWorld::ConstPtr &reference, const std::string& soundId, float duration);
|
||||||
///< Fade out given sound (that is already playing) of given object
|
///< Fade out given sound (that is already playing) of given object
|
||||||
///< @param reference Reference to object, whose sound is faded out
|
///< @param reference Reference to object, whose sound is faded out
|
||||||
///< @param soundId ID of the sound to fade out.
|
///< @param soundId ID of the sound to fade out.
|
||||||
///< @param duration Time until volume reaches 0.
|
///< @param duration Time until volume reaches 0.
|
||||||
|
|
||||||
virtual bool getSoundPlaying(const MWWorld::Ptr &reference, const std::string& soundId) const;
|
virtual bool getSoundPlaying(const MWWorld::ConstPtr &reference, const std::string& soundId) const;
|
||||||
///< Is the given sound currently playing on the given object?
|
///< Is the given sound currently playing on the given object?
|
||||||
|
|
||||||
virtual void pauseSounds(int types=Play_TypeMask);
|
virtual void pauseSounds(int types=Play_TypeMask);
|
||||||
@ -234,7 +234,7 @@ namespace MWSound
|
|||||||
|
|
||||||
virtual void setListenerPosDir(const osg::Vec3f &pos, const osg::Vec3f &dir, const osg::Vec3f &up, bool underwater);
|
virtual void setListenerPosDir(const osg::Vec3f &pos, const osg::Vec3f &dir, const osg::Vec3f &up, bool underwater);
|
||||||
|
|
||||||
virtual void updatePtr (const MWWorld::Ptr& old, const MWWorld::Ptr& updated);
|
virtual void updatePtr (const MWWorld::ConstPtr& old, const MWWorld::ConstPtr& updated);
|
||||||
|
|
||||||
virtual void clear();
|
virtual void clear();
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user