obs-websocket 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,4380 @@
1
+ # Generated from <https://raw.githubusercontent.com/Palakis/obs-websocket/4.9.0/docs/generated/comments.json>
2
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md
3
+ module OBS::WebSocket::Protocol
4
+ VERSION = "4.9.0"
5
+ module Types
6
+ SceneItem = Type.new(name: "SceneItem") do
7
+ def as_ruby(o)
8
+ SceneItem__BASE.as_ruby(o)
9
+ end
10
+ def as_json(o)
11
+ SceneItem__BASE.as_json(o)
12
+ end
13
+ end
14
+ SceneItem__BASE = Types::Object[{"cy"=>{:type=>Types::Numeric, :json_name=>"cy"}, "cx"=>{:type=>Types::Numeric, :json_name=>"cx"}, "alignment"=>{:type=>Types::Numeric, :json_name=>"alignment"}, "name"=>{:type=>Types::String, :json_name=>"name"}, "id"=>{:type=>Types::Integer, :json_name=>"id"}, "render"=>{:type=>Types::Boolean, :json_name=>"render"}, "muted"=>{:type=>Types::Boolean, :json_name=>"muted"}, "locked"=>{:type=>Types::Boolean, :json_name=>"locked"}, "source_cx"=>{:type=>Types::Numeric, :json_name=>"source_cx"}, "source_cy"=>{:type=>Types::Numeric, :json_name=>"source_cy"}, "type"=>{:type=>Types::String, :json_name=>"type"}, "volume"=>{:type=>Types::Numeric, :json_name=>"volume"}, "x"=>{:type=>Types::Numeric, :json_name=>"x"}, "y"=>{:type=>Types::Numeric, :json_name=>"y"}, "parent_group_name"=>{:type=>Types::Optional[Types::String], :json_name=>"parentGroupName"}, "group_children"=>{:type=>Types::Optional[Types::Array[Types::SceneItem]], :json_name=>"groupChildren"}}]
15
+ private_constant :SceneItem__BASE
16
+ SceneItemTransform = Type.new(name: "SceneItemTransform") do
17
+ def as_ruby(o)
18
+ SceneItemTransform__BASE.as_ruby(o)
19
+ end
20
+ def as_json(o)
21
+ SceneItemTransform__BASE.as_json(o)
22
+ end
23
+ end
24
+ SceneItemTransform__BASE = Types::Object[{"position"=>{:type=>Types::Object[{:x=>{:type=>Types::Float, :json_name=>"x"}, :y=>{:type=>Types::Float, :json_name=>"y"}, :alignment=>{:type=>Types::Integer, :json_name=>"alignment"}}], :json_name=>"position"}, "rotation"=>{:type=>Types::Float, :json_name=>"rotation"}, "scale"=>{:type=>Types::Object[{:x=>{:type=>Types::Float, :json_name=>"x"}, :y=>{:type=>Types::Float, :json_name=>"y"}}], :json_name=>"scale"}, "crop"=>{:type=>Types::Object[{:top=>{:type=>Types::Integer, :json_name=>"top"}, :right=>{:type=>Types::Integer, :json_name=>"right"}, :bottom=>{:type=>Types::Integer, :json_name=>"bottom"}, :left=>{:type=>Types::Integer, :json_name=>"left"}}], :json_name=>"crop"}, "visible"=>{:type=>Types::Boolean, :json_name=>"visible"}, "locked"=>{:type=>Types::Boolean, :json_name=>"locked"}, "bounds"=>{:type=>Types::Object[{:type=>{:type=>Types::String, :json_name=>"type"}, :alignment=>{:type=>Types::Integer, :json_name=>"alignment"}, :x=>{:type=>Types::Float, :json_name=>"x"}, :y=>{:type=>Types::Float, :json_name=>"y"}}], :json_name=>"bounds"}, "source_width"=>{:type=>Types::Integer, :json_name=>"sourceWidth"}, "source_height"=>{:type=>Types::Integer, :json_name=>"sourceHeight"}, "width"=>{:type=>Types::Float, :json_name=>"width"}, "height"=>{:type=>Types::Float, :json_name=>"height"}, "parent_group_name"=>{:type=>Types::Optional[Types::String], :json_name=>"parentGroupName"}, "group_children"=>{:type=>Types::Optional[Types::Array[Types::SceneItemTransform]], :json_name=>"groupChildren"}}]
25
+ private_constant :SceneItemTransform__BASE
26
+ OBSStats = Type.new(name: "OBSStats") do
27
+ def as_ruby(o)
28
+ OBSStats__BASE.as_ruby(o)
29
+ end
30
+ def as_json(o)
31
+ OBSStats__BASE.as_json(o)
32
+ end
33
+ end
34
+ OBSStats__BASE = Types::Object[{"fps"=>{:type=>Types::Float, :json_name=>"fps"}, "render_total_frames"=>{:type=>Types::Integer, :json_name=>"render-total-frames"}, "render_missed_frames"=>{:type=>Types::Integer, :json_name=>"render-missed-frames"}, "output_total_frames"=>{:type=>Types::Integer, :json_name=>"output-total-frames"}, "output_skipped_frames"=>{:type=>Types::Integer, :json_name=>"output-skipped-frames"}, "average_frame_time"=>{:type=>Types::Float, :json_name=>"average-frame-time"}, "cpu_usage"=>{:type=>Types::Float, :json_name=>"cpu-usage"}, "memory_usage"=>{:type=>Types::Float, :json_name=>"memory-usage"}, "free_disk_space"=>{:type=>Types::Float, :json_name=>"free-disk-space"}}]
35
+ private_constant :OBSStats__BASE
36
+ Output = Type.new(name: "Output") do
37
+ def as_ruby(o)
38
+ Output__BASE.as_ruby(o)
39
+ end
40
+ def as_json(o)
41
+ Output__BASE.as_json(o)
42
+ end
43
+ end
44
+ Output__BASE = Types::Object[{"name"=>{:type=>Types::String, :json_name=>"name"}, "type"=>{:type=>Types::String, :json_name=>"type"}, "width"=>{:type=>Types::Integer, :json_name=>"width"}, "height"=>{:type=>Types::Integer, :json_name=>"height"}, "flags"=>{:type=>Types::Object[{:raw_value=>{:type=>Types::Integer, :json_name=>"rawValue"}, :audio=>{:type=>Types::Boolean, :json_name=>"audio"}, :video=>{:type=>Types::Boolean, :json_name=>"video"}, :encoded=>{:type=>Types::Boolean, :json_name=>"encoded"}, :multi_track=>{:type=>Types::Boolean, :json_name=>"multiTrack"}, :service=>{:type=>Types::Boolean, :json_name=>"service"}}], :json_name=>"flags"}, "settings"=>{:type=>Types::Object, :json_name=>"settings"}, "active"=>{:type=>Types::Boolean, :json_name=>"active"}, "reconnecting"=>{:type=>Types::Boolean, :json_name=>"reconnecting"}, "congestion"=>{:type=>Types::Float, :json_name=>"congestion"}, "total_frames"=>{:type=>Types::Integer, :json_name=>"totalFrames"}, "dropped_frames"=>{:type=>Types::Integer, :json_name=>"droppedFrames"}, "total_bytes"=>{:type=>Types::Integer, :json_name=>"totalBytes"}}]
45
+ private_constant :Output__BASE
46
+ ScenesCollection = Type.new(name: "ScenesCollection") do
47
+ def as_ruby(o)
48
+ ScenesCollection__BASE.as_ruby(o)
49
+ end
50
+ def as_json(o)
51
+ ScenesCollection__BASE.as_json(o)
52
+ end
53
+ end
54
+ ScenesCollection__BASE = Types::Object[{"sc_name"=>{:type=>Types::String, :json_name=>"sc-name"}}]
55
+ private_constant :ScenesCollection__BASE
56
+ Scene = Type.new(name: "Scene") do
57
+ def as_ruby(o)
58
+ Scene__BASE.as_ruby(o)
59
+ end
60
+ def as_json(o)
61
+ Scene__BASE.as_json(o)
62
+ end
63
+ end
64
+ Scene__BASE = Types::Object[{"name"=>{:type=>Types::String, :json_name=>"name"}, "sources"=>{:type=>Types::Array[Types::SceneItem], :json_name=>"sources"}}]
65
+ private_constant :Scene__BASE
66
+ end # module Types
67
+ module Events
68
+ class SwitchScenes < Event
69
+ json_name "SwitchScenes"
70
+ # @!attribute [r] scene_name
71
+ # @return [String] <tt>scene-name</tt> field
72
+ def scene_name; get_field("scene-name", Types::String); end
73
+ # @!attribute [r] sources
74
+ # @return [Array<SceneItem>] <tt>sources</tt> field
75
+ def sources; get_field("sources", Types::Array[Types::SceneItem]); end
76
+ end
77
+ class ScenesChanged < Event
78
+ json_name "ScenesChanged"
79
+ # @!attribute [r] scenes
80
+ # @return [Array<Scene>] <tt>scenes</tt> field
81
+ def scenes; get_field("scenes", Types::Array[Types::Scene]); end
82
+ end
83
+ class SceneCollectionChanged < Event
84
+ json_name "SceneCollectionChanged"
85
+ # @!attribute [r] scene_collection
86
+ # @return [String] <tt>sceneCollection</tt> field
87
+ def scene_collection; get_field("sceneCollection", Types::String); end
88
+ end
89
+ class SceneCollectionListChanged < Event
90
+ json_name "SceneCollectionListChanged"
91
+ # @!attribute [r] scene_collections
92
+ # @return [Array<Hash>] <tt>sceneCollections</tt> field
93
+ def scene_collections; get_field("sceneCollections", Types::Array[Types::Object[{:name=>{:type=>Types::String, :json_name=>"name"}}]]); end
94
+ end
95
+ class SwitchTransition < Event
96
+ json_name "SwitchTransition"
97
+ # @!attribute [r] transition_name
98
+ # @return [String] <tt>transition-name</tt> field
99
+ def transition_name; get_field("transition-name", Types::String); end
100
+ end
101
+ class TransitionListChanged < Event
102
+ json_name "TransitionListChanged"
103
+ # @!attribute [r] transitions
104
+ # @return [Array<Hash>] <tt>transitions</tt> field
105
+ def transitions; get_field("transitions", Types::Array[Types::Object[{:name=>{:type=>Types::String, :json_name=>"name"}}]]); end
106
+ end
107
+ class TransitionDurationChanged < Event
108
+ json_name "TransitionDurationChanged"
109
+ # @!attribute [r] new_duration
110
+ # @return [Integer] <tt>new-duration</tt> field
111
+ def new_duration; get_field("new-duration", Types::Integer); end
112
+ end
113
+ class TransitionBegin < Event
114
+ json_name "TransitionBegin"
115
+ # @!attribute [r] name
116
+ # @return [String] <tt>name</tt> field
117
+ def name; get_field("name", Types::String); end
118
+ # @!attribute [r] type
119
+ # @return [String] <tt>type</tt> field
120
+ def type; get_field("type", Types::String); end
121
+ # @!attribute [r] duration
122
+ # @return [Integer] <tt>duration</tt> field
123
+ def duration; get_field("duration", Types::Integer); end
124
+ # @!attribute [r] from_scene
125
+ # @return [String] <tt>from-scene</tt> field
126
+ def from_scene; get_field("from-scene", Types::String); end
127
+ # @!attribute [r] to_scene
128
+ # @return [String] <tt>to-scene</tt> field
129
+ def to_scene; get_field("to-scene", Types::String); end
130
+ end
131
+ class TransitionEnd < Event
132
+ json_name "TransitionEnd"
133
+ # @!attribute [r] name
134
+ # @return [String] <tt>name</tt> field
135
+ def name; get_field("name", Types::String); end
136
+ # @!attribute [r] type
137
+ # @return [String] <tt>type</tt> field
138
+ def type; get_field("type", Types::String); end
139
+ # @!attribute [r] duration
140
+ # @return [Integer] <tt>duration</tt> field
141
+ def duration; get_field("duration", Types::Integer); end
142
+ # @!attribute [r] to_scene
143
+ # @return [String] <tt>to-scene</tt> field
144
+ def to_scene; get_field("to-scene", Types::String); end
145
+ end
146
+ class TransitionVideoEnd < Event
147
+ json_name "TransitionVideoEnd"
148
+ # @!attribute [r] name
149
+ # @return [String] <tt>name</tt> field
150
+ def name; get_field("name", Types::String); end
151
+ # @!attribute [r] type
152
+ # @return [String] <tt>type</tt> field
153
+ def type; get_field("type", Types::String); end
154
+ # @!attribute [r] duration
155
+ # @return [Integer] <tt>duration</tt> field
156
+ def duration; get_field("duration", Types::Integer); end
157
+ # @!attribute [r] from_scene
158
+ # @return [String] <tt>from-scene</tt> field
159
+ def from_scene; get_field("from-scene", Types::String); end
160
+ # @!attribute [r] to_scene
161
+ # @return [String] <tt>to-scene</tt> field
162
+ def to_scene; get_field("to-scene", Types::String); end
163
+ end
164
+ class ProfileChanged < Event
165
+ json_name "ProfileChanged"
166
+ # @!attribute [r] profile
167
+ # @return [String] <tt>profile</tt> field
168
+ def profile; get_field("profile", Types::String); end
169
+ end
170
+ class ProfileListChanged < Event
171
+ json_name "ProfileListChanged"
172
+ # @!attribute [r] profiles
173
+ # @return [Array<Hash>] <tt>profiles</tt> field
174
+ def profiles; get_field("profiles", Types::Array[Types::Object[{:name=>{:type=>Types::String, :json_name=>"name"}}]]); end
175
+ end
176
+ class StreamStarting < Event
177
+ json_name "StreamStarting"
178
+ # @!attribute [r] preview_only
179
+ # @return [Boolean] <tt>preview-only</tt> field
180
+ def preview_only; get_field("preview-only", Types::Boolean); end
181
+ end
182
+ class StreamStarted < Event
183
+ json_name "StreamStarted"
184
+ end
185
+ class StreamStopping < Event
186
+ json_name "StreamStopping"
187
+ # @!attribute [r] preview_only
188
+ # @return [Boolean] <tt>preview-only</tt> field
189
+ def preview_only; get_field("preview-only", Types::Boolean); end
190
+ end
191
+ class StreamStopped < Event
192
+ json_name "StreamStopped"
193
+ end
194
+ class StreamStatus < Event
195
+ json_name "StreamStatus"
196
+ # @!attribute [r] streaming
197
+ # @return [Boolean] <tt>streaming</tt> field
198
+ def streaming; get_field("streaming", Types::Boolean); end
199
+ # @!attribute [r] recording
200
+ # @return [Boolean] <tt>recording</tt> field
201
+ def recording; get_field("recording", Types::Boolean); end
202
+ # @!attribute [r] replay_buffer_active
203
+ # @return [Boolean] <tt>replay-buffer-active</tt> field
204
+ def replay_buffer_active; get_field("replay-buffer-active", Types::Boolean); end
205
+ # @!attribute [r] bytes_per_sec
206
+ # @return [Integer] <tt>bytes-per-sec</tt> field
207
+ def bytes_per_sec; get_field("bytes-per-sec", Types::Integer); end
208
+ # @!attribute [r] kbits_per_sec
209
+ # @return [Integer] <tt>kbits-per-sec</tt> field
210
+ def kbits_per_sec; get_field("kbits-per-sec", Types::Integer); end
211
+ # @!attribute [r] strain
212
+ # @return [Float] <tt>strain</tt> field
213
+ def strain; get_field("strain", Types::Float); end
214
+ # @!attribute [r] total_stream_time
215
+ # @return [Integer] <tt>total-stream-time</tt> field
216
+ def total_stream_time; get_field("total-stream-time", Types::Integer); end
217
+ # @!attribute [r] num_total_frames
218
+ # @return [Integer] <tt>num-total-frames</tt> field
219
+ def num_total_frames; get_field("num-total-frames", Types::Integer); end
220
+ # @!attribute [r] num_dropped_frames
221
+ # @return [Integer] <tt>num-dropped-frames</tt> field
222
+ def num_dropped_frames; get_field("num-dropped-frames", Types::Integer); end
223
+ # @!attribute [r] fps
224
+ # @return [Float] <tt>fps</tt> field
225
+ def fps; get_field("fps", Types::Float); end
226
+ # @!attribute [r] render_total_frames
227
+ # @return [Integer] <tt>render-total-frames</tt> field
228
+ def render_total_frames; get_field("render-total-frames", Types::Integer); end
229
+ # @!attribute [r] render_missed_frames
230
+ # @return [Integer] <tt>render-missed-frames</tt> field
231
+ def render_missed_frames; get_field("render-missed-frames", Types::Integer); end
232
+ # @!attribute [r] output_total_frames
233
+ # @return [Integer] <tt>output-total-frames</tt> field
234
+ def output_total_frames; get_field("output-total-frames", Types::Integer); end
235
+ # @!attribute [r] output_skipped_frames
236
+ # @return [Integer] <tt>output-skipped-frames</tt> field
237
+ def output_skipped_frames; get_field("output-skipped-frames", Types::Integer); end
238
+ # @!attribute [r] average_frame_time
239
+ # @return [Float] <tt>average-frame-time</tt> field
240
+ def average_frame_time; get_field("average-frame-time", Types::Float); end
241
+ # @!attribute [r] cpu_usage
242
+ # @return [Float] <tt>cpu-usage</tt> field
243
+ def cpu_usage; get_field("cpu-usage", Types::Float); end
244
+ # @!attribute [r] memory_usage
245
+ # @return [Float] <tt>memory-usage</tt> field
246
+ def memory_usage; get_field("memory-usage", Types::Float); end
247
+ # @!attribute [r] free_disk_space
248
+ # @return [Float] <tt>free-disk-space</tt> field
249
+ def free_disk_space; get_field("free-disk-space", Types::Float); end
250
+ # @!attribute [r] preview_only
251
+ # @return [Boolean] <tt>preview-only</tt> field
252
+ def preview_only; get_field("preview-only", Types::Boolean); end
253
+ end
254
+ class RecordingStarting < Event
255
+ json_name "RecordingStarting"
256
+ end
257
+ class RecordingStarted < Event
258
+ json_name "RecordingStarted"
259
+ # @!attribute [r] recording_filename
260
+ # @return [String] <tt>recordingFilename</tt> field
261
+ def recording_filename; get_field("recordingFilename", Types::String); end
262
+ end
263
+ class RecordingStopping < Event
264
+ json_name "RecordingStopping"
265
+ # @!attribute [r] recording_filename
266
+ # @return [String] <tt>recordingFilename</tt> field
267
+ def recording_filename; get_field("recordingFilename", Types::String); end
268
+ end
269
+ class RecordingStopped < Event
270
+ json_name "RecordingStopped"
271
+ # @!attribute [r] recording_filename
272
+ # @return [String] <tt>recordingFilename</tt> field
273
+ def recording_filename; get_field("recordingFilename", Types::String); end
274
+ end
275
+ class RecordingPaused < Event
276
+ json_name "RecordingPaused"
277
+ end
278
+ class RecordingResumed < Event
279
+ json_name "RecordingResumed"
280
+ end
281
+ class ReplayStarting < Event
282
+ json_name "ReplayStarting"
283
+ end
284
+ class ReplayStarted < Event
285
+ json_name "ReplayStarted"
286
+ end
287
+ class ReplayStopping < Event
288
+ json_name "ReplayStopping"
289
+ end
290
+ class ReplayStopped < Event
291
+ json_name "ReplayStopped"
292
+ end
293
+ class Exiting < Event
294
+ json_name "Exiting"
295
+ end
296
+ class Heartbeat < Event
297
+ json_name "Heartbeat"
298
+ # @!attribute [r] pulse
299
+ # @return [Boolean] <tt>pulse</tt> field
300
+ def pulse; get_field("pulse", Types::Boolean); end
301
+ # @!attribute [r] current_profile
302
+ # @return [String, nil] <tt>current-profile</tt> field
303
+ def current_profile; get_field("current-profile", Types::Optional[Types::String]); end
304
+ # @!attribute [r] current_scene
305
+ # @return [String, nil] <tt>current-scene</tt> field
306
+ def current_scene; get_field("current-scene", Types::Optional[Types::String]); end
307
+ # @!attribute [r] streaming
308
+ # @return [Boolean, nil] <tt>streaming</tt> field
309
+ def streaming; get_field("streaming", Types::Optional[Types::Boolean]); end
310
+ # @!attribute [r] total_stream_time
311
+ # @return [Integer, nil] <tt>total-stream-time</tt> field
312
+ def total_stream_time; get_field("total-stream-time", Types::Optional[Types::Integer]); end
313
+ # @!attribute [r] total_stream_bytes
314
+ # @return [Integer, nil] <tt>total-stream-bytes</tt> field
315
+ def total_stream_bytes; get_field("total-stream-bytes", Types::Optional[Types::Integer]); end
316
+ # @!attribute [r] total_stream_frames
317
+ # @return [Integer, nil] <tt>total-stream-frames</tt> field
318
+ def total_stream_frames; get_field("total-stream-frames", Types::Optional[Types::Integer]); end
319
+ # @!attribute [r] recording
320
+ # @return [Boolean, nil] <tt>recording</tt> field
321
+ def recording; get_field("recording", Types::Optional[Types::Boolean]); end
322
+ # @!attribute [r] total_record_time
323
+ # @return [Integer, nil] <tt>total-record-time</tt> field
324
+ def total_record_time; get_field("total-record-time", Types::Optional[Types::Integer]); end
325
+ # @!attribute [r] total_record_bytes
326
+ # @return [Integer, nil] <tt>total-record-bytes</tt> field
327
+ def total_record_bytes; get_field("total-record-bytes", Types::Optional[Types::Integer]); end
328
+ # @!attribute [r] total_record_frames
329
+ # @return [Integer, nil] <tt>total-record-frames</tt> field
330
+ def total_record_frames; get_field("total-record-frames", Types::Optional[Types::Integer]); end
331
+ # @!attribute [r] stats
332
+ # @return [OBSStats] <tt>stats</tt> field
333
+ def stats; get_field("stats", Types::OBSStats); end
334
+ end
335
+ class BroadcastCustomMessage < Event
336
+ json_name "BroadcastCustomMessage"
337
+ # @!attribute [r] realm
338
+ # @return [String] <tt>realm</tt> field
339
+ def realm; get_field("realm", Types::String); end
340
+ # @!attribute [r] data
341
+ # @return [Hash] <tt>data</tt> field
342
+ def data; get_field("data", Types::Object); end
343
+ end
344
+ class SourceCreated < Event
345
+ json_name "SourceCreated"
346
+ # @!attribute [r] source_name
347
+ # @return [String] <tt>sourceName</tt> field
348
+ def source_name; get_field("sourceName", Types::String); end
349
+ # @!attribute [r] source_type
350
+ # @return [String] <tt>sourceType</tt> field
351
+ def source_type; get_field("sourceType", Types::String); end
352
+ # @!attribute [r] source_kind
353
+ # @return [String] <tt>sourceKind</tt> field
354
+ def source_kind; get_field("sourceKind", Types::String); end
355
+ # @!attribute [r] source_settings
356
+ # @return [Hash] <tt>sourceSettings</tt> field
357
+ def source_settings; get_field("sourceSettings", Types::Object); end
358
+ end
359
+ class SourceDestroyed < Event
360
+ json_name "SourceDestroyed"
361
+ # @!attribute [r] source_name
362
+ # @return [String] <tt>sourceName</tt> field
363
+ def source_name; get_field("sourceName", Types::String); end
364
+ # @!attribute [r] source_type
365
+ # @return [String] <tt>sourceType</tt> field
366
+ def source_type; get_field("sourceType", Types::String); end
367
+ # @!attribute [r] source_kind
368
+ # @return [String] <tt>sourceKind</tt> field
369
+ def source_kind; get_field("sourceKind", Types::String); end
370
+ end
371
+ class SourceVolumeChanged < Event
372
+ json_name "SourceVolumeChanged"
373
+ # @!attribute [r] source_name
374
+ # @return [String] <tt>sourceName</tt> field
375
+ def source_name; get_field("sourceName", Types::String); end
376
+ # @!attribute [r] volume
377
+ # @return [Float] <tt>volume</tt> field
378
+ def volume; get_field("volume", Types::Float); end
379
+ end
380
+ class SourceMuteStateChanged < Event
381
+ json_name "SourceMuteStateChanged"
382
+ # @!attribute [r] source_name
383
+ # @return [String] <tt>sourceName</tt> field
384
+ def source_name; get_field("sourceName", Types::String); end
385
+ # @!attribute [r] muted
386
+ # @return [Boolean] <tt>muted</tt> field
387
+ def muted; get_field("muted", Types::Boolean); end
388
+ end
389
+ class SourceAudioDeactivated < Event
390
+ json_name "SourceAudioDeactivated"
391
+ # @!attribute [r] source_name
392
+ # @return [String] <tt>sourceName</tt> field
393
+ def source_name; get_field("sourceName", Types::String); end
394
+ end
395
+ class SourceAudioActivated < Event
396
+ json_name "SourceAudioActivated"
397
+ # @!attribute [r] source_name
398
+ # @return [String] <tt>sourceName</tt> field
399
+ def source_name; get_field("sourceName", Types::String); end
400
+ end
401
+ class SourceAudioSyncOffsetChanged < Event
402
+ json_name "SourceAudioSyncOffsetChanged"
403
+ # @!attribute [r] source_name
404
+ # @return [String] <tt>sourceName</tt> field
405
+ def source_name; get_field("sourceName", Types::String); end
406
+ # @!attribute [r] sync_offset
407
+ # @return [Integer] <tt>syncOffset</tt> field
408
+ def sync_offset; get_field("syncOffset", Types::Integer); end
409
+ end
410
+ class SourceAudioMixersChanged < Event
411
+ json_name "SourceAudioMixersChanged"
412
+ # @!attribute [r] source_name
413
+ # @return [String] <tt>sourceName</tt> field
414
+ def source_name; get_field("sourceName", Types::String); end
415
+ # @!attribute [r] mixers
416
+ # @return [Array<Hash>] <tt>mixers</tt> field
417
+ def mixers; get_field("mixers", Types::Array[Types::Object[{:id=>{:type=>Types::Integer, :json_name=>"id"}, :enabled=>{:type=>Types::Boolean, :json_name=>"enabled"}}]]); end
418
+ # @!attribute [r] hex_mixers_value
419
+ # @return [String] <tt>hexMixersValue</tt> field
420
+ def hex_mixers_value; get_field("hexMixersValue", Types::String); end
421
+ end
422
+ class SourceRenamed < Event
423
+ json_name "SourceRenamed"
424
+ # @!attribute [r] previous_name
425
+ # @return [String] <tt>previousName</tt> field
426
+ def previous_name; get_field("previousName", Types::String); end
427
+ # @!attribute [r] new_name
428
+ # @return [String] <tt>newName</tt> field
429
+ def new_name; get_field("newName", Types::String); end
430
+ # @!attribute [r] source_type
431
+ # @return [String] <tt>sourceType</tt> field
432
+ def source_type; get_field("sourceType", Types::String); end
433
+ end
434
+ class SourceFilterAdded < Event
435
+ json_name "SourceFilterAdded"
436
+ # @!attribute [r] source_name
437
+ # @return [String] <tt>sourceName</tt> field
438
+ def source_name; get_field("sourceName", Types::String); end
439
+ # @!attribute [r] filter_name
440
+ # @return [String] <tt>filterName</tt> field
441
+ def filter_name; get_field("filterName", Types::String); end
442
+ # @!attribute [r] filter_type
443
+ # @return [String] <tt>filterType</tt> field
444
+ def filter_type; get_field("filterType", Types::String); end
445
+ # @!attribute [r] filter_settings
446
+ # @return [Hash] <tt>filterSettings</tt> field
447
+ def filter_settings; get_field("filterSettings", Types::Object); end
448
+ end
449
+ class SourceFilterRemoved < Event
450
+ json_name "SourceFilterRemoved"
451
+ # @!attribute [r] source_name
452
+ # @return [String] <tt>sourceName</tt> field
453
+ def source_name; get_field("sourceName", Types::String); end
454
+ # @!attribute [r] filter_name
455
+ # @return [String] <tt>filterName</tt> field
456
+ def filter_name; get_field("filterName", Types::String); end
457
+ # @!attribute [r] filter_type
458
+ # @return [String] <tt>filterType</tt> field
459
+ def filter_type; get_field("filterType", Types::String); end
460
+ end
461
+ class SourceFilterVisibilityChanged < Event
462
+ json_name "SourceFilterVisibilityChanged"
463
+ # @!attribute [r] source_name
464
+ # @return [String] <tt>sourceName</tt> field
465
+ def source_name; get_field("sourceName", Types::String); end
466
+ # @!attribute [r] filter_name
467
+ # @return [String] <tt>filterName</tt> field
468
+ def filter_name; get_field("filterName", Types::String); end
469
+ # @!attribute [r] filter_enabled
470
+ # @return [Boolean] <tt>filterEnabled</tt> field
471
+ def filter_enabled; get_field("filterEnabled", Types::Boolean); end
472
+ end
473
+ class SourceFiltersReordered < Event
474
+ json_name "SourceFiltersReordered"
475
+ # @!attribute [r] source_name
476
+ # @return [String] <tt>sourceName</tt> field
477
+ def source_name; get_field("sourceName", Types::String); end
478
+ # @!attribute [r] filters
479
+ # @return [Array<Hash>] <tt>filters</tt> field
480
+ def filters; get_field("filters", Types::Array[Types::Object[{:name=>{:type=>Types::String, :json_name=>"name"}, :type=>{:type=>Types::String, :json_name=>"type"}, :enabled=>{:type=>Types::Boolean, :json_name=>"enabled"}}]]); end
481
+ end
482
+ class MediaPlaying < Event
483
+ json_name "MediaPlaying"
484
+ # @!attribute [r] source_name
485
+ # @return [String] <tt>sourceName</tt> field
486
+ def source_name; get_field("sourceName", Types::String); end
487
+ # @!attribute [r] source_kind
488
+ # @return [String] <tt>sourceKind</tt> field
489
+ def source_kind; get_field("sourceKind", Types::String); end
490
+ end
491
+ class MediaPaused < Event
492
+ json_name "MediaPaused"
493
+ # @!attribute [r] source_name
494
+ # @return [String] <tt>sourceName</tt> field
495
+ def source_name; get_field("sourceName", Types::String); end
496
+ # @!attribute [r] source_kind
497
+ # @return [String] <tt>sourceKind</tt> field
498
+ def source_kind; get_field("sourceKind", Types::String); end
499
+ end
500
+ class MediaRestarted < Event
501
+ json_name "MediaRestarted"
502
+ # @!attribute [r] source_name
503
+ # @return [String] <tt>sourceName</tt> field
504
+ def source_name; get_field("sourceName", Types::String); end
505
+ # @!attribute [r] source_kind
506
+ # @return [String] <tt>sourceKind</tt> field
507
+ def source_kind; get_field("sourceKind", Types::String); end
508
+ end
509
+ class MediaStopped < Event
510
+ json_name "MediaStopped"
511
+ # @!attribute [r] source_name
512
+ # @return [String] <tt>sourceName</tt> field
513
+ def source_name; get_field("sourceName", Types::String); end
514
+ # @!attribute [r] source_kind
515
+ # @return [String] <tt>sourceKind</tt> field
516
+ def source_kind; get_field("sourceKind", Types::String); end
517
+ end
518
+ class MediaNext < Event
519
+ json_name "MediaNext"
520
+ # @!attribute [r] source_name
521
+ # @return [String] <tt>sourceName</tt> field
522
+ def source_name; get_field("sourceName", Types::String); end
523
+ # @!attribute [r] source_kind
524
+ # @return [String] <tt>sourceKind</tt> field
525
+ def source_kind; get_field("sourceKind", Types::String); end
526
+ end
527
+ class MediaPrevious < Event
528
+ json_name "MediaPrevious"
529
+ # @!attribute [r] source_name
530
+ # @return [String] <tt>sourceName</tt> field
531
+ def source_name; get_field("sourceName", Types::String); end
532
+ # @!attribute [r] source_kind
533
+ # @return [String] <tt>sourceKind</tt> field
534
+ def source_kind; get_field("sourceKind", Types::String); end
535
+ end
536
+ class MediaStarted < Event
537
+ json_name "MediaStarted"
538
+ # @!attribute [r] source_name
539
+ # @return [String] <tt>sourceName</tt> field
540
+ def source_name; get_field("sourceName", Types::String); end
541
+ # @!attribute [r] source_kind
542
+ # @return [String] <tt>sourceKind</tt> field
543
+ def source_kind; get_field("sourceKind", Types::String); end
544
+ end
545
+ class MediaEnded < Event
546
+ json_name "MediaEnded"
547
+ # @!attribute [r] source_name
548
+ # @return [String] <tt>sourceName</tt> field
549
+ def source_name; get_field("sourceName", Types::String); end
550
+ # @!attribute [r] source_kind
551
+ # @return [String] <tt>sourceKind</tt> field
552
+ def source_kind; get_field("sourceKind", Types::String); end
553
+ end
554
+ class SourceOrderChanged < Event
555
+ json_name "SourceOrderChanged"
556
+ # @!attribute [r] scene_name
557
+ # @return [String] <tt>scene-name</tt> field
558
+ def scene_name; get_field("scene-name", Types::String); end
559
+ # @!attribute [r] scene_items
560
+ # @return [Array<Hash>] <tt>scene-items</tt> field
561
+ def scene_items; get_field("scene-items", Types::Array[Types::Object[{:source_name=>{:type=>Types::String, :json_name=>"source-name"}, :item_id=>{:type=>Types::Integer, :json_name=>"item-id"}}]]); end
562
+ end
563
+ class SceneItemAdded < Event
564
+ json_name "SceneItemAdded"
565
+ # @!attribute [r] scene_name
566
+ # @return [String] <tt>scene-name</tt> field
567
+ def scene_name; get_field("scene-name", Types::String); end
568
+ # @!attribute [r] item_name
569
+ # @return [String] <tt>item-name</tt> field
570
+ def item_name; get_field("item-name", Types::String); end
571
+ # @!attribute [r] item_id
572
+ # @return [Integer] <tt>item-id</tt> field
573
+ def item_id; get_field("item-id", Types::Integer); end
574
+ end
575
+ class SceneItemRemoved < Event
576
+ json_name "SceneItemRemoved"
577
+ # @!attribute [r] scene_name
578
+ # @return [String] <tt>scene-name</tt> field
579
+ def scene_name; get_field("scene-name", Types::String); end
580
+ # @!attribute [r] item_name
581
+ # @return [String] <tt>item-name</tt> field
582
+ def item_name; get_field("item-name", Types::String); end
583
+ # @!attribute [r] item_id
584
+ # @return [Integer] <tt>item-id</tt> field
585
+ def item_id; get_field("item-id", Types::Integer); end
586
+ end
587
+ class SceneItemVisibilityChanged < Event
588
+ json_name "SceneItemVisibilityChanged"
589
+ # @!attribute [r] scene_name
590
+ # @return [String] <tt>scene-name</tt> field
591
+ def scene_name; get_field("scene-name", Types::String); end
592
+ # @!attribute [r] item_name
593
+ # @return [String] <tt>item-name</tt> field
594
+ def item_name; get_field("item-name", Types::String); end
595
+ # @!attribute [r] item_id
596
+ # @return [Integer] <tt>item-id</tt> field
597
+ def item_id; get_field("item-id", Types::Integer); end
598
+ # @!attribute [r] item_visible
599
+ # @return [Boolean] <tt>item-visible</tt> field
600
+ def item_visible; get_field("item-visible", Types::Boolean); end
601
+ end
602
+ class SceneItemLockChanged < Event
603
+ json_name "SceneItemLockChanged"
604
+ # @!attribute [r] scene_name
605
+ # @return [String] <tt>scene-name</tt> field
606
+ def scene_name; get_field("scene-name", Types::String); end
607
+ # @!attribute [r] item_name
608
+ # @return [String] <tt>item-name</tt> field
609
+ def item_name; get_field("item-name", Types::String); end
610
+ # @!attribute [r] item_id
611
+ # @return [Integer] <tt>item-id</tt> field
612
+ def item_id; get_field("item-id", Types::Integer); end
613
+ # @!attribute [r] item_locked
614
+ # @return [Boolean] <tt>item-locked</tt> field
615
+ def item_locked; get_field("item-locked", Types::Boolean); end
616
+ end
617
+ class SceneItemTransformChanged < Event
618
+ json_name "SceneItemTransformChanged"
619
+ # @!attribute [r] scene_name
620
+ # @return [String] <tt>scene-name</tt> field
621
+ def scene_name; get_field("scene-name", Types::String); end
622
+ # @!attribute [r] item_name
623
+ # @return [String] <tt>item-name</tt> field
624
+ def item_name; get_field("item-name", Types::String); end
625
+ # @!attribute [r] item_id
626
+ # @return [Integer] <tt>item-id</tt> field
627
+ def item_id; get_field("item-id", Types::Integer); end
628
+ # @!attribute [r] transform
629
+ # @return [SceneItemTransform] <tt>transform</tt> field
630
+ def transform; get_field("transform", Types::SceneItemTransform); end
631
+ end
632
+ class SceneItemSelected < Event
633
+ json_name "SceneItemSelected"
634
+ # @!attribute [r] scene_name
635
+ # @return [String] <tt>scene-name</tt> field
636
+ def scene_name; get_field("scene-name", Types::String); end
637
+ # @!attribute [r] item_name
638
+ # @return [String] <tt>item-name</tt> field
639
+ def item_name; get_field("item-name", Types::String); end
640
+ # @!attribute [r] item_id
641
+ # @return [Integer] <tt>item-id</tt> field
642
+ def item_id; get_field("item-id", Types::Integer); end
643
+ end
644
+ class SceneItemDeselected < Event
645
+ json_name "SceneItemDeselected"
646
+ # @!attribute [r] scene_name
647
+ # @return [String] <tt>scene-name</tt> field
648
+ def scene_name; get_field("scene-name", Types::String); end
649
+ # @!attribute [r] item_name
650
+ # @return [String] <tt>item-name</tt> field
651
+ def item_name; get_field("item-name", Types::String); end
652
+ # @!attribute [r] item_id
653
+ # @return [Integer] <tt>item-id</tt> field
654
+ def item_id; get_field("item-id", Types::Integer); end
655
+ end
656
+ class PreviewSceneChanged < Event
657
+ json_name "PreviewSceneChanged"
658
+ # @!attribute [r] scene_name
659
+ # @return [String] <tt>scene-name</tt> field
660
+ def scene_name; get_field("scene-name", Types::String); end
661
+ # @!attribute [r] sources
662
+ # @return [Array<SceneItem>] <tt>sources</tt> field
663
+ def sources; get_field("sources", Types::Array[Types::SceneItem]); end
664
+ end
665
+ class StudioModeSwitched < Event
666
+ json_name "StudioModeSwitched"
667
+ # @!attribute [r] new_state
668
+ # @return [Boolean] <tt>new-state</tt> field
669
+ def new_state; get_field("new-state", Types::Boolean); end
670
+ end
671
+ end # module Events
672
+ module Event::Mixin
673
+ # Adds an event handler for <tt>SwitchScenes</tt> event.
674
+ # @yieldparam event [Events::SwitchScenes] the event object
675
+ # @return [void]
676
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#switchscenes
677
+ def on_switch_scenes(&listener)
678
+ on("SwitchScenes", &listener)
679
+ end
680
+ # Adds an event handler for <tt>ScenesChanged</tt> event.
681
+ # @yieldparam event [Events::ScenesChanged] the event object
682
+ # @return [void]
683
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sceneschanged
684
+ def on_scenes_changed(&listener)
685
+ on("ScenesChanged", &listener)
686
+ end
687
+ # Adds an event handler for <tt>SceneCollectionChanged</tt> event.
688
+ # @yieldparam event [Events::SceneCollectionChanged] the event object
689
+ # @return [void]
690
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#scenecollectionchanged
691
+ def on_scene_collection_changed(&listener)
692
+ on("SceneCollectionChanged", &listener)
693
+ end
694
+ # Adds an event handler for <tt>SceneCollectionListChanged</tt> event.
695
+ # @yieldparam event [Events::SceneCollectionListChanged] the event object
696
+ # @return [void]
697
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#scenecollectionlistchanged
698
+ def on_scene_collection_list_changed(&listener)
699
+ on("SceneCollectionListChanged", &listener)
700
+ end
701
+ # Adds an event handler for <tt>SwitchTransition</tt> event.
702
+ # @yieldparam event [Events::SwitchTransition] the event object
703
+ # @return [void]
704
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#switchtransition
705
+ def on_switch_transition(&listener)
706
+ on("SwitchTransition", &listener)
707
+ end
708
+ # Adds an event handler for <tt>TransitionListChanged</tt> event.
709
+ # @yieldparam event [Events::TransitionListChanged] the event object
710
+ # @return [void]
711
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#transitionlistchanged
712
+ def on_transition_list_changed(&listener)
713
+ on("TransitionListChanged", &listener)
714
+ end
715
+ # Adds an event handler for <tt>TransitionDurationChanged</tt> event.
716
+ # @yieldparam event [Events::TransitionDurationChanged] the event object
717
+ # @return [void]
718
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#transitiondurationchanged
719
+ def on_transition_duration_changed(&listener)
720
+ on("TransitionDurationChanged", &listener)
721
+ end
722
+ # Adds an event handler for <tt>TransitionBegin</tt> event.
723
+ # @yieldparam event [Events::TransitionBegin] the event object
724
+ # @return [void]
725
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#transitionbegin
726
+ def on_transition_begin(&listener)
727
+ on("TransitionBegin", &listener)
728
+ end
729
+ # Adds an event handler for <tt>TransitionEnd</tt> event.
730
+ # @yieldparam event [Events::TransitionEnd] the event object
731
+ # @return [void]
732
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#transitionend
733
+ def on_transition_end(&listener)
734
+ on("TransitionEnd", &listener)
735
+ end
736
+ # Adds an event handler for <tt>TransitionVideoEnd</tt> event.
737
+ # @yieldparam event [Events::TransitionVideoEnd] the event object
738
+ # @return [void]
739
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#transitionvideoend
740
+ def on_transition_video_end(&listener)
741
+ on("TransitionVideoEnd", &listener)
742
+ end
743
+ # Adds an event handler for <tt>ProfileChanged</tt> event.
744
+ # @yieldparam event [Events::ProfileChanged] the event object
745
+ # @return [void]
746
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#profilechanged
747
+ def on_profile_changed(&listener)
748
+ on("ProfileChanged", &listener)
749
+ end
750
+ # Adds an event handler for <tt>ProfileListChanged</tt> event.
751
+ # @yieldparam event [Events::ProfileListChanged] the event object
752
+ # @return [void]
753
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#profilelistchanged
754
+ def on_profile_list_changed(&listener)
755
+ on("ProfileListChanged", &listener)
756
+ end
757
+ # Adds an event handler for <tt>StreamStarting</tt> event.
758
+ # @yieldparam event [Events::StreamStarting] the event object
759
+ # @return [void]
760
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#streamstarting
761
+ def on_stream_starting(&listener)
762
+ on("StreamStarting", &listener)
763
+ end
764
+ # Adds an event handler for <tt>StreamStarted</tt> event.
765
+ # @yieldparam event [Events::StreamStarted] the event object
766
+ # @return [void]
767
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#streamstarted
768
+ def on_stream_started(&listener)
769
+ on("StreamStarted", &listener)
770
+ end
771
+ # Adds an event handler for <tt>StreamStopping</tt> event.
772
+ # @yieldparam event [Events::StreamStopping] the event object
773
+ # @return [void]
774
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#streamstopping
775
+ def on_stream_stopping(&listener)
776
+ on("StreamStopping", &listener)
777
+ end
778
+ # Adds an event handler for <tt>StreamStopped</tt> event.
779
+ # @yieldparam event [Events::StreamStopped] the event object
780
+ # @return [void]
781
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#streamstopped
782
+ def on_stream_stopped(&listener)
783
+ on("StreamStopped", &listener)
784
+ end
785
+ # Adds an event handler for <tt>StreamStatus</tt> event.
786
+ # @yieldparam event [Events::StreamStatus] the event object
787
+ # @return [void]
788
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#streamstatus
789
+ def on_stream_status(&listener)
790
+ on("StreamStatus", &listener)
791
+ end
792
+ # Adds an event handler for <tt>RecordingStarting</tt> event.
793
+ # @yieldparam event [Events::RecordingStarting] the event object
794
+ # @return [void]
795
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#recordingstarting
796
+ def on_recording_starting(&listener)
797
+ on("RecordingStarting", &listener)
798
+ end
799
+ # Adds an event handler for <tt>RecordingStarted</tt> event.
800
+ # @yieldparam event [Events::RecordingStarted] the event object
801
+ # @return [void]
802
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#recordingstarted
803
+ def on_recording_started(&listener)
804
+ on("RecordingStarted", &listener)
805
+ end
806
+ # Adds an event handler for <tt>RecordingStopping</tt> event.
807
+ # @yieldparam event [Events::RecordingStopping] the event object
808
+ # @return [void]
809
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#recordingstopping
810
+ def on_recording_stopping(&listener)
811
+ on("RecordingStopping", &listener)
812
+ end
813
+ # Adds an event handler for <tt>RecordingStopped</tt> event.
814
+ # @yieldparam event [Events::RecordingStopped] the event object
815
+ # @return [void]
816
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#recordingstopped
817
+ def on_recording_stopped(&listener)
818
+ on("RecordingStopped", &listener)
819
+ end
820
+ # Adds an event handler for <tt>RecordingPaused</tt> event.
821
+ # @yieldparam event [Events::RecordingPaused] the event object
822
+ # @return [void]
823
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#recordingpaused
824
+ def on_recording_paused(&listener)
825
+ on("RecordingPaused", &listener)
826
+ end
827
+ # Adds an event handler for <tt>RecordingResumed</tt> event.
828
+ # @yieldparam event [Events::RecordingResumed] the event object
829
+ # @return [void]
830
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#recordingresumed
831
+ def on_recording_resumed(&listener)
832
+ on("RecordingResumed", &listener)
833
+ end
834
+ # Adds an event handler for <tt>ReplayStarting</tt> event.
835
+ # @yieldparam event [Events::ReplayStarting] the event object
836
+ # @return [void]
837
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#replaystarting
838
+ def on_replay_starting(&listener)
839
+ on("ReplayStarting", &listener)
840
+ end
841
+ # Adds an event handler for <tt>ReplayStarted</tt> event.
842
+ # @yieldparam event [Events::ReplayStarted] the event object
843
+ # @return [void]
844
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#replaystarted
845
+ def on_replay_started(&listener)
846
+ on("ReplayStarted", &listener)
847
+ end
848
+ # Adds an event handler for <tt>ReplayStopping</tt> event.
849
+ # @yieldparam event [Events::ReplayStopping] the event object
850
+ # @return [void]
851
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#replaystopping
852
+ def on_replay_stopping(&listener)
853
+ on("ReplayStopping", &listener)
854
+ end
855
+ # Adds an event handler for <tt>ReplayStopped</tt> event.
856
+ # @yieldparam event [Events::ReplayStopped] the event object
857
+ # @return [void]
858
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#replaystopped
859
+ def on_replay_stopped(&listener)
860
+ on("ReplayStopped", &listener)
861
+ end
862
+ # Adds an event handler for <tt>Exiting</tt> event.
863
+ # @yieldparam event [Events::Exiting] the event object
864
+ # @return [void]
865
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#exiting
866
+ def on_exiting(&listener)
867
+ on("Exiting", &listener)
868
+ end
869
+ # Adds an event handler for <tt>Heartbeat</tt> event.
870
+ # @yieldparam event [Events::Heartbeat] the event object
871
+ # @return [void]
872
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#heartbeat
873
+ def on_heartbeat(&listener)
874
+ on("Heartbeat", &listener)
875
+ end
876
+ # Adds an event handler for <tt>BroadcastCustomMessage</tt> event.
877
+ # @yieldparam event [Events::BroadcastCustomMessage] the event object
878
+ # @return [void]
879
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#broadcastcustommessage
880
+ def on_broadcast_custom_message(&listener)
881
+ on("BroadcastCustomMessage", &listener)
882
+ end
883
+ # Adds an event handler for <tt>SourceCreated</tt> event.
884
+ # @yieldparam event [Events::SourceCreated] the event object
885
+ # @return [void]
886
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sourcecreated
887
+ def on_source_created(&listener)
888
+ on("SourceCreated", &listener)
889
+ end
890
+ # Adds an event handler for <tt>SourceDestroyed</tt> event.
891
+ # @yieldparam event [Events::SourceDestroyed] the event object
892
+ # @return [void]
893
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sourcedestroyed
894
+ def on_source_destroyed(&listener)
895
+ on("SourceDestroyed", &listener)
896
+ end
897
+ # Adds an event handler for <tt>SourceVolumeChanged</tt> event.
898
+ # @yieldparam event [Events::SourceVolumeChanged] the event object
899
+ # @return [void]
900
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sourcevolumechanged
901
+ def on_source_volume_changed(&listener)
902
+ on("SourceVolumeChanged", &listener)
903
+ end
904
+ # Adds an event handler for <tt>SourceMuteStateChanged</tt> event.
905
+ # @yieldparam event [Events::SourceMuteStateChanged] the event object
906
+ # @return [void]
907
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sourcemutestatechanged
908
+ def on_source_mute_state_changed(&listener)
909
+ on("SourceMuteStateChanged", &listener)
910
+ end
911
+ # Adds an event handler for <tt>SourceAudioDeactivated</tt> event.
912
+ # @yieldparam event [Events::SourceAudioDeactivated] the event object
913
+ # @return [void]
914
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sourceaudiodeactivated
915
+ def on_source_audio_deactivated(&listener)
916
+ on("SourceAudioDeactivated", &listener)
917
+ end
918
+ # Adds an event handler for <tt>SourceAudioActivated</tt> event.
919
+ # @yieldparam event [Events::SourceAudioActivated] the event object
920
+ # @return [void]
921
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sourceaudioactivated
922
+ def on_source_audio_activated(&listener)
923
+ on("SourceAudioActivated", &listener)
924
+ end
925
+ # Adds an event handler for <tt>SourceAudioSyncOffsetChanged</tt> event.
926
+ # @yieldparam event [Events::SourceAudioSyncOffsetChanged] the event object
927
+ # @return [void]
928
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sourceaudiosyncoffsetchanged
929
+ def on_source_audio_sync_offset_changed(&listener)
930
+ on("SourceAudioSyncOffsetChanged", &listener)
931
+ end
932
+ # Adds an event handler for <tt>SourceAudioMixersChanged</tt> event.
933
+ # @yieldparam event [Events::SourceAudioMixersChanged] the event object
934
+ # @return [void]
935
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sourceaudiomixerschanged
936
+ def on_source_audio_mixers_changed(&listener)
937
+ on("SourceAudioMixersChanged", &listener)
938
+ end
939
+ # Adds an event handler for <tt>SourceRenamed</tt> event.
940
+ # @yieldparam event [Events::SourceRenamed] the event object
941
+ # @return [void]
942
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sourcerenamed
943
+ def on_source_renamed(&listener)
944
+ on("SourceRenamed", &listener)
945
+ end
946
+ # Adds an event handler for <tt>SourceFilterAdded</tt> event.
947
+ # @yieldparam event [Events::SourceFilterAdded] the event object
948
+ # @return [void]
949
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sourcefilteradded
950
+ def on_source_filter_added(&listener)
951
+ on("SourceFilterAdded", &listener)
952
+ end
953
+ # Adds an event handler for <tt>SourceFilterRemoved</tt> event.
954
+ # @yieldparam event [Events::SourceFilterRemoved] the event object
955
+ # @return [void]
956
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sourcefilterremoved
957
+ def on_source_filter_removed(&listener)
958
+ on("SourceFilterRemoved", &listener)
959
+ end
960
+ # Adds an event handler for <tt>SourceFilterVisibilityChanged</tt> event.
961
+ # @yieldparam event [Events::SourceFilterVisibilityChanged] the event object
962
+ # @return [void]
963
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sourcefiltervisibilitychanged
964
+ def on_source_filter_visibility_changed(&listener)
965
+ on("SourceFilterVisibilityChanged", &listener)
966
+ end
967
+ # Adds an event handler for <tt>SourceFiltersReordered</tt> event.
968
+ # @yieldparam event [Events::SourceFiltersReordered] the event object
969
+ # @return [void]
970
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sourcefiltersreordered
971
+ def on_source_filters_reordered(&listener)
972
+ on("SourceFiltersReordered", &listener)
973
+ end
974
+ # Adds an event handler for <tt>MediaPlaying</tt> event.
975
+ # @yieldparam event [Events::MediaPlaying] the event object
976
+ # @return [void]
977
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#mediaplaying
978
+ def on_media_playing(&listener)
979
+ on("MediaPlaying", &listener)
980
+ end
981
+ # Adds an event handler for <tt>MediaPaused</tt> event.
982
+ # @yieldparam event [Events::MediaPaused] the event object
983
+ # @return [void]
984
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#mediapaused
985
+ def on_media_paused(&listener)
986
+ on("MediaPaused", &listener)
987
+ end
988
+ # Adds an event handler for <tt>MediaRestarted</tt> event.
989
+ # @yieldparam event [Events::MediaRestarted] the event object
990
+ # @return [void]
991
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#mediarestarted
992
+ def on_media_restarted(&listener)
993
+ on("MediaRestarted", &listener)
994
+ end
995
+ # Adds an event handler for <tt>MediaStopped</tt> event.
996
+ # @yieldparam event [Events::MediaStopped] the event object
997
+ # @return [void]
998
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#mediastopped
999
+ def on_media_stopped(&listener)
1000
+ on("MediaStopped", &listener)
1001
+ end
1002
+ # Adds an event handler for <tt>MediaNext</tt> event.
1003
+ # @yieldparam event [Events::MediaNext] the event object
1004
+ # @return [void]
1005
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#medianext
1006
+ def on_media_next(&listener)
1007
+ on("MediaNext", &listener)
1008
+ end
1009
+ # Adds an event handler for <tt>MediaPrevious</tt> event.
1010
+ # @yieldparam event [Events::MediaPrevious] the event object
1011
+ # @return [void]
1012
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#mediaprevious
1013
+ def on_media_previous(&listener)
1014
+ on("MediaPrevious", &listener)
1015
+ end
1016
+ # Adds an event handler for <tt>MediaStarted</tt> event.
1017
+ # @yieldparam event [Events::MediaStarted] the event object
1018
+ # @return [void]
1019
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#mediastarted
1020
+ def on_media_started(&listener)
1021
+ on("MediaStarted", &listener)
1022
+ end
1023
+ # Adds an event handler for <tt>MediaEnded</tt> event.
1024
+ # @yieldparam event [Events::MediaEnded] the event object
1025
+ # @return [void]
1026
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#mediaended
1027
+ def on_media_ended(&listener)
1028
+ on("MediaEnded", &listener)
1029
+ end
1030
+ # Adds an event handler for <tt>SourceOrderChanged</tt> event.
1031
+ # @yieldparam event [Events::SourceOrderChanged] the event object
1032
+ # @return [void]
1033
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sourceorderchanged
1034
+ def on_source_order_changed(&listener)
1035
+ on("SourceOrderChanged", &listener)
1036
+ end
1037
+ # Adds an event handler for <tt>SceneItemAdded</tt> event.
1038
+ # @yieldparam event [Events::SceneItemAdded] the event object
1039
+ # @return [void]
1040
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sceneitemadded
1041
+ def on_scene_item_added(&listener)
1042
+ on("SceneItemAdded", &listener)
1043
+ end
1044
+ # Adds an event handler for <tt>SceneItemRemoved</tt> event.
1045
+ # @yieldparam event [Events::SceneItemRemoved] the event object
1046
+ # @return [void]
1047
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sceneitemremoved
1048
+ def on_scene_item_removed(&listener)
1049
+ on("SceneItemRemoved", &listener)
1050
+ end
1051
+ # Adds an event handler for <tt>SceneItemVisibilityChanged</tt> event.
1052
+ # @yieldparam event [Events::SceneItemVisibilityChanged] the event object
1053
+ # @return [void]
1054
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sceneitemvisibilitychanged
1055
+ def on_scene_item_visibility_changed(&listener)
1056
+ on("SceneItemVisibilityChanged", &listener)
1057
+ end
1058
+ # Adds an event handler for <tt>SceneItemLockChanged</tt> event.
1059
+ # @yieldparam event [Events::SceneItemLockChanged] the event object
1060
+ # @return [void]
1061
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sceneitemlockchanged
1062
+ def on_scene_item_lock_changed(&listener)
1063
+ on("SceneItemLockChanged", &listener)
1064
+ end
1065
+ # Adds an event handler for <tt>SceneItemTransformChanged</tt> event.
1066
+ # @yieldparam event [Events::SceneItemTransformChanged] the event object
1067
+ # @return [void]
1068
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sceneitemtransformchanged
1069
+ def on_scene_item_transform_changed(&listener)
1070
+ on("SceneItemTransformChanged", &listener)
1071
+ end
1072
+ # Adds an event handler for <tt>SceneItemSelected</tt> event.
1073
+ # @yieldparam event [Events::SceneItemSelected] the event object
1074
+ # @return [void]
1075
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sceneitemselected
1076
+ def on_scene_item_selected(&listener)
1077
+ on("SceneItemSelected", &listener)
1078
+ end
1079
+ # Adds an event handler for <tt>SceneItemDeselected</tt> event.
1080
+ # @yieldparam event [Events::SceneItemDeselected] the event object
1081
+ # @return [void]
1082
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sceneitemdeselected
1083
+ def on_scene_item_deselected(&listener)
1084
+ on("SceneItemDeselected", &listener)
1085
+ end
1086
+ # Adds an event handler for <tt>PreviewSceneChanged</tt> event.
1087
+ # @yieldparam event [Events::PreviewSceneChanged] the event object
1088
+ # @return [void]
1089
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#previewscenechanged
1090
+ def on_preview_scene_changed(&listener)
1091
+ on("PreviewSceneChanged", &listener)
1092
+ end
1093
+ # Adds an event handler for <tt>StudioModeSwitched</tt> event.
1094
+ # @yieldparam event [Events::StudioModeSwitched] the event object
1095
+ # @return [void]
1096
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#studiomodeswitched
1097
+ def on_studio_mode_switched(&listener)
1098
+ on("StudioModeSwitched", &listener)
1099
+ end
1100
+ end # module Event::Mixin
1101
+ module Requests
1102
+ # @see Request::Mixin#get_version
1103
+ # @see Responses::GetVersion
1104
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getversion
1105
+ class GetVersion < Request
1106
+ json_name "GetVersion"
1107
+ params(
1108
+ )
1109
+ end
1110
+ # @see Request::Mixin#get_auth_required
1111
+ # @see Responses::GetAuthRequired
1112
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getauthrequired
1113
+ class GetAuthRequired < Request
1114
+ json_name "GetAuthRequired"
1115
+ params(
1116
+ )
1117
+ end
1118
+ # @see Request::Mixin#authenticate
1119
+ # @see Responses::Authenticate
1120
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#authenticate
1121
+ class Authenticate < Request
1122
+ json_name "Authenticate"
1123
+ params(
1124
+ "auth": {json_name: "auth", type: Types::String},
1125
+ )
1126
+ end
1127
+ # @see Request::Mixin#set_heartbeat
1128
+ # @see Responses::SetHeartbeat
1129
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setheartbeat
1130
+ class SetHeartbeat < Request
1131
+ json_name "SetHeartbeat"
1132
+ params(
1133
+ "enable": {json_name: "enable", type: Types::Boolean},
1134
+ )
1135
+ end
1136
+ # @see Request::Mixin#set_filename_formatting
1137
+ # @see Responses::SetFilenameFormatting
1138
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setfilenameformatting
1139
+ class SetFilenameFormatting < Request
1140
+ json_name "SetFilenameFormatting"
1141
+ params(
1142
+ "filename_formatting": {json_name: "filename-formatting", type: Types::String},
1143
+ )
1144
+ end
1145
+ # @see Request::Mixin#get_filename_formatting
1146
+ # @see Responses::GetFilenameFormatting
1147
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getfilenameformatting
1148
+ class GetFilenameFormatting < Request
1149
+ json_name "GetFilenameFormatting"
1150
+ params(
1151
+ )
1152
+ end
1153
+ # @see Request::Mixin#get_stats
1154
+ # @see Responses::GetStats
1155
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getstats
1156
+ class GetStats < Request
1157
+ json_name "GetStats"
1158
+ params(
1159
+ )
1160
+ end
1161
+ # @see Request::Mixin#broadcast_custom_message
1162
+ # @see Responses::BroadcastCustomMessage
1163
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#broadcastcustommessage
1164
+ class BroadcastCustomMessage < Request
1165
+ json_name "BroadcastCustomMessage"
1166
+ params(
1167
+ "realm": {json_name: "realm", type: Types::String},
1168
+ "data": {json_name: "data", type: Types::Object},
1169
+ )
1170
+ end
1171
+ # @see Request::Mixin#get_video_info
1172
+ # @see Responses::GetVideoInfo
1173
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getvideoinfo
1174
+ class GetVideoInfo < Request
1175
+ json_name "GetVideoInfo"
1176
+ params(
1177
+ )
1178
+ end
1179
+ # @see Request::Mixin#open_projector
1180
+ # @see Responses::OpenProjector
1181
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#openprojector
1182
+ class OpenProjector < Request
1183
+ json_name "OpenProjector"
1184
+ params(
1185
+ "type": {json_name: "type", type: Types::Optional[Types::String]},
1186
+ "monitor": {json_name: "monitor", type: Types::Optional[Types::Integer]},
1187
+ "geometry": {json_name: "geometry", type: Types::Optional[Types::String]},
1188
+ "name": {json_name: "name", type: Types::Optional[Types::String]},
1189
+ )
1190
+ end
1191
+ # @see Request::Mixin#trigger_hotkey_by_name
1192
+ # @see Responses::TriggerHotkeyByName
1193
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#triggerhotkeybyname
1194
+ class TriggerHotkeyByName < Request
1195
+ json_name "TriggerHotkeyByName"
1196
+ params(
1197
+ "hotkey_name": {json_name: "hotkeyName", type: Types::String},
1198
+ )
1199
+ end
1200
+ # @see Request::Mixin#trigger_hotkey_by_sequence
1201
+ # @see Responses::TriggerHotkeyBySequence
1202
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#triggerhotkeybysequence
1203
+ class TriggerHotkeyBySequence < Request
1204
+ json_name "TriggerHotkeyBySequence"
1205
+ params(
1206
+ "key_id": {json_name: "keyId", type: Types::String},
1207
+ "key_modifiers": {json_name: "keyModifiers", type: Types::Optional[Types::Object[{:shift=>{:type=>Types::Boolean, :json_name=>"shift"}, :alt=>{:type=>Types::Boolean, :json_name=>"alt"}, :control=>{:type=>Types::Boolean, :json_name=>"control"}, :command=>{:type=>Types::Boolean, :json_name=>"command"}}]]},
1208
+ )
1209
+ end
1210
+ # @see Request::Mixin#execute_batch
1211
+ # @see Responses::ExecuteBatch
1212
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#executebatch
1213
+ class ExecuteBatch < Request
1214
+ json_name "ExecuteBatch"
1215
+ params(
1216
+ "requests": {json_name: "requests", type: Types::Array[Types::Object[{:request_type=>{:type=>Types::String, :json_name=>"request-type"}, :message_id=>{:type=>Types::Optional[Types::String], :json_name=>"message-id"}}]]},
1217
+ "abort_on_fail": {json_name: "abortOnFail", type: Types::Optional[Types::Boolean]},
1218
+ )
1219
+ end
1220
+ # @see Request::Mixin#play_pause_media
1221
+ # @see Responses::PlayPauseMedia
1222
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#playpausemedia
1223
+ class PlayPauseMedia < Request
1224
+ json_name "PlayPauseMedia"
1225
+ params(
1226
+ "source_name": {json_name: "sourceName", type: Types::String},
1227
+ "play_pause": {json_name: "playPause", type: Types::Boolean},
1228
+ )
1229
+ end
1230
+ # @see Request::Mixin#restart_media
1231
+ # @see Responses::RestartMedia
1232
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#restartmedia
1233
+ class RestartMedia < Request
1234
+ json_name "RestartMedia"
1235
+ params(
1236
+ "source_name": {json_name: "sourceName", type: Types::String},
1237
+ )
1238
+ end
1239
+ # @see Request::Mixin#stop_media
1240
+ # @see Responses::StopMedia
1241
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#stopmedia
1242
+ class StopMedia < Request
1243
+ json_name "StopMedia"
1244
+ params(
1245
+ "source_name": {json_name: "sourceName", type: Types::String},
1246
+ )
1247
+ end
1248
+ # @see Request::Mixin#next_media
1249
+ # @see Responses::NextMedia
1250
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#nextmedia
1251
+ class NextMedia < Request
1252
+ json_name "NextMedia"
1253
+ params(
1254
+ "source_name": {json_name: "sourceName", type: Types::String},
1255
+ )
1256
+ end
1257
+ # @see Request::Mixin#previous_media
1258
+ # @see Responses::PreviousMedia
1259
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#previousmedia
1260
+ class PreviousMedia < Request
1261
+ json_name "PreviousMedia"
1262
+ params(
1263
+ "source_name": {json_name: "sourceName", type: Types::String},
1264
+ )
1265
+ end
1266
+ # @see Request::Mixin#get_media_duration
1267
+ # @see Responses::GetMediaDuration
1268
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getmediaduration
1269
+ class GetMediaDuration < Request
1270
+ json_name "GetMediaDuration"
1271
+ params(
1272
+ "source_name": {json_name: "sourceName", type: Types::String},
1273
+ )
1274
+ end
1275
+ # @see Request::Mixin#get_media_time
1276
+ # @see Responses::GetMediaTime
1277
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getmediatime
1278
+ class GetMediaTime < Request
1279
+ json_name "GetMediaTime"
1280
+ params(
1281
+ "source_name": {json_name: "sourceName", type: Types::String},
1282
+ )
1283
+ end
1284
+ # @see Request::Mixin#set_media_time
1285
+ # @see Responses::SetMediaTime
1286
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setmediatime
1287
+ class SetMediaTime < Request
1288
+ json_name "SetMediaTime"
1289
+ params(
1290
+ "source_name": {json_name: "sourceName", type: Types::String},
1291
+ "timestamp": {json_name: "timestamp", type: Types::Integer},
1292
+ )
1293
+ end
1294
+ # @see Request::Mixin#scrub_media
1295
+ # @see Responses::ScrubMedia
1296
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#scrubmedia
1297
+ class ScrubMedia < Request
1298
+ json_name "ScrubMedia"
1299
+ params(
1300
+ "source_name": {json_name: "sourceName", type: Types::String},
1301
+ "time_offset": {json_name: "timeOffset", type: Types::Integer},
1302
+ )
1303
+ end
1304
+ # @see Request::Mixin#get_media_state
1305
+ # @see Responses::GetMediaState
1306
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getmediastate
1307
+ class GetMediaState < Request
1308
+ json_name "GetMediaState"
1309
+ params(
1310
+ "source_name": {json_name: "sourceName", type: Types::String},
1311
+ )
1312
+ end
1313
+ # @see Request::Mixin#get_media_sources_list
1314
+ # @see Responses::GetMediaSourcesList
1315
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getmediasourceslist
1316
+ class GetMediaSourcesList < Request
1317
+ json_name "GetMediaSourcesList"
1318
+ params(
1319
+ )
1320
+ end
1321
+ # @see Request::Mixin#create_source
1322
+ # @see Responses::CreateSource
1323
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#createsource
1324
+ class CreateSource < Request
1325
+ json_name "CreateSource"
1326
+ params(
1327
+ "source_name": {json_name: "sourceName", type: Types::String},
1328
+ "source_kind": {json_name: "sourceKind", type: Types::String},
1329
+ "scene_name": {json_name: "sceneName", type: Types::String},
1330
+ "source_settings": {json_name: "sourceSettings", type: Types::Optional[Types::Object]},
1331
+ "set_visible": {json_name: "setVisible", type: Types::Optional[Types::Boolean]},
1332
+ )
1333
+ end
1334
+ # @see Request::Mixin#get_sources_list
1335
+ # @see Responses::GetSourcesList
1336
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourceslist
1337
+ class GetSourcesList < Request
1338
+ json_name "GetSourcesList"
1339
+ params(
1340
+ )
1341
+ end
1342
+ # @see Request::Mixin#get_source_types_list
1343
+ # @see Responses::GetSourceTypesList
1344
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourcetypeslist
1345
+ class GetSourceTypesList < Request
1346
+ json_name "GetSourceTypesList"
1347
+ params(
1348
+ )
1349
+ end
1350
+ # @see Request::Mixin#get_volume
1351
+ # @see Responses::GetVolume
1352
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getvolume
1353
+ class GetVolume < Request
1354
+ json_name "GetVolume"
1355
+ params(
1356
+ "source": {json_name: "source", type: Types::String},
1357
+ "use_decibel": {json_name: "useDecibel", type: Types::Optional[Types::Boolean]},
1358
+ )
1359
+ end
1360
+ # @see Request::Mixin#set_volume
1361
+ # @see Responses::SetVolume
1362
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setvolume
1363
+ class SetVolume < Request
1364
+ json_name "SetVolume"
1365
+ params(
1366
+ "source": {json_name: "source", type: Types::String},
1367
+ "volume": {json_name: "volume", type: Types::Float},
1368
+ "use_decibel": {json_name: "useDecibel", type: Types::Optional[Types::Boolean]},
1369
+ )
1370
+ end
1371
+ # @see Request::Mixin#get_mute
1372
+ # @see Responses::GetMute
1373
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getmute
1374
+ class GetMute < Request
1375
+ json_name "GetMute"
1376
+ params(
1377
+ "source": {json_name: "source", type: Types::String},
1378
+ )
1379
+ end
1380
+ # @see Request::Mixin#set_mute
1381
+ # @see Responses::SetMute
1382
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setmute
1383
+ class SetMute < Request
1384
+ json_name "SetMute"
1385
+ params(
1386
+ "source": {json_name: "source", type: Types::String},
1387
+ "mute": {json_name: "mute", type: Types::Boolean},
1388
+ )
1389
+ end
1390
+ # @see Request::Mixin#toggle_mute
1391
+ # @see Responses::ToggleMute
1392
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#togglemute
1393
+ class ToggleMute < Request
1394
+ json_name "ToggleMute"
1395
+ params(
1396
+ "source": {json_name: "source", type: Types::String},
1397
+ )
1398
+ end
1399
+ # @see Request::Mixin#get_audio_active
1400
+ # @see Responses::GetAudioActive
1401
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getaudioactive
1402
+ class GetAudioActive < Request
1403
+ json_name "GetAudioActive"
1404
+ params(
1405
+ "source_name": {json_name: "sourceName", type: Types::String},
1406
+ )
1407
+ end
1408
+ # @see Request::Mixin#set_source_name
1409
+ # @see Responses::SetSourceName
1410
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsourcename
1411
+ class SetSourceName < Request
1412
+ json_name "SetSourceName"
1413
+ params(
1414
+ "source_name": {json_name: "sourceName", type: Types::String},
1415
+ "new_name": {json_name: "newName", type: Types::String},
1416
+ )
1417
+ end
1418
+ # @see Request::Mixin#set_sync_offset
1419
+ # @see Responses::SetSyncOffset
1420
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsyncoffset
1421
+ class SetSyncOffset < Request
1422
+ json_name "SetSyncOffset"
1423
+ params(
1424
+ "source": {json_name: "source", type: Types::String},
1425
+ "offset": {json_name: "offset", type: Types::Integer},
1426
+ )
1427
+ end
1428
+ # @see Request::Mixin#get_sync_offset
1429
+ # @see Responses::GetSyncOffset
1430
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsyncoffset
1431
+ class GetSyncOffset < Request
1432
+ json_name "GetSyncOffset"
1433
+ params(
1434
+ "source": {json_name: "source", type: Types::String},
1435
+ )
1436
+ end
1437
+ # @see Request::Mixin#get_source_settings
1438
+ # @see Responses::GetSourceSettings
1439
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourcesettings
1440
+ class GetSourceSettings < Request
1441
+ json_name "GetSourceSettings"
1442
+ params(
1443
+ "source_name": {json_name: "sourceName", type: Types::String},
1444
+ "source_type": {json_name: "sourceType", type: Types::Optional[Types::String]},
1445
+ )
1446
+ end
1447
+ # @see Request::Mixin#set_source_settings
1448
+ # @see Responses::SetSourceSettings
1449
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsourcesettings
1450
+ class SetSourceSettings < Request
1451
+ json_name "SetSourceSettings"
1452
+ params(
1453
+ "source_name": {json_name: "sourceName", type: Types::String},
1454
+ "source_type": {json_name: "sourceType", type: Types::Optional[Types::String]},
1455
+ "source_settings": {json_name: "sourceSettings", type: Types::Object},
1456
+ )
1457
+ end
1458
+ # @see Request::Mixin#get_text_gdi_plus_properties
1459
+ # @see Responses::GetTextGDIPlusProperties
1460
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettextgdiplusproperties
1461
+ class GetTextGDIPlusProperties < Request
1462
+ json_name "GetTextGDIPlusProperties"
1463
+ params(
1464
+ "source": {json_name: "source", type: Types::String},
1465
+ )
1466
+ end
1467
+ # @see Request::Mixin#set_text_gdi_plus_properties
1468
+ # @see Responses::SetTextGDIPlusProperties
1469
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#settextgdiplusproperties
1470
+ class SetTextGDIPlusProperties < Request
1471
+ json_name "SetTextGDIPlusProperties"
1472
+ params(
1473
+ "source": {json_name: "source", type: Types::String},
1474
+ "align": {json_name: "align", type: Types::Optional[Types::String]},
1475
+ "bk_color": {json_name: "bk_color", type: Types::Optional[Types::Integer]},
1476
+ "bk_opacity": {json_name: "bk_opacity", type: Types::Optional[Types::Integer]},
1477
+ "chatlog": {json_name: "chatlog", type: Types::Optional[Types::Boolean]},
1478
+ "chatlog_lines": {json_name: "chatlog_lines", type: Types::Optional[Types::Integer]},
1479
+ "color": {json_name: "color", type: Types::Optional[Types::Integer]},
1480
+ "extents": {json_name: "extents", type: Types::Optional[Types::Boolean]},
1481
+ "extents_cx": {json_name: "extents_cx", type: Types::Optional[Types::Integer]},
1482
+ "extents_cy": {json_name: "extents_cy", type: Types::Optional[Types::Integer]},
1483
+ "file": {json_name: "file", type: Types::Optional[Types::String]},
1484
+ "read_from_file": {json_name: "read_from_file", type: Types::Optional[Types::Boolean]},
1485
+ "font": {json_name: "font", type: Types::Optional[Types::Object[{:face=>{:type=>Types::Optional[Types::String], :json_name=>"face"}, :flags=>{:type=>Types::Optional[Types::Integer], :json_name=>"flags"}, :size=>{:type=>Types::Optional[Types::Integer], :json_name=>"size"}, :style=>{:type=>Types::Optional[Types::String], :json_name=>"style"}}]]},
1486
+ "gradient": {json_name: "gradient", type: Types::Optional[Types::Boolean]},
1487
+ "gradient_color": {json_name: "gradient_color", type: Types::Optional[Types::Integer]},
1488
+ "gradient_dir": {json_name: "gradient_dir", type: Types::Optional[Types::Float]},
1489
+ "gradient_opacity": {json_name: "gradient_opacity", type: Types::Optional[Types::Integer]},
1490
+ "outline": {json_name: "outline", type: Types::Optional[Types::Boolean]},
1491
+ "outline_color": {json_name: "outline_color", type: Types::Optional[Types::Integer]},
1492
+ "outline_size": {json_name: "outline_size", type: Types::Optional[Types::Integer]},
1493
+ "outline_opacity": {json_name: "outline_opacity", type: Types::Optional[Types::Integer]},
1494
+ "text": {json_name: "text", type: Types::Optional[Types::String]},
1495
+ "valign": {json_name: "valign", type: Types::Optional[Types::String]},
1496
+ "vertical": {json_name: "vertical", type: Types::Optional[Types::Boolean]},
1497
+ "render": {json_name: "render", type: Types::Optional[Types::Boolean]},
1498
+ )
1499
+ end
1500
+ # @see Request::Mixin#get_text_freetype2_properties
1501
+ # @see Responses::GetTextFreetype2Properties
1502
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettextfreetype2properties
1503
+ class GetTextFreetype2Properties < Request
1504
+ json_name "GetTextFreetype2Properties"
1505
+ params(
1506
+ "source": {json_name: "source", type: Types::String},
1507
+ )
1508
+ end
1509
+ # @see Request::Mixin#set_text_freetype2_properties
1510
+ # @see Responses::SetTextFreetype2Properties
1511
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#settextfreetype2properties
1512
+ class SetTextFreetype2Properties < Request
1513
+ json_name "SetTextFreetype2Properties"
1514
+ params(
1515
+ "source": {json_name: "source", type: Types::String},
1516
+ "color1": {json_name: "color1", type: Types::Optional[Types::Integer]},
1517
+ "color2": {json_name: "color2", type: Types::Optional[Types::Integer]},
1518
+ "custom_width": {json_name: "custom_width", type: Types::Optional[Types::Integer]},
1519
+ "drop_shadow": {json_name: "drop_shadow", type: Types::Optional[Types::Boolean]},
1520
+ "font": {json_name: "font", type: Types::Optional[Types::Object[{:face=>{:type=>Types::Optional[Types::String], :json_name=>"face"}, :flags=>{:type=>Types::Optional[Types::Integer], :json_name=>"flags"}, :size=>{:type=>Types::Optional[Types::Integer], :json_name=>"size"}, :style=>{:type=>Types::Optional[Types::String], :json_name=>"style"}}]]},
1521
+ "from_file": {json_name: "from_file", type: Types::Optional[Types::Boolean]},
1522
+ "log_mode": {json_name: "log_mode", type: Types::Optional[Types::Boolean]},
1523
+ "outline": {json_name: "outline", type: Types::Optional[Types::Boolean]},
1524
+ "text": {json_name: "text", type: Types::Optional[Types::String]},
1525
+ "text_file": {json_name: "text_file", type: Types::Optional[Types::String]},
1526
+ "word_wrap": {json_name: "word_wrap", type: Types::Optional[Types::Boolean]},
1527
+ )
1528
+ end
1529
+ # @see Request::Mixin#get_browser_source_properties
1530
+ # @see Responses::GetBrowserSourceProperties
1531
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getbrowsersourceproperties
1532
+ class GetBrowserSourceProperties < Request
1533
+ json_name "GetBrowserSourceProperties"
1534
+ params(
1535
+ "source": {json_name: "source", type: Types::String},
1536
+ )
1537
+ end
1538
+ # @see Request::Mixin#set_browser_source_properties
1539
+ # @see Responses::SetBrowserSourceProperties
1540
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setbrowsersourceproperties
1541
+ class SetBrowserSourceProperties < Request
1542
+ json_name "SetBrowserSourceProperties"
1543
+ params(
1544
+ "source": {json_name: "source", type: Types::String},
1545
+ "is_local_file": {json_name: "is_local_file", type: Types::Optional[Types::Boolean]},
1546
+ "local_file": {json_name: "local_file", type: Types::Optional[Types::String]},
1547
+ "url": {json_name: "url", type: Types::Optional[Types::String]},
1548
+ "css": {json_name: "css", type: Types::Optional[Types::String]},
1549
+ "width": {json_name: "width", type: Types::Optional[Types::Integer]},
1550
+ "height": {json_name: "height", type: Types::Optional[Types::Integer]},
1551
+ "fps": {json_name: "fps", type: Types::Optional[Types::Integer]},
1552
+ "shutdown": {json_name: "shutdown", type: Types::Optional[Types::Boolean]},
1553
+ "render": {json_name: "render", type: Types::Optional[Types::Boolean]},
1554
+ )
1555
+ end
1556
+ # @see Request::Mixin#get_special_sources
1557
+ # @see Responses::GetSpecialSources
1558
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getspecialsources
1559
+ class GetSpecialSources < Request
1560
+ json_name "GetSpecialSources"
1561
+ params(
1562
+ )
1563
+ end
1564
+ # @see Request::Mixin#get_source_filters
1565
+ # @see Responses::GetSourceFilters
1566
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourcefilters
1567
+ class GetSourceFilters < Request
1568
+ json_name "GetSourceFilters"
1569
+ params(
1570
+ "source_name": {json_name: "sourceName", type: Types::String},
1571
+ )
1572
+ end
1573
+ # @see Request::Mixin#get_source_filter_info
1574
+ # @see Responses::GetSourceFilterInfo
1575
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourcefilterinfo
1576
+ class GetSourceFilterInfo < Request
1577
+ json_name "GetSourceFilterInfo"
1578
+ params(
1579
+ "source_name": {json_name: "sourceName", type: Types::String},
1580
+ "filter_name": {json_name: "filterName", type: Types::String},
1581
+ )
1582
+ end
1583
+ # @see Request::Mixin#add_filter_to_source
1584
+ # @see Responses::AddFilterToSource
1585
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#addfiltertosource
1586
+ class AddFilterToSource < Request
1587
+ json_name "AddFilterToSource"
1588
+ params(
1589
+ "source_name": {json_name: "sourceName", type: Types::String},
1590
+ "filter_name": {json_name: "filterName", type: Types::String},
1591
+ "filter_type": {json_name: "filterType", type: Types::String},
1592
+ "filter_settings": {json_name: "filterSettings", type: Types::Object},
1593
+ )
1594
+ end
1595
+ # @see Request::Mixin#remove_filter_from_source
1596
+ # @see Responses::RemoveFilterFromSource
1597
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#removefilterfromsource
1598
+ class RemoveFilterFromSource < Request
1599
+ json_name "RemoveFilterFromSource"
1600
+ params(
1601
+ "source_name": {json_name: "sourceName", type: Types::String},
1602
+ "filter_name": {json_name: "filterName", type: Types::String},
1603
+ )
1604
+ end
1605
+ # @see Request::Mixin#reorder_source_filter
1606
+ # @see Responses::ReorderSourceFilter
1607
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#reordersourcefilter
1608
+ class ReorderSourceFilter < Request
1609
+ json_name "ReorderSourceFilter"
1610
+ params(
1611
+ "source_name": {json_name: "sourceName", type: Types::String},
1612
+ "filter_name": {json_name: "filterName", type: Types::String},
1613
+ "new_index": {json_name: "newIndex", type: Types::Integer},
1614
+ )
1615
+ end
1616
+ # @see Request::Mixin#move_source_filter
1617
+ # @see Responses::MoveSourceFilter
1618
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#movesourcefilter
1619
+ class MoveSourceFilter < Request
1620
+ json_name "MoveSourceFilter"
1621
+ params(
1622
+ "source_name": {json_name: "sourceName", type: Types::String},
1623
+ "filter_name": {json_name: "filterName", type: Types::String},
1624
+ "movement_type": {json_name: "movementType", type: Types::String},
1625
+ )
1626
+ end
1627
+ # @see Request::Mixin#set_source_filter_settings
1628
+ # @see Responses::SetSourceFilterSettings
1629
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsourcefiltersettings
1630
+ class SetSourceFilterSettings < Request
1631
+ json_name "SetSourceFilterSettings"
1632
+ params(
1633
+ "source_name": {json_name: "sourceName", type: Types::String},
1634
+ "filter_name": {json_name: "filterName", type: Types::String},
1635
+ "filter_settings": {json_name: "filterSettings", type: Types::Object},
1636
+ )
1637
+ end
1638
+ # @see Request::Mixin#set_source_filter_visibility
1639
+ # @see Responses::SetSourceFilterVisibility
1640
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsourcefiltervisibility
1641
+ class SetSourceFilterVisibility < Request
1642
+ json_name "SetSourceFilterVisibility"
1643
+ params(
1644
+ "source_name": {json_name: "sourceName", type: Types::String},
1645
+ "filter_name": {json_name: "filterName", type: Types::String},
1646
+ "filter_enabled": {json_name: "filterEnabled", type: Types::Boolean},
1647
+ )
1648
+ end
1649
+ # @see Request::Mixin#get_audio_monitor_type
1650
+ # @see Responses::GetAudioMonitorType
1651
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getaudiomonitortype
1652
+ class GetAudioMonitorType < Request
1653
+ json_name "GetAudioMonitorType"
1654
+ params(
1655
+ "source_name": {json_name: "sourceName", type: Types::String},
1656
+ )
1657
+ end
1658
+ # @see Request::Mixin#set_audio_monitor_type
1659
+ # @see Responses::SetAudioMonitorType
1660
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setaudiomonitortype
1661
+ class SetAudioMonitorType < Request
1662
+ json_name "SetAudioMonitorType"
1663
+ params(
1664
+ "source_name": {json_name: "sourceName", type: Types::String},
1665
+ "monitor_type": {json_name: "monitorType", type: Types::String},
1666
+ )
1667
+ end
1668
+ # @see Request::Mixin#get_source_default_settings
1669
+ # @see Responses::GetSourceDefaultSettings
1670
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourcedefaultsettings
1671
+ class GetSourceDefaultSettings < Request
1672
+ json_name "GetSourceDefaultSettings"
1673
+ params(
1674
+ "source_kind": {json_name: "sourceKind", type: Types::String},
1675
+ )
1676
+ end
1677
+ # @see Request::Mixin#take_source_screenshot
1678
+ # @see Responses::TakeSourceScreenshot
1679
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#takesourcescreenshot
1680
+ class TakeSourceScreenshot < Request
1681
+ json_name "TakeSourceScreenshot"
1682
+ params(
1683
+ "source_name": {json_name: "sourceName", type: Types::Optional[Types::String]},
1684
+ "embed_picture_format": {json_name: "embedPictureFormat", type: Types::Optional[Types::String]},
1685
+ "save_to_file_path": {json_name: "saveToFilePath", type: Types::Optional[Types::String]},
1686
+ "file_format": {json_name: "fileFormat", type: Types::Optional[Types::String]},
1687
+ "compression_quality": {json_name: "compressionQuality", type: Types::Optional[Types::Integer]},
1688
+ "width": {json_name: "width", type: Types::Optional[Types::Integer]},
1689
+ "height": {json_name: "height", type: Types::Optional[Types::Integer]},
1690
+ )
1691
+ end
1692
+ # @see Request::Mixin#refresh_browser_source
1693
+ # @see Responses::RefreshBrowserSource
1694
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#refreshbrowsersource
1695
+ class RefreshBrowserSource < Request
1696
+ json_name "RefreshBrowserSource"
1697
+ params(
1698
+ "source_name": {json_name: "sourceName", type: Types::String},
1699
+ )
1700
+ end
1701
+ # @see Request::Mixin#list_outputs
1702
+ # @see Responses::ListOutputs
1703
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#listoutputs
1704
+ class ListOutputs < Request
1705
+ json_name "ListOutputs"
1706
+ params(
1707
+ )
1708
+ end
1709
+ # @see Request::Mixin#get_output_info
1710
+ # @see Responses::GetOutputInfo
1711
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getoutputinfo
1712
+ class GetOutputInfo < Request
1713
+ json_name "GetOutputInfo"
1714
+ params(
1715
+ "output_name": {json_name: "outputName", type: Types::String},
1716
+ )
1717
+ end
1718
+ # @see Request::Mixin#start_output
1719
+ # @see Responses::StartOutput
1720
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startoutput
1721
+ class StartOutput < Request
1722
+ json_name "StartOutput"
1723
+ params(
1724
+ "output_name": {json_name: "outputName", type: Types::String},
1725
+ )
1726
+ end
1727
+ # @see Request::Mixin#stop_output
1728
+ # @see Responses::StopOutput
1729
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#stopoutput
1730
+ class StopOutput < Request
1731
+ json_name "StopOutput"
1732
+ params(
1733
+ "output_name": {json_name: "outputName", type: Types::String},
1734
+ "force": {json_name: "force", type: Types::Optional[Types::Boolean]},
1735
+ )
1736
+ end
1737
+ # @see Request::Mixin#set_current_profile
1738
+ # @see Responses::SetCurrentProfile
1739
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setcurrentprofile
1740
+ class SetCurrentProfile < Request
1741
+ json_name "SetCurrentProfile"
1742
+ params(
1743
+ "profile_name": {json_name: "profile-name", type: Types::String},
1744
+ )
1745
+ end
1746
+ # @see Request::Mixin#get_current_profile
1747
+ # @see Responses::GetCurrentProfile
1748
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getcurrentprofile
1749
+ class GetCurrentProfile < Request
1750
+ json_name "GetCurrentProfile"
1751
+ params(
1752
+ )
1753
+ end
1754
+ # @see Request::Mixin#list_profiles
1755
+ # @see Responses::ListProfiles
1756
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#listprofiles
1757
+ class ListProfiles < Request
1758
+ json_name "ListProfiles"
1759
+ params(
1760
+ )
1761
+ end
1762
+ # @see Request::Mixin#get_recording_status
1763
+ # @see Responses::GetRecordingStatus
1764
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getrecordingstatus
1765
+ class GetRecordingStatus < Request
1766
+ json_name "GetRecordingStatus"
1767
+ params(
1768
+ )
1769
+ end
1770
+ # @see Request::Mixin#start_stop_recording
1771
+ # @see Responses::StartStopRecording
1772
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startstoprecording
1773
+ class StartStopRecording < Request
1774
+ json_name "StartStopRecording"
1775
+ params(
1776
+ )
1777
+ end
1778
+ # @see Request::Mixin#start_recording
1779
+ # @see Responses::StartRecording
1780
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startrecording
1781
+ class StartRecording < Request
1782
+ json_name "StartRecording"
1783
+ params(
1784
+ )
1785
+ end
1786
+ # @see Request::Mixin#stop_recording
1787
+ # @see Responses::StopRecording
1788
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#stoprecording
1789
+ class StopRecording < Request
1790
+ json_name "StopRecording"
1791
+ params(
1792
+ )
1793
+ end
1794
+ # @see Request::Mixin#pause_recording
1795
+ # @see Responses::PauseRecording
1796
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#pauserecording
1797
+ class PauseRecording < Request
1798
+ json_name "PauseRecording"
1799
+ params(
1800
+ )
1801
+ end
1802
+ # @see Request::Mixin#resume_recording
1803
+ # @see Responses::ResumeRecording
1804
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#resumerecording
1805
+ class ResumeRecording < Request
1806
+ json_name "ResumeRecording"
1807
+ params(
1808
+ )
1809
+ end
1810
+ # @see Request::Mixin#set_recording_folder
1811
+ # @see Responses::SetRecordingFolder
1812
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setrecordingfolder
1813
+ class SetRecordingFolder < Request
1814
+ json_name "SetRecordingFolder"
1815
+ params(
1816
+ "rec_folder": {json_name: "rec-folder", type: Types::String},
1817
+ )
1818
+ end
1819
+ # @see Request::Mixin#get_recording_folder
1820
+ # @see Responses::GetRecordingFolder
1821
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getrecordingfolder
1822
+ class GetRecordingFolder < Request
1823
+ json_name "GetRecordingFolder"
1824
+ params(
1825
+ )
1826
+ end
1827
+ # @see Request::Mixin#get_replay_buffer_status
1828
+ # @see Responses::GetReplayBufferStatus
1829
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getreplaybufferstatus
1830
+ class GetReplayBufferStatus < Request
1831
+ json_name "GetReplayBufferStatus"
1832
+ params(
1833
+ )
1834
+ end
1835
+ # @see Request::Mixin#start_stop_replay_buffer
1836
+ # @see Responses::StartStopReplayBuffer
1837
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startstopreplaybuffer
1838
+ class StartStopReplayBuffer < Request
1839
+ json_name "StartStopReplayBuffer"
1840
+ params(
1841
+ )
1842
+ end
1843
+ # @see Request::Mixin#start_replay_buffer
1844
+ # @see Responses::StartReplayBuffer
1845
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startreplaybuffer
1846
+ class StartReplayBuffer < Request
1847
+ json_name "StartReplayBuffer"
1848
+ params(
1849
+ )
1850
+ end
1851
+ # @see Request::Mixin#stop_replay_buffer
1852
+ # @see Responses::StopReplayBuffer
1853
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#stopreplaybuffer
1854
+ class StopReplayBuffer < Request
1855
+ json_name "StopReplayBuffer"
1856
+ params(
1857
+ )
1858
+ end
1859
+ # @see Request::Mixin#save_replay_buffer
1860
+ # @see Responses::SaveReplayBuffer
1861
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#savereplaybuffer
1862
+ class SaveReplayBuffer < Request
1863
+ json_name "SaveReplayBuffer"
1864
+ params(
1865
+ )
1866
+ end
1867
+ # @see Request::Mixin#set_current_scene_collection
1868
+ # @see Responses::SetCurrentSceneCollection
1869
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setcurrentscenecollection
1870
+ class SetCurrentSceneCollection < Request
1871
+ json_name "SetCurrentSceneCollection"
1872
+ params(
1873
+ "sc_name": {json_name: "sc-name", type: Types::String},
1874
+ )
1875
+ end
1876
+ # @see Request::Mixin#get_current_scene_collection
1877
+ # @see Responses::GetCurrentSceneCollection
1878
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getcurrentscenecollection
1879
+ class GetCurrentSceneCollection < Request
1880
+ json_name "GetCurrentSceneCollection"
1881
+ params(
1882
+ )
1883
+ end
1884
+ # @see Request::Mixin#list_scene_collections
1885
+ # @see Responses::ListSceneCollections
1886
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#listscenecollections
1887
+ class ListSceneCollections < Request
1888
+ json_name "ListSceneCollections"
1889
+ params(
1890
+ )
1891
+ end
1892
+ # @see Request::Mixin#get_scene_item_list
1893
+ # @see Responses::GetSceneItemList
1894
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsceneitemlist
1895
+ class GetSceneItemList < Request
1896
+ json_name "GetSceneItemList"
1897
+ params(
1898
+ "scene_name": {json_name: "sceneName", type: Types::Optional[Types::String]},
1899
+ )
1900
+ end
1901
+ # @see Request::Mixin#get_scene_item_properties
1902
+ # @see Responses::GetSceneItemProperties
1903
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsceneitemproperties
1904
+ class GetSceneItemProperties < Request
1905
+ json_name "GetSceneItemProperties"
1906
+ params(
1907
+ "scene_name": {json_name: "scene-name", type: Types::Optional[Types::String]},
1908
+ "item": {json_name: "item", type: Types::StringOrObject[{:name=>{:type=>Types::Optional[Types::String], :json_name=>"name"}, :id=>{:type=>Types::Optional[Types::Integer], :json_name=>"id"}}]},
1909
+ )
1910
+ end
1911
+ # @see Request::Mixin#set_scene_item_properties
1912
+ # @see Responses::SetSceneItemProperties
1913
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsceneitemproperties
1914
+ class SetSceneItemProperties < Request
1915
+ json_name "SetSceneItemProperties"
1916
+ params(
1917
+ "scene_name": {json_name: "scene-name", type: Types::Optional[Types::String]},
1918
+ "item": {json_name: "item", type: Types::StringOrObject[{:name=>{:type=>Types::Optional[Types::String], :json_name=>"name"}, :id=>{:type=>Types::Optional[Types::Integer], :json_name=>"id"}}]},
1919
+ "position": {json_name: "position", type: Types::Object[{:x=>{:type=>Types::Optional[Types::Float], :json_name=>"x"}, :y=>{:type=>Types::Optional[Types::Float], :json_name=>"y"}, :alignment=>{:type=>Types::Optional[Types::Integer], :json_name=>"alignment"}}]},
1920
+ "rotation": {json_name: "rotation", type: Types::Optional[Types::Float]},
1921
+ "scale": {json_name: "scale", type: Types::Object[{:x=>{:type=>Types::Optional[Types::Float], :json_name=>"x"}, :y=>{:type=>Types::Optional[Types::Float], :json_name=>"y"}}]},
1922
+ "crop": {json_name: "crop", type: Types::Object[{:top=>{:type=>Types::Optional[Types::Integer], :json_name=>"top"}, :bottom=>{:type=>Types::Optional[Types::Integer], :json_name=>"bottom"}, :left=>{:type=>Types::Optional[Types::Integer], :json_name=>"left"}, :right=>{:type=>Types::Optional[Types::Integer], :json_name=>"right"}}]},
1923
+ "visible": {json_name: "visible", type: Types::Optional[Types::Boolean]},
1924
+ "locked": {json_name: "locked", type: Types::Optional[Types::Boolean]},
1925
+ "bounds": {json_name: "bounds", type: Types::Object[{:type=>{:type=>Types::Optional[Types::String], :json_name=>"type"}, :alignment=>{:type=>Types::Optional[Types::Integer], :json_name=>"alignment"}, :x=>{:type=>Types::Optional[Types::Float], :json_name=>"x"}, :y=>{:type=>Types::Optional[Types::Float], :json_name=>"y"}}]},
1926
+ )
1927
+ end
1928
+ # @see Request::Mixin#reset_scene_item
1929
+ # @see Responses::ResetSceneItem
1930
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#resetsceneitem
1931
+ class ResetSceneItem < Request
1932
+ json_name "ResetSceneItem"
1933
+ params(
1934
+ "scene_name": {json_name: "scene-name", type: Types::Optional[Types::String]},
1935
+ "item": {json_name: "item", type: Types::StringOrObject[{:name=>{:type=>Types::Optional[Types::String], :json_name=>"name"}, :id=>{:type=>Types::Optional[Types::Integer], :json_name=>"id"}}]},
1936
+ )
1937
+ end
1938
+ # @see Request::Mixin#set_scene_item_render
1939
+ # @see Responses::SetSceneItemRender
1940
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsceneitemrender
1941
+ class SetSceneItemRender < Request
1942
+ json_name "SetSceneItemRender"
1943
+ params(
1944
+ "scene_name": {json_name: "scene-name", type: Types::Optional[Types::String]},
1945
+ "source": {json_name: "source", type: Types::Optional[Types::String]},
1946
+ "item": {json_name: "item", type: Types::Optional[Types::Integer]},
1947
+ "render": {json_name: "render", type: Types::Boolean},
1948
+ )
1949
+ end
1950
+ # @see Request::Mixin#set_scene_item_position
1951
+ # @see Responses::SetSceneItemPosition
1952
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsceneitemposition
1953
+ class SetSceneItemPosition < Request
1954
+ json_name "SetSceneItemPosition"
1955
+ params(
1956
+ "scene_name": {json_name: "scene-name", type: Types::Optional[Types::String]},
1957
+ "item": {json_name: "item", type: Types::String},
1958
+ "x": {json_name: "x", type: Types::Float},
1959
+ "y": {json_name: "y", type: Types::Float},
1960
+ )
1961
+ end
1962
+ # @see Request::Mixin#set_scene_item_transform
1963
+ # @see Responses::SetSceneItemTransform
1964
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsceneitemtransform
1965
+ class SetSceneItemTransform < Request
1966
+ json_name "SetSceneItemTransform"
1967
+ params(
1968
+ "scene_name": {json_name: "scene-name", type: Types::Optional[Types::String]},
1969
+ "item": {json_name: "item", type: Types::String},
1970
+ "x_scale": {json_name: "x-scale", type: Types::Float},
1971
+ "y_scale": {json_name: "y-scale", type: Types::Float},
1972
+ "rotation": {json_name: "rotation", type: Types::Float},
1973
+ )
1974
+ end
1975
+ # @see Request::Mixin#set_scene_item_crop
1976
+ # @see Responses::SetSceneItemCrop
1977
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsceneitemcrop
1978
+ class SetSceneItemCrop < Request
1979
+ json_name "SetSceneItemCrop"
1980
+ params(
1981
+ "scene_name": {json_name: "scene-name", type: Types::Optional[Types::String]},
1982
+ "item": {json_name: "item", type: Types::String},
1983
+ "top": {json_name: "top", type: Types::Integer},
1984
+ "bottom": {json_name: "bottom", type: Types::Integer},
1985
+ "left": {json_name: "left", type: Types::Integer},
1986
+ "right": {json_name: "right", type: Types::Integer},
1987
+ )
1988
+ end
1989
+ # @see Request::Mixin#delete_scene_item
1990
+ # @see Responses::DeleteSceneItem
1991
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#deletesceneitem
1992
+ class DeleteSceneItem < Request
1993
+ json_name "DeleteSceneItem"
1994
+ params(
1995
+ "scene": {json_name: "scene", type: Types::Optional[Types::String]},
1996
+ "item": {json_name: "item", type: Types::Object[{:name=>{:type=>Types::String, :json_name=>"name"}, :id=>{:type=>Types::Integer, :json_name=>"id"}}]},
1997
+ )
1998
+ end
1999
+ # @see Request::Mixin#add_scene_item
2000
+ # @see Responses::AddSceneItem
2001
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#addsceneitem
2002
+ class AddSceneItem < Request
2003
+ json_name "AddSceneItem"
2004
+ params(
2005
+ "scene_name": {json_name: "sceneName", type: Types::String},
2006
+ "source_name": {json_name: "sourceName", type: Types::String},
2007
+ "set_visible": {json_name: "setVisible", type: Types::Boolean},
2008
+ )
2009
+ end
2010
+ # @see Request::Mixin#duplicate_scene_item
2011
+ # @see Responses::DuplicateSceneItem
2012
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#duplicatesceneitem
2013
+ class DuplicateSceneItem < Request
2014
+ json_name "DuplicateSceneItem"
2015
+ params(
2016
+ "from_scene": {json_name: "fromScene", type: Types::Optional[Types::String]},
2017
+ "to_scene": {json_name: "toScene", type: Types::Optional[Types::String]},
2018
+ "item": {json_name: "item", type: Types::Object[{:name=>{:type=>Types::String, :json_name=>"name"}, :id=>{:type=>Types::Integer, :json_name=>"id"}}]},
2019
+ )
2020
+ end
2021
+ # @see Request::Mixin#set_current_scene
2022
+ # @see Responses::SetCurrentScene
2023
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setcurrentscene
2024
+ class SetCurrentScene < Request
2025
+ json_name "SetCurrentScene"
2026
+ params(
2027
+ "scene_name": {json_name: "scene-name", type: Types::String},
2028
+ )
2029
+ end
2030
+ # @see Request::Mixin#get_current_scene
2031
+ # @see Responses::GetCurrentScene
2032
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getcurrentscene
2033
+ class GetCurrentScene < Request
2034
+ json_name "GetCurrentScene"
2035
+ params(
2036
+ )
2037
+ end
2038
+ # @see Request::Mixin#get_scene_list
2039
+ # @see Responses::GetSceneList
2040
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getscenelist
2041
+ class GetSceneList < Request
2042
+ json_name "GetSceneList"
2043
+ params(
2044
+ )
2045
+ end
2046
+ # @see Request::Mixin#create_scene
2047
+ # @see Responses::CreateScene
2048
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#createscene
2049
+ class CreateScene < Request
2050
+ json_name "CreateScene"
2051
+ params(
2052
+ "scene_name": {json_name: "sceneName", type: Types::String},
2053
+ )
2054
+ end
2055
+ # @see Request::Mixin#reorder_scene_items
2056
+ # @see Responses::ReorderSceneItems
2057
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#reordersceneitems
2058
+ class ReorderSceneItems < Request
2059
+ json_name "ReorderSceneItems"
2060
+ params(
2061
+ "scene": {json_name: "scene", type: Types::Optional[Types::String]},
2062
+ "items": {json_name: "items", type: Types::Array[Types::Object[{:id=>{:type=>Types::Optional[Types::Integer], :json_name=>"id"}, :name=>{:type=>Types::Optional[Types::String], :json_name=>"name"}}]]},
2063
+ )
2064
+ end
2065
+ # @see Request::Mixin#set_scene_transition_override
2066
+ # @see Responses::SetSceneTransitionOverride
2067
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setscenetransitionoverride
2068
+ class SetSceneTransitionOverride < Request
2069
+ json_name "SetSceneTransitionOverride"
2070
+ params(
2071
+ "scene_name": {json_name: "sceneName", type: Types::String},
2072
+ "transition_name": {json_name: "transitionName", type: Types::String},
2073
+ "transition_duration": {json_name: "transitionDuration", type: Types::Optional[Types::Integer]},
2074
+ )
2075
+ end
2076
+ # @see Request::Mixin#remove_scene_transition_override
2077
+ # @see Responses::RemoveSceneTransitionOverride
2078
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#removescenetransitionoverride
2079
+ class RemoveSceneTransitionOverride < Request
2080
+ json_name "RemoveSceneTransitionOverride"
2081
+ params(
2082
+ "scene_name": {json_name: "sceneName", type: Types::String},
2083
+ )
2084
+ end
2085
+ # @see Request::Mixin#get_scene_transition_override
2086
+ # @see Responses::GetSceneTransitionOverride
2087
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getscenetransitionoverride
2088
+ class GetSceneTransitionOverride < Request
2089
+ json_name "GetSceneTransitionOverride"
2090
+ params(
2091
+ "scene_name": {json_name: "sceneName", type: Types::String},
2092
+ )
2093
+ end
2094
+ # @see Request::Mixin#get_streaming_status
2095
+ # @see Responses::GetStreamingStatus
2096
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getstreamingstatus
2097
+ class GetStreamingStatus < Request
2098
+ json_name "GetStreamingStatus"
2099
+ params(
2100
+ )
2101
+ end
2102
+ # @see Request::Mixin#start_stop_streaming
2103
+ # @see Responses::StartStopStreaming
2104
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startstopstreaming
2105
+ class StartStopStreaming < Request
2106
+ json_name "StartStopStreaming"
2107
+ params(
2108
+ )
2109
+ end
2110
+ # @see Request::Mixin#start_streaming
2111
+ # @see Responses::StartStreaming
2112
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startstreaming
2113
+ class StartStreaming < Request
2114
+ json_name "StartStreaming"
2115
+ params(
2116
+ "stream": {json_name: "stream", type: Types::Optional[Types::Object[{:type=>{:type=>Types::Optional[Types::String], :json_name=>"type"}, :metadata=>{:type=>Types::Optional[Types::Object], :json_name=>"metadata"}, :settings=>{:type=>Types::Optional[Types::Object[{:server=>{:type=>Types::Optional[Types::String], :json_name=>"settings"}, :key=>{:type=>Types::Optional[Types::String], :json_name=>"settings"}, :use_auth=>{:type=>Types::Optional[Types::Boolean], :json_name=>"settings"}, :username=>{:type=>Types::Optional[Types::String], :json_name=>"settings"}, :password=>{:type=>Types::Optional[Types::String], :json_name=>"settings"}}]], :json_name=>"settings"}}]]},
2117
+ )
2118
+ end
2119
+ # @see Request::Mixin#stop_streaming
2120
+ # @see Responses::StopStreaming
2121
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#stopstreaming
2122
+ class StopStreaming < Request
2123
+ json_name "StopStreaming"
2124
+ params(
2125
+ )
2126
+ end
2127
+ # @see Request::Mixin#set_stream_settings
2128
+ # @see Responses::SetStreamSettings
2129
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setstreamsettings
2130
+ class SetStreamSettings < Request
2131
+ json_name "SetStreamSettings"
2132
+ params(
2133
+ "type": {json_name: "type", type: Types::String},
2134
+ "settings": {json_name: "settings", type: Types::Object[{:server=>{:type=>Types::Optional[Types::String], :json_name=>"server"}, :key=>{:type=>Types::Optional[Types::String], :json_name=>"key"}, :use_auth=>{:type=>Types::Optional[Types::Boolean], :json_name=>"use_auth"}, :username=>{:type=>Types::Optional[Types::String], :json_name=>"username"}, :password=>{:type=>Types::Optional[Types::String], :json_name=>"password"}}]},
2135
+ "save": {json_name: "save", type: Types::Boolean},
2136
+ )
2137
+ end
2138
+ # @see Request::Mixin#get_stream_settings
2139
+ # @see Responses::GetStreamSettings
2140
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getstreamsettings
2141
+ class GetStreamSettings < Request
2142
+ json_name "GetStreamSettings"
2143
+ params(
2144
+ )
2145
+ end
2146
+ # @see Request::Mixin#save_stream_settings
2147
+ # @see Responses::SaveStreamSettings
2148
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#savestreamsettings
2149
+ class SaveStreamSettings < Request
2150
+ json_name "SaveStreamSettings"
2151
+ params(
2152
+ )
2153
+ end
2154
+ # @see Request::Mixin#send_captions
2155
+ # @see Responses::SendCaptions
2156
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sendcaptions
2157
+ class SendCaptions < Request
2158
+ json_name "SendCaptions"
2159
+ params(
2160
+ "text": {json_name: "text", type: Types::String},
2161
+ )
2162
+ end
2163
+ # @see Request::Mixin#get_studio_mode_status
2164
+ # @see Responses::GetStudioModeStatus
2165
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getstudiomodestatus
2166
+ class GetStudioModeStatus < Request
2167
+ json_name "GetStudioModeStatus"
2168
+ params(
2169
+ )
2170
+ end
2171
+ # @see Request::Mixin#get_preview_scene
2172
+ # @see Responses::GetPreviewScene
2173
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getpreviewscene
2174
+ class GetPreviewScene < Request
2175
+ json_name "GetPreviewScene"
2176
+ params(
2177
+ )
2178
+ end
2179
+ # @see Request::Mixin#set_preview_scene
2180
+ # @see Responses::SetPreviewScene
2181
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setpreviewscene
2182
+ class SetPreviewScene < Request
2183
+ json_name "SetPreviewScene"
2184
+ params(
2185
+ "scene_name": {json_name: "scene-name", type: Types::String},
2186
+ )
2187
+ end
2188
+ # @see Request::Mixin#transition_to_program
2189
+ # @see Responses::TransitionToProgram
2190
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#transitiontoprogram
2191
+ class TransitionToProgram < Request
2192
+ json_name "TransitionToProgram"
2193
+ params(
2194
+ "with_transition": {json_name: "with-transition", type: Types::Optional[Types::Object[{:name=>{:type=>Types::String, :json_name=>"name"}, :duration=>{:type=>Types::Optional[Types::Integer], :json_name=>"duration"}}]]},
2195
+ )
2196
+ end
2197
+ # @see Request::Mixin#enable_studio_mode
2198
+ # @see Responses::EnableStudioMode
2199
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#enablestudiomode
2200
+ class EnableStudioMode < Request
2201
+ json_name "EnableStudioMode"
2202
+ params(
2203
+ )
2204
+ end
2205
+ # @see Request::Mixin#disable_studio_mode
2206
+ # @see Responses::DisableStudioMode
2207
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#disablestudiomode
2208
+ class DisableStudioMode < Request
2209
+ json_name "DisableStudioMode"
2210
+ params(
2211
+ )
2212
+ end
2213
+ # @see Request::Mixin#toggle_studio_mode
2214
+ # @see Responses::ToggleStudioMode
2215
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#togglestudiomode
2216
+ class ToggleStudioMode < Request
2217
+ json_name "ToggleStudioMode"
2218
+ params(
2219
+ )
2220
+ end
2221
+ # @see Request::Mixin#get_transition_list
2222
+ # @see Responses::GetTransitionList
2223
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettransitionlist
2224
+ class GetTransitionList < Request
2225
+ json_name "GetTransitionList"
2226
+ params(
2227
+ )
2228
+ end
2229
+ # @see Request::Mixin#get_current_transition
2230
+ # @see Responses::GetCurrentTransition
2231
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getcurrenttransition
2232
+ class GetCurrentTransition < Request
2233
+ json_name "GetCurrentTransition"
2234
+ params(
2235
+ )
2236
+ end
2237
+ # @see Request::Mixin#set_current_transition
2238
+ # @see Responses::SetCurrentTransition
2239
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setcurrenttransition
2240
+ class SetCurrentTransition < Request
2241
+ json_name "SetCurrentTransition"
2242
+ params(
2243
+ "transition_name": {json_name: "transition-name", type: Types::String},
2244
+ )
2245
+ end
2246
+ # @see Request::Mixin#set_transition_duration
2247
+ # @see Responses::SetTransitionDuration
2248
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#settransitionduration
2249
+ class SetTransitionDuration < Request
2250
+ json_name "SetTransitionDuration"
2251
+ params(
2252
+ "duration": {json_name: "duration", type: Types::Integer},
2253
+ )
2254
+ end
2255
+ # @see Request::Mixin#get_transition_duration
2256
+ # @see Responses::GetTransitionDuration
2257
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettransitionduration
2258
+ class GetTransitionDuration < Request
2259
+ json_name "GetTransitionDuration"
2260
+ params(
2261
+ )
2262
+ end
2263
+ # @see Request::Mixin#get_transition_position
2264
+ # @see Responses::GetTransitionPosition
2265
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettransitionposition
2266
+ class GetTransitionPosition < Request
2267
+ json_name "GetTransitionPosition"
2268
+ params(
2269
+ )
2270
+ end
2271
+ # @see Request::Mixin#get_transition_settings
2272
+ # @see Responses::GetTransitionSettings
2273
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettransitionsettings
2274
+ class GetTransitionSettings < Request
2275
+ json_name "GetTransitionSettings"
2276
+ params(
2277
+ "transition_name": {json_name: "transitionName", type: Types::String},
2278
+ )
2279
+ end
2280
+ # @see Request::Mixin#set_transition_settings
2281
+ # @see Responses::SetTransitionSettings
2282
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#settransitionsettings
2283
+ class SetTransitionSettings < Request
2284
+ json_name "SetTransitionSettings"
2285
+ params(
2286
+ "transition_name": {json_name: "transitionName", type: Types::String},
2287
+ "transition_settings": {json_name: "transitionSettings", type: Types::Object},
2288
+ )
2289
+ end
2290
+ # @see Request::Mixin#release_t_bar
2291
+ # @see Responses::ReleaseTBar
2292
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#releasetbar
2293
+ class ReleaseTBar < Request
2294
+ json_name "ReleaseTBar"
2295
+ params(
2296
+ )
2297
+ end
2298
+ # @see Request::Mixin#set_t_bar_position
2299
+ # @see Responses::SetTBarPosition
2300
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#settbarposition
2301
+ class SetTBarPosition < Request
2302
+ json_name "SetTBarPosition"
2303
+ params(
2304
+ "position": {json_name: "position", type: Types::Float},
2305
+ "release": {json_name: "release", type: Types::Optional[Types::Boolean]},
2306
+ )
2307
+ end
2308
+ module Request::Mixin
2309
+ # Sends <tt>GetVersion</tt> request.
2310
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getversion
2311
+ # @return [Future<Responses::GetVersion>]
2312
+ def get_version()
2313
+ send_request(Requests::GetVersion.new({}))
2314
+ end
2315
+ # Sends <tt>GetAuthRequired</tt> request.
2316
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getauthrequired
2317
+ # @return [Future<Responses::GetAuthRequired>]
2318
+ def get_auth_required()
2319
+ send_request(Requests::GetAuthRequired.new({}))
2320
+ end
2321
+ # Sends <tt>Authenticate</tt> request.
2322
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#authenticate
2323
+ # @param auth [String] <tt>auth</tt> field
2324
+ # @return [Future<Responses::Authenticate>]
2325
+ def authenticate(auth:)
2326
+ send_request(Requests::Authenticate.new({auth: auth}))
2327
+ end
2328
+ # Sends <tt>SetHeartbeat</tt> request.
2329
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setheartbeat
2330
+ # @param enable [Boolean] <tt>enable</tt> field
2331
+ # @deprecated This type of request is deprecated.
2332
+ # @return [Future<Responses::SetHeartbeat>]
2333
+ def set_heartbeat(enable:)
2334
+ send_request(Requests::SetHeartbeat.new({enable: enable}))
2335
+ end
2336
+ # Sends <tt>SetFilenameFormatting</tt> request.
2337
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setfilenameformatting
2338
+ # @param filename_formatting [String] <tt>filename-formatting</tt> field
2339
+ # @return [Future<Responses::SetFilenameFormatting>]
2340
+ def set_filename_formatting(filename_formatting:)
2341
+ send_request(Requests::SetFilenameFormatting.new({filename_formatting: filename_formatting}))
2342
+ end
2343
+ # Sends <tt>GetFilenameFormatting</tt> request.
2344
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getfilenameformatting
2345
+ # @return [Future<Responses::GetFilenameFormatting>]
2346
+ def get_filename_formatting()
2347
+ send_request(Requests::GetFilenameFormatting.new({}))
2348
+ end
2349
+ # Sends <tt>GetStats</tt> request.
2350
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getstats
2351
+ # @return [Future<Responses::GetStats>]
2352
+ def get_stats()
2353
+ send_request(Requests::GetStats.new({}))
2354
+ end
2355
+ # Sends <tt>BroadcastCustomMessage</tt> request.
2356
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#broadcastcustommessage
2357
+ # @param realm [String] <tt>realm</tt> field
2358
+ # @param data [Hash] <tt>data</tt> field
2359
+ # @return [Future<Responses::BroadcastCustomMessage>]
2360
+ def broadcast_custom_message(realm:, data:)
2361
+ send_request(Requests::BroadcastCustomMessage.new({realm: realm, data: data}))
2362
+ end
2363
+ # Sends <tt>GetVideoInfo</tt> request.
2364
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getvideoinfo
2365
+ # @return [Future<Responses::GetVideoInfo>]
2366
+ def get_video_info()
2367
+ send_request(Requests::GetVideoInfo.new({}))
2368
+ end
2369
+ # Sends <tt>OpenProjector</tt> request.
2370
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#openprojector
2371
+ # @param type [String, nil] <tt>type</tt> field
2372
+ # @param monitor [Integer, nil] <tt>monitor</tt> field
2373
+ # @param geometry [String, nil] <tt>geometry</tt> field
2374
+ # @param name [String, nil] <tt>name</tt> field
2375
+ # @return [Future<Responses::OpenProjector>]
2376
+ def open_projector(type: nil, monitor: nil, geometry: nil, name: nil)
2377
+ send_request(Requests::OpenProjector.new({type: type, monitor: monitor, geometry: geometry, name: name}))
2378
+ end
2379
+ # Sends <tt>TriggerHotkeyByName</tt> request.
2380
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#triggerhotkeybyname
2381
+ # @param hotkey_name [String] <tt>hotkeyName</tt> field
2382
+ # @return [Future<Responses::TriggerHotkeyByName>]
2383
+ def trigger_hotkey_by_name(hotkey_name:)
2384
+ send_request(Requests::TriggerHotkeyByName.new({hotkey_name: hotkey_name}))
2385
+ end
2386
+ # Sends <tt>TriggerHotkeyBySequence</tt> request.
2387
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#triggerhotkeybysequence
2388
+ # @param key_id [String] <tt>keyId</tt> field
2389
+ # @param key_modifiers [Hash, nil] <tt>keyModifiers</tt> field
2390
+ # @return [Future<Responses::TriggerHotkeyBySequence>]
2391
+ def trigger_hotkey_by_sequence(key_id:, key_modifiers: nil)
2392
+ send_request(Requests::TriggerHotkeyBySequence.new({key_id: key_id, key_modifiers: key_modifiers}))
2393
+ end
2394
+ # Sends <tt>ExecuteBatch</tt> request.
2395
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#executebatch
2396
+ # @param requests [Array<Hash>] <tt>requests</tt> field
2397
+ # @param abort_on_fail [Boolean, nil] <tt>abortOnFail</tt> field
2398
+ # @return [Future<Responses::ExecuteBatch>]
2399
+ def execute_batch(requests:, abort_on_fail: nil)
2400
+ send_request(Requests::ExecuteBatch.new({requests: requests, abort_on_fail: abort_on_fail}))
2401
+ end
2402
+ # Sends <tt>PlayPauseMedia</tt> request.
2403
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#playpausemedia
2404
+ # @param source_name [String] <tt>sourceName</tt> field
2405
+ # @param play_pause [Boolean] <tt>playPause</tt> field
2406
+ # @return [Future<Responses::PlayPauseMedia>]
2407
+ def play_pause_media(source_name:, play_pause:)
2408
+ send_request(Requests::PlayPauseMedia.new({source_name: source_name, play_pause: play_pause}))
2409
+ end
2410
+ # Sends <tt>RestartMedia</tt> request.
2411
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#restartmedia
2412
+ # @param source_name [String] <tt>sourceName</tt> field
2413
+ # @return [Future<Responses::RestartMedia>]
2414
+ def restart_media(source_name:)
2415
+ send_request(Requests::RestartMedia.new({source_name: source_name}))
2416
+ end
2417
+ # Sends <tt>StopMedia</tt> request.
2418
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#stopmedia
2419
+ # @param source_name [String] <tt>sourceName</tt> field
2420
+ # @return [Future<Responses::StopMedia>]
2421
+ def stop_media(source_name:)
2422
+ send_request(Requests::StopMedia.new({source_name: source_name}))
2423
+ end
2424
+ # Sends <tt>NextMedia</tt> request.
2425
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#nextmedia
2426
+ # @param source_name [String] <tt>sourceName</tt> field
2427
+ # @return [Future<Responses::NextMedia>]
2428
+ def next_media(source_name:)
2429
+ send_request(Requests::NextMedia.new({source_name: source_name}))
2430
+ end
2431
+ # Sends <tt>PreviousMedia</tt> request.
2432
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#previousmedia
2433
+ # @param source_name [String] <tt>sourceName</tt> field
2434
+ # @return [Future<Responses::PreviousMedia>]
2435
+ def previous_media(source_name:)
2436
+ send_request(Requests::PreviousMedia.new({source_name: source_name}))
2437
+ end
2438
+ # Sends <tt>GetMediaDuration</tt> request.
2439
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getmediaduration
2440
+ # @param source_name [String] <tt>sourceName</tt> field
2441
+ # @return [Future<Responses::GetMediaDuration>]
2442
+ def get_media_duration(source_name:)
2443
+ send_request(Requests::GetMediaDuration.new({source_name: source_name}))
2444
+ end
2445
+ # Sends <tt>GetMediaTime</tt> request.
2446
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getmediatime
2447
+ # @param source_name [String] <tt>sourceName</tt> field
2448
+ # @return [Future<Responses::GetMediaTime>]
2449
+ def get_media_time(source_name:)
2450
+ send_request(Requests::GetMediaTime.new({source_name: source_name}))
2451
+ end
2452
+ # Sends <tt>SetMediaTime</tt> request.
2453
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setmediatime
2454
+ # @param source_name [String] <tt>sourceName</tt> field
2455
+ # @param timestamp [Integer] <tt>timestamp</tt> field
2456
+ # @return [Future<Responses::SetMediaTime>]
2457
+ def set_media_time(source_name:, timestamp:)
2458
+ send_request(Requests::SetMediaTime.new({source_name: source_name, timestamp: timestamp}))
2459
+ end
2460
+ # Sends <tt>ScrubMedia</tt> request.
2461
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#scrubmedia
2462
+ # @param source_name [String] <tt>sourceName</tt> field
2463
+ # @param time_offset [Integer] <tt>timeOffset</tt> field
2464
+ # @return [Future<Responses::ScrubMedia>]
2465
+ def scrub_media(source_name:, time_offset:)
2466
+ send_request(Requests::ScrubMedia.new({source_name: source_name, time_offset: time_offset}))
2467
+ end
2468
+ # Sends <tt>GetMediaState</tt> request.
2469
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getmediastate
2470
+ # @param source_name [String] <tt>sourceName</tt> field
2471
+ # @return [Future<Responses::GetMediaState>]
2472
+ def get_media_state(source_name:)
2473
+ send_request(Requests::GetMediaState.new({source_name: source_name}))
2474
+ end
2475
+ # Sends <tt>GetMediaSourcesList</tt> request.
2476
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getmediasourceslist
2477
+ # @return [Future<Responses::GetMediaSourcesList>]
2478
+ def get_media_sources_list()
2479
+ send_request(Requests::GetMediaSourcesList.new({}))
2480
+ end
2481
+ # Sends <tt>CreateSource</tt> request.
2482
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#createsource
2483
+ # @param source_name [String] <tt>sourceName</tt> field
2484
+ # @param source_kind [String] <tt>sourceKind</tt> field
2485
+ # @param scene_name [String] <tt>sceneName</tt> field
2486
+ # @param source_settings [Hash, nil] <tt>sourceSettings</tt> field
2487
+ # @param set_visible [Boolean, nil] <tt>setVisible</tt> field
2488
+ # @return [Future<Responses::CreateSource>]
2489
+ def create_source(source_name:, source_kind:, scene_name:, source_settings: nil, set_visible: nil)
2490
+ send_request(Requests::CreateSource.new({source_name: source_name, source_kind: source_kind, scene_name: scene_name, source_settings: source_settings, set_visible: set_visible}))
2491
+ end
2492
+ # Sends <tt>GetSourcesList</tt> request.
2493
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourceslist
2494
+ # @return [Future<Responses::GetSourcesList>]
2495
+ def get_sources_list()
2496
+ send_request(Requests::GetSourcesList.new({}))
2497
+ end
2498
+ # Sends <tt>GetSourceTypesList</tt> request.
2499
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourcetypeslist
2500
+ # @return [Future<Responses::GetSourceTypesList>]
2501
+ def get_source_types_list()
2502
+ send_request(Requests::GetSourceTypesList.new({}))
2503
+ end
2504
+ # Sends <tt>GetVolume</tt> request.
2505
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getvolume
2506
+ # @param source [String] <tt>source</tt> field
2507
+ # @param use_decibel [Boolean, nil] <tt>useDecibel</tt> field
2508
+ # @return [Future<Responses::GetVolume>]
2509
+ def get_volume(source:, use_decibel: nil)
2510
+ send_request(Requests::GetVolume.new({source: source, use_decibel: use_decibel}))
2511
+ end
2512
+ # Sends <tt>SetVolume</tt> request.
2513
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setvolume
2514
+ # @param source [String] <tt>source</tt> field
2515
+ # @param volume [Float] <tt>volume</tt> field
2516
+ # @param use_decibel [Boolean, nil] <tt>useDecibel</tt> field
2517
+ # @return [Future<Responses::SetVolume>]
2518
+ def set_volume(source:, volume:, use_decibel: nil)
2519
+ send_request(Requests::SetVolume.new({source: source, volume: volume, use_decibel: use_decibel}))
2520
+ end
2521
+ # Sends <tt>GetMute</tt> request.
2522
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getmute
2523
+ # @param source [String] <tt>source</tt> field
2524
+ # @return [Future<Responses::GetMute>]
2525
+ def get_mute(source:)
2526
+ send_request(Requests::GetMute.new({source: source}))
2527
+ end
2528
+ # Sends <tt>SetMute</tt> request.
2529
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setmute
2530
+ # @param source [String] <tt>source</tt> field
2531
+ # @param mute [Boolean] <tt>mute</tt> field
2532
+ # @return [Future<Responses::SetMute>]
2533
+ def set_mute(source:, mute:)
2534
+ send_request(Requests::SetMute.new({source: source, mute: mute}))
2535
+ end
2536
+ # Sends <tt>ToggleMute</tt> request.
2537
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#togglemute
2538
+ # @param source [String] <tt>source</tt> field
2539
+ # @return [Future<Responses::ToggleMute>]
2540
+ def toggle_mute(source:)
2541
+ send_request(Requests::ToggleMute.new({source: source}))
2542
+ end
2543
+ # Sends <tt>GetAudioActive</tt> request.
2544
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getaudioactive
2545
+ # @param source_name [String] <tt>sourceName</tt> field
2546
+ # @return [Future<Responses::GetAudioActive>]
2547
+ def get_audio_active(source_name:)
2548
+ send_request(Requests::GetAudioActive.new({source_name: source_name}))
2549
+ end
2550
+ # Sends <tt>SetSourceName</tt> request.
2551
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsourcename
2552
+ # @param source_name [String] <tt>sourceName</tt> field
2553
+ # @param new_name [String] <tt>newName</tt> field
2554
+ # @return [Future<Responses::SetSourceName>]
2555
+ def set_source_name(source_name:, new_name:)
2556
+ send_request(Requests::SetSourceName.new({source_name: source_name, new_name: new_name}))
2557
+ end
2558
+ # Sends <tt>SetSyncOffset</tt> request.
2559
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsyncoffset
2560
+ # @param source [String] <tt>source</tt> field
2561
+ # @param offset [Integer] <tt>offset</tt> field
2562
+ # @return [Future<Responses::SetSyncOffset>]
2563
+ def set_sync_offset(source:, offset:)
2564
+ send_request(Requests::SetSyncOffset.new({source: source, offset: offset}))
2565
+ end
2566
+ # Sends <tt>GetSyncOffset</tt> request.
2567
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsyncoffset
2568
+ # @param source [String] <tt>source</tt> field
2569
+ # @return [Future<Responses::GetSyncOffset>]
2570
+ def get_sync_offset(source:)
2571
+ send_request(Requests::GetSyncOffset.new({source: source}))
2572
+ end
2573
+ # Sends <tt>GetSourceSettings</tt> request.
2574
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourcesettings
2575
+ # @param source_name [String] <tt>sourceName</tt> field
2576
+ # @param source_type [String, nil] <tt>sourceType</tt> field
2577
+ # @return [Future<Responses::GetSourceSettings>]
2578
+ def get_source_settings(source_name:, source_type: nil)
2579
+ send_request(Requests::GetSourceSettings.new({source_name: source_name, source_type: source_type}))
2580
+ end
2581
+ # Sends <tt>SetSourceSettings</tt> request.
2582
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsourcesettings
2583
+ # @param source_name [String] <tt>sourceName</tt> field
2584
+ # @param source_type [String, nil] <tt>sourceType</tt> field
2585
+ # @param source_settings [Hash] <tt>sourceSettings</tt> field
2586
+ # @return [Future<Responses::SetSourceSettings>]
2587
+ def set_source_settings(source_name:, source_type: nil, source_settings:)
2588
+ send_request(Requests::SetSourceSettings.new({source_name: source_name, source_type: source_type, source_settings: source_settings}))
2589
+ end
2590
+ # Sends <tt>GetTextGDIPlusProperties</tt> request.
2591
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettextgdiplusproperties
2592
+ # @param source [String] <tt>source</tt> field
2593
+ # @return [Future<Responses::GetTextGDIPlusProperties>]
2594
+ def get_text_gdi_plus_properties(source:)
2595
+ send_request(Requests::GetTextGDIPlusProperties.new({source: source}))
2596
+ end
2597
+ # Sends <tt>SetTextGDIPlusProperties</tt> request.
2598
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#settextgdiplusproperties
2599
+ # @param source [String] <tt>source</tt> field
2600
+ # @param align [String, nil] <tt>align</tt> field
2601
+ # @param bk_color [Integer, nil] <tt>bk_color</tt> field
2602
+ # @param bk_opacity [Integer, nil] <tt>bk_opacity</tt> field
2603
+ # @param chatlog [Boolean, nil] <tt>chatlog</tt> field
2604
+ # @param chatlog_lines [Integer, nil] <tt>chatlog_lines</tt> field
2605
+ # @param color [Integer, nil] <tt>color</tt> field
2606
+ # @param extents [Boolean, nil] <tt>extents</tt> field
2607
+ # @param extents_cx [Integer, nil] <tt>extents_cx</tt> field
2608
+ # @param extents_cy [Integer, nil] <tt>extents_cy</tt> field
2609
+ # @param file [String, nil] <tt>file</tt> field
2610
+ # @param read_from_file [Boolean, nil] <tt>read_from_file</tt> field
2611
+ # @param font [Hash, nil] <tt>font</tt> field
2612
+ # @param gradient [Boolean, nil] <tt>gradient</tt> field
2613
+ # @param gradient_color [Integer, nil] <tt>gradient_color</tt> field
2614
+ # @param gradient_dir [Float, nil] <tt>gradient_dir</tt> field
2615
+ # @param gradient_opacity [Integer, nil] <tt>gradient_opacity</tt> field
2616
+ # @param outline [Boolean, nil] <tt>outline</tt> field
2617
+ # @param outline_color [Integer, nil] <tt>outline_color</tt> field
2618
+ # @param outline_size [Integer, nil] <tt>outline_size</tt> field
2619
+ # @param outline_opacity [Integer, nil] <tt>outline_opacity</tt> field
2620
+ # @param text [String, nil] <tt>text</tt> field
2621
+ # @param valign [String, nil] <tt>valign</tt> field
2622
+ # @param vertical [Boolean, nil] <tt>vertical</tt> field
2623
+ # @param render [Boolean, nil] <tt>render</tt> field
2624
+ # @return [Future<Responses::SetTextGDIPlusProperties>]
2625
+ def set_text_gdi_plus_properties(source:, align: nil, bk_color: nil, bk_opacity: nil, chatlog: nil, chatlog_lines: nil, color: nil, extents: nil, extents_cx: nil, extents_cy: nil, file: nil, read_from_file: nil, font: nil, gradient: nil, gradient_color: nil, gradient_dir: nil, gradient_opacity: nil, outline: nil, outline_color: nil, outline_size: nil, outline_opacity: nil, text: nil, valign: nil, vertical: nil, render: nil)
2626
+ send_request(Requests::SetTextGDIPlusProperties.new({source: source, align: align, bk_color: bk_color, bk_opacity: bk_opacity, chatlog: chatlog, chatlog_lines: chatlog_lines, color: color, extents: extents, extents_cx: extents_cx, extents_cy: extents_cy, file: file, read_from_file: read_from_file, font: font, gradient: gradient, gradient_color: gradient_color, gradient_dir: gradient_dir, gradient_opacity: gradient_opacity, outline: outline, outline_color: outline_color, outline_size: outline_size, outline_opacity: outline_opacity, text: text, valign: valign, vertical: vertical, render: render}))
2627
+ end
2628
+ # Sends <tt>GetTextFreetype2Properties</tt> request.
2629
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettextfreetype2properties
2630
+ # @param source [String] <tt>source</tt> field
2631
+ # @return [Future<Responses::GetTextFreetype2Properties>]
2632
+ def get_text_freetype2_properties(source:)
2633
+ send_request(Requests::GetTextFreetype2Properties.new({source: source}))
2634
+ end
2635
+ # Sends <tt>SetTextFreetype2Properties</tt> request.
2636
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#settextfreetype2properties
2637
+ # @param source [String] <tt>source</tt> field
2638
+ # @param color1 [Integer, nil] <tt>color1</tt> field
2639
+ # @param color2 [Integer, nil] <tt>color2</tt> field
2640
+ # @param custom_width [Integer, nil] <tt>custom_width</tt> field
2641
+ # @param drop_shadow [Boolean, nil] <tt>drop_shadow</tt> field
2642
+ # @param font [Hash, nil] <tt>font</tt> field
2643
+ # @param from_file [Boolean, nil] <tt>from_file</tt> field
2644
+ # @param log_mode [Boolean, nil] <tt>log_mode</tt> field
2645
+ # @param outline [Boolean, nil] <tt>outline</tt> field
2646
+ # @param text [String, nil] <tt>text</tt> field
2647
+ # @param text_file [String, nil] <tt>text_file</tt> field
2648
+ # @param word_wrap [Boolean, nil] <tt>word_wrap</tt> field
2649
+ # @return [Future<Responses::SetTextFreetype2Properties>]
2650
+ def set_text_freetype2_properties(source:, color1: nil, color2: nil, custom_width: nil, drop_shadow: nil, font: nil, from_file: nil, log_mode: nil, outline: nil, text: nil, text_file: nil, word_wrap: nil)
2651
+ send_request(Requests::SetTextFreetype2Properties.new({source: source, color1: color1, color2: color2, custom_width: custom_width, drop_shadow: drop_shadow, font: font, from_file: from_file, log_mode: log_mode, outline: outline, text: text, text_file: text_file, word_wrap: word_wrap}))
2652
+ end
2653
+ # Sends <tt>GetBrowserSourceProperties</tt> request.
2654
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getbrowsersourceproperties
2655
+ # @param source [String] <tt>source</tt> field
2656
+ # @deprecated This type of request is deprecated.
2657
+ # @return [Future<Responses::GetBrowserSourceProperties>]
2658
+ def get_browser_source_properties(source:)
2659
+ send_request(Requests::GetBrowserSourceProperties.new({source: source}))
2660
+ end
2661
+ # Sends <tt>SetBrowserSourceProperties</tt> request.
2662
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setbrowsersourceproperties
2663
+ # @param source [String] <tt>source</tt> field
2664
+ # @param is_local_file [Boolean, nil] <tt>is_local_file</tt> field
2665
+ # @param local_file [String, nil] <tt>local_file</tt> field
2666
+ # @param url [String, nil] <tt>url</tt> field
2667
+ # @param css [String, nil] <tt>css</tt> field
2668
+ # @param width [Integer, nil] <tt>width</tt> field
2669
+ # @param height [Integer, nil] <tt>height</tt> field
2670
+ # @param fps [Integer, nil] <tt>fps</tt> field
2671
+ # @param shutdown [Boolean, nil] <tt>shutdown</tt> field
2672
+ # @param render [Boolean, nil] <tt>render</tt> field
2673
+ # @deprecated This type of request is deprecated.
2674
+ # @return [Future<Responses::SetBrowserSourceProperties>]
2675
+ def set_browser_source_properties(source:, is_local_file: nil, local_file: nil, url: nil, css: nil, width: nil, height: nil, fps: nil, shutdown: nil, render: nil)
2676
+ send_request(Requests::SetBrowserSourceProperties.new({source: source, is_local_file: is_local_file, local_file: local_file, url: url, css: css, width: width, height: height, fps: fps, shutdown: shutdown, render: render}))
2677
+ end
2678
+ # Sends <tt>GetSpecialSources</tt> request.
2679
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getspecialsources
2680
+ # @return [Future<Responses::GetSpecialSources>]
2681
+ def get_special_sources()
2682
+ send_request(Requests::GetSpecialSources.new({}))
2683
+ end
2684
+ # Sends <tt>GetSourceFilters</tt> request.
2685
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourcefilters
2686
+ # @param source_name [String] <tt>sourceName</tt> field
2687
+ # @return [Future<Responses::GetSourceFilters>]
2688
+ def get_source_filters(source_name:)
2689
+ send_request(Requests::GetSourceFilters.new({source_name: source_name}))
2690
+ end
2691
+ # Sends <tt>GetSourceFilterInfo</tt> request.
2692
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourcefilterinfo
2693
+ # @param source_name [String] <tt>sourceName</tt> field
2694
+ # @param filter_name [String] <tt>filterName</tt> field
2695
+ # @return [Future<Responses::GetSourceFilterInfo>]
2696
+ def get_source_filter_info(source_name:, filter_name:)
2697
+ send_request(Requests::GetSourceFilterInfo.new({source_name: source_name, filter_name: filter_name}))
2698
+ end
2699
+ # Sends <tt>AddFilterToSource</tt> request.
2700
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#addfiltertosource
2701
+ # @param source_name [String] <tt>sourceName</tt> field
2702
+ # @param filter_name [String] <tt>filterName</tt> field
2703
+ # @param filter_type [String] <tt>filterType</tt> field
2704
+ # @param filter_settings [Hash] <tt>filterSettings</tt> field
2705
+ # @return [Future<Responses::AddFilterToSource>]
2706
+ def add_filter_to_source(source_name:, filter_name:, filter_type:, filter_settings:)
2707
+ send_request(Requests::AddFilterToSource.new({source_name: source_name, filter_name: filter_name, filter_type: filter_type, filter_settings: filter_settings}))
2708
+ end
2709
+ # Sends <tt>RemoveFilterFromSource</tt> request.
2710
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#removefilterfromsource
2711
+ # @param source_name [String] <tt>sourceName</tt> field
2712
+ # @param filter_name [String] <tt>filterName</tt> field
2713
+ # @return [Future<Responses::RemoveFilterFromSource>]
2714
+ def remove_filter_from_source(source_name:, filter_name:)
2715
+ send_request(Requests::RemoveFilterFromSource.new({source_name: source_name, filter_name: filter_name}))
2716
+ end
2717
+ # Sends <tt>ReorderSourceFilter</tt> request.
2718
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#reordersourcefilter
2719
+ # @param source_name [String] <tt>sourceName</tt> field
2720
+ # @param filter_name [String] <tt>filterName</tt> field
2721
+ # @param new_index [Integer] <tt>newIndex</tt> field
2722
+ # @return [Future<Responses::ReorderSourceFilter>]
2723
+ def reorder_source_filter(source_name:, filter_name:, new_index:)
2724
+ send_request(Requests::ReorderSourceFilter.new({source_name: source_name, filter_name: filter_name, new_index: new_index}))
2725
+ end
2726
+ # Sends <tt>MoveSourceFilter</tt> request.
2727
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#movesourcefilter
2728
+ # @param source_name [String] <tt>sourceName</tt> field
2729
+ # @param filter_name [String] <tt>filterName</tt> field
2730
+ # @param movement_type [String] <tt>movementType</tt> field
2731
+ # @return [Future<Responses::MoveSourceFilter>]
2732
+ def move_source_filter(source_name:, filter_name:, movement_type:)
2733
+ send_request(Requests::MoveSourceFilter.new({source_name: source_name, filter_name: filter_name, movement_type: movement_type}))
2734
+ end
2735
+ # Sends <tt>SetSourceFilterSettings</tt> request.
2736
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsourcefiltersettings
2737
+ # @param source_name [String] <tt>sourceName</tt> field
2738
+ # @param filter_name [String] <tt>filterName</tt> field
2739
+ # @param filter_settings [Hash] <tt>filterSettings</tt> field
2740
+ # @return [Future<Responses::SetSourceFilterSettings>]
2741
+ def set_source_filter_settings(source_name:, filter_name:, filter_settings:)
2742
+ send_request(Requests::SetSourceFilterSettings.new({source_name: source_name, filter_name: filter_name, filter_settings: filter_settings}))
2743
+ end
2744
+ # Sends <tt>SetSourceFilterVisibility</tt> request.
2745
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsourcefiltervisibility
2746
+ # @param source_name [String] <tt>sourceName</tt> field
2747
+ # @param filter_name [String] <tt>filterName</tt> field
2748
+ # @param filter_enabled [Boolean] <tt>filterEnabled</tt> field
2749
+ # @return [Future<Responses::SetSourceFilterVisibility>]
2750
+ def set_source_filter_visibility(source_name:, filter_name:, filter_enabled:)
2751
+ send_request(Requests::SetSourceFilterVisibility.new({source_name: source_name, filter_name: filter_name, filter_enabled: filter_enabled}))
2752
+ end
2753
+ # Sends <tt>GetAudioMonitorType</tt> request.
2754
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getaudiomonitortype
2755
+ # @param source_name [String] <tt>sourceName</tt> field
2756
+ # @return [Future<Responses::GetAudioMonitorType>]
2757
+ def get_audio_monitor_type(source_name:)
2758
+ send_request(Requests::GetAudioMonitorType.new({source_name: source_name}))
2759
+ end
2760
+ # Sends <tt>SetAudioMonitorType</tt> request.
2761
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setaudiomonitortype
2762
+ # @param source_name [String] <tt>sourceName</tt> field
2763
+ # @param monitor_type [String] <tt>monitorType</tt> field
2764
+ # @return [Future<Responses::SetAudioMonitorType>]
2765
+ def set_audio_monitor_type(source_name:, monitor_type:)
2766
+ send_request(Requests::SetAudioMonitorType.new({source_name: source_name, monitor_type: monitor_type}))
2767
+ end
2768
+ # Sends <tt>GetSourceDefaultSettings</tt> request.
2769
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourcedefaultsettings
2770
+ # @param source_kind [String] <tt>sourceKind</tt> field
2771
+ # @return [Future<Responses::GetSourceDefaultSettings>]
2772
+ def get_source_default_settings(source_kind:)
2773
+ send_request(Requests::GetSourceDefaultSettings.new({source_kind: source_kind}))
2774
+ end
2775
+ # Sends <tt>TakeSourceScreenshot</tt> request.
2776
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#takesourcescreenshot
2777
+ # @param source_name [String, nil] <tt>sourceName</tt> field
2778
+ # @param embed_picture_format [String, nil] <tt>embedPictureFormat</tt> field
2779
+ # @param save_to_file_path [String, nil] <tt>saveToFilePath</tt> field
2780
+ # @param file_format [String, nil] <tt>fileFormat</tt> field
2781
+ # @param compression_quality [Integer, nil] <tt>compressionQuality</tt> field
2782
+ # @param width [Integer, nil] <tt>width</tt> field
2783
+ # @param height [Integer, nil] <tt>height</tt> field
2784
+ # @return [Future<Responses::TakeSourceScreenshot>]
2785
+ def take_source_screenshot(source_name: nil, embed_picture_format: nil, save_to_file_path: nil, file_format: nil, compression_quality: nil, width: nil, height: nil)
2786
+ send_request(Requests::TakeSourceScreenshot.new({source_name: source_name, embed_picture_format: embed_picture_format, save_to_file_path: save_to_file_path, file_format: file_format, compression_quality: compression_quality, width: width, height: height}))
2787
+ end
2788
+ # Sends <tt>RefreshBrowserSource</tt> request.
2789
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#refreshbrowsersource
2790
+ # @param source_name [String] <tt>sourceName</tt> field
2791
+ # @return [Future<Responses::RefreshBrowserSource>]
2792
+ def refresh_browser_source(source_name:)
2793
+ send_request(Requests::RefreshBrowserSource.new({source_name: source_name}))
2794
+ end
2795
+ # Sends <tt>ListOutputs</tt> request.
2796
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#listoutputs
2797
+ # @return [Future<Responses::ListOutputs>]
2798
+ def list_outputs()
2799
+ send_request(Requests::ListOutputs.new({}))
2800
+ end
2801
+ # Sends <tt>GetOutputInfo</tt> request.
2802
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getoutputinfo
2803
+ # @param output_name [String] <tt>outputName</tt> field
2804
+ # @return [Future<Responses::GetOutputInfo>]
2805
+ def get_output_info(output_name:)
2806
+ send_request(Requests::GetOutputInfo.new({output_name: output_name}))
2807
+ end
2808
+ # Sends <tt>StartOutput</tt> request.
2809
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startoutput
2810
+ # @param output_name [String] <tt>outputName</tt> field
2811
+ # @return [Future<Responses::StartOutput>]
2812
+ def start_output(output_name:)
2813
+ send_request(Requests::StartOutput.new({output_name: output_name}))
2814
+ end
2815
+ # Sends <tt>StopOutput</tt> request.
2816
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#stopoutput
2817
+ # @param output_name [String] <tt>outputName</tt> field
2818
+ # @param force [Boolean, nil] <tt>force</tt> field
2819
+ # @return [Future<Responses::StopOutput>]
2820
+ def stop_output(output_name:, force: nil)
2821
+ send_request(Requests::StopOutput.new({output_name: output_name, force: force}))
2822
+ end
2823
+ # Sends <tt>SetCurrentProfile</tt> request.
2824
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setcurrentprofile
2825
+ # @param profile_name [String] <tt>profile-name</tt> field
2826
+ # @return [Future<Responses::SetCurrentProfile>]
2827
+ def set_current_profile(profile_name:)
2828
+ send_request(Requests::SetCurrentProfile.new({profile_name: profile_name}))
2829
+ end
2830
+ # Sends <tt>GetCurrentProfile</tt> request.
2831
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getcurrentprofile
2832
+ # @return [Future<Responses::GetCurrentProfile>]
2833
+ def get_current_profile()
2834
+ send_request(Requests::GetCurrentProfile.new({}))
2835
+ end
2836
+ # Sends <tt>ListProfiles</tt> request.
2837
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#listprofiles
2838
+ # @return [Future<Responses::ListProfiles>]
2839
+ def list_profiles()
2840
+ send_request(Requests::ListProfiles.new({}))
2841
+ end
2842
+ # Sends <tt>GetRecordingStatus</tt> request.
2843
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getrecordingstatus
2844
+ # @return [Future<Responses::GetRecordingStatus>]
2845
+ def get_recording_status()
2846
+ send_request(Requests::GetRecordingStatus.new({}))
2847
+ end
2848
+ # Sends <tt>StartStopRecording</tt> request.
2849
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startstoprecording
2850
+ # @return [Future<Responses::StartStopRecording>]
2851
+ def start_stop_recording()
2852
+ send_request(Requests::StartStopRecording.new({}))
2853
+ end
2854
+ # Sends <tt>StartRecording</tt> request.
2855
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startrecording
2856
+ # @return [Future<Responses::StartRecording>]
2857
+ def start_recording()
2858
+ send_request(Requests::StartRecording.new({}))
2859
+ end
2860
+ # Sends <tt>StopRecording</tt> request.
2861
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#stoprecording
2862
+ # @return [Future<Responses::StopRecording>]
2863
+ def stop_recording()
2864
+ send_request(Requests::StopRecording.new({}))
2865
+ end
2866
+ # Sends <tt>PauseRecording</tt> request.
2867
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#pauserecording
2868
+ # @return [Future<Responses::PauseRecording>]
2869
+ def pause_recording()
2870
+ send_request(Requests::PauseRecording.new({}))
2871
+ end
2872
+ # Sends <tt>ResumeRecording</tt> request.
2873
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#resumerecording
2874
+ # @return [Future<Responses::ResumeRecording>]
2875
+ def resume_recording()
2876
+ send_request(Requests::ResumeRecording.new({}))
2877
+ end
2878
+ # Sends <tt>SetRecordingFolder</tt> request.
2879
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setrecordingfolder
2880
+ # @param rec_folder [String] <tt>rec-folder</tt> field
2881
+ # @return [Future<Responses::SetRecordingFolder>]
2882
+ def set_recording_folder(rec_folder:)
2883
+ send_request(Requests::SetRecordingFolder.new({rec_folder: rec_folder}))
2884
+ end
2885
+ # Sends <tt>GetRecordingFolder</tt> request.
2886
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getrecordingfolder
2887
+ # @return [Future<Responses::GetRecordingFolder>]
2888
+ def get_recording_folder()
2889
+ send_request(Requests::GetRecordingFolder.new({}))
2890
+ end
2891
+ # Sends <tt>GetReplayBufferStatus</tt> request.
2892
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getreplaybufferstatus
2893
+ # @return [Future<Responses::GetReplayBufferStatus>]
2894
+ def get_replay_buffer_status()
2895
+ send_request(Requests::GetReplayBufferStatus.new({}))
2896
+ end
2897
+ # Sends <tt>StartStopReplayBuffer</tt> request.
2898
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startstopreplaybuffer
2899
+ # @return [Future<Responses::StartStopReplayBuffer>]
2900
+ def start_stop_replay_buffer()
2901
+ send_request(Requests::StartStopReplayBuffer.new({}))
2902
+ end
2903
+ # Sends <tt>StartReplayBuffer</tt> request.
2904
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startreplaybuffer
2905
+ # @return [Future<Responses::StartReplayBuffer>]
2906
+ def start_replay_buffer()
2907
+ send_request(Requests::StartReplayBuffer.new({}))
2908
+ end
2909
+ # Sends <tt>StopReplayBuffer</tt> request.
2910
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#stopreplaybuffer
2911
+ # @return [Future<Responses::StopReplayBuffer>]
2912
+ def stop_replay_buffer()
2913
+ send_request(Requests::StopReplayBuffer.new({}))
2914
+ end
2915
+ # Sends <tt>SaveReplayBuffer</tt> request.
2916
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#savereplaybuffer
2917
+ # @return [Future<Responses::SaveReplayBuffer>]
2918
+ def save_replay_buffer()
2919
+ send_request(Requests::SaveReplayBuffer.new({}))
2920
+ end
2921
+ # Sends <tt>SetCurrentSceneCollection</tt> request.
2922
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setcurrentscenecollection
2923
+ # @param sc_name [String] <tt>sc-name</tt> field
2924
+ # @return [Future<Responses::SetCurrentSceneCollection>]
2925
+ def set_current_scene_collection(sc_name:)
2926
+ send_request(Requests::SetCurrentSceneCollection.new({sc_name: sc_name}))
2927
+ end
2928
+ # Sends <tt>GetCurrentSceneCollection</tt> request.
2929
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getcurrentscenecollection
2930
+ # @return [Future<Responses::GetCurrentSceneCollection>]
2931
+ def get_current_scene_collection()
2932
+ send_request(Requests::GetCurrentSceneCollection.new({}))
2933
+ end
2934
+ # Sends <tt>ListSceneCollections</tt> request.
2935
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#listscenecollections
2936
+ # @return [Future<Responses::ListSceneCollections>]
2937
+ def list_scene_collections()
2938
+ send_request(Requests::ListSceneCollections.new({}))
2939
+ end
2940
+ # Sends <tt>GetSceneItemList</tt> request.
2941
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsceneitemlist
2942
+ # @param scene_name [String, nil] <tt>sceneName</tt> field
2943
+ # @return [Future<Responses::GetSceneItemList>]
2944
+ def get_scene_item_list(scene_name: nil)
2945
+ send_request(Requests::GetSceneItemList.new({scene_name: scene_name}))
2946
+ end
2947
+ # Sends <tt>GetSceneItemProperties</tt> request.
2948
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsceneitemproperties
2949
+ # @param scene_name [String, nil] <tt>scene-name</tt> field
2950
+ # @param item [String, Object] <tt>item</tt> field
2951
+ # @return [Future<Responses::GetSceneItemProperties>]
2952
+ def get_scene_item_properties(scene_name: nil, item:)
2953
+ send_request(Requests::GetSceneItemProperties.new({scene_name: scene_name, item: item}))
2954
+ end
2955
+ # Sends <tt>SetSceneItemProperties</tt> request.
2956
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsceneitemproperties
2957
+ # @param scene_name [String, nil] <tt>scene-name</tt> field
2958
+ # @param item [String, Object] <tt>item</tt> field
2959
+ # @param position [Hash] <tt>position</tt> field
2960
+ # @param rotation [Float, nil] <tt>rotation</tt> field
2961
+ # @param scale [Hash] <tt>scale</tt> field
2962
+ # @param crop [Hash] <tt>crop</tt> field
2963
+ # @param visible [Boolean, nil] <tt>visible</tt> field
2964
+ # @param locked [Boolean, nil] <tt>locked</tt> field
2965
+ # @param bounds [Hash] <tt>bounds</tt> field
2966
+ # @return [Future<Responses::SetSceneItemProperties>]
2967
+ def set_scene_item_properties(scene_name: nil, item:, position:, rotation: nil, scale:, crop:, visible: nil, locked: nil, bounds:)
2968
+ send_request(Requests::SetSceneItemProperties.new({scene_name: scene_name, item: item, position: position, rotation: rotation, scale: scale, crop: crop, visible: visible, locked: locked, bounds: bounds}))
2969
+ end
2970
+ # Sends <tt>ResetSceneItem</tt> request.
2971
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#resetsceneitem
2972
+ # @param scene_name [String, nil] <tt>scene-name</tt> field
2973
+ # @param item [String, Object] <tt>item</tt> field
2974
+ # @return [Future<Responses::ResetSceneItem>]
2975
+ def reset_scene_item(scene_name: nil, item:)
2976
+ send_request(Requests::ResetSceneItem.new({scene_name: scene_name, item: item}))
2977
+ end
2978
+ # Sends <tt>SetSceneItemRender</tt> request.
2979
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsceneitemrender
2980
+ # @param scene_name [String, nil] <tt>scene-name</tt> field
2981
+ # @param source [String, nil] <tt>source</tt> field
2982
+ # @param item [Integer, nil] <tt>item</tt> field
2983
+ # @param render [Boolean] <tt>render</tt> field
2984
+ # @return [Future<Responses::SetSceneItemRender>]
2985
+ def set_scene_item_render(scene_name: nil, source: nil, item: nil, render:)
2986
+ send_request(Requests::SetSceneItemRender.new({scene_name: scene_name, source: source, item: item, render: render}))
2987
+ end
2988
+ # Sends <tt>SetSceneItemPosition</tt> request.
2989
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsceneitemposition
2990
+ # @param scene_name [String, nil] <tt>scene-name</tt> field
2991
+ # @param item [String] <tt>item</tt> field
2992
+ # @param x [Float] <tt>x</tt> field
2993
+ # @param y [Float] <tt>y</tt> field
2994
+ # @deprecated This type of request is deprecated.
2995
+ # @return [Future<Responses::SetSceneItemPosition>]
2996
+ def set_scene_item_position(scene_name: nil, item:, x:, y:)
2997
+ send_request(Requests::SetSceneItemPosition.new({scene_name: scene_name, item: item, x: x, y: y}))
2998
+ end
2999
+ # Sends <tt>SetSceneItemTransform</tt> request.
3000
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsceneitemtransform
3001
+ # @param scene_name [String, nil] <tt>scene-name</tt> field
3002
+ # @param item [String] <tt>item</tt> field
3003
+ # @param x_scale [Float] <tt>x-scale</tt> field
3004
+ # @param y_scale [Float] <tt>y-scale</tt> field
3005
+ # @param rotation [Float] <tt>rotation</tt> field
3006
+ # @deprecated This type of request is deprecated.
3007
+ # @return [Future<Responses::SetSceneItemTransform>]
3008
+ def set_scene_item_transform(scene_name: nil, item:, x_scale:, y_scale:, rotation:)
3009
+ send_request(Requests::SetSceneItemTransform.new({scene_name: scene_name, item: item, x_scale: x_scale, y_scale: y_scale, rotation: rotation}))
3010
+ end
3011
+ # Sends <tt>SetSceneItemCrop</tt> request.
3012
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsceneitemcrop
3013
+ # @param scene_name [String, nil] <tt>scene-name</tt> field
3014
+ # @param item [String] <tt>item</tt> field
3015
+ # @param top [Integer] <tt>top</tt> field
3016
+ # @param bottom [Integer] <tt>bottom</tt> field
3017
+ # @param left [Integer] <tt>left</tt> field
3018
+ # @param right [Integer] <tt>right</tt> field
3019
+ # @deprecated This type of request is deprecated.
3020
+ # @return [Future<Responses::SetSceneItemCrop>]
3021
+ def set_scene_item_crop(scene_name: nil, item:, top:, bottom:, left:, right:)
3022
+ send_request(Requests::SetSceneItemCrop.new({scene_name: scene_name, item: item, top: top, bottom: bottom, left: left, right: right}))
3023
+ end
3024
+ # Sends <tt>DeleteSceneItem</tt> request.
3025
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#deletesceneitem
3026
+ # @param scene [String, nil] <tt>scene</tt> field
3027
+ # @param item [Hash] <tt>item</tt> field
3028
+ # @return [Future<Responses::DeleteSceneItem>]
3029
+ def delete_scene_item(scene: nil, item:)
3030
+ send_request(Requests::DeleteSceneItem.new({scene: scene, item: item}))
3031
+ end
3032
+ # Sends <tt>AddSceneItem</tt> request.
3033
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#addsceneitem
3034
+ # @param scene_name [String] <tt>sceneName</tt> field
3035
+ # @param source_name [String] <tt>sourceName</tt> field
3036
+ # @param set_visible [Boolean] <tt>setVisible</tt> field
3037
+ # @return [Future<Responses::AddSceneItem>]
3038
+ def add_scene_item(scene_name:, source_name:, set_visible:)
3039
+ send_request(Requests::AddSceneItem.new({scene_name: scene_name, source_name: source_name, set_visible: set_visible}))
3040
+ end
3041
+ # Sends <tt>DuplicateSceneItem</tt> request.
3042
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#duplicatesceneitem
3043
+ # @param from_scene [String, nil] <tt>fromScene</tt> field
3044
+ # @param to_scene [String, nil] <tt>toScene</tt> field
3045
+ # @param item [Hash] <tt>item</tt> field
3046
+ # @return [Future<Responses::DuplicateSceneItem>]
3047
+ def duplicate_scene_item(from_scene: nil, to_scene: nil, item:)
3048
+ send_request(Requests::DuplicateSceneItem.new({from_scene: from_scene, to_scene: to_scene, item: item}))
3049
+ end
3050
+ # Sends <tt>SetCurrentScene</tt> request.
3051
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setcurrentscene
3052
+ # @param scene_name [String] <tt>scene-name</tt> field
3053
+ # @return [Future<Responses::SetCurrentScene>]
3054
+ def set_current_scene(scene_name:)
3055
+ send_request(Requests::SetCurrentScene.new({scene_name: scene_name}))
3056
+ end
3057
+ # Sends <tt>GetCurrentScene</tt> request.
3058
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getcurrentscene
3059
+ # @return [Future<Responses::GetCurrentScene>]
3060
+ def get_current_scene()
3061
+ send_request(Requests::GetCurrentScene.new({}))
3062
+ end
3063
+ # Sends <tt>GetSceneList</tt> request.
3064
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getscenelist
3065
+ # @return [Future<Responses::GetSceneList>]
3066
+ def get_scene_list()
3067
+ send_request(Requests::GetSceneList.new({}))
3068
+ end
3069
+ # Sends <tt>CreateScene</tt> request.
3070
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#createscene
3071
+ # @param scene_name [String] <tt>sceneName</tt> field
3072
+ # @return [Future<Responses::CreateScene>]
3073
+ def create_scene(scene_name:)
3074
+ send_request(Requests::CreateScene.new({scene_name: scene_name}))
3075
+ end
3076
+ # Sends <tt>ReorderSceneItems</tt> request.
3077
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#reordersceneitems
3078
+ # @param scene [String, nil] <tt>scene</tt> field
3079
+ # @param items [Array<Hash>] <tt>items</tt> field
3080
+ # @return [Future<Responses::ReorderSceneItems>]
3081
+ def reorder_scene_items(scene: nil, items:)
3082
+ send_request(Requests::ReorderSceneItems.new({scene: scene, items: items}))
3083
+ end
3084
+ # Sends <tt>SetSceneTransitionOverride</tt> request.
3085
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setscenetransitionoverride
3086
+ # @param scene_name [String] <tt>sceneName</tt> field
3087
+ # @param transition_name [String] <tt>transitionName</tt> field
3088
+ # @param transition_duration [Integer, nil] <tt>transitionDuration</tt> field
3089
+ # @return [Future<Responses::SetSceneTransitionOverride>]
3090
+ def set_scene_transition_override(scene_name:, transition_name:, transition_duration: nil)
3091
+ send_request(Requests::SetSceneTransitionOverride.new({scene_name: scene_name, transition_name: transition_name, transition_duration: transition_duration}))
3092
+ end
3093
+ # Sends <tt>RemoveSceneTransitionOverride</tt> request.
3094
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#removescenetransitionoverride
3095
+ # @param scene_name [String] <tt>sceneName</tt> field
3096
+ # @return [Future<Responses::RemoveSceneTransitionOverride>]
3097
+ def remove_scene_transition_override(scene_name:)
3098
+ send_request(Requests::RemoveSceneTransitionOverride.new({scene_name: scene_name}))
3099
+ end
3100
+ # Sends <tt>GetSceneTransitionOverride</tt> request.
3101
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getscenetransitionoverride
3102
+ # @param scene_name [String] <tt>sceneName</tt> field
3103
+ # @return [Future<Responses::GetSceneTransitionOverride>]
3104
+ def get_scene_transition_override(scene_name:)
3105
+ send_request(Requests::GetSceneTransitionOverride.new({scene_name: scene_name}))
3106
+ end
3107
+ # Sends <tt>GetStreamingStatus</tt> request.
3108
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getstreamingstatus
3109
+ # @return [Future<Responses::GetStreamingStatus>]
3110
+ def get_streaming_status()
3111
+ send_request(Requests::GetStreamingStatus.new({}))
3112
+ end
3113
+ # Sends <tt>StartStopStreaming</tt> request.
3114
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startstopstreaming
3115
+ # @return [Future<Responses::StartStopStreaming>]
3116
+ def start_stop_streaming()
3117
+ send_request(Requests::StartStopStreaming.new({}))
3118
+ end
3119
+ # Sends <tt>StartStreaming</tt> request.
3120
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startstreaming
3121
+ # @param stream [Hash, nil] <tt>stream</tt> field
3122
+ # @return [Future<Responses::StartStreaming>]
3123
+ def start_streaming(stream: nil)
3124
+ send_request(Requests::StartStreaming.new({stream: stream}))
3125
+ end
3126
+ # Sends <tt>StopStreaming</tt> request.
3127
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#stopstreaming
3128
+ # @return [Future<Responses::StopStreaming>]
3129
+ def stop_streaming()
3130
+ send_request(Requests::StopStreaming.new({}))
3131
+ end
3132
+ # Sends <tt>SetStreamSettings</tt> request.
3133
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setstreamsettings
3134
+ # @param type [String] <tt>type</tt> field
3135
+ # @param settings [Hash] <tt>settings</tt> field
3136
+ # @param save [Boolean] <tt>save</tt> field
3137
+ # @return [Future<Responses::SetStreamSettings>]
3138
+ def set_stream_settings(type:, settings:, save:)
3139
+ send_request(Requests::SetStreamSettings.new({type: type, settings: settings, save: save}))
3140
+ end
3141
+ # Sends <tt>GetStreamSettings</tt> request.
3142
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getstreamsettings
3143
+ # @return [Future<Responses::GetStreamSettings>]
3144
+ def get_stream_settings()
3145
+ send_request(Requests::GetStreamSettings.new({}))
3146
+ end
3147
+ # Sends <tt>SaveStreamSettings</tt> request.
3148
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#savestreamsettings
3149
+ # @return [Future<Responses::SaveStreamSettings>]
3150
+ def save_stream_settings()
3151
+ send_request(Requests::SaveStreamSettings.new({}))
3152
+ end
3153
+ # Sends <tt>SendCaptions</tt> request.
3154
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sendcaptions
3155
+ # @param text [String] <tt>text</tt> field
3156
+ # @return [Future<Responses::SendCaptions>]
3157
+ def send_captions(text:)
3158
+ send_request(Requests::SendCaptions.new({text: text}))
3159
+ end
3160
+ # Sends <tt>GetStudioModeStatus</tt> request.
3161
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getstudiomodestatus
3162
+ # @return [Future<Responses::GetStudioModeStatus>]
3163
+ def get_studio_mode_status()
3164
+ send_request(Requests::GetStudioModeStatus.new({}))
3165
+ end
3166
+ # Sends <tt>GetPreviewScene</tt> request.
3167
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getpreviewscene
3168
+ # @return [Future<Responses::GetPreviewScene>]
3169
+ def get_preview_scene()
3170
+ send_request(Requests::GetPreviewScene.new({}))
3171
+ end
3172
+ # Sends <tt>SetPreviewScene</tt> request.
3173
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setpreviewscene
3174
+ # @param scene_name [String] <tt>scene-name</tt> field
3175
+ # @return [Future<Responses::SetPreviewScene>]
3176
+ def set_preview_scene(scene_name:)
3177
+ send_request(Requests::SetPreviewScene.new({scene_name: scene_name}))
3178
+ end
3179
+ # Sends <tt>TransitionToProgram</tt> request.
3180
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#transitiontoprogram
3181
+ # @param with_transition [Hash, nil] <tt>with-transition</tt> field
3182
+ # @return [Future<Responses::TransitionToProgram>]
3183
+ def transition_to_program(with_transition: nil)
3184
+ send_request(Requests::TransitionToProgram.new({with_transition: with_transition}))
3185
+ end
3186
+ # Sends <tt>EnableStudioMode</tt> request.
3187
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#enablestudiomode
3188
+ # @return [Future<Responses::EnableStudioMode>]
3189
+ def enable_studio_mode()
3190
+ send_request(Requests::EnableStudioMode.new({}))
3191
+ end
3192
+ # Sends <tt>DisableStudioMode</tt> request.
3193
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#disablestudiomode
3194
+ # @return [Future<Responses::DisableStudioMode>]
3195
+ def disable_studio_mode()
3196
+ send_request(Requests::DisableStudioMode.new({}))
3197
+ end
3198
+ # Sends <tt>ToggleStudioMode</tt> request.
3199
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#togglestudiomode
3200
+ # @return [Future<Responses::ToggleStudioMode>]
3201
+ def toggle_studio_mode()
3202
+ send_request(Requests::ToggleStudioMode.new({}))
3203
+ end
3204
+ # Sends <tt>GetTransitionList</tt> request.
3205
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettransitionlist
3206
+ # @return [Future<Responses::GetTransitionList>]
3207
+ def get_transition_list()
3208
+ send_request(Requests::GetTransitionList.new({}))
3209
+ end
3210
+ # Sends <tt>GetCurrentTransition</tt> request.
3211
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getcurrenttransition
3212
+ # @return [Future<Responses::GetCurrentTransition>]
3213
+ def get_current_transition()
3214
+ send_request(Requests::GetCurrentTransition.new({}))
3215
+ end
3216
+ # Sends <tt>SetCurrentTransition</tt> request.
3217
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setcurrenttransition
3218
+ # @param transition_name [String] <tt>transition-name</tt> field
3219
+ # @return [Future<Responses::SetCurrentTransition>]
3220
+ def set_current_transition(transition_name:)
3221
+ send_request(Requests::SetCurrentTransition.new({transition_name: transition_name}))
3222
+ end
3223
+ # Sends <tt>SetTransitionDuration</tt> request.
3224
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#settransitionduration
3225
+ # @param duration [Integer] <tt>duration</tt> field
3226
+ # @return [Future<Responses::SetTransitionDuration>]
3227
+ def set_transition_duration(duration:)
3228
+ send_request(Requests::SetTransitionDuration.new({duration: duration}))
3229
+ end
3230
+ # Sends <tt>GetTransitionDuration</tt> request.
3231
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettransitionduration
3232
+ # @return [Future<Responses::GetTransitionDuration>]
3233
+ def get_transition_duration()
3234
+ send_request(Requests::GetTransitionDuration.new({}))
3235
+ end
3236
+ # Sends <tt>GetTransitionPosition</tt> request.
3237
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettransitionposition
3238
+ # @return [Future<Responses::GetTransitionPosition>]
3239
+ def get_transition_position()
3240
+ send_request(Requests::GetTransitionPosition.new({}))
3241
+ end
3242
+ # Sends <tt>GetTransitionSettings</tt> request.
3243
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettransitionsettings
3244
+ # @param transition_name [String] <tt>transitionName</tt> field
3245
+ # @return [Future<Responses::GetTransitionSettings>]
3246
+ def get_transition_settings(transition_name:)
3247
+ send_request(Requests::GetTransitionSettings.new({transition_name: transition_name}))
3248
+ end
3249
+ # Sends <tt>SetTransitionSettings</tt> request.
3250
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#settransitionsettings
3251
+ # @param transition_name [String] <tt>transitionName</tt> field
3252
+ # @param transition_settings [Hash] <tt>transitionSettings</tt> field
3253
+ # @return [Future<Responses::SetTransitionSettings>]
3254
+ def set_transition_settings(transition_name:, transition_settings:)
3255
+ send_request(Requests::SetTransitionSettings.new({transition_name: transition_name, transition_settings: transition_settings}))
3256
+ end
3257
+ # Sends <tt>ReleaseTBar</tt> request.
3258
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#releasetbar
3259
+ # @return [Future<Responses::ReleaseTBar>]
3260
+ def release_t_bar()
3261
+ send_request(Requests::ReleaseTBar.new({}))
3262
+ end
3263
+ # Sends <tt>SetTBarPosition</tt> request.
3264
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#settbarposition
3265
+ # @param position [Float] <tt>position</tt> field
3266
+ # @param release [Boolean, nil] <tt>release</tt> field
3267
+ # @return [Future<Responses::SetTBarPosition>]
3268
+ def set_t_bar_position(position:, release: nil)
3269
+ send_request(Requests::SetTBarPosition.new({position: position, release: release}))
3270
+ end
3271
+ end # module Request::Mixin
3272
+ end # module Requests
3273
+ module Responses
3274
+ # @see Requests::GetVersion
3275
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getversion
3276
+ class GetVersion < Response
3277
+ # @!attribute [r] version
3278
+ # @return [Float] <tt>version</tt> field
3279
+ def version; get_field("version", Types::Float); end
3280
+ # @!attribute [r] obs_websocket_version
3281
+ # @return [String] <tt>obs-websocket-version</tt> field
3282
+ def obs_websocket_version; get_field("obs-websocket-version", Types::String); end
3283
+ # @!attribute [r] obs_studio_version
3284
+ # @return [String] <tt>obs-studio-version</tt> field
3285
+ def obs_studio_version; get_field("obs-studio-version", Types::String); end
3286
+ # @!attribute [r] available_requests
3287
+ # @return [String] <tt>available-requests</tt> field
3288
+ def available_requests; get_field("available-requests", Types::String); end
3289
+ # @!attribute [r] supported_image_export_formats
3290
+ # @return [String] <tt>supported-image-export-formats</tt> field
3291
+ def supported_image_export_formats; get_field("supported-image-export-formats", Types::String); end
3292
+ Requests::GetVersion::Response = self
3293
+ end
3294
+ # @see Requests::GetAuthRequired
3295
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getauthrequired
3296
+ class GetAuthRequired < Response
3297
+ # @!attribute [r] auth_required
3298
+ # @return [Boolean] <tt>authRequired</tt> field
3299
+ def auth_required; get_field("authRequired", Types::Boolean); end
3300
+ # @!attribute [r] challenge
3301
+ # @return [String, nil] <tt>challenge</tt> field
3302
+ def challenge; get_field("challenge", Types::Optional[Types::String]); end
3303
+ # @!attribute [r] salt
3304
+ # @return [String, nil] <tt>salt</tt> field
3305
+ def salt; get_field("salt", Types::Optional[Types::String]); end
3306
+ Requests::GetAuthRequired::Response = self
3307
+ end
3308
+ # @see Requests::Authenticate
3309
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#authenticate
3310
+ class Authenticate < Response
3311
+ Requests::Authenticate::Response = self
3312
+ end
3313
+ # @see Requests::SetHeartbeat
3314
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setheartbeat
3315
+ class SetHeartbeat < Response
3316
+ Requests::SetHeartbeat::Response = self
3317
+ end
3318
+ # @see Requests::SetFilenameFormatting
3319
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setfilenameformatting
3320
+ class SetFilenameFormatting < Response
3321
+ Requests::SetFilenameFormatting::Response = self
3322
+ end
3323
+ # @see Requests::GetFilenameFormatting
3324
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getfilenameformatting
3325
+ class GetFilenameFormatting < Response
3326
+ # @!attribute [r] filename_formatting
3327
+ # @return [String] <tt>filename-formatting</tt> field
3328
+ def filename_formatting; get_field("filename-formatting", Types::String); end
3329
+ Requests::GetFilenameFormatting::Response = self
3330
+ end
3331
+ # @see Requests::GetStats
3332
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getstats
3333
+ class GetStats < Response
3334
+ # @!attribute [r] stats
3335
+ # @return [OBSStats] <tt>stats</tt> field
3336
+ def stats; get_field("stats", Types::OBSStats); end
3337
+ Requests::GetStats::Response = self
3338
+ end
3339
+ # @see Requests::BroadcastCustomMessage
3340
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#broadcastcustommessage
3341
+ class BroadcastCustomMessage < Response
3342
+ Requests::BroadcastCustomMessage::Response = self
3343
+ end
3344
+ # @see Requests::GetVideoInfo
3345
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getvideoinfo
3346
+ class GetVideoInfo < Response
3347
+ # @!attribute [r] base_width
3348
+ # @return [Integer] <tt>baseWidth</tt> field
3349
+ def base_width; get_field("baseWidth", Types::Integer); end
3350
+ # @!attribute [r] base_height
3351
+ # @return [Integer] <tt>baseHeight</tt> field
3352
+ def base_height; get_field("baseHeight", Types::Integer); end
3353
+ # @!attribute [r] output_width
3354
+ # @return [Integer] <tt>outputWidth</tt> field
3355
+ def output_width; get_field("outputWidth", Types::Integer); end
3356
+ # @!attribute [r] output_height
3357
+ # @return [Integer] <tt>outputHeight</tt> field
3358
+ def output_height; get_field("outputHeight", Types::Integer); end
3359
+ # @!attribute [r] scale_type
3360
+ # @return [String] <tt>scaleType</tt> field
3361
+ def scale_type; get_field("scaleType", Types::String); end
3362
+ # @!attribute [r] fps
3363
+ # @return [Float] <tt>fps</tt> field
3364
+ def fps; get_field("fps", Types::Float); end
3365
+ # @!attribute [r] video_format
3366
+ # @return [String] <tt>videoFormat</tt> field
3367
+ def video_format; get_field("videoFormat", Types::String); end
3368
+ # @!attribute [r] color_space
3369
+ # @return [String] <tt>colorSpace</tt> field
3370
+ def color_space; get_field("colorSpace", Types::String); end
3371
+ # @!attribute [r] color_range
3372
+ # @return [String] <tt>colorRange</tt> field
3373
+ def color_range; get_field("colorRange", Types::String); end
3374
+ Requests::GetVideoInfo::Response = self
3375
+ end
3376
+ # @see Requests::OpenProjector
3377
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#openprojector
3378
+ class OpenProjector < Response
3379
+ Requests::OpenProjector::Response = self
3380
+ end
3381
+ # @see Requests::TriggerHotkeyByName
3382
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#triggerhotkeybyname
3383
+ class TriggerHotkeyByName < Response
3384
+ Requests::TriggerHotkeyByName::Response = self
3385
+ end
3386
+ # @see Requests::TriggerHotkeyBySequence
3387
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#triggerhotkeybysequence
3388
+ class TriggerHotkeyBySequence < Response
3389
+ Requests::TriggerHotkeyBySequence::Response = self
3390
+ end
3391
+ # @see Requests::ExecuteBatch
3392
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#executebatch
3393
+ class ExecuteBatch < Response
3394
+ # @!attribute [r] results
3395
+ # @return [Array<Hash>] <tt>results</tt> field
3396
+ def results; get_field("results", Types::Array[Types::Object[{:message_id=>{:type=>Types::String, :json_name=>"message-id"}, :status=>{:type=>Types::String, :json_name=>"status"}, :error=>{:type=>Types::Optional[Types::String], :json_name=>"error"}}]]); end
3397
+ Requests::ExecuteBatch::Response = self
3398
+ end
3399
+ # @see Requests::PlayPauseMedia
3400
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#playpausemedia
3401
+ class PlayPauseMedia < Response
3402
+ Requests::PlayPauseMedia::Response = self
3403
+ end
3404
+ # @see Requests::RestartMedia
3405
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#restartmedia
3406
+ class RestartMedia < Response
3407
+ Requests::RestartMedia::Response = self
3408
+ end
3409
+ # @see Requests::StopMedia
3410
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#stopmedia
3411
+ class StopMedia < Response
3412
+ Requests::StopMedia::Response = self
3413
+ end
3414
+ # @see Requests::NextMedia
3415
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#nextmedia
3416
+ class NextMedia < Response
3417
+ Requests::NextMedia::Response = self
3418
+ end
3419
+ # @see Requests::PreviousMedia
3420
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#previousmedia
3421
+ class PreviousMedia < Response
3422
+ Requests::PreviousMedia::Response = self
3423
+ end
3424
+ # @see Requests::GetMediaDuration
3425
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getmediaduration
3426
+ class GetMediaDuration < Response
3427
+ # @!attribute [r] media_duration
3428
+ # @return [Integer] <tt>mediaDuration</tt> field
3429
+ def media_duration; get_field("mediaDuration", Types::Integer); end
3430
+ Requests::GetMediaDuration::Response = self
3431
+ end
3432
+ # @see Requests::GetMediaTime
3433
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getmediatime
3434
+ class GetMediaTime < Response
3435
+ # @!attribute [r] timestamp
3436
+ # @return [Integer] <tt>timestamp</tt> field
3437
+ def timestamp; get_field("timestamp", Types::Integer); end
3438
+ Requests::GetMediaTime::Response = self
3439
+ end
3440
+ # @see Requests::SetMediaTime
3441
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setmediatime
3442
+ class SetMediaTime < Response
3443
+ Requests::SetMediaTime::Response = self
3444
+ end
3445
+ # @see Requests::ScrubMedia
3446
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#scrubmedia
3447
+ class ScrubMedia < Response
3448
+ Requests::ScrubMedia::Response = self
3449
+ end
3450
+ # @see Requests::GetMediaState
3451
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getmediastate
3452
+ class GetMediaState < Response
3453
+ # @!attribute [r] media_state
3454
+ # @return [String] <tt>mediaState</tt> field
3455
+ def media_state; get_field("mediaState", Types::String); end
3456
+ Requests::GetMediaState::Response = self
3457
+ end
3458
+ # @see Requests::GetMediaSourcesList
3459
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getmediasourceslist
3460
+ class GetMediaSourcesList < Response
3461
+ # @!attribute [r] media_sources
3462
+ # @return [Array<Hash>] <tt>mediaSources</tt> field
3463
+ def media_sources; get_field("mediaSources", Types::Array[Types::Object[{:source_name=>{:type=>Types::String, :json_name=>"sourceName"}, :source_kind=>{:type=>Types::String, :json_name=>"sourceKind"}, :media_state=>{:type=>Types::String, :json_name=>"mediaState"}}]]); end
3464
+ Requests::GetMediaSourcesList::Response = self
3465
+ end
3466
+ # @see Requests::CreateSource
3467
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#createsource
3468
+ class CreateSource < Response
3469
+ # @!attribute [r] item_id
3470
+ # @return [Integer] <tt>itemId</tt> field
3471
+ def item_id; get_field("itemId", Types::Integer); end
3472
+ Requests::CreateSource::Response = self
3473
+ end
3474
+ # @see Requests::GetSourcesList
3475
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourceslist
3476
+ class GetSourcesList < Response
3477
+ # @!attribute [r] sources
3478
+ # @return [Array<Hash>] <tt>sources</tt> field
3479
+ def sources; get_field("sources", Types::Array[Types::Object[{:name=>{:type=>Types::String, :json_name=>"name"}, :type_id=>{:type=>Types::String, :json_name=>"typeId"}, :type=>{:type=>Types::String, :json_name=>"type"}}]]); end
3480
+ Requests::GetSourcesList::Response = self
3481
+ end
3482
+ # @see Requests::GetSourceTypesList
3483
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourcetypeslist
3484
+ class GetSourceTypesList < Response
3485
+ # @!attribute [r] types
3486
+ # @return [Array<Hash>] <tt>types</tt> field
3487
+ def types; get_field("types", Types::Array[Types::Object[{:type_id=>{:type=>Types::String, :json_name=>"typeId"}, :display_name=>{:type=>Types::String, :json_name=>"displayName"}, :type=>{:type=>Types::String, :json_name=>"type"}, :default_settings=>{:type=>Types::Object, :json_name=>"defaultSettings"}, :caps=>{:type=>Types::Object[{:is_async=>{:type=>Types::Boolean, :json_name=>"caps"}, :has_video=>{:type=>Types::Boolean, :json_name=>"caps"}, :has_audio=>{:type=>Types::Boolean, :json_name=>"caps"}, :can_interact=>{:type=>Types::Boolean, :json_name=>"caps"}, :is_composite=>{:type=>Types::Boolean, :json_name=>"caps"}, :do_not_duplicate=>{:type=>Types::Boolean, :json_name=>"caps"}, :do_not_self_monitor=>{:type=>Types::Boolean, :json_name=>"caps"}}], :json_name=>"caps"}}]]); end
3488
+ Requests::GetSourceTypesList::Response = self
3489
+ end
3490
+ # @see Requests::GetVolume
3491
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getvolume
3492
+ class GetVolume < Response
3493
+ # @!attribute [r] name
3494
+ # @return [String] <tt>name</tt> field
3495
+ def name; get_field("name", Types::String); end
3496
+ # @!attribute [r] volume
3497
+ # @return [Float] <tt>volume</tt> field
3498
+ def volume; get_field("volume", Types::Float); end
3499
+ # @!attribute [r] muted
3500
+ # @return [Boolean] <tt>muted</tt> field
3501
+ def muted; get_field("muted", Types::Boolean); end
3502
+ Requests::GetVolume::Response = self
3503
+ end
3504
+ # @see Requests::SetVolume
3505
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setvolume
3506
+ class SetVolume < Response
3507
+ Requests::SetVolume::Response = self
3508
+ end
3509
+ # @see Requests::GetMute
3510
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getmute
3511
+ class GetMute < Response
3512
+ # @!attribute [r] name
3513
+ # @return [String] <tt>name</tt> field
3514
+ def name; get_field("name", Types::String); end
3515
+ # @!attribute [r] muted
3516
+ # @return [Boolean] <tt>muted</tt> field
3517
+ def muted; get_field("muted", Types::Boolean); end
3518
+ Requests::GetMute::Response = self
3519
+ end
3520
+ # @see Requests::SetMute
3521
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setmute
3522
+ class SetMute < Response
3523
+ Requests::SetMute::Response = self
3524
+ end
3525
+ # @see Requests::ToggleMute
3526
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#togglemute
3527
+ class ToggleMute < Response
3528
+ Requests::ToggleMute::Response = self
3529
+ end
3530
+ # @see Requests::GetAudioActive
3531
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getaudioactive
3532
+ class GetAudioActive < Response
3533
+ # @!attribute [r] audio_active
3534
+ # @return [Boolean] <tt>audioActive</tt> field
3535
+ def audio_active; get_field("audioActive", Types::Boolean); end
3536
+ Requests::GetAudioActive::Response = self
3537
+ end
3538
+ # @see Requests::SetSourceName
3539
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsourcename
3540
+ class SetSourceName < Response
3541
+ Requests::SetSourceName::Response = self
3542
+ end
3543
+ # @see Requests::SetSyncOffset
3544
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsyncoffset
3545
+ class SetSyncOffset < Response
3546
+ Requests::SetSyncOffset::Response = self
3547
+ end
3548
+ # @see Requests::GetSyncOffset
3549
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsyncoffset
3550
+ class GetSyncOffset < Response
3551
+ # @!attribute [r] name
3552
+ # @return [String] <tt>name</tt> field
3553
+ def name; get_field("name", Types::String); end
3554
+ # @!attribute [r] offset
3555
+ # @return [Integer] <tt>offset</tt> field
3556
+ def offset; get_field("offset", Types::Integer); end
3557
+ Requests::GetSyncOffset::Response = self
3558
+ end
3559
+ # @see Requests::GetSourceSettings
3560
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourcesettings
3561
+ class GetSourceSettings < Response
3562
+ # @!attribute [r] source_name
3563
+ # @return [String] <tt>sourceName</tt> field
3564
+ def source_name; get_field("sourceName", Types::String); end
3565
+ # @!attribute [r] source_type
3566
+ # @return [String] <tt>sourceType</tt> field
3567
+ def source_type; get_field("sourceType", Types::String); end
3568
+ # @!attribute [r] source_settings
3569
+ # @return [Hash] <tt>sourceSettings</tt> field
3570
+ def source_settings; get_field("sourceSettings", Types::Object); end
3571
+ Requests::GetSourceSettings::Response = self
3572
+ end
3573
+ # @see Requests::SetSourceSettings
3574
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsourcesettings
3575
+ class SetSourceSettings < Response
3576
+ # @!attribute [r] source_name
3577
+ # @return [String] <tt>sourceName</tt> field
3578
+ def source_name; get_field("sourceName", Types::String); end
3579
+ # @!attribute [r] source_type
3580
+ # @return [String] <tt>sourceType</tt> field
3581
+ def source_type; get_field("sourceType", Types::String); end
3582
+ # @!attribute [r] source_settings
3583
+ # @return [Hash] <tt>sourceSettings</tt> field
3584
+ def source_settings; get_field("sourceSettings", Types::Object); end
3585
+ Requests::SetSourceSettings::Response = self
3586
+ end
3587
+ # @see Requests::GetTextGDIPlusProperties
3588
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettextgdiplusproperties
3589
+ class GetTextGDIPlusProperties < Response
3590
+ # @!attribute [r] source
3591
+ # @return [String] <tt>source</tt> field
3592
+ def source; get_field("source", Types::String); end
3593
+ # @!attribute [r] align
3594
+ # @return [String] <tt>align</tt> field
3595
+ def align; get_field("align", Types::String); end
3596
+ # @!attribute [r] bk_color
3597
+ # @return [Integer] <tt>bk_color</tt> field
3598
+ def bk_color; get_field("bk_color", Types::Integer); end
3599
+ # @!attribute [r] bk_opacity
3600
+ # @return [Integer] <tt>bk_opacity</tt> field
3601
+ def bk_opacity; get_field("bk_opacity", Types::Integer); end
3602
+ # @!attribute [r] chatlog
3603
+ # @return [Boolean] <tt>chatlog</tt> field
3604
+ def chatlog; get_field("chatlog", Types::Boolean); end
3605
+ # @!attribute [r] chatlog_lines
3606
+ # @return [Integer] <tt>chatlog_lines</tt> field
3607
+ def chatlog_lines; get_field("chatlog_lines", Types::Integer); end
3608
+ # @!attribute [r] color
3609
+ # @return [Integer] <tt>color</tt> field
3610
+ def color; get_field("color", Types::Integer); end
3611
+ # @!attribute [r] extents
3612
+ # @return [Boolean] <tt>extents</tt> field
3613
+ def extents; get_field("extents", Types::Boolean); end
3614
+ # @!attribute [r] extents_cx
3615
+ # @return [Integer] <tt>extents_cx</tt> field
3616
+ def extents_cx; get_field("extents_cx", Types::Integer); end
3617
+ # @!attribute [r] extents_cy
3618
+ # @return [Integer] <tt>extents_cy</tt> field
3619
+ def extents_cy; get_field("extents_cy", Types::Integer); end
3620
+ # @!attribute [r] file
3621
+ # @return [String] <tt>file</tt> field
3622
+ def file; get_field("file", Types::String); end
3623
+ # @!attribute [r] read_from_file
3624
+ # @return [Boolean] <tt>read_from_file</tt> field
3625
+ def read_from_file; get_field("read_from_file", Types::Boolean); end
3626
+ # @!attribute [r] font
3627
+ # @return [Hash] <tt>font</tt> field
3628
+ def font; get_field("font", Types::Object[{:face=>{:type=>Types::String, :json_name=>"face"}, :flags=>{:type=>Types::Integer, :json_name=>"flags"}, :size=>{:type=>Types::Integer, :json_name=>"size"}, :style=>{:type=>Types::String, :json_name=>"style"}}]); end
3629
+ # @!attribute [r] gradient
3630
+ # @return [Boolean] <tt>gradient</tt> field
3631
+ def gradient; get_field("gradient", Types::Boolean); end
3632
+ # @!attribute [r] gradient_color
3633
+ # @return [Integer] <tt>gradient_color</tt> field
3634
+ def gradient_color; get_field("gradient_color", Types::Integer); end
3635
+ # @!attribute [r] gradient_dir
3636
+ # @return [Float] <tt>gradient_dir</tt> field
3637
+ def gradient_dir; get_field("gradient_dir", Types::Float); end
3638
+ # @!attribute [r] gradient_opacity
3639
+ # @return [Integer] <tt>gradient_opacity</tt> field
3640
+ def gradient_opacity; get_field("gradient_opacity", Types::Integer); end
3641
+ # @!attribute [r] outline
3642
+ # @return [Boolean] <tt>outline</tt> field
3643
+ def outline; get_field("outline", Types::Boolean); end
3644
+ # @!attribute [r] outline_color
3645
+ # @return [Integer] <tt>outline_color</tt> field
3646
+ def outline_color; get_field("outline_color", Types::Integer); end
3647
+ # @!attribute [r] outline_size
3648
+ # @return [Integer] <tt>outline_size</tt> field
3649
+ def outline_size; get_field("outline_size", Types::Integer); end
3650
+ # @!attribute [r] outline_opacity
3651
+ # @return [Integer] <tt>outline_opacity</tt> field
3652
+ def outline_opacity; get_field("outline_opacity", Types::Integer); end
3653
+ # @!attribute [r] text
3654
+ # @return [String] <tt>text</tt> field
3655
+ def text; get_field("text", Types::String); end
3656
+ # @!attribute [r] valign
3657
+ # @return [String] <tt>valign</tt> field
3658
+ def valign; get_field("valign", Types::String); end
3659
+ # @!attribute [r] vertical
3660
+ # @return [Boolean] <tt>vertical</tt> field
3661
+ def vertical; get_field("vertical", Types::Boolean); end
3662
+ Requests::GetTextGDIPlusProperties::Response = self
3663
+ end
3664
+ # @see Requests::SetTextGDIPlusProperties
3665
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#settextgdiplusproperties
3666
+ class SetTextGDIPlusProperties < Response
3667
+ Requests::SetTextGDIPlusProperties::Response = self
3668
+ end
3669
+ # @see Requests::GetTextFreetype2Properties
3670
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettextfreetype2properties
3671
+ class GetTextFreetype2Properties < Response
3672
+ # @!attribute [r] source
3673
+ # @return [String] <tt>source</tt> field
3674
+ def source; get_field("source", Types::String); end
3675
+ # @!attribute [r] color1
3676
+ # @return [Integer] <tt>color1</tt> field
3677
+ def color1; get_field("color1", Types::Integer); end
3678
+ # @!attribute [r] color2
3679
+ # @return [Integer] <tt>color2</tt> field
3680
+ def color2; get_field("color2", Types::Integer); end
3681
+ # @!attribute [r] custom_width
3682
+ # @return [Integer] <tt>custom_width</tt> field
3683
+ def custom_width; get_field("custom_width", Types::Integer); end
3684
+ # @!attribute [r] drop_shadow
3685
+ # @return [Boolean] <tt>drop_shadow</tt> field
3686
+ def drop_shadow; get_field("drop_shadow", Types::Boolean); end
3687
+ # @!attribute [r] font
3688
+ # @return [Hash] <tt>font</tt> field
3689
+ def font; get_field("font", Types::Object[{:face=>{:type=>Types::String, :json_name=>"face"}, :flags=>{:type=>Types::Integer, :json_name=>"flags"}, :size=>{:type=>Types::Integer, :json_name=>"size"}, :style=>{:type=>Types::String, :json_name=>"style"}}]); end
3690
+ # @!attribute [r] from_file
3691
+ # @return [Boolean] <tt>from_file</tt> field
3692
+ def from_file; get_field("from_file", Types::Boolean); end
3693
+ # @!attribute [r] log_mode
3694
+ # @return [Boolean] <tt>log_mode</tt> field
3695
+ def log_mode; get_field("log_mode", Types::Boolean); end
3696
+ # @!attribute [r] outline
3697
+ # @return [Boolean] <tt>outline</tt> field
3698
+ def outline; get_field("outline", Types::Boolean); end
3699
+ # @!attribute [r] text
3700
+ # @return [String] <tt>text</tt> field
3701
+ def text; get_field("text", Types::String); end
3702
+ # @!attribute [r] text_file
3703
+ # @return [String] <tt>text_file</tt> field
3704
+ def text_file; get_field("text_file", Types::String); end
3705
+ # @!attribute [r] word_wrap
3706
+ # @return [Boolean] <tt>word_wrap</tt> field
3707
+ def word_wrap; get_field("word_wrap", Types::Boolean); end
3708
+ Requests::GetTextFreetype2Properties::Response = self
3709
+ end
3710
+ # @see Requests::SetTextFreetype2Properties
3711
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#settextfreetype2properties
3712
+ class SetTextFreetype2Properties < Response
3713
+ Requests::SetTextFreetype2Properties::Response = self
3714
+ end
3715
+ # @see Requests::GetBrowserSourceProperties
3716
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getbrowsersourceproperties
3717
+ class GetBrowserSourceProperties < Response
3718
+ # @!attribute [r] source
3719
+ # @return [String] <tt>source</tt> field
3720
+ def source; get_field("source", Types::String); end
3721
+ # @!attribute [r] is_local_file
3722
+ # @return [Boolean] <tt>is_local_file</tt> field
3723
+ def is_local_file; get_field("is_local_file", Types::Boolean); end
3724
+ # @!attribute [r] local_file
3725
+ # @return [String] <tt>local_file</tt> field
3726
+ def local_file; get_field("local_file", Types::String); end
3727
+ # @!attribute [r] url
3728
+ # @return [String] <tt>url</tt> field
3729
+ def url; get_field("url", Types::String); end
3730
+ # @!attribute [r] css
3731
+ # @return [String] <tt>css</tt> field
3732
+ def css; get_field("css", Types::String); end
3733
+ # @!attribute [r] width
3734
+ # @return [Integer] <tt>width</tt> field
3735
+ def width; get_field("width", Types::Integer); end
3736
+ # @!attribute [r] height
3737
+ # @return [Integer] <tt>height</tt> field
3738
+ def height; get_field("height", Types::Integer); end
3739
+ # @!attribute [r] fps
3740
+ # @return [Integer] <tt>fps</tt> field
3741
+ def fps; get_field("fps", Types::Integer); end
3742
+ # @!attribute [r] shutdown
3743
+ # @return [Boolean] <tt>shutdown</tt> field
3744
+ def shutdown; get_field("shutdown", Types::Boolean); end
3745
+ Requests::GetBrowserSourceProperties::Response = self
3746
+ end
3747
+ # @see Requests::SetBrowserSourceProperties
3748
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setbrowsersourceproperties
3749
+ class SetBrowserSourceProperties < Response
3750
+ Requests::SetBrowserSourceProperties::Response = self
3751
+ end
3752
+ # @see Requests::GetSpecialSources
3753
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getspecialsources
3754
+ class GetSpecialSources < Response
3755
+ # @!attribute [r] desktop_1
3756
+ # @return [String, nil] <tt>desktop-1</tt> field
3757
+ def desktop_1; get_field("desktop-1", Types::Optional[Types::String]); end
3758
+ # @!attribute [r] desktop_2
3759
+ # @return [String, nil] <tt>desktop-2</tt> field
3760
+ def desktop_2; get_field("desktop-2", Types::Optional[Types::String]); end
3761
+ # @!attribute [r] mic_1
3762
+ # @return [String, nil] <tt>mic-1</tt> field
3763
+ def mic_1; get_field("mic-1", Types::Optional[Types::String]); end
3764
+ # @!attribute [r] mic_2
3765
+ # @return [String, nil] <tt>mic-2</tt> field
3766
+ def mic_2; get_field("mic-2", Types::Optional[Types::String]); end
3767
+ # @!attribute [r] mic_3
3768
+ # @return [String, nil] <tt>mic-3</tt> field
3769
+ def mic_3; get_field("mic-3", Types::Optional[Types::String]); end
3770
+ Requests::GetSpecialSources::Response = self
3771
+ end
3772
+ # @see Requests::GetSourceFilters
3773
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourcefilters
3774
+ class GetSourceFilters < Response
3775
+ # @!attribute [r] filters
3776
+ # @return [Array<Hash>] <tt>filters</tt> field
3777
+ def filters; get_field("filters", Types::Array[Types::Object[{:enabled=>{:type=>Types::Boolean, :json_name=>"enabled"}, :type=>{:type=>Types::String, :json_name=>"type"}, :name=>{:type=>Types::String, :json_name=>"name"}, :settings=>{:type=>Types::Object, :json_name=>"settings"}}]]); end
3778
+ Requests::GetSourceFilters::Response = self
3779
+ end
3780
+ # @see Requests::GetSourceFilterInfo
3781
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourcefilterinfo
3782
+ class GetSourceFilterInfo < Response
3783
+ # @!attribute [r] enabled
3784
+ # @return [Boolean] <tt>enabled</tt> field
3785
+ def enabled; get_field("enabled", Types::Boolean); end
3786
+ # @!attribute [r] type
3787
+ # @return [String] <tt>type</tt> field
3788
+ def type; get_field("type", Types::String); end
3789
+ # @!attribute [r] name
3790
+ # @return [String] <tt>name</tt> field
3791
+ def name; get_field("name", Types::String); end
3792
+ # @!attribute [r] settings
3793
+ # @return [Hash] <tt>settings</tt> field
3794
+ def settings; get_field("settings", Types::Object); end
3795
+ Requests::GetSourceFilterInfo::Response = self
3796
+ end
3797
+ # @see Requests::AddFilterToSource
3798
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#addfiltertosource
3799
+ class AddFilterToSource < Response
3800
+ Requests::AddFilterToSource::Response = self
3801
+ end
3802
+ # @see Requests::RemoveFilterFromSource
3803
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#removefilterfromsource
3804
+ class RemoveFilterFromSource < Response
3805
+ Requests::RemoveFilterFromSource::Response = self
3806
+ end
3807
+ # @see Requests::ReorderSourceFilter
3808
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#reordersourcefilter
3809
+ class ReorderSourceFilter < Response
3810
+ Requests::ReorderSourceFilter::Response = self
3811
+ end
3812
+ # @see Requests::MoveSourceFilter
3813
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#movesourcefilter
3814
+ class MoveSourceFilter < Response
3815
+ Requests::MoveSourceFilter::Response = self
3816
+ end
3817
+ # @see Requests::SetSourceFilterSettings
3818
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsourcefiltersettings
3819
+ class SetSourceFilterSettings < Response
3820
+ Requests::SetSourceFilterSettings::Response = self
3821
+ end
3822
+ # @see Requests::SetSourceFilterVisibility
3823
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsourcefiltervisibility
3824
+ class SetSourceFilterVisibility < Response
3825
+ Requests::SetSourceFilterVisibility::Response = self
3826
+ end
3827
+ # @see Requests::GetAudioMonitorType
3828
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getaudiomonitortype
3829
+ class GetAudioMonitorType < Response
3830
+ # @!attribute [r] monitor_type
3831
+ # @return [String] <tt>monitorType</tt> field
3832
+ def monitor_type; get_field("monitorType", Types::String); end
3833
+ Requests::GetAudioMonitorType::Response = self
3834
+ end
3835
+ # @see Requests::SetAudioMonitorType
3836
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setaudiomonitortype
3837
+ class SetAudioMonitorType < Response
3838
+ Requests::SetAudioMonitorType::Response = self
3839
+ end
3840
+ # @see Requests::GetSourceDefaultSettings
3841
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsourcedefaultsettings
3842
+ class GetSourceDefaultSettings < Response
3843
+ # @!attribute [r] source_kind
3844
+ # @return [String] <tt>sourceKind</tt> field
3845
+ def source_kind; get_field("sourceKind", Types::String); end
3846
+ # @!attribute [r] default_settings
3847
+ # @return [Hash] <tt>defaultSettings</tt> field
3848
+ def default_settings; get_field("defaultSettings", Types::Object); end
3849
+ Requests::GetSourceDefaultSettings::Response = self
3850
+ end
3851
+ # @see Requests::TakeSourceScreenshot
3852
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#takesourcescreenshot
3853
+ class TakeSourceScreenshot < Response
3854
+ # @!attribute [r] source_name
3855
+ # @return [String] <tt>sourceName</tt> field
3856
+ def source_name; get_field("sourceName", Types::String); end
3857
+ # @!attribute [r] img
3858
+ # @return [String] <tt>img</tt> field
3859
+ def img; get_field("img", Types::String); end
3860
+ # @!attribute [r] image_file
3861
+ # @return [String] <tt>imageFile</tt> field
3862
+ def image_file; get_field("imageFile", Types::String); end
3863
+ Requests::TakeSourceScreenshot::Response = self
3864
+ end
3865
+ # @see Requests::RefreshBrowserSource
3866
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#refreshbrowsersource
3867
+ class RefreshBrowserSource < Response
3868
+ Requests::RefreshBrowserSource::Response = self
3869
+ end
3870
+ # @see Requests::ListOutputs
3871
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#listoutputs
3872
+ class ListOutputs < Response
3873
+ # @!attribute [r] outputs
3874
+ # @return [Array<Output>] <tt>outputs</tt> field
3875
+ def outputs; get_field("outputs", Types::Array[Types::Output]); end
3876
+ Requests::ListOutputs::Response = self
3877
+ end
3878
+ # @see Requests::GetOutputInfo
3879
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getoutputinfo
3880
+ class GetOutputInfo < Response
3881
+ # @!attribute [r] output_info
3882
+ # @return [Output] <tt>outputInfo</tt> field
3883
+ def output_info; get_field("outputInfo", Types::Output); end
3884
+ Requests::GetOutputInfo::Response = self
3885
+ end
3886
+ # @see Requests::StartOutput
3887
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startoutput
3888
+ class StartOutput < Response
3889
+ Requests::StartOutput::Response = self
3890
+ end
3891
+ # @see Requests::StopOutput
3892
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#stopoutput
3893
+ class StopOutput < Response
3894
+ Requests::StopOutput::Response = self
3895
+ end
3896
+ # @see Requests::SetCurrentProfile
3897
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setcurrentprofile
3898
+ class SetCurrentProfile < Response
3899
+ Requests::SetCurrentProfile::Response = self
3900
+ end
3901
+ # @see Requests::GetCurrentProfile
3902
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getcurrentprofile
3903
+ class GetCurrentProfile < Response
3904
+ # @!attribute [r] profile_name
3905
+ # @return [String] <tt>profile-name</tt> field
3906
+ def profile_name; get_field("profile-name", Types::String); end
3907
+ Requests::GetCurrentProfile::Response = self
3908
+ end
3909
+ # @see Requests::ListProfiles
3910
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#listprofiles
3911
+ class ListProfiles < Response
3912
+ # @!attribute [r] profiles
3913
+ # @return [Array<Hash>] <tt>profiles</tt> field
3914
+ def profiles; get_field("profiles", Types::Array[Types::Object[{:profile_name=>{:type=>Types::String, :json_name=>"profile-name"}}]]); end
3915
+ Requests::ListProfiles::Response = self
3916
+ end
3917
+ # @see Requests::GetRecordingStatus
3918
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getrecordingstatus
3919
+ class GetRecordingStatus < Response
3920
+ # @!attribute [r] is_recording
3921
+ # @return [Boolean] <tt>isRecording</tt> field
3922
+ def is_recording; get_field("isRecording", Types::Boolean); end
3923
+ # @!attribute [r] is_recording_paused
3924
+ # @return [Boolean] <tt>isRecordingPaused</tt> field
3925
+ def is_recording_paused; get_field("isRecordingPaused", Types::Boolean); end
3926
+ # @!attribute [r] record_timecode
3927
+ # @return [String, nil] <tt>recordTimecode</tt> field
3928
+ def record_timecode; get_field("recordTimecode", Types::Optional[Types::String]); end
3929
+ # @!attribute [r] recording_filename
3930
+ # @return [String, nil] <tt>recordingFilename</tt> field
3931
+ def recording_filename; get_field("recordingFilename", Types::Optional[Types::String]); end
3932
+ Requests::GetRecordingStatus::Response = self
3933
+ end
3934
+ # @see Requests::StartStopRecording
3935
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startstoprecording
3936
+ class StartStopRecording < Response
3937
+ Requests::StartStopRecording::Response = self
3938
+ end
3939
+ # @see Requests::StartRecording
3940
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startrecording
3941
+ class StartRecording < Response
3942
+ Requests::StartRecording::Response = self
3943
+ end
3944
+ # @see Requests::StopRecording
3945
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#stoprecording
3946
+ class StopRecording < Response
3947
+ Requests::StopRecording::Response = self
3948
+ end
3949
+ # @see Requests::PauseRecording
3950
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#pauserecording
3951
+ class PauseRecording < Response
3952
+ Requests::PauseRecording::Response = self
3953
+ end
3954
+ # @see Requests::ResumeRecording
3955
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#resumerecording
3956
+ class ResumeRecording < Response
3957
+ Requests::ResumeRecording::Response = self
3958
+ end
3959
+ # @see Requests::SetRecordingFolder
3960
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setrecordingfolder
3961
+ class SetRecordingFolder < Response
3962
+ Requests::SetRecordingFolder::Response = self
3963
+ end
3964
+ # @see Requests::GetRecordingFolder
3965
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getrecordingfolder
3966
+ class GetRecordingFolder < Response
3967
+ # @!attribute [r] rec_folder
3968
+ # @return [String] <tt>rec-folder</tt> field
3969
+ def rec_folder; get_field("rec-folder", Types::String); end
3970
+ Requests::GetRecordingFolder::Response = self
3971
+ end
3972
+ # @see Requests::GetReplayBufferStatus
3973
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getreplaybufferstatus
3974
+ class GetReplayBufferStatus < Response
3975
+ # @!attribute [r] is_replay_buffer_active
3976
+ # @return [Boolean] <tt>isReplayBufferActive</tt> field
3977
+ def is_replay_buffer_active; get_field("isReplayBufferActive", Types::Boolean); end
3978
+ Requests::GetReplayBufferStatus::Response = self
3979
+ end
3980
+ # @see Requests::StartStopReplayBuffer
3981
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startstopreplaybuffer
3982
+ class StartStopReplayBuffer < Response
3983
+ Requests::StartStopReplayBuffer::Response = self
3984
+ end
3985
+ # @see Requests::StartReplayBuffer
3986
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startreplaybuffer
3987
+ class StartReplayBuffer < Response
3988
+ Requests::StartReplayBuffer::Response = self
3989
+ end
3990
+ # @see Requests::StopReplayBuffer
3991
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#stopreplaybuffer
3992
+ class StopReplayBuffer < Response
3993
+ Requests::StopReplayBuffer::Response = self
3994
+ end
3995
+ # @see Requests::SaveReplayBuffer
3996
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#savereplaybuffer
3997
+ class SaveReplayBuffer < Response
3998
+ Requests::SaveReplayBuffer::Response = self
3999
+ end
4000
+ # @see Requests::SetCurrentSceneCollection
4001
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setcurrentscenecollection
4002
+ class SetCurrentSceneCollection < Response
4003
+ Requests::SetCurrentSceneCollection::Response = self
4004
+ end
4005
+ # @see Requests::GetCurrentSceneCollection
4006
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getcurrentscenecollection
4007
+ class GetCurrentSceneCollection < Response
4008
+ # @!attribute [r] sc_name
4009
+ # @return [String] <tt>sc-name</tt> field
4010
+ def sc_name; get_field("sc-name", Types::String); end
4011
+ Requests::GetCurrentSceneCollection::Response = self
4012
+ end
4013
+ # @see Requests::ListSceneCollections
4014
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#listscenecollections
4015
+ class ListSceneCollections < Response
4016
+ # @!attribute [r] scene_collections
4017
+ # @return [Array<ScenesCollection>] <tt>scene-collections</tt> field
4018
+ def scene_collections; get_field("scene-collections", Types::Array[Types::ScenesCollection]); end
4019
+ Requests::ListSceneCollections::Response = self
4020
+ end
4021
+ # @see Requests::GetSceneItemList
4022
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsceneitemlist
4023
+ class GetSceneItemList < Response
4024
+ # @!attribute [r] scene_name
4025
+ # @return [String] <tt>sceneName</tt> field
4026
+ def scene_name; get_field("sceneName", Types::String); end
4027
+ # @!attribute [r] scene_items
4028
+ # @return [Array<Hash>] <tt>sceneItems</tt> field
4029
+ def scene_items; get_field("sceneItems", Types::Array[Types::Object[{:item_id=>{:type=>Types::Integer, :json_name=>"itemId"}, :source_kind=>{:type=>Types::String, :json_name=>"sourceKind"}, :source_name=>{:type=>Types::String, :json_name=>"sourceName"}, :source_type=>{:type=>Types::String, :json_name=>"sourceType"}}]]); end
4030
+ Requests::GetSceneItemList::Response = self
4031
+ end
4032
+ # @see Requests::GetSceneItemProperties
4033
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getsceneitemproperties
4034
+ class GetSceneItemProperties < Response
4035
+ # @!attribute [r] name
4036
+ # @return [String] <tt>name</tt> field
4037
+ def name; get_field("name", Types::String); end
4038
+ # @!attribute [r] item_id
4039
+ # @return [Integer] <tt>itemId</tt> field
4040
+ def item_id; get_field("itemId", Types::Integer); end
4041
+ # @!attribute [r] position
4042
+ # @return [Hash] <tt>position</tt> field
4043
+ def position; get_field("position", Types::Object[{:x=>{:type=>Types::Float, :json_name=>"x"}, :y=>{:type=>Types::Float, :json_name=>"y"}, :alignment=>{:type=>Types::Integer, :json_name=>"alignment"}}]); end
4044
+ # @!attribute [r] rotation
4045
+ # @return [Float] <tt>rotation</tt> field
4046
+ def rotation; get_field("rotation", Types::Float); end
4047
+ # @!attribute [r] scale
4048
+ # @return [Hash] <tt>scale</tt> field
4049
+ def scale; get_field("scale", Types::Object[{:x=>{:type=>Types::Float, :json_name=>"x"}, :y=>{:type=>Types::Float, :json_name=>"y"}}]); end
4050
+ # @!attribute [r] crop
4051
+ # @return [Hash] <tt>crop</tt> field
4052
+ def crop; get_field("crop", Types::Object[{:top=>{:type=>Types::Integer, :json_name=>"top"}, :right=>{:type=>Types::Integer, :json_name=>"right"}, :bottom=>{:type=>Types::Integer, :json_name=>"bottom"}, :left=>{:type=>Types::Integer, :json_name=>"left"}}]); end
4053
+ # @!attribute [r] visible
4054
+ # @return [Boolean] <tt>visible</tt> field
4055
+ def visible; get_field("visible", Types::Boolean); end
4056
+ # @!attribute [r] muted
4057
+ # @return [Boolean] <tt>muted</tt> field
4058
+ def muted; get_field("muted", Types::Boolean); end
4059
+ # @!attribute [r] locked
4060
+ # @return [Boolean] <tt>locked</tt> field
4061
+ def locked; get_field("locked", Types::Boolean); end
4062
+ # @!attribute [r] bounds
4063
+ # @return [Hash] <tt>bounds</tt> field
4064
+ def bounds; get_field("bounds", Types::Object[{:type=>{:type=>Types::String, :json_name=>"type"}, :alignment=>{:type=>Types::Integer, :json_name=>"alignment"}, :x=>{:type=>Types::Float, :json_name=>"x"}, :y=>{:type=>Types::Float, :json_name=>"y"}}]); end
4065
+ # @!attribute [r] source_width
4066
+ # @return [Integer] <tt>sourceWidth</tt> field
4067
+ def source_width; get_field("sourceWidth", Types::Integer); end
4068
+ # @!attribute [r] source_height
4069
+ # @return [Integer] <tt>sourceHeight</tt> field
4070
+ def source_height; get_field("sourceHeight", Types::Integer); end
4071
+ # @!attribute [r] width
4072
+ # @return [Float] <tt>width</tt> field
4073
+ def width; get_field("width", Types::Float); end
4074
+ # @!attribute [r] height
4075
+ # @return [Float] <tt>height</tt> field
4076
+ def height; get_field("height", Types::Float); end
4077
+ # @!attribute [r] parent_group_name
4078
+ # @return [String, nil] <tt>parentGroupName</tt> field
4079
+ def parent_group_name; get_field("parentGroupName", Types::Optional[Types::String]); end
4080
+ # @!attribute [r] group_children
4081
+ # @return [Array<SceneItemTransform>, nil] <tt>groupChildren</tt> field
4082
+ def group_children; get_field("groupChildren", Types::Optional[Types::Array[Types::SceneItemTransform]]); end
4083
+ Requests::GetSceneItemProperties::Response = self
4084
+ end
4085
+ # @see Requests::SetSceneItemProperties
4086
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsceneitemproperties
4087
+ class SetSceneItemProperties < Response
4088
+ Requests::SetSceneItemProperties::Response = self
4089
+ end
4090
+ # @see Requests::ResetSceneItem
4091
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#resetsceneitem
4092
+ class ResetSceneItem < Response
4093
+ Requests::ResetSceneItem::Response = self
4094
+ end
4095
+ # @see Requests::SetSceneItemRender
4096
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsceneitemrender
4097
+ class SetSceneItemRender < Response
4098
+ Requests::SetSceneItemRender::Response = self
4099
+ end
4100
+ # @see Requests::SetSceneItemPosition
4101
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsceneitemposition
4102
+ class SetSceneItemPosition < Response
4103
+ Requests::SetSceneItemPosition::Response = self
4104
+ end
4105
+ # @see Requests::SetSceneItemTransform
4106
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsceneitemtransform
4107
+ class SetSceneItemTransform < Response
4108
+ Requests::SetSceneItemTransform::Response = self
4109
+ end
4110
+ # @see Requests::SetSceneItemCrop
4111
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setsceneitemcrop
4112
+ class SetSceneItemCrop < Response
4113
+ Requests::SetSceneItemCrop::Response = self
4114
+ end
4115
+ # @see Requests::DeleteSceneItem
4116
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#deletesceneitem
4117
+ class DeleteSceneItem < Response
4118
+ Requests::DeleteSceneItem::Response = self
4119
+ end
4120
+ # @see Requests::AddSceneItem
4121
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#addsceneitem
4122
+ class AddSceneItem < Response
4123
+ # @!attribute [r] item_id
4124
+ # @return [Integer] <tt>itemId</tt> field
4125
+ def item_id; get_field("itemId", Types::Integer); end
4126
+ Requests::AddSceneItem::Response = self
4127
+ end
4128
+ # @see Requests::DuplicateSceneItem
4129
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#duplicatesceneitem
4130
+ class DuplicateSceneItem < Response
4131
+ # @!attribute [r] scene
4132
+ # @return [String] <tt>scene</tt> field
4133
+ def scene; get_field("scene", Types::String); end
4134
+ # @!attribute [r] item
4135
+ # @return [Hash] <tt>item</tt> field
4136
+ def item; get_field("item", Types::Object[{:id=>{:type=>Types::Integer, :json_name=>"id"}, :name=>{:type=>Types::String, :json_name=>"name"}}]); end
4137
+ Requests::DuplicateSceneItem::Response = self
4138
+ end
4139
+ # @see Requests::SetCurrentScene
4140
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setcurrentscene
4141
+ class SetCurrentScene < Response
4142
+ Requests::SetCurrentScene::Response = self
4143
+ end
4144
+ # @see Requests::GetCurrentScene
4145
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getcurrentscene
4146
+ class GetCurrentScene < Response
4147
+ # @!attribute [r] name
4148
+ # @return [String] <tt>name</tt> field
4149
+ def name; get_field("name", Types::String); end
4150
+ # @!attribute [r] sources
4151
+ # @return [Array<SceneItem>] <tt>sources</tt> field
4152
+ def sources; get_field("sources", Types::Array[Types::SceneItem]); end
4153
+ Requests::GetCurrentScene::Response = self
4154
+ end
4155
+ # @see Requests::GetSceneList
4156
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getscenelist
4157
+ class GetSceneList < Response
4158
+ # @!attribute [r] current_scene
4159
+ # @return [String] <tt>current-scene</tt> field
4160
+ def current_scene; get_field("current-scene", Types::String); end
4161
+ # @!attribute [r] scenes
4162
+ # @return [Array<Scene>] <tt>scenes</tt> field
4163
+ def scenes; get_field("scenes", Types::Array[Types::Scene]); end
4164
+ Requests::GetSceneList::Response = self
4165
+ end
4166
+ # @see Requests::CreateScene
4167
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#createscene
4168
+ class CreateScene < Response
4169
+ Requests::CreateScene::Response = self
4170
+ end
4171
+ # @see Requests::ReorderSceneItems
4172
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#reordersceneitems
4173
+ class ReorderSceneItems < Response
4174
+ Requests::ReorderSceneItems::Response = self
4175
+ end
4176
+ # @see Requests::SetSceneTransitionOverride
4177
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setscenetransitionoverride
4178
+ class SetSceneTransitionOverride < Response
4179
+ Requests::SetSceneTransitionOverride::Response = self
4180
+ end
4181
+ # @see Requests::RemoveSceneTransitionOverride
4182
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#removescenetransitionoverride
4183
+ class RemoveSceneTransitionOverride < Response
4184
+ Requests::RemoveSceneTransitionOverride::Response = self
4185
+ end
4186
+ # @see Requests::GetSceneTransitionOverride
4187
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getscenetransitionoverride
4188
+ class GetSceneTransitionOverride < Response
4189
+ # @!attribute [r] transition_name
4190
+ # @return [String] <tt>transitionName</tt> field
4191
+ def transition_name; get_field("transitionName", Types::String); end
4192
+ # @!attribute [r] transition_duration
4193
+ # @return [Integer] <tt>transitionDuration</tt> field
4194
+ def transition_duration; get_field("transitionDuration", Types::Integer); end
4195
+ Requests::GetSceneTransitionOverride::Response = self
4196
+ end
4197
+ # @see Requests::GetStreamingStatus
4198
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getstreamingstatus
4199
+ class GetStreamingStatus < Response
4200
+ # @!attribute [r] streaming
4201
+ # @return [Boolean] <tt>streaming</tt> field
4202
+ def streaming; get_field("streaming", Types::Boolean); end
4203
+ # @!attribute [r] recording
4204
+ # @return [Boolean] <tt>recording</tt> field
4205
+ def recording; get_field("recording", Types::Boolean); end
4206
+ # @!attribute [r] recording_paused
4207
+ # @return [Boolean] <tt>recording-paused</tt> field
4208
+ def recording_paused; get_field("recording-paused", Types::Boolean); end
4209
+ # @!attribute [r] preview_only
4210
+ # @return [Boolean] <tt>preview-only</tt> field
4211
+ def preview_only; get_field("preview-only", Types::Boolean); end
4212
+ # @!attribute [r] stream_timecode
4213
+ # @return [String, nil] <tt>stream-timecode</tt> field
4214
+ def stream_timecode; get_field("stream-timecode", Types::Optional[Types::String]); end
4215
+ # @!attribute [r] rec_timecode
4216
+ # @return [String, nil] <tt>rec-timecode</tt> field
4217
+ def rec_timecode; get_field("rec-timecode", Types::Optional[Types::String]); end
4218
+ Requests::GetStreamingStatus::Response = self
4219
+ end
4220
+ # @see Requests::StartStopStreaming
4221
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startstopstreaming
4222
+ class StartStopStreaming < Response
4223
+ Requests::StartStopStreaming::Response = self
4224
+ end
4225
+ # @see Requests::StartStreaming
4226
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#startstreaming
4227
+ class StartStreaming < Response
4228
+ Requests::StartStreaming::Response = self
4229
+ end
4230
+ # @see Requests::StopStreaming
4231
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#stopstreaming
4232
+ class StopStreaming < Response
4233
+ Requests::StopStreaming::Response = self
4234
+ end
4235
+ # @see Requests::SetStreamSettings
4236
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setstreamsettings
4237
+ class SetStreamSettings < Response
4238
+ Requests::SetStreamSettings::Response = self
4239
+ end
4240
+ # @see Requests::GetStreamSettings
4241
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getstreamsettings
4242
+ class GetStreamSettings < Response
4243
+ # @!attribute [r] type
4244
+ # @return [String] <tt>type</tt> field
4245
+ def type; get_field("type", Types::String); end
4246
+ # @!attribute [r] settings
4247
+ # @return [Hash] <tt>settings</tt> field
4248
+ def settings; get_field("settings", Types::Object[{:server=>{:type=>Types::String, :json_name=>"server"}, :key=>{:type=>Types::String, :json_name=>"key"}, :use_auth=>{:type=>Types::Boolean, :json_name=>"use_auth"}, :username=>{:type=>Types::String, :json_name=>"username"}, :password=>{:type=>Types::String, :json_name=>"password"}}]); end
4249
+ Requests::GetStreamSettings::Response = self
4250
+ end
4251
+ # @see Requests::SaveStreamSettings
4252
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#savestreamsettings
4253
+ class SaveStreamSettings < Response
4254
+ Requests::SaveStreamSettings::Response = self
4255
+ end
4256
+ # @see Requests::SendCaptions
4257
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#sendcaptions
4258
+ class SendCaptions < Response
4259
+ Requests::SendCaptions::Response = self
4260
+ end
4261
+ # @see Requests::GetStudioModeStatus
4262
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getstudiomodestatus
4263
+ class GetStudioModeStatus < Response
4264
+ # @!attribute [r] studio_mode
4265
+ # @return [Boolean] <tt>studio-mode</tt> field
4266
+ def studio_mode; get_field("studio-mode", Types::Boolean); end
4267
+ Requests::GetStudioModeStatus::Response = self
4268
+ end
4269
+ # @see Requests::GetPreviewScene
4270
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getpreviewscene
4271
+ class GetPreviewScene < Response
4272
+ # @!attribute [r] name
4273
+ # @return [String] <tt>name</tt> field
4274
+ def name; get_field("name", Types::String); end
4275
+ # @!attribute [r] sources
4276
+ # @return [Array<SceneItem>] <tt>sources</tt> field
4277
+ def sources; get_field("sources", Types::Array[Types::SceneItem]); end
4278
+ Requests::GetPreviewScene::Response = self
4279
+ end
4280
+ # @see Requests::SetPreviewScene
4281
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setpreviewscene
4282
+ class SetPreviewScene < Response
4283
+ Requests::SetPreviewScene::Response = self
4284
+ end
4285
+ # @see Requests::TransitionToProgram
4286
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#transitiontoprogram
4287
+ class TransitionToProgram < Response
4288
+ Requests::TransitionToProgram::Response = self
4289
+ end
4290
+ # @see Requests::EnableStudioMode
4291
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#enablestudiomode
4292
+ class EnableStudioMode < Response
4293
+ Requests::EnableStudioMode::Response = self
4294
+ end
4295
+ # @see Requests::DisableStudioMode
4296
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#disablestudiomode
4297
+ class DisableStudioMode < Response
4298
+ Requests::DisableStudioMode::Response = self
4299
+ end
4300
+ # @see Requests::ToggleStudioMode
4301
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#togglestudiomode
4302
+ class ToggleStudioMode < Response
4303
+ Requests::ToggleStudioMode::Response = self
4304
+ end
4305
+ # @see Requests::GetTransitionList
4306
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettransitionlist
4307
+ class GetTransitionList < Response
4308
+ # @!attribute [r] current_transition
4309
+ # @return [String] <tt>current-transition</tt> field
4310
+ def current_transition; get_field("current-transition", Types::String); end
4311
+ # @!attribute [r] transitions
4312
+ # @return [Array<Hash>] <tt>transitions</tt> field
4313
+ def transitions; get_field("transitions", Types::Array[Types::Object[{:name=>{:type=>Types::String, :json_name=>"name"}}]]); end
4314
+ Requests::GetTransitionList::Response = self
4315
+ end
4316
+ # @see Requests::GetCurrentTransition
4317
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#getcurrenttransition
4318
+ class GetCurrentTransition < Response
4319
+ # @!attribute [r] name
4320
+ # @return [String] <tt>name</tt> field
4321
+ def name; get_field("name", Types::String); end
4322
+ # @!attribute [r] duration
4323
+ # @return [Integer, nil] <tt>duration</tt> field
4324
+ def duration; get_field("duration", Types::Optional[Types::Integer]); end
4325
+ Requests::GetCurrentTransition::Response = self
4326
+ end
4327
+ # @see Requests::SetCurrentTransition
4328
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#setcurrenttransition
4329
+ class SetCurrentTransition < Response
4330
+ Requests::SetCurrentTransition::Response = self
4331
+ end
4332
+ # @see Requests::SetTransitionDuration
4333
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#settransitionduration
4334
+ class SetTransitionDuration < Response
4335
+ Requests::SetTransitionDuration::Response = self
4336
+ end
4337
+ # @see Requests::GetTransitionDuration
4338
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettransitionduration
4339
+ class GetTransitionDuration < Response
4340
+ # @!attribute [r] transition_duration
4341
+ # @return [Integer] <tt>transition-duration</tt> field
4342
+ def transition_duration; get_field("transition-duration", Types::Integer); end
4343
+ Requests::GetTransitionDuration::Response = self
4344
+ end
4345
+ # @see Requests::GetTransitionPosition
4346
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettransitionposition
4347
+ class GetTransitionPosition < Response
4348
+ # @!attribute [r] position
4349
+ # @return [Float] <tt>position</tt> field
4350
+ def position; get_field("position", Types::Float); end
4351
+ Requests::GetTransitionPosition::Response = self
4352
+ end
4353
+ # @see Requests::GetTransitionSettings
4354
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#gettransitionsettings
4355
+ class GetTransitionSettings < Response
4356
+ # @!attribute [r] transition_settings
4357
+ # @return [Hash] <tt>transitionSettings</tt> field
4358
+ def transition_settings; get_field("transitionSettings", Types::Object); end
4359
+ Requests::GetTransitionSettings::Response = self
4360
+ end
4361
+ # @see Requests::SetTransitionSettings
4362
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#settransitionsettings
4363
+ class SetTransitionSettings < Response
4364
+ # @!attribute [r] transition_settings
4365
+ # @return [Hash] <tt>transitionSettings</tt> field
4366
+ def transition_settings; get_field("transitionSettings", Types::Object); end
4367
+ Requests::SetTransitionSettings::Response = self
4368
+ end
4369
+ # @see Requests::ReleaseTBar
4370
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#releasetbar
4371
+ class ReleaseTBar < Response
4372
+ Requests::ReleaseTBar::Response = self
4373
+ end
4374
+ # @see Requests::SetTBarPosition
4375
+ # @see https://github.com/Palakis/obs-websocket/blob/4.9.0/docs/generated/protocol.md#settbarposition
4376
+ class SetTBarPosition < Response
4377
+ Requests::SetTBarPosition::Response = self
4378
+ end
4379
+ end # module Responses
4380
+ end # module OBS::WebSocket::Protocol