Code

configure.ac: display the correct default values
[ncmpc.git] / src / playlist.c
index b600343d720ab23fba3b1663b1ba539eedc554f4..19a1b419cc08f8ac8f08cce603d647c73bae9606 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * $Id$
- *
  * (c) 2004 by Kalle Wallin <kaw@linux.se>
  * (c) 2008 Max Kellermann <max@duempel.org>
  *
@@ -21,7 +19,6 @@
 
 #include "playlist.h"
 #include "mpdclient.h"
-#include "ncmpc.h"
 
 #include <string.h>
 
@@ -33,9 +30,7 @@ void
 playlist_init(struct mpdclient_playlist *playlist)
 {
        playlist->id = 0;
-       playlist->updated = FALSE;
-       playlist->list = g_array_sized_new(FALSE, FALSE,
-                                          sizeof(struct mpd_song *), 1024);
+       playlist->list = g_ptr_array_sized_new(1024);
 }
 
 void
@@ -43,12 +38,15 @@ playlist_clear(struct mpdclient_playlist *playlist)
 {
        guint i;
 
+       playlist->id = 0;
+
        for (i = 0; i < playlist->list->len; ++i) {
-               struct mpd_song *song = g_array_index(playlist->list, struct mpd_song *, i);
+               struct mpd_song *song = playlist_get(playlist, i);
+
                mpd_freeSong(song);
        }
 
-       g_array_set_size(playlist->list, 0);
+       g_ptr_array_set_size(playlist->list, 0);
 }
 
 gint
@@ -56,7 +54,7 @@ mpdclient_playlist_free(mpdclient_playlist_t *playlist)
 {
        if (playlist->list != NULL) {
                playlist_clear(playlist);
-               g_array_free(playlist->list, TRUE);
+               g_ptr_array_free(playlist->list, TRUE);
        }
 
        memset(playlist, 0, sizeof(mpdclient_playlist_t));
@@ -69,7 +67,7 @@ playlist_get_song(mpdclient_t *c, gint idx)
        if (idx < 0 || (guint)idx >= c->playlist.list->len)
                return NULL;
 
-       return g_array_index(c->playlist.list, struct mpd_song *, idx);
+       return playlist_get(&c->playlist, idx);
 }
 
 struct mpd_song *
@@ -78,8 +76,7 @@ playlist_lookup_song(mpdclient_t *c, gint id)
        guint i;
 
        for (i = 0; i < c->playlist.list->len; ++i) {
-               struct mpd_song *song = g_array_index(c->playlist.list,
-                                                     struct mpd_song *, i);
+               struct mpd_song *song = playlist_get(&c->playlist, i);
                if (song->id == id)
                        return song;
        }
@@ -93,8 +90,7 @@ playlist_get_index(mpdclient_t *c, struct mpd_song *song)
        guint i;
 
        for (i = 0; i < c->playlist.list->len; ++i) {
-               if (g_array_index(c->playlist.list, struct mpd_song *, i)
-                   == song)
+               if (playlist_get(&c->playlist, i) == song)
                        return (gint)i;
        }
 
@@ -107,8 +103,7 @@ playlist_get_index_from_id(mpdclient_t *c, gint id)
        guint i;
 
        for (i = 0; i < c->playlist.list->len; ++i) {
-               struct mpd_song *song = g_array_index(c->playlist.list,
-                                                     struct mpd_song *, i);
+               struct mpd_song *song = playlist_get(&c->playlist, i);
                if (song->id == id)
                        return (gint)i;
        }
@@ -122,8 +117,7 @@ playlist_get_index_from_file(mpdclient_t *c, gchar *filename)
        guint i;
 
        for (i = 0; i < c->playlist.list->len; ++i) {
-               struct mpd_song *song = g_array_index(c->playlist.list,
-                                                     struct mpd_song *, i);
+               struct mpd_song *song = playlist_get(&c->playlist, i);
                if(strcmp(song->file, filename) == 0)
                        return (gint)i;
        }