Changeset 4883 in orxonox.OLD for orxonox/branches/weaponSystem/src/lib/sound
- Timestamp:
- Jul 17, 2005, 4:02:36 PM (19 years ago)
- Location:
- orxonox/branches/weaponSystem/src/lib/sound
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/branches/weaponSystem/src/lib/sound/sound_engine.cc
r4880 r4883 91 91 * creates a SoundSource at position sourceNode with the SoundBuffer buffer 92 92 */ 93 SoundSource::SoundSource( SoundBuffer* buffer, PNode* sourceNode)93 SoundSource::SoundSource(const PNode* sourceNode, const SoundBuffer* buffer) 94 94 { 95 95 this->setClassID(CL_SOUND_SOURCE, "SoundSource"); … … 106 106 if ((result = alGetError()) != AL_NO_ERROR) 107 107 SoundEngine::PrintALErrorString(result); 108 alSourcei (this->sourceID, AL_BUFFER, this->buffer->getID()); 108 if (this->buffer != NULL) 109 alSourcei (this->sourceID, AL_BUFFER, this->buffer->getID()); 109 110 alSourcef (this->sourceID, AL_PITCH, 1.0 ); 110 111 alSourcef (this->sourceID, AL_GAIN, 1.0 ); … … 127 128 { 128 129 alSourcePlay(this->sourceID); 130 } 131 132 /** 133 * Plays back buffer on this Source 134 * @param buffer the buffer to play back on this Source 135 */ 136 void SoundSource::play(const SoundBuffer* buffer) 137 { 138 alSourcei (this->sourceID, AL_BUFFER, buffer->getID()); 139 alSourcePlay(this->sourceID); 140 // printf("playing sound\n"); 129 141 } 130 142 … … 229 241 SoundSource* SoundEngine::createSource(const char* fileName, PNode* sourceNode) 230 242 { 231 return new SoundSource( (SoundBuffer*)ResourceManager::getInstance()->load(fileName, WAV, RP_LEVEL), sourceNode);243 return new SoundSource(sourceNode, (SoundBuffer*)ResourceManager::getInstance()->load(fileName, WAV, RP_LEVEL)); 232 244 } 233 245 -
orxonox/branches/weaponSystem/src/lib/sound/sound_engine.h
r4878 r4883 27 27 28 28 /** @returns the ID of the buffer used in this SoundBuffer */ 29 inline ALuint getID() { return this->bufferID; }29 inline ALuint getID() const { return this->bufferID; } 30 30 31 31 private: … … 37 37 38 38 //! A class that represents a SoundSource 39 /**40 * @todo ability to play back different SoundBuffers on the same SounSource41 */42 39 class SoundSource : public BaseObject 43 40 { 44 41 public: 45 SoundSource( SoundBuffer* buffer, PNode* sourceNode= NULL);42 SoundSource(const PNode* sourceNode = NULL, const SoundBuffer* buffer = NULL); 46 43 ~SoundSource(); 47 44 48 45 // user interaction 49 46 void play(); 47 void play(const SoundBuffer* buffer); 50 48 void stop(); 51 49 void pause(); … … 56 54 inline ALuint getID() const { return this->sourceID; } 57 55 /** @returns the SoundBuffer of this Source */ 58 inline SoundBuffer* getBuffer() const { return this->buffer; }56 inline const SoundBuffer* getBuffer() const { return this->buffer; } 59 57 /** @returns the SourceNode of this Source */ 60 inline PNode* getNode() const { return this->sourceNode;}58 inline const PNode* getNode() const { return this->sourceNode;} 61 59 62 60 void setRolloffFactor(ALfloat rolloffFactor); 63 61 64 62 private: 65 ALuint sourceID; //!< The ID of the Source66 SoundBuffer* buffer; //!< The buffer to play in this source.67 PNode* sourceNode; //!< The SourceNode represente the position/velocity... of this source.63 ALuint sourceID; //!< The ID of the Source 64 const SoundBuffer* buffer; //!< The buffer to play in this source. 65 const PNode* sourceNode; //!< The SourceNode represente the position/velocity... of this source. 68 66 }; 69 67
Note: See TracChangeset
for help on using the changeset viewer.