obsws 0.1.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7305724ce1b19455dc9e9cbcfdb43691cc5bfb8d5cf66a54917aeadcf26a7ea2
4
- data.tar.gz: 8b1423cb39e96c9af4357e4eae624f3654b678ba547d3f9758adad40714e0a2e
3
+ metadata.gz: f23333577b91916057461d9084494c147f63cd3feb90e121ab33c5b795af1566
4
+ data.tar.gz: e5b31955a09ace6b520351252034ca8b1bb8932698859b12a3af3dd2b70485d9
5
5
  SHA512:
6
- metadata.gz: 271c5e2b12ee3cae82fd2069ec66c64d58681f24bc85cf4a841bdfa981900e28512b5c8d827dce7932c22b53d72ded9d7f7798b4858a9b92145c59f7bdd9f0ed
7
- data.tar.gz: ccb732c3e56389adb277492cf8bf0af0ff69a59687e46866618eb5fa75ad06c90ee65de4e7f191f6e618a23e19b35117871bfc614bcd3a4f399712d684c5bbd1
6
+ metadata.gz: 14411743ad90540ec041ed46c30f1347512174a876a6891bf1351c7f4025c712cc9f57aad1911adabc1368fb1f907b982f519ad713404d516d88af42a0687120
7
+ data.tar.gz: 28ac135781ba0610baa21912d9105b1ebd3762b682693d9866172a0ae7dde9e322de68174f7bf23da8fb6d8faf813128fc1a6c1e3d04557be533d4cded5ef59c
data/README.md CHANGED
@@ -1,15 +1,15 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/obsws.svg)](https://badge.fury.io/rb/obsws)
2
2
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/onyx-and-iris/obsws-ruby/blob/dev/LICENSE)
3
- [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/plugin-ruby)
3
+ [![Ruby Code Style](https://img.shields.io/badge/code_style-standard-violet.svg)](https://github.com/standardrb/standard)
4
4
 
5
5
  # A Ruby wrapper around OBS Studio WebSocket v5.0
6
6
 
7
7
  ## Requirements
8
8
 
9
- - [OBS Studio](https://obsproject.com/)
10
- - [OBS Websocket v5 Plugin](https://github.com/obsproject/obs-websocket/releases/tag/5.0.0)
11
- - With the release of OBS Studio version 28, Websocket plugin is included by default. But it should be manually installed for earlier versions of OBS.
12
- - Ruby 3.0 or greater
9
+ - [OBS Studio](https://obsproject.com/)
10
+ - [OBS Websocket v5 Plugin](https://github.com/obsproject/obs-websocket/releases/tag/5.0.0)
11
+ - With the release of OBS Studio version 28, Websocket plugin is included by default. But it should be manually installed for earlier versions of OBS.
12
+ - Ruby 3.0 or greater
13
13
 
14
14
  ## Installation
15
15
 
@@ -34,17 +34,12 @@ pass `host`, `port` and `password` as keyword arguments.
34
34
  require "obsws"
35
35
 
36
36
  def main
37
- r_client =
38
- OBSWS::Requests::Client.new(
39
- host: "localhost",
40
- port: 4455,
41
- password: "strongpassword"
42
- )
43
-
44
- r_client.run do
45
- # Toggle the mute state of your Mic input
46
- r_client.toggle_input_mute("Mic/Aux")
47
- end
37
+ OBSWS::Requests::Client
38
+ .new(host: "localhost", port: 4455, password: "strongpassword")
39
+ .run do |client|
40
+ # Toggle the mute state of your Mic input
41
+ client.toggle_input_mute("Mic/Aux")
42
+ end
48
43
  end
49
44
 
50
45
  main if $0 == __FILE__
@@ -140,4 +135,4 @@ bundle exec rake -v
140
135
 
141
136
  For the full documentation:
142
137
 
143
- - [OBS Websocket SDK](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#obs-websocket-501-protocol)
138
+ - [OBS Websocket SDK](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#obs-websocket-501-protocol)
data/lib/obsws/event.rb CHANGED
@@ -20,7 +20,7 @@ module OBSWS
20
20
  UI = 1 << 10
21
21
 
22
22
  LOW_VOLUME = GENERAL | CONFIG | SCENES | INPUTS | TRANSITIONS | FILTERS | OUTPUTS |
23
- SCENEITEMS | MEDIAINPUTS | VENDORS | UI
23
+ SCENEITEMS | MEDIAINPUTS | VENDORS | UI
24
24
 
25
25
  INPUTVOLUMEMETERS = 1 << 16
26
26
  INPUTACTIVESTATECHANGED = 1 << 17
@@ -28,7 +28,7 @@ module OBSWS
28
28
  SCENEITEMTRANSFORMCHANGED = 1 << 19
29
29
 
30
30
  HIGH_VOLUME = INPUTVOLUMEMETERS | INPUTACTIVESTATECHANGED | INPUTSHOWSTATECHANGED |
31
- SCENEITEMTRANSFORMCHANGED
31
+ SCENEITEMTRANSFORMCHANGED
32
32
 
33
33
  ALL = LOW_VOLUME | HIGH_VOLUME
34
34
  end
@@ -74,7 +74,7 @@ module OBSWS
74
74
  end
75
75
 
76
76
  def to_s
77
- "#{self.class.name.split("::").last(2).join("::")}"
77
+ self.class.name.split("::").last(2).join("::")
78
78
  end
79
79
 
80
80
  def update(op_code, data)
data/lib/obsws/req.rb CHANGED
@@ -16,15 +16,15 @@ module OBSWS
16
16
  @base_client = Base.new(**kwargs)
17
17
  LOGGER.info("#{self} succesfully identified with server")
18
18
  @base_client.add_observer(self)
19
- @response = { requestId: 0 }
19
+ @response = {requestId: 0}
20
20
  end
21
21
 
22
22
  def to_s
23
- "#{self.class.name.split("::").last(2).join("::")}"
23
+ self.class.name.split("::").last(2).join("::")
24
24
  end
25
25
 
26
26
  def run
27
- yield
27
+ yield(self)
28
28
  ensure
29
29
  close
30
30
  WaitUtil.wait_for_condition(
@@ -63,34 +63,34 @@ module OBSWS
63
63
  end
64
64
 
65
65
  def get_version
66
- resp = call("GetVersion")
66
+ resp = call(:GetVersion)
67
67
  Mixin::Response.new(resp, resp.keys)
68
68
  end
69
69
 
70
70
  def get_stats
71
- resp = call("GetStats")
71
+ resp = call(:GetStats)
72
72
  Mixin::Response.new(resp, resp.keys)
73
73
  end
74
74
 
75
75
  def broadcast_custom_event(data)
76
- call("BroadcastCustomEvent", data)
76
+ call(:BroadcastCustomEvent, data)
77
77
  end
78
78
 
79
- def call_vendor_request(name, type_, data = nil)
80
- payload = { vendorName: name, requestType: type_ }
79
+ def call_vendor_request(vendor_name, request_type, data = nil)
80
+ payload = {vendorName: vendor_name, requestType: request_type}
81
81
  payload[:requestData] = data if data
82
- resp = call("CallVendorRequest", payload)
82
+ resp = call(:CallVendorRequest, payload)
83
83
  Mixin::Response.new(resp, resp.keys)
84
84
  end
85
85
 
86
86
  def get_hotkey_list
87
- resp = call("GetHotkeyList")
87
+ resp = call(:GetHotkeyList)
88
88
  Mixin::Response.new(resp, resp.keys)
89
89
  end
90
90
 
91
91
  def trigger_hotkey_by_name(name)
92
- payload = { hotkeyName: name }
93
- call("TriggerHotkeyByName", payload)
92
+ payload = {hotkeyName: name}
93
+ call(:TriggerHotkeyByName, payload)
94
94
  end
95
95
 
96
96
  def trigger_hotkey_by_key_sequence(
@@ -109,63 +109,63 @@ module OBSWS
109
109
  cmd: press_cmd
110
110
  }
111
111
  }
112
- call("TriggerHotkeyByKeySequence", payload)
112
+ call(:TriggerHotkeyByKeySequence, payload)
113
113
  end
114
114
 
115
115
  def sleep(sleep_millis = nil, sleep_frames = nil)
116
- payload = { sleepMillis: sleep_millis, sleepFrames: sleep_frames }
117
- call("Sleep", payload)
116
+ payload = {sleepMillis: sleep_millis, sleepFrames: sleep_frames}
117
+ call(:Sleep, payload)
118
118
  end
119
119
 
120
120
  def get_persistent_data(realm, slot_name)
121
- payload = { realm: realm, slotName: slot_name }
122
- resp = call("GetPersistentData", payload)
121
+ payload = {realm: realm, slotName: slot_name}
122
+ resp = call(:GetPersistentData, payload)
123
123
  Mixin::Response.new(resp, resp.keys)
124
124
  end
125
125
 
126
126
  def set_persistent_data(realm, slot_name, slot_value)
127
- payload = { realm: realm, slotName: slot_name, slotValue: slot_value }
128
- call("SetPersistentData", payload)
127
+ payload = {realm: realm, slotName: slot_name, slotValue: slot_value}
128
+ call(:SetPersistentData, payload)
129
129
  end
130
130
 
131
131
  def get_scene_collection_list
132
- resp = call("GetSceneCollectionList")
132
+ resp = call(:GetSceneCollectionList)
133
133
  Mixin::Response.new(resp, resp.keys)
134
134
  end
135
135
 
136
136
  def set_current_scene_collection(name)
137
- payload = { sceneCollectionName: name }
138
- call("SetCurrentSceneCollection", payload)
137
+ payload = {sceneCollectionName: name}
138
+ call(:SetCurrentSceneCollection, payload)
139
139
  end
140
140
 
141
141
  def create_scene_collection(name)
142
- payload = { sceneCollectionName: name }
143
- call("CreateSceneCollection", payload)
142
+ payload = {sceneCollectionName: name}
143
+ call(:CreateSceneCollection, payload)
144
144
  end
145
145
 
146
146
  def get_profile_list
147
- resp = call("GetProfileList")
147
+ resp = call(:GetProfileList)
148
148
  Mixin::Response.new(resp, resp.keys)
149
149
  end
150
150
 
151
151
  def set_current_profile(name)
152
- payload = { profileName: name }
153
- call("SetCurrentProfile", payload)
152
+ payload = {profileName: name}
153
+ call(:SetCurrentProfile, payload)
154
154
  end
155
155
 
156
156
  def create_profile(name)
157
- payload = { profileName: name }
158
- call("CreateProfile", payload)
157
+ payload = {profileName: name}
158
+ call(:CreateProfile, payload)
159
159
  end
160
160
 
161
161
  def remove_profile(name)
162
- payload = { profileName: name }
163
- call("RemoveProfile", payload)
162
+ payload = {profileName: name}
163
+ call(:RemoveProfile, payload)
164
164
  end
165
165
 
166
166
  def get_profile_parameter(category, name)
167
- payload = { parameterCategory: category, parameterName: name }
168
- resp = call("GetProfileParameter", payload)
167
+ payload = {parameterCategory: category, parameterName: name}
168
+ resp = call(:GetProfileParameter, payload)
169
169
  Mixin::Response.new(resp, resp.keys)
170
170
  end
171
171
 
@@ -175,11 +175,11 @@ module OBSWS
175
175
  parameterName: name,
176
176
  parameterValue: value
177
177
  }
178
- call("SetProfileParameter", payload)
178
+ call(:SetProfileParameter, payload)
179
179
  end
180
180
 
181
181
  def get_video_settings
182
- resp = call("GetVideoSettings")
182
+ resp = call(:GetVideoSettings)
183
183
  Mixin::Response.new(resp, resp.keys)
184
184
  end
185
185
 
@@ -199,11 +199,11 @@ module OBSWS
199
199
  outputWidth: out_width,
200
200
  outputHeight: out_height
201
201
  }
202
- call("SetVideoSettings", payload)
202
+ call(:SetVideoSettings, payload)
203
203
  end
204
204
 
205
205
  def get_stream_service_settings
206
- resp = call("GetStreamServiceSettings")
206
+ resp = call(:GetStreamServiceSettings)
207
207
  Mixin::Response.new(resp, resp.keys)
208
208
  end
209
209
 
@@ -212,17 +212,17 @@ module OBSWS
212
212
  streamServiceType: ss_type,
213
213
  streamServiceSettings: ss_settings
214
214
  }
215
- call("SetStreamServiceSettings", payload)
215
+ call(:SetStreamServiceSettings, payload)
216
216
  end
217
217
 
218
218
  def get_record_directory
219
- resp = call("GetRecordDirectory")
219
+ resp = call(:GetRecordDirectory)
220
220
  Mixin::Response.new(resp, resp.keys)
221
221
  end
222
222
 
223
223
  def get_source_active(name)
224
- payload = { sourceName: name }
225
- resp = call("GetSourceActive", payload)
224
+ payload = {sourceName: name}
225
+ resp = call(:GetSourceActive, payload)
226
226
  Mixin::Response.new(resp, resp.keys)
227
227
  end
228
228
 
@@ -234,7 +234,7 @@ module OBSWS
234
234
  imageHeight: height,
235
235
  imageCompressionQuality: quality
236
236
  }
237
- resp = call("GetSourceScreenshot", payload)
237
+ resp = call(:GetSourceScreenshot, payload)
238
238
  Mixin::Response.new(resp, resp.keys)
239
239
  end
240
240
 
@@ -254,58 +254,58 @@ module OBSWS
254
254
  imageHeight: height,
255
255
  imageCompressionQuality: quality
256
256
  }
257
- resp = call("SaveSourceScreenshot", payload)
257
+ resp = call(:SaveSourceScreenshot, payload)
258
258
  Mixin::Response.new(resp, resp.keys)
259
259
  end
260
260
 
261
261
  def get_scene_list
262
- resp = call("GetSceneList")
262
+ resp = call(:GetSceneList)
263
263
  Mixin::Response.new(resp, resp.keys)
264
264
  end
265
265
 
266
266
  def get_group_list
267
- resp = call("GetGroupList")
267
+ resp = call(:GetGroupList)
268
268
  Mixin::Response.new(resp, resp.keys)
269
269
  end
270
270
 
271
271
  def get_current_program_scene
272
- resp = call("GetCurrentProgramScene")
272
+ resp = call(:GetCurrentProgramScene)
273
273
  Mixin::Response.new(resp, resp.keys)
274
274
  end
275
275
 
276
276
  def set_current_program_scene(name)
277
- payload = { sceneName: name }
278
- call("SetCurrentProgramScene", payload)
277
+ payload = {sceneName: name}
278
+ call(:SetCurrentProgramScene, payload)
279
279
  end
280
280
 
281
281
  def get_current_preview_scene
282
- resp = call("GetCurrentPreviewScene")
282
+ resp = call(:GetCurrentPreviewScene)
283
283
  Mixin::Response.new(resp, resp.keys)
284
284
  end
285
285
 
286
286
  def set_current_preview_scene(name)
287
- payload = { sceneName: name }
288
- call("SetCurrentPreviewScene", payload)
287
+ payload = {sceneName: name}
288
+ call(:SetCurrentPreviewScene, payload)
289
289
  end
290
290
 
291
291
  def create_scene(name)
292
- payload = { sceneName: name }
293
- call("CreateScene", payload)
292
+ payload = {sceneName: name}
293
+ call(:CreateScene, payload)
294
294
  end
295
295
 
296
296
  def remove_scene(name)
297
- payload = { sceneName: name }
298
- call("RemoveScene", payload)
297
+ payload = {sceneName: name}
298
+ call(:RemoveScene, payload)
299
299
  end
300
300
 
301
301
  def set_scene_name(old_name, new_name)
302
- payload = { sceneName: old_name, newSceneName: new_name }
303
- call("SetSceneName", payload)
302
+ payload = {sceneName: old_name, newSceneName: new_name}
303
+ call(:SetSceneName, payload)
304
304
  end
305
305
 
306
306
  def get_scene_scene_transition_override(name)
307
- payload = { sceneName: name }
308
- resp = call("GetSceneSceneTransitionOverride", payload)
307
+ payload = {sceneName: name}
308
+ resp = call(:GetSceneSceneTransitionOverride, payload)
309
309
  Mixin::Response.new(resp, resp.keys)
310
310
  end
311
311
 
@@ -315,23 +315,23 @@ module OBSWS
315
315
  transitionName: tr_name,
316
316
  transitionDuration: tr_duration
317
317
  }
318
- call("SetSceneSceneTransitionOverride", payload)
318
+ call(:SetSceneSceneTransitionOverride, payload)
319
319
  end
320
320
 
321
321
  def get_input_list(kind = nil)
322
- payload = { inputKind: kind }
323
- resp = call("GetInputList", payload)
322
+ payload = {inputKind: kind}
323
+ resp = call(:GetInputList, payload)
324
324
  Mixin::Response.new(resp, resp.keys)
325
325
  end
326
326
 
327
327
  def get_input_kind_list(unversioned)
328
- payload = { unversioned: unversioned }
329
- resp = call("GetInputKindList", payload)
328
+ payload = {unversioned: unversioned}
329
+ resp = call(:GetInputKindList, payload)
330
330
  Mixin::Response.new(resp, resp.keys)
331
331
  end
332
332
 
333
333
  def get_special_inputs
334
- resp = call("GetSpecialInputs")
334
+ resp = call(:GetSpecialInputs)
335
335
  Mixin::Response.new(resp, resp.keys)
336
336
  end
337
337
 
@@ -349,57 +349,57 @@ module OBSWS
349
349
  inputSettings: input_settings,
350
350
  sceneItemEnabled: scene_item_enabled
351
351
  }
352
- resp = call("CreateInput", payload)
352
+ resp = call(:CreateInput, payload)
353
353
  Mixin::Response.new(resp, resp.keys)
354
354
  end
355
355
 
356
356
  def remove_input(name)
357
- payload = { inputName: name }
358
- call("RemoveInput", payload)
357
+ payload = {inputName: name}
358
+ call(:RemoveInput, payload)
359
359
  end
360
360
 
361
361
  def set_input_name(old_name, new_name)
362
- payload = { inputName: old_name, newInputName: new_name }
363
- call("SetInputName", payload)
362
+ payload = {inputName: old_name, newInputName: new_name}
363
+ call(:SetInputName, payload)
364
364
  end
365
365
 
366
366
  def get_input_default_settings(kind)
367
- payload = { inputKind: kind }
368
- resp = call("GetInputDefaultSettings", payload)
367
+ payload = {inputKind: kind}
368
+ resp = call(:GetInputDefaultSettings, payload)
369
369
  Mixin::Response.new(resp, resp.keys)
370
370
  end
371
371
 
372
372
  def get_input_settings(name)
373
- payload = { inputName: name }
374
- resp = call("GetInputSettings", payload)
373
+ payload = {inputName: name}
374
+ resp = call(:GetInputSettings, payload)
375
375
  Mixin::Response.new(resp, resp.keys)
376
376
  end
377
377
 
378
378
  def set_input_settings(name, settings, overlay)
379
- payload = { inputName: name, inputSettings: settings, overlay: overlay }
380
- call("SetInputSettings", payload)
379
+ payload = {inputName: name, inputSettings: settings, overlay: overlay}
380
+ call(:SetInputSettings, payload)
381
381
  end
382
382
 
383
383
  def get_input_mute(name)
384
- payload = { inputName: name }
385
- resp = call("GetInputMute", payload)
384
+ payload = {inputName: name}
385
+ resp = call(:GetInputMute, payload)
386
386
  Mixin::Response.new(resp, resp.keys)
387
387
  end
388
388
 
389
389
  def set_input_mute(name, muted)
390
- payload = { inputName: name, inputMuted: muted }
391
- call("SetInputMute", payload)
390
+ payload = {inputName: name, inputMuted: muted}
391
+ call(:SetInputMute, payload)
392
392
  end
393
393
 
394
394
  def toggle_input_mute(name)
395
- payload = { inputName: name }
396
- resp = call("ToggleInputMute", payload)
395
+ payload = {inputName: name}
396
+ resp = call(:ToggleInputMute, payload)
397
397
  Mixin::Response.new(resp, resp.keys)
398
398
  end
399
399
 
400
400
  def get_input_volume(name)
401
- payload = { inputName: name }
402
- resp = call("GetInputVolume", payload)
401
+ payload = {inputName: name}
402
+ resp = call(:GetInputVolume, payload)
403
403
  Mixin::Response.new(resp, resp.keys)
404
404
  end
405
405
 
@@ -409,117 +409,117 @@ module OBSWS
409
409
  inputVolumeMul: vol_mul,
410
410
  inputVolumeDb: vol_db
411
411
  }
