diff options
Diffstat (limited to 'intern/audaspace/intern/AUD_SequencerFactory.h')
-rw-r--r-- | intern/audaspace/intern/AUD_SequencerFactory.h | 62 |
1 files changed, 13 insertions, 49 deletions
diff --git a/intern/audaspace/intern/AUD_SequencerFactory.h b/intern/audaspace/intern/AUD_SequencerFactory.h index 38241112020..3ef847d4b34 100644 --- a/intern/audaspace/intern/AUD_SequencerFactory.h +++ b/intern/audaspace/intern/AUD_SequencerFactory.h @@ -32,6 +32,8 @@ #include "AUD_IFactory.h" #include "AUD_AnimateableProperty.h" +//#include "AUD_ILockable.h" +#include "AUD_Sequencer.h" #include <list> #include <pthread.h> @@ -41,51 +43,12 @@ class AUD_SequencerEntry; /** * This factory represents sequenced entries to play a sound scene. */ -class AUD_SequencerFactory : public AUD_IFactory +class AUD_SequencerFactory : public AUD_IFactory//, public AUD_ILockable { friend class AUD_SequencerReader; private: - /// The target specification. - AUD_Specs m_specs; - - /// The status of the factory. 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<AUD_Reference<AUD_SequencerEntry> > 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. - AUD_DistanceModel m_distance_model; - - /// The animated volume. - AUD_AnimateableProperty m_volume; - - /// The animated listener location. - AUD_AnimateableProperty m_location; - - /// The animated listener orientation. - AUD_AnimateableProperty m_orientation; - - /// The mutex for locking. - pthread_mutex_t m_mutex; + /// The sequence. + boost::shared_ptr<AUD_Sequencer> m_sequence; // hide copy constructor and operator= AUD_SequencerFactory(const AUD_SequencerFactory&); @@ -99,17 +62,18 @@ public: * \param muted Whether the whole scene is muted. */ AUD_SequencerFactory(AUD_Specs specs, float fps, bool muted); - ~AUD_SequencerFactory(); +#if 0 /** * Locks the factory. */ - void lock(); + virtual void lock(); /** * Unlocks the previously locked factory. */ - void unlock(); + virtual void unlock(); +#endif /** * Sets the audio output specification. @@ -193,21 +157,21 @@ public: * \param skip How much seconds should be skipped at the beginning. * \return The entry added. */ - AUD_Reference<AUD_SequencerEntry> add(AUD_Reference<AUD_IFactory> sound, float begin, float end, float skip); + boost::shared_ptr<AUD_SequencerEntry> add(boost::shared_ptr<AUD_IFactory> sound, float begin, float end, float skip); /** * Removes an entry from the scene. * \param entry The entry to remove. */ - void remove(AUD_Reference<AUD_SequencerEntry> entry); + void remove(boost::shared_ptr<AUD_SequencerEntry> entry); /** * Creates a new reader with high quality resampling. * \return The new reader. */ - AUD_Reference<AUD_IReader> createQualityReader(); + boost::shared_ptr<AUD_IReader> createQualityReader(); - virtual AUD_Reference<AUD_IReader> createReader(); + virtual boost::shared_ptr<AUD_IReader> createReader(); }; #endif //__AUD_SEQUENCERFACTORY_H__ |