obsws 0.1.3 → 0.2.1

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: 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