Remove DCP class and replace its functionality with a plain method in libdcp.
[dcpomatic.git] / src / tools / dcpomatic_player.cc
index 18251b4ecc5934c84972f4bd8fad09e093deaa60..4d4531eeed035a9c94f04f0187a24b82c354b5c5 100644 (file)
@@ -61,6 +61,7 @@
 #include <dcp/dcp.h>
 #include <dcp/raw_convert.h>
 #include <dcp/exceptions.h>
+#include <dcp/search.h>
 #include <wx/cmdline.h>
 #include <wx/display.h>
 #include <wx/preferences.h>
@@ -437,9 +438,8 @@ public:
                        /* Offer a CPL menu */
                        auto first = dynamic_pointer_cast<DCPContent>(_film->content().front());
                        if (first) {
-                               DCPExaminer ex (first, true);
                                int id = ID_view_cpl;
-                               for (auto i: ex.cpls()) {
+                               for (auto i: dcp::find_and_resolve_cpls(first->directories(), true)) {
                                        auto j = _cpl_menu->AppendRadioItem(
                                                id,
                                                wxString::Format("%s (%s)", std_to_wx(i->annotation_text().get_value_or("")).data(), std_to_wx(i->id()).data())
@@ -694,11 +694,10 @@ private:
        {
                auto dcp = std::dynamic_pointer_cast<DCPContent>(_film->content().front());
                DCPOMATIC_ASSERT (dcp);
-               DCPExaminer ex (dcp, true);
+               auto cpls = dcp::find_and_resolve_cpls (dcp->directories(), true);
                int id = ev.GetId() - ID_view_cpl;
                DCPOMATIC_ASSERT (id >= 0);
-               DCPOMATIC_ASSERT (id < int(ex.cpls().size()));
-               auto cpls = ex.cpls();
+               DCPOMATIC_ASSERT (id < int(cpls.size()));
                auto i = cpls.begin();
                while (id > 0) {
                        ++i;