diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-12-13 10:06:18 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-12-13 10:06:18 +0000 |
| commit | 097a1fb413bbbb89182161d4c1a31daa5419ec96 (patch) | |
| tree | 87d6ed5b14e7554b26f565380b69528ab3ec10ec /src | |
| parent | ea910e250a0fb3b0ad3ce0cf32dd27b24c17cd1d (diff) | |
Time -> DCPTime.
Diffstat (limited to 'src')
48 files changed, 232 insertions, 231 deletions
diff --git a/src/lib/analyse_audio_job.cc b/src/lib/analyse_audio_job.cc index 8186f9de4..3f84bf16d 100644 --- a/src/lib/analyse_audio_job.cc +++ b/src/lib/analyse_audio_job.cc @@ -81,7 +81,7 @@ AnalyseAudioJob::run () } void -AnalyseAudioJob::audio (shared_ptr<const AudioBuffers> b, Time) +AnalyseAudioJob::audio (shared_ptr<const AudioBuffers> b, DCPTime) { for (int i = 0; i < b->frames(); ++i) { for (int j = 0; j < b->channels(); ++j) { diff --git a/src/lib/analyse_audio_job.h b/src/lib/analyse_audio_job.h index 3d4881983..2e93ef500 100644 --- a/src/lib/analyse_audio_job.h +++ b/src/lib/analyse_audio_job.h @@ -33,7 +33,7 @@ public: void run (); private: - void audio (boost::shared_ptr<const AudioBuffers>, Time); + void audio (boost::shared_ptr<const AudioBuffers>, DCPTime); boost::weak_ptr<AudioContent> _content; OutputAudioFrame _done; diff --git a/src/lib/audio_content.cc b/src/lib/audio_content.cc index 0c4586681..de743571b 100644 --- a/src/lib/audio_content.cc +++ b/src/lib/audio_content.cc @@ -39,7 +39,7 @@ int const AudioContentProperty::AUDIO_GAIN = 203; int const AudioContentProperty::AUDIO_DELAY = 204; int const AudioContentProperty::AUDIO_MAPPING = 205; -AudioContent::AudioContent (shared_ptr<const Film> f, Time s) +AudioContent::AudioContent (shared_ptr<const Film> f, DCPTime s) : Content (f, s) , _audio_gain (0) , _audio_delay (0) @@ -157,7 +157,7 @@ AudioContent::technical_summary () const * the `controlling' video content is active. */ AudioContent::Frame -AudioContent::time_to_content_audio_frames (Time t, Time at) const +AudioContent::time_to_content_audio_frames (DCPTime t, DCPTime at) const { shared_ptr<const Film> film = _film.lock (); assert (film); diff --git a/src/lib/audio_content.h b/src/lib/audio_content.h index 10114e10d..e1b38bd97 100644 --- a/src/lib/audio_content.h +++ b/src/lib/audio_content.h @@ -43,7 +43,7 @@ class AudioContent : public virtual Content public: typedef int64_t Frame; - AudioContent (boost::shared_ptr<const Film>, Time); + AudioContent (boost::shared_ptr<const Film>, DCPTime); AudioContent (boost::shared_ptr<const Film>, boost::filesystem::path); AudioContent (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>); AudioContent (boost::shared_ptr<const Film>, std::vector<boost::shared_ptr<Content> >); @@ -74,7 +74,7 @@ public: return _audio_delay; } - Frame time_to_content_audio_frames (Time, Time) const; + Frame time_to_content_audio_frames (DCPTime, DCPTime) const; private: /** Gain to apply to audio in dB */ diff --git a/src/lib/audio_merger.h b/src/lib/audio_merger.h index 6ad33fb37..2a1cc761b 100644 --- a/src/lib/audio_merger.h +++ b/src/lib/audio_merger.h @@ -102,7 +102,7 @@ public: } void - clear (Time t) + clear (DCPTime t) { _last_pull = t; _buffers.reset (new AudioBuffers (_buffers->channels(), 0)); diff --git a/src/lib/content.cc b/src/lib/content.cc index f09012765..7db349617 100644 --- a/src/lib/content.cc +++ b/src/lib/content.cc @@ -54,7 +54,7 @@ Content::Content (shared_ptr<const Film> f) } -Content::Content (shared_ptr<const Film> f, Time p) +Content::Content (shared_ptr<const Film> f, DCPTime p) : _film (f) , _position (p) , _trim_start (0) @@ -83,9 +83,9 @@ Content::Content (shared_ptr<const Film> f, shared_ptr<const cxml::Node> node) _paths.push_back ((*i)->content ()); } _digest = node->string_child ("Digest"); - _position = node->number_child<Time> ("Position"); - _trim_start = node->number_child<Time> ("TrimStart"); - _trim_end = node->number_child<Time> ("TrimEnd"); + _position = node->number_child<DCPTime> ("Position"); + _trim_start = node->number_child<DCPTime> ("TrimStart"); + _trim_end = node->number_child<DCPTime> ("TrimEnd"); } Content::Content (shared_ptr<const Film> f, vector<shared_ptr<Content> > c) @@ -146,7 +146,7 @@ Content::signal_changed (int p) } void -Content::set_position (Time p) +Content::set_position (DCPTime p) { { boost::mutex::scoped_lock lm (_mutex); @@ -157,7 +157,7 @@ Content::set_position (Time p) } void -Content::set_trim_start (Time t) +Content::set_trim_start (DCPTime t) { { boost::mutex::scoped_lock lm (_mutex); @@ -168,7 +168,7 @@ Content::set_trim_start (Time t) } void -Content::set_trim_end (Time t) +Content::set_trim_end (DCPTime t) { { boost::mutex::scoped_lock lm (_mutex); @@ -200,7 +200,7 @@ Content::technical_summary () const return String::compose ("%1 %2 %3", path_summary(), digest(), position()); } -Time +DCPTime Content::length_after_trim () const { return full_length() - trim_start() - trim_end(); @@ -210,7 +210,7 @@ Content::length_after_trim () const * @return true if this time is trimmed by our trim settings. */ bool -Content::trimmed (Time t) const +Content::trimmed (DCPTime t) const { return (t < trim_start() || t > (full_length() - trim_end ())); } diff --git a/src/lib/content.h b/src/lib/content.h index 9cf6d866a..1eee02e01 100644 --- a/src/lib/content.h +++ b/src/lib/content.h @@ -49,7 +49,7 @@ class Content : public boost::enable_shared_from_this<Content>, public boost::no { public: Content (boost::shared_ptr<const Film>); - Content (boost::shared_ptr<const Film>, Time); + Content (boost::shared_ptr<const Film>, DCPTime); Content (boost::shared_ptr<const Film>, boost::filesystem::path); Content (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>); Content (boost::shared_ptr<const Film>, std::vector<boost::shared_ptr<Content> >); @@ -60,7 +60,7 @@ public: virtual std::string technical_summary () const; virtual std::string information () const = 0; virtual void as_xml (xmlpp::Node *) const; - virtual Time full_length () const = 0; + virtual DCPTime full_length () const = 0; virtual std::string identifier () const; boost::shared_ptr<Content> clone () const; @@ -92,41 +92,41 @@ public: return _digest; } - void set_position (Time); + void set_position (DCPTime); - /** Time that this content starts; i.e. the time that the first + /** DCPTime that this content starts; i.e. the time that the first * bit of the content (trimmed or not) will happen. */ - Time position () const { + DCPTime position () const { boost::mutex::scoped_lock lm (_mutex); return _position; } - void set_trim_start (Time); + void set_trim_start (DCPTime); - Time trim_start () const { + DCPTime trim_start () const { boost::mutex::scoped_lock lm (_mutex); return _trim_start; } - void set_trim_end (Time); + void set_trim_end (DCPTime); - Time trim_end () const { + DCPTime trim_end () const { boost::mutex::scoped_lock lm (_mutex); return _trim_end; } - Time end () const { + DCPTime end () const { return position() + length_after_trim() - 1; } - Time length_after_trim () const; + DCPTime length_after_trim () const; void set_change_signals_frequent (bool f) { _change_signals_frequent = f; } - bool trimmed (Time) const; + bool trimmed (DCPTime) const; boost::signals2::signal<void (boost::weak_ptr<Content>, int, bool)> Changed; @@ -145,9 +145,9 @@ protected: private: std::string _digest; - Time _position; - Time _trim_start; - Time _trim_end; + DCPTime _position; + DCPTime _trim_start; + DCPTime _trim_end; bool _change_signals_frequent; }; diff --git a/src/lib/decoder.h b/src/lib/decoder.h index 908d3aae5..aa36d41b4 100644 --- a/src/lib/decoder.h +++ b/src/lib/decoder.h @@ -50,7 +50,7 @@ public: * time. Pass accurate = true to try harder to get close to * the request. */ - virtual void seek (Time time, bool accurate) = 0; + virtual void seek (DCPTime time, bool accurate) = 0; virtual bool done () const = 0; diff --git a/src/lib/ffmpeg_content.cc b/src/lib/ffmpeg_content.cc index b6df2e929..65a8d24f1 100644 --- a/src/lib/ffmpeg_content.cc +++ b/src/lib/ffmpeg_content.cc @@ -445,7 +445,7 @@ FFmpegSubtitleStream::as_xml (xmlpp::Node* root) const FFmpegStream::as_xml (root); } -Time +DCPTime FFmpegContent::full_length () const { shared_ptr<const Film> film = _film.lock (); diff --git a/src/lib/ffmpeg_content.h b/src/lib/ffmpeg_content.h index 7ff159b85..ba73c0f9b 100644 --- a/src/lib/ffmpeg_content.h +++ b/src/lib/ffmpeg_content.h @@ -134,7 +134,7 @@ public: std::string technical_summary () const; std::string information () const; void as_xml (xmlpp::Node *) const; - Time full_length () const; + DCPTime full_length () const; std::string identifier () const; diff --git a/src/lib/ffmpeg_decoder.cc b/src/lib/ffmpeg_decoder.cc index ed0574c61..2cb18c557 100644 --- a/src/lib/ffmpeg_decoder.cc +++ b/src/lib/ffmpeg_decoder.cc @@ -351,7 +351,7 @@ FFmpegDecoder::minimal_run (boost::function<bool (int)> finished) } bool -FFmpegDecoder::seek_overrun_finished (Time seek) const +FFmpegDecoder::seek_overrun_finished (DCPTime seek) const { return ( _video_position >= _ffmpeg_content->time_to_content_video_frames (seek) || @@ -366,7 +366,7 @@ FFmpegDecoder::seek_final_finished (int n, int done) const } void -FFmpegDecoder::seek_and_flush (Time t) +FFmpegDecoder::seek_and_flush (DCPTime t) { int64_t const initial_v = ((_ffmpeg_content->time_to_content_video_frames (t) / _ffmpeg_content->video_frame_rate()) - _video_pts_offset) / av_q2d (_format_context->streams[_video_stream]->time_base); @@ -394,15 +394,15 @@ FFmpegDecoder::seek_and_flush (Time t) } void -FFmpegDecoder::seek (Time time, bool accurate) +FFmpegDecoder::seek (DCPTime time, bool accurate) { /* If we are doing an accurate seek, our initial shot will be 200ms (200 being a number plucked from the air) earlier than we want to end up. The loop below will hopefully then step through to where we want to be. */ - Time pre_roll = accurate ? (0.2 * TIME_HZ) : 0; - Time initial_seek = time - pre_roll; + DCPTime pre_roll = accurate ? (0.2 * TIME_HZ) : 0; + DCPTime initial_seek = time - pre_roll; if (initial_seek < 0) { initial_seek = 0; } @@ -625,8 +625,8 @@ FFmpegDecoder::decode_subtitle_packet () double const packet_time = static_cast<double> (sub.pts) / AV_TIME_BASE; /* hence start time for this sub */ - Time const from = (packet_time + (double (sub.start_display_time) / 1e3)) * TIME_HZ; - Time const to = (packet_time + (double (sub.end_display_time) / 1e3)) * TIME_HZ; + DCPTime const from = (packet_time + (double (sub.start_display_time) / 1e3)) * TIME_HZ; + DCPTime const to = (packet_time + (double (sub.end_display_time) / 1e3)) * TIME_HZ; AVSubtitleRect const * rect = sub.rects[0]; diff --git a/src/lib/ffmpeg_decoder.h b/src/lib/ffmpeg_decoder.h index f54ee2496..06e0ef8a5 100644 --- a/src/lib/ffmpeg_decoder.h +++ b/src/lib/ffmpeg_decoder.h @@ -52,7 +52,7 @@ public: ~FFmpegDecoder (); void pass (); - void seek (Time time, bool); + void seek (DCPTime time, bool); bool done () const; private: @@ -74,7 +74,7 @@ private: void maybe_add_subtitle (); boost::shared_ptr<AudioBuffers> deinterleave_audio (uint8_t** data, int size); - bool seek_overrun_finished (Time) const; + bool seek_overrun_finished (DCPTime) const; bool seek_final_finished (int, int) const; int minimal_run (boost::function<bool (int)>); void seek_and_flush (int64_t); diff --git a/src/lib/film.cc b/src/lib/film.cc index b61991a45..8e93667d5 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -842,7 +842,7 @@ Film::move_content_later (shared_ptr<Content> c) _playlist->move_later (c); } -Time +DCPTime Film::length () const { return _playlist->length (); @@ -867,7 +867,7 @@ Film::content_paths_valid () const } FrameRateChange -Film::active_frame_rate_change (Time t) const +Film::active_frame_rate_change (DCPTime t) const { return _playlist->active_frame_rate_change (t, video_frame_rate ()); } @@ -891,24 +891,24 @@ Film::playlist_changed () } OutputAudioFrame -Film::time_to_audio_frames (Time t) const +Film::time_to_audio_frames (DCPTime t) const { return t * audio_frame_rate () / TIME_HZ; } OutputVideoFrame -Film::time_to_video_frames (Time t) const +Film::time_to_video_frames (DCPTime t) const { return t * video_frame_rate () / TIME_HZ; } -Time +DCPTime Film::audio_frames_to_time (OutputAudioFrame f) const { return f * TIME_HZ / audio_frame_rate (); } -Time +DCPTime Film::video_frames_to_time (OutputVideoFrame f) const { return f * TIME_HZ / video_frame_rate (); diff --git a/src/lib/film.h b/src/lib/film.h index 6573bd5b7..a0ace9981 100644 --- a/src/lib/film.h +++ b/src/lib/film.h @@ -103,19 +103,19 @@ public: OutputAudioFrame audio_frame_rate () const; - OutputAudioFrame time_to_audio_frames (Time) const; - OutputVideoFrame time_to_video_frames (Time) const; - Time video_frames_to_time (OutputVideoFrame) const; - Time audio_frames_to_time (OutputAudioFrame) const; + OutputAudioFrame time_to_audio_frames (DCPTime) const; + OutputVideoFrame time_to_video_frames (DCPTime) const; + DCPTime video_frames_to_time (OutputVideoFrame) const; + DCPTime audio_frames_to_time (OutputAudioFrame) const; /* Proxies for some Playlist methods */ ContentList content () const; - Time length () const; + DCPTime length () const; bool has_subtitles () const; OutputVideoFrame best_video_frame_rate () const; bool content_paths_valid () const; - FrameRateChange active_frame_rate_change (Time) const; + FrameRateChange active_frame_rate_change (DCPTime) const; libdcp::KDM make_kdm ( diff --git a/src/lib/image_content.cc b/src/lib/image_content.cc index 8eba33f3a..0f9526071 100644 --- a/src/lib/image_content.cc +++ b/src/lib/image_content.cc @@ -120,7 +120,7 @@ ImageContent::set_video_length (VideoContent::Frame len) signal_changed (ContentProperty::LENGTH); } -Time +DCPTime ImageContent::full_length () const { shared_ptr<const Film> film = _film.lock (); diff --git a/src/lib/image_content.h b/src/lib/image_content.h index 47c5a20e3..88c178faa 100644 --- a/src/lib/image_content.h +++ b/src/lib/image_content.h @@ -41,7 +41,7 @@ public: std::string summary () const; std::string technical_summary () const; void as_xml (xmlpp::Node *) const; - Time full_length () const; + DCPTime full_length () const; std::string identifier () const; diff --git a/src/lib/image_decoder.cc b/src/lib/image_decoder.cc index bf3bc344b..723690247 100644 --- a/src/lib/image_decoder.cc +++ b/src/lib/image_decoder.cc @@ -77,7 +77,7 @@ ImageDecoder::pass () } void -ImageDecoder::seek (Time time, bool) +ImageDecoder::seek (DCPTime time, bool) { _video_position = _video_content->time_to_content_video_frames (time); } diff --git a/src/lib/image_decoder.h b/src/lib/image_decoder.h index 1f5f0b9d2..346fffdf7 100644 --- a/src/lib/image_decoder.h +++ b/src/lib/image_decoder.h @@ -37,7 +37,7 @@ public: /* Decoder */ void pass (); - void seek (Time, bool); + void seek (DCPTime, bool); bool done () const; private: diff --git a/src/lib/job.cc b/src/lib/job.cc index 9981934ec..05a90524c 100644 --- a/src/lib/job.cc +++ b/src/lib/job.cc @@ -198,7 +198,7 @@ Job::set_state (State s) } } -/** @return Time (in seconds) that this sub-job has been running */ +/** @return DCPTime (in seconds) that this sub-job has been running */ int Job::elapsed_time () const { diff --git a/src/lib/player.cc b/src/lib/player.cc index 184c9811f..be22ae242 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -100,10 +100,10 @@ public: shared_ptr<Content> content; shared_ptr<Decoder> decoder; - /** Time of the last video we emitted relative to the start of the DCP */ - Time video_position; - /** Time of the last audio we emitted relative to the start of the DCP */ - Time audio_position; + /** DCPTime of the last video we emitted relative to the start of the DCP */ + DCPTime video_position; + /** DCPTime of the last audio we emitted relative to the start of the DCP */ + DCPTime audio_position; IncomingVideo repeat_video; int repeat_to_do; @@ -146,7 +146,7 @@ Player::pass () setup_pieces (); } - Time earliest_t = TIME_MAX; + DCPTime earliest_t = TIME_MAX; shared_ptr<Piece> earliest; enum { VIDEO, @@ -218,7 +218,7 @@ Player::pass () } if (_audio) { - boost::optional<Time> audio_done_up_to; + boost::optional<DCPTime> audio_done_up_to; for (list<shared_ptr<Piece> >::iterator i = _pieces.begin(); i != _pieces.end(); ++i) { if ((*i)->decoder->done ()) { continue; @@ -230,7 +230,7 @@ Player::pass () } if (audio_done_up_to) { - TimedAudioBuffers<Time> tb = _audio_merger.pull (audio_done_up_to.get ()); + TimedAudioBuffers<DCPTime> tb = _audio_merger.pull (audio_done_up_to.get ()); Audio (tb.audio, tb.time); _audio_position += _film->audio_frames_to_time (tb.audio->frames ()); } @@ -241,7 +241,7 @@ Player::pass () /** @param extra Amount of extra time to add to the content frame's time (for repeat) */ void -Player::process_video (weak_ptr<Piece> weak_piece, shared_ptr<const Image> image, Eyes eyes, bool same, VideoContent::Frame frame, Time extra) +Player::process_video (weak_ptr<Piece> weak_piece, shared_ptr<const Image> image, Eyes eyes, bool same, VideoContent::Frame frame, DCPTime extra) { /* Keep a note of what came in so that we can repeat it if required */ _last_incoming_video.weak_piece = weak_piece; @@ -264,12 +264,12 @@ Player::process_video (weak_ptr<Piece> weak_piece, shared_ptr<const Image> image return; } - Time const relative_time = (frame * frc.factor() * TIME_HZ / _film->video_frame_rate()); + DCPTime const relative_time = (frame * frc.factor() * TIME_HZ / _film->video_frame_rate()); if (content->trimmed (relative_time)) { return; } - Time const time = content->position() + relative_time + extra - content->trim_start (); + DCPTime const time = content->position() + relative_time + extra - content->trim_start (); float const ratio = content->ratio() ? content->ratio()->ratio() : content->video_size_after_crop().ratio(); libdcp::Size const image_size = fit_ratio_within (ratio, _video_container_size); @@ -333,13 +333,13 @@ Player::process_audio (weak_ptr<Piece> weak_piece, shared_ptr<const AudioBuffers frame = ro.second; } - Time const relative_time = _film->audio_frames_to_time (frame); + DCPTime const relative_time = _film->audio_frames_to_time (frame); if (content->trimmed (relative_time)) { return; } - Time time = content->position() + (content->audio_delay() * TIME_HZ / 1000) + relative_time - content->trim_start (); + DCPTime time = content->position() + (content->audio_delay() * TIME_HZ / 1000) + relative_time - content->trim_start (); /* Remap channels */ shared_ptr<AudioBuffers> dcp_mapped (new AudioBuffers (_film->audio_channels(), audio->frames())); @@ -374,7 +374,7 @@ Player::process_audio (weak_ptr<Piece> weak_piece, shared_ptr<const AudioBuffers void Player::flush () { - TimedAudioBuffers<Time> tb = _audio_merger.flush (); + TimedAudioBuffers<DCPTime> tb = _audio_merger.flush (); if (tb.audio) { Audio (tb.audio, tb.time); _audio_position += _film->audio_frames_to_time (tb.audio->frames ()); @@ -395,7 +395,7 @@ Player::flush () * @return true on error */ void -Player::seek (Time t, bool accurate) +Player::seek (DCPTime t, bool accurate) { if (!_have_valid_pieces) { setup_pieces (); @@ -412,8 +412,8 @@ Player::seek (Time t, bool accurate) } /* s is the offset of t from the start position of this content */ - Time s = t - vc->position (); - s = max (static_cast<Time> (0), s); + DCPTime s = t - vc->position (); + s = max (static_cast<DCPTime> (0), s); s = min (vc->length_after_trim(), s); /* Hence set the piece positions to the `global' time */ @@ -613,7 +613,7 @@ Player::film_changed (Film::Property p) } void -Player::process_subtitle (weak_ptr<Piece> weak_piece, shared_ptr<Image> image, dcpomatic::Rect<double> rect, Time from, Time to) +Player::process_subtitle (weak_ptr<Piece> weak_piece, shared_ptr<Image> image, dcpomatic::Rect<double> rect, DCPTime from, DCPTime to) { _in_subtitle.piece = weak_piece; _in_subtitle.image = image; diff --git a/src/lib/player.h b/src/lib/player.h index 11cc99e77..364d66249 100644 --- a/src/lib/player.h +++ b/src/lib/player.h @@ -50,7 +50,7 @@ public: Eyes eyes; bool same; VideoContent::Frame frame; - Time extra; + DCPTime extra; }; /** A wrapper for an Image which contains some pending operations; these may @@ -84,9 +84,9 @@ public: void disable_audio (); bool pass (); - void seek (Time, bool); + void seek (DCPTime, bool); - Time video_position () const { + DCPTime video_position () const { return _video_position; } @@ -101,10 +101,10 @@ public: * Fourth parameter is true if the image is the same as the last one that was emitted. * Fifth parameter is the time. */ - boost::signals2::signal<void (boost::shared_ptr<PlayerImage>, Eyes, ColourConversion, bool, Time)> Video; + boost::signals2::signal<void (boost::shared_ptr<PlayerImage>, Eyes, ColourConversion, bool, DCPTime)> Video; /** Emitted when some audio data is ready */ - boost::signals2::signal<void (boost::shared_ptr<const AudioBuffers>, Time)> Audio; + boost::signals2::signal<void (boost::shared_ptr<const AudioBuffers>, DCPTime)> Audio; /** Emitted when something has changed such that if we went back and emitted * the last frame again it would look different. This is not emitted after @@ -118,13 +118,13 @@ private: friend class PlayerWrapper; friend class Piece; - void process_video (boost::weak_ptr<Piece>, boost::shared_ptr<const Image>, Eyes, bool, VideoContent::Frame, Time); + void process_video (boost::weak_ptr<Piece>, boost::shared_ptr<const Image>, Eyes, bool, VideoContent::Frame, DCPTime); void process_audio (boost::weak_ptr<Piece>, boost::shared_ptr<const AudioBuffers>, AudioContent::Frame); - void process_subtitle (boost::weak_ptr<Piece>, boost::shared_ptr<Image>, dcpomatic::Rect<double>, Time, Time); + void process_subtitle (boost::weak_ptr<Piece>, boost::shared_ptr<Image>, dcpomatic::Rect<double>, DCPTime, DCPTime); void setup_pieces (); void playlist_changed (); void content_changed (boost::weak_ptr<Content>, int, bool); - void do_seek (Time, bool); + void do_seek (DCPTime, bool); void flush (); void emit_black (); void emit_silence (OutputAudioFrame); @@ -143,11 +143,11 @@ private: std::list<boost::shared_ptr<Piece> > _pieces; /** The time after the last video that we emitted */ - Time _video_position; + DCPTime _video_position; /** The time after the last audio that we emitted */ - Time _audio_position; + DCPTime _audio_position; - AudioMerger<Time, AudioContent::Frame> _audio_merger; + AudioMerger<DCPTime, AudioContent::Frame> _audio_merger; libdcp::Size _video_container_size; boost::shared_ptr<PlayerImage> _black_frame; @@ -157,15 +157,15 @@ private: boost::weak_ptr<Piece> piece; boost::shared_ptr<Image> image; dcpomatic::Rect<double> rect; - Time from; - Time to; + DCPTime from; + DCPTime to; } _in_subtitle; struct { boost::shared_ptr<Image> image; Position<int> position; - Time from; - Time to; + DCPTime from; + DCPTime to; } _out_subtitle; #ifdef DCPOMATIC_DEBUG diff --git a/src/lib/playlist.cc b/src/lib/playlist.cc index 581235adc..9fc62f8be 100644 --- a/src/lib/playlist.cc +++ b/src/lib/playlist.cc @@ -81,7 +81,7 @@ Playlist::maybe_sequence_video () _sequencing_video = true; ContentList cl = _content; - Time next = 0; + DCPTime next = 0; for (ContentList::iterator i = _content.begin(); i != _content.end(); ++i) { if (!dynamic_pointer_cast<VideoContent> (*i)) { continue; @@ -254,10 +254,10 @@ Playlist::best_dcp_frame_rate () const return best->dcp; } -Time +DCPTime Playlist::length () const { - Time len = 0; + DCPTime len = 0; for (ContentList::const_iterator i = _content.begin(); i != _content.end(); ++i) { len = max (len, (*i)->end() + 1); } @@ -279,10 +279,10 @@ Playlist::reconnect () } } -Time +DCPTime Playlist::video_end () const { - Time end = 0; + DCPTime end = 0; for (ContentList::const_iterator i = _content.begin(); i != _content.end(); ++i) { if (dynamic_pointer_cast<const VideoContent> (*i)) { end = max (end, (*i)->end ()); @@ -293,7 +293,7 @@ Playlist::video_end () const } FrameRateChange -Playlist::active_frame_rate_change (Time t, int dcp_video_frame_rate) const +Playlist::active_frame_rate_change (DCPTime t, int dcp_video_frame_rate) const { for (ContentList::const_iterator i = _content.begin(); i != _content.end(); ++i) { shared_ptr<const VideoContent> vc = dynamic_pointer_cast<const VideoContent> (*i); @@ -331,7 +331,7 @@ Playlist::content () const void Playlist::repeat (ContentList c, int n) { - pair<Time, Time> range (TIME_MAX, 0); + pair<DCPTime, DCPTime> range (TIME_MAX, 0); for (ContentList::iterator i = c.begin(); i != c.end(); ++i) { range.first = min (range.first, (*i)->position ()); range.second = max (range.second, (*i)->position ()); @@ -339,7 +339,7 @@ Playlist::repeat (ContentList c, int n) range.second = max (range.second, (*i)->end ()); } - Time pos = range.second; + DCPTime pos = range.second; for (int i = 0; i < n; ++i) { for (ContentList::iterator i = c.begin(); i != c.end(); ++i) { shared_ptr<Content> copy = (*i)->clone (); @@ -372,7 +372,7 @@ Playlist::move_earlier (shared_ptr<Content> c) return; } - Time const p = (*previous)->position (); + DCPTime const p = (*previous)->position (); (*previous)->set_position (p + c->length_after_trim ()); c->set_position (p); sort (_content.begin(), _content.end(), ContentSorter ()); @@ -399,7 +399,7 @@ Playlist::move_later (shared_ptr<Content> c) return; } - Time const p = (*next)->position (); + DCPTime const p = (*next)->position (); (*next)->set_position (c->position ()); c->set_position (p + c->length_after_trim ()); sort (_content.begin(), _content.end(), ContentSorter ()); diff --git a/src/lib/playlist.h b/src/lib/playlist.h index d3cf50a27..a985bf93d 100644 --- a/src/lib/playlist.h +++ b/src/lib/playlist.h @@ -71,11 +71,11 @@ public: std::string video_identifier () const; - Time length () const; + DCPTime length () const; int best_dcp_frame_rate () const; - Time video_end () const; - FrameRateChange active_frame_rate_change (Time, int dcp_frame_rate) const; + DCPTime video_end () const; + FrameRateChange active_frame_rate_change (DCPTime, int dcp_frame_rate) const; void set_sequence_video (bool); void maybe_sequence_video (); diff --git a/src/lib/sndfile_content.cc b/src/lib/sndfile_content.cc index 89db865d5..1c872cf96 100644 --- a/src/lib/sndfile_content.cc +++ b/src/lib/sndfile_content.cc @@ -141,7 +141,7 @@ SndfileContent::as_xml (xmlpp::Node* node) const _audio_mapping.as_xml (node->add_child("AudioMapping")); } -Time +DCPTime SndfileContent::full_length () const { shared_ptr<const Film> film = _film.lock (); diff --git a/src/lib/sndfile_content.h b/src/lib/sndfile_content.h index 701ff16b2..c88764c1b 100644 --- a/src/lib/sndfile_content.h +++ b/src/lib/sndfile_content.h @@ -44,7 +44,7 @@ public: std::string technical_summary () const; std::string information () const; void as_xml (xmlpp::Node *) const; - Time full_length () const; + DCPTime full_length () const; /* AudioContent */ int audio_channels () const { diff --git a/src/lib/sndfile_decoder.cc b/src/lib/sndfile_decoder.cc index 0cca25257..b5a7f139b 100644 --- a/src/lib/sndfile_decoder.cc +++ b/src/lib/sndfile_decoder.cc @@ -120,7 +120,7 @@ SndfileDecoder::done () const } void -SndfileDecoder::seek (Time t, bool accurate) +SndfileDecoder::seek (DCPTime t, bool accurate) { /* XXX */ } diff --git a/src/lib/sndfile_decoder.h b/src/lib/sndfile_decoder.h index c3db1c294..470cab956 100644 --- a/src/lib/sndfile_decoder.h +++ b/src/lib/sndfile_decoder.h @@ -30,7 +30,7 @@ public: ~SndfileDecoder (); void pass (); - void seek (Time, bool); + void seek (DCPTime, bool); bool done () const; int audio_channels () const; diff --git a/src/lib/subtitle_decoder.cc b/src/lib/subtitle_decoder.cc index c06f3d718..8dbc01dc2 100644 --- a/src/lib/subtitle_decoder.cc +++ b/src/lib/subtitle_decoder.cc @@ -33,7 +33,7 @@ SubtitleDecoder::SubtitleDecoder (shared_ptr<const Film> f) * Image may be 0 to say that there is no current subtitle. */ void -SubtitleDecoder::subtitle (shared_ptr<Image> image, dcpomatic::Rect<double> rect, Time from, Time to) +SubtitleDecoder::subtitle (shared_ptr<Image> image, dcpomatic::Rect<double> rect, DCPTime from, DCPTime to) { Subtitle (image, rect, from, to); } diff --git a/src/lib/subtitle_decoder.h b/src/lib/subtitle_decoder.h index eeeadbd3f..8a2a0c1b2 100644 --- a/src/lib/subtitle_decoder.h +++ b/src/lib/subtitle_decoder.h @@ -23,7 +23,7 @@ #include "types.h" class Film; -class TimedSubtitle; +class DCPTimedSubtitle; class Image; class SubtitleDecoder : public virtual Decoder @@ -31,8 +31,8 @@ class SubtitleDecoder : public virtual Decoder public: SubtitleDecoder (boost::shared_ptr<const Film>); - boost::signals2::signal<void (boost::shared_ptr<Image>, dcpomatic::Rect<double>, Time, Time)> Subtitle; + boost::signals2::signal<void (boost::shared_ptr<Image>, dcpomatic::Rect<double>, DCPTime, DCPTime)> Subtitle; protected: - void subtitle (boost::shared_ptr<Image>, dcpomatic::Rect<double>, Time, Time); + void subtitle (boost::shared_ptr<Image>, dcpomatic::Rect<double>, DCPTime, DCPTime); }; diff --git a/src/lib/timer.cc b/src/lib/timer.cc index 69a7e3aa9..a20a08b07 100644 --- a/src/lib/timer.cc +++ b/src/lib/timer.cc @@ -31,14 +31,14 @@ using namespace std; /** @param n Name to use when giving output */ -PeriodTimer::PeriodTimer (string n) +PeriodDCPTimer::PeriodDCPTimer (string n) : _name (n) { gettimeofday (&_start, 0); } -/** Destroy PeriodTimer and output the time elapsed since its construction */ -PeriodTimer::~PeriodTimer () +/** Destroy PeriodDCPTimer and output the time elapsed since its construction */ +PeriodDCPTimer::~PeriodDCPTimer () { struct timeval stop; gettimeofday (&stop, 0); @@ -48,7 +48,7 @@ PeriodTimer::~PeriodTimer () /** @param n Name to use when giving output. * @param s Initial state. */ -StateTimer::StateTimer (string n, string s) +StateDCPTimer::StateDCPTimer (string n, string s) : _name (n) { struct timeval t; @@ -59,7 +59,7 @@ StateTimer::StateTimer (string n, string s) /** @param s New state that the caller is in */ void -StateTimer::set_state (string s) +StateDCPTimer::set_state (string s) { double const last = _time; struct timeval t; @@ -74,8 +74,8 @@ StateTimer::set_state (string s) _state = s; } -/** Destroy StateTimer and generate a summary of the state timings on cout */ -StateTimer::~StateTimer () +/** Destroy StateDCPTimer and generate a summary of the state timings on cout */ +StateDCPTimer::~StateDCPTimer () { if (_state.empty ()) { return; diff --git a/src/lib/timer.h b/src/lib/timer.h index 4a5aa12de..8ec392aa6 100644 --- a/src/lib/timer.h +++ b/src/lib/timer.h @@ -29,16 +29,16 @@ #include <map> #include <sys/time.h> -/** @class PeriodTimer +/** @class PeriodDCPTimer * @brief A class to allow timing of a period within the caller. * * On destruction, it will output the time since its construction. */ -class PeriodTimer +class PeriodDCPTimer { public: - PeriodTimer (std::string n); - ~PeriodTimer (); + PeriodDCPTimer (std::string n); + ~PeriodDCPTimer (); private: @@ -48,19 +48,19 @@ private: struct timeval _start; }; -/** @class StateTimer +/** @class StateDCPTimer * @brief A class to allow measurement of the amount of time a program * spends in one of a set of states. * * Once constructed, the caller can call set_state() whenever - * its state changes. When StateTimer is destroyed, it will + * its state changes. When StateDCPTimer is destroyed, it will * output (to cout) a summary of the time spent in each state. */ -class StateTimer +class StateDCPTimer { public: - StateTimer (std::string n, std::string s); - ~StateTimer (); + StateDCPTimer (std::string n, std::string s); + ~StateDCPTimer (); void set_state (std::string s); diff --git a/src/lib/types.h b/src/lib/types.h index 448b6c154..1ab6a94d4 100644 --- a/src/lib/types.h +++ b/src/lib/types.h @@ -38,9 +38,10 @@ class AudioBuffers; */ #define SERVER_LINK_VERSION 1 -typedef int64_t Time; +typedef int64_t DCPTime; #define TIME_MAX INT64_MAX -#define TIME_HZ ((Time) 96000) +#define TIME_HZ ((DCPTime) 96000) +typedef int64_t ContentTime; typedef int64_t OutputAudioFrame; typedef int OutputVideoFrame; typedef std::vector<boost::shared_ptr<Content> > ContentList; diff --git a/src/lib/video_content.cc b/src/lib/video_content.cc index c61a2455f..ebec8b6db 100644 --- a/src/lib/video_content.cc +++ b/src/lib/video_content.cc @@ -59,7 +59,7 @@ VideoContent::VideoContent (shared_ptr<const Film> f) setup_default_colour_conversion (); } -VideoContent::VideoContent (shared_ptr<const Film> f, Time s, VideoContent::Frame len) +VideoContent::VideoContent (shared_ptr<const Film> f, DCPTime s, VideoContent::Frame len) : Content (f, s) , _video_length (len) , _video_frame_rate (0) @@ -355,7 +355,7 @@ VideoContent::video_size_after_crop () const * is that of the next complete frame which starts after `t'. */ VideoContent::Frame -VideoContent::time_to_content_video_frames (Time t) const +VideoContent::time_to_content_video_frames (DCPTime t) const { shared_ptr<const Film> film = _film.lock (); assert (film); diff --git a/src/lib/video_content.h b/src/lib/video_content.h index effca5c61..f008143fa 100644 --- a/src/lib/video_content.h +++ b/src/lib/video_content.h @@ -43,7 +43,7 @@ public: typedef int Frame; VideoContent (boost::shared_ptr<const Film>); - VideoContent (boost::shared_ptr<const Film>, Time, VideoContent::Frame); + VideoContent (boost::shared_ptr<const Film>, DCPTime, VideoContent::Frame); VideoContent (boost::shared_ptr<const Film>, boost::filesystem::path); VideoContent (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>); VideoContent (boost::shared_ptr<const Film>, std::vector<boost::shared_ptr<Content> >); @@ -123,7 +123,7 @@ public: libdcp::Size video_size_after_3d_split () const; libdcp::Size video_size_after_crop () const; - VideoContent::Frame time_to_content_video_frames (Time) const; + VideoContent::Frame time_to_content_video_frames (DCPTime) const; protected: void take_from_video_examiner (boost::shared_ptr<VideoExaminer>); diff --git a/src/tools/server_test.cc b/src/tools/server_test.cc index f0a44954f..3c40139b8 100644 --- a/src/tools/server_test.cc +++ b/src/tools/server_test.cc @@ -47,7 +47,7 @@ static shared_ptr<FileLog> log_ (new FileLog ("servomatictest.log")); static int frame = 0; void -process_video (shared_ptr<PlayerImage> image, Eyes eyes, ColourConversion conversion, Time) +process_video (shared_ptr<PlayerImage> image, Eyes eyes, ColourConversion conversion, DCPTime) { shared_ptr<DCPVideoFrame> local (new DCPVideoFrame (image->image(), frame, eyes, conversion, film->video_frame_rate(), 250000000, log_)); shared_ptr<DCPVideoFrame> remote (new DCPVideoFrame (image->image(), frame, eyes, conversion, film->video_frame_rate(), 250000000, log_)); diff --git a/src/wx/audio_plot.cc b/src/wx/audio_plot.cc index f78885772..96de34d40 100644 --- a/src/wx/audio_plot.cc +++ b/src/wx/audio_plot.cc @@ -145,7 +145,7 @@ AudioPlot::paint () gc->SetPen (*wxLIGHT_GREY_PEN); gc->StrokePath (grid); - gc->DrawText (_("Time"), data_width, _height - _y_origin + db_label_height / 2); + gc->DrawText (_("DCPTime"), data_width, _height - _y_origin + db_label_height / 2); if (_type_visible[AudioPoint::PEAK]) { for (int c = 0; c < MAX_AUDIO_CHANNELS; ++c) { diff --git a/src/wx/film_editor.cc b/src/wx/film_editor.cc index 564b90d28..14982e0d3 100644 --- a/src/wx/film_editor.cc +++ b/src/wx/film_editor.cc @@ -279,7 +279,7 @@ FilmEditor::make_content_panel () b->Add (_content_earlier, 1, wxEXPAND); _content_later = new wxButton (_content_panel, wxID_DOWN); b->Add (_content_later, 1, wxEXPAND); - _content_timeline = new wxButton (_content_panel, wxID_ANY, _("Timeline...")); + _content_timeline = new wxButton (_content_panel, wxID_ANY, _("DCPTimeline...")); b->Add (_content_timeline, 1, wxEXPAND | wxLEFT | wxRIGHT); s->Add (b, 0, wxALL, 4); @@ -936,7 +936,7 @@ FilmEditor::content_timeline_clicked () _timeline_dialog = 0; } - _timeline_dialog = new TimelineDialog (this, _film); + _timeline_dialog = new DCPTimelineDialog (this, _film); _timeline_dialog->Show (); } diff --git a/src/wx/film_editor.h b/src/wx/film_editor.h index 23c87e678..dadb583ae 100644 --- a/src/wx/film_editor.h +++ b/src/wx/film_editor.h @@ -33,9 +33,9 @@ class wxNotebook; class wxListCtrl; class wxListEvent; class Film; -class TimelineDialog; +class DCPTimelineDialog; class Ratio; -class Timecode; +class DCPTimecode; class FilmEditorPanel; class SubtitleContent; @@ -156,5 +156,5 @@ private: std::vector<Ratio const *> _ratios; bool _generally_sensitive; - TimelineDialog* _timeline_dialog; + DCPTimelineDialog* _timeline_dialog; }; diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc index fbca835c2..cc2f67b15 100644 --- a/src/wx/film_viewer.cc +++ b/src/wx/film_viewer.cc @@ -164,7 +164,7 @@ FilmViewer::timer () fetch_next_frame (); - Time const len = _film->length (); + DCPTime const len = _film->length (); if (len) { int const new_slider_position = 4096 * _player->video_position() / len; @@ -275,7 +275,7 @@ FilmViewer::check_play_state () } void -FilmViewer::process_video (shared_ptr<PlayerImage> image, Eyes eyes, Time t) +FilmViewer::process_video (shared_ptr<PlayerImage> image, Eyes eyes, DCPTime t) { if (eyes == EYES_RIGHT) { return; @@ -288,7 +288,7 @@ FilmViewer::process_video (shared_ptr<PlayerImage> image, Eyes eyes, Time t) } void -FilmViewer::set_position_text (Time t) +FilmViewer::set_position_text (DCPTime t) { if (!_film) { _frame_number->SetLabel ("0"); @@ -371,7 +371,7 @@ FilmViewer::back_clicked () We want to see the one before it, so we need to go back 2. */ - Time p = _player->video_position() - _film->video_frames_to_time (2); + DCPTime p = _player->video_position() - _film->video_frames_to_time (2); if (p < 0) { p = 0; } diff --git a/src/wx/film_viewer.h b/src/wx/film_viewer.h index c99c73440..0e5c49c6d 100644 --- a/src/wx/film_viewer.h +++ b/src/wx/film_viewer.h @@ -59,7 +59,7 @@ private: void slider_moved (); void play_clicked (); void timer (); - void process_video (boost::shared_ptr<PlayerImage>, Eyes, Time); + void process_video (boost::shared_ptr<PlayerImage>, Eyes, DCPTime); void calculate_sizes (); void check_play_state (); void fetch_current_frame_again (); @@ -68,7 +68,7 @@ private: void back_clicked (); void forward_clicked (); void player_changed (bool); - void set_position_text (Time); + void set_position_text (DCPTime); boost::shared_ptr<Film> _film; boost::shared_ptr<Player> _player; diff --git a/src/wx/timecode.cc b/src/wx/timecode.cc index 033bd2bd0..b23ff2a39 100644 --- a/src/wx/timecode.cc +++ b/src/wx/timecode.cc @@ -26,7 +26,7 @@ using std::string; using std::cout; using boost::lexical_cast; -Timecode::Timecode (wxWindow* parent) +DCPTimecode::DCPTimecode (wxWindow* parent) : wxPanel (parent) { wxClientDC dc (parent); @@ -69,11 +69,11 @@ Timecode::Timecode (wxWindow* parent) _fixed = add_label_to_sizer (_sizer, this, wxT ("42"), false); - _hours->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&Timecode::changed, this)); - _minutes->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&Timecode::changed, this)); - _seconds->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&Timecode::changed, this)); - _frames->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&Timecode::changed, this)); - _set_button->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&Timecode::set_clicked, this)); + _hours->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&DCPTimecode::changed, this)); + _minutes->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&DCPTimecode::changed, this)); + _seconds->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&DCPTimecode::changed, this)); + _frames->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&DCPTimecode::changed, this)); + _set_button->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&DCPTimecode::set_clicked, this)); _set_button->Enable (false); @@ -83,7 +83,7 @@ Timecode::Timecode (wxWindow* parent) } void -Timecode::set (Time t, int fps) +DCPTimecode::set (DCPTime t, int fps) { int const h = t / (3600 * TIME_HZ); t -= h * 3600 * TIME_HZ; @@ -101,10 +101,10 @@ Timecode::set (Time t, int fps) _fixed->SetLabel (wxString::Format ("%02d:%02d:%02d.%02d", h, m, s, f)); } -Time -Timecode::get (int fps) const +DCPTime +DCPTimecode::get (int fps) const { - Time t = 0; + DCPTime t = 0; string const h = wx_to_std (_hours->GetValue ()); t += lexical_cast<int> (h.empty() ? "0" : h) * 3600 * TIME_HZ; string const m = wx_to_std (_minutes->GetValue()); @@ -118,20 +118,20 @@ Timecode::get (int fps) const } void -Timecode::changed () +DCPTimecode::changed () { _set_button->Enable (true); } void -Timecode::set_clicked () +DCPTimecode::set_clicked () { Changed (); _set_button->Enable (false); } void -Timecode::set_editable (bool e) +DCPTimecode::set_editable (bool e) { _editable->Show (e); _fixed->Show (!e); diff --git a/src/wx/timecode.h b/src/wx/timecode.h index 5b094e39f..6a8bf03df 100644 --- a/src/wx/timecode.h +++ b/src/wx/timecode.h @@ -21,13 +21,13 @@ #include <wx/wx.h> #include "lib/types.h" -class Timecode : public wxPanel +class DCPTimecode : public wxPanel { public: - Timecode (wxWindow *); + DCPTimecode (wxWindow *); - void set (Time, int); - Time get (int) const; + void set (DCPTime, int); + DCPTime get (int) const; void set_editable (bool); diff --git a/src/wx/timeline.cc b/src/wx/timeline.cc index 0ac9a1d4b..9d2aee76c 100644 --- a/src/wx/timeline.cc +++ b/src/wx/timeline.cc @@ -39,7 +39,7 @@ using boost::optional; class View : public boost::noncopyable { public: - View (Timeline& t) + View (DCPTimeline& t) : _timeline (t) { @@ -64,12 +64,12 @@ public: protected: virtual void do_paint (wxGraphicsContext *) = 0; - int time_x (Time t) const + int time_x (DCPTime t) const { return _timeline.tracks_position().x + t * _timeline.pixels_per_time_unit(); } - Timeline& _timeline; + DCPTimeline& _timeline; private: dcpomatic::Rect<int> _last_paint_bbox; @@ -80,7 +80,7 @@ private: class ContentView : public View { public: - ContentView (Timeline& tl, shared_ptr<Content> c) + ContentView (DCPTimeline& tl, shared_ptr<Content> c) : View (tl) , _content (c) , _track (0) @@ -139,8 +139,8 @@ private: return; } - Time const position = cont->position (); - Time const len = cont->length_after_trim (); + DCPTime const position = cont->position (); + DCPTime const len = cont->length_after_trim (); wxColour selected (colour().Red() / 2, colour().Green() / 2, colour().Blue() / 2); @@ -203,7 +203,7 @@ private: class AudioContentView : public ContentView { public: - AudioContentView (Timeline& tl, shared_ptr<Content> c) + AudioContentView (DCPTimeline& tl, shared_ptr<Content> c) : ContentView (tl, c) {} @@ -222,7 +222,7 @@ private: class VideoContentView : public ContentView { public: - VideoContentView (Timeline& tl, shared_ptr<Content> c) + VideoContentView (DCPTimeline& tl, shared_ptr<Content> c) : ContentView (tl, c) {} @@ -243,10 +243,10 @@ private: } }; -class TimeAxisView : public View +class DCPTimeAxisView : public View { public: - TimeAxisView (Timeline& tl, int y) + DCPTimeAxisView (DCPTimeline& tl, int y) : View (tl) , _y (y) {} @@ -291,7 +291,7 @@ private: path.AddLineToPoint (_timeline.width(), _y); gc->StrokePath (path); - Time t = 0; + DCPTime t = 0; while ((t * _timeline.pixels_per_time_unit()) < _timeline.width()) { wxGraphicsPath path = gc->CreatePath (); path.MoveToPoint (time_x (t), _y - 4); @@ -326,11 +326,11 @@ private: }; -Timeline::Timeline (wxWindow* parent, FilmEditor* ed, shared_ptr<Film> film) +DCPTimeline::DCPTimeline (wxWindow* parent, FilmEditor* ed, shared_ptr<Film> film) : wxPanel (parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxFULL_REPAINT_ON_RESIZE) , _film_editor (ed) , _film (film) - , _time_axis_view (new TimeAxisView (*this, 32)) + , _time_axis_view (new DCPTimeAxisView (*this, 32)) , _tracks (0) , _pixels_per_time_unit (0) , _left_down (false) @@ -343,22 +343,22 @@ Timeline::Timeline (wxWindow* parent, FilmEditor* ed, shared_ptr<Film> film) SetDoubleBuffered (true); #endif - Bind (wxEVT_PAINT, boost::bind (&Timeline::paint, this)); - Bind (wxEVT_LEFT_DOWN, boost::bind (&Timeline::left_down, this, _1)); - Bind (wxEVT_LEFT_UP, boost::bind (&Timeline::left_up, this, _1)); - Bind (wxEVT_RIGHT_DOWN, boost::bind (&Timeline::right_down, this, _1)); - Bind (wxEVT_MOTION, boost::bind (&Timeline::mouse_moved, this, _1)); - Bind (wxEVT_SIZE, boost::bind (&Timeline::resized, this)); + Bind (wxEVT_PAINT, boost::bind (&DCPTimeline::paint, this)); + Bind (wxEVT_LEFT_DOWN, boost::bind (&DCPTimeline::left_down, this, _1)); + Bind (wxEVT_LEFT_UP, boost::bind (&DCPTimeline::left_up, this, _1)); + Bind (wxEVT_RIGHT_DOWN, boost::bind (&DCPTimeline::right_down, this, _1)); + Bind (wxEVT_MOTION, boost::bind (&DCPTimeline::mouse_moved, this, _1)); + Bind (wxEVT_SIZE, boost::bind (&DCPTimeline::resized, this)); playlist_changed (); SetMinSize (wxSize (640, tracks() * track_height() + 96)); - _playlist_connection = film->playlist()->Changed.connect (bind (&Timeline::playlist_changed, this)); + _playlist_connection = film->playlist()->Changed.connect (bind (&DCPTimeline::playlist_changed, this)); } void -Timeline::paint () +DCPTimeline::paint () { wxPaintDC dc (this); @@ -377,7 +377,7 @@ Timeline::paint () } void -Timeline::playlist_changed () +DCPTimeline::playlist_changed () { ensure_ui_thread (); @@ -406,7 +406,7 @@ Timeline::playlist_changed () } void -Timeline::assign_tracks () +DCPTimeline::assign_tracks () { for (ViewList::iterator i = _views.begin(); i != _views.end(); ++i) { shared_ptr<ContentView> cv = dynamic_pointer_cast<ContentView> (*i); @@ -465,13 +465,13 @@ Timeline::assign_tracks () } int -Timeline::tracks () const +DCPTimeline::tracks () const { return _tracks; } void -Timeline::setup_pixels_per_time_unit () +DCPTimeline::setup_pixels_per_time_unit () { shared_ptr<const Film> film = _film.lock (); if (!film) { @@ -482,7 +482,7 @@ Timeline::setup_pixels_per_time_unit () } shared_ptr<View> -Timeline::event_to_view (wxMouseEvent& ev) +DCPTimeline::event_to_view (wxMouseEvent& ev) { ViewList::iterator i = _views.begin(); Position<int> const p (ev.GetX(), ev.GetY()); @@ -498,7 +498,7 @@ Timeline::event_to_view (wxMouseEvent& ev) } void -Timeline::left_down (wxMouseEvent& ev) +DCPTimeline::left_down (wxMouseEvent& ev) { shared_ptr<View> view = event_to_view (ev); shared_ptr<ContentView> content_view = dynamic_pointer_cast<ContentView> (view); @@ -539,7 +539,7 @@ Timeline::left_down (wxMouseEvent& ev) } void -Timeline::left_up (wxMouseEvent& ev) +DCPTimeline::left_up (wxMouseEvent& ev) { _left_down = false; @@ -551,7 +551,7 @@ Timeline::left_up (wxMouseEvent& ev) } void -Timeline::mouse_moved (wxMouseEvent& ev) +DCPTimeline::mouse_moved (wxMouseEvent& ev) { if (!_left_down) { return; @@ -561,7 +561,7 @@ Timeline::mouse_moved (wxMouseEvent& ev) } void -Timeline::right_down (wxMouseEvent& ev) +DCPTimeline::right_down (wxMouseEvent& ev) { shared_ptr<View> view = event_to_view (ev); shared_ptr<ContentView> cv = dynamic_pointer_cast<ContentView> (view); @@ -578,7 +578,7 @@ Timeline::right_down (wxMouseEvent& ev) } void -Timeline::set_position_from_event (wxMouseEvent& ev) +DCPTimeline::set_position_from_event (wxMouseEvent& ev) { wxPoint const p = ev.GetPosition(); @@ -597,13 +597,13 @@ Timeline::set_position_from_event (wxMouseEvent& ev) return; } - Time new_position = _down_view_position + (p.x - _down_point.x) / _pixels_per_time_unit; + DCPTime new_position = _down_view_position + (p.x - _down_point.x) / _pixels_per_time_unit; if (_snap) { bool first = true; - Time nearest_distance = TIME_MAX; - Time nearest_new_position = TIME_MAX; + DCPTime nearest_distance = TIME_MAX; + DCPTime nearest_new_position = TIME_MAX; /* Find the nearest content edge; this is inefficient */ for (ViewList::iterator i = _views.begin(); i != _views.end(); ++i) { @@ -614,7 +614,7 @@ Timeline::set_position_from_event (wxMouseEvent& ev) { /* Snap starts to ends */ - Time const d = abs (cv->content()->end() - new_position); + DCPTime const d = abs (cv->content()->end() - new_position); if (first || d < nearest_distance) { nearest_distance = d; nearest_new_position = cv->content()->end(); @@ -623,7 +623,7 @@ Timeline::set_position_from_event (wxMouseEvent& ev) { /* Snap ends to starts */ - Time const d = abs (cv->content()->position() - (new_position + _down_view->content()->length_after_trim())); + DCPTime const d = abs (cv->content()->position() - (new_position + _down_view->content()->length_after_trim())); if (d < nearest_distance) { nearest_distance = d; nearest_new_position = cv->content()->position() - _down_view->content()->length_after_trim (); @@ -653,25 +653,25 @@ Timeline::set_position_from_event (wxMouseEvent& ev) } void -Timeline::force_redraw (dcpomatic::Rect<int> const & r) +DCPTimeline::force_redraw (dcpomatic::Rect<int> const & r) { RefreshRect (wxRect (r.x, r.y, r.width, r.height), false); } shared_ptr<const Film> -Timeline::film () const +DCPTimeline::film () const { return _film.lock (); } void -Timeline::resized () +DCPTimeline::resized () { setup_pixels_per_time_unit (); } void -Timeline::clear_selection () +DCPTimeline::clear_selection () { for (ViewList::iterator i = _views.begin(); i != _views.end(); ++i) { shared_ptr<ContentView> cv = dynamic_pointer_cast<ContentView> (*i); @@ -681,8 +681,8 @@ Timeline::clear_selection () } } -Timeline::ContentViewList -Timeline::selected_views () const +DCPTimeline::ContentViewList +DCPTimeline::selected_views () const { ContentViewList sel; @@ -697,7 +697,7 @@ Timeline::selected_views () const } ContentList -Timeline::selected_content () const +DCPTimeline::selected_content () const { ContentList sel; ContentViewList views = selected_views (); diff --git a/src/wx/timeline.h b/src/wx/timeline.h index ef1d10797..b3ee77fff 100644 --- a/src/wx/timeline.h +++ b/src/wx/timeline.h @@ -29,12 +29,12 @@ class Film; class View; class ContentView; class FilmEditor; -class TimeAxisView; +class DCPTimeAxisView; -class Timeline : public wxPanel +class DCPTimeline : public wxPanel { public: - Timeline (wxWindow *, FilmEditor *, boost::shared_ptr<Film>); + DCPTimeline (wxWindow *, FilmEditor *, boost::shared_ptr<Film>); boost::shared_ptr<const Film> film () const; @@ -94,13 +94,13 @@ private: FilmEditor* _film_editor; boost::weak_ptr<Film> _film; ViewList _views; - boost::shared_ptr<TimeAxisView> _time_axis_view; + boost::shared_ptr<DCPTimeAxisView> _time_axis_view; int _tracks; double _pixels_per_time_unit; bool _left_down; wxPoint _down_point; boost::shared_ptr<ContentView> _down_view; - Time _down_view_position; + DCPTime _down_view_position; bool _first_move; ContentMenu _menu; bool _snap; diff --git a/src/wx/timeline_dialog.cc b/src/wx/timeline_dialog.cc index dbf7ae232..a63c219db 100644 --- a/src/wx/timeline_dialog.cc +++ b/src/wx/timeline_dialog.cc @@ -28,8 +28,8 @@ using std::list; using std::cout; using boost::shared_ptr; -TimelineDialog::TimelineDialog (FilmEditor* ed, shared_ptr<Film> film) - : wxDialog (ed, wxID_ANY, _("Timeline"), wxDefaultPosition, wxSize (640, 512), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxFULL_REPAINT_ON_RESIZE) +DCPTimelineDialog::DCPTimelineDialog (FilmEditor* ed, shared_ptr<Film> film) + : wxDialog (ed, wxID_ANY, _("DCPTimeline"), wxDefaultPosition, wxSize (640, 512), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxFULL_REPAINT_ON_RESIZE) , _timeline (this, ed, film) { wxBoxSizer* sizer = new wxBoxSizer (wxVERTICAL); @@ -46,11 +46,11 @@ TimelineDialog::TimelineDialog (FilmEditor* ed, shared_ptr<Film> film) sizer->SetSizeHints (this); _snap->SetValue (_timeline.snap ()); - _snap->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&TimelineDialog::snap_toggled, this)); + _snap->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&DCPTimelineDialog::snap_toggled, this)); } void -TimelineDialog::snap_toggled () +DCPTimelineDialog::snap_toggled () { _timeline.set_snap (_snap->GetValue ()); } diff --git a/src/wx/timeline_dialog.h b/src/wx/timeline_dialog.h index 1e5955003..b64445d9c 100644 --- a/src/wx/timeline_dialog.h +++ b/src/wx/timeline_dialog.h @@ -24,14 +24,14 @@ class Playlist; -class TimelineDialog : public wxDialog +class DCPTimelineDialog : public wxDialog { public: - TimelineDialog (FilmEditor *, boost::shared_ptr<Film>); + DCPTimelineDialog (FilmEditor *, boost::shared_ptr<Film>); private: void snap_toggled (); - Timeline _timeline; + DCPTimeline _timeline; wxCheckBox* _snap; }; diff --git a/src/wx/timing_panel.cc b/src/wx/timing_panel.cc index 79099b168..08334da4b 100644 --- a/src/wx/timing_panel.cc +++ b/src/wx/timing_panel.cc @@ -35,19 +35,19 @@ TimingPanel::TimingPanel (FilmEditor* e) _sizer->Add (grid, 0, wxALL, 8); add_label_to_sizer (grid, this, _("Position"), true); - _position = new Timecode (this); + _position = new DCPTimecode (this); grid->Add (_position); add_label_to_sizer (grid, this, _("Full length"), true); - _full_length = new Timecode (this); + _full_length = new DCPTimecode (this); grid->Add (_full_length); add_label_to_sizer (grid, this, _("Trim from start"), true); - _trim_start = new Timecode (this); + _trim_start = new DCPTimecode (this); grid->Add (_trim_start); add_label_to_sizer (grid, this, _("Trim from end"), true); - _trim_end = new Timecode (this); + _trim_end = new DCPTimecode (this); grid->Add (_trim_end); add_label_to_sizer (grid, this, _("Play length"), true); - _play_length = new Timecode (this); + _play_length = new DCPTimecode (this); grid->Add (_play_length); _position->Changed.connect (boost::bind (&TimingPanel::position_changed, this)); diff --git a/src/wx/timing_panel.h b/src/wx/timing_panel.h index ab859a1be..7fea45eb5 100644 --- a/src/wx/timing_panel.h +++ b/src/wx/timing_panel.h @@ -19,7 +19,7 @@ #include "film_editor_panel.h" -class Timecode; +class DCPTimecode; class TimingPanel : public FilmEditorPanel { @@ -36,9 +36,9 @@ private: void trim_end_changed (); void play_length_changed (); - Timecode* _position; - Timecode* _full_length; - Timecode* _trim_start; - Timecode* _trim_end; - Timecode* _play_length; + DCPTimecode* _position; + DCPTimecode* _full_length; + DCPTimecode* _trim_start; + DCPTimecode* _trim_end; + DCPTimecode* _play_length; }; |
