X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fspl.cc;h=d7c0944d7ee13a96a4a924cb9d9f72eee455663f;hb=f598e06928af82fee1d2b25bc4cf25f560478ad4;hp=ba99e30280944e8108f4668c361f7346e13b02c8;hpb=71589ebfea5a7adc49f013d405b3158ea612222a;p=dcpomatic.git diff --git a/src/lib/spl.cc b/src/lib/spl.cc index ba99e3028..d7c0944d7 100644 --- a/src/lib/spl.cc +++ b/src/lib/spl.cc @@ -21,9 +21,30 @@ #include "spl.h" #include "spl_entry.h" #include +#include #include #include +using boost::shared_ptr; + +SPL::SPL (boost::filesystem::path file) +{ + cxml::Document f ("DCPPlaylist"); + f.read_file (file); + + name = f.string_attribute ("Name"); + BOOST_FOREACH (cxml::ConstNodePtr i, f.node_children("DCP")) { + boost::filesystem::path dir(i->content()); + dcp::DCP dcp (dir); + dcp.read (); + BOOST_FOREACH (shared_ptr j, dcp.cpls()) { + if (j->id() == i->string_attribute("CPL")) { + playlist.push_back (SPLEntry(j, dir)); + } + } + } +} + void SPL::as_xml (boost::filesystem::path file) const {