playlist

playlist

Synopsis




enum                PlaylistSortType;
enum                PlaylistDupsType;
enum                PlaylistFormat;
#define             PLAYLIST_ENTRY                      (x)
                    PlaylistEntry;
#define             PLAYLIST                            (x)
                    Playlist;
enum                PlaylistAssociation;
PlaylistEntry*      playlist_entry_new                  (const gchar *filename,
                                                         const gchar *title,
                                                         const gint len,
                                                         InputPlugin *dec);
void                playlist_entry_free                 (PlaylistEntry *entry);
void                playlist_entry_associate            (Playlist *playlist,
                                                         PlaylistEntry *entry,
                                                         PlaylistAssociation assoc);
void                playlist_entry_associate_pos        (Playlist *playlist,
                                                         PlaylistEntry *entry,
                                                         PlaylistAssociation assoc,
                                                         gint pos);
void                playlist_init                       (void);
void                playlist_add_playlist               (Playlist *);
void                playlist_remove_playlist            (Playlist *);
void                playlist_select_playlist            (Playlist *);
void                playlist_select_next                (void);
void                playlist_select_prev                (void);
GList*              playlist_get_playlists              (void);
void                playlist_clear                      (Playlist *playlist);
void                playlist_delete                     (Playlist *playlist,
                                                         gboolean crop);
gboolean            playlist_add                        (Playlist *playlist,
                                                         const gchar *filename);
gboolean            playlist_ins                        (Playlist *playlist,
                                                         const gchar *filename,
                                                         gint pos);
guint               playlist_add_dir                    (Playlist *playlist,
                                                         const gchar *dir);
guint               playlist_ins_dir                    (Playlist *playlist,
                                                         const gchar *dir,
                                                         gint pos,
                                                         gboolean background);
guint               playlist_add_url                    (Playlist *playlist,
                                                         const gchar *url);
guint               playlist_ins_url                    (Playlist *playlist,
                                                         const gchar *string,
                                                         gint pos);
void                playlist_set_info                   (Playlist *playlist,
                                                         const gchar *title,
                                                         gint length,
                                                         gint rate,
                                                         gint freq,
                                                         gint nch);
void                playlist_set_info_old_abi           (const gchar *title,
                                                         gint length,
                                                         gint rate,
                                                         gint freq,
                                                         gint nch);
void                playlist_check_pos_current          (Playlist *playlist);
void                playlist_next                       (Playlist *playlist);
void                playlist_prev                       (Playlist *playlist);
void                playlist_queue                      (Playlist *playlist);
void                playlist_queue_position             (Playlist *playlist,
                                                         guint pos);
void                playlist_queue_remove               (Playlist *playlist,
                                                         guint pos);
gint                playlist_queue_get_length           (Playlist *playlist);
gboolean            playlist_is_position_queued         (Playlist *playlist,
                                                         guint pos);
void                playlist_clear_queue                (Playlist *playlist);
gint                playlist_get_queue_position         (Playlist *playlist,
                                                         PlaylistEntry *entry);
gint                playlist_get_queue_position_number  (Playlist *playlist,
                                                         guint pos);
gint                playlist_get_queue_qposition_number (Playlist *playlist,
                                                         guint pos);
void                playlist_eof_reached                (Playlist *playlist);
void                playlist_set_position               (Playlist *playlist,
                                                         guint pos);
gint                playlist_get_length                 (Playlist *playlist);
gint                playlist_get_length_nolock          (Playlist *playlist);
gint                playlist_get_position               (Playlist *playlist);
gint                playlist_get_position_nolock        (Playlist *playlist);
gchar*              playlist_get_info_text              (Playlist *playlist);
gint                playlist_get_current_length         (Playlist *playlist);
gboolean            playlist_save                       (Playlist *playlist,
                                                         const gchar *filename);
gboolean            playlist_load                       (Playlist *playlist,
                                                         const gchar *filename);
void                playlist_start_get_info_thread      (void);
void                playlist_stop_get_info_thread       ();
void                playlist_start_get_info_scan        (void);
void                playlist_sort                       (Playlist *playlist,
                                                         PlaylistSortType type);
void                playlist_sort_selected              (Playlist *playlist,
                                                         PlaylistSortType type);
void                playlist_reverse                    (Playlist *playlist);
void                playlist_random                     (Playlist *playlist);
void                playlist_remove_duplicates          (Playlist *playlist,
                                                         PlaylistDupsType );
