[SCM] calf/master: Merge branch 'analyzer' into line-graph

js at users.alioth.debian.org js at users.alioth.debian.org
Tue May 7 15:41:00 UTC 2013


smoothing fixed in stereo
Merge branch 'line-graph' of boomshop.net:calf into analyzer
mergeconflict
new fixes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-Git-Refname: refs/heads/master
X-Git-Reftype: branch
X-Git-Oldrev: d6a3c1a63a147948535a50da009275278ad5e6a3
X-Git-Newrev: 34569260c452f0fa4c543155ebba174a42a343dc

The following commit has been merged in the master branch:
commit e2ab50688d47d9de181c5ff291db19e28f4cf7fc
Merge: a9983d601e301b96bed632f3b59ed85c84aeeecf 8c9b3393c09dce259a96dddc19be0d465568f70e
Author: Markus Schmidt <schmidt at boomshop.net>
Date:   Tue Mar 6 08:11:25 2012 +0100

    Merge branch 'analyzer' into line-graph

diff --combined src/modules.cpp
index 00f500e,a2e13aa..0170bee
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@@ -859,7 -859,6 +859,7 @@@ analyzer_audio_module::analyzer_audio_m
      meter_R = 0.f;
      _accuracy = -1;
      _acc_old = -1;
 +    _mode_old = -1;
      ppos = 0;
      plength = 0;
      fpos = 0;
@@@ -1002,6 -1001,7 +1002,7 @@@ bool analyzer_audio_module::get_graph(i
      double freq;
      int iter = 0;
      int _iter = 1;
+     float posneg = 1;
      int _param_speed = 16 - (int)*params[param_analyzer_speed];
      if(subindex == 0) {
          if(!((int)____analyzer_phase_was_drawn_here % _param_speed)) {
@@@ -1050,7 -1050,7 +1051,7 @@@
                  
                  // fill smoothing & falling buffer
                  if(*params[param_analyzer_smoothing] == 1.f)
-                     fft_smooth[i] = fabs(fft_out[i]);
+                     fft_smooth[i] = fft_out[i];
                  if(*params[param_analyzer_smoothing] == 0.f and fft_smooth[i] < fabs(fft_out[i])) {
                      fft_smooth[i] = fabs(fft_out[i]);
                  }
@@@ -1064,7 -1064,7 +1065,7 @@@
                  if(____analyzer_hold_dirty) {
                      fft_hold[i] = 0.f;
                  } else if(fabs(fft_out[i]) > fft_hold[i]) {
-                     fft_hold[i] = fabs(fft_out[i]);
+                     fft_hold[i] = fft_out[i];
                  }
              }
              // run fft
@@@ -1145,8 -1145,8 +1146,8 @@@
                          }
                          float diff_fft;
                          diff_fft = fabs(fft_outL[_iter]) - fabs(fft_outR[_iter]);
+                         posneg = fabs(diff_fft) / diff_fft;
                          fft_out[_iter] = diff_fft / _accuracy;
-                         //printf("fft_out[_iter]: %.4f\n",fft_out[_iter]);
                      break;
                   }
              }
@@@ -1163,7 -1163,7 +1164,7 @@@
                  switch((int)*params[param_analyzer_smoothing]) {
                      case 0:
                          // falling
-                         fft_smooth[iter] += fft_delta[iter];
+                         fft_smooth[iter] -= fabs(fft_delta[iter]);
                          fft_delta[iter] /= 1.01f;
                          val = fft_smooth[iter];
                          break;
@@@ -1171,7 -1171,7 +1172,7 @@@
                          // smoothing
                          if(____analyzer_smooth_dirty) {
                              // rebuild delta values
-                             fft_delta[iter] = (fabs(fft_out[iter]) - fft_smooth[iter]) / _param_speed;
+                             fft_delta[iter] = (posneg * fabs(fft_out[iter]) - fft_smooth[iter]) / _param_speed;
                          }
                          fft_smooth[iter] += fft_delta[iter];
                          val = fft_smooth[iter];
@@@ -1187,7 -1187,7 +1188,7 @@@
              data[i] = dB_grid(fabs(val) / _accuracy * 2.f + 1e-20);
              if(*params[param_analyzer_mode] == 3) {
                  if(i) {
-                     data[i] = fft_out[iter];
+                     data[i] = val;
                  }
                  else data[i] = 0.f;
              } 
@@@ -1225,27 -1225,3 +1226,27 @@@
      return true;
  }
  
 +bool analyzer_audio_module::get_gridline(int index, int subindex, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const
 +{ 
 +    bool out;
 +    if(*params[param_analyzer_mode] != 3)
 +        out = get_freq_gridline(subindex, pos, vertical, legend, context);
 +    else
 +        out = get_freq_gridline(subindex, pos, vertical, legend, context, true, 16, 0.0000000001f);
 +    if(*params[param_analyzer_mode] == 3 and not vertical) {
 +        if(subindex == 30)
 +            legend="L";
 +        else if(subindex == 34)
 +            legend="R";
 +        else
 +            legend = "";
 +    }
 +    return out;
 +}
 +bool analyzer_audio_module::get_clear_all(int index) const {
 +    if(*params[param_analyzer_mode] != _mode_old) {
 +        _mode_old = *params[param_analyzer_mode];
 +        return true;
 +    }
 +    return false;
 +}

-- 
calf audio plugins packaging



More information about the pkg-multimedia-commits mailing list