From 02f5db4ab217cb1332a4b26055fbeb513c39724d Mon Sep 17 00:00:00 2001 From: cg2121 Date: Tue, 18 Jun 2024 14:18:22 -0500 Subject: [PATCH] UI: Cleanup frontend event handling This adds a function to OBSBasic to call on_event, so every time a event is called, the api variable doesn't have to be checked everytime. --- UI/window-basic-main-profiles.cpp | 31 +++---- UI/window-basic-main-scene-collections.cpp | 27 ++---- UI/window-basic-main-screenshot.cpp | 4 +- UI/window-basic-main-transitions.cpp | 40 +++------ UI/window-basic-main.cpp | 99 ++++++++-------------- UI/window-basic-main.hpp | 1 + 6 files changed, 72 insertions(+), 130 deletions(-) diff --git a/UI/window-basic-main-profiles.cpp b/UI/window-basic-main-profiles.cpp index f9d3f4ea1..5f079b6ed 100644 --- a/UI/window-basic-main-profiles.cpp +++ b/UI/window-basic-main-profiles.cpp @@ -305,8 +305,8 @@ bool OBSBasic::CreateProfile(const std::string &newName, bool create_new, return false; } - if (api && !rename) - api->on_event(OBS_FRONTEND_EVENT_PROFILE_CHANGING); + if (!rename) + OnEvent(OBS_FRONTEND_EVENT_PROFILE_CHANGING); config_set_string(App()->GlobalConfig(), "Basic", "Profile", newName.c_str()); @@ -355,9 +355,9 @@ bool OBSBasic::CreateProfile(const std::string &newName, bool create_new, wizard.exec(); } - if (api && !rename) { - api->on_event(OBS_FRONTEND_EVENT_PROFILE_LIST_CHANGED); - api->on_event(OBS_FRONTEND_EVENT_PROFILE_CHANGED); + if (!rename) { + OnEvent(OBS_FRONTEND_EVENT_PROFILE_LIST_CHANGED); + OnEvent(OBS_FRONTEND_EVENT_PROFILE_CHANGED); } return true; } @@ -451,8 +451,7 @@ void OBSBasic::DeleteProfile(const QString &profileName) DeleteProfile(name.c_str(), profileDir); RefreshProfiles(); config_save_safe(App()->GlobalConfig(), "tmp", nullptr); - if (api) - api->on_event(OBS_FRONTEND_EVENT_PROFILE_LIST_CHANGED); + OnEvent(OBS_FRONTEND_EVENT_PROFILE_LIST_CHANGED); } void OBSBasic::RefreshProfiles() @@ -539,8 +538,7 @@ void OBSBasic::on_actionRenameProfile_triggered() RefreshProfiles(); } - if (api) - api->on_event(OBS_FRONTEND_EVENT_PROFILE_RENAMED); + OnEvent(OBS_FRONTEND_EVENT_PROFILE_RENAMED); } void OBSBasic::on_actionRemoveProfile_triggered(bool skipConfirmation) @@ -589,8 +587,7 @@ void OBSBasic::on_actionRemoveProfile_triggered(bool skipConfirmation) return; } - if (api) - api->on_event(OBS_FRONTEND_EVENT_PROFILE_CHANGING); + OnEvent(OBS_FRONTEND_EVENT_PROFILE_CHANGING); newPath.resize(newPath_len); @@ -626,10 +623,8 @@ void OBSBasic::on_actionRemoveProfile_triggered(bool skipConfirmation) Auth::Load(); - if (api) { - api->on_event(OBS_FRONTEND_EVENT_PROFILE_LIST_CHANGED); - api->on_event(OBS_FRONTEND_EVENT_PROFILE_CHANGED); - } + OnEvent(OBS_FRONTEND_EVENT_PROFILE_LIST_CHANGED); + OnEvent(OBS_FRONTEND_EVENT_PROFILE_CHANGED); if (needsRestart) { QMessageBox::StandardButton button = OBSMessageBox::question( @@ -768,8 +763,7 @@ void OBSBasic::ChangeProfile() return; } - if (api) - api->on_event(OBS_FRONTEND_EVENT_PROFILE_CHANGING); + OnEvent(OBS_FRONTEND_EVENT_PROFILE_CHANGING); path.resize(path_len); @@ -811,8 +805,7 @@ void OBSBasic::ChangeProfile() blog(LOG_INFO, "Switched to profile '%s' (%s)", newName, newDir); blog(LOG_INFO, "------------------------------------------------"); - if (api) - api->on_event(OBS_FRONTEND_EVENT_PROFILE_CHANGED); + OnEvent(OBS_FRONTEND_EVENT_PROFILE_CHANGED); if (needsRestart) { QMessageBox::StandardButton button = OBSMessageBox::question( diff --git a/UI/window-basic-main-scene-collections.cpp b/UI/window-basic-main-scene-collections.cpp index 0fe0867ed..d6dd4a3e8 100644 --- a/UI/window-basic-main-scene-collections.cpp +++ b/UI/window-basic-main-scene-collections.cpp @@ -168,8 +168,7 @@ bool OBSBasic::AddSceneCollection(bool create_new, const QString &qname) RefreshSceneCollections(); }; - if (api) - api->on_event(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CHANGING); + OnEvent(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CHANGING); new_collection(file, name); @@ -179,10 +178,8 @@ bool OBSBasic::AddSceneCollection(bool create_new, const QString &qname) UpdateTitleBar(); - if (api) { - api->on_event(OBS_FRONTEND_EVENT_SCENE_COLLECTION_LIST_CHANGED); - api->on_event(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CHANGED); - } + OnEvent(OBS_FRONTEND_EVENT_SCENE_COLLECTION_LIST_CHANGED); + OnEvent(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CHANGED); return true; } @@ -294,8 +291,7 @@ void OBSBasic::on_actionRenameSceneCollection_triggered() UpdateTitleBar(); RefreshSceneCollections(); - if (api) - api->on_event(OBS_FRONTEND_EVENT_SCENE_COLLECTION_RENAMED); + OnEvent(OBS_FRONTEND_EVENT_SCENE_COLLECTION_RENAMED); } void OBSBasic::on_actionRemoveSceneCollection_triggered() @@ -339,8 +335,7 @@ void OBSBasic::on_actionRemoveSceneCollection_triggered() return; } - if (api) - api->on_event(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CHANGING); + OnEvent(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CHANGING); oldFile.insert(0, path); /* os_rename() overwrites if necessary, only the .bak file will remain. */ @@ -360,10 +355,8 @@ void OBSBasic::on_actionRemoveSceneCollection_triggered() UpdateTitleBar(); - if (api) { - api->on_event(OBS_FRONTEND_EVENT_SCENE_COLLECTION_LIST_CHANGED); - api->on_event(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CHANGED); - } + OnEvent(OBS_FRONTEND_EVENT_SCENE_COLLECTION_LIST_CHANGED); + OnEvent(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CHANGED); } void OBSBasic::on_actionImportSceneCollection_triggered() @@ -461,8 +454,7 @@ void OBSBasic::ChangeSceneCollection() return; } - if (api) - api->on_event(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CHANGING); + OnEvent(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CHANGING); SaveProjectNow(); @@ -480,6 +472,5 @@ void OBSBasic::ChangeSceneCollection() UpdateTitleBar(); - if (api) - api->on_event(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CHANGED); + OnEvent(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CHANGED); } diff --git a/UI/window-basic-main-screenshot.cpp b/UI/window-basic-main-screenshot.cpp index 4a1c20856..ed8f97db5 100644 --- a/UI/window-basic-main-screenshot.cpp +++ b/UI/window-basic-main-screenshot.cpp @@ -56,9 +56,7 @@ ScreenshotObj::~ScreenshotObj() main->lastScreenshot = path; - if (main->api) - main->api->on_event( - OBS_FRONTEND_EVENT_SCREENSHOT_TAKEN); + main->OnEvent(OBS_FRONTEND_EVENT_SCREENSHOT_TAKEN); } } } diff --git a/UI/window-basic-main-transitions.cpp b/UI/window-basic-main-transitions.cpp index 2894c6387..12c62783c 100644 --- a/UI/window-basic-main-transitions.cpp +++ b/UI/window-basic-main-transitions.cpp @@ -267,10 +267,8 @@ void OBSBasic::TransitionStopped() EnableTransitionWidgets(true); UpdatePreviewProgramIndicators(); - if (api) { - api->on_event(OBS_FRONTEND_EVENT_TRANSITION_STOPPED); - api->on_event(OBS_FRONTEND_EVENT_SCENE_CHANGED); - } + OnEvent(OBS_FRONTEND_EVENT_TRANSITION_STOPPED); + OnEvent(OBS_FRONTEND_EVENT_SCENE_CHANGED); swapScene = nullptr; } @@ -371,8 +369,7 @@ void OBSBasic::TransitionToScene(OBSSource source, bool force, if (force) { obs_transition_set(transition, source); - if (api) - api->on_event(OBS_FRONTEND_EVENT_SCENE_CHANGED); + OnEvent(OBS_FRONTEND_EVENT_SCENE_CHANGED); } else { int duration = ui->transitionDuration->value(); @@ -450,8 +447,7 @@ void OBSBasic::SetTransition(OBSSource transition) ui->transitionRemove->setEnabled(configurable); ui->transitionProps->setEnabled(configurable); - if (api) - api->on_event(OBS_FRONTEND_EVENT_TRANSITION_CHANGED); + OnEvent(OBS_FRONTEND_EVENT_TRANSITION_CHANGED); } OBSSource OBSBasic::GetCurrentTransition() @@ -509,9 +505,7 @@ void OBSBasic::AddTransition(const char *id) CreatePropertiesWindow(source); obs_source_release(source); - if (api) - api->on_event( - OBS_FRONTEND_EVENT_TRANSITION_LIST_CHANGED); + OnEvent(OBS_FRONTEND_EVENT_TRANSITION_LIST_CHANGED); ClearQuickTransitionWidgets(); RefreshQuickTransitions(); @@ -566,8 +560,7 @@ void OBSBasic::on_transitionRemove_clicked() ui->transitions->removeItem(idx); - if (api) - api->on_event(OBS_FRONTEND_EVENT_TRANSITION_LIST_CHANGED); + OnEvent(OBS_FRONTEND_EVENT_TRANSITION_LIST_CHANGED); ClearQuickTransitionWidgets(); RefreshQuickTransitions(); @@ -607,9 +600,7 @@ void OBSBasic::RenameTransition(OBSSource transition) if (idx != -1) { ui->transitions->setItemText(idx, QT_UTF8(name.c_str())); - if (api) - api->on_event( - OBS_FRONTEND_EVENT_TRANSITION_LIST_CHANGED); + OnEvent(OBS_FRONTEND_EVENT_TRANSITION_LIST_CHANGED); ClearQuickTransitionWidgets(); RefreshQuickTransitions(); @@ -643,9 +634,7 @@ void OBSBasic::on_transitionProps_clicked() void OBSBasic::on_transitionDuration_valueChanged() { - if (api) { - api->on_event(OBS_FRONTEND_EVENT_TRANSITION_DURATION_CHANGED); - } + OnEvent(OBS_FRONTEND_EVENT_TRANSITION_DURATION_CHANGED); } QuickTransition *OBSBasic::GetQuickTransition(int id) @@ -714,9 +703,7 @@ void OBSBasic::SetCurrentScene(OBSSource scene, bool force) outputHandler ->UpdateVirtualCamOutputSource(); - if (api) - api->on_event( - OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED); + OnEvent(OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED); break; } } @@ -968,8 +955,7 @@ void OBSBasic::TBarChanged(int value) obs_transition_set_manual_time(transition, (float)value / T_BAR_PRECISION_F); - if (api) - api->on_event(OBS_FRONTEND_EVENT_TBAR_VALUE_CHANGED); + OnEvent(OBS_FRONTEND_EVENT_TBAR_VALUE_CHANGED); } int OBSBasic::GetTbarPosition() @@ -1668,8 +1654,7 @@ void OBSBasic::SetPreviewProgramMode(bool enabled) ui->previewLayout->setAlignment(programOptions, Qt::AlignCenter); - if (api) - api->on_event(OBS_FRONTEND_EVENT_STUDIO_MODE_ENABLED); + OnEvent(OBS_FRONTEND_EVENT_STUDIO_MODE_ENABLED); blog(LOG_INFO, "Switched to Preview/Program mode"); blog(LOG_INFO, "-----------------------------" @@ -1707,8 +1692,7 @@ void OBSBasic::SetPreviewProgramMode(bool enabled) ui->transitions->setEnabled(true); tBarActive = false; - if (api) - api->on_event(OBS_FRONTEND_EVENT_STUDIO_MODE_DISABLED); + OnEvent(OBS_FRONTEND_EVENT_STUDIO_MODE_DISABLED); blog(LOG_INFO, "Switched to regular Preview mode"); blog(LOG_INFO, "-----------------------------" diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index 8f5fc43c1..f9dbebfb9 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -617,10 +617,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); @@ -1443,10 +1441,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" @@ -2525,8 +2521,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 */ @@ -3352,8 +3347,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) @@ -3388,8 +3382,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, @@ -4481,8 +4474,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) @@ -5107,8 +5099,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(); @@ -5287,8 +5278,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++; @@ -5296,8 +5286,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); @@ -5537,8 +5526,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(); } @@ -6881,8 +6869,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) @@ -7116,8 +7103,7 @@ void OBSBasic::StartStreaming() return; } - if (api) - api->on_event(OBS_FRONTEND_EVENT_STREAMING_STARTING); + OnEvent(OBS_FRONTEND_EVENT_STREAMING_STARTING); SaveProject(); @@ -7472,8 +7458,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() @@ -7504,8 +7489,7 @@ void OBSBasic::StreamingStart() } #endif - if (api) - api->on_event(OBS_FRONTEND_EVENT_STREAMING_STARTED); + OnEvent(OBS_FRONTEND_EVENT_STREAMING_STARTED); OnActivate(); @@ -7525,8 +7509,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) @@ -7587,8 +7570,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(); @@ -7720,8 +7702,7 @@ void OBSBasic::StartRecording() return; } - if (api) - api->on_event(OBS_FRONTEND_EVENT_RECORDING_STARTING); + OnEvent(OBS_FRONTEND_EVENT_RECORDING_STARTING); SaveProject(); @@ -7736,8 +7717,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() @@ -7759,8 +7739,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); @@ -7834,8 +7813,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(); @@ -7906,8 +7884,7 @@ void OBSBasic::StartReplayBuffer() return; } - if (api) - api->on_event(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STARTING); + OnEvent(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STARTING); SaveProject(); @@ -7929,8 +7906,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() @@ -7958,8 +7934,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(); @@ -7998,8 +7973,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())); } @@ -8043,8 +8017,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(); } @@ -8086,8 +8059,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(); @@ -8104,8 +8076,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); @@ -10733,8 +10704,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(); @@ -10771,8 +10741,7 @@ void OBSBasic::UnpauseRecording() trayIconFile)); } - if (api) - api->on_event(OBS_FRONTEND_EVENT_RECORDING_UNPAUSED); + OnEvent(OBS_FRONTEND_EVENT_RECORDING_UNPAUSED); } } @@ -11096,3 +11065,9 @@ float OBSBasic::GetDevicePixelRatio() { return dpi; } + +void OBSBasic::OnEvent(enum obs_frontend_event event) +{ + if (api) + api->on_event(event); +} diff --git a/UI/window-basic-main.hpp b/UI/window-basic-main.hpp index f68075ba3..13b44a43d 100644 --- a/UI/window-basic-main.hpp +++ b/UI/window-basic-main.hpp @@ -225,6 +225,7 @@ class OBSBasic : public OBSMainWindow { private: obs_frontend_callbacks *api = nullptr; + void OnEvent(enum obs_frontend_event event); std::shared_ptr auth;