Class: Browser::Audio::ParamSchedule

Inherits:
Object
  • Object
show all
Includes:
Native::Wrapper
Defined in:
opal/browser/audio/param_schedule.rb

Instance Method Summary collapse

Constructor Details

#initialize(audio_param, time = nil) ⇒ ParamSchedule

Returns a new instance of ParamSchedule.



9
10
11
12
13
# File 'opal/browser/audio/param_schedule.rb', line 9

def initialize(audio_param, time = nil)
  @time = time
  @audio_param = audio_param
  super Native.convert(audio_param)
end

Instance Method Details

#at(time) ⇒ Object



15
16
17
# File 'opal/browser/audio/param_schedule.rb', line 15

def at(time)
  new(@audio_param, time)
end

#curve(values, time_hash) ⇒ Object



39
40
41
# File 'opal/browser/audio/param_schedule.rb', line 39

def curve(values, time_hash)
  `#@native.setValueCurveAtTime(values, #{time_hash[:start_time]}, #{time_hash[:time_constant]})`
end

#exponential_ramp_to(value = nil, time = nil) ⇒ Object



30
31
32
33
# File 'opal/browser/audio/param_schedule.rb', line 30

def exponential_ramp_to(value = nil, time = nil)
  `#@native.exponentialRampToValueAtTime(#{@value || value}, #{@time || time})`
  self
end

#linear_ramp_to(value = nil, time = nil) ⇒ Object



25
26
27
28
# File 'opal/browser/audio/param_schedule.rb', line 25

def linear_ramp_to(value = nil, time = nil)
  `#@native.linearRampToValueAtTime(#{@value || value}, #{@time || time})`
  self
end

#target(target, time_hash) ⇒ Object



35
36
37
# File 'opal/browser/audio/param_schedule.rb', line 35

def target(target, time_hash)
  `#@native.setTargetAtTime(target, #{time_hash[:start_time]}, #{time_hash[:time_constant]})`
end

#value(value, time = nil) ⇒ Object



19
20
21
22
23
# File 'opal/browser/audio/param_schedule.rb', line 19

def value(value, time = nil)
  @value = value
  `#@native.setValueAtTime(#{@value}, #{@time || time})`
  self
end