rhythmbox r5884 - in trunk: . remote/dbus sources



Author: jmatthew
Date: Fri Sep  5 14:47:30 2008
New Revision: 5884
URL: http://svn.gnome.org/viewvc/rhythmbox?rev=5884&view=rev

Log:
2008-09-06  Jonathan Matthew  <jonathan d14n org>

	* remote/dbus/rb-client.c: (parse_pattern):
	* sources/rb-library-source.c: (filepath_parse_pattern):
	Implement %ts, %as, %tS, and %aS (artist sortname) substitutions.


Modified:
   trunk/ChangeLog
   trunk/remote/dbus/rb-client.c
   trunk/sources/rb-library-source.c

Modified: trunk/remote/dbus/rb-client.c
==============================================================================
--- trunk/remote/dbus/rb-client.c	(original)
+++ trunk/remote/dbus/rb-client.c	Fri Sep  5 14:47:30 2008
@@ -231,14 +231,16 @@
 				if (value)
 					string = g_value_dup_string (value);
 				break;
-			/*case 's':
-				string = sanitize_path (album sort name);
+			case 's':
+				value = g_hash_table_lookup (properties, "mb-artistsortname");
+				if (value)
+					string = g_value_dup_string (value);
 				break;
 			case 'S':
-				char *t = g_utf8_strdown (album sort name)
-				string = sanitize_path (t);
-				g_free (t);
-				break;*/
+				value = g_hash_table_lookup (properties, "mb-artistsortname");
+				if (value)
+					string = g_utf8_strdown (g_value_get_string (value), -1);
+				break;
 			case 'y':
 				/* Release year */
 				value = g_hash_table_lookup (properties, "year");
@@ -298,14 +300,16 @@
 				if (value)
 					string = g_value_dup_string (value);
 				break;
-			/*case 's':
-				string = sanitize_path (artist sort name);
+			case 's':
+				value = g_hash_table_lookup (properties, "mb-artistsortname");
+				if (value)
+					string = g_value_dup_string (value);
 				break;
 			case 'S':
-				char *t = g_utf8_strdown (artist sort name)
-				string = sanitize_path (t);
-				g_free (t);
-				break;*/
+				value = g_hash_table_lookup (properties, "mb-artistsortname");
+				if (value)
+					string = g_utf8_strdown (g_value_get_string (value), -1);
+				break;
 			case 'n':
 				/* Track number */
 				value = g_hash_table_lookup (properties, "track-number");

Modified: trunk/sources/rb-library-source.c
==============================================================================
--- trunk/sources/rb-library-source.c	(original)
+++ trunk/sources/rb-library-source.c	Fri Sep  5 14:47:30 2008
@@ -846,6 +846,7 @@
 	p = pattern;
 	while (*p) {
 		char *string = NULL;
+		char *t;
 
 		/* If not a % marker, copy and continue */
 		if (*p != '%') {
@@ -871,7 +872,7 @@
 				string = sanitize_path (rhythmdb_entry_get_string (entry, RHYTHMDB_PROP_ALBUM));
 				break;
 			case 'T':
-				temp = sanitize_path (rhythmdb_entry_get_string (entry, RHYTHMDB_PROP_ALBUM_FOLDED));
+				string = sanitize_path (rhythmdb_entry_get_string (entry, RHYTHMDB_PROP_ALBUM_FOLDED));
 				break;
 			case 'a':
 				string = sanitize_path (rhythmdb_entry_get_string (entry, RHYTHMDB_PROP_ARTIST));
@@ -879,14 +880,14 @@
 			case 'A':
 				string = sanitize_path (rhythmdb_entry_get_string (entry, RHYTHMDB_PROP_ARTIST_FOLDED));
 				break;
-			/*case 's':
-				string = sanitize_path (album sort name);
+			case 's':
+				string = sanitize_path (rhythmdb_entry_get_string (entry, RHYTHMDB_PROP_ARTIST_SORTNAME));
 				break;
 			case 'S':
-				char *t = g_utf8_strdown (album sort name)
+				t = g_utf8_strdown (rhythmdb_entry_get_string (entry, RHYTHMDB_PROP_ARTIST_SORTNAME), -1);
 				string = sanitize_path (t);
 				g_free (t);
-				break;*/
+				break;
 			default:
 				string = g_strdup_printf ("%%a%c", *p);
 			}
@@ -910,14 +911,14 @@
 			case 'A':
 				string = sanitize_path (rhythmdb_entry_get_string (entry, RHYTHMDB_PROP_ARTIST_FOLDED));
 				break;
-			/*case 's':
-				string = sanitize_path (artist sort name);
+			case 's':
+				string = sanitize_path (rhythmdb_entry_get_string (entry, RHYTHMDB_PROP_ARTIST_SORTNAME));
 				break;
 			case 'S':
-				char *t = g_utf8_strdown (artist sort name)
+				t = g_utf8_strdown (rhythmdb_entry_get_string (entry, RHYTHMDB_PROP_ARTIST_SORTNAME), -1);
 				string = sanitize_path (t);
 				g_free (t);
-				break;*/
+				break;
 			case 'n':
 				/* Track number */
 				string = g_strdup_printf ("%u", (guint)rhythmdb_entry_get_ulong (entry, RHYTHMDB_PROP_TRACK_NUMBER));



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]