changeset 1548:d5be38600be5 trunk

[svn] - incomplete PlaylistContainer implementation
author nenolod
date Thu, 10 Aug 2006 18:10:25 -0700
parents 697a073fd4f5
children 854016a03129
files ChangeLog audacious/Makefile audacious/playlist_container.c audacious/playlist_container.h
diffstat 4 files changed, 91 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Aug 10 13:51:08 2006 -0700
+++ b/ChangeLog	Thu Aug 10 18:10:25 2006 -0700
@@ -1,3 +1,18 @@
+2006-08-10 20:51:08 +0000  William Pitcock <nenolod@nenolod.net>
+  revision [2008]
+  - dependency cleanup part 2
+  
+
+  Changes:        Modified:
+  +1 -1           trunk/audacious/input.c  
+  +1 -2           trunk/audacious/main.h  
+  +0 -1           trunk/audacious/mainwin.c  
+  +1 -1           trunk/audacious/prefswin.c  
+  +1 -1           trunk/audacious/skinwin.c  
+  +1 -3           trunk/audacious/ui_playlist.h  
+  +1 -3           trunk/audacious/visualization.c  
+
+
 2006-08-10 20:47:58 +0000  William Pitcock <nenolod@nenolod.net>
   revision [2006]
   - dependency cleanup (pass 1 of many probably)
--- a/audacious/Makefile	Thu Aug 10 13:51:08 2006 -0700
+++ b/audacious/Makefile	Thu Aug 10 18:10:25 2006 -0700
@@ -43,6 +43,7 @@
 	visualization.c \
 	pluginenum.c \
 	playlist.c \
+	playlist_container.c \
 	controlsocket.c \
 	dock.c \
 	playback.c \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/audacious/playlist_container.c	Thu Aug 10 18:10:25 2006 -0700
@@ -0,0 +1,39 @@
+/*
+ * Audacious: A cross-platform multimedia player
+ * Copyright (c) 2006 William Pitcock, Tony Vroon, George Averill,
+ *                    Giacomo Lozito, Derek Pomery and Yoshiki Yazawa.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include <glib.h>
+#include "playlist_container.h"
+
+/*
+ * PlaylistContainer objects handle the import and export of Playlist
+ * data. Basically, a PlaylistContainer acts as a filter for a PlaylistEntry.
+ */
+
+static GList *registered_plcs = NULL;
+
+void playlist_container_register(PlaylistContainer *plc)
+{
+	registered_plcs = g_list_append(registered_plcs, plc);
+}
+
+void playlist_container_unregister(PlaylistContainer *plc)
+{
+	registered_plcs = g_list_remove(registered_plcs, plc);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/audacious/playlist_container.h	Thu Aug 10 18:10:25 2006 -0700
@@ -0,0 +1,36 @@
+/*
+ * Audacious: A cross-platform multimedia player
+ * Copyright (c) 2006 William Pitcock, Tony Vroon, George Averill,
+ *                    Giacomo Lozito, Derek Pomery and Yoshiki Yazawa.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _PLAYLIST_CONTAINER_H_
+#define _PLAYLIST_CONTAINER_H_
+
+struct _PlaylistContainer {
+	char *name;					/* human-readable name */
+	char *ext;					/* extension */
+	void (*plc_load)(char *filename, GList *pl);	/* plc_load */
+	void (*plc_write)(char *filename, GList *pl);	/* plc_write */
+};
+
+typedef struct _PlaylistContainer PlaylistContainer;
+
+extern void playlist_container_register(PlaylistContainer *plc);
+extern void playlist_container_unregister(PlaylistContainer *plc);
+
+#endif