#include <SoundCache.h>
Public Member Functions | |
SoundCache (const String &basePath="", const String &extension="", Sound::Focus focus=Sound::focusNormal, int defaultMaxMixingCount=16) | |
コンストラクタ | |
virtual | ~SoundCache () |
デストラクタ | |
virtual bool | loadStaticSound (const String &name, bool loop=false, int priority=Sound::priorityDefault, int maxMixingCount=0) |
静的サウンドのロード | |
virtual bool | loadStaticSound3D (const String &name, bool loop=false, int priority=Sound::priorityDefault, float minimumDistance=DS3D_DEFAULTMINDISTANCE, float maximumDistance=DS3D_DEFAULTMAXDISTANCE, int maxMixingCount=0) |
静的3Dサウンドのロード | |
virtual bool | unloadSound (const String &name) |
サウンドのアンロード | |
virtual void | unloadAll () |
全サウンドのアンロード | |
virtual bool | loadSoundList (const String &filePath) |
サウンドリストのロード | |
virtual bool | loadSoundList (TextReader *textReader) |
サウンドリストのロード | |
virtual Sound * | playSound (const String &name, float volume=1.f, int frequency=0) |
サウンドの再生 | |
virtual StereoSound * | playStereoSound (const String &name, float volume=1.f, int frequency=0, float pan=0.f) |
ステレオサウンドの再生 | |
virtual Sound3D * | playSound3D (const String &name, float volume=1.f, int frequency=0, const Vector3 &position=Vector3::zero) |
3Dサウンドの再生 | |
virtual Sound * | getSound (const String &name, Sound::Reset resetFlag=Sound::resetRuntime) |
サウンドの取得 | |
virtual StereoSound * | getStereoSound (const String &name, Sound::Reset resetFlag=Sound::resetRuntime) |
ステレオサウンドの取得 | |
virtual Sound3D * | getSound3D (const String &name, Sound::Reset resetFlag=Sound::resetRuntime) |
3Dサウンドの取得 | |
virtual void | releaseSound (Sound *sound) |
サウンドの解放 | |
virtual void | suspendAll () |
全サウンドの再生を一時停止する | |
virtual void | resumeAll () |
全サウンドの再生を再開する | |
virtual String | toString () const |
文字列への変換 | |
Protected Member Functions | |
virtual void | createCache (const String &name, Sound *sound, int maxMixingCount) |
キャッシュ作成 | |
Protected Attributes | |
HashMap< String, SoundArray * > | cache_ |
キャッシュ | |
ArrayList< SoundArray * > | list_ |
リスト | |
String | basePath_ |
ベースパス | |
String | extension_ |
拡張子 | |
Sound::Focus | focus_ |
フォーカス | |
int | defaultMaxMixingCount_ |
デフォルト最大ミキシング数 |
静的サウンドをキャッシングするためのクラス。ストリームは恩恵が無いので 現在非対応。ストリームに対するclone()が上手くいくようになれば対応を考える。 SoundCache.cppのrev1.5あたりにストリームキャッシュの実装有り。
Definition at line 44 of file SoundCache.h.
|
コンストラクタ
Definition at line 39 of file SoundCache.cpp. References Assert, and defaultMaxMixingCount_. |
|
キャッシュ作成
Definition at line 91 of file SoundCache.cpp. References Lamp::ArrayList< SoundArray * >::add(), cache_, list_, and Lamp::HashMap< String, SoundArray * >::put(). Referenced by loadStaticSound(), and loadStaticSound3D(). |
|
サウンドの取得 サウンドの所有権を得る。所有権を得ている間、サウンドは再利用されない。 使用後はreleaseSound()で返却する必要がある。
Definition at line 185 of file SoundCache.cpp. References Assert, cache_, Lamp::HashMap< String, SoundArray * >::get(), Lamp::SoundCache::SoundArray::getFreeSound(), Lamp::Sound::hasOwnership(), NULL, Lamp::Sound::reset(), and Lamp::Sound::setOwnership(). Referenced by getSound3D(), and getStereoSound(). |
|
3Dサウンドの取得 サウンドの所有権を得る。所有権を得ている間、サウンドは再利用されない。 使用後はreleaseSound()で返却する必要がある。
Definition at line 212 of file SoundCache.cpp. References Lamp::Sound::castSound3D(), getSound(), NULL, and releaseSound(). |
|
ステレオサウンドの取得 サウンドの所有権を得る。所有権を得ている間、サウンドは再利用されない。 使用後はreleaseSound()で返却する必要がある。
Definition at line 199 of file SoundCache.cpp. References Lamp::Sound::castStereoSound(), getSound(), NULL, and releaseSound(). |
|
サウンドリストのロード
Definition at line 123 of file SoundCache.cpp. |
|
サウンドリストのロード
Definition at line 118 of file SoundCache.cpp. References basePath_. |
|
静的サウンドのロード
Definition at line 54 of file SoundCache.cpp. References Assert, basePath_, cache_, createCache(), defaultMaxMixingCount_, extension_, focus_, Lamp::HashMap< String, SoundArray * >::get(), NULL, Lamp::SoundBuffer::setLoop(), and Lamp::SoundBuffer::setPriority(). Referenced by Lamp::SoundList::loadSound(). |
|
静的3Dサウンドのロード
Definition at line 72 of file SoundCache.cpp. References Assert, basePath_, cache_, createCache(), defaultMaxMixingCount_, extension_, focus_, Lamp::HashMap< String, SoundArray * >::get(), NULL, Lamp::Sound3D::setDistance(), Lamp::SoundBuffer::setLoop(), and Lamp::SoundBuffer::setPriority(). Referenced by Lamp::SoundList::loadSound(). |
|
サウンドの再生 ループサウンドの場合は返り値のポインタを保存して自前でstop()を呼んでください。 ループサウンドで無い場合は返り値のポインタへのアクセスは、呼び出した時点で のみ行い、その後は使用しないで下さい。もし、ループしていないサウンドに対して 再生終了までのアクセスが必要なのであれば、getSound(),releaseSound()を 使用してください。
Definition at line 130 of file SoundCache.cpp. References cache_, Lamp::HashMap< String, SoundArray * >::get(), Lamp::SoundCache::SoundArray::getFreeSound(), NULL, Lamp::Sound::play(), Lamp::Sound::reset(), Lamp::Sound::setFrequency(), and Lamp::Sound::setVolume(). |
|
3Dサウンドの再生 ループサウンドの場合は返り値のポインタを保存して自前でstop()を呼んでください。 ループサウンドで無い場合は返り値のポインタへのアクセスは、呼び出した時点で のみ行い、その後は使用しないで下さい。もし、ループしていないサウンドに対して 再生終了までのアクセスが必要なのであれば、getSound(),releaseSound()を 使用してください。
Definition at line 164 of file SoundCache.cpp. References cache_, Lamp::Sound::castSound3D(), Lamp::HashMap< String, SoundArray * >::get(), Lamp::SoundCache::SoundArray::getFreeSound(), NULL, Lamp::Sound3D::play(), Lamp::Sound3D::reset(), Lamp::SoundBuffer::setFrequency(), Lamp::Sound3D::setPosition(), and Lamp::SoundBuffer::setVolume(). |
|
ステレオサウンドの再生 ループサウンドの場合は返り値のポインタを保存して自前でstop()を呼んでください。 ループサウンドで無い場合は返り値のポインタへのアクセスは、呼び出した時点で のみ行い、その後は使用しないで下さい。もし、ループしていないサウンドに対して 再生終了までのアクセスが必要なのであれば、getSound(),releaseSound()を 使用してください。
Definition at line 145 of file SoundCache.cpp. References cache_, Lamp::Sound::castStereoSound(), Lamp::HashMap< String, SoundArray * >::get(), Lamp::SoundCache::SoundArray::getFreeSound(), NULL, Lamp::SoundBuffer::play(), Lamp::StereoSound::reset(), Lamp::SoundBuffer::setFrequency(), Lamp::StereoSound::setPan(), and Lamp::SoundBuffer::setVolume(). |
|
サウンドの解放 getSound()で所有権を得たサウンドを解放する。
Definition at line 224 of file SoundCache.cpp. References Assert, Lamp::Sound::hasOwnership(), NULL, and Lamp::Sound::setOwnership(). Referenced by getSound3D(), and getStereoSound(). |
|
文字列への変換
Definition at line 258 of file SoundCache.cpp. References basePath_, extension_, focus_, Lamp::String::format(), Lamp::ArrayList< SoundArray * >::getCount(), and list_. |
|
サウンドのアンロード
Definition at line 99 of file SoundCache.cpp. References cache_, list_, NULL, Lamp::HashMap< String, SoundArray * >::remove(), and Lamp::ArrayList< SoundArray * >::removeByValue(). |