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

◆ notify_tick()

void MayaFlux::Nodes::Input::TabletNode::notify_tick ( double  value)
overrideprotectedvirtual

Fires the hooks for one delivered input.

Called only from process_input(), so every hook runs on the thread that delivers input and never on the graph thread. process_sample() only advances smoothing and does not notify. The context, previous-value and range state are therefore owned by the input thread, and Node::m_last_output by the graph thread.

Reimplemented from MayaFlux::Nodes::Input::InputNode.

Definition at line 56 of file TabletNode.cpp.

57{
59
60 if (!m_frame_pending.exchange(false, std::memory_order_acq_rel)) {
61 return;
62 }
63
65
67 fire_edges();
68
69 m_previous_state = static_cast<uint32_t>(m_frame[Core::TabletFrame::STATE]);
70}
glm::vec3 value
void notify_tick(double value) override
Fires the hooks for one delivered input.
std::array< double, Core::TabletFrame::SLOT_COUNT > m_frame
std::atomic< bool > m_frame_pending
void fire(const HookList &callbacks)
void update_context(double value) override
Update context after processing.
@ STATE
TabletState bitmask.

References fire(), fire_edges(), m_frame, m_frame_callbacks, m_frame_pending, m_previous_state, MayaFlux::Nodes::Input::InputNode::notify_tick(), MayaFlux::Core::TabletFrame::STATE, update_context(), and value.

+ Here is the call graph for this function: