Remove in-place translations support.
[dcpomatic.git] / src / lib / cross.h
index b79f7ebdf6953071bef4df028470a4010e047d8a..6904811b756bd7299c57c96bbdad45baac079761 100644 (file)
@@ -29,6 +29,8 @@
 #include <IOKit/pwr_mgt/IOPMLib.h>
 #endif
 #include <boost/filesystem.hpp>
+/* windows.h defines this but we want to use it */
+#undef ERROR
 #include <boost/thread/mutex.hpp>
 #include <boost/optional.hpp>
 
@@ -42,7 +44,7 @@ struct AVIOContext;
 extern void dcpomatic_sleep_seconds (int);
 extern void dcpomatic_sleep_milliseconds (int);
 extern std::string cpu_info ();
-extern void run_ffprobe (boost::filesystem::path, boost::filesystem::path);
+extern void run_ffprobe(boost::filesystem::path content, boost::filesystem::path out, bool err = true, std::string args = {});
 extern std::list<std::pair<std::string, std::string>> mount_info ();
 extern boost::filesystem::path openssl_path ();
 extern void make_foreground_application ();
@@ -159,4 +161,27 @@ boost::optional<OSXMediaPath> analyse_osx_media_path (std::string path);
 std::vector<Drive> osx_disks_to_drives (std::vector<OSXDisk> disks);
 
 
+class ArgFixer
+{
+public:
+       ArgFixer(int argc, char** argv);
+
+       int argc() const {
+               return _argc;
+       }
+
+       char** argv() const {
+                return _argv;
+       }
+
+private:
+       int _argc;
+       char** _argv;
+#ifdef DCPOMATIC_WINDOWS
+       std::vector<std::string> _argv_strings;
+#endif
+
+};
+
+
 #endif