void                playlist_remove_dead_files          (Playlist *playlist);
void                playlist_fileinfo_current           (Playlist *playlist);
void                playlist_fileinfo                   (Playlist *playlist,
                                                         guint pos);
void                playlist_delete_index               (Playlist *playlist,
                                                         guint pos);
void                playlist_delete_filenames           (Playlist *playlist,
                                                         GList *filenames);
PlaylistEntry*      playlist_get_entry_to_play          (Playlist *playlist);
const gchar*        playlist_get_filename_to_play       (Playlist *playlist);
gchar*              playlist_get_filename               (Playlist *playlist,
                                                         guint pos);
gchar*              playlist_get_songtitle              (Playlist *playlist,
                                                         guint pos);
TitleInput*         playlist_get_tuple                  (Playlist *playlist,
                                                         guint pos);
gint                playlist_get_songtime               (Playlist *playlist,
                                                         guint pos);
GList*              playlist_get_selected               (Playlist *playlist);
GList*              playlist_get_selected_list          (Playlist *playlist);
int                 playlist_get_num_selected           (Playlist *playlist);
void                playlist_get_total_time             (Playlist *playlist,
                                                         gulong *total_time,
                                                         gulong *selection_time,
                                                         gboolean *total_more,
                                                         gboolean *selection_more);
gint                playlist_select_search              (Playlist *playlist,
                                                         TitleInput *tuple,
                                                         gint action);
void                playlist_select_all                 (Playlist *playlist,
                                                         gboolean set);
void                playlist_select_range               (Playlist *playlist,
                                                         gint min,
                                                         gint max,
                                                         gboolean sel);
void                playlist_select_invert_all          (Playlist *playlist);
gboolean            playlist_select_invert              (Playlist *playlist,
                                                         guint pos);
gboolean            playlist_read_info_selection        (Playlist *playlist);
void                playlist_read_info                  (Playlist *playlist,
                                                         guint pos);
void                playlist_set_shuffle                (gboolean shuffle);
void                playlist_clear_selected             (Playlist *playlist);
GList*              get_playlist_nth                    (Playlist *playlist,
                                                         guint );
gboolean            playlist_set_current_name           (Playlist *playlist,
                                                         const gchar *filename);
const gchar*        playlist_get_current_name           (Playlist *playlist);
Playlist*           playlist_new                        (void);
void                playlist_free                       (Playlist *playlist);
Playlist*           playlist_new_from_selected          (void);
PlaylistFormat      playlist_format_get_from_name       (const gchar *filename);
gboolean            is_playlist_name                    (const gchar *filename);
#define             PLAYLIST_LOCK                       (m)
#define             PLAYLIST_UNLOCK                     (m)
void                playlist_load_ins_file              (Playlist *playlist,
                                                         const gchar *filename,
                                                         const gchar *playlist_name,
                                                         gint pos,
                                                         const gchar *title,
                                                         gint len);
void                playlist_load_ins_file_tuple        (Playlist *playlist,
                                                         const gchar *filename_p,
                                                         const gchar *playlist_name,
                                                         gint pos,
                                                         TitleInput *tuple);
Playlist*           playlist_get_active                 (void);

Description

Details

enum PlaylistSortType

typedef enum {
    PLAYLIST_SORT_PATH,
    PLAYLIST_SORT_FILENAME,
    PLAYLIST_SORT_TITLE,
    PLAYLIST_SORT_ARTIST,
    PLAYLIST_SORT_DATE,
    PLAYLIST_SORT_TRACK,
    PLAYLIST_SORT_PLAYLIST
} PlaylistSortType;


enum PlaylistDupsType

typedef enum {
    PLAYLIST_DUPS_PATH,
    PLAYLIST_DUPS_FILENAME,
    PLAYLIST_DUPS_TITLE
} PlaylistDupsType;


enum PlaylistFormat

typedef enum {
    PLAYLIST_FORMAT_UNKNOWN = -1,
    PLAYLIST_FORMAT_M3U,
    PLAYLIST_FORMAT_PLS,
    PLAYLIST_FORMAT_COUNT
} PlaylistFormat;


PLAYLIST_ENTRY()

#define PLAYLIST_ENTRY(x)  ((PlaylistEntry*)(x))

x :

PlaylistEntry

