diff --git a/lib/voicemeeter/fx.rb b/lib/voicemeeter/fx.rb new file mode 100644 index 0000000..471cc57 --- /dev/null +++ b/lib/voicemeeter/fx.rb @@ -0,0 +1,39 @@ +require_relative "iremote" + +module Voicemeeter + class Fx < IRemote + attr_reader :reverb, :delay + + def initialize(remote) + super + @reverb = FxReverb.new(remote) + @delay = FxDelay.new(remote) + end + + def identifier + :fx + end + end + + class FxReverb < IRemote + def initialize(remote) + super + make_accessor_bool :on, :ab + end + + def identifier + "fx.reverb" + end + end + + class FxDelay < IRemote + def initialize(remote) + super + make_accessor_bool :on, :ab + end + + def identifier + "fx.delay" + end + end +end diff --git a/lib/voicemeeter/remote.rb b/lib/voicemeeter/remote.rb index 8e867e9..4617c73 100644 --- a/lib/voicemeeter/remote.rb +++ b/lib/voicemeeter/remote.rb @@ -8,6 +8,7 @@ require_relative "vban" require_relative "command" require_relative "recorder" require_relative "device" +require_relative "fx" require_relative "configs" module Voicemeeter @@ -24,6 +25,7 @@ module Voicemeeter @command = Command.new(self) @recorder = Recorder::Recorder.new(self) @device = Device.new(self) + @fx = Fx.new(self) end def configs @@ -48,7 +50,7 @@ module Voicemeeter end class RemotePotato < Remote - attr_reader :strip, :bus, :button, :vban, :command, :device, :recorder + attr_reader :strip, :bus, :button, :vban, :command, :device, :recorder, :fx end public