Loading...
Searching...
No Matches

Classes

struct  state_deleter
 
struct  worker_t
 

Public Types

using Layer = Ui::Loudness::Layer
 

Public Member Functions

 halp_meta (name, "Loudness") halp_meta(c_name
 
LoudnessMeter halp_meta (category, "Monitoring/Audio") halp_meta(author
 
LoudnessMeter ossia libebur128 (Jan Kokemüller)") halp_meta(manual_url
 
LoudnessMeter ossia halp_meta (description, "Loudness per ITU-R BS.1770 and EBU R128: momentary, short-term and " "integrated loudness, loudness range and true peak") halp_meta(uuid
 
LoudnessMeter ossia a39302dc b849 halp_flag (fully_custom_item)
 
void prepare (halp::setup s)
 
void start ()
 Playback started: a new programme.
 
void map_channels (int nch)
 
void request_recycle ()
 
bool clear () noexcept
 Starts over with a spare state; false when none is ready yet.
 
void operator() (int frames)
 

Public Attributes

LoudnessMeter ossia score
 
struct { 
 
   halp::dynamic_audio_bus<"Audio", double >   audio 
 
struct range 
 
      mode 
 
      standard 
 
      custom 
 
      scale 
 
      relative 
 
      running 
 
   halp::impulse_button<"Reset">   reset 
 
      follow 
 
      layout 
 
} inputs 
 
struct { 
 
   halp::val_port<"Momentary", float >   momentary 
 
   halp::val_port<"Short-term", float >   short_term 
 
   halp::val_port<"Integrated", float >   integrated 
 
      range 
 
      true_peak 
 
} outputs 
 
std::shared_ptr< LoudnessMonitor > monitor = std::make_shared<LoudnessMonitor>()
 
struct Ui::Loudness::Node::worker_t worker
 
std::unique_ptr< ebur128_state, state_deleter > state
 
std::vector< double > interleaved = std::vector<double>(std::size_t(block_frames) * max_channels)
 
std::array< ossia::meters::true_peak, max_channels > tp
 
std::array< double, max_channels > tp_max {}
 Highest true peak of each channel since the last reset, linear.
 
int mapped_channels {-1}
 
Ui::Monitor::ChannelLayout mapped_layout {}
 
double rate {}
 
double since_readings {}
 
bool restart {}
 
bool reset_pending {}
 A reset waits for a spare state: until one is ready, nothing is measured.
 
Readings readings
 

Static Public Attributes

static constexpr int block_frames = 512
 

Member Function Documentation

◆ prepare()

void Ui::Loudness::Node::prepare ( halp::setup  s)
inline

Also called on the execution thread when the channel count changes: the states measure max_channels whatever the input, so only a new rate rebuilds them.

Member Data Documentation

◆ state

std::unique_ptr<ebur128_state, state_deleter> Ui::Loudness::Node::state

Measures every channel up to max_channels: unused ones are switched off rather than the state rebuilt, which would allocate


The documentation for this struct was generated from the following file: