rockbox/apps/playlist.h
Daniel Stenberg 01bc8e682a play_list() is now modified to accept a playlist index that is either
meant in the unshuffled list or in the shuffled. There's an extra
parameter giving that info (which of course only makes sense when
shuffle is enabled).

This should make resume work with play-all-dir in shuffled mode.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1889 a1c6a512-1295-4272-9138-f99709370657
2002-08-21 15:08:01 +00:00

53 lines
1.9 KiB
C

/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2002 by wavey@wavey.org
*
* All files in this archive are subject to the GNU General Public License.
* See the file COPYING in the source tree root for full license agreement.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef __PLAYLIST_H__
#define __PLAYLIST_H__
#include <stdbool.h>
#include "file.h"
#include "applimits.h"
/* playlist data */
typedef struct
{
char filename[MAX_PATH]; /* path name of m3u playlist on disk */
int dirlen; /* Length of the path to the playlist file */
int indices[MAX_PLAYLIST_SIZE]; /* array of indices */
int index; /* index of *NEXT* track to play */
int seed; /* random seed */
int amount; /* number of tracks in the index */
bool in_ram; /* True if the playlist is RAM-based */
} playlist_info_t;
extern playlist_info_t playlist;
extern bool playlist_shuffle;
int play_list(char *dir, char *file, int start_index,
bool shuffled_index, int start_offset, int random_seed );
char* playlist_next(int steps, int* id);
void randomise_playlist( unsigned int seed );
void sort_playlist(void);
void empty_playlist(void);
void add_indices_to_playlist(void);
void playlist_clear(void);
int playlist_add(char *filename);
#endif /* __PLAYLIST_H__ */