Add some Changed() emissions so that when a butler is in control
authorCarl Hetherington <cth@carlh.net>
Fri, 10 Aug 2018 01:12:51 +0000 (02:12 +0100)
committerCarl Hetherington <cth@carlh.net>
Fri, 10 Aug 2018 01:13:51 +0000 (02:13 +0100)
we always do a seek when we set _have_valid_pieces to false.

src/lib/player.cc
src/lib/player.h

index 5e42d8e37d609d67786bacbbaac4609270055853..782e445e8ad3a3487c409cbbed725e193da12131 100644 (file)
@@ -83,6 +83,9 @@ int const PlayerProperty::PLAYLIST = 701;
 int const PlayerProperty::FILM_CONTAINER = 702;
 int const PlayerProperty::FILM_VIDEO_FRAME_RATE = 703;
 int const PlayerProperty::DCP_DECODE_REDUCTION = 704;
+int const PlayerProperty::IGNORE = 705;
+int const PlayerProperty::FAST = 706;
+int const PlayerProperty::PLAY_REFERENCED = 707;
 
 Player::Player (shared_ptr<const Film> film, shared_ptr<const Playlist> playlist)
        : _film (film)
@@ -465,24 +468,37 @@ Player::get_subtitle_fonts ()
 void
 Player::set_ignore_video ()
 {
-       boost::mutex::scoped_lock lm (_mutex);
-       _ignore_video = true;
-       _have_valid_pieces = false;
+       {
+               boost::mutex::scoped_lock lm (_mutex);
+               _ignore_video = true;
+               _have_valid_pieces = false;
+       }
+
+       Changed (PlayerProperty::IGNORE, false);
 }
 
 void
 Player::set_ignore_audio ()
 {
-       boost::mutex::scoped_lock lm (_mutex);
-       _ignore_audio = true;
-       _have_valid_pieces = false;
+       {
+               boost::mutex::scoped_lock lm (_mutex);
+               _ignore_audio = true;
+               _have_valid_pieces = false;
+       }
+
+       Changed (PlayerProperty::IGNORE, false);
 }
 
 void
 Player::set_ignore_text ()
 {
-       boost::mutex::scoped_lock lm (_mutex);
-       _ignore_text = true;
+       {
+               boost::mutex::scoped_lock lm (_mutex);
+               _ignore_text = true;
+               _have_valid_pieces = false;
+       }
+
+       Changed (PlayerProperty::IGNORE, false);
 }
 
 /** Set the player to always burn open texts into the image regardless of the content settings */
@@ -497,17 +513,25 @@ Player::set_always_burn_open_subtitles ()
 void
 Player::set_fast ()
 {
-       boost::mutex::scoped_lock lm (_mutex);
-       _fast = true;
-       _have_valid_pieces = false;
+       {
+               boost::mutex::scoped_lock lm (_mutex);
+               _fast = true;
+               _have_valid_pieces = false;
+       }
+
+       Changed (PlayerProperty::FAST, false);
 }
 
 void
 Player::set_play_referenced ()
 {
-       boost::mutex::scoped_lock lm (_mutex);
-       _play_referenced = true;
-       _have_valid_pieces = false;
+       {
+               boost::mutex::scoped_lock lm (_mutex);
+               _play_referenced = true;
+               _have_valid_pieces = false;
+       }
+
+       Changed (PlayerProperty::PLAY_REFERENCED, false);
 }
 
 list<ReferencedReelAsset>
index 20b68ef774243d632d0048747fce5b264802b289..ccdd4e12c34c113836e3c9b588f7597a490626e9 100644 (file)
@@ -56,6 +56,9 @@ public:
        static int const FILM_CONTAINER;
        static int const FILM_VIDEO_FRAME_RATE;
        static int const DCP_DECODE_REDUCTION;
+       static int const IGNORE;
+       static int const FAST;
+       static int const PLAY_REFERENCED;
 };
 
 /** @class Player