Mercurial > audlegacy
comparison audacious/playlist.c @ 1232:56b57ed0a136 trunk
[svn] - use tuples internally
author | nenolod |
---|---|
date | Wed, 14 Jun 2006 20:58:37 -0700 |
parents | 6fe822f5a3c0 |
children | 7918849bad3e |
comparison
equal
deleted
inserted
replaced
1231:502b369314c1 | 1232:56b57ed0a136 |
---|---|
161 playlist_entry_free(PlaylistEntry * entry) | 161 playlist_entry_free(PlaylistEntry * entry) |
162 { | 162 { |
163 if (!entry) | 163 if (!entry) |
164 return; | 164 return; |
165 | 165 |
166 g_free(entry->filename); | 166 if (entry->tuple != NULL) |
167 g_free(entry->title); | 167 bmp_title_input_free(entry->tuple); |
168 | |
169 if (entry->filename != NULL) | |
170 g_free(entry->filename); | |
171 | |
172 if (entry->title != NULL) | |
173 g_free(entry->title); | |
174 | |
168 g_free(entry); | 175 g_free(entry); |
169 } | 176 } |
170 | 177 |
171 static gboolean | 178 static gboolean |
172 playlist_entry_get_info(PlaylistEntry * entry) | 179 playlist_entry_get_info(PlaylistEntry * entry) |
173 { | 180 { |
174 gchar *title = NULL; | 181 TitleInput *tuple; |
175 gint length = -1; | |
176 | 182 |
177 g_return_val_if_fail(entry != NULL, FALSE); | 183 g_return_val_if_fail(entry != NULL, FALSE); |
178 | 184 |
179 if (entry->decoder == NULL) | 185 if (entry->decoder == NULL || entry->decoder->get_song_tuple == NULL) |
180 input_get_song_info(entry->filename, &title, &length); | 186 tuple = input_get_song_tuple(entry->filename); |
181 else if (entry->decoder->get_song_info != NULL) | 187 else |
182 entry->decoder->get_song_info(entry->filename, &title, &length); | 188 tuple = entry->decoder->get_song_tuple(entry->filename); |
183 | 189 |
184 if (!title && length == -1) | 190 if (tuple == NULL) |
185 return FALSE; | 191 return FALSE; |
186 | 192 |
187 /* entry is still around */ | 193 /* entry is still around */ |
188 entry->title = title; | 194 entry->title = xmms_get_titlestring(xmms_get_gentitle_format(), tuple); |
189 entry->length = length; | 195 entry->length = tuple->length; |
196 entry->tuple = tuple; | |
190 | 197 |
191 return TRUE; | 198 return TRUE; |
192 } | 199 } |
193 | |
194 | 200 |
195 const gchar * | 201 const gchar * |
196 playlist_get_current_name(void) | 202 playlist_get_current_name(void) |
197 { | 203 { |
198 return playlist_current_name; | 204 return playlist_current_name; |