lib/scissor/chunk.rb in youpy-scissor-0.0.18 vs lib/scissor/chunk.rb in youpy-scissor-0.0.19

- old
+ new

@@ -1,9 +1,10 @@ require 'digest/md5' require 'pathname' require 'open4' require 'logger' +require 'temp_dir' module Scissor class Chunk @logger = Logger.new(STDOUT) @logger.level = Logger::INFO @@ -191,16 +192,16 @@ raise FileExists end end position = 0.0 - tmpdir = Pathname.new('/tmp/scissor-' + $$.to_s) - tmpdir.mkpath - tmpfile = tmpdir + 'tmp.wav' - cmd = %w/ecasound/ - begin + TempDir.create do |dir| + tmpdir = Pathname.new(dir) + tmpfile = tmpdir + 'tmp.wav' + cmd = %w/ecasound/ + @fragments.each_with_index do |fragment, index| fragment_filename = fragment.filename fragment_duration = fragment.duration if !index.zero? && (index % 80).zero? @@ -232,11 +233,9 @@ if filename.extname == '.wav' File.rename(tmpfile, filename) else run_command("ffmpeg -i \"#{tmpfile}\" \"#{filename}\"") end - ensure - tmpdir.rmtree end self.class.new(filename) end