Class: StepSequencer::SoundBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/step_sequencer/sound_builder.rb

Defined Under Namespace

Classes: DefaultEffects, EffectsComponentProtocol

Constant Summary collapse

OutputDir =

Check the ENV config for an output dir, otherwise use a default one

ENV.fetch(
  "STEP_SEQUENCER_OUTPUT_DIR",
  "./.step_sequencer/generated"
).tap do |path|
  `mkdir -p #{path}`
  raise(
    StandardError,
    "#{path} dir couldn't be created/found. Maybe create it manually."
  ) unless File.directory?(path)
end

Class Method Summary collapse

Class Method Details

.build(sources:, effect:, args: [{}]) ⇒ Object



15
16
17
18
# File 'lib/step_sequencer/sound_builder.rb', line 15

def self.build(sources:, effect:, args: [{}])
  effect_class = effects_components[effect]
  effect_class.build({sources: sources}.merge *args)
end

.effects_componentsObject



22
23
24
# File 'lib/step_sequencer/sound_builder.rb', line 22

def effects_components
  StepSequencer::SoundBuilder::EffectsComponents
end