Hi AND low pass filter -- fresh from the oven werks.
[ardour.git] / libs / pbd / pbd.cc
index b0da66b1382b35f950da9635f705190b2d0794f2..ab0f668f26d93406dc6632fc370b01e88851e22c 100644 (file)
 #include "pbd/id.h"
 #include "pbd/enumwriter.h"
 #include "pbd/fpu.h"
-#ifdef PLATFORM_WINDOWS
-#include "pbd/windows_timer_utils.h"
-#endif
 
 #ifdef PLATFORM_WINDOWS
 #include <winsock2.h>
+#include "pbd/windows_timer_utils.h"
+#include "pbd/windows_mmcss.h"
 #endif
 
-#include "i18n.h"
+#include "pbd/i18n.h"
 
 extern void setup_libpbd_enums ();
 
@@ -51,8 +50,7 @@ namespace {
 
 static bool libpbd_initialized = false;
 
-}
-
+static
 void
 set_debug_options_from_env ()
 {
@@ -61,12 +59,13 @@ set_debug_options_from_env ()
 
        options = Glib::getenv ("PBD_DEBUG", set);
        if (set) {
-               std::cerr << "PBD_DEBUG=" << options << std::endl;
+               std::cerr << X_("PBD_DEBUG=") << options << std::endl;
                PBD::parse_debug_options (options.c_str());
        }
 }
 
 #ifdef PLATFORM_WINDOWS
+static
 void
 test_timers_from_env ()
 {
@@ -76,14 +75,16 @@ test_timers_from_env ()
        options = Glib::getenv ("PBD_TEST_TIMERS", set);
        if (set) {
                if (!PBD::QPC::check_timer_valid ()) {
-                       PBD::error << "Windows QPC Timer source not usable." << endmsg;
+                       PBD::error << X_("Windows QPC Timer source not usable") << endmsg;
                } else {
-                       PBD::info << "Windows QPC Timer source usable." << endmsg;
+                       PBD::info << X_("Windows QPC Timer source usable") << endmsg;
                }
        }
 }
 #endif
 
+} // namespace
+
 bool
 PBD::init ()
 {
@@ -100,15 +101,22 @@ PBD::init ()
 
        /* Initialize windows socket DLL for PBD::CrossThreadChannel
         */
-       
+
        if (WSAStartup(MAKEWORD(1,1),&wsaData) != 0) {
-               fatal << "Windows socket initialization failed with error: " << WSAGetLastError() << endmsg;
+               fatal << X_("Windows socket initialization failed with error: ") << WSAGetLastError() << endmsg;
                abort();
                /*NOTREACHED*/
                return false;
        }
 
+       QPC::initialize();
        test_timers_from_env ();
+
+       if (!PBD::MMCSS::initialize()) {
+               PBD::info << X_("Unable to initialize MMCSS") << endmsg;
+       } else {
+               PBD::info << X_("MMCSS Initialized") << endmsg;
+       }
 #endif
 
        if (!Glib::thread_supported()) {
@@ -131,8 +139,9 @@ void
 PBD::cleanup ()
 {
 #ifdef PLATFORM_WINDOWS
+       PBD::MMCSS::deinitialize ();
        WSACleanup();
-#endif 
+#endif
 
        EnumWriter::destroy ();
        FPU::destroy ();