diff options
Diffstat (limited to 'extern/audaspace/include/sequence/SequenceData.h')
-rw-r--r-- | extern/audaspace/include/sequence/SequenceData.h | 215 |
1 files changed, 0 insertions, 215 deletions
diff --git a/extern/audaspace/include/sequence/SequenceData.h b/extern/audaspace/include/sequence/SequenceData.h deleted file mode 100644 index b3df0548a4d..00000000000 --- a/extern/audaspace/include/sequence/SequenceData.h +++ /dev/null @@ -1,215 +0,0 @@ -/******************************************************************************* - * Copyright 2009-2016 Jörg Müller - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - ******************************************************************************/ - -#pragma once - -/** - * @file SequenceData.h - * @ingroup sequence - * The SequenceData class. - */ - -#include "respec/Specification.h" -#include "sequence/AnimateableProperty.h" -#include "devices/I3DDevice.h" -#include "util/ILockable.h" - -#include <list> -#include <memory> -#include <mutex> - -AUD_NAMESPACE_BEGIN - -class SequenceEntry; -class ISound; - -/** - * This class represents sequenced entries to play a sound scene. - */ -class AUD_API SequenceData : public ILockable -{ - friend class SequenceReader; -private: - /// The target specification. - Specs m_specs; - - /// The status of the sequence. Changes every time a non-animated parameter changes. - int m_status; - - /// The entry status. Changes every time an entry is removed or added. - int m_entry_status; - - /// The next unused ID for the entries. - int m_id; - - /// The sequenced entries. - std::list<std::shared_ptr<SequenceEntry> > m_entries; - - /// Whether the whole scene is muted. - bool m_muted; - - /// The FPS of the scene. - float m_fps; - - /// Speed of Sound. - float m_speed_of_sound; - - /// Doppler factor. - float m_doppler_factor; - - /// Distance model. - DistanceModel m_distance_model; - - /// The animated volume. - AnimateableProperty m_volume; - - /// The animated listener location. - AnimateableProperty m_location; - - /// The animated listener orientation. - AnimateableProperty m_orientation; - - /// The mutex for locking. - std::recursive_mutex m_mutex; - - // delete copy constructor and operator= - SequenceData(const SequenceData&) = delete; - SequenceData& operator=(const SequenceData&) = delete; - -public: - /** - * Creates a new sound scene. - * \param specs The output audio data specification. - * \param fps The FPS of the scene. - * \param muted Whether the whole scene is muted. - */ - SequenceData(Specs specs, float fps, bool muted); - virtual ~SequenceData(); - - /** - * Locks the sequence. - */ - virtual void lock(); - - /** - * Unlocks the previously locked sequence. - */ - virtual void unlock(); - - /** - * Retrieves the audio output specification. - * \return The specification. - */ - Specs getSpecs(); - - /** - * Sets the audio output specification. - * \param specs The new specification. - */ - void setSpecs(Specs specs); - - /** - * Retrieves the scene's FPS. - * \return The scene's FPS. - */ - float getFPS() const; - - /** - * Sets the scene's FPS. - * \param fps The new FPS. - */ - void setFPS(float fps); - - /** - * Sets the muting state of the scene. - * \param muted Whether the scene is muted. - */ - void mute(bool muted); - - /** - * Retrieves the muting state of the scene. - * \return Whether the scene is muted. - */ - bool isMuted() const; - - /** - * Retrieves the speed of sound. - * This value is needed for doppler effect calculation. - * \return The speed of sound. - */ - float getSpeedOfSound() const; - - /** - * Sets the speed of sound. - * This value is needed for doppler effect calculation. - * \param speed The new speed of sound. - */ - void setSpeedOfSound(float speed); - - /** - * Retrieves the doppler factor. - * This value is a scaling factor for the velocity vectors of sources and - * listener which is used while calculating the doppler effect. - * \return The doppler factor. - */ - float getDopplerFactor() const; - - /** - * Sets the doppler factor. - * This value is a scaling factor for the velocity vectors of sources and - * listener which is used while calculating the doppler effect. - * \param factor The new doppler factor. - */ - void setDopplerFactor(float factor); - - /** - * Retrieves the distance model. - * \return The distance model. - */ - DistanceModel getDistanceModel() const; - - /** - * Sets the distance model. - * \param model distance model. - */ - void setDistanceModel(DistanceModel model); - - /** - * Retrieves one of the animated properties of the sequence. - * \param type Which animated property to retrieve. - * \return A pointer to the animated property, valid as long as the - * sequence is. - */ - AnimateableProperty* getAnimProperty(AnimateablePropertyType type); - - /** - * Adds a new entry to the scene. - * \param sound The sound this entry should play. - * \param begin The start time. - * \param end The end time or a negative value if determined by the sound. - * \param skip How much seconds should be skipped at the beginning. - * \return The entry added. - */ - std::shared_ptr<SequenceEntry> add(std::shared_ptr<ISound> sound, float begin, float end, float skip); - - /** - * Removes an entry from the scene. - * \param entry The entry to remove. - */ - void remove(std::shared_ptr<SequenceEntry> entry); -}; - -AUD_NAMESPACE_END |