simplifies AudioNode subtype declarations
This commit is contained in:
parent
eabf9717aa
commit
b07230919d
2 changed files with 3 additions and 13 deletions
|
@ -35,9 +35,8 @@ type AudioNode{T<:AudioRenderer}
|
||||||
end_cond::Condition
|
end_cond::Condition
|
||||||
renderer::T
|
renderer::T
|
||||||
|
|
||||||
function AudioNode(renderer::AudioRenderer)
|
AudioNode(renderer::AudioRenderer) = new(true, Condition(), renderer)
|
||||||
new(true, Condition(), renderer)
|
AudioNode(args...) = AudioNode{T}(T(args...))
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function render(node::AudioNode, input::AudioBuf, info::DeviceInfo)
|
function render(node::AudioNode, input::AudioBuf, info::DeviceInfo)
|
||||||
|
|
11
src/nodes.jl
11
src/nodes.jl
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
type NullRenderer <: AudioRenderer end
|
type NullRenderer <: AudioRenderer end
|
||||||
typealias NullNode AudioNode{NullRenderer}
|
typealias NullNode AudioNode{NullRenderer}
|
||||||
NullNode() = NullNode(NullRenderer())
|
|
||||||
export NullNode
|
export NullNode
|
||||||
|
|
||||||
function render(node::NullRenderer, device_input::AudioBuf, info::DeviceInfo)
|
function render(node::NullRenderer, device_input::AudioBuf, info::DeviceInfo)
|
||||||
|
@ -83,11 +82,10 @@ type MixRenderer <: AudioRenderer
|
||||||
buf::AudioBuf
|
buf::AudioBuf
|
||||||
|
|
||||||
MixRenderer(inputs) = new(inputs, AudioSample[])
|
MixRenderer(inputs) = new(inputs, AudioSample[])
|
||||||
|
MixRenderer() = MixRenderer(AudioNode[])
|
||||||
end
|
end
|
||||||
|
|
||||||
typealias AudioMixer AudioNode{MixRenderer}
|
typealias AudioMixer AudioNode{MixRenderer}
|
||||||
AudioMixer{T<:AudioNode}(inputs::Vector{T}) = AudioMixer(MixRenderer(inputs))
|
|
||||||
AudioMixer() = AudioMixer(AudioNode[])
|
|
||||||
export AudioMixer
|
export AudioMixer
|
||||||
|
|
||||||
function render(node::MixRenderer, device_input::AudioBuf, info::DeviceInfo)
|
function render(node::MixRenderer, device_input::AudioBuf, info::DeviceInfo)
|
||||||
|
@ -137,7 +135,6 @@ function render(node::GainRenderer, device_input::AudioBuf, info::DeviceInfo)
|
||||||
end
|
end
|
||||||
|
|
||||||
typealias Gain AudioNode{GainRenderer}
|
typealias Gain AudioNode{GainRenderer}
|
||||||
Gain(in_node::AudioNode, gain::Real) = Gain(GainRenderer(in_node, gain))
|
|
||||||
export Gain
|
export Gain
|
||||||
|
|
||||||
|
|
||||||
|
@ -154,7 +151,6 @@ type ArrayRenderer <: AudioRenderer
|
||||||
end
|
end
|
||||||
|
|
||||||
typealias ArrayPlayer AudioNode{ArrayRenderer}
|
typealias ArrayPlayer AudioNode{ArrayRenderer}
|
||||||
ArrayPlayer(arr::AudioBuf) = ArrayPlayer(ArrayRenderer(arr))
|
|
||||||
export ArrayPlayer
|
export ArrayPlayer
|
||||||
|
|
||||||
function render(node::ArrayRenderer, device_input::AudioBuf, info::DeviceInfo)
|
function render(node::ArrayRenderer, device_input::AudioBuf, info::DeviceInfo)
|
||||||
|
@ -200,7 +196,6 @@ end
|
||||||
|
|
||||||
type WhiteNoiseRenderer <: AudioRenderer end
|
type WhiteNoiseRenderer <: AudioRenderer end
|
||||||
typealias WhiteNoise AudioNode{WhiteNoiseRenderer}
|
typealias WhiteNoise AudioNode{WhiteNoiseRenderer}
|
||||||
WhiteNoise() = WhiteNoise(WhiteNoiseRenderer())
|
|
||||||
export WhiteNoise
|
export WhiteNoise
|
||||||
|
|
||||||
function render(node::WhiteNoiseRenderer, device_input::AudioBuf, info::DeviceInfo)
|
function render(node::WhiteNoiseRenderer, device_input::AudioBuf, info::DeviceInfo)
|
||||||
|
@ -222,7 +217,6 @@ function render(node::InputRenderer, device_input::AudioBuf, info::DeviceInfo)
|
||||||
end
|
end
|
||||||
|
|
||||||
typealias AudioInput AudioNode{InputRenderer}
|
typealias AudioInput AudioNode{InputRenderer}
|
||||||
AudioInput(channel::Int) = AudioInput(InputRenderer(channel))
|
|
||||||
export AudioInput
|
export AudioInput
|
||||||
|
|
||||||
#### Ramp ####
|
#### Ramp ####
|
||||||
|
@ -237,9 +231,6 @@ type LinRampRenderer <: AudioRenderer
|
||||||
end
|
end
|
||||||
|
|
||||||
typealias LinRamp AudioNode{LinRampRenderer}
|
typealias LinRamp AudioNode{LinRampRenderer}
|
||||||
function LinRamp(start::Real, finish::Real, dur::Real)
|
|
||||||
LinRamp(LinRampRenderer(start, finish, dur))
|
|
||||||
end
|
|
||||||
export LinRamp
|
export LinRamp
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue