voicemeeter-rb/lib/voicemeeter/button.rb
2023-07-14 11:47:21 +01:00

47 lines
855 B
Ruby

require_relative "iremote"
require_relative "meta"
module Voicemeeter
module Button
module ButtonEnum
STATE = 1
STATEONLY = 2
TRIGGER = 3
end
class Button < IRemote
def getter(type_)
remote.get_buttonstatus(@index, type_)
end
def setter(type_, val)
remote.set_buttonstatus(@index, type_, val)
end
def state
getter(ButtonEnum::STATE)
end
def state=(value)
setter(ButtonEnum::STATE, value && 1 || 0)
end
def stateonly
getter(ButtonEnum::STATEONLY)
end
def stateonly=(value)
setter(ButtonEnum::STATEONLY, value && 1 || 0)
end
def trigger
getter(ButtonEnum::TRIGGER)
end
def trigger=(value)
setter(ButtonEnum::TRIGGER, value && 1 || 0)
end
end
end
end