Class: StepSequencer::SoundBuilder::DefaultEffects::Combine
- Inherits:
-
Object
- Object
- StepSequencer::SoundBuilder::DefaultEffects::Combine
- Defined in:
- lib/step_sequencer/sound_builder/default_effects/combine.rb
Class Method Summary collapse
-
.build(sources:, filename: nil) ⇒ Object
This combines the files one after another.
- .generate_outfile_path(sources) ⇒ Object
Class Method Details
.build(sources:, filename: nil) ⇒ Object
This combines the files one after another. To make them overlap, use Overlay
8 9 10 11 12 13 |
# File 'lib/step_sequencer/sound_builder/default_effects/combine.rb', line 8 def self.build(sources:, filename: nil) concat_cmd = "concat:#{sources.join("|")}" outfile = filename || generate_outfile_path(sources) system %{ffmpeg -y -i "#{concat_cmd}" -c copy #{outfile} 2> /dev/null } outfile end |
.generate_outfile_path(sources) ⇒ Object
20 21 22 |
# File 'lib/step_sequencer/sound_builder/default_effects/combine.rb', line 20 def generate_outfile_path(sources) "#{output_dir}/#{SecureRandom.urlsafe_base64}.mp3" end |