obsws 0.1.3 → 0.2.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.
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