MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ WaveguideNetwork()

MayaFlux::Nodes::Network::WaveguideNetwork::WaveguideNetwork ( WaveguideType  type,
double  fundamental_freq,
double  sample_rate = 48000.0 
)

Create waveguide network with specified type and frequency.

Parameters
typePhysical structure to model
fundamental_freqFundamental frequency in Hz
sample_rateSample rate in Hz

Definition at line 13 of file WaveguideNetwork.cpp.

17 : m_type(type)
18 , m_fundamental(fundamental_freq)
19{
20 m_sample_rate = static_cast<uint32_t>(sample_rate);
23
25
26 const auto prop_mode = (m_type == WaveguideType::TUBE)
28 : WaveguideSegment::PropagationMode::UNIDIRECTIONAL;
29
30 m_segments.emplace_back(m_delay_length_integer + 2, prop_mode);
31
33}
virtual void set_topology(Topology topology)
Set the network's topology.
void set_output_mode(OutputMode mode)
Set the network's output routing mode.
@ TUBE
Cylindrical bore (future: clarinet, flute)
std::vector< WaveguideSegment > m_segments
@ RING
Circular: last node connects to first.
@ AUDIO_SINK
Aggregated audio samples sent to output.

References MayaFlux::Nodes::Network::AUDIO_SINK, MayaFlux::Nodes::Network::WaveguideNetwork::WaveguideSegment::BIDIRECTIONAL, compute_delay_length(), create_default_loop_filter(), m_delay_length_integer, MayaFlux::Nodes::Network::NodeNetwork::m_sample_rate, m_segments, m_type, MayaFlux::Nodes::Network::RING, MayaFlux::Nodes::Network::NodeNetwork::set_output_mode(), MayaFlux::Nodes::Network::NodeNetwork::set_topology(), TUBE, and MayaFlux::Nodes::Network::WaveguideNetwork::WaveguideSegment::UNIDIRECTIONAL.

+ Here is the call graph for this function: