+
+/** Set this player never to produce any audio data */
+void
+Player::set_ignore_audio ()
+{
+ _ignore_audio = true;
+}
+
+/** Set whether or not this player should always burn text subtitles into the image,
+ * regardless of the content settings.
+ * @param burn true to always burn subtitles, false to obey content settings.
+ */
+void
+Player::set_always_burn_subtitles (bool burn)
+{
+ _always_burn_subtitles = burn;
+}
+
+void
+Player::set_fast ()
+{
+ _fast = true;
+ _have_valid_pieces = false;
+}
+
+void
+Player::set_play_referenced ()
+{
+ _play_referenced = true;
+ _have_valid_pieces = false;
+}
+
+list<shared_ptr<dcp::ReelAsset> >
+Player::get_reel_assets ()
+{
+ list<shared_ptr<dcp::ReelAsset> > a;
+
+ BOOST_FOREACH (shared_ptr<Content> i, _playlist->content ()) {
+ shared_ptr<DCPContent> j = dynamic_pointer_cast<DCPContent> (i);
+ if (!j) {
+ continue;
+ }
+ /* XXX: hack hack hack */
+ DCPDecoder decoder (j, false);
+ if (j->reference_video ()) {
+ a.push_back (decoder.reels().front()->main_picture ());
+ }
+ if (j->reference_audio ()) {
+ a.push_back (decoder.reels().front()->main_sound ());
+ }
+ if (j->reference_subtitle ()) {
+ a.push_back (decoder.reels().front()->main_subtitle ());
+ }
+ }
+
+ return a;
+}