Sound& Sound::operator =(const Sound& right) { // Here we don't use the copy-and-swap idiom, because it would mess up // the list of sound instances contained in the buffers // Detach the sound instance from the previous buffer (if any) if (myBuffer) { Stop(); myBuffer->DetachSound(this); myBuffer = NULL; } // Copy the sound attributes if (right.myBuffer) SetBuffer(*right.myBuffer); SetLoop(right.GetLoop()); SetPitch(right.GetPitch()); SetVolume(right.GetVolume()); SetPosition(right.GetPosition()); SetRelativeToListener(right.IsRelativeToListener()); SetMinDistance(right.GetMinDistance()); SetAttenuation(right.GetAttenuation()); return *this; }
//////////////////////////////////////////////////////////// /// Make the music's position relative to the listener's /// position, or absolute. /// The default value is false (absolute) //////////////////////////////////////////////////////////// void sfMusic_SetRelativeToListener(sfMusic* music, sfBool Relative) { CSFML_CALL(music, SetRelativeToListener(Relative == sfTrue)); }