ladspa: Only scan LADSPA subdir APPDATA and COMMONPROGRAMFILES

Don't scan the entire APPDATA and COMMONPROGRAMFILES
path tree, just the LADSPA sub-directory inside them, if any.

https://bugzilla.gnome.org/show_bug.cgi?id=796450
diff --git a/ext/ladspa/gstladspa.c b/ext/ladspa/gstladspa.c
index e04e4bb..486fe62 100644
--- a/ext/ladspa/gstladspa.c
+++ b/ext/ladspa/gstladspa.c
@@ -322,7 +322,7 @@
       if (g_module_symbol (plugin, "ladspa_descriptor",
               (gpointer *) & descriptor_function)) {
         /* we've found a ladspa_descriptor function, now introspect it. */
-        GST_INFO ("describe %s", file_name);
+        GST_INFO ("Found LADSPA descriptor in %s", file_name);
         ladspa_describe_plugin (file_name, entry_name, descriptor_function);
         ok = TRUE;
       } else {
@@ -363,18 +363,24 @@
 #ifdef G_OS_WIN32
   path = g_getenv ("APPDATA");
   if (path) {
+    gchar *path_subdir = g_build_filename (path, "LADSPA", NULL);
     if (ladspa_path->len)
-      g_string_append_printf (ladspa_path, G_SEARCHPATH_SEPARATOR_S "%s", path);
+      g_string_append_printf (ladspa_path, G_SEARCHPATH_SEPARATOR_S "%s",
+          path_subdir);
     else
-      g_string_append (ladspa_path, path);
+      g_string_append (ladspa_path, path_subdir);
+    g_free (path_subdir);
   }
 
   path = g_getenv ("COMMONPROGRAMFILES");
   if (path) {
+    gchar *path_subdir = g_build_filename (path, "LADSPA", NULL);
     if (ladspa_path->len)
-      g_string_append_printf (ladspa_path, G_SEARCHPATH_SEPARATOR_S "%s", path);
+      g_string_append_printf (ladspa_path, G_SEARCHPATH_SEPARATOR_S "%s",
+          path_subdir);
     else
-      g_string_append (ladspa_path, path);
+      g_string_append (ladspa_path, path_subdir);
+    g_free (path_subdir);
   }
 #else
   path = g_getenv ("HOME");