Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::dataplane::ScalarSource Class Reference

Lock-free scalar channel: a single paint-safe cached number (a readout value, a modulation ring's base→modulated position). More...

#include <value_source.hpp>

Public Member Functions

 ~ScalarSource ()
void publish (float value)
 Publish the latest value from the writer (audio/host) thread.
float read ()
 Read the latest value from the reader (UI) thread.
void note_publish () noexcept
 Writer (audio/host) thread, from publish().
std::uint32_t publish_seq () const noexcept
 Reader (UI) thread. Changes iff the writer published since the last read.

Friends

class ValueChannelSet

Detailed Description

Lock-free scalar channel: a single paint-safe cached number (a readout value, a modulation ring's base→modulated position).

Same one-writer/one-reader contract as MeterSource.

Constructor & Destructor Documentation

◆ ~ScalarSource()

pulp::dataplane::ScalarSource::~ScalarSource ( )

Member Function Documentation

◆ note_publish()

void pulp::dataplane::PublishCounter::note_publish ( )
inlinenoexceptinherited

Writer (audio/host) thread, from publish().

Relaxed: the counter orders no other memory, it only has to be monotonic and eventually visible.

◆ publish()

void pulp::dataplane::ScalarSource::publish ( float value)

Publish the latest value from the writer (audio/host) thread.

◆ publish_seq()

std::uint32_t pulp::dataplane::PublishCounter::publish_seq ( ) const
inlinenoexceptinherited

Reader (UI) thread. Changes iff the writer published since the last read.

◆ read()

float pulp::dataplane::ScalarSource::read ( )

Read the latest value from the reader (UI) thread.

◆ ValueChannelSet

friend class ValueChannelSet
friend

The documentation for this class was generated from the following file:
  • /home/runner/work/pulp/pulp/core/dataplane/include/pulp/dataplane/value_source.hpp