summaryrefslogtreecommitdiff
path: root/src/lib/player.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-08-19 01:04:59 +0100
committerCarl Hetherington <cth@carlh.net>2018-08-19 01:29:04 +0100
commit6c7489e5d778d3e71065d88a094a7383ba2c117d (patch)
treee3f05ad03095d88d297c7d61e03e265d28a97fa3 /src/lib/player.h
parent9a27d60ea7888d300a5a2414a477091428589b82 (diff)
Replace May/Done/NotDone signal sets with one signal and extend
this treatment to anything that caused Player::setup_pieces. This should fix out-of-sequence Player emissions caused by setup_pieces being called by one thread while the butler is calling pass().
Diffstat (limited to 'src/lib/player.h')
-rw-r--r--src/lib/player.h26
1 files changed, 5 insertions, 21 deletions
diff --git a/src/lib/player.h b/src/lib/player.h
index f7ab1000d..165820799 100644
--- a/src/lib/player.h
+++ b/src/lib/player.h
@@ -88,19 +88,7 @@ public:
boost::optional<DCPTime> content_time_to_dcp (boost::shared_ptr<Content> content, ContentTime t);
- /* The player's internal state may be about to change such so
- that its emissions from Video and Audio will suddenly be
- from an undefined position. Listeners should prepare
- themselves for this possibility.
- */
- boost::signals2::signal<void ()> MayChange;
-
- /** The player's internal state has now changed.
- *
- * The first parameter is what changed.
- * The second parameter is true if these signals are currently likely to be frequent.
- */
- boost::signals2::signal<void (int, bool)> Changed;
+ boost::signals2::signal<void (ChangeType, int, bool)> Change;
/** The change suggested by a MayChange did not happen */
boost::signals2::signal<void ()> NotChanged;
@@ -125,10 +113,8 @@ private:
void setup_pieces_unlocked ();
void flush ();
void film_changed (Film::Property);
- void playlist_changed ();
- void playlist_content_may_change ();
- void playlist_content_changed (boost::weak_ptr<Content>, int, bool);
- void playlist_content_not_changed ();
+ void playlist_change (ChangeType);
+ void playlist_content_change (ChangeType, int, bool);
std::list<PositionImage> transform_bitmap_texts (std::list<BitmapText>) const;
Frame dcp_to_content_video (boost::shared_ptr<const Piece> piece, DCPTime t) const;
DCPTime content_video_to_dcp (boost::shared_ptr<const Piece> piece, Frame f) const;
@@ -217,10 +203,8 @@ private:
boost::shared_ptr<AudioProcessor> _audio_processor;
boost::signals2::scoped_connection _film_changed_connection;
- boost::signals2::scoped_connection _playlist_changed_connection;
- boost::signals2::scoped_connection _playlist_content_may_change_connection;
- boost::signals2::scoped_connection _playlist_content_changed_connection;
- boost::signals2::scoped_connection _playlist_content_not_changed_connection;
+ boost::signals2::scoped_connection _playlist_change_connection;
+ boost::signals2::scoped_connection _playlist_content_change_connection;
};
#endif