[SCM] calf/master: + Framework meter caching, fix whitespace and meter inversion

js at users.alioth.debian.org js at users.alioth.debian.org
Tue May 7 15:39:10 UTC 2013


The following commit has been merged in the master branch:
commit de7d77a09c5cb65e2297178d6ea03f59928cf54b
Author: Torben Hohn <torbenh at gmx.de>
Date:   Sun Jan 25 12:22:50 2009 +0100

    + Framework meter caching, fix whitespace and meter inversion

diff --git a/src/custom_ctl.cpp b/src/custom_ctl.cpp
index 87797ff..4c01e92 100644
--- a/src/custom_ctl.cpp
+++ b/src/custom_ctl.cpp
@@ -383,48 +383,51 @@ calf_vumeter_expose (GtkWidget *widget, GdkEventExpose *event)
 							  CAIRO_CONTENT_COLOR,
 							  widget->allocation.width,
 							  widget->allocation.height );
-    cairo_t *cache_cr = cairo_create( vu->cache_surface );
-    GdkColor sc = { 0, 0, 0, 0 };
-    gdk_cairo_set_source_color(cache_cr, &sc);
-    cairo_rectangle(cache_cr, ox, oy, sx, sy);
-    cairo_fill(cache_cr);
-    cairo_set_line_width(cache_cr, 1);
+
+	// And render the meterstuff again.
     
-    for (int x = ox; x <= ox + sx; x += 3)
-    {
-        float ts = (x - ox) * 1.0 / sx;
-        float r = 0.f, g = 0.f, b = 0.f;
-        switch(vu->mode)
-        {
-            case VU_STANDARD:
-            default:
-                if (ts < 0.75)
-                    r = ts / 0.75, g = 1, b = 0;
-                else
-                    r = 1, g = 1 - (ts - 0.75) / 0.25, b = 0;
-//                if (vu->value < ts || vu->value <= 0)
-//                    r *= 0.5, g *= 0.5, b *= 0.5;
-                break;
-            case VU_MONOCHROME_REVERSE:
-                r = 1, g = 1, b = 0;
-//                if (!(vu->value < ts) || vu->value >= 1.0)
-//                    r *= 0.5, g *= 0.5, b *= 0.5;
-                break;
-            case VU_MONOCHROME:
-                r = 1, g = 1, b = 0;
-//                if (vu->value < ts || vu->value <= 0)
-//                    r *= 0.5, g *= 0.5, b *= 0.5;
-                break;
-        }
-        GdkColor sc2 = { 0, (guint16)(65535 * r), (guint16)(65535 * g), (guint16)(65535 * b) };
-        gdk_cairo_set_source_color(cache_cr, &sc2);
-        cairo_move_to(cache_cr, x, oy);
-        cairo_line_to(cache_cr, x, oy + sy + 1);
-        cairo_move_to(cache_cr, x, oy + sy);
-        cairo_line_to(cache_cr, x, oy );
-        cairo_stroke(cache_cr);
-    }
-    cairo_destroy( cache_cr );
+	cairo_t *cache_cr = cairo_create( vu->cache_surface );
+	GdkColor sc = { 0, 0, 0, 0 };
+	gdk_cairo_set_source_color(cache_cr, &sc);
+	cairo_rectangle(cache_cr, ox, oy, sx, sy);
+	cairo_fill(cache_cr);
+	cairo_set_line_width(cache_cr, 1);
+
+	for (int x = ox; x <= ox + sx; x += 3)
+	{
+	    float ts = (x - ox) * 1.0 / sx;
+	    float r = 0.f, g = 0.f, b = 0.f;
+	    switch(vu->mode)
+	    {
+		case VU_STANDARD:
+		default:
+		    if (ts < 0.75)
+			r = ts / 0.75, g = 1, b = 0;
+		    else
+			r = 1, g = 1 - (ts - 0.75) / 0.25, b = 0;
+		    //                if (vu->value < ts || vu->value <= 0)
+		    //                    r *= 0.5, g *= 0.5, b *= 0.5;
+		    break;
+		case VU_MONOCHROME_REVERSE:
+		    r = 1, g = 1, b = 0;
+		    //                if (!(vu->value < ts) || vu->value >= 1.0)
+		    //                    r *= 0.5, g *= 0.5, b *= 0.5;
+		    break;
+		case VU_MONOCHROME:
+		    r = 1, g = 1, b = 0;
+		    //                if (vu->value < ts || vu->value <= 0)
+		    //                    r *= 0.5, g *= 0.5, b *= 0.5;
+		    break;
+	    }
+	    GdkColor sc2 = { 0, (guint16)(65535 * r), (guint16)(65535 * g), (guint16)(65535 * b) };
+	    gdk_cairo_set_source_color(cache_cr, &sc2);
+	    cairo_move_to(cache_cr, x, oy);
+	    cairo_line_to(cache_cr, x, oy + sy + 1);
+	    cairo_move_to(cache_cr, x, oy + sy);
+	    cairo_line_to(cache_cr, x, oy );
+	    cairo_stroke(cache_cr);
+	}
+	cairo_destroy( cache_cr );
     }
 
     cairo_set_source_surface( c, vu->cache_surface, 0,0 );
@@ -432,9 +435,9 @@ calf_vumeter_expose (GtkWidget *widget, GdkEventExpose *event)
     cairo_set_source_rgba( c, 0,0,0, 0.5 );
 
     if( vu->mode == VU_MONOCHROME_REVERSE )
-	cairo_rectangle( c, vu->value * (sx-ox),oy, sx-ox, sy-oy );
-    else
 	cairo_rectangle( c, ox,oy, vu->value * (sx-ox), sy-oy );
+    else
+	cairo_rectangle( c, vu->value * (sx-ox),oy, sx-ox, sy-oy );
 
     cairo_fill( c );
 

-- 
calf audio plugins packaging



More information about the pkg-multimedia-commits mailing list