Index: src/playlist-files.c =================================================================== --- src/playlist-files.c (revision 25766) +++ src/playlist-files.c (working copy) @@ -184,22 +184,47 @@ const gchar *music_file, *title, *length_str; gchar key[128], buf[PATH_MAX], *title_utf8 = NULL; gint nadded = 0; + gboolean found_group = FALSE; rcfile = xfce_rc_simple_open(filename, TRUE); if(xfce_rc_has_group(rcfile, "playlist")) { xfce_rc_set_group(rcfile, "playlist"); - - nentries = xfce_rc_read_int_entry(rcfile, "numberofentries", 0); - for(i = 1; i <= nentries; i++) { + found_group = TRUE; + } + else if(xfce_rc_has_group(rcfile, "Playlist")) { + xfce_rc_set_group(rcfile, "Playlist"); + found_group = TRUE; + } + else if(xfce_rc_has_group(rcfile, "PlayList")) { + xfce_rc_set_group(rcfile, "PlayList"); + found_group = TRUE; + } + if(found_group) { + nentries = xfce_rc_read_int_entry(rcfile, "NumberOfEntries", 0); + if(!nentries) + nentries = xfce_rc_read_int_entry(rcfile, "numberofentries", 0); + for(i = 0; i <= nentries; i++) { g_snprintf(key, 128, "File%d", i); music_file = xfce_rc_read_entry(rcfile, key, NULL); + if(!music_file) { + key[0] = tolower(key[0]); + music_file = xfce_rc_read_entry(rcfile, key, NULL); + } if(!music_file) continue; g_snprintf(key, 128, "Title%d", i); title = xfce_rc_read_entry(rcfile, key, NULL); + if(!title) { + key[0] = tolower(key[0]); + title = xfce_rc_read_entry(rcfile, key, NULL); + } g_snprintf(key, 128, "Length%d", i); length_str = xfce_rc_read_entry(rcfile, key, NULL); + if(!length_str) { + key[0] = tolower(key[0]); + length_str = xfce_rc_read_entry(rcfile, key, NULL); + } if(length_str) length = atoi(length_str); @@ -483,24 +508,24 @@ xfmedia_playlists_save_pls(XfmediaPlaylist *plist, FILE *fp) { gchar *title = NULL, *filename = NULL; - gint length = -1, i, tot; + gint length = -1, i, tot, idx; gboolean metadata_loaded = FALSE; tot = xfmedia_playlist_get_n_entries(plist); - fprintf(fp, "[playlist]\nnumberofentries=%d\n", tot); + fprintf(fp, "[playlist]\nNumberOfEntries=%d\n", tot); - for(i = 0; i < tot; i++) { + for(i = 0, idx = 1; i < tot; i++, idx++) { metadata_loaded = xfmedia_playlist_get_metadata_loaded(plist, i); if(metadata_loaded) { if(xfmedia_playlist_get(plist, i, &title, &length, &filename)) { fprintf(fp, "File%d=%s\nTitle%d=%s\nLength%d=%d\n", - i, filename, i, (title ? title : ""), i, length); + idx, filename, idx, (title ? title : ""), idx, length); g_free(title); g_free(filename); } } else { if(xfmedia_playlist_get(plist, i, NULL, NULL, &filename)) { - fprintf(fp, "File%d=%s\n", i,filename ? filename : ""); + fprintf(fp, "File%d=%s\n", idx,filename ? filename : ""); g_free(filename); } }