New upstream version 26.0.0+dfsg1

This commit is contained in:
Sebastian Ramacher 2020-10-01 22:15:25 +02:00
parent 8e020cdacb
commit 240080891f
837 changed files with 41275 additions and 9196 deletions

View file

@ -34,6 +34,7 @@
#include "window-projector.hpp"
#include "window-basic-about.hpp"
#include "auth-base.hpp"
#include "log-viewer.hpp"
#include <obs-frontend-internal.hpp>
@ -78,6 +79,8 @@ struct SavedProjectorInfo {
int monitor;
std::string geometry;
std::string name;
bool alwaysOnTop;
bool alwaysOnTopOverridden;
};
struct QuickTransition {
@ -160,6 +163,9 @@ class OBSBasic : public OBSMainWindow {
friend class ReplayBufferButton;
friend class ExtraBrowsersModel;
friend class ExtraBrowsersDelegate;
friend class DeviceCaptureToolbar;
friend class DeviceToolbarPropertiesThread;
friend struct BasicOutputHandler;
friend struct OBSStudioAPI;
enum class MoveDir { Up, Down, Left, Right };
@ -194,6 +200,7 @@ private:
bool copyVisible = true;
bool closing = false;
QScopedPointer<QThread> devicePropertiesThread;
QScopedPointer<QThread> whatsNewInitThread;
QScopedPointer<QThread> updateCheckThread;
QScopedPointer<QThread> introCheckThread;
@ -207,6 +214,8 @@ private:
QPointer<QDockWidget> statsDock;
QPointer<OBSAbout> about;
OBSLogViewer *logView = nullptr;
QPointer<QTimer> cpuUsageTimer;
QPointer<QTimer> diskFullTimer;
@ -226,7 +235,6 @@ private:
gs_vertbuffer_t *circle = nullptr;
bool sceneChanging = false;
bool ignoreSelectionUpdate = false;
int previewX = 0, previewY = 0;
int previewCX = 0, previewCY = 0;
@ -250,6 +258,9 @@ private:
QScopedPointer<QPushButton> pause;
QScopedPointer<QPushButton> replay;
QPointer<QPushButton> vcamButton;
bool vcamEnabled = false;
QScopedPointer<QSystemTrayIcon> trayIcon;
QPointer<QAction> sysTrayStream;
QPointer<QAction> sysTrayRecord;
@ -271,6 +282,8 @@ private:
QPointer<QMenu> deinterlaceMenu;
QPointer<QMenu> perSceneTransitionMenu;
QPointer<QObject> shortcutFilter;
QPointer<QAction> renameScene;
QPointer<QAction> renameSource;
QPointer<QWidget> programWidget;
QPointer<QVBoxLayout> programLayout;
@ -292,7 +305,7 @@ private:
void UpdateVolumeControlsPeakMeterType();
void ClearVolumeControls();
void UploadLog(const char *subdir, const char *file);
void UploadLog(const char *subdir, const char *file, const bool crash);
void Save(const char *file);
void Load(const char *file);
@ -339,6 +352,7 @@ private:
void CloseDialogs();
void ClearSceneData();
void ClearProjectors();
void Nudge(int dist, MoveDir dir);
@ -371,7 +385,8 @@ private:
QModelIndexList GetAllSelectedSourceItems();
obs_hotkey_pair_id streamingHotkeys, recordingHotkeys, pauseHotkeys,
replayBufHotkeys, togglePreviewHotkeys;
replayBufHotkeys, vcamHotkeys, togglePreviewHotkeys,
contextBarHotkeys;
obs_hotkey_id forceStreamingStopHotkey;
void InitDefaultTransitions();
@ -382,6 +397,7 @@ private:
void LoadTransitions(obs_data_array_t *transitions);
obs_source_t *fadeTransition;
obs_source_t *cutTransition;
void CreateProgramDisplay();
void CreateProgramOptions();
@ -426,6 +442,8 @@ private:
obs_hotkey_id togglePreviewProgramHotkey = 0;
obs_hotkey_id transitionHotkey = 0;
obs_hotkey_id statsHotkey = 0;
obs_hotkey_id screenshotHotkey = 0;
obs_hotkey_id sourceScreenshotHotkey = 0;
int quickTransitionIdCounter = 1;
bool overridingTransition = false;
@ -516,10 +534,18 @@ private:
OBSSource GetOverrideTransition(OBSSource source);
int GetOverrideTransitionDuration(OBSSource source);
void UpdateProjectorHideCursor();
void UpdateProjectorAlwaysOnTop(bool top);
void ResetProjectors();
QPointer<QObject> screenshotData;
public slots:
void DeferSaveBegin();
void DeferSaveEnd();
void DisplayStreamStartError();
void StartStreaming();
void StopStreaming();
void ForceStopStreaming();
@ -547,6 +573,12 @@ public slots:
void ReplayBufferStopping();
void ReplayBufferStop(int code);
void StartVirtualCam();
void StopVirtualCam();
void OnVirtualCamStart();
void OnVirtualCamStop(int code);
void SaveProjectDeferred();
void SaveProject();
@ -564,6 +596,8 @@ public slots:
void UpdatePatronJson(const QString &text, const QString &error);
void ShowContextBar();
void HideContextBar();
void PauseRecording();
void UnpauseRecording();
@ -573,8 +607,6 @@ private slots:
void RemoveScene(OBSSource source);
void RenameSources(OBSSource source, QString newName, QString prevName);
void SelectSceneItem(OBSScene scene, OBSSceneItem item, bool select);
void ActivateAudioSource(OBSSource source);
void DeactivateAudioSource(OBSSource source);
@ -589,7 +621,7 @@ private slots:
void ProcessHotkey(obs_hotkey_id id, bool pressed);
void AddTransition();
void AddTransition(QString id);
void RenameTransition();
void TransitionClicked();
void TransitionStopped();
@ -640,8 +672,7 @@ private slots:
void CheckDiskSpaceRemaining();
void OpenSavedProjector(SavedProjectorInfo *info);
void ScenesReordered(const QModelIndex &parent, int start, int end,
const QModelIndex &destination, int row);
void ScenesReordered();
void ResetStatsHotkey();
@ -671,8 +702,6 @@ private:
static void SceneReordered(void *data, calldata_t *params);
static void SceneRefreshed(void *data, calldata_t *params);
static void SceneItemAdded(void *data, calldata_t *params);
static void SceneItemSelected(void *data, calldata_t *params);
static void SceneItemDeselected(void *data, calldata_t *params);
static void SourceCreated(void *data, calldata_t *params);
static void SourceRemoved(void *data, calldata_t *params);
static void SourceActivated(void *data, calldata_t *params);
@ -726,6 +755,8 @@ public:
return os_atomic_load_bool(&previewProgramMode);
}
inline bool VCamEnabled() const { return vcamEnabled; }
bool StreamingActive() const;
bool Active() const;
@ -733,6 +764,7 @@ public:
int ResetVideo();
bool ResetAudio();
void AddVCamButton();
void ResetOutputs();
void ResetAudioDevice(const char *sourceId, const char *deviceId,
@ -873,7 +905,12 @@ private slots:
void on_streamButton_clicked();
void on_recordButton_clicked();
void VCamButtonClicked();
void on_settingsButton_clicked();
void Screenshot(OBSSource source_ = nullptr);
void ScreenshotSelectedSource();
void ScreenshotProgram();
void ScreenshotScene();
void on_actionHelpPortal_triggered();
void on_actionWebsite_triggered();
@ -903,17 +940,21 @@ private slots:
void on_actionAlwaysOnTop_triggered();
void on_toggleListboxToolbars_toggled(bool visible);
void on_toggleContextBar_toggled(bool visible);
void on_toggleStatusBar_toggled(bool visible);
void on_toggleSourceIcons_toggled(bool visible);
void on_transitions_currentIndexChanged(int index);
void on_transitionAdd_clicked();
void on_transitionRemove_clicked();
void on_transitionProps_clicked();
void on_transitionDuration_valueChanged(int value);
void on_modeSwitch_clicked();
// Source Context Buttons
void on_sourcePropertiesButton_clicked();
void on_sourceFiltersButton_clicked();
void on_autoConfigure_triggered();
void on_stats_triggered();
@ -923,6 +964,8 @@ private slots:
void PauseToggled();
void logUploadFinished(const QString &text, const QString &error);
void crashUploadFinished(const QString &text, const QString &error);
void openLogDialog(const QString &text, const bool crash);
void updateCheckFinished();
@ -973,6 +1016,9 @@ public slots:
bool RecordingActive();
bool ReplayBufferActive();
void ClearContextBar();
void UpdateContextBar();
public:
explicit OBSBasic(QWidget *parent = 0);
virtual ~OBSBasic();