summaryrefslogtreecommitdiff
path: root/src/lib/playlist.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/playlist.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/playlist.h')
-rw-r--r--src/lib/playlist.h14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/lib/playlist.h b/src/lib/playlist.h
index 649887f72..d55232dad 100644
--- a/src/lib/playlist.h
+++ b/src/lib/playlist.h
@@ -75,21 +75,13 @@ public:
void repeat (ContentList, int);
/** Emitted when content has been added to or removed from the playlist; implies OrderChanged */
- mutable boost::signals2::signal<void ()> Changed;
+ mutable boost::signals2::signal<void (ChangeType)> Change;
mutable boost::signals2::signal<void ()> OrderChanged;
- mutable boost::signals2::signal<void ()> ContentMayChange;
- /** Emitted when something about a piece of our content has changed;
- * these emissions include when the position of the content changes.
- * Third parameter is true if signals are currently being emitted frequently.
- */
- mutable boost::signals2::signal<void (boost::weak_ptr<Content>, int, bool)> ContentChanged;
- mutable boost::signals2::signal<void ()> ContentNotChanged;
+ mutable boost::signals2::signal<void (ChangeType, boost::weak_ptr<Content>, int, bool)> ContentChange;
private:
- void content_may_change ();
- void content_changed (boost::weak_ptr<Content>, int, bool);
- void content_not_changed ();
+ void content_change (ChangeType, boost::weak_ptr<Content>, int, bool);
void reconnect ();
/** List of content. Kept sorted in position order. */