412
- call("SetInputVolume", payload)
412
+ call(:SetInputVolume, payload)
413
413
  end
414
414
 
415
415
  def get_input_audio_balance(name)
416
- payload = { inputName: name }
417
- resp = call("GetInputAudioBalance", payload)
416
+ payload = {inputName: name}
417
+ resp = call(:GetInputAudioBalance, payload)
418
418
  Mixin::Response.new(resp, resp.keys)
419
419
  end
420
420
 
421
421
  def set_input_audio_balance(name, balance)
422
- payload = { inputName: name, inputAudioBalance: balance }
423
- call("SetInputAudioBalance", payload)
422
+ payload = {inputName: name, inputAudioBalance: balance}
423
+ call(:SetInputAudioBalance, payload)
424
424
  end
425
425
 
426
426
  def get_input_audio_sync_offset(name)
427
- payload = { inputName: name }
428
- resp = call("GetInputAudioSyncOffset", payload)
427
+ payload = {inputName: name}
428
+ resp = call(:GetInputAudioSyncOffset, payload)
429
429
  Mixin::Response.new(resp, resp.keys)
430
430
  end
431
431
 
432
432
  def set_input_audio_sync_offset(name, offset)
433
- payload = { inputName: name, inputAudioSyncOffset: offset }
434
- call("SetInputAudioSyncOffset", payload)
433
+ payload = {inputName: name, inputAudioSyncOffset: offset}
434
+ call(:SetInputAudioSyncOffset, payload)
435
435
  end
