int const PlayerProperty::FILM_CONTAINER = 702;
int const PlayerProperty::FILM_VIDEO_FRAME_RATE = 703;
int const PlayerProperty::DCP_DECODE_REDUCTION = 704;
+int const PlayerProperty::PLAYBACK_LENGTH = 705;
Player::Player (shared_ptr<const Film> film, shared_ptr<const Playlist> playlist, DCPTime playback_length)
: _film (film)
setup_pieces_unlocked ();
}
+
+void
+Player::set_playback_length (DCPTime len)
+{
+ Change (CHANGE_TYPE_PENDING, PlayerProperty::PLAYBACK_LENGTH, false);
+ _playback_length = len;
+ Change (CHANGE_TYPE_DONE, PlayerProperty::PLAYBACK_LENGTH, false);
+ setup_pieces ();
+}
+
bool
have_video (shared_ptr<const Content> content)
{
static int const FILM_CONTAINER;
static int const FILM_VIDEO_FRAME_RATE;
static int const DCP_DECODE_REDUCTION;
+ static int const PLAYBACK_LENGTH;
};
/** @class Player
return _video_container_size;
}
+ void set_playback_length (dcpomatic::DCPTime len);
void set_video_container_size (dcp::Size);
void set_ignore_video ();
void set_ignore_audio ();
FilmViewer::film_length_change ()
{
_video_view->set_length (_film->length());
+ _player->set_playback_length (_film->length());
}
/** Re-get the current frame slowly by seeking */