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

◆ get_metadata()

std::unordered_map< std::string, std::string > MayaFlux::Nodes::ModalNetwork::get_metadata ( ) const
overridevirtual

Get network metadata for debugging/visualization.

Returns
Map of property names to string representations

Subclasses can override to expose internal state:

  • Particle count, average velocity
  • Modal frequencies, decay times
  • Waveguide delay lengths etc.

Reimplemented from MayaFlux::Nodes::NodeNetwork.

Definition at line 305 of file ModalNetwork.cpp.

306{
307 auto metadata = NodeNetwork::get_metadata();
308
309 metadata["fundamental"] = std::to_string(m_fundamental) + " Hz";
310 metadata["spectrum"] = [this]() {
311 switch (m_spectrum) {
313 return "HARMONIC";
315 return "INHARMONIC";
317 return "STRETCHED";
318 case Spectrum::CUSTOM:
319 return "CUSTOM";
320 default:
321 return "UNKNOWN";
322 }
323 }();
324 metadata["decay_multiplier"] = std::to_string(m_decay_multiplier);
325
326 double avg_amplitude = 0.0;
327 for (const auto& mode : m_modes) {
328 avg_amplitude += mode.amplitude;
329 }
330 avg_amplitude /= m_modes.size();
331 metadata["avg_amplitude"] = std::to_string(avg_amplitude);
332
333 return metadata;
334}
@ STRETCHED
Piano-like stiffness: f, 2.01f, 3.02f, 4.04f...
@ INHARMONIC
Bell-like: f, 2.76f, 5.40f, 8.93f, 13.34f...
@ CUSTOM
User-provided frequency ratios.
@ HARMONIC
Integer harmonics: f, 2f, 3f, 4f...
std::vector< ModalNode > m_modes
virtual std::unordered_map< std::string, std::string > get_metadata() const
Get network metadata for debugging/visualization.

References CUSTOM, MayaFlux::Nodes::NodeNetwork::get_metadata(), HARMONIC, INHARMONIC, m_decay_multiplier, m_fundamental, m_modes, m_spectrum, and STRETCHED.

+ Here is the call graph for this function: