#pragma once #include #include #include #include class OBSBasic; #include "ui_OBSBasicControls.h" class OBSBasicControls : public QFrame { Q_OBJECT std::unique_ptr ui; QScopedPointer streamButtonMenu; QPointer startStreamAction; QPointer stopStreamAction; private slots: void StreamingPreparing(); void StreamingStarting(bool broadcastAutoStart); void StreamingStarted(bool withDelay); void StreamingStopping(); void StreamingStopped(bool withDelay); void BroadcastStreamReady(bool ready); void BroadcastStreamActive(); void BroadcastStreamStarted(bool autoStop); void RecordingStarted(bool pausable); void RecordingPaused(); void RecordingUnpaused(); void RecordingStopping(); void RecordingStopped(); void ReplayBufferStarted(); void ReplayBufferStopping(); void ReplayBufferStopped(); void VirtualCamStarted(); void VirtualCamStopped(); void UpdateStudioModeState(bool enabled); void EnableBroadcastFlow(bool enabled); void EnableReplayBufferButtons(bool enabled); void EnableVirtualCamButtons(); public: OBSBasicControls(OBSBasic *main); inline ~OBSBasicControls() {} signals: void StreamButtonClicked(); void BroadcastButtonClicked(); void RecordButtonClicked(); void PauseRecordButtonClicked(); void ReplayBufferButtonClicked(); void SaveReplayBufferButtonClicked(); void VirtualCamButtonClicked(); void VirtualCamConfigButtonClicked(); void StudioModeButtonClicked(); void SettingsButtonClicked(); void ExitButtonClicked(); void StartStreamMenuActionClicked(); void StopStreamMenuActionClicked(); void ForceStopStreamMenuActionClicked(); };