Class: Sox::Combiner::ProcessSubstitutionStrategy
- Inherits:
-
BaseStrategy
- Object
- BaseStrategy
- Sox::Combiner::ProcessSubstitutionStrategy
- Defined in:
- lib/sox/combiner/process_substitution_strategy.rb
Overview
Combines files using process substitution to build and use mediate files. Process substitution is not supported by the standard shell, so we need to pass the final command to bash via shell.
Read more about process substitution: en.wikipedia.org/wiki/Process_substitution
Constant Summary collapse
- MEDIATE_TYPE =
Type of mediate files:
:sox
- MEDIATE_BITS =
Number of bits for mediate files:
32
- MEDIATE_ENCODING =
Encoding of mediate files:
:signed
- SOX_PIPE =
Pseudo file which makes the ‘sox` command write to output to stdout:
'-p'
Constants included from Shell
Instance Method Summary collapse
-
#write(output_file) ⇒ Object
:nodoc:.
Methods inherited from BaseStrategy
#initialize, #output_effects, #output_options
Methods included from Shell
Constructor Details
This class inherits a constructor from Sox::Combiner::BaseStrategy
Instance Method Details
#write(output_file) ⇒ Object
:nodoc:
22 23 24 25 26 27 28 |
# File 'lib/sox/combiner/process_substitution_strategy.rb', line 22 def write(output_file) inputs = @input_files.map { |file| build_input_file(file) } output = Sox::File.new(output_file) cmd = CommandBuilder.new(inputs, output, , output_effects).build bash(cmd) end |