436
436
 
437
437
  def get_input_audio_monitor_type(name)
438
- payload = { inputName: name }
439
- resp = call("GetInputAudioMonitorType", payload)
438
+ payload = {inputName: name}
439
+ resp = call(:GetInputAudioMonitorType, payload)
440
440
  Mixin::Response.new(resp, resp.keys)
441
441
  end
442
442
 
443
443
  def set_input_audio_monitor_type(name, mon_type)
444
- payload = { inputName: name, monitorType: mon_type }
445
- call("SetInputAudioMonitorType", payload)
444
+ payload = {inputName: name, monitorType: mon_type}
445
+ call(:SetInputAudioMonitorType, payload)
446
446
  end
447
447
 
448
448
  def get_input_audio_tracks(name)
449
- payload = { inputName: name }
450
- resp = call("GetInputAudioTracks", payload)
449
+ payload = {inputName: name}
450
+ resp = call(:GetInputAudioTracks, payload)
451
451
  Mixin::Response.new(resp, resp.keys)
452
452
  end
453
453
 
454
454
  def set_input_audio_tracks(name, track)
455
- payload = { inputName: name, inputAudioTracks: track }
456
- call("SetInputAudioTracks", payload)
455
+ payload = {inputName: name, inputAudioTracks: track}
456
+ call(:SetInputAudioTracks, payload)
457
457
  end
