class Melodie
Attributes
analyse[R]
dessinMelodique[R]
dessinRythmique[R]
Public Class Methods
new()
click to toggle source
# File lib/rubySC/melodie/melodie.rb, line 11 def initialize @@nbMel=0 @analyse={} @dessinMelodique = creerMelodie self.analyser @dessinRythmique = self.creerRythme end
Public Instance Methods
analyser()
click to toggle source
# File lib/rubySC/melodie/melodie.rb, line 32 def analyser @analyse["motifs"]=squeletteMotivique @dessinMelodique @analyse["intervalles"]=squeletteIntervallique @dessinMelodique end
creerRythme(options={:intervalles=>1, :motifs=>1})
click to toggle source
# File lib/rubySC/melodie/melodie.rb, line 41 def creerRythme options={:intervalles=>1, :motifs=>1} tmp=[] l=lambda {|x| unless options[x].nil? tmp<<@analyse[x.to_s].map(&options[x].method(:*)) end} options.each { |k,v| l.call k } result=[] (@dessinMelodique.size-1).times do |i| result << tmp.map{ |row| row[i] }.reduce(&:+) end return result end
detectDoublons()
click to toggle source
# File lib/rubySC/melodie/melodie.rb, line 81 def detectDoublons @dessinMelodique.map.with_index(1) { |e, i| unless i==@dessinMelodique.size @dessinMelodique[i] - @dessinMelodique[i-1] == 0 ? true : false end }[0..-2] end
enclencher(instrument="default")
click to toggle source
# File lib/rubySC/melodie/melodie.rb, line 23 def enclencher instrument="default" p "instrument sera #{instrument}" @@nbMel+=1 Voix.new "melodie#{@@nbMel}", ({:instrument => instrument, :degree => @dessinMelodique, :dur => @dessinRythmique}) end
inter()
click to toggle source
quelques raccourcis
# File lib/rubySC/melodie/melodie.rb, line 68 def inter intervalles @dessinMelodique end
interAbs()
click to toggle source
# File lib/rubySC/melodie/melodie.rb, line 72 def interAbs intervallesAbs @dessinMelodique end
interRel(note=0)
click to toggle source
# File lib/rubySC/melodie/melodie.rb, line 76 def interRel note=0 intervallesMel @dessinMelodique, note end
vitesse()
click to toggle source
# File lib/rubySC/melodie/melodie.rb, line 61 def vitesse end