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