458
458
 
459
459
  def get_input_properties_list_property_items(input_name, prop_name)
460
- payload = { inputName: input_name, propertyName: prop_name }
461
- resp = call("GetInputPropertiesListPropertyItems", payload)
460
+ payload = {inputName: input_name, propertyName: prop_name}
461
+ resp = call(:GetInputPropertiesListPropertyItems, payload)
462
462
  Mixin::Response.new(resp, resp.keys)
463
463
  end
464
464
 
465
465
  def press_input_properties_button(input_name, prop_name)
466
- payload = { inputName: input_name, propertyName: prop_name }
467
- call("PressInputPropertiesButton", payload)
466
+ payload = {inputName: input_name, propertyName: prop_name}
467
+ call(:PressInputPropertiesButton, payload)
468
468
  end
469
469
 
470
470
  def get_transition_kind_list
471
- resp = call("GetTransitionKindList")
471
+ resp = call(:GetTransitionKindList)
472
472
  Mixin::Response.new(resp, resp.keys)
473
473
  end
474
474
 
475
475
  def get_scene_transition_list
476
- resp = call("GetSceneTransitionList")
476
+ resp = call(:GetSceneTransitionList)
477
477
  Mixin::Response.new(resp, resp.keys)
478
478
  end
479
479
 
480
480
  def get_current_scene_transition
