diff --git a/obs/window-basic-main.cpp b/obs/window-basic-main.cpp index b3ed44b07..c177f10b1 100644 --- a/obs/window-basic-main.cpp +++ b/obs/window-basic-main.cpp @@ -593,6 +593,10 @@ void OBSBasic::OBSInit() TimedCheckForUpdates(); loaded = true; + + QTimer *timer = new QTimer(this); + connect(timer, SIGNAL(timeout()), this, SLOT(SaveProject())); + timer->start(20000); } OBSBasic::~OBSBasic() @@ -2200,6 +2204,8 @@ void OBSBasic::SetupEncoders() void OBSBasic::on_streamButton_clicked() { + SaveProject(); + if (obs_output_active(streamOutput)) { obs_output_stop(streamOutput); } else { @@ -2235,6 +2241,8 @@ void OBSBasic::on_streamButton_clicked() void OBSBasic::on_recordButton_clicked() { + SaveProject(); + if (obs_output_active(fileOutput)) { obs_output_stop(fileOutput); } else { diff --git a/obs/window-basic-main.hpp b/obs/window-basic-main.hpp index b95edbb4d..57bcf05c5 100644 --- a/obs/window-basic-main.hpp +++ b/obs/window-basic-main.hpp @@ -147,6 +147,8 @@ public slots: void RecordingStart(); void RecordingStop(); + void SaveProject(); + private slots: void AddSceneItem(OBSSceneItem item); void RemoveSceneItem(OBSSceneItem item); @@ -203,7 +205,6 @@ public: void ResetAudioDevices(); void NewProject(); - void SaveProject(); void LoadProject(); inline void GetDisplayRect(int &x, int &y, int &cx, int &cy)