Method: Coltrane::Theory::IntervalClass#initialize
- Defined in:
- lib/coltrane/theory/interval_class.rb
#initialize(arg) ⇒ IntervalClass
Returns a new instance of IntervalClass.
118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/coltrane/theory/interval_class.rb', line 118 def initialize(arg) super case arg when FrequencyInterval then arg.semitones when String self.class.names.index(arg) || self.class.full_names.index(arg) || self.class.all_names_including_compound.index(arg) || self.class.full_names_including_compound.index(arg) when Numeric then arg else raise WrongArgumentsError, 'Provide: [interval] || [name] || [number of semitones]' end % 12 * 100 end |