]> git.sesse.net Git - vlc/blobdiff - include/vlc_playlist.h
typo in a string (line 42)
[vlc] / include / vlc_playlist.h
index 7c65e5543bbf11cecaee865c9e1f6732536ab85c..bb458706aaeb15ba657c5d11c39ca4ff1541e744 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * vlc_playlist.h : Playlist functions
  *****************************************************************************
- * Copyright (C) 1999-2004 VideoLAN
+ * Copyright (C) 1999-2004 the VideoLAN team
  * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
@@ -18,7 +18,7 @@
  *
  * 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., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
 /**
@@ -108,6 +108,7 @@ struct playlist_view_t
 #define VIEW_FIRST_SORTED  4
 #define VIEW_S_AUTHOR 4
 #define VIEW_S_GENRE 5
+#define VIEW_S_ALBUM  6
 
 #define VIEW_LAST_SORTED  10
 
@@ -122,7 +123,7 @@ typedef enum { PLAYLIST_STOPPED,PLAYLIST_RUNNING,PLAYLIST_PAUSED } playlist_stat
 struct services_discovery_t
 {
     VLC_COMMON_MEMBERS
-    const char *psz_module;
+    char *psz_module;
 
     module_t *p_module;
 
@@ -135,7 +136,7 @@ struct playlist_preparse_t
     VLC_COMMON_MEMBERS
     vlc_mutex_t     lock;
     int             i_waiting;
-    input_item_t  **pp_waiting;
+    int            *pi_waiting;
 };
 
 
@@ -210,6 +211,15 @@ struct playlist_t
 
     playlist_preparse_t     *p_preparse;
 
+    vlc_mutex_t gc_lock;         /**< Lock to protect the garbage collection */
+
+    // The following members are about user interaction
+    // The playlist manages the user interaction to avoid creating another
+    // thread
+    interaction_t *p_interaction;
+
+    global_stats_t *p_stats;
+
     /*@}*/
 };
 
@@ -230,6 +240,7 @@ struct playlist_add_t
 #define SORT_RANDOM 5
 #define SORT_DURATION 6
 #define SORT_TITLE_NUMERIC 7
+#define SORT_ALBUM 8
 
 #define ORDER_NORMAL 0
 #define ORDER_REVERSE 1
@@ -259,6 +270,7 @@ VLC_EXPORT( int,  playlist_Clear, ( playlist_t * ) );
 VLC_EXPORT( int,  playlist_LockClear, ( playlist_t * ) );
 
 VLC_EXPORT( int, playlist_PreparseEnqueue, (playlist_t *, input_item_t *) );
+VLC_EXPORT( int, playlist_PreparseEnqueueItem, (playlist_t *, playlist_item_t *) );
 
 /* Services discovery */
 
@@ -296,6 +308,7 @@ VLC_EXPORT( playlist_item_t *, playlist_NodeCreate, ( playlist_t *,int,char *, p
 VLC_EXPORT( int, playlist_NodeAppend, (playlist_t *,int,playlist_item_t*,playlist_item_t *) );
 VLC_EXPORT( int, playlist_NodeInsert, (playlist_t *,int,playlist_item_t*,playlist_item_t *, int) );
 VLC_EXPORT( int, playlist_NodeRemoveItem, (playlist_t *,playlist_item_t*,playlist_item_t *) );
+VLC_EXPORT( int, playlist_NodeRemoveParent, (playlist_t *,playlist_item_t*,playlist_item_t *) );
 VLC_EXPORT( int, playlist_NodeChildrenCount, (playlist_t *,playlist_item_t* ) );
 VLC_EXPORT( playlist_item_t *, playlist_ChildSearchName, (playlist_item_t*, const char* ) );
 VLC_EXPORT( int, playlist_NodeDelete, ( playlist_t *, playlist_item_t *, vlc_bool_t , vlc_bool_t ) );
@@ -347,9 +360,11 @@ VLC_EXPORT( int, playlist_ItemAddOption, (playlist_item_t *, const char *) );
 #define playlist_SortID(p, i) playlist_Sort( p, SORT_ID, i)
 #define playlist_SortTitle(p, i) playlist_Sort( p, SORT_TITLE, i)
 #define playlist_SortAuthor(p, i) playlist_Sort( p, SORT_AUTHOR, i)
+#define playlist_SortAlbum(p, i) playlist_Sort( p, SORT_ALBUM, i)
 #define playlist_SortGroup(p, i) playlist_Sort( p, SORT_GROUP, i)
 VLC_EXPORT( int,  playlist_Sort, ( playlist_t *, int, int) );
 VLC_EXPORT( int,  playlist_Move, ( playlist_t *, int, int ) );
+VLC_EXPORT( int,  playlist_TreeMove, ( playlist_t *, playlist_item_t *, playlist_item_t *, int, int ) );
 VLC_EXPORT( int,  playlist_NodeGroup, ( playlist_t *, int,playlist_item_t *,playlist_item_t **,int, int, int ) );
 VLC_EXPORT( int,  playlist_NodeSort, ( playlist_t *, playlist_item_t *,int, int ) );
 VLC_EXPORT( int,  playlist_RecursiveNodeSort, ( playlist_t *, playlist_item_t *,int, int ) );