mirror of
https://github.com/onyx-and-iris/voicemeeter-rb.git
synced 2024-11-23 18:30:49 +00:00
register blocks on the event client object
remove running attribute reader
This commit is contained in:
parent
9e84d02707
commit
8d2cc774ac
@ -2,4 +2,4 @@
|
||||
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "obsws", "~> 0.4.0"
|
||||
gem "obsws", "~> 0.5.8"
|
||||
|
@ -4,34 +4,28 @@ require "yaml"
|
||||
require "pathname"
|
||||
|
||||
class Main
|
||||
attr_reader :running
|
||||
|
||||
def initialize(vm, **kwargs)
|
||||
@vm = vm
|
||||
@obsws = OBSWS::Events::Client.new(**kwargs)
|
||||
@obsws.register([
|
||||
method(:on_current_program_scene_changed),
|
||||
method(:on_exit_started)
|
||||
])
|
||||
@running = true
|
||||
end
|
||||
|
||||
def run
|
||||
sleep(0.1) while running
|
||||
end
|
||||
@obsws.on :on_current_program_scene_changed do |data|
|
||||
scene = data.scene_name
|
||||
puts "Switched to scene #{scene}"
|
||||
if respond_to?("on_#{scene.downcase}")
|
||||
send("on_#{scene.downcase}")
|
||||
end
|
||||
end
|
||||
|
||||
def on_current_program_scene_changed(data)
|
||||
scene = data.scene_name
|
||||
puts "Switched to scene #{scene}"
|
||||
if respond_to?("on_#{scene.downcase}")
|
||||
send("on_#{scene.downcase}")
|
||||
@obsws.on :on_exit_started do |data|
|
||||
puts "OBS closing!"
|
||||
@obsws.close
|
||||
@running = false
|
||||
end
|
||||
end
|
||||
|
||||
def on_exit_started
|
||||
puts "OBS closing!"
|
||||
@obsws.close
|
||||
@running = false
|
||||
def run
|
||||
@running = true
|
||||
sleep(0.1) while @running
|
||||
end
|
||||
|
||||
def on_start
|
||||
|
Loading…
Reference in New Issue
Block a user