00001 /* 00002 SagaEngine library 00003 Copyright (c) 2002-2006 Skalden Studio AS 00004 00005 This software is provided 'as-is', without any express or implied 00006 warranty. In no event will the authors be held liable for any 00007 damages arising from the use of this software. 00008 00009 Permission is granted to distribute the library under the terms of the 00010 Q Public License version 1.0. Be sure to read and understand the license 00011 before using the library. It should be included here, or you may read it 00012 at http://www.trolltech.com/products/qt/licenses/licensing/qpl 00013 00014 The original version of this library can be located at: 00015 http://www.sagaengine.com/ 00016 00017 Rune Myrland 00018 rune@skalden.com 00019 */ 00020 00021 00022 #ifndef SoundCentral_hpp 00023 #define SoundCentral_hpp 00024 00025 #include "sim_message.hpp" 00026 #include "../thing/sim_thing.hpp" 00027 00028 00029 namespace se_core { 00030 00032 class _SeCoreExport SoundCentral { 00033 public: 00034 SoundCentral(); 00035 virtual ~SoundCentral(); 00036 00037 void addListener(SoundListener& l); 00038 void removeListener(SoundListener& l); 00039 00040 void sound(Actor& speaker, const char* snd); 00041 void ambience(const char* snd); 00042 00043 void castMusicStopped(); 00044 void castMusicEnded(); 00045 00046 bool isAmbiencePlaying() { return isAmbiencePlaying_; } 00047 void setAmbiencePlaying(bool f) { isAmbiencePlaying_ = f; } 00048 void resetAmbienceHandler() { 00049 ambienceHandler_ = 0; 00050 } 00051 void setAmbienceHandler(const Ambience& handler) { 00052 ambienceHandler_ = &handler; 00053 } 00054 void setAmbienceHandler(const char* name); 00055 00056 private: 00057 static const int MAX_LISTENERS = 10; 00058 SoundListener* listeners[ MAX_LISTENERS ]; 00059 short listenerCount_; 00060 const Ambience* ambienceHandler_; 00061 bool isAmbiencePlaying_; 00062 }; 00063 00064 } 00065 00066 #endif
Home Page | SagaEngine trunk (updated nightly) reference generated Sun Dec 2 20:06:11 2007 by Doxygen version 1.3.9.1.