481
- resp = call("GetCurrentSceneTransition")
481
+ resp = call(:GetCurrentSceneTransition)
482
482
  Mixin::Response.new(resp, resp.keys)
483
483
  end
484
484
 
485
485
  def set_current_scene_transition(name)
486
- payload = { transitionName: name }
487
- call("SetCurrentSceneTransition", payload)
486
+ payload = {transitionName: name}
487
+ call(:SetCurrentSceneTransition, payload)
488
488
  end
489
489
 
490
490
  def set_current_scene_transition_duration(duration)
491
- payload = { transitionDuration: duration }
492
- call("SetCurrentSceneTransitionDuration", payload)
491
+ payload = {transitionDuration: duration}
492
+ call(:SetCurrentSceneTransitionDuration, payload)
493
493
  end
494
494
 
495
495
  def set_current_scene_transition_settings(settings, overlay = nil)
496
- payload = { transitionSettings: settings, overlay: overlay }
497
- call("SetCurrentSceneTransitionSettings", payload)
496
+ payload = {transitionSettings: settings, overlay: overlay}
497
+ call(:SetCurrentSceneTransitionSettings, payload)
498
498
  end
499
499
 
500
500
  def get_current_scene_transition_cursor
501
- resp = call("GetCurrentSceneTransitionCursor")
501
+ resp = call(:GetCurrentSceneTransitionCursor)
502
502
  Mixin::Response.new(resp, resp.keys)
503
503
  end
504
504
 
505
505
  def trigger_studio_mode_transition
506
- call("TriggerStudioModeTransition")
506
+ call(:TriggerStudioModeTransition)
507
507
  end
508
508
 
509
509
  def set_t_bar_position(pos, release = nil)
510
- payload = { position: pos, release: release }
511
- call("SetTBarPosition", payload)
510
+ payload = {position: pos, release: release}
511
+ call(:SetTBarPosition, payload)
512
512
  end
513
513
 
514
514
  def get_source_filter_list(name)
515
- payload = { sourceName: name }
516
- resp = call("GetSourceFilterList", payload)
515
+ payload = {sourceName: name}
516
+ resp = call(:GetSourceFilterList, payload)
517
517
  Mixin::Response.new(resp, resp.keys)
518
518
  end
519
519
 
520
520
  def get_source_filter_default_settings(kind)
521
- payload = { filterKind: kind }
522
- resp = call("GetSourceFilterDefaultSettings", payload)
521
+ payload = {filterKind: kind}
522
+ resp = call(:GetSourceFilterDefaultSettings, payload)
523
523
  Mixin::Response.new(resp, resp.keys)
524
524
  end
525
525
 
@@ -535,12 +535,12 @@ module OBSWS
535
535
  filterKind: filter_kind,
536
536
  filterSettings: filter_settings
537
537
  }
538
- call("CreateSourceFilter", payload)
538
+ call(:CreateSourceFilter, payload)
539
539
  end
540
540
 
541
541
  def remove_source_filter(source_name, filter_name)
542
- payload = { sourceName: source_name, filterName: filter_name }
543
- call("RemoveSourceFilter", payload)
542
+ payload = {sourceName: source_name, filterName: filter_name}
543
+ call(:RemoveSourceFilter, payload)
544
544
  end
545
545
 
546
546
  def set_source_filter_name(source_name, old_filter_name, new_filter_name)
@@ -549,12 +549,12 @@ module OBSWS
549
549
  filterName: old_filter_name,
550
550
  newFilterName: new_filter_name
551
551
  }
552
- call("SetSourceFilterName", payload)
552
+ call(:SetSourceFilterName, payload)
553
553
  end
554
554
 
555
555
  def get_source_filter(source_name, filter_name)
556
- payload = { sourceName: source_name, filterName: filter_name }
557
- resp = call("GetSourceFilter", payload)
556
+ payload = {sourceName: source_name, filterName: filter_name}
557
+ resp = call(:GetSourceFilter, payload)
558
558
  Mixin::Response.new(resp, resp.keys)
