From 7a43e7b2f7b483c0aee9cf01b8a15778dee69d5b Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 3 Jan 2015 01:09:02 +0000 Subject: splitfx: add INDIR and INBASE environment variables These are intended to act like `$(@D)' and `$(@F)' in GNU make(1) and to ease managing temporary files for some effects (e.g. noiseprof + noisered in sox) for splitfx users. --- lib/dtas/source/splitfx.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'lib/dtas/source/splitfx.rb') diff --git a/lib/dtas/source/splitfx.rb b/lib/dtas/source/splitfx.rb index 5340f3d..19b2c16 100644 --- a/lib/dtas/source/splitfx.rb +++ b/lib/dtas/source/splitfx.rb @@ -7,7 +7,7 @@ require_relative 'watchable' class DTAS::Source::SplitFX < DTAS::Source::Sox # :nodoc: MAX_YAML_SIZE = 512 * 1024 - attr_writer :sox + attr_writer :sox, :sfx include DTAS::Source::Watchable if defined?(DTAS::Source::Watchable) SPLITFX_DEFAULTS = SOX_DEFAULTS.merge( @@ -45,6 +45,7 @@ class DTAS::Source::SplitFX < DTAS::Source::Sox # :nodoc: rv = source_file_dup(ymlfile, offset) rv.sox = sox rv.env = sfx.env + rv.sfx = sfx rv rescue => e warn "#{e.message} (#{e.class})" @@ -62,7 +63,7 @@ class DTAS::Source::SplitFX < DTAS::Source::Sox # :nodoc: def spawn(player_format, rg_state, opts) raise "BUG: #{self.inspect}#spawn called twice" if @to_io e = @env.merge!(player_format.to_env) - e["INFILE"] = @sox.infile + @sfx.infile_env(e, @sox.infile) # make sure these are visible to the "current" command... e["TRIMFX"] = @offset ? "trim #@offset" : nil -- cgit v1.2.3-24-ge0c7