raekfile updated

rework examples
This commit is contained in:
onyx-and-iris 2023-07-21 06:37:14 +01:00
parent 15dcaeedda
commit 15c4baf5d7
12 changed files with 42 additions and 131 deletions

View File

@ -28,37 +28,39 @@ bundle install
#### Example `main.rb` #### Example `main.rb`
pass `host`, `port` and `password` as keyword arguments. Pass `host`, `port` and `password` as keyword arguments.
```ruby ```ruby
require "obsws" require "obsws"
def main class Main
OBSWS::Requests::Client def run
.new(host: "localhost", port: 4455, password: "strongpassword") OBSWS::Requests::Client
.run do |client| .new(host: "localhost", port: 4455, password: "strongpassword")
# Toggle the mute state of your Mic input .run do |client|
client.toggle_input_mute("Mic/Aux") # Toggle the mute state of your Mic input
end client.toggle_input_mute("Mic/Aux")
end
end
end end
main if $0 == __FILE__ Main.new.run if $PROGRAM_NAME == __FILE__
``` ```
Passing OBSWS::Requests::Client.run a block closes the socket once the block returns.
### Requests ### Requests
Method names for requests match the API calls but snake cased. `run` accepts a block that closes the socket once you are done. Method names for requests match the API calls but snake cased.
example: example:
```ruby ```ruby
r_client.run do # GetVersion
# GetVersion resp = r_client.get_version
resp = r_client.get_version
# SetCurrentProgramScene # SetCurrentProgramScene
r_client.set_current_program_scene("BRB") r_client.set_current_program_scene("BRB")
end
``` ```
For a full list of requests refer to [Requests](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#requests) For a full list of requests refer to [Requests](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#requests)

View File

@ -14,7 +14,7 @@ task :events do
ruby filepath ruby filepath
end end
task :levels do task :levels do
filepath = File.join(HERE, "examples", "levels", "main.rb") filepath = File.join(HERE, "examples", "events", "main.rb")
ruby filepath ruby filepath
end end
task :scene_rotate do task :scene_rotate do

View File

@ -1,7 +0,0 @@
# frozen_string_literal: true
source "https://rubygems.org"
# gem "rails"
gem "obsws", path: "../.."

View File

@ -1,25 +0,0 @@
PATH
remote: ../..
specs:
obsws (0.1.3)
observer (~> 0.1.1)
waitutil (~> 0.2.1)
websocket-driver (~> 0.7.5)
GEM
remote: https://rubygems.org/
specs:
observer (0.1.1)
waitutil (0.2.1)
websocket-driver (0.7.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
PLATFORMS
x64-mingw-ucrt
DEPENDENCIES
obsws!
BUNDLED WITH
2.3.22

View File

@ -1,4 +1,4 @@
require "obsws" require_relative "../../lib/obsws"
require "yaml" require "yaml"
OBSWS::LOGGER.info! OBSWS::LOGGER.info!
@ -53,4 +53,4 @@ def conn_from_yaml
YAML.load_file("obs.yml", symbolize_names: true)[:connection] YAML.load_file("obs.yml", symbolize_names: true)[:connection]
end end
Main.new(**conn_from_yaml).run if $0 == __FILE__ Main.new(**conn_from_yaml).run if $PROGRAM_NAME == __FILE__

View File

@ -1,7 +0,0 @@
# frozen_string_literal: true
source "https://rubygems.org"
# gem "rails"
gem "obsws", path: "../.."

View File

@ -1,25 +0,0 @@
PATH
remote: ../..
specs:
obsws (0.1.3)
observer (~> 0.1.1)
waitutil (~> 0.2.1)
websocket-driver (~> 0.7.5)
GEM
remote: https://rubygems.org/
specs:
observer (0.1.1)
waitutil (0.2.1)
websocket-driver (0.7.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
PLATFORMS
x64-mingw-ucrt
DEPENDENCIES
obsws!
BUNDLED WITH
2.4.15

View File

@ -1,4 +1,4 @@
require "obsws" require_relative "../../lib/obsws"
require "yaml" require "yaml"
OBSWS::LOGGER.info! OBSWS::LOGGER.info!
@ -45,4 +45,4 @@ def conn_from_yaml
YAML.load_file("obs.yml", symbolize_names: true)[:connection] YAML.load_file("obs.yml", symbolize_names: true)[:connection]
end end
Main.new(**conn_from_yaml).run if $0 == __FILE__ Main.new(**conn_from_yaml).run if $PROGRAM_NAME == __FILE__

View File

@ -1,7 +0,0 @@
# frozen_string_literal: true
source "https://rubygems.org"
# gem "rails"
gem "obsws", path: "../.."

View File

@ -1,25 +0,0 @@
PATH
remote: ../..
specs:
obsws (0.1.3)
observer (~> 0.1.1)
waitutil (~> 0.2.1)
websocket-driver (~> 0.7.5)
GEM
remote: https://rubygems.org/
specs:
observer (0.1.1)
waitutil (0.2.1)
websocket-driver (0.7.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
PLATFORMS
x64-mingw-ucrt
DEPENDENCIES
obsws!
BUNDLED WITH
2.3.22

View File

@ -1,21 +1,24 @@
require "obsws" require_relative "../../lib/obsws"
require "yaml" require "yaml"
OBSWS::LOGGER.info! OBSWS::LOGGER.info!
def conn_from_yaml class Main
YAML.load_file("obs.yml", symbolize_names: true)[:connection] def conn_from_yaml
end YAML.load_file("obs.yml", symbolize_names: true)[:connection]
end
def main def run
OBSWS::Requests::Client.new(**conn_from_yaml).run do |client| OBSWS::Requests::Client.new(**conn_from_yaml).run do |client|
resp = client.get_scene_list resp = client.get_scene_list
resp.scenes.reverse_each do |scene| resp.scenes.reverse_each do |scene|
puts "Switching to scene #{scene[:sceneName]}" puts "Switching to scene #{scene[:sceneName]}"
client.set_current_program_scene(scene[:sceneName]) client.set_current_program_scene(scene[:sceneName])
sleep(0.5) sleep(0.5)
end
end end
end end
end end
main if $0 == __FILE__
Main.new.run if $PROGRAM_NAME == __FILE__

View File

@ -1,6 +1,7 @@
require_relative "lib/obsws" require_relative "lib/obsws"
def main class Main
def run
OBSWS::Requests::Client.new( OBSWS::Requests::Client.new(
host: "localhost", host: "localhost",
port: 4455, port: 4455,
@ -9,6 +10,7 @@ def main
# Toggle the mute state of your Mic input # Toggle the mute state of your Mic input
client.toggle_input_mute("Mic/Aux") client.toggle_input_mute("Mic/Aux")
end end
end
end end
main if $0 == __FILE__ Main.new.run if $PROGRAM_NAME == __FILE__