swaroop: check for KDMs when selecting playlist.
[dcpomatic.git] / src / tools / dcpomatic_player.cc
index d61c8a5e07ca62248ac8097e8c636a5b3c026f1e..b39e59d6ba302dc1caa80cdf88e3bc4361dcd2fe 100644 (file)
@@ -389,49 +389,6 @@ public:
                }
        }
 
-#ifdef DCPOMATIC_VARIANT_SWAROOP
-       optional<dcp::EncryptedKDM> get_kdm_from_url (shared_ptr<DCPContent> dcp)
-       {
-               ScopedTemporary temp;
-               string url = Config::instance()->kdm_server_url();
-               boost::algorithm::replace_all (url, "{CPL}", *dcp->cpl());
-               optional<dcp::EncryptedKDM> kdm;
-               if (dcp->cpl() && !get_from_url(url, false, temp)) {
-                       try {
-                               kdm = dcp::EncryptedKDM (dcp::file_to_string(temp.file()));
-                               if (kdm->cpl_id() != dcp->cpl()) {
-                                       kdm = boost::none;
-                               }
-                       } catch (std::exception& e) {
-                               /* Hey well */
-                       }
-               }
-               return kdm;
-       }
-#endif
-
-       optional<dcp::EncryptedKDM> get_kdm_from_directory (shared_ptr<DCPContent> dcp)
-       {
-               using namespace boost::filesystem;
-               optional<path> kdm_dir = Config::instance()->player_kdm_directory();
-               if (!kdm_dir) {
-                       return optional<dcp::EncryptedKDM>();
-               }
-               for (directory_iterator i = directory_iterator(*kdm_dir); i != directory_iterator(); ++i) {
-                       try {
-                               if (file_size(i->path()) < MAX_KDM_SIZE) {
-                                       dcp::EncryptedKDM kdm (dcp::file_to_string(i->path()));
-                                       if (kdm.cpl_id() == dcp->cpl()) {
-                                               return kdm;
-                                       }
-                               }
-                       } catch (std::exception& e) {
-                               /* Hey well */
-                       }
-               }
-               return optional<dcp::EncryptedKDM>();
-       }
-
        void reset_film_weak (weak_ptr<Film> weak_film)
        {
                shared_ptr<Film> film = weak_film.lock ();
@@ -464,20 +421,6 @@ public:
 
                BOOST_FOREACH (shared_ptr<Content> i, _film->content()) {
                        shared_ptr<DCPContent> dcp = dynamic_pointer_cast<DCPContent>(i);
-                       if (dcp && dcp->needs_kdm()) {
-                               optional<dcp::EncryptedKDM> kdm;
-#ifdef DCPOMATIC_VARIANT_SWAROOP
-                               kdm = get_kdm_from_url (dcp);
-#endif
-                               if (!kdm) {
-                                       kdm = get_kdm_from_directory (dcp);
-                               }
-
-                               if (kdm) {
-                                       dcp->add_kdm (*kdm);
-                                       dcp->examine (_film, shared_ptr<Job>());
-                               }
-                       }
 
                        BOOST_FOREACH (shared_ptr<TextContent> j, i->text) {
                                j->set_use (true);
@@ -1000,6 +943,7 @@ private:
 
 static const wxCmdLineEntryDesc command_line_description[] = {
        { wxCMD_LINE_PARAM, 0, 0, "DCP to load or create", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
+       { wxCMD_LINE_OPTION, "c", "config", "Directory containing config.xml", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
        { wxCMD_LINE_NONE, "", "", "", wxCmdLineParamType (0), 0 }
 };
 
@@ -1135,6 +1079,11 @@ private:
                        _dcp_to_load = wx_to_std (parser.GetParam (0));
                }
 
+               wxString config;
+               if (parser.Found("c", &config)) {
+                       Config::override_path = wx_to_std (config);
+               }
+
                return true;
        }