+
+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;
+}