559
559
  end
560
560
 
@@ -564,7 +564,7 @@ module OBSWS
564
564
  filterName: filter_name,
565
565
  filterIndex: filter_index
566
566
  }
567
- call("SetSourceFilterIndex", payload)
567
+ call(:SetSourceFilterIndex, payload)
568
568
  end
569
569
 
570
570
  def set_source_filter_settings(
@@ -579,7 +579,7 @@ module OBSWS
579
579
  filterSettings: settings,
580
580
  overlay: overlay
581
581
  }
582
- call("SetSourceFilterSettings", payload)
582
+ call(:SetSourceFilterSettings, payload)
583
583
  end
584
584
 
585
585
  def set_source_filter_enabled(source_name, filter_name, enabled)
@@ -588,18 +588,18 @@ module OBSWS
588
588
  filterName: filter_name,
589
589
  filterEnabled: enabled
590
590
  }
591
- call("SetSourceFilterEnabled", payload)
591
+ call(:SetSourceFilterEnabled, payload)
592
592
  end
593
593
 
594
594
  def get_scene_item_list(name)
595
- payload = { sceneName: name }
596
- resp = call("GetSceneItemList", payload)
595
+ payload = {sceneName: name}
596
+ resp = call(:GetSceneItemList, payload)
597
597
  Mixin::Response.new(resp, resp.keys)
598
598
  end
599
599
 
600
600
  def get_group_scene_item_list(name)
601
- payload = { sceneName: name }
602
- resp = call("GetGroupSceneItemList", payload)
601
+ payload = {sceneName: name}
602
+ resp = call(:GetGroupSceneItemList, payload)
603
603
  Mixin::Response.new(resp, resp.keys)
604
604
  end
605
605
 
@@ -609,7 +609,7 @@ module OBSWS
609
609
  sourceName: source_name,
610
610
  searchOffset: offset
611
611
  }
612
- resp = call("GetSceneItemId", payload)
612
+ resp = call(:GetSceneItemId, payload)
613
613
  Mixin::Response.new(resp, resp.keys)
614
614
  end
615
615
 
@@ -619,13 +619,13 @@ module OBSWS
619
619
  sourceName: source_name,
620
620
  sceneItemEnabled: enabled
621
621
  }
622
- resp = call("CreateSceneItem", payload)
622
+ resp = call(:CreateSceneItem, payload)
623
623
  Mixin::Response.new(resp, resp.keys)
624
624
  end
625
625
 
626
626
  def remove_scene_item(scene_name, item_id)
627
- payload = { sceneName: scene_name, sceneItemId: item_id }
628
- call("RemoveSceneItem", payload)
627
+ payload = {sceneName: scene_name, sceneItemId: item_id}
628
+ call(:RemoveSceneItem, payload)
629
629
  end
630
630
 
631
631
  def duplicate_scene_item(scene_name, item_id, dest_scene_name = nil)
@@ -634,13 +634,13 @@ module OBSWS
634
634
  sceneItemId: item_id,
635
635
  destinationSceneName: dest_scene_name
636
636
  }
637
- resp = call("DuplicateSceneItem", payload)
637
+ resp = call(:DuplicateSceneItem, payload)
638
638
  Mixin::Response.new(resp, resp.keys)
639
639
  end
640
640
 
641
641
  def get_scene_item_transform(scene_name, item_id)
642
- payload = { sceneName: scene_name, sceneItemId: item_id }
643
- resp = call("GetSceneItemTransform", payload)
642
+ payload = {sceneName: scene_name, sceneItemId: item_id}
643
+ resp = call(:GetSceneItemTransform, payload)
644
644
  Mixin::Response.new(resp, resp.keys)
645
645
  end
646
646
 
@@ -650,12 +650,12 @@ module OBSWS
650
650
  sceneItemId: item_id,
651
651
  sceneItemTransform: transform
652
652
  }
653
- call("SetSceneItemTransform", payload)
653
+ call(:SetSceneItemTransform, payload)
654
654
  end
655
655
 
656
656
  def get_scene_item_enabled(scene_name, item_id)
657
- payload = { sceneName: scene_name, sceneItemId: item_id }
658
- resp = call("GetSceneItemEnabled", payload)
657
+ payload = {sceneName: scene_name, sceneItemId: item_id}
658
+ resp = call(:GetSceneItemEnabled, payload)
659
659
  Mixin::Response.new(resp, resp.keys)
660
660
  end
661
661
 
@@ -665,12 +665,12 @@ module OBSWS
665
665
  sceneItemId: item_id,
666
666
  sceneItemEnabled: enabled
667
667
  }
668
- call("SetSceneItemEnabled", payload)
668
+ call(:SetSceneItemEnabled, payload)
669
669
  end
670
670
 
671
671
  def get_scene_item_locked(scene_name, item_id)
672
- payload = { sceneName: scene_name, sceneItemId: item_id }
673
- resp = call("GetSceneItemLocked", payload)
672
+ payload = {sceneName: scene_name, sceneItemId: item_id}
673
+ resp = call(:GetSceneItemLocked, payload)
674
674
  Mixin::Response.new(resp, resp.keys)
675
675
  end
676
676
 
@@ -680,12 +680,12 @@ module OBSWS
680
680
  sceneItemId: item_id,
681
681
  sceneItemLocked: locked
682
682
  }
683
- call("SetSceneItemLocked", payload)
683
+ call(:SetSceneItemLocked, payload)
684
684
  end
685
685
 
686
686
  def get_scene_item_index(scene_name, item_id)
687
- payload = { sceneName: scene_name, sceneItemId: item_id }
688
- resp = call("GetSceneItemIndex", payload)
687
+ payload = {sceneName: scene_name, sceneItemId: item_id}
688
+ resp = call(:GetSceneItemIndex, payload)
689
689
  Mixin::Response.new(resp, resp.keys)
