obsws 0.1.3 → 0.2.1

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