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

◆ state_for()

FeedbackProcessor::State & MayaFlux::Buffers::FeedbackProcessor::state_for ( const std::shared_ptr< Buffer > &  buffer)
private

Definition at line 233 of file FeedbackBuffer.cpp.

234{
235 auto [found, inserted] = m_states.try_emplace(buffer.get());
236 State& state = found->second;
237
238 if (inserted) {
239 state.coefs = m_coefficients;
240 state.values.assign(m_taps.size(), 0.0);
241 state.window.assign(m_taps.size() + 1, 0.0);
242 state.lag_prev.assign(m_taps.size(), 1.0);
243 state.lag_now.assign(m_taps.size(), 1.0);
244
245 if (auto feedback_buffer = std::dynamic_pointer_cast<FeedbackBuffer>(buffer)) {
246 state.ring = &feedback_buffer->get_history_buffer();
247 } else {
248 state.own.resize(m_capacity);
249 state.ring = &state.own;
250 }
251 }
252
253 return state;
254}
std::shared_ptr< NetworkGeometryBuffer > buffer
std::unordered_map< const Buffer *, State > m_states

References buffer, MayaFlux::Buffers::FeedbackProcessor::State::coefs, MayaFlux::Buffers::FeedbackProcessor::State::lag_now, MayaFlux::Buffers::FeedbackProcessor::State::lag_prev, m_capacity, m_coefficients, m_states, m_taps, MayaFlux::Buffers::FeedbackProcessor::State::own, MayaFlux::Memory::HistoryBuffer< T >::resize(), MayaFlux::Buffers::FeedbackProcessor::State::ring, MayaFlux::Buffers::FeedbackProcessor::State::values, and MayaFlux::Buffers::FeedbackProcessor::State::window.

Referenced by on_attach(), and processing_function().

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