summaryrefslogtreecommitdiff
path: root/libs/ardour/meter.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-15 16:07:37 +0200
committerRobin Gareus <robin@gareus.org>2013-07-15 16:07:37 +0200
commitd80f672e8487f459d76ab291958bffcded08f0fd (patch)
treec5b2e432fbc2205e14891cc1eef85bfd4c4067b6 /libs/ardour/meter.cc
parentce621d1c8a600853be0020942a9664ccee0ab165 (diff)
Revert new meter types (postponed until after 3.3 release)
This reverts commit ce621d1c8a600853be0020942a9664ccee0ab165. This reverts commit 80aa2574819e947668092c660d767e25a661c6f1.
Diffstat (limited to 'libs/ardour/meter.cc')
-rw-r--r--libs/ardour/meter.cc93
1 files changed, 11 insertions, 82 deletions
diff --git a/libs/ardour/meter.cc b/libs/ardour/meter.cc
index 383a5bdfad..f239a1c4b7 100644
--- a/libs/ardour/meter.cc
+++ b/libs/ardour/meter.cc
@@ -40,22 +40,13 @@ PeakMeter::PeakMeter (Session& s, const std::string& name)
: Processor (s, string_compose ("meter-%1", name))
{
Kmeterdsp::init(s.nominal_frame_rate());
- Iec1ppmdsp::init(s.nominal_frame_rate());
- Iec2ppmdsp::init(s.nominal_frame_rate());
- Vumeterdsp::init(s.nominal_frame_rate());
}
PeakMeter::~PeakMeter ()
{
while (_kmeter.size() > 0) {
delete (_kmeter.back());
- delete (_iec1meter.back());
- delete (_iec2meter.back());
- delete (_vumeter.back());
_kmeter.pop_back();
- _iec1meter.pop_back();
- _iec2meter.pop_back();
- _vumeter.pop_back();
}
}
@@ -109,15 +100,6 @@ PeakMeter::run (BufferSet& bufs, framepos_t /*start_frame*/, framepos_t /*end_fr
if (_meter_type & MeterKrms) {
_kmeter[i]->process(bufs.get_audio(i).data(), nframes);
}
- if (_meter_type & MeterIEC1) {
- _iec1meter[i]->process(bufs.get_audio(i).data(), nframes);
- }
- if (_meter_type & MeterIEC2) {
- _iec2meter[i]->process(bufs.get_audio(i).data(), nframes);
- }
- if (_meter_type & MeterVU) {
- _vumeter[i]->process(bufs.get_audio(i).data(), nframes);
- }
}
// Zero any excess peaks
@@ -185,9 +167,6 @@ PeakMeter::reflect_inputs (const ChanCount& in)
for (size_t n = 0; n < n_audio; ++n) {
_kmeter[n]->reset();
- _iec1meter[n]->reset();
- _iec2meter[n]->reset();
- _vumeter[n]->reset();
}
reset_max();
@@ -223,24 +202,12 @@ PeakMeter::reset_max_channels (const ChanCount& chn)
/* alloc/free other audio-only meter types. */
while (_kmeter.size() > n_audio) {
delete (_kmeter.back());
- delete (_iec1meter.back());
- delete (_iec2meter.back());
- delete (_vumeter.back());
_kmeter.pop_back();
- _iec1meter.pop_back();
- _iec2meter.pop_back();
- _vumeter.pop_back();
}
while (_kmeter.size() < n_audio) {
_kmeter.push_back(new Kmeterdsp());
- _iec1meter.push_back(new Iec1ppmdsp());
- _iec2meter.push_back(new Iec2ppmdsp());
- _vumeter.push_back(new Vumeterdsp());
}
assert(_kmeter.size() == n_audio);
- assert(_iec1meter.size() == n_audio);
- assert(_iec2meter.size() == n_audio);
- assert(_vumeter.size() == n_audio);
}
/** To be driven by the Meter signal from IO.
@@ -312,51 +279,32 @@ PeakMeter::meter_level(uint32_t n, MeterType type) {
switch (type) {
case MeterKrms:
{
- const uint32_t n_midi = current_meters.n_midi();
+ const uint32_t n_midi = current_meters.n_midi();
if ((n - n_midi) < _kmeter.size() && (n - n_midi) >= 0) {
- return accurate_coefficient_to_dB (_kmeter[n - n_midi]->read());
- }
- }
- break;
- case MeterIEC1:
- {
- const uint32_t n_midi = current_meters.n_midi();
- if ((n - n_midi) < _iec1meter.size() && (n - n_midi) >= 0) {
- return accurate_coefficient_to_dB (_iec1meter[n - n_midi]->read());
- }
- }
- break;
- case MeterIEC2:
- {
- const uint32_t n_midi = current_meters.n_midi();
- if ((n - n_midi) < _iec2meter.size() && (n - n_midi) >= 0) {
- return accurate_coefficient_to_dB (_iec2meter[n - n_midi]->read());
+#if 0
+ return fast_coefficient_to_dB (_kmeter[n-n_midi]->read());
+#else
+ return accurate_coefficient_to_dB (_kmeter[n-n_midi]->read());
+#endif
}
+ return minus_infinity();
}
- break;
- case MeterVU:
- {
- const uint32_t n_midi = current_meters.n_midi();
- if ((n - n_midi) < _vumeter.size() && (n - n_midi) >= 0) {
- return accurate_coefficient_to_dB (_vumeter[n - n_midi]->read());
- }
- }
- break;
case MeterPeak:
return peak_power(n);
case MeterMaxSignal:
if (n < _max_peak_signal.size()) {
return _max_peak_signal[n];
+ } else {
+ return minus_infinity();
}
- break;
default:
case MeterMaxPeak:
if (n < _max_peak_power.size()) {
return _max_peak_power[n];
+ } else {
+ return minus_infinity();
}
- break;
}
- return minus_infinity();
}
void
@@ -374,25 +322,6 @@ PeakMeter::set_type(MeterType t)
_kmeter[n]->reset();
}
}
- if (t & MeterIEC1) {
- const size_t n_audio = current_meters.n_audio();
- for (size_t n = 0; n < n_audio; ++n) {
- _iec1meter[n]->reset();
- }
- }
- if (t & MeterIEC2) {
- const size_t n_audio = current_meters.n_audio();
- for (size_t n = 0; n < n_audio; ++n) {
- _iec2meter[n]->reset();
- }
- }
- if (t & MeterVU) {
- const size_t n_audio = current_meters.n_audio();
- for (size_t n = 0; n < n_audio; ++n) {
- _vumeter[n]->reset();
- }
- }
-
TypeChanged(t);
}