typedef struct {
    gchar *filename;
    gchar *title;
    gint length;
    gboolean selected;
    InputPlugin *decoder;
    TitleInput *tuple;		/* cached entry tuple, if available */
} PlaylistEntry;


PLAYLIST()

#define PLAYLIST(x)  ((Playlist *)(x))

x :

Playlist

typedef struct {
    gchar         *title;
    gchar         *filename;
    gint           length;
    GList         *entries;
    GList         *queue;
    GList         *shuffle;
    PlaylistEntry *position;    /* bleah */
    gulong         pl_total_time;
    gulong         pl_selection_time;
    gboolean       pl_total_more;
    gboolean       pl_selection_more;
    gboolean       loading_playlist;
    GMutex        *mutex;       /* this is required for multiple playlist */
    GList *tail; /* marker for the last element in playlist->entries */
} Playlist;


enum PlaylistAssociation

typedef enum {
    PLAYLIST_ASSOC_LINEAR,
    PLAYLIST_ASSOC_QUEUE,
    PLAYLIST_ASSOC_SHUFFLE
} PlaylistAssociation;


playlist_entry_new ()

PlaylistEntry*      playlist_entry_new                  (const gchar *filename,
                                                         const gchar *title,
                                                         const gint len,
                                                         InputPlugin *dec);

filename :
title :
len :
dec :
Returns :

playlist_entry_free ()

void                playlist_entry_free                 (PlaylistEntry *entry);

entry :

playlist_entry_associate ()

void                playlist_entry_associate            (Playlist *playlist,
                                                         PlaylistEntry *entry,
                                                         PlaylistAssociation assoc);

playlist :
entry :
assoc :

playlist_entry_associate_pos ()

void                playlist_entry_associate_pos        (Playlist *playlist,
                                                         PlaylistEntry *entry,
                                                         PlaylistAssociation assoc,
                                                         gint pos);

playlist :
entry :
assoc :
pos :

playlist_init ()

void                playlist_init                       (void);


playlist_add_playlist ()

void                playlist_add_playlist               (Playlist *);

Param1 :

playlist_remove_playlist ()

void                playlist_remove_playlist            (Playlist *);

Param1 :

playlist_select_playlist ()

void                playlist_select_playlist            (Playlist *);

Param1 :

playlist_select_next ()

void                playlist_select_next                (void);


playlist_select_prev ()

void                playlist_select_prev                (void);


playlist_get_playlists ()

GList*              playlist_get_playlists              (void);

Returns :

playlist_clear ()

void                playlist_clear                      (Playlist *playlist);

playlist :

playlist_delete ()

void                playlist_delete                     (Playlist *playlist,
                                                         gboolean crop);

playlist :
crop :

playlist_add ()

gboolean            playlist_add                        (Playlist *playlist,
                                                         const gchar *filename);

playlist :
filename :
Returns :

playlist_ins ()

gboolean            playlist_ins                        (Playlist *playlist,
                                                         const gchar *filename,
                                                         gint pos);

playlist :
filename :
pos :
Returns :

playlist_add_dir ()

guint               playlist_add_dir                    (Playlist *playlist,
                                                         const gchar *dir);

playlist :
dir :
Returns :

playlist_ins_dir ()

guint               playlist_ins_dir                    (Playlist *playlist,
                                                         const gchar *dir,
                                                         gint pos,
                                                         gboolean background);

playlist :
dir :
pos :
background :
Returns :

playlist_add_url ()

guint               playlist_add_url                    (Playlist *playlist,
                                                         const gchar *url);

playlist :
url :
Returns :

playlist_ins_url ()

guint               playlist_ins_url                    (Playlist *playlist,
                                                         const gchar *string,
                                                         gint pos);

playlist :
string :
pos :
Returns :

playlist_set_info ()

void                playlist_set_info                   (Playlist *playlist,
                                                         const gchar *title,
                                                         gint length,
                                                         gint rate,
                                                         gint freq,
                                                         gint nch);

playlist :
title :
length :
rate :
freq :
nch :

playlist_set_info_old_abi ()

void                playlist_set_info_old_abi           (const gchar *title,
                                                         gint length,
                                                         gint rate,
                                                         gint freq,
                                                         gint nch);

title :
length :
rate :
freq :
nch :

playlist_check_pos_current ()

void                playlist_check_pos_current          (Playlist *playlist);

playlist :

playlist_next ()

void                playlist_next                       (Playlist *playlist);

playlist :

playlist_prev ()

