diff options
author | Robin Gareus <robin@gareus.org> | 2013-07-15 16:07:37 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-07-15 16:07:37 +0200 |
commit | d80f672e8487f459d76ab291958bffcded08f0fd (patch) | |
tree | c5b2e432fbc2205e14891cc1eef85bfd4c4067b6 /libs/ardour/meter.cc | |
parent | ce621d1c8a600853be0020942a9664ccee0ab165 (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.cc | 93 |
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); } |