diff options
| author | Carl Hetherington <cth@carlh.net> | 2016-04-14 01:01:28 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2016-05-18 11:50:29 +0100 |
| commit | 65b331d32c383f3a9049f29bf03ab3fe3193b31a (patch) | |
| tree | 3b27e0ca60742021094cee889a1c8d1ef4d75f8c /src/lib/audio_content.h | |
| parent | 6dd3777a0074f6f97c7f7286621006a1c14376e8 (diff) | |
Split audio; builds.
Diffstat (limited to 'src/lib/audio_content.h')
| -rw-r--r-- | src/lib/audio_content.h | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/src/lib/audio_content.h b/src/lib/audio_content.h index ac91da595..3aa9678b0 100644 --- a/src/lib/audio_content.h +++ b/src/lib/audio_content.h @@ -24,7 +24,7 @@ #ifndef DCPOMATIC_AUDIO_CONTENT_H #define DCPOMATIC_AUDIO_CONTENT_H -#include "content.h" +#include "content_part.h" #include "audio_stream.h" #include "audio_mapping.h" @@ -40,23 +40,16 @@ public: static int const AUDIO_VIDEO_FRAME_RATE; }; -/** @class AudioContent - * @brief Parent class for content which may contain audio data. - */ -class AudioContent : public virtual Content +class AudioContent : public ContentPart { public: - AudioContent (boost::shared_ptr<const Film>); - AudioContent (boost::shared_ptr<const Film>, DCPTime); - AudioContent (boost::shared_ptr<const Film>, boost::filesystem::path); - AudioContent (boost::shared_ptr<const Film>, cxml::ConstNodePtr); - AudioContent (boost::shared_ptr<const Film>, std::vector<boost::shared_ptr<Content> >); + AudioContent (Content* parent, boost::shared_ptr<const Film>); + AudioContent (Content* parent, boost::shared_ptr<const Film>, cxml::ConstNodePtr); + AudioContent (Content* parent, boost::shared_ptr<const Film>, std::vector<boost::shared_ptr<Content> >); void as_xml (xmlpp::Node *) const; std::string technical_summary () const; - virtual std::vector<AudioStreamPtr> audio_streams () const = 0; - AudioMapping audio_mapping () const; void set_audio_mapping (AudioMapping); int resampled_audio_frame_rate () const; @@ -81,16 +74,26 @@ public: std::string processing_description () const; -protected: + std::vector<AudioStreamPtr> streams () const { + boost::mutex::scoped_lock lm (_mutex); + return _streams; + } + + void add_stream (AudioStreamPtr stream); + void set_stream (AudioStreamPtr stream); + void set_streams (std::vector<AudioStreamPtr> streams); + AudioStreamPtr stream () const; void add_properties (std::list<UserProperty> &) const; private: + /** Gain to apply to audio in dB */ double _audio_gain; /** Delay to apply to audio (positive moves audio later) in milliseconds */ int _audio_delay; boost::optional<double> _audio_video_frame_rate; + std::vector<AudioStreamPtr> _streams; }; #endif |