void                playlist_prev                       (Playlist *playlist);

playlist :

playlist_queue ()

void                playlist_queue                      (Playlist *playlist);

playlist :

playlist_queue_position ()

void                playlist_queue_position             (Playlist *playlist,
                                                         guint pos);

playlist :
pos :

playlist_queue_remove ()

void                playlist_queue_remove               (Playlist *playlist,
                                                         guint pos);

playlist :
pos :

playlist_queue_get_length ()

gint                playlist_queue_get_length           (Playlist *playlist);

playlist :
Returns :

playlist_is_position_queued ()

gboolean            playlist_is_position_queued         (Playlist *playlist,
                                                         guint pos);

playlist :
pos :
Returns :

playlist_clear_queue ()

void                playlist_clear_queue                (Playlist *playlist);

playlist :

playlist_get_queue_position ()

gint                playlist_get_queue_position         (Playlist *playlist,
                                                         PlaylistEntry *entry);

playlist :
entry :
Returns :

playlist_get_queue_position_number ()

gint                playlist_get_queue_position_number  (Playlist *playlist,
                                                         guint pos);

playlist :
pos :
Returns :

playlist_get_queue_qposition_number ()

gint                playlist_get_queue_qposition_number (Playlist *playlist,
                                                         guint pos);

playlist :
pos :
Returns :

playlist_eof_reached ()

void                playlist_eof_reached                (Playlist *playlist);

playlist :

playlist_set_position ()

void                playlist_set_position               (Playlist *playlist,
                                                         guint pos);

playlist :
pos :

playlist_get_length ()

gint                playlist_get_length                 (Playlist *playlist);

playlist :
Returns :

playlist_get_length_nolock ()

gint                playlist_get_length_nolock          (Playlist *playlist);

playlist :
Returns :

playlist_get_position ()

gint                playlist_get_position               (Playlist *playlist);

playlist :
Returns :

playlist_get_position_nolock ()

gint                playlist_get_position_nolock        (Playlist *playlist);

playlist :
Returns :

playlist_get_info_text ()

gchar*              playlist_get_info_text              (Playlist *playlist);

playlist :
Returns :

playlist_get_current_length ()

gint                playlist_get_current_length         (Playlist *playlist);

playlist :
Returns :

playlist_save ()

gboolean            playlist_save                       (Playlist *playlist,
                                                         const gchar *filename);

playlist :
filename :
Returns :

playlist_load ()

gboolean            playlist_load                       (Playlist *playlist,
                                                         const gchar *filename);

playlist :
filename :
Returns :

playlist_start_get_info_thread ()

void                playlist_start_get_info_thread      (void);


playlist_stop_get_info_thread ()

void                playlist_stop_get_info_thread       ();


playlist_start_get_info_scan ()

void                playlist_start_get_info_scan        (void);


playlist_sort ()

void                playlist_sort                       (Playlist *playlist,
                                                         PlaylistSortType type);

playlist :
type :

playlist_sort_selected ()

void                playlist_sort_selected              (Playlist *playlist,
                                                         PlaylistSortType type);

playlist :
type :

playlist_reverse ()

void                playlist_reverse                    (Playlist *playlist);

playlist :

playlist_random ()

void                playlist_random                     (Playlist *playlist);

playlist :

playlist_remove_duplicates ()

void                playlist_remove_duplicates          (Playlist *playlist,
                                                         PlaylistDupsType );

playlist :
Param2 :

playlist_remove_dead_files ()

void                playlist_remove_dead_files          (Playlist *playlist);

playlist :

playlist_fileinfo_current ()

void                playlist_fileinfo_current           (Playlist *playlist);

playlist :

playlist_fileinfo ()

void                playlist_fileinfo                   (Playlist *playlist,
                                                         guint pos);

playlist :
pos :

playlist_delete_index ()

void                playlist_delete_index               (Playlist *playlist,
                                                         guint pos);

playlist :
pos :

playlist_delete_filenames ()

void                playlist_delete_filenames           (Playlist *playlist,
                                                         GList *filenames);

playlist :
filenames :

playlist_get_entry_to_play ()

PlaylistEntry*      playlist_get_entry_to_play          (Playlist *playlist);

playlist :
Returns :

playlist_get_filename_to_play ()

const gchar*        playlist_get_filename_to_play       (Playlist *playlist);

playlist :
Returns :

playlist_get_filename ()

