|
@@ -619,10 +619,8 @@ OBSBasic::OBSBasic(QWidget *parent)
|
|
|
connect(ui->scenes, &SceneTree::scenesReordered,
|
|
|
[]() { OBSProjector::UpdateMultiviewProjectors(); });
|
|
|
|
|
|
- connect(App(), &OBSApp::StyleChanged, this, [this]() {
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_THEME_CHANGED);
|
|
|
- });
|
|
|
+ connect(App(), &OBSApp::StyleChanged, this,
|
|
|
+ [this]() { OnEvent(OBS_FRONTEND_EVENT_THEME_CHANGED); });
|
|
|
|
|
|
QActionGroup *actionGroup = new QActionGroup(this);
|
|
|
actionGroup->addAction(ui->actionSceneListMode);
|
|
@@ -1470,10 +1468,8 @@ retryScene:
|
|
|
if (vcamEnabled)
|
|
|
outputHandler->UpdateVirtualCamOutputSource();
|
|
|
|
|
|
- if (api) {
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_SCENE_CHANGED);
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED);
|
|
|
- }
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_SCENE_CHANGED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED);
|
|
|
}
|
|
|
|
|
|
#define SERVICE_PATH "service.json"
|
|
@@ -2549,8 +2545,7 @@ void OBSBasic::OBSInit()
|
|
|
|
|
|
void OBSBasic::OnFirstLoad()
|
|
|
{
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_FINISHED_LOADING);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_FINISHED_LOADING);
|
|
|
|
|
|
#ifdef WHATSNEW_ENABLED
|
|
|
/* Attempt to load init screen if available */
|
|
@@ -3376,8 +3371,7 @@ void OBSBasic::AddScene(OBSSource source)
|
|
|
OBSProjector::UpdateMultiviewProjectors();
|
|
|
}
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
|
|
|
}
|
|
|
|
|
|
void OBSBasic::RemoveScene(OBSSource source)
|
|
@@ -3412,8 +3406,7 @@ void OBSBasic::RemoveScene(OBSSource source)
|
|
|
OBSProjector::UpdateMultiviewProjectors();
|
|
|
}
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
|
|
|
}
|
|
|
|
|
|
static bool select_one(obs_scene_t * /* scene */, obs_sceneitem_t *item,
|
|
@@ -4505,8 +4498,7 @@ void OBSBasic::RemoveSelectedScene()
|
|
|
|
|
|
RemoveSceneAndReleaseNested(source);
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
|
|
|
}
|
|
|
|
|
|
void OBSBasic::ReorderSources(OBSScene scene)
|
|
@@ -5131,8 +5123,7 @@ void OBSBasic::ClearSceneData()
|
|
|
obs_enum_scenes(cb, nullptr);
|
|
|
obs_enum_sources(cb, nullptr);
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CLEANUP);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CLEANUP);
|
|
|
|
|
|
undo_s.clear();
|
|
|
|
|
@@ -5304,8 +5295,7 @@ void OBSBasic::closeEvent(QCloseEvent *event)
|
|
|
ClearExtraBrowserDocks();
|
|
|
#endif
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_SCRIPTING_SHUTDOWN);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_SCRIPTING_SHUTDOWN);
|
|
|
|
|
|
disableSaving++;
|
|
|
|
|
@@ -5313,8 +5303,7 @@ void OBSBasic::closeEvent(QCloseEvent *event)
|
|
|
* sources, etc) so that all references are released before shutdown */
|
|
|
ClearSceneData();
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_EXIT);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_EXIT);
|
|
|
|
|
|
// Destroys the frontend API so plugins can't continue calling it
|
|
|
obs_frontend_set_callbacks_internal(nullptr);
|
|
@@ -5554,8 +5543,7 @@ void OBSBasic::on_scenes_currentItemChanged(QListWidgetItem *current,
|
|
|
if (vcamEnabled && vcamConfig.type == VCamOutputType::PreviewOutput)
|
|
|
outputHandler->UpdateVirtualCamOutputSource();
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED);
|
|
|
|
|
|
UpdateContextBar();
|
|
|
}
|
|
@@ -6898,8 +6886,7 @@ void OBSBasic::SceneNameEdited(QWidget *editor)
|
|
|
|
|
|
ui->scenesDock->addAction(renameScene);
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
|
|
|
}
|
|
|
|
|
|
void OBSBasic::OpenFilters(OBSSource source)
|
|
@@ -7132,8 +7119,7 @@ void OBSBasic::StartStreaming()
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_STREAMING_STARTING);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_STREAMING_STARTING);
|
|
|
|
|
|
SaveProject();
|
|
|
|
|
@@ -7490,8 +7476,7 @@ void OBSBasic::StreamDelayStopping(int sec)
|
|
|
|
|
|
ui->statusbar->StreamDelayStopping(sec);
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_STREAMING_STOPPING);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_STREAMING_STOPPING);
|
|
|
}
|
|
|
|
|
|
void OBSBasic::StreamingStart()
|
|
@@ -7522,8 +7507,7 @@ void OBSBasic::StreamingStart()
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_STREAMING_STARTED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_STREAMING_STARTED);
|
|
|
|
|
|
OnActivate();
|
|
|
|
|
@@ -7543,8 +7527,7 @@ void OBSBasic::StreamStopping()
|
|
|
sysTrayStream->setText(QTStr("Basic.Main.StoppingStreaming"));
|
|
|
|
|
|
streamingStopping = true;
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_STREAMING_STOPPING);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_STREAMING_STOPPING);
|
|
|
}
|
|
|
|
|
|
void OBSBasic::StreamingStop(int code, QString last_error)
|
|
@@ -7605,8 +7588,7 @@ void OBSBasic::StreamingStop(int code, QString last_error)
|
|
|
}
|
|
|
|
|
|
streamingStopping = false;
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_STREAMING_STOPPED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_STREAMING_STOPPED);
|
|
|
|
|
|
OnDeactivate();
|
|
|
|
|
@@ -7738,8 +7720,7 @@ void OBSBasic::StartRecording()
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_RECORDING_STARTING);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_RECORDING_STARTING);
|
|
|
|
|
|
SaveProject();
|
|
|
|
|
@@ -7754,8 +7735,7 @@ void OBSBasic::RecordStopping()
|
|
|
sysTrayRecord->setText(QTStr("Basic.Main.StoppingRecording"));
|
|
|
|
|
|
recordingStopping = true;
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_RECORDING_STOPPING);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_RECORDING_STOPPING);
|
|
|
}
|
|
|
|
|
|
void OBSBasic::StopRecording()
|
|
@@ -7777,8 +7757,7 @@ void OBSBasic::RecordingStart()
|
|
|
sysTrayRecord->setText(QTStr("Basic.Main.StopRecording"));
|
|
|
|
|
|
recordingStopping = false;
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_RECORDING_STARTED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_RECORDING_STARTED);
|
|
|
|
|
|
if (!diskFullTimer->isActive())
|
|
|
diskFullTimer->start(1000);
|
|
@@ -7852,8 +7831,7 @@ void OBSBasic::RecordingStop(int code, QString last_error)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_RECORDING_STOPPED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_RECORDING_STOPPED);
|
|
|
|
|
|
if (diskFullTimer->isActive())
|
|
|
diskFullTimer->stop();
|
|
@@ -7924,8 +7902,7 @@ void OBSBasic::StartReplayBuffer()
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STARTING);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STARTING);
|
|
|
|
|
|
SaveProject();
|
|
|
|
|
@@ -7947,8 +7924,7 @@ void OBSBasic::ReplayBufferStopping()
|
|
|
QTStr("Basic.Main.StoppingReplayBuffer"));
|
|
|
|
|
|
replayBufferStopping = true;
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STOPPING);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STOPPING);
|
|
|
}
|
|
|
|
|
|
void OBSBasic::StopReplayBuffer()
|
|
@@ -7976,8 +7952,7 @@ void OBSBasic::ReplayBufferStart()
|
|
|
QTStr("Basic.Main.StopReplayBuffer"));
|
|
|
|
|
|
replayBufferStopping = false;
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STARTED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STARTED);
|
|
|
|
|
|
OnActivate();
|
|
|
|
|
@@ -8016,8 +7991,7 @@ void OBSBasic::ReplayBufferSaved()
|
|
|
lastReplay = path;
|
|
|
calldata_free(&cd);
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_REPLAY_BUFFER_SAVED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_REPLAY_BUFFER_SAVED);
|
|
|
|
|
|
AutoRemux(QT_UTF8(path.c_str()));
|
|
|
}
|
|
@@ -8061,8 +8035,7 @@ void OBSBasic::ReplayBufferStop(int code)
|
|
|
QSystemTrayIcon::Warning);
|
|
|
}
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STOPPED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STOPPED);
|
|
|
|
|
|
OnDeactivate();
|
|
|
}
|
|
@@ -8104,8 +8077,7 @@ void OBSBasic::OnVirtualCamStart()
|
|
|
if (sysTrayVirtualCam)
|
|
|
sysTrayVirtualCam->setText(QTStr("Basic.Main.StopVirtualCam"));
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_VIRTUALCAM_STARTED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_VIRTUALCAM_STARTED);
|
|
|
|
|
|
OnActivate();
|
|
|
|
|
@@ -8122,8 +8094,7 @@ void OBSBasic::OnVirtualCamStop(int)
|
|
|
if (sysTrayVirtualCam)
|
|
|
sysTrayVirtualCam->setText(QTStr("Basic.Main.StartVirtualCam"));
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_VIRTUALCAM_STOPPED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_VIRTUALCAM_STOPPED);
|
|
|
|
|
|
blog(LOG_INFO, VIRTUAL_CAM_STOP);
|
|
|
|
|
@@ -10751,8 +10722,7 @@ void OBSBasic::PauseRecording()
|
|
|
trayIconFile));
|
|
|
}
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_RECORDING_PAUSED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_RECORDING_PAUSED);
|
|
|
|
|
|
if (os_atomic_load_bool(&replaybuf_active))
|
|
|
ShowReplayBufferPauseWarning();
|
|
@@ -10789,8 +10759,7 @@ void OBSBasic::UnpauseRecording()
|
|
|
trayIconFile));
|
|
|
}
|
|
|
|
|
|
- if (api)
|
|
|
- api->on_event(OBS_FRONTEND_EVENT_RECORDING_UNPAUSED);
|
|
|
+ OnEvent(OBS_FRONTEND_EVENT_RECORDING_UNPAUSED);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -11114,3 +11083,9 @@ float OBSBasic::GetDevicePixelRatio()
|
|
|
{
|
|
|
return dpi;
|
|
|
}
|
|
|
+
|
|
|
+void OBSBasic::OnEvent(enum obs_frontend_event event)
|
|
|
+{
|
|
|
+ if (api)
|
|
|
+ api->on_event(event);
|
|
|
+}
|