Method: Sox::Combiner::TmpFileStrategy#write

Defined in:
lib/sox/combiner/tmp_file_strategy.rb

#write(output_file) ⇒ Object

:nodoc:



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/sox/combiner/tmp_file_strategy.rb', line 15

def write(output_file)
  tmp_files = []

  @input_files.each do |input_file|
    tmp_output_file = gen_tmp_filename
    tmp_files << tmp_output_file

    cmd = build_convert_command(input_file, tmp_output_file)
    sh(cmd)
  end

  cmd = build_output_command(tmp_files, output_file)
  sh(cmd)
ensure
  # Remove temporary files
  tmp_files.each { |file| FileUtils.rm(file) if ::File.exists?(file) }
end