gchar*              playlist_get_filename               (Playlist *playlist,
                                                         guint pos);

playlist :
pos :
Returns :

playlist_get_songtitle ()

gchar*              playlist_get_songtitle              (Playlist *playlist,
                                                         guint pos);

playlist :
pos :
Returns :

playlist_get_tuple ()

TitleInput*         playlist_get_tuple                  (Playlist *playlist,
                                                         guint pos);

playlist :
pos :
Returns :

playlist_get_songtime ()

gint                playlist_get_songtime               (Playlist *playlist,
                                                         guint pos);

playlist :
pos :
Returns :

playlist_get_selected ()

GList*              playlist_get_selected               (Playlist *playlist);

playlist :
Returns :

playlist_get_selected_list ()

GList*              playlist_get_selected_list          (Playlist *playlist);

playlist :
Returns :

playlist_get_num_selected ()

int                 playlist_get_num_selected           (Playlist *playlist);

playlist :
Returns :

playlist_get_total_time ()

void                playlist_get_total_time             (Playlist *playlist,
                                                         gulong *total_time,
                                                         gulong *selection_time,
                                                         gboolean *total_more,
                                                         gboolean *selection_more);

playlist :
total_time :
selection_time :
total_more :
selection_more :

playlist_select_search ()

gint                playlist_select_search              (Playlist *playlist,
                                                         TitleInput *tuple,
                                                         gint action);

playlist :
tuple :
action :
Returns :

playlist_select_all ()

void                playlist_select_all                 (Playlist *playlist,
                                                         gboolean set);

playlist :
set :

playlist_select_range ()

void                playlist_select_range               (Playlist *playlist,
                                                         gint min,
                                                         gint max,
                                                         gboolean sel);

playlist :
min :
max :
sel :

playlist_select_invert_all ()

void                playlist_select_invert_all          (Playlist *playlist);

playlist :

playlist_select_invert ()

gboolean            playlist_select_invert              (Playlist *playlist,
                                                         guint pos);

playlist :
pos :
Returns :

playlist_read_info_selection ()

gboolean            playlist_read_info_selection        (Playlist *playlist);

playlist :
Returns :

playlist_read_info ()

void                playlist_read_info                  (Playlist *playlist,
                                                         guint pos);

playlist :
pos :

playlist_set_shuffle ()

void                playlist_set_shuffle                (gboolean shuffle);

shuffle :

playlist_clear_selected ()

void                playlist_clear_selected             (Playlist *playlist);

playlist :

get_playlist_nth ()

GList*              get_playlist_nth                    (Playlist *playlist,
                                                         guint );

playlist :
Param2 :
Returns :

playlist_set_current_name ()

gboolean            playlist_set_current_name           (Playlist *playlist,
                                                         const gchar *filename);

playlist :
filename :
Returns :

playlist_get_current_name ()

const gchar*        playlist_get_current_name           (Playlist *playlist);

playlist :
Returns :

playlist_new ()

Playlist*           playlist_new                        (void);

Returns :

playlist_free ()

void                playlist_free                       (Playlist *playlist);

playlist :

playlist_new_from_selected ()

Playlist*           playlist_new_from_selected          (void);

Returns :

playlist_format_get_from_name ()

PlaylistFormat      playlist_format_get_from_name       (const gchar *filename);

filename :
Returns :

is_playlist_name ()

gboolean            is_playlist_name                    (const gchar *filename);

filename :
Returns :

PLAYLIST_LOCK()

#define PLAYLIST_LOCK(m)    g_mutex_lock(m)

m :

PLAYLIST_UNLOCK()

#define PLAYLIST_UNLOCK(m)  g_mutex_unlock(m)

m :

playlist_load_ins_file ()

void                playlist_load_ins_file              (Playlist *playlist,
                                                         const gchar *filename,
                                                         const gchar *playlist_name,
                                                         gint pos,
                                                         const gchar *title,
                                                         gint len);

playlist :
filename :
playlist_name :
pos :
title :
len :

playlist_load_ins_file_tuple ()

void                playlist_load_ins_file_tuple        (Playlist *playlist,
                                                         const gchar *filename_p,
                                                         const gchar *playlist_name,
                                                         gint pos,
                                                         TitleInput *tuple);

playlist :
filename_p :
playlist_name :
pos :
tuple :

playlist_get_active ()

Playlist*           playlist_get_active                 (void);

Returns :