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

◆ get_node_data()

std::vector< double > MayaFlux::Buffers::NodeSourceProcessor::get_node_data ( uint32_t  num_samples)
private

Gets a batch of data from the node.

Parameters
num_samplesNumber of samples to retrieve
Returns
Vector of data samples

This method handles the interaction with the node's processing mechanism, ensuring thread-safe access and proper state management.

Definition at line 40 of file NodeBuffer.cpp.

41{
42 std::vector<double> output(num_samples);
43 const auto& state = m_node->m_state.load();
44
45 if (state == Utils::NodeState::INACTIVE) {
46 for (size_t i = 0; i < num_samples; i++) {
47 output[i] = m_node->process_sample(0.F);
48 }
49 } else {
50 m_node->save_state();
51 for (size_t i = 0; i < num_samples; i++) {
52 output[i] = m_node->process_sample(0.F);
53 }
54 m_node->restore_state();
55 }
56
57 return output;
58}
std::shared_ptr< Nodes::Node > m_node
Source node that generates sequential data values.
@ INACTIVE
Engine is not processing this node.
Definition Utils.hpp:29

References MayaFlux::Utils::INACTIVE, and m_node.