From 3bd4fe5409375657915b8c07ff68dea10716d458 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Wed, 13 Apr 2016 19:00:12 -0700 Subject: [PATCH] UI: Add command line opts to start streaming/recording These command line options allow the user to start streaming/recording on program startup. --- obs/obs-app.cpp | 8 ++++++++ obs/obs-app.hpp | 2 ++ obs/window-basic-main.cpp | 12 ++++++++++++ 3 files changed, 22 insertions(+) diff --git a/obs/obs-app.cpp b/obs/obs-app.cpp index b1f16d371..9644cf818 100644 --- a/obs/obs-app.cpp +++ b/obs/obs-app.cpp @@ -57,6 +57,8 @@ static string currentLogFile; static string lastLogFile; static bool portable_mode = false; +bool opt_start_streaming = false; +bool opt_start_recording = false; string opt_starting_scene; QObject *CreateShortcutFilter() @@ -1555,6 +1557,12 @@ int main(int argc, char *argv[]) if (arg_is(argv[i], "--portable", "-p")) { portable_mode = true; + } else if (arg_is(argv[i], "--startstreaming", nullptr)) { + opt_start_streaming = true; + + } else if (arg_is(argv[i], "--startrecording", nullptr)) { + opt_start_recording = true; + } else if (arg_is(argv[i], "--scene", nullptr)) { if (++i < argc) opt_starting_scene = argv[i]; } diff --git a/obs/obs-app.hpp b/obs/obs-app.hpp index 69f98a713..ae683cb19 100644 --- a/obs/obs-app.hpp +++ b/obs/obs-app.hpp @@ -154,4 +154,6 @@ static inline int GetProfilePath(char *path, size_t size, const char *file) return window->GetProfilePath(path, size, file); } +extern bool opt_start_streaming; +extern bool opt_start_recording; extern std::string opt_starting_scene; diff --git a/obs/window-basic-main.cpp b/obs/window-basic-main.cpp index 235f7d29e..b1bf17055 100644 --- a/obs/window-basic-main.cpp +++ b/obs/window-basic-main.cpp @@ -598,6 +598,18 @@ retryScene: if (!opt_starting_scene.empty()) opt_starting_scene.clear(); + if (opt_start_streaming) { + QMetaObject::invokeMethod(this, "StartStreaming", + Qt::QueuedConnection); + opt_start_streaming = false; + } + + if (opt_start_recording) { + QMetaObject::invokeMethod(this, "StartRecording", + Qt::QueuedConnection); + opt_start_recording = false; + } + disableSaving--; }