From 3e6fe5c4434eb7683fb0c915985072f16177bdf5 Mon Sep 17 00:00:00 2001 From: onyx-and-iris Date: Fri, 14 Jul 2023 01:48:11 +0100 Subject: [PATCH] bug in read_from_yml fixed --- lib/voicemeeter/configs.rb | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/lib/voicemeeter/configs.rb b/lib/voicemeeter/configs.rb index fe4b0d5..06c25e2 100644 --- a/lib/voicemeeter/configs.rb +++ b/lib/voicemeeter/configs.rb @@ -29,24 +29,24 @@ module Voicemeeter aouts = (0...@kind.phys_out).to_h { |i| ["A#{i + 1}", false] } bouts = (0...@kind.virt_out).to_h { |i| ["B#{i + 1}", false] } strip_bools = %w[mute mono solo].to_h { |param| [param, false] } - gain = ["gain"].to_h { |param| [param, 0.0] } + gain = [:gain].to_h { |param| [param, 0.0] } phys_float = %w[comp gate denoiser].to_h { |param| [param, { knob: 0.0 }] } - eq = ["eq"].to_h { |param| [param, { on: false }] } + eq = [:eq].to_h { |param| [param, { on: false }] } - overrides = { "B1" => true } + overrides = { B1: true } # physical strip params phys_strip = (0...@kind.phys_in).to_h do |i| [ "strip-#{i}", - {**aouts,**bouts,**strip_bools,**gain,**phys_float,**eq,**overrides} + {**aouts, **bouts, **strip_bools, **gain, **phys_float, **eq, **overrides} ] end - overrides = { "A1" => true } + overrides = { A1: true } # virtual strip params virt_strip = (@kind.phys_in...@kind.phys_in + @kind.virt_in).to_h do |i| @@ -56,7 +56,7 @@ module Voicemeeter ] end - bus_bools = %w[mute mono].to_h { |param| [param, false] } + bus_bools = %i[mute mono].to_h { |param| [param, false] } bus = (0...@kind.num_bus).to_h do |i| ["bus-#{i}", { **bus_bools, **gain, **eq }] @@ -66,22 +66,26 @@ module Voicemeeter def read_from_yml #stree-ignore - filepaths = [ + configpaths = [ Pathname.getwd.join("configs", @kind.name.to_s), Pathname.new(Dir.home).join(".config", "voicemeeter-rb", @kind.name.to_s), Pathname.new(Dir.home).join("Documents", "Voicemeeter", "configs", @kind.name.to_s) ] - filepaths.each do |pn| - if pn.exist? - logger.debug "checking #{pn} for configs" - configs = pn.glob("*.yml") - configs.each do |config| - filename = (config.basename.sub_ext "").to_s.to_sym - if @configs.key? filename + configpaths.each do |configpath| + if configpath.exist? + logger.debug "checking #{configpath} for configs" + filepaths = configpath.glob("*.yml") + filepaths.each do |filepath| + filename = (filepath.basename.sub_ext "").to_s.to_sym + if configs.key? filename logger.debug "config with name '#{filename}' already in memory, skipping..." next end - @configs[filename] = YAML.load_file(config) + + configs[filename] = YAML.load_file( + filepath, + symbolize_names: true + ) logger.info "#{@kind.name}/#{filename} loaded into memory" end end @@ -92,7 +96,7 @@ module Voicemeeter def build logger.debug "Running #{self}" - @configs[:reset] = build_reset_profile + configs[:reset] = build_reset_profile read_from_yml end end