690
690
  end
691
691
 
@@ -693,14 +693,14 @@ module OBSWS
693
693
  payload = {
694
694
  sceneName: scene_name,
695
695
  sceneItemId: item_id,
696
- sceneItemLocked: item_index
696
+ sceneItemIndex: item_index
697
697
  }
698
- call("SetSceneItemIndex", payload)
698
+ call(:SetSceneItemIndex, payload)
699
699
  end
700
700
 
701
701
  def get_scene_item_blend_mode(scene_name, item_id)
702
- payload = { sceneName: scene_name, sceneItemId: item_id }
703
- resp = call("GetSceneItemBlendMode", payload)
702
+ payload = {sceneName: scene_name, sceneItemId: item_id}
703
+ resp = call(:GetSceneItemBlendMode, payload)
704
704
  Mixin::Response.new(resp, resp.keys)
705
705
  end
706
706
 
@@ -710,192 +710,192 @@ module OBSWS
710
710
  sceneItemId: item_id,
711
711
  sceneItemBlendMode: blend
712
712
  }
713
- call("SetSceneItemBlendMode", payload)
713
+ call(:SetSceneItemBlendMode, payload)
714
714
  end
715
715
 
716
716
  def get_virtual_cam_status
717
- resp = call("GetVirtualCamStatus")
717
+ resp = call(:GetVirtualCamStatus)
718
718
  Mixin::Response.new(resp, resp.keys)
719
719
  end
720
720
 
721
721
  def toggle_virtual_cam
722
- resp = call("ToggleVirtualCam")
722
+ resp = call(:ToggleVirtualCam)
723
723
  Mixin::Response.new(resp, resp.keys)
724
724
  end
725
725
 
726
726
  def start_virtual_cam
727
- call("StartVirtualCam")
727
+ call(:StartVirtualCam)
728
728
  end
729
729
 
730
730
  def stop_virtual_cam
731
- call("StopVirtualCam")
731
+ call(:StopVirtualCam)
732
732
  end
733
733
 
734
734
  def get_replay_buffer_status
735
- resp = call("GetReplayBufferStatus")
735
+ resp = call(:GetReplayBufferStatus)
736
736
  Mixin::Response.new(resp, resp.keys)
737
737
  end
738
738
 
739
739
  def toggle_replay_buffer
740
- resp = call("ToggleReplayBuffer")
740
+ resp = call(:ToggleReplayBuffer)
741
741
  Mixin::Response.new(resp, resp.keys)
742
742
  end
743
743
 
744
744
  def start_replay_buffer
745
- call("StartReplayBuffer")
745
+ call(:StartReplayBuffer)
746
746
  end
747
747
 
748
748
  def stop_replay_buffer
749
- call("StopReplayBuffer")
749
+ call(:StopReplayBuffer)
750
750
  end
751
751
 
752
752
  def save_replay_buffer
753
- call("SaveReplayBuffer")
753
+ call(:SaveReplayBuffer)
754
754
  end
755
755
 
756
756
  def get_last_replay_buffer_replay
757
- resp = call("GetLastReplayBufferReplay")
757
+ resp = call(:GetLastReplayBufferReplay)
758
758
  Mixin::Response.new(resp, resp.keys)
759
759
  end
760
760
 
761
761
  def get_output_list
762
- resp = call("GetOutputList")
762
+ resp = call(:GetOutputList)
763
763
  Mixin::Response.new(resp, resp.keys)
764
764
  end
765
765
 
766
766
  def get_output_status(name)
767
- payload = { outputName: name }
768
- resp = call("GetOutputStatus", payload)
767
+ payload = {outputName: name}
768
+ resp = call(:GetOutputStatus, payload)
769
769
  Mixin::Response.new(resp, resp.keys)
770
770
  end
771
771
 
772
772
  def toggle_output(name)
773
- payload = { outputName: name }
774
- resp = call("ToggleOutput", payload)
773
+ payload = {outputName: name}
774
+ resp = call(:ToggleOutput, payload)
775
775
  Mixin::Response.new(resp, resp.keys)
776
776
  end
777
777
 
778
778
  def start_output(name)
779
- payload = { outputName: name }
780
- call("StartOutput", payload)
779
+ payload = {outputName: name}
780
+ call(:StartOutput, payload)
781
781
  end
782
782
 
783
783
  def stop_output(name)
784
- payload = { outputName: name }
785
- call("StopOutput", payload)
784
+ payload = {outputName: name}
785
+ call(:StopOutput, payload)
786
786
  end
787
787
 
788
788
  def get_output_settings(name)
789
- payload = { outputName: name }
790
- resp = call("GetOutputSettings", payload)
789
+ payload = {outputName: name}
790
+ resp = call(:GetOutputSettings, payload)
791
791
  Mixin::Response.new(resp, resp.keys)
792
792
  end
793
793
 
794
794
  def set_output_settings(name, settings)
795
- payload = { outputName: name, outputSettings: settings }
796
- call("SetOutputSettings", payload)
795
+ payload = {outputName: name, outputSettings: settings}
796
+ call(:SetOutputSettings, payload)
797
797
  end
798
798
 
799
799
  def get_stream_status
800
- resp = call("GetStreamStatus")
800
+ resp = call(:GetStreamStatus)
801
801
  Mixin::Response.new(resp, resp.keys)
802
802
  end
803
803
 
804
804
  def toggle_stream
805
- resp = call("ToggleStream")
805
+ resp = call(:ToggleStream)
806
806
  Mixin::Response.new(resp, resp.keys)
807
807
  end
808
808
 
809
809
  def start_stream
810
- call("StartStream")
810
+ call(:StartStream)
811
811
  end
812
812
 
813
813
  def stop_stream
814
- call("StopStream")
814
+ call(:StopStream)
815
815
  end
