Sha256: 33d507f5fe059c91d5980a5e966a708afe2613f404297163a6113fe29ef6c829

Contents?: true

Size: 422 Bytes

Versions: 20

Compression:

Stored size: 422 Bytes

Contents

class Numeric

  #:doc:
  #
  # +semitopch+: semitone to pitch class converter
  #
  # interprets its receiver as a semitone quantity (starting from 0 at
  # pitch class 0.00) and returns its corresponing pitch class
  #
  #:nodoc:

  def semitopch

    oct  = (self / CNPO).to_i
    semi = self - (oct * CNPO)
    semi %= CNPO
    semi = (self >= 0.0) ? semi : -((CNPO - semi) % CNPO)

    oct + (semi / PCC)

  end

end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
ruby-mext-0.18.2 lib/mext/numeric/semitopch.rb
ruby-mext-0.18.1 lib/mext/numeric/semitopch.rb
ruby-mext-0.18.0 lib/mext/numeric/semitopch.rb
ruby-mext-0.17.0 lib/mext/numeric/semitopch.rb
ruby-mext-0.16.2 lib/mext/numeric/semitopch.rb
ruby-mext-0.16.1 lib/mext/numeric/semitopch.rb
ruby-mext-0.16.0 lib/mext/numeric/semitopch.rb
ruby-mext-0.15.3 lib/mext/numeric/semitopch.rb
ruby-mext-0.15.2 lib/mext/numeric/semitopch.rb
ruby-mext-0.15.1 lib/mext/numeric/semitopch.rb
ruby-mext-0.15.0 lib/mext/numeric/semitopch.rb
ruby-mext-0.14.0 lib/mext/numeric/semitopch.rb
ruby-mext-0.13.1 lib/mext/numeric/semitopch.rb
ruby-mext-0.13.0 lib/mext/numeric/semitopch.rb
ruby-mext-0.12.1 lib/mext/numeric/semitopch.rb
ruby-mext-0.12.0 lib/mext/numeric/semitopch.rb
ruby-mext-0.11.1 lib/mext/numeric/semitopch.rb
ruby-mext-0.11.0 lib/mext/numeric/semitopch.rb
ruby-mext-0.10.1 lib/mext/numeric/semitopch.rb
ruby-mext-0.10.0 lib/mext/numeric/semitopch.rb