Class: Deftones::Core::Gain

Inherits:
AudioNode
  • Object
show all
Defined in:
lib/deftones/core/gain.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(gain: 1.0, context: Deftones.context) ⇒ Gain

Returns a new instance of Gain.



8
9
10
11
# File 'lib/deftones/core/gain.rb', line 8

def initialize(gain: 1.0, context: Deftones.context)
  super(context: context)
  @gain = Signal.new(value: gain, units: :number, context: context)
end

Instance Attribute Details

#gainObject

Returns the value of attribute gain.



6
7
8
# File 'lib/deftones/core/gain.rb', line 6

def gain
  @gain
end

Instance Method Details

#multichannel_process?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/deftones/core/gain.rb', line 17

def multichannel_process?
  true
end

#process(input_block, num_frames, start_frame, _cache) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/deftones/core/gain.rb', line 21

def process(input_block, num_frames, start_frame, _cache)
  gain_values = @gain.process(num_frames, start_frame)
  AudioBlock.from_channel_data(
    input_block.channel_data.map do |channel|
      Array.new(num_frames) { |index| channel[index] * gain_values[index] }
    end
  )
end