816
816
 
817
817
  def send_stream_caption(caption)
818
- call("SendStreamCaption")
818
+ call(:SendStreamCaption)
819
819
  end
820
820
 
821
821
  def get_record_status
822
- resp = call("GetRecordStatus")
822
+ resp = call(:GetRecordStatus)
823
823
  Mixin::Response.new(resp, resp.keys)
824
824
  end
825
825
 
826
826
  def toggle_record
827
- call("ToggleRecord")
827
+ call(:ToggleRecord)
828
828
  end
829
829
 
830
830
  def start_record
831
- call("StartRecord")
831
+ call(:StartRecord)
832
832
  end
833
833
 
834
834
  def stop_record
835
- resp = call("StopRecord")
835
+ resp = call(:StopRecord)
836
836
  Mixin::Response.new(resp, resp.keys)
837
837
  end
838
838
 
839
839
  def toggle_record_pause
840
- call("ToggleRecordPause")
840
+ call(:ToggleRecordPause)
841
841
  end
842
842
 
843
843
  def pause_record
844
- call("PauseRecord")
844
+ call(:PauseRecord)
845
845
  end
846
846
 
847
847
  def resume_record
848
- call("ResumeRecord")
848
+ call(:ResumeRecord)
849
849
  end
850
850
 
851
851
  def get_media_input_status(name)
852
- payload = { inputName: name }
853
- resp = call("GetMediaInputStatus", payload)
852
+ payload = {inputName: name}
853
+ resp = call(:GetMediaInputStatus, payload)
854
854
  Mixin::Response.new(resp, resp.keys)
855
855
  end
856
856
 
857
857
  def set_media_input_cursor(name, cursor)
858
- payload = { inputName: name, mediaCursor: cursor }
859
- call("SetMediaInputCursor", payload)
858
+ payload = {inputName: name, mediaCursor: cursor}
859
+ call(:SetMediaInputCursor, payload)
860
860
  end
861
861
 
862
862
  def offset_media_input_cursor(name, offset)
863
- payload = { inputName: name, mediaCursorOffset: offset }
864
- call("OffsetMediaInputCursor", payload)
863
+ payload = {inputName: name, mediaCursorOffset: offset}
864
+ call(:OffsetMediaInputCursor, payload)
865
865
  end
866
866
 
867
867
  def trigger_media_input_action(name, action)
868
- payload = { inputName: name, mediaAction: action }
869
- call("TriggerMediaInputAction", payload)
868
+ payload = {inputName: name, mediaAction: action}
869
+ call(:TriggerMediaInputAction, payload)
870
870
  end
871
871
 
872
872
  def get_studio_mode_enabled
873
- resp = call("GetStudioModeEnabled")
873
+ resp = call(:GetStudioModeEnabled)
874
874
  Mixin::Response.new(resp, resp.keys)
875
875
  end
876
876
 
877
877
  def set_studio_mode_enabled(enabled)
878
- payload = { studioModeEnabled: enabled }
879
- call("SetStudioModeEnabled", payload)
878
+ payload = {studioModeEnabled: enabled}
879
+ call(:SetStudioModeEnabled, payload)
880
880
  end
881
881
 
882
882
  def open_input_properties_dialog(name)
883
- payload = { inputName: name }
884
- call("OpenInputPropertiesDialog", payload)
883
+ payload = {inputName: name}
884
+ call(:OpenInputPropertiesDialog, payload)
885
885
  end
886
886
 
887
887
  def open_input_filters_dialog(name)
888
- payload = { inputName: name }
889
- call("OpenInputFiltersDialog", payload)
888
+ payload = {inputName: name}
889
+ call(:OpenInputFiltersDialog, payload)
890
890
  end
891
891
 
892
892
  def open_input_interact_dialog(name)
893
- payload = { inputName: name }
894
- call("OpenInputInteractDialog", payload)
893
+ payload = {inputName: name}
894
+ call(:OpenInputInteractDialog, payload)
895
895
  end
896
896
 
897
897
  def get_monitor_list
898
- resp = call("GetMonitorList")
898
+ resp = call(:GetMonitorList)
899
899
  Mixin::Response.new(resp, resp.keys)
900
900
  end
901
901
  end
data/lib/obsws/version.rb CHANGED
@@ -7,11 +7,11 @@ module OBSWS
7
7
  end
8
8
 
9
9
  def minor
10
- 1
10
+ 2
11
11
  end
12
12
 
13
13
  def patch
14
- 3
14
+ 0
15
15
  end
16
16
 
17
17
  def to_a
@@ -22,4 +22,6 @@ module OBSWS
22
22
  to_a.join(".")
23
23
  end
24
24
  end
25
+
26
+ VERSION = Version.to_s
25
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: obsws
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - onyx_online
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-25 00:00:00.000000000 Z
11
+ date: 2023-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: observer
@@ -53,19 +53,19 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.2.1
55
55
  - !ruby/object:Gem::Dependency
56
- name: perfect_toml
56
+ name: standard
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.9.0
61
+ version: '1.30'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.9.0
68
+ version: '1.30'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: minitest
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -130,7 +130,7 @@ homepage: https://rubygems.org/gems/obsws
130
130
  licenses:
131
131
  - MIT
132
132
  metadata:
133
- source_code_uri: https://github.com/onyx-and-iris/obsws.git
133
+ source_code_uri: https://github.com/onyx-and-iris/obsws-ruby
134
134
  post_install_message:
135
135
  rdoc_options: []
136
136
  require_paths:
@@ -146,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
146
  - !ruby/object:Gem::Version
147
147
  version: '0'
148
148
  requirements: []
149
- rubygems_version: 3.3.12
149
+ rubygems_version: 3.4.10
150
150
  signing_key:
151
151
  specification_version: 4
152
152
  summary: OBS Websocket v5 wrapper