diff options
author | Robin Gareus <robin@gareus.org> | 2013-12-22 09:25:33 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-12-22 09:25:33 +0100 |
commit | 0acafa4d3dbcd1fc198cc2dee0cd0b3bc8ed191f (patch) | |
tree | 0239fb3a0f7d920c89b87f32cd182dbd587f71b9 /libs/ardour | |
parent | 2065a2a2ac8b5042a7277790657de449c00b229d (diff) |
add K12/RMS meter type
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/ardour/types.h | 3 | ||||
-rw-r--r-- | libs/ardour/enums.cc | 1 | ||||
-rw-r--r-- | libs/ardour/meter.cc | 7 |
3 files changed, 7 insertions, 4 deletions
diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h index 91b8888f52..50a96030b1 100644 --- a/libs/ardour/ardour/types.h +++ b/libs/ardour/ardour/types.h @@ -187,7 +187,8 @@ namespace ARDOUR { MeterIEC1NOR = 0x080, MeterIEC2BBC = 0x100, MeterIEC2EBU = 0x200, - MeterVU = 0x400 + MeterVU = 0x400, + MeterK12 = 0x800 }; enum TrackMode { diff --git a/libs/ardour/enums.cc b/libs/ardour/enums.cc index 72125f8772..e32fe329af 100644 --- a/libs/ardour/enums.cc +++ b/libs/ardour/enums.cc @@ -179,6 +179,7 @@ setup_enum_writer () REGISTER_ENUM (MeterKrms); REGISTER_ENUM (MeterK20); REGISTER_ENUM (MeterK14); + REGISTER_ENUM (MeterK12); REGISTER_ENUM (MeterIEC1DIN); REGISTER_ENUM (MeterIEC1NOR); REGISTER_ENUM (MeterIEC2BBC); diff --git a/libs/ardour/meter.cc b/libs/ardour/meter.cc index a7857f5859..5310fd747b 100644 --- a/libs/ardour/meter.cc +++ b/libs/ardour/meter.cc @@ -108,7 +108,7 @@ PeakMeter::run (BufferSet& bufs, framepos_t /*start_frame*/, framepos_t /*end_fr // Meter audio in to the rest of the peaks for (uint32_t i = 0; i < n_audio; ++i, ++n) { _peak_signal[n] = compute_peak (bufs.get_audio(i).data(), nframes, _peak_signal[n]); - if (_meter_type & (MeterKrms | MeterK20 | MeterK14)) { + if (_meter_type & (MeterKrms | MeterK20 | MeterK14 | MeterK12)) { _kmeter[i]->process(bufs.get_audio(i).data(), nframes); } if (_meter_type & (MeterIEC1DIN | MeterIEC1NOR)) { @@ -288,7 +288,7 @@ PeakMeter::meter () /* 0.01f ^= 100 Hz update rate */ const float midi_meter_falloff = Config->get_meter_falloff() * 0.01f; /* kmeters: 24dB / 2 sec */ - const float audio_meter_falloff = (_meter_type & (MeterK20 | MeterK14)) ? 0.12f : midi_meter_falloff; + const float audio_meter_falloff = (_meter_type & (MeterK20 | MeterK14 | MeterK12)) ? 0.12f : midi_meter_falloff; for (size_t n = 0; n < limit; ++n) { @@ -345,6 +345,7 @@ PeakMeter::meter_level(uint32_t n, MeterType type) { case MeterKrms: case MeterK20: case MeterK14: + case MeterK12: { const uint32_t n_midi = current_meters.n_midi(); if (CHECKSIZE(_kmeter)) { @@ -404,7 +405,7 @@ PeakMeter::set_type(MeterType t) _meter_type = t; - if (t & (MeterKrms | MeterK20 | MeterK14)) { + if (t & (MeterKrms | MeterK20 | MeterK14 | MeterK12)) { const size_t n_audio = current_meters.n_audio(); for (size_t n = 0; n < n_audio; ++n) { _kmeter[n]->reset(); |