]> git.sesse.net Git - casparcg/commitdiff
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches...
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Wed, 30 Nov 2011 17:50:55 +0000 (17:50 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Wed, 30 Nov 2011 17:50:55 +0000 (17:50 +0000)
modules/bluefish/util/blue_velvet.cpp

index ae938082fac4a7d9afc2dc445dffa9c17363b59d..afc81cb9d18e8fc6dbd3d394374a82c04946723d 100644 (file)
@@ -17,10 +17,17 @@ BLUE_UINT32 (*encode_hanc_frame_ex)(BLUE_UINT32 card_type, struct hanc_stream_in
 void blue_velvet_initialize()\r
 {\r
 #ifdef _DEBUG\r
-       auto module = LoadLibrary(L"BlueVelvet3_d.dll");\r
+       std::string module_str = "BlueVelvet3_d.dll";\r
 #else\r
-       auto module = LoadLibrary(L"BlueVelvet3.dll");\r
+       std::string module_str = "BlueVelvet3.dll";\r
 #endif\r
+       std::string sys_drive = getenv("SystemDrive");\r
+\r
+       auto module = LoadLibraryA(module_str.c_str());\r
+       if(!module)\r
+               LoadLibraryA((sys_drive + "\\Program Files\\Bluefish444\\Driver\\" + module_str).c_str());\r
+       if(!module)\r
+               LoadLibraryA((sys_drive + "\\Program Files (x86)\\BlueFish444\\Driver\\" + module_str).c_str());\r
        if(!module)\r
                BOOST_THROW_EXCEPTION(file_not_found() << msg_info("Could not find BlueVelvet3.dll. Required drivers are not installed."));\r
        static std::shared_ptr<void> lib(module, FreeLibrary);\r
@@ -32,10 +39,18 @@ void blue_velvet_initialize()
 void blue_hanc_initialize()\r
 {\r
 #ifdef _DEBUG\r
-       auto module = LoadLibrary(L"BlueHancUtils_d.dll");\r
+       std::string module_str = "BlueHancUtils_d.dll";\r
 #else\r
-       auto module = LoadLibrary(L"BlueHancUtils.dll");\r
+       std::string module_str = "BlueHancUtils.dll";\r
 #endif\r
+\r
+       std::string sys_drive = getenv("SystemDrive");\r
+\r
+       auto module = LoadLibraryA(module_str.c_str());\r
+       if(!module)\r
+               LoadLibraryA((sys_drive + "\\Program Files\\Bluefish444\\Driver\\" + module_str).c_str());\r
+       if(!module)\r
+               LoadLibraryA((sys_drive + "\\Program Files (x86)\\BlueFish444\\Driver\\" + module_str).c_str());\r
        if(!module)\r
                BOOST_THROW_EXCEPTION(file_not_found() << msg_info("Could not find BlueHancUtils.dll. Required drivers are not installed."));\r
        static std::shared_ptr<void> lib(module, FreeLibrary);\r
@@ -45,8 +60,8 @@ void blue_hanc_initialize()
 \r
 void blue_initialize()\r
 {\r
-       blue_velvet_initialize();\r
        blue_hanc_initialize();\r
+       blue_velvet_initialize();\r
 }\r
 \r
 EVideoMode vid_fmt_from_video_format(const core::video_format::type& fmt) \r