X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fcross.cc;h=75205dc1aa11709d84b651421f452005e0399b6d;hb=4513308f3c08579d53a0eee91b470dca3a28cbc2;hp=e214019730410a0fbb4627ddf42512fef338926a;hpb=86765a617035e0283c20c9f2696909743e618156;p=dcpomatic.git diff --git a/src/lib/cross.cc b/src/lib/cross.cc index e21401973..75205dc1a 100644 --- a/src/lib/cross.cc +++ b/src/lib/cross.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2015 Carl Hetherington + Copyright (C) 2012-2018 Carl Hetherington This file is part of DCP-o-matic. @@ -21,6 +21,7 @@ #include "cross.h" #include "compose.hpp" #include "log.h" +#include "config.h" #include "exceptions.h" extern "C" { #include @@ -34,6 +35,8 @@ extern "C" { #include #undef DATADIR #include +#include +#include #endif #ifdef DCPOMATIC_OSX #include @@ -359,10 +362,16 @@ Waker::~Waker () } void -start_batch_converter (boost::filesystem::path dcpomatic) +start_tool (boost::filesystem::path dcpomatic, string executable, +#ifdef DCPOMATIC_OSX + string app +#else + string +#endif + ) { #if defined(DCPOMATIC_LINUX) || defined(DCPOMATIC_WINDOWS) - boost::filesystem::path batch = dcpomatic.parent_path() / "dcpomatic2_batch"; + boost::filesystem::path batch = dcpomatic.parent_path() / executable; #endif #ifdef DCPOMATIC_OSX @@ -371,16 +380,15 @@ start_batch_converter (boost::filesystem::path dcpomatic) batch = batch.parent_path (); // Contents batch = batch.parent_path (); // DCP-o-matic.app batch = batch.parent_path (); // Applications - batch /= "DCP-o-matic\\ 2\\ Batch\\ Converter.app"; + batch /= app; batch /= "Contents"; batch /= "MacOS"; - batch /= "dcpomatic2_batch"; + batch /= executable; #endif #if defined(DCPOMATIC_LINUX) || defined(DCPOMATIC_OSX) pid_t pid = fork (); if (pid == 0) { - std::cout << "start " << batch << " from " << dcpomatic << "\n"; int const r = system (batch.string().c_str()); exit (WEXITSTATUS (r)); } @@ -400,6 +408,18 @@ start_batch_converter (boost::filesystem::path dcpomatic) #endif } +void +start_batch_converter (boost::filesystem::path dcpomatic) +{ + start_tool (dcpomatic, "dcpomatic2_batch", "DCP-o-matic\\ 2\\ Batch\\ Converter.app"); +} + +void +start_player (boost::filesystem::path dcpomatic) +{ + start_tool (dcpomatic, "dcpomatic2_player", "DCP-o-matic\\ 2\\ Player.app"); +} + uint64_t thread_id () {