Sha256: f703315cd7c21689a552a579fccb4f9fa89ac3f5ff4fd969dc4621c17e29b4ce
Contents?: true
Size: 1.04 KB
Versions: 4
Compression:
Stored size: 1.04 KB
Contents
# frozen_string_literal: true module Coltrane # It's totally a wip yet. module ClassicProgressions PROGRESSIONS = { pop: [:major, [1, 5, 6, 4]], fifties: [:major, [1, 6, 4, 5]], blues: [:major, [1, 4, 1, 5, 4, 1]], jazz: [:major, [2, 5, 1]], jazz_minor: [:minor, [2, 5, 1]], andalusian: [:minor, [1, 7, 6, 5]] }.freeze def pop(tone) scale, degrees = PROGRESSIONS[:pop] Scale.public_send(scale, tone).progression(*degrees) end def fifties(tone) scale, degrees = PROGRESSIONS[:fifties] Scale.public_send(scale, tone).progression(*degrees) end def blues(tone) scale, degrees = PROGRESSIONS[:blues] Scale.public_send(scale, tone).progression(*degrees) end def jazz(tone) scale, degrees = PROGRESSIONS[:jazz] Scale.public_send(scale, tone).progression(*degrees) end def andalusian(tone) scale, degrees = PROGRESSIONS[:andalusian] Scale.public_send(scale, tone).progression(*degrees) end end end
Version data entries
4 entries across 4 versions & 1 rubygems