obs-websocket 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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