forked from Aitum/obs-vertical-canvas
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig-dialog.hpp
121 lines (105 loc) · 4.08 KB
/
config-dialog.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#pragma once
#include <QCheckBox>
#include <QComboBox>
#include <QDialog>
#include <QMainWindow>
#include <qtextedit.h>
#include <obs-frontend-api.h>
#include <QGroupBox>
#include <qlistwidget.h>
#include <qspinbox.h>
#include <QFormLayout>
#include <QRadioButton>
#include "hotkey-edit.hpp"
class CanvasDock;
class OBSBasicSettings : public QDialog {
Q_OBJECT
Q_PROPERTY(QIcon generalIcon READ GetGeneralIcon WRITE SetGeneralIcon DESIGNABLE true)
Q_PROPERTY(QIcon appearanceIcon READ GetAppearanceIcon WRITE SetAppearanceIcon DESIGNABLE true)
Q_PROPERTY(QIcon streamIcon READ GetStreamIcon WRITE SetStreamIcon DESIGNABLE true)
Q_PROPERTY(QIcon outputIcon READ GetOutputIcon WRITE SetOutputIcon DESIGNABLE true)
Q_PROPERTY(QIcon audioIcon READ GetAudioIcon WRITE SetAudioIcon DESIGNABLE true)
Q_PROPERTY(QIcon videoIcon READ GetVideoIcon WRITE SetVideoIcon DESIGNABLE true)
Q_PROPERTY(QIcon hotkeysIcon READ GetHotkeysIcon WRITE SetHotkeysIcon DESIGNABLE true)
Q_PROPERTY(QIcon accessibilityIcon READ GetAccessibilityIcon WRITE SetAccessibilityIcon DESIGNABLE true)
Q_PROPERTY(QIcon advancedIcon READ GetAdvancedIcon WRITE SetAdvancedIcon DESIGNABLE true)
private:
CanvasDock *canvasDock;
QLabel *newVersion;
QListWidget *listWidget;
QComboBox *resolution;
QCheckBox *showScenes;
QSpinBox *streamingVideoBitrate;
QCheckBox *streamingMatchMain;
QSpinBox *recordVideoBitrate;
QCheckBox *recordingMatchMain;
QComboBox *audioBitrate;
QComboBox *virtualCameraMode;
QCheckBox *backtrackClip;
QSpinBox *backtrackDuration;
QLineEdit *backtrackPath;
QCheckBox *maxSizeEnable;
QSpinBox *maxSize;
QCheckBox *maxTimeEnable;
QSpinBox *maxTime;
QFormLayout *streamingLayout;
std::vector<QLineEdit *> server_names;
std::vector<QComboBox *> servers;
std::vector<QLineEdit *> keys;
std::vector<QCheckBox *> servers_enabled;
QCheckBox *streamDelayEnable;
QSpinBox *streamDelayDuration;
QCheckBox *streamDelayPreserve;
QCheckBox *streamingUseMain;
std::vector<QRadioButton *> streamingAudioTracks;
QComboBox *streamingEncoder;
obs_properties_t *stream_encoder_properties = nullptr;
obs_data_t *stream_encoder_settings = nullptr;
std::map<obs_property_t *, QWidget *> stream_encoder_property_widgets;
QLineEdit *recordPath;
QLineEdit *recordFileFormat;
QCheckBox *recordingUseMain;
QLineEdit *filenameFormat;
QComboBox *fileFormat;
std::vector<QCheckBox *> recordingAudioTracks;
QComboBox *recordingEncoder;
obs_properties_t *record_encoder_properties = nullptr;
obs_data_t *record_encoder_settings = nullptr;
std::map<obs_property_t *, QWidget *> record_encoder_property_widgets;
std::vector<OBSHotkeyWidget *> hotkeys;
QIcon GetGeneralIcon() const;
QIcon GetAppearanceIcon() const;
QIcon GetStreamIcon() const;
QIcon GetOutputIcon() const;
QIcon GetAudioIcon() const;
QIcon GetVideoIcon() const;
QIcon GetHotkeysIcon() const;
QIcon GetAccessibilityIcon() const;
QIcon GetAdvancedIcon() const;
std::vector<obs_hotkey_t *> GetHotKeysFromOutput(obs_output_t *obs_output);
std::vector<obs_key_combination_t> GetCombosForHotkey(obs_hotkey_id hotkey);
std::vector<obs_hotkey_t *> GetHotkeyById(obs_hotkey_id hotkey);
obs_hotkey_t *GetHotkeyByName(QString name);
void SetEncoderBitrate(obs_encoder_t *obs_encoder, bool record);
void AddProperty(obs_property_t *property, obs_data_t *settings, QFormLayout *layout,
std::map<obs_property_t *, QWidget *> *widgets);
void LoadProperty(obs_property_t *property, obs_data_t *settings, QWidget *widget);
void RefreshProperties(std::map<obs_property_t *, QWidget *> *widgets, QFormLayout *layout);
void AddServer();
private slots:
void SetGeneralIcon(const QIcon &icon);
void SetAppearanceIcon(const QIcon &icon);
void SetStreamIcon(const QIcon &icon);
void SetOutputIcon(const QIcon &icon);
void SetAudioIcon(const QIcon &icon);
void SetVideoIcon(const QIcon &icon);
void SetHotkeysIcon(const QIcon &icon);
void SetAccessibilityIcon(const QIcon &icon);
void SetAdvancedIcon(const QIcon &icon);
public:
OBSBasicSettings(CanvasDock *canvas_dock, QMainWindow *parent = nullptr);
~OBSBasicSettings();
void LoadSettings();
void SaveSettings();
public slots:
};