OSSIA
Open Scenario System for Interactive Application
Loading...
Searching...
No Matches
ossia::telemetry::meter_levels Struct Reference

Levels accumulated over a span of frames. More...

Detailed Description

Levels accumulated over a span of frames.

Public Member Functions

void clear () noexcept
 
void merge (const meter_levels &other) noexcept
 
void assign (const meter_levels &other) noexcept
 Copies what is in use of other: its channels, not the whole capacity.
 
void accumulate (const ossia::audio_vector &chans) noexcept
 
void accumulate (const float *const *chans, int count, std::size_t frames) noexcept
 
bool is_clipped (std::size_t chan) const noexcept
 
float rms (std::size_t chan) const noexcept
 

Public Attributes

uint32_t channels {}
 Widest signal seen. 0 with ticks > 0: the tap ran and carried nothing.
 
uint32_t ticks {}
 How many times the tap was fed. 0: it did not run.
 
uint64_t frames {}
 
std::array< float, max_meter_channels > peak {}
 
std::array< double, max_meter_channels > sum_squares {}
 Per channel, over the frames that channel was there for.
 
std::array< uint32_t, max_meter_channels > channel_frames {}
 
std::array< uint32_t, max_meter_channels/32 > clipped {}