-
Notifications
You must be signed in to change notification settings - Fork 0
/
OBSEnums.py
236 lines (230 loc) · 8.7 KB
/
OBSEnums.py
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
from enum import Enum, IntEnum, IntFlag, unique
@unique
class WebSocketOpCode(IntEnum):
HELLO = 0
IDENTIFY = 1
IDENTIFIED = 2
REIDENTIFY = 3
EVENT = 5
REQUEST = 6
REQUEST_RESPONSE = 7
REQUEST_BATCH = 8
REQUEST_BATCH_RESPONSE = 9
@unique
class WebSocketCloseCode(IntEnum):
DONT_CLOSE = 0
UNKNOWN_REASON = 4000
MESSAGE_DECODE_ERROR = 4002
MISSING_DATA_FIELD = 4001
INVALID_DATA_FIELD_TYPE = 4004
INVALID_DATA_FIELD_VALUE = 4005
UNKNOWN_OP_CODE = 4006
NOT_IDENTIFIED = 4007
ALREADY_IDENTIFIED = 4008
AUTHENTICATION_FAILED = 4009
UNSUPPORTED_RPC_VERSION = 4010
SESSION_INVALIDATED = 4011
UNSUPPORTED_FEATURE = 4012
@unique
class RequestBatchExecutionType(IntEnum):
NONE = -1
SERIAL_REALTIME = 0
SERIAL_FRAME = 1
PARALLEL = 2
@unique
class RequestStatus(IntEnum):
UNKNOWN = 0
NO_ERROR = 10
SUCCESS = 100
MISSING_REQUEST_TYPE = 203
UNKNOWN_REQUEST_TYPE = 204
GENERIC_ERROR = 205
UNSUPPORTED_REQUEST_BATCH_EXECUTION_TYPE = 206
NOT_READY = 207
MISSING_REQUEST_FIELD = 300
MISSING_REQUEST_DATA = 301
INVALID_REQUEST_FIELD = 400
INVALID_REQUEST_FIELD_TYPE = 401
REQUEST_FIELD_OUT_OF_RANGE = 402
REQUEST_FIELD_EMPTY = 403
TOO_MANY_REQUEST_FIELDS = 404
OUTPUT_RUNNING = 500
OUTPUT_NOT_RUNNING = 501
OUTPUT_PAUSED = 502
OUTPUT_NOT_PAUSED = 503
OUTPUT_DISABLED = 504
STUDIO_MODE_ACTIVE = 505
STUDIO_MODE_NOT_ACTIVE = 506
RESOURCE_NOT_FOUND = 600
RESOURCE_ALREADY_EXISTS = 601
INVALID_RESOURCE_TYPE = 602
NOT_ENOUGH_RESOURCES = 603
INVALID_RESOURCE_STATE = 604
INVALID_INPUT_KIND = 605
RESOURCE_NOT_CONFIGURABLE = 606
INVALID_FILTER_KIND = 607
RESOURCE_CREATION_FAILED = 700
RESOURCE_ACTION_FAILED = 701
REQUEST_PROCESSING_FAILED = 702
CANNOT_ACT = 703
@unique
class EventSubscription(IntFlag):
NONE = 0
GENERAL = 1 << 0
CONFIG = 1 << 1
SCENES = 1 << 2
INPUTS = 1 << 3
TRANSITIONS = 1 << 4
FILTERS = 1 << 5
OUTPUTS = 1 << 6
SCENE_ITEMS = 1 << 7
MEDIA_INPUTS = 1 << 8
VENDORS = 1 << 9
UI = 1 << 10
ALL = GENERAL | CONFIG | SCENES | INPUTS | TRANSITIONS | FILTERS | OUTPUTS | SCENE_ITEMS | MEDIA_INPUTS | VENDORS | UI
INPUT_VOLUME_METERS = 1 << 16
INPUT_ACTIVE_STATE_CHANGED = 1 << 17
INPUT_SHOW_STATE_CHANGED = 1 << 18
SCENE_ITEM_TRANSFORM_CHANGED = 1 << 19
@unique
class RequestType(Enum):
GET_VERSION = 'GetVersion'
GET_STATS = 'GetStats'
BROADCAST_CUSTOM_EVENT = 'BroadcastCustomEvent'
CALL_VENDOR_REQUEST = 'CallVendorRequest'
GET_HOTKEY_LIST = 'GetHotkeyList'
TRIGGER_HOTKEY_BY_NAME = 'TriggerHotkeyByName'
TRIGGER_HOTKEY_BY_KEY_SEQUENCE = 'TriggerHotkeyByKeySequence'
SLEEP = 'Sleep'
GET_PERSISTENT_DATA = 'GetPersistentData'
SET_PERSISTENT_DATA = 'SetPersistentData'
GET_SCENE_COLLECTION_LIST = 'GetSceneCollectionList'
SET_CURRENT_SCENE_COLLECTION = 'SetCurrentSceneCollection'
CREATE_SCENE_COLLECTION = 'CreateSceneCollection'
GET_PROFILE_LIST = 'GetProfileList'
SET_CURRENT_PROFILE = 'SetCurrentProfile'
CREATE_PROFILE = 'CreateProfile'
REMOVE_PROFILE = 'RemoveProfile'
GET_PROFILE_PARAMETER = 'GetProfileParameter'
SET_PROFILE_PARAMETER = 'SetProfileParameter'
GET_VIDEO_SETTINGS = 'GetVideoSettings'
SET_VIDEO_SETTINGS = 'SetVideoSettings'
GET_STREAM_SERVICE_SETTINGS = 'GetStreamServiceSettings'
SET_STREAM_SERVICE_SETTINGS = 'SetStreamServiceSettings'
GET_RECORD_DIRECTORY = 'GetRecordDirectory'
SET_RECORD_DIRECTORY = 'SetRecordDirectory'
GET_SOURCE_ACTIVE = 'GetSourceActive'
GET_SOURCE_SCREENSHOT = 'GetSourceScreenshot'
SAVE_SOURCE_SCREENSHOT = 'SaveSourceScreenshot'
GET_SCENE_LIST = 'GetSceneList'
GET_GROUP_LIST = 'GetGroupList'
GET_CURRENT_PROGRAM_SCENE = 'GetCurrentProgramScene'
SET_CURRENT_PROGRAM_SCENE = 'SetCurrentProgramScene'
GET_CURRENT_PREVIEW_SCENE = 'GetCurrentPreviewScene'
SET_CURRENT_PREVIEW_SCENE = 'SetCurrentPreviewScene'
CREATE_SCENE = 'CreateScene'
REMOVE_SCENE = 'RemoveScene'
SET_SCENE_NAME = 'SetSceneName'
GET_SCENE_SCENE_TRANSITION_OVERRIDE = 'GetSceneSceneTransitionOverride'
SET_SCENE_SCENE_TRANSITION_OVERRIDE = 'SetSceneSceneTransitionOverride'
GET_INPUT_LIST = 'GetInputList'
GET_INPUT_KIND_LIST = 'GetInputKindList'
GET_SPECIAL_INPUTS = 'GetSpecialInputs'
CREATE_INPUT = 'CreateInput'
REMOVE_INPUT = 'RemoveInput'
SET_INPUT_NAME = 'SetInputName'
GET_INPUT_DEFAULT_SETTINGS = 'GetInputDefaultSettings'
GET_INPUT_SETTINGS = 'GetInputSettings'
SET_INPUT_SETTINGS = 'SetInputSettings'
GET_INPUT_MUTE = 'GetInputMute'
SET_INPUT_MUTE = 'SetInputMute'
TOGGLE_INPUT_MUTE = 'ToggleInputMute'
GET_INPUT_VOLUME = 'GetInputVolume'
SET_INPUT_VOLUME = 'SetInputVolume'
GET_INPUT_AUDIO_BALANCE = 'GetInputAudioBalance'
SET_INPUT_AUDIO_BALANCE = 'SetInputAudioBalance'
GET_INPUT_AUDIO_SYNC_OFFSET = 'GetInputAudioSyncOffset'
SET_INPUT_AUDIO_SYNC_OFFSET = 'SetInputAudioSyncOffset'
GET_INPUT_AUDIO_MONITOR_TYPE = 'GetInputAudioMonitorType'
SET_INPUT_AUDIO_MONITOR_TYPE = 'SetInputAudioMonitorType'
GET_INPUT_AUDIO_TRACKS = 'GetInputAudioTracks'
SET_INPUT_AUDIO_TRACKS = 'SetInputAudioTracks'
GET_INPUT_PROPERTIES_LIST_PROPERTY_ITEMS = 'GetInputPropertiesListPropertyItems'
PRESS_INPUT_PROPERTIES_BUTTON = 'PressInputPropertiesButton'
GET_TRANSITION_KIND_LIST = 'GetTransitionKindList'
GET_SCENE_TRANSITION_LIST = 'GetSceneTransitionList'
GET_CURRENT_SCENE_TRANSITION = 'GetCurrentSceneTransition'
SET_CURRENT_SCENE_TRANSITION = 'SetCurrentSceneTransition'
SET_CURRENT_SCENE_TRANSITION_DURATION = 'SetCurrentSceneTransitionDuration'
SET_CURRENT_SCENE_TRANSITION_SETTINGS = 'SetCurrentSceneTransitionSettings'
GET_CURRENT_SCENE_TRANSITION_CURSOR = 'GetCurrentSceneTransitionCursor'
TRIGGER_STUDIO_MODE_TRANSITION = 'TriggerStudioModeTransition'
SET_T_BAR_POSITION = 'SetTBarPosition'
GET_SOURCE_FILTER_KIND_LIST = 'GetSourceFilterKindList'
GET_SOURCE_FILTER_LIST = 'GetSourceFilterList'
GET_SOURCE_FILTER_DEFAULT_SETTINGS = 'GetSourceFilterDefaultSettings'
CREATE_SOURCE_FILTER = 'CreateSourceFilter'
REMOVE_SOURCE_FILTER = 'RemoveSourceFilter'
SET_SOURCE_FILTER_NAME = 'SetSourceFilterName'
GET_SOURCE_FILTER = 'GetSourceFilter'
SET_SOURCE_FILTER_INDEX = 'SetSourceFilterIndex'
SET_SOURCE_FILTER_SETTINGS = 'SetSourceFilterSettings'
SET_SOURCE_FILTER_ENABLED = 'SetSourceFilterEnabled'
GET_SCENE_ITEM_LIST = 'GetSceneItemList'
GET_GROUP_SCENE_ITEM_LIST = 'GetGroupSceneItemList'
GET_SCENE_ITEM_ID = 'GetSceneItemId'
GET_SCENE_ITEM_SOURCE = 'GetSceneItemSource'
CREATE_SCENE_ITEM = 'CreateSceneItem'
REMOVE_SCENE_ITEM = 'RemoveSceneItem'
DUPLICATE_SCENE_ITEM = 'DuplicateSceneItem'
GET_SCENE_ITEM_TRANSFORM = 'GetSceneItemTransform'
SET_SCENE_ITEM_TRANSFORM = 'SetSceneItemTransform'
GET_SCENE_ITEM_ENABLED = 'GetSceneItemEnabled'
SET_SCENE_ITEM_ENABLED = 'SetSceneItemEnabled'
GET_SCENE_ITEM_LOCKED = 'GetSceneItemLocked'
SET_SCENE_ITEM_LOCKED = 'SetSceneItemLocked'
GET_SCENE_ITEM_INDEX = 'GetSceneItemIndex'
SET_SCENE_ITEM_INDEX = 'SetSceneItemIndex'
GET_SCENE_ITEM_BLEND_MODE = 'GetSceneItemBlendMode'
SET_SCENE_ITEM_BLEND_MODE = 'SetSceneItemBlendMode'
GET_VIRTUAL_CAM_STATUS = 'GetVirtualCamStatus'
TOGGLE_VIRTUAL_CAM = 'ToggleVirtualCam'
START_VIRTUAL_CAM = 'StartVirtualCam'
STOP_VIRTUAL_CAM = 'StopVirtualCam'
GET_REPLAY_BUFFER_STATUS = 'GetReplayBufferStatus'
TOGGLE_REPLAY_BUFFER = 'ToggleReplayBuffer'
START_REPLAY_BUFFER = 'StartReplayBuffer'
STOP_REPLAY_BUFFER = 'StopReplayBuffer'
SAVE_REPLAY_BUFFER = 'SaveReplayBuffer'
GET_LAST_REPLAY_BUFFER_REPLAY = 'GetLastReplayBufferReplay'
GET_OUTPUT_LIST = 'GetOutputList'
GET_OUTPUT_STATUS = 'GetOutputStatus'
TOGGLE_OUTPUT = 'ToggleOutput'
START_OUTPUT = 'StartOutput'
STOP_OUTPUT = 'StopOutput'
GET_OUTPUT_SETTINGS = 'GetOutputSettings'
SET_OUTPUT_SETTINGS = 'SetOutputSettings'
GET_STREAM_STATUS = 'GetStreamStatus'
TOGGLE_STREAM = 'ToggleStream'
START_STREAM = 'StartStream'
STOP_STREAM = 'StopStream'
SEND_STREAM_CAPTION = 'SendStreamCaption'
GET_RECORD_STATUS = 'GetRecordStatus'
TOGGLE_RECORD = 'ToggleRecord'
START_RECORD = 'StartRecord'
STOP_RECORD = 'StopRecord'
TOGGLE_RECORD_PAUSE = 'ToggleRecordPause'
PAUSE_RECORD = 'PauseRecord'
RESUME_RECORD = 'ResumeRecord'
GET_MEDIA_INPUT_STATUS = 'GetMediaInputStatus'
SET_MEDIA_INPUT_CURSOR = 'SetMediaInputCursor'
OFFSET_MEDIA_INPUT_CURSOR = 'OffsetMediaInputCursor'
TRIGGER_MEDIA_INPUT_ACTION = 'TriggerMediaInputAction'
GET_STUDIO_MODE_ENABLED = 'GetStudioModeEnabled'
SET_STUDIO_MODE_ENABLED = 'SetStudioModeEnabled'
OPEN_INPUT_PROPERTIES_DIALOG = 'OpenInputPropertiesDialog'
OPEN_INPUT_FILTERS_DIALOG = 'OpenInputFiltersDialog'
OPEN_INPUT_INTERACT_DIALOG = 'OpenInputInteractDialog'
GET_MONITOR_LIST = 'GetMonitorList'
OPEN_VIDEO_MIX_PROJECTOR = 'OpenVideoMixProjector'
OPEN_SOURCE_PROJECTOR = 'OpenSourceProjector'