module Midi::Chord
Public Instance Methods
to_bin(key)
click to toggle source
# File lib/kuromusic/IO/MIDI/Chord.rb, line 7 def to_bin(key) predur = 0 ons = [] offs = [] maxdur = 0 @notes.sort {|a, b| a.dur <=> b.dur }.each {|n| ons += [::Event::Note::rest(0), n.get_on_event(key)] maxdur = n.dur if maxdur < n.dur }.each {|n| currentdur = n.dur - predur offs += [::Event::Note::rest(currentdur), n.get_off_event(key)] predur = n.dur } (ons + offs).map {|e| e.extend(Midi::Event) e.to_bin }.flatten! end