Detect CPU info on OS X.
[dcpomatic.git] / src / lib / util.h
index ec67469c16ebb7fddc9c7731c4cc1f3a07e8f61a..0d745e50c5f3152c3984758c2260d0acf65a7fd1 100644 (file)
@@ -30,6 +30,7 @@
 #include <boost/shared_ptr.hpp>
 #include <boost/asio.hpp>
 #include <boost/optional.hpp>
+#include <boost/filesystem.hpp>
 #include <libdcp/util.h>
 extern "C" {
 #include <libavcodec/avcodec.h>
@@ -43,6 +44,8 @@ extern "C" {
 #define TIMING(...)
 #endif
 
+#undef check
+
 /** The maximum number of audio channels that we can cope with */
 #define MAX_AUDIO_CHANNELS 6
 
@@ -54,11 +57,15 @@ extern void stacktrace (std::ostream &, int);
 extern std::string dependency_version_summary ();
 extern double seconds (struct timeval);
 extern void dvdomatic_setup ();
+extern void dvdomatic_setup_gettext_i18n (std::string);
 extern std::vector<std::string> split_at_spaces_considering_quotes (std::string);
 extern std::string md5_digest (std::string);
 extern std::string md5_digest (void const *, int);
 extern void ensure_ui_thread ();
 extern std::string audio_channel_name (int);
+#ifdef DVDOMATIC_WINDOWS
+extern boost::filesystem::path mo_path ();
+#endif
 
 typedef int SourceFrame;
 
@@ -145,6 +152,9 @@ struct Position
        int y;
 };
 
+namespace dvdomatic
+{
+       
 /** @struct Rect
  *  @brief A rectangle.
  */
@@ -180,6 +190,8 @@ struct Rect
        Rect intersection (Rect const & other) const;
 };
 
+}
+
 extern std::string crop_string (Position, libdcp::Size);
 extern int dcp_audio_sample_rate (int);
 extern std::string colour_lut_index_to_name (int index);
@@ -236,6 +248,7 @@ class AudioBuffers
 public:
        AudioBuffers (int channels, int frames);
        AudioBuffers (AudioBuffers const &);
+       AudioBuffers (boost::shared_ptr<const AudioBuffers>);
        ~AudioBuffers ();
 
        float** data () const {
@@ -286,7 +299,17 @@ private:
 
 extern int64_t video_frames_to_audio_frames (SourceFrame v, float audio_sample_rate, float frames_per_second);
 extern bool still_image_file (std::string);
-extern std::pair<std::string, int> cpu_info ();
+
+class LocaleGuard
+{
+public:
+       LocaleGuard ();
+       ~LocaleGuard ();
+       
+private:
+       char* _old;
+};
+
 
 #endif