class Neve::ECASound::Mix

Public Class Methods

new(directory, configuration) click to toggle source
# File lib/neve/eca_sound/mix.rb, line 6
def initialize(directory, configuration)
  @directory, @configuration = directory, configuration
end

Public Instance Methods

to_s() click to toggle source
# File lib/neve/eca_sound/mix.rb, line 10
def to_s
  [
    ecasound,
    mix,
    output
  ].join
end

Private Instance Methods

ecasound() click to toggle source
# File lib/neve/eca_sound/mix.rb, line 20
def ecasound
  'ecasound '
end
mix() click to toggle source
# File lib/neve/eca_sound/mix.rb, line 24
def mix
  tracks.each_with_index.inject('') do |string, (track, i)|
    string << "-a:#{i+1} -i #{track} "
  end
end
output() click to toggle source
# File lib/neve/eca_sound/mix.rb, line 30
def output
  "-a:#{track_list} -o #{@directory}.wav"
end
track_list() click to toggle source
# File lib/neve/eca_sound/mix.rb, line 34
def track_list
  (1..tracks.size).to_a.join(',')
end
tracks() click to toggle source
# File lib/neve/eca_sound/mix.rb, line 38
def tracks
  @tracks ||= @configuration.map do |track, options|
    Track.new(@directory, track, options)
  end
end