Fix incorrect container size when loading a VF/OV combination into the player.
[dcpomatic.git] / src / lib / environment_info.cc
index b5093e4d6c01a24505e7380286dc80c26bd7c687..6fb75a0371e1cfebe57be9480ae6e3e7a681427a 100644 (file)
 #include <dcp/version.h>
 #include <libssh/libssh.h>
 #ifdef DCPOMATIC_IMAGE_MAGICK
+/* ImageMagick */
+#ifdef DCPOMATIC_MAGICKCORE_MAGICK
 #include <magick/MagickCore.h>
+#include <magick/version.h>
+#else
+#include <MagickCore/MagickCore.h>
+#include <MagickCore/version.h>
+#endif
 #else
+/* GraphicsMagick */
 #include <magick/common.h>
 #include <magick/magick_config.h>
-#endif
 #include <magick/version.h>
+#endif
 extern "C" {
 #include <libavcodec/avcodec.h>
 #include <libavformat/avformat.h>
+#include <libavfilter/avfilter.h>
 #include <libswscale/swscale.h>
-#include <libavfilter/avfiltergraph.h>
 #include <libavutil/pixfmt.h>
 }
 #include <boost/thread.hpp>
@@ -113,10 +121,25 @@ environment_info ()
        GetVersionEx (&os_info);
        info.push_back (
                String::compose (
-                       "Windows version %1.%2.%3 SP %4",
-                       os_info.dwMajorVersion, os_info.dwMinorVersion, os_info.dwBuildNumber, os_info.szCSDVersion
+                       "Windows version %1.%2.%3",
+                       (int) os_info.dwMajorVersion, (int) os_info.dwMinorVersion, (int) os_info.dwBuildNumber
                        )
                );
+       if (os_info.dwMajorVersion == 5 && os_info.dwMinorVersion == 0) {
+               info.push_back ("Windows 2000");
+       } else if (os_info.dwMajorVersion == 5 && os_info.dwMinorVersion == 1) {
+               info.push_back ("Windows XP");
+       } else if (os_info.dwMajorVersion == 5 && os_info.dwMinorVersion == 2) {
+               info.push_back ("Windows XP 64-bit or Windows Server 2003");
+       } else if (os_info.dwMajorVersion == 6 && os_info.dwMinorVersion == 0) {
+               info.push_back ("Windows Vista or Windows Server 2008");
+       } else if (os_info.dwMajorVersion == 6 && os_info.dwMinorVersion == 1) {
+               info.push_back ("Windows 7 or Windows Server 2008");
+       } else if (os_info.dwMajorVersion == 6 && (os_info.dwMinorVersion == 2 || os_info.dwMinorVersion == 3)) {
+               info.push_back ("Windows 8 or Windows Server 2012");
+       } else if (os_info.dwMajorVersion == 10 && os_info.dwMinorVersion == 0) {
+               info.push_back ("Windows 10 or Windows Server 2016");
+       }
 #endif
 
 #if __GNUC__