Method: Interval::Interval#to_long_name

Defined in:
lib/interval.rb

#to_long_nameObject



288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
# File 'lib/interval.rb', line 288

def to_long_name
  short_modifier = case self.interval 
  when 2, 3, 6, 7  
    {-2 => "d", -1 => "m", 0 => "M", 1 => "a"}[self.mod]
  when 1, 4, 5, 8  
    {-1 => "d",  0 => "p", 1 => "a"}[self.mod]
  else
    raise "unknown interval"
  end

  long_modifier = QUALITY_LONG_NAMES[short_modifier]
  size = SIZE_LONG_NAMES[self.interval]
  size = "Octave" if interval == 1 && octave > 0 

  # tritone (diminished fifth) has the following: todo
  #<Interval::Interval:0x2efa90 @mod=0, @interval=5, @octave=0, @direction=1>

  return "%s %s" % [long_modifier, size]

end