summaryrefslogtreecommitdiff
path: root/src/lib/content.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/content.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/content.h')
-rw-r--r--src/lib/content.h12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/lib/content.h b/src/lib/content.h
index c9edf6e22..e8710ccb7 100644
--- a/src/lib/content.h
+++ b/src/lib/content.h
@@ -178,14 +178,8 @@ public:
std::list<UserProperty> user_properties () const;
- /* May be emitted from any thread */
- boost::signals2::signal<void ()> MayChange;
-
- /* Emitted from the GUI thread */
- boost::signals2::signal<void (boost::weak_ptr<Content>, int, bool)> Changed;
-
- /* May be emitted from any thread */
- boost::signals2::signal<void ()> NotChanged;
+ /* CHANGE_PENDING and CHANGE_CANCELLED may be emitted from any thread; CHANGE_DONE always from GUI thread */
+ boost::signals2::signal<void (ChangeType, boost::weak_ptr<Content>, int, bool)> Change;
boost::shared_ptr<VideoContent> video;
boost::shared_ptr<AudioContent> audio;
@@ -215,7 +209,7 @@ private:
friend struct audio_sampling_rate_test;
friend class ContentChange;
- void signal_changed (int);
+ void signal_change (ChangeType, int);
std::string _digest;
DCPTime _position;