From 330a1507c9632eafed20f327b256a46617359176 Mon Sep 17 00:00:00 2001 From: onyx-and-iris Date: Tue, 29 Aug 2023 11:21:05 +0100 Subject: [PATCH] make docstrings rdoc compatible --- .gitignore | 3 +++ lib/voicemeeter.rb | 7 ++++--- lib/voicemeeter/base.rb | 2 +- lib/voicemeeter/bus.rb | 6 +++--- lib/voicemeeter/button.rb | 2 +- lib/voicemeeter/cbindings.rb | 3 +-- lib/voicemeeter/configs.rb | 2 -- lib/voicemeeter/iremote.rb | 3 +-- lib/voicemeeter/kinds.rb | 2 -- lib/voicemeeter/patch.rb | 2 +- lib/voicemeeter/recorder.rb | 2 +- lib/voicemeeter/remote.rb | 17 +++++++---------- lib/voicemeeter/strip.rb | 6 +++--- lib/voicemeeter/vban.rb | 18 +++++++++--------- lib/voicemeeter/worker.rb | 4 +--- 15 files changed, 36 insertions(+), 43 deletions(-) diff --git a/.gitignore b/.gitignore index 79dcc09..afbc372 100644 --- a/.gitignore +++ b/.gitignore @@ -56,6 +56,9 @@ Gemfile.lock # Used by RuboCop. Remote config files pulled in from inherit_from directive. # .rubocop-https?--* +# documentation +doc/ + # test quick.rb config.yaml diff --git a/lib/voicemeeter.rb b/lib/voicemeeter.rb index d929a00..342cc46 100644 --- a/lib/voicemeeter.rb +++ b/lib/voicemeeter.rb @@ -35,16 +35,17 @@ require_relative "voicemeeter/version" module Voicemeeter module Errors - class VMError < StandardError; end # Base Voicemeeter error class + class VMError < StandardError; end + # Raised when errors occur during installation. class VMInstallError < VMError; end - # Errors raised during installation. + # Raised when the C-API returns error codes class VMCAPIError < VMError - # Errors raised when the C-API returns error codes attr_reader :fn_name, :code + # create a new VMCAPIError with given C-API function name and error code def initialize(fn_name, code) @fn_name = fn_name @code = code diff --git a/lib/voicemeeter/base.rb b/lib/voicemeeter/base.rb index c6de5c3..4dc3c9d 100644 --- a/lib/voicemeeter/base.rb +++ b/lib/voicemeeter/base.rb @@ -1,6 +1,6 @@ module Voicemeeter + # Base class for Remote types class Base - # Base class for Remote types include Logging include Worker include Events::Director diff --git a/lib/voicemeeter/bus.rb b/lib/voicemeeter/bus.rb index 65f2fc6..4dbd92d 100644 --- a/lib/voicemeeter/bus.rb +++ b/lib/voicemeeter/bus.rb @@ -1,7 +1,7 @@ module Voicemeeter module Bus + # Base class for Bus types class Base - # Base class for Bus types include IRemote include Mixins::Fades include Mixins::Return @@ -28,11 +28,11 @@ module Voicemeeter end end - class PhysicalBus < Base; end # Represents a Physical Bus + class PhysicalBus < Base; end - class VirtualBus < Base; end # Represents a Virtual Bus + class VirtualBus < Base; end class BusEq include IRemote diff --git a/lib/voicemeeter/button.rb b/lib/voicemeeter/button.rb index 23b916c..a3a0292 100644 --- a/lib/voicemeeter/button.rb +++ b/lib/voicemeeter/button.rb @@ -26,8 +26,8 @@ module Voicemeeter end end + # Base class for Button types class Base - # Base class for Button types include Logging include IRemote include ButtonColorMixin diff --git a/lib/voicemeeter/cbindings.rb b/lib/voicemeeter/cbindings.rb index fe60d98..662740d 100644 --- a/lib/voicemeeter/cbindings.rb +++ b/lib/voicemeeter/cbindings.rb @@ -1,7 +1,6 @@ module Voicemeeter + # Ruby bindings for the C-API functions module CBindings - # Ruby bindings for the C-API functions - private extend Logging diff --git a/lib/voicemeeter/configs.rb b/lib/voicemeeter/configs.rb index 390b8f2..27e5b4c 100644 --- a/lib/voicemeeter/configs.rb +++ b/lib/voicemeeter/configs.rb @@ -12,7 +12,6 @@ module Voicemeeter eq = [:eq].to_h { |param| [param, {on: false}] } overrides = {B1: true} - # physical strip params phys_strip = (0...kind.phys_in).to_h do |i| [ @@ -22,7 +21,6 @@ module Voicemeeter end overrides = {A1: true} - # virtual strip params virt_strip = (kind.phys_in...kind.phys_in + kind.virt_in).to_h do |i| [ diff --git a/lib/voicemeeter/iremote.rb b/lib/voicemeeter/iremote.rb index 46c5cd0..e4fdab6 100644 --- a/lib/voicemeeter/iremote.rb +++ b/lib/voicemeeter/iremote.rb @@ -1,7 +1,6 @@ module Voicemeeter + # Common interface with the base Remote class. module IRemote - # A commmon interface between the base Remote class and extended classes. - include Logging include MetaFunctions diff --git a/lib/voicemeeter/kinds.rb b/lib/voicemeeter/kinds.rb index e60d454..bfca39f 100644 --- a/lib/voicemeeter/kinds.rb +++ b/lib/voicemeeter/kinds.rb @@ -1,7 +1,5 @@ module Voicemeeter module Kinds - # KindMaps that describe the layout for each kind - private module KindEnum diff --git a/lib/voicemeeter/patch.rb b/lib/voicemeeter/patch.rb index 11b2eea..d810ba1 100644 --- a/lib/voicemeeter/patch.rb +++ b/lib/voicemeeter/patch.rb @@ -1,7 +1,7 @@ module Voicemeeter module Patch + # Base class for Patch types class Base - # Base class for Patch types include IRemote attr_reader :asio, :A2, :A3, :A4, :A5, :composite, :insert diff --git a/lib/voicemeeter/recorder.rb b/lib/voicemeeter/recorder.rb index 41bfdf4..5b7eb05 100644 --- a/lib/voicemeeter/recorder.rb +++ b/lib/voicemeeter/recorder.rb @@ -7,8 +7,8 @@ module Voicemeeter MP3 = 100 end + # Base class for Recorder types class Base - # Base class for Recorder types include IRemote include Mixins::Outputs diff --git a/lib/voicemeeter/remote.rb b/lib/voicemeeter/remote.rb index f572467..bbca250 100644 --- a/lib/voicemeeter/remote.rb +++ b/lib/voicemeeter/remote.rb @@ -1,9 +1,6 @@ module Voicemeeter + # Builder module for Remote factories. module Builder - # Builder module for Remote factories. - # Defines steps for building a Remote type of a kind. - # Defines the base director - private def steps(step) @@ -29,8 +26,8 @@ module Voicemeeter module Remote extend Logging + # Concrete class for Remote types class Remote < Base - # Concrete class for Remote types include Builder public attr_reader :strip, :bus, :button, :vban, :command, :device, :option @@ -57,11 +54,11 @@ module Voicemeeter end end - class RemoteBasic < Remote; end # Represents a RemoteBasic type + class RemoteBasic < Remote; end + # Represents a RemoteBanana type class RemoteBanana < Remote - # Represents a RemoteBanana type public attr_reader :recorder, :patch private def director @@ -69,8 +66,8 @@ module Voicemeeter end end + # Represents a RemotePotato type class RemotePotato < Remote - # Represents a RemotePotato type public attr_reader :recorder, :patch, :fx private def director @@ -78,8 +75,8 @@ module Voicemeeter end end + # Factory class for Remote types. Returns a Remote class of a kind. class RequestRemote - # Factory class for Remote types. Returns a Remote class of a kind. def self.for(kind, **) case kind.name when :basic @@ -92,8 +89,8 @@ module Voicemeeter end end + # Interface entry point. Wraps factory class and handles kind errors. def self.new(kind_id, **) - # Interface entry point. Wraps factory class and handles kind errors. kind = Kinds.get(kind_id) rescue KeyError => e logger.error "#{e.class.name}: #{e.message}" diff --git a/lib/voicemeeter/strip.rb b/lib/voicemeeter/strip.rb index b5ec883..3a9a04b 100644 --- a/lib/voicemeeter/strip.rb +++ b/lib/voicemeeter/strip.rb @@ -1,7 +1,7 @@ module Voicemeeter module Strip + # Base class for Strip types class Base - # Base class for Strip types include IRemote include Mixins::Outputs include Mixins::Fades @@ -28,8 +28,8 @@ module Voicemeeter end end + # Represents a Physical Strip class PhysicalStrip < Base - # Represents a Physical Strip include Mixins::Xy::Pan include Mixins::Xy::Color include Mixins::Xy::Fx @@ -143,8 +143,8 @@ module Voicemeeter end end + # Represents a Virtual Strip class VirtualStrip < Base - # Represents a Virtual Strip include Mixins::Xy::Pan include Mixins::Apps diff --git a/lib/voicemeeter/vban.rb b/lib/voicemeeter/vban.rb index 5e83a3a..2b817ed 100644 --- a/lib/voicemeeter/vban.rb +++ b/lib/voicemeeter/vban.rb @@ -1,7 +1,7 @@ module Voicemeeter module Vban + # Base class for Vban Stream types class VbanStream - # Base class for Vban Stream types include IRemote def initialize(remote, i) @@ -20,8 +20,8 @@ module Voicemeeter end end + # Represents a Vban InStream class VbanInstream < VbanStream - # Represents a Vban InStream def initialize(remote, i) super make_reader_int :sr, :channel, :bit @@ -32,17 +32,17 @@ module Voicemeeter end end - class VbanAudioInstream < VbanInstream; end # Represents a Vban Audio InStream + class VbanAudioInstream < VbanInstream; end - class VbanMidiInstream < VbanInstream; end # Represents a Vban Midi InStream + class VbanMidiInstream < VbanInstream; end - class VbanTextInstream < VbanInstream; end # Represents a Vban Text InStream + class VbanTextInstream < VbanInstream; end + # Represents a Vban OutStream class VbanOutstream < VbanStream - # Represents a Vban OutStream def initialize(remote, i) super make_accessor_int :sr, :channel, :bit @@ -53,11 +53,11 @@ module Voicemeeter end end - class VbanAudioOutstream < VbanOutstream; end # Represents a Vban Audio OutStream + class VbanAudioOutstream < VbanOutstream; end - class VbanMidiOutstream < VbanOutstream; end # Represents a Vban Midi OutStream + class VbanMidiOutstream < VbanOutstream; end class RequestVbanStream def self.for(remote, i, dir) @@ -81,8 +81,8 @@ module Voicemeeter end end + # Base class for Vban type class Base - # Base class for Vban type attr_reader :instream, :outstream def initialize(remote) diff --git a/lib/voicemeeter/worker.rb b/lib/voicemeeter/worker.rb index ca41d17..c0f9f31 100644 --- a/lib/voicemeeter/worker.rb +++ b/lib/voicemeeter/worker.rb @@ -1,7 +1,5 @@ module Voicemeeter module Worker - # Event threads, provides updates to observers - include Logging private @@ -48,7 +46,7 @@ module Voicemeeter public def running? - @producer&.alive? # safe navigation + @producer&.alive? end def init_event_threads