Add new dependency: libgstreamermm >= 1.8.0.
[pulseview.git] / main.cpp
index 4bd6388e1051fd506d99ae24f19fa5d43704346f..fca9aa7966e5b8f7f8be420ef1260953a7860b98 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -26,6 +26,8 @@
 #include <getopt.h>
 #include <vector>
 
+#include <gstreamermm.h>
+
 #include <libsigrokcxx/libsigrokcxx.hpp>
 
 #include <QCheckBox>
@@ -54,6 +56,7 @@
 #include "pv/logging.hpp"
 #include "pv/mainwindow.hpp"
 #include "pv/session.hpp"
+#include "pv/util.hpp"
 
 #ifdef ANDROID
 #include <libsigrokandroidutils/libsigrokandroidutils.h>
@@ -168,6 +171,9 @@ int main(int argc, char *argv[])
        bool do_scan = true;
        bool show_version = false;
 
+       // Initialise gstreamermm. Must be called before any other GLib stuff.
+       Gst::init();
+
        Application a(argc, argv);
 
 #ifdef ANDROID
@@ -254,9 +260,12 @@ int main(int argc, char *argv[])
        for (int i = 0; i < argc; i++)
                open_files.emplace_back(argv[i]);
 
+       qRegisterMetaType<pv::util::Timestamp>("util::Timestamp");
+       qRegisterMetaType<uint64_t>("uint64_t");
+
        // Prepare the global settings since logging needs them early on
        pv::GlobalSettings settings;
-       settings.save_default_palette();
+       settings.save_internal_defaults();
        settings.set_defaults_where_needed();
        settings.apply_theme();
 
@@ -316,7 +325,7 @@ int main(int argc, char *argv[])
                        if (open_files.empty())
                                w.add_default_session();
                        else
-                               for (string open_file : open_files)
+                               for (string& open_file : open_files)
                                        w.add_session_with_file(open_file, open_file_format);
 
 #ifdef ENABLE_SIGNALS