Class: Beats::Transforms::SongSwinger

Inherits:
Object
  • Object
show all
Defined in:
lib/beats/transforms/song_swinger.rb

Class Method Summary collapse

Class Method Details

.transform(song, swing_rate) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/beats/transforms/song_swinger.rb', line 6

def self.transform(song, swing_rate)
  validate_swing_rate(swing_rate)

  song.patterns.values.each do |pattern|
    pattern.tracks.values.each do |track|
      original_rhythm = track.rhythm

      if swing_rate == 8
        track.rhythm = swing_8(track.rhythm)
      elsif swing_rate == 16
        track.rhythm = swing_16(track.rhythm)
      end
    end
  end

  song.tempo *= 1.5

  song
end