View-side bindings for the paint-safe host→view channels in value_source.hpp. More...
Go to the source code of this file.
Classes | |
| class | pulp::view::FrameClockBinding |
| Subscription lifecycle for a view that pulls a value once per frame. More... | |
| class | pulp::view::MeterSourceBinding |
| Binds a MeterSource channel and caches the latest frame for paint. More... | |
| class | pulp::view::ScalarSourceBinding |
| Binds a ScalarSource and caches the latest value for paint. More... | |
Namespaces | |
| namespace | pulp |
| namespace | pulp::view |
| Hover-cursor tracking for platform window hosts. | |
View-side bindings for the paint-safe host→view channels in value_source.hpp.
A view that shows a live host value (a meter, a readout, a modulation ring) needs the same three things every time: subscribe to the reachable FrameClock, re-point that subscription when the clock changes, and tear it down without dangling when the view or the clock goes away. These types are that machinery, so a view binds a source instead of re-rolling the lifecycle.
Threading: the host publishes on the audio/host thread; everything here runs on the UI thread. Each binding snapshots its source once per frame on the clock callback and exposes the snapshot to paint() — the same "snapshot at tick, paint from the snapshot" discipline HostParamSurface enforces. A paint-time read is then a plain member read: no lock, no allocation, no atomic.