101 for (uint32_t i = 0; i < n_midi; ++i, ++n) {
108 const float this_vel = ev.
buffer()[2] / 127.0;
109 if (this_vel > val) {
130 for (uint32_t i = 0; i < n_audio; ++i, ++n) {
144 _peak_power[n] = -std::numeric_limits<float>::infinity();
150 _peak_power[n] = -std::numeric_limits<float>::infinity();
174 for (uint32_t i = n; i <
_peak_power.size(); ++i) {
175 _peak_power[i] = -std::numeric_limits<float>::infinity();
193 _peak_power[i] = -std::numeric_limits<float>::infinity();
199 for (
size_t n = 0; n <
_kmeter.size(); ++n) {
258 uint32_t
const limit = chn.
n_total();
259 const size_t n_audio = chn.
n_audio();
269 _peak_power.push_back(-std::numeric_limits<float>::infinity());
278 while (
_kmeter.size() > n_audio) {
288 while (
_kmeter.size() < n_audio) {
294 assert(
_kmeter.size() == n_audio);
308 #define CHECKSIZE(MTR) (n < MTR.size() + n_midi && n >= n_midi)
380 for (
size_t n = 0; n < n_audio; ++n) {
386 for (
size_t n = 0; n < n_audio; ++n) {
392 for (
size_t n = 0; n < n_audio; ++n) {
398 for (
size_t n = 0; n < n_audio; ++n) {
std::vector< float > _peak_buffer
framecnt_t nominal_frame_rate() const
ARDOUR::Session & _session
std::vector< Kmeterdsp * > _kmeter
void set_max_channels(const ChanCount &)
MidiBuffer & get_midi(size_t i)
void reflect_inputs(const ChanCount &in)
LIBARDOUR_API compute_peak_t compute_peak
static void init(int fsamp)
PBD::Signal2< void, ChanCount, ChanCount > ConfigurationChanged
AudioBuffer & get_audio(size_t i)
static float accurate_coefficient_to_dB(float coeff)
std::vector< Vumeterdsp * > _vumeter
static void init(float fsamp)
LIBARDOUR_API RCConfiguration * Config
static float minus_infinity(void)
void set_type(MeterType t)
virtual bool configure_io(ChanCount in, ChanCount out)
void run(BufferSet &bufs, framepos_t start_frame, framepos_t end_frame, pframes_t nframes, bool)
static void init(float fsamp)
bool configure_io(ChanCount in, ChanCount out)
static void init(float fsamp)
std::vector< float > _peak_power
XMLProperty * add_property(const char *name, const std::string &value)
std::vector< Iec2ppmdsp * > _iec2meter
XMLNode & state(bool full)
const ChanCount & count() const
virtual XMLNode & state(bool full)
float meter_level(uint32_t n, MeterType type)
bool can_support_io_configuration(const ChanCount &in, ChanCount &out)
std::vector< float > _max_peak_signal
PBD::Signal1< void, MeterType > TypeChanged
const uint8_t * buffer() const
void emit_configuration_changed()
const Sample * data(framecnt_t offset=0) const
std::vector< Iec1ppmdsp * > _iec1meter
std::string string_compose(const std::string &fmt, const T1 &o1)