Module: Voicemeeter

Includes:
Logger::Severity, RunVM
Defined in:
lib/voicemeeter.rb,
lib/voicemeeter/bus.rb,
lib/voicemeeter/base.rb,
lib/voicemeeter/inst.rb,
lib/voicemeeter/meta.rb,
lib/voicemeeter/midi.rb,
lib/voicemeeter/vban.rb,
lib/voicemeeter/event.rb,
lib/voicemeeter/kinds.rb,
lib/voicemeeter/mixin.rb,
lib/voicemeeter/runvm.rb,
lib/voicemeeter/strip.rb,
lib/voicemeeter/button.rb,
lib/voicemeeter/device.rb,
lib/voicemeeter/errors.rb,
lib/voicemeeter/remote.rb,
lib/voicemeeter/worker.rb,
lib/voicemeeter/command.rb,
lib/voicemeeter/configs.rb,
lib/voicemeeter/iremote.rb,
lib/voicemeeter/version.rb,
lib/voicemeeter/recorder.rb,
lib/voicemeeter/cbindings.rb

Defined Under Namespace

Modules: CBindings, Channel_Meta_Functions, Commands_Meta_Functions, Configs, Conversions, Errors, InstallationFunctions, Kinds, MacroButton_Meta_Functions, Meta_Functions, Mixin, RunVM, Vban_Meta_Functions, Version, Worker Classes: Base, Bus, BusDevice, BusLevels, BusModes, Command, Device, Event, GainLayer, IRemote, MacroButton, Midi, PhysicalBus, PhysicalStrip, Recorder, Remote, Strip, StripDevice, StripLevels, Vban, VbanInstream, VbanOutstream, VbanStream, VirtualBus, VirtualStrip

Constant Summary collapse

LOGGER =
Logger.new(STDOUT)

Class Method Summary collapse

Methods included from Kinds

get_kind, kind_map, kinds_all

Methods included from CBindings

#clear_polling, #ldirty?, #mdirty?, #pdirty?

Class Method Details

.remote(kind_id, **kwargs) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/voicemeeter/remote.rb', line 44

def self.remote(kind_id, **kwargs)
  "
  Factory method for remotes.

  Creates a hash of remote classes, one for each kind.

  Handles kind_id request errors.

  Returns a remote class of the kind requested.
  "
  _remotes =
    Kinds.kinds_all.to_h do |kind|
      [kind.name.to_s, Remote.new(kind, **kwargs)]
    end

  unless _remotes.key? kind_id
    raise VMRemoteErrors.new("Unknown Voicemeeter Kind.")
  end
  _remotes[kind_id]
end

.startObject

.testingObject



65
66
67
68
69
70
71
72
73
74
# File 'lib/voicemeeter/remote.rb', line 65

def self.testing
  "
  Returns a random Remote class
  "
  unless ENV["RACK_ENV"] == "dev"
    raise VMRemoteErrors.new("Not in developer mode")
  end

  Remote.new(Kinds.kinds_all.sample)
end