On 12/05/2011 12:22 AM, Fons Adriaensen wrote:
Hello all,

First release of zita-dpl1. Look-ahead digital peak limiter.
1-16 channels (highest one determines gain reduction).

More at<http://kokkinizita.linuxaudio.org/linuxaudio>.

excellent, thanks!

builds and runs fine, will probably be using it for real before the end of the week. can i suggest two small extensions?

* it would be great to have the input gain displayed numerically in the display as well - i need to document my sessions so that i can always revisit them in case the client requests changes. now i could just make a screenshot (as i do for zita-rev1, which works because small deviations in setup don't have dramatic effects), but for limiting, i need absolute precision and 100% reproducible settings. trivial patch is attached.

* i'm assuming you are looking at the maximum level of all channels, and then apply the same amount of gain reduction to each of them. certainly the way to go in speaker-based mixes. but as i already mentioned over that coffee at ICSA, do you think it could be useful to add an ambisonic mode which would apply the gain reduction only to the component that's actually over? my hope is that the result is more subtle, because only the source sharpness would change slightly, and with b-format, there is no danger of irritating jumps of the source...


best,


jörn


diff -urN zita-dpl1-0.0.1/source/mainwin.cc zita-dpl1-0.0.1-new//source/mainwin.cc
--- zita-dpl1-0.0.1/source/mainwin.cc	2011-12-04 22:18:55.000000000 +0100
+++ zita-dpl1-0.0.1-new//source/mainwin.cc	2011-12-05 12:12:28.135265876 +0100
@@ -62,6 +62,7 @@
     _dispmap = XCreatePixmap (dpy (), _dispwin->win (), 315, 72, disp ()->depth ());
     _dispgct = XCreateGC (dpy (), _dispmap, 0, NULL);
     init_disp ();
+    print_param (R_INPGAIN);
     print_param (R_THRESHD);
     print_param (R_RELTIME);
     _dispwin->x_map ();
@@ -227,14 +228,20 @@
 
     switch (k)
     {
+    case R_INPGAIN:
+        y = 0;
+        v = _inpgain->value ();
+        sprintf(s, "%2.1lf dB", v);
+        C = XftColors [C_INPGAIN];
+        break;
     case R_THRESHD:
-	y = 5;
+	y = 18;
 	v = _threshd->value ();
         sprintf (s, "%5.1lf dB", v);
 	C = XftColors [C_THRESHD];
 	break;
     case R_RELTIME:
-	y = 25;
+	y = 36;
 	v = _reltime->value ();
         if      (v >= 0.30f)  sprintf (s, "%4.2lf s", v);
         else if (v >= 0.03f)  sprintf (s, "%3.0lf ms", 1e3f * v);
diff -urN zita-dpl1-0.0.1/source/styles.cc zita-dpl1-0.0.1-new//source/styles.cc
--- zita-dpl1-0.0.1/source/styles.cc	2011-12-04 22:29:36.000000000 +0100
+++ zita-dpl1-0.0.1-new//source/styles.cc	2011-12-05 12:16:31.955871428 +0100
@@ -42,6 +42,7 @@
     XftColors [C_DISP_BG] = disp->alloc_xftcolor (0.1f, 0.1f, 0.1f, 1.0f);
     XftColors [C_TEXT_BG] = disp->alloc_xftcolor (0.9f, 0.9f, 0.9f, 1.0f);
     XftColors [C_TEXT_FG] = disp->alloc_xftcolor (0.0f, 0.0f, 0.0f, 1.0f);
+    XftColors [C_INPGAIN] = disp->alloc_xftcolor (0.9f, 0.9f, 0.2f, 1.0f);
     XftColors [C_THRESHD] = disp->alloc_xftcolor (1.0f, 0.2f, 0.2f, 1.0f);
     XftColors [C_RELTIME] = disp->alloc_xftcolor (0.6f, 0.6f, 1.0f, 1.0f);
  
diff -urN zita-dpl1-0.0.1/source/styles.h zita-dpl1-0.0.1-new//source/styles.h
--- zita-dpl1-0.0.1/source/styles.h	2011-12-04 22:32:35.000000000 +0100
+++ zita-dpl1-0.0.1-new//source/styles.h	2011-12-05 12:11:12.092205429 +0100
@@ -30,7 +30,7 @@
 {
     C_MAIN_BG, C_MAIN_FG, C_DISP_BG,
     C_TEXT_BG, C_TEXT_FG,
-    C_THRESHD, C_RELTIME,
+    C_INPGAIN, C_THRESHD, C_RELTIME,
     NXFTCOLORS
 };
 
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev

Reply via email to