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

◆ generate_keyed()

void MayaFlux::Buffers::LogicProcessor::generate_keyed ( size_t  num_samples,
const std::vector< double > &  input_data 
)
private

Definition at line 85 of file LogicProcessor.cpp.

86{
87 lock_keys();
88
89 const size_t available = input_data.size();
90 m_slots.assign(m_live_keys.size() + 1, 0.0);
91
92 for (size_t i = 0; i < num_samples; ++i) {
93 for (size_t k = 0; k < m_live_keys.size(); ++k) {
94 const auto& key = m_live_keys[k];
95 m_slots[k] = (key && i < key->get_data().size()) ? key->get_data()[i] : 0.0;
96 }
97 m_slots.back() = i < available ? input_data[i] : 0.0;
98 m_logic_data[i] = m_logic->process_multi_input(m_slots);
99 }
100}
bool available
Definition VKDevice.cpp:41
std::vector< double > m_slots
Input slots handed to the node.
std::vector< double > m_logic_data
Stored logic processing results.
std::shared_ptr< Nodes::Generator::Logic > m_logic
Logic node for processing.
std::vector< std::shared_ptr< AudioBuffer > > m_live_keys
Keys locked for the current block.

References available, lock_keys(), m_live_keys, m_logic, m_logic_data, and m_slots.

Referenced by generate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: