annotate Gui/win32/playlist.h @ 19056:36f993b7f91d

freeze (this is pretty much oded shimons patch from a few month ago)
author michael
date Thu, 13 Jul 2006 10:26:33 +0000
parents d450ec82ae57
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18914
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
1 /*
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
2 MPlayer Gui for win32
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
3 Copyright (c) 2003 Sascha Sommer <saschasommer@freenet.de>
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
4 Copyright (c) 2006 Erik Augustson <erik_27can@yahoo.com>
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
5 Copyright (c) 2006 Gianluigi Tiesi <sherpya@netfarm.it>
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
6
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
7 This program is free software; you can redistribute it and/or modify
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
9 the Free Software Foundation; either version 2 of the License, or
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
10 (at your option) any later version.
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
11
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
12 This program is distributed in the hope that it will be useful,
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
15 GNU General Public License for more details.
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
16
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
18 along with this program; if not, write to the Free Software
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
20 */
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
21
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
22 #ifndef _PLAYLIST_H
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
23 #define _PLAYLIST_H
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
24
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
25 typedef struct
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
26 {
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
27 char *filename;
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
28 char *artist;
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
29 char *title;
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
30 int duration;
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
31 } pl_track_t;
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
32
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
33 typedef struct playlist_t playlist_t;
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
34 struct playlist_t
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
35 {
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
36 int current; /* currently used track */
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
37 int trackcount; /* number of tracknumber */
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
38 pl_track_t **tracks; /* tracklist */
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
39 void (*add_track)(playlist_t* playlist, const char *filename, const char *artist, const char *title, int duration);
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
40 void (*remove_track)(playlist_t* playlist, int number);
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
41 void (*moveup_track)(playlist_t* playlist, int number);
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
42 void (*movedown_track)(playlist_t* playlist, int number);
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
43 void (*dump_playlist)(playlist_t* playlist);
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
44 void (*sort_playlist)(playlist_t* playlist, int opt);
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
45 void (*clear_playlist)(playlist_t* playlist);
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
46 void (*free_playlist)(playlist_t* playlist);
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
47 };
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
48
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
49 #define SORT_BYFILENAME 1
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
50 #define SORT_BYARTIST 2
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
51 #define SORT_BYTITLE 3
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
52 #define SORT_BYDURATION 4
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
53
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
54 extern playlist_t *create_playlist(void);
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
55 extern BOOL adddirtoplaylist(playlist_t *playlist, const char* path, BOOL recursive);
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
56
d450ec82ae57 Initial win32 gui release.
vayne
parents:
diff changeset
57 #endif