dtas.git  about / heads / tags
duct tape audio suite for *nix
blob d38b44febcbbf2f6ccb8e6b31ddccf298bebc2d5 704 bytes (raw)
$ git show mpd:lib/dtas/parse_freq.rb	# shows this blob on the CLI

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
# Copyright (C) 2015-2016 all contributors <dtas-all@nongnu.org>
# License: GPL-3.0+ (https://www.gnu.org/licenses/gpl-3.0.txt)
# frozen_string_literal: true
require_relative '../dtas'
module DTAS::ParseFreq # :nodoc:

  # may return a negative frequency meaning lowpass
  def parse_freq(val, round = true)
    case val
    when String
      val = val.dup
      mult = val.sub!(/k\z/, '') ? 1000 : 1
      val = (val.to_f * mult)
    when Numeric
      val
    else
      raise ArgumentError, "non-numeric value given"
    end

    case round
    when true, :int
      val.round
    when :float
      val.to_f
    else
      raise ArgumentError, "usage: parse_freq(val, (true|:round))"
    end
  end
end

git clone git://80x24.org/dtas.git
git clone https://80x24.org/dtas.git