voicemeeter-rb/lib/voicemeeter/button.rb

51 lines
910 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 initialize(remote, i)
super
end
def getter(mode)
@remote.get_buttonstatus(@index, mode)
end
def setter(set, mode)
@remote.set_buttonstatus(@index, set, mode)
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