Index: apps/gui/gwps-common.c
===================================================================
--- apps/gui/gwps-common.c	(.../trunk)	(revision 22)
+++ apps/gui/gwps-common.c	(.../branches/eq-wps)	(revision 22)
@@ -441,6 +441,58 @@
     return buf;
 }
 
+#ifdef SWCODEC
+/* Return WPS step (numbered 0 - 8) for EQ band */
+static char* get_eq_step(int band)
+{
+    int *band_gain;
+
+    switch (band)
+    {
+        case 0:
+            band_gain = &global_settings.eq_band0_gain;
+            break;
+        case 1:
+            band_gain = &global_settings.eq_band1_gain;
+            break;
+        case 2:
+            band_gain = &global_settings.eq_band2_gain;
+            break;
+        case 3:
+            band_gain = &global_settings.eq_band3_gain;
+            break;
+        case 4:
+            band_gain = &global_settings.eq_band4_gain;
+            break;
+        default:
+            DEBUGF("get_eq_step(): unknown band: %i\n", band);
+            return "e";
+    }
+
+    if (*band_gain < -91)
+        return "0";
+    if (*band_gain >= -90 && *band_gain <= -61)
+        return "1";
+    if (*band_gain >= -60 && *band_gain <= -31)
+        return "2";
+    if (*band_gain >= -30 && *band_gain <= -1)
+        return "3";
+    if (*band_gain == 0)
+        return "4";
+    if (*band_gain >= 1 && *band_gain <= 30)
+        return "5";
+    if (*band_gain >= 31 && *band_gain <= 60)
+        return "6";
+    if (*band_gain >= 61 && *band_gain <= 90)
+        return "7";
+    if (*band_gain > 91)
+        return "8";
+
+    DEBUGF("get_eq_step(): band_gain out of range: %i\n", *band_gain);
+    return "e";   /* 'e' for error */
+}
+#endif /* SWCODEC */
+    
 /* Get the tag specified by the two characters at fmt.
  *
  * cid3      - ID3 data to get tag values from.
@@ -610,6 +662,32 @@
             }
             break;
 
+#ifdef SWCODEC
+        case 'e':  /* EQ Information */
+            switch(tag[1])
+            {
+                case 'q':  /* EQ enabled boolean */
+                    if (global_settings.eq_enabled == true)
+                        return "1";
+                    else
+                        return NULL;
+                case '1': /* Band 0 */
+                    return get_eq_step(0);
+                case '2': /* Band 1 */
+                    return get_eq_step(1);
+                case '3': /* Band 2 */
+                    return get_eq_step(2);
+                case '4': /* Band 3 */
+                    return get_eq_step(3);
+                case '5': /* Band 4 */
+                    return get_eq_step(4);
+
+                default:
+                    DEBUGF("Unknown EQ WPS tag: %s\n", tag);
+                    return NULL;
+            }
+#endif /* SWCODEC */
+
         case 'p':  /* Playlist/Song Information */
             switch(tag[1])
             {
