playlist-new.c File Reference

#include <time.h>
#include <glib.h>
#include <libaudcore/audstrings.h>
#include <libaudcore/eventqueue.h>
#include <libaudcore/hook.h>
#include <libaudcore/stringpool.h>
#include <libaudcore/tuple_formatter.h>
#include "config.h"
#include "i18n.h"
#include "misc.h"
#include "playback.h"
#include "playlist.h"
#include "plugins.h"
#include "util.h"

Go to the source code of this file.

Classes

struct  Entry
struct  Playlist
struct  ScanItem

Defines

#define SCAN_THREADS   4
#define STATE_FILE   "playlist-state"
#define ENTER   g_mutex_lock (mutex)
#define LEAVE   g_mutex_unlock (mutex)
#define LEAVE_RET_VOID
#define LEAVE_RET(ret)
#define DECLARE_PLAYLIST   Playlist * playlist
#define DECLARE_PLAYLIST_ENTRY
#define LOOKUP_PLAYLIST
#define LOOKUP_PLAYLIST_RET(ret)
#define LOOKUP_PLAYLIST_ENTRY
#define LOOKUP_PLAYLIST_ENTRY_RET(ret)
#define SELECTION_HAS_CHANGED(p, a, c)   queue_update (PLAYLIST_UPDATE_SELECTION, p, a, c)
#define METADATA_HAS_CHANGED(p, a, c)
#define PLAYLIST_HAS_CHANGED(p, a, c)

Enumerations

enum  { RESUME_STOP, RESUME_PLAY, RESUME_PAUSE }

Functions

static void * scanner (void *unused)
static gchar * title_from_tuple (Tuple *tuple)
static void entry_set_tuple_real (Entry *entry, Tuple *tuple)
static void entry_set_tuple (Playlist *playlist, Entry *entry, Tuple *tuple)
static void entry_set_failed (Playlist *playlist, Entry *entry)
static void entry_cancel_scan (Entry *entry)
static Entryentry_new (gchar *filename, Tuple *tuple, PluginHandle *decoder)
static void entry_free (Entry *entry)
static Playlistplaylist_new (void)
static void playlist_free (Playlist *playlist)
static void number_playlists (gint at, gint length)
static Playlistlookup_playlist (gint playlist_num)
static void number_entries (Playlist *playlist, gint at, gint length)
static Entrylookup_entry (Playlist *playlist, gint entry_num)
static gboolean update (void *unused)
static void queue_update (gint level, gint list, gint at, gint count)
gboolean playlist_update_pending (void)
gboolean playlist_update_range (gint *playlist_num, gint *at, gint *count)
static gboolean entry_scan_is_queued (Entry *entry)
static void entry_queue_scan (Playlist *playlist, Entry *entry)
static ScanItementry_find_to_scan (void)
static void scan_trigger (void)
static Entryget_entry (gint playlist_num, gint entry_num, gboolean need_decoder, gboolean need_tuple)
static Entryget_playback_entry (gboolean need_decoder, gboolean need_tuple)
void playlist_init (void)
void playlist_end (void)
gint playlist_count (void)
void playlist_insert (gint at)
void playlist_reorder (gint from, gint to, gint count)
void playlist_delete (gint playlist_num)
gint playlist_get_unique_id (gint playlist_num)
gint playlist_by_unique_id (gint id)
void playlist_set_filename (gint playlist_num, const gchar *filename)
gchar * playlist_get_filename (gint playlist_num)
void playlist_set_title (gint playlist_num, const gchar *title)
gchar * playlist_get_title (gint playlist_num)
void playlist_set_active (gint playlist_num)
gint playlist_get_active (void)
void playlist_set_playing (gint playlist_num)
gint playlist_get_playing (void)
static void set_position (Playlist *playlist, Entry *entry)
gint playlist_entry_count (gint playlist_num)
void playlist_entry_insert_batch_raw (gint playlist_num, gint at, struct index *filenames, struct index *tuples, struct index *decoders)
void playlist_entry_delete (gint playlist_num, gint at, gint number)
gchar * playlist_entry_get_filename (gint playlist_num, gint entry_num)
PluginHandleplaylist_entry_get_decoder (gint playlist_num, gint entry_num, gboolean fast)
Tupleplaylist_entry_get_tuple (gint playlist_num, gint entry_num, gboolean fast)
gchar * playlist_entry_get_title (gint playlist_num, gint entry_num, gboolean fast)
void playlist_entry_describe (gint playlist_num, gint entry_num, gchar **title, gchar **artist, gchar **album, gboolean fast)
gint playlist_entry_get_length (gint playlist_num, gint entry_num, gboolean fast)
void playlist_set_position (gint playlist_num, gint entry_num)
gint playlist_get_position (gint playlist_num)
void playlist_entry_set_selected (gint playlist_num, gint entry_num, gboolean selected)
gboolean playlist_entry_get_selected (gint playlist_num, gint entry_num)
gint playlist_selected_count (gint playlist_num)
void playlist_select_all (gint playlist_num, gboolean selected)
gint playlist_shift (gint playlist_num, gint entry_num, gint distance)
void playlist_delete_selected (gint playlist_num)
void playlist_reverse (gint playlist_num)
void playlist_randomize (gint playlist_num)
static gint filename_compare (const void *_a, const void *_b, void *_compare)
static gint tuple_compare (const void *_a, const void *_b, void *_compare)
static gint title_compare (const void *_a, const void *_b, void *_compare)
static void sort (Playlist *playlist, gint(*compare)(const void *a, const void *b, void *inner), void *inner)
static void sort_selected (Playlist *playlist, gint(*compare)(const void *a, const void *b, void *inner), void *inner)
static gboolean entries_are_scanned (Playlist *playlist, gboolean selected)
void playlist_sort_by_filename (gint playlist_num, gint(*compare)(const gchar *a, const gchar *b))
void playlist_sort_by_tuple (gint playlist_num, gint(*compare)(const Tuple *a, const Tuple *b))
void playlist_sort_by_title (gint playlist_num, gint(*compare)(const gchar *a, const gchar *b))
void playlist_sort_selected_by_filename (gint playlist_num, gint(*compare)(const gchar *a, const gchar *b))
void playlist_sort_selected_by_tuple (gint playlist_num, gint(*compare)(const Tuple *a, const Tuple *b))
void playlist_sort_selected_by_title (gint playlist_num, gint(*compare)(const gchar *a, const gchar *b))
void playlist_reformat_titles (void)
void playlist_trigger_scan (void)
static void playlist_rescan_real (gint playlist_num, gboolean selected)
void playlist_rescan (gint playlist_num)
void playlist_rescan_selected (gint playlist_num)
void playlist_rescan_file (const gchar *filename)
gint64 playlist_get_total_length (gint playlist_num)
gint64 playlist_get_selected_length (gint playlist_num)
gint playlist_queue_count (gint playlist_num)
void playlist_queue_insert (gint playlist_num, gint at, gint entry_num)
void playlist_queue_insert_selected (gint playlist_num, gint at)
gint playlist_queue_get_entry (gint playlist_num, gint at)
gint playlist_queue_find_entry (gint playlist_num, gint entry_num)
void playlist_queue_delete (gint playlist_num, gint at, gint number)
void playlist_queue_delete_selected (gint playlist_num)
static gboolean shuffle_prev (Playlist *playlist)
gboolean playlist_prev_song (gint playlist_num)
static gboolean shuffle_next (Playlist *playlist)
static void shuffle_reset (Playlist *playlist)
gboolean playlist_next_song (gint playlist_num, gboolean repeat)
gint playback_entry_get_position (void)
PluginHandleplayback_entry_get_decoder (void)
Tupleplayback_entry_get_tuple (void)
gchar * playback_entry_get_title (void)
gint playback_entry_get_length (void)
void playback_entry_set_tuple (Tuple *tuple)
gint playback_entry_get_start_time (void)
gint playback_entry_get_end_time (void)
void playlist_save_state (void)
static void parse_next (FILE *handle)
static gboolean parse_integer (const gchar *key, gint *value)
static gchar * parse_string (const gchar *key)
void playlist_load_state (void)
void playlist_resume (void)

Variables

static GMutex * mutex
static GCond * cond
static gint next_unique_id = 1000
static struct indexplaylists = NULL
static Playlistactive_playlist = NULL
static Playlistplaying_playlist = NULL
static gint update_source = 0
struct {
   gboolean   pending
   gint   level
   gint   playlist
   gint   before
   gint   after
next_update
struct {
   gboolean   pending
   gint   level
   gint   playlist
   gint   before
   gint   after
last_update
static gint resume_state
static gint resume_time
static GThread * scan_threads [SCAN_THREADS]
static gboolean scan_quit
static gint scan_playlist
static gint scan_row
static GQueue scan_queue = G_QUEUE_INIT
static ScanItemscan_items [SCAN_THREADS]
static gchar parse_key [512]
static gchar * parse_value

Define Documentation

#define DECLARE_PLAYLIST   Playlist * playlist
#define DECLARE_PLAYLIST_ENTRY
#define ENTER   g_mutex_lock (mutex)

Definition at line 45 of file playlist-new.c.

Referenced by playback_entry_get_decoder(), playback_entry_get_end_time(), playback_entry_get_length(), playback_entry_get_position(), playback_entry_get_start_time(), playback_entry_get_title(), playback_entry_get_tuple(), playback_entry_set_tuple(), playlist_by_unique_id(), playlist_count(), playlist_delete(), playlist_delete_selected(), playlist_end(), playlist_entry_count(), playlist_entry_delete(), playlist_entry_describe(), playlist_entry_get_decoder(), playlist_entry_get_filename(), playlist_entry_get_length(), playlist_entry_get_selected(), playlist_entry_get_title(), playlist_entry_get_tuple(), playlist_entry_insert_batch_raw(), playlist_entry_set_selected(), playlist_get_active(), playlist_get_filename(), playlist_get_playing(), playlist_get_position(), playlist_get_selected_length(), playlist_get_title(), playlist_get_total_length(), playlist_get_unique_id(), playlist_init(), playlist_insert(), playlist_load_state(), playlist_next_song(), playlist_prev_song(), playlist_queue_count(), playlist_queue_delete(), playlist_queue_delete_selected(), playlist_queue_find_entry(), playlist_queue_get_entry(), playlist_queue_insert(), playlist_queue_insert_selected(), playlist_randomize(), playlist_reformat_titles(), playlist_reorder(), playlist_rescan_file(), playlist_rescan_real(), playlist_reverse(), playlist_save_state(), playlist_select_all(), playlist_selected_count(), playlist_set_active(), playlist_set_filename(), playlist_set_playing(), playlist_set_position(), playlist_set_title(), playlist_shift(), playlist_sort_by_filename(), playlist_sort_by_title(), playlist_sort_by_tuple(), playlist_sort_selected_by_filename(), playlist_sort_selected_by_title(), playlist_sort_selected_by_tuple(), playlist_trigger_scan(), playlist_update_pending(), playlist_update_range(), scanner(), and update().

#define LEAVE   g_mutex_unlock (mutex)
#define LEAVE_RET ( ret   ) 
#define LEAVE_RET_VOID
#define LOOKUP_PLAYLIST
#define LOOKUP_PLAYLIST_ENTRY
Value:
do { \
    LOOKUP_PLAYLIST; \
    if (! (entry = lookup_entry (playlist, entry_num))) \
        LEAVE_RET_VOID; \
} while (0)

Definition at line 75 of file playlist-new.c.

Referenced by playlist_entry_set_selected(), playlist_queue_insert(), and playlist_set_position().

#define LOOKUP_PLAYLIST_ENTRY_RET ( ret   ) 
Value:
do { \
    LOOKUP_PLAYLIST_RET(ret); \
    if (! (entry = lookup_entry (playlist, entry_num))) \
        LEAVE_RET(ret); \
} while (0)

Definition at line 81 of file playlist-new.c.

Referenced by playlist_entry_get_filename(), playlist_entry_get_selected(), playlist_queue_find_entry(), and playlist_shift().

#define LOOKUP_PLAYLIST_RET ( ret   ) 
#define METADATA_HAS_CHANGED ( p,
a,
 ) 
#define PLAYLIST_HAS_CHANGED ( p,
a,
 ) 
#define SCAN_THREADS   4
#define SELECTION_HAS_CHANGED ( p,
a,
 )     queue_update (PLAYLIST_UPDATE_SELECTION, p, a, c)
#define STATE_FILE   "playlist-state"

Definition at line 43 of file playlist-new.c.

Referenced by playlist_load_state(), and playlist_save_state().


Enumeration Type Documentation

anonymous enum
Enumerator:
RESUME_STOP 
RESUME_PLAY 
RESUME_PAUSE 

Definition at line 40 of file playlist-new.c.


Function Documentation

static gboolean entries_are_scanned ( Playlist playlist,
gboolean  selected 
) [static]
static void entry_cancel_scan ( Entry entry  )  [static]

Definition at line 247 of file playlist-new.c.

Referenced by entry_free(), and playback_entry_set_tuple().

static ScanItem* entry_find_to_scan ( void   )  [static]

Definition at line 484 of file playlist-new.c.

Referenced by scanner().

static void entry_free ( Entry entry  )  [static]

Definition at line 297 of file playlist-new.c.

Referenced by playlist_delete_selected(), playlist_entry_delete(), and playlist_free().

static Entry* entry_new ( gchar *  filename,
Tuple tuple,
PluginHandle decoder 
) [static]

Definition at line 272 of file playlist-new.c.

Referenced by playlist_entry_insert_batch_raw().

static void entry_queue_scan ( Playlist playlist,
Entry entry 
) [static]

Definition at line 471 of file playlist-new.c.

Referenced by get_entry(), and get_playback_entry().

static gboolean entry_scan_is_queued ( Entry entry  )  [static]

Definition at line 453 of file playlist-new.c.

Referenced by entry_find_to_scan(), and entry_queue_scan().

static void entry_set_failed ( Playlist playlist,
Entry entry 
) [static]

Definition at line 241 of file playlist-new.c.

Referenced by scanner().

static void entry_set_tuple ( Playlist playlist,
Entry entry,
Tuple tuple 
) [static]
static void entry_set_tuple_real ( Entry entry,
Tuple tuple 
) [static]

Definition at line 169 of file playlist-new.c.

Referenced by entry_new(), and entry_set_tuple().

static gint filename_compare ( const void *  _a,
const void *  _b,
void *  _compare 
) [static]
static Entry* get_entry ( gint  playlist_num,
gint  entry_num,
gboolean  need_decoder,
gboolean  need_tuple 
) [static]
static Entry* get_playback_entry ( gboolean  need_decoder,
gboolean  need_tuple 
) [static]
static Entry* lookup_entry ( Playlist playlist,
gint  entry_num 
) [static]

Definition at line 368 of file playlist-new.c.

Referenced by get_entry().

static Playlist* lookup_playlist ( gint  playlist_num  )  [static]
static void number_entries ( Playlist playlist,
gint  at,
gint  length 
) [static]
static void number_playlists ( gint  at,
gint  length 
) [static]

Definition at line 344 of file playlist-new.c.

Referenced by playlist_delete(), playlist_insert(), and playlist_reorder().

static gboolean parse_integer ( const gchar *  key,
gint value 
) [static]

Definition at line 2188 of file playlist-new.c.

Referenced by playlist_load_state().

static void parse_next ( FILE *  handle  )  [static]

Definition at line 2169 of file playlist-new.c.

Referenced by playlist_load_state().

static gchar* parse_string ( const gchar *  key  )  [static]

Definition at line 2194 of file playlist-new.c.

Referenced by playlist_load_state().

PluginHandle* playback_entry_get_decoder ( void   ) 

Definition at line 2042 of file playlist-new.c.

Referenced by playback_thread().

gint playback_entry_get_end_time ( void   ) 

Definition at line 2109 of file playlist-new.c.

Referenced by playback_thread().

gint playback_entry_get_length ( void   ) 

Definition at line 2075 of file playlist-new.c.

Referenced by update_from_playlist().

gint playback_entry_get_position ( void   ) 

Definition at line 2032 of file playlist-new.c.

Referenced by update_from_playlist().

gint playback_entry_get_start_time ( void   ) 

Definition at line 2099 of file playlist-new.c.

Referenced by playback_thread().

gchar* playback_entry_get_title ( void   ) 

Definition at line 2065 of file playlist-new.c.

Referenced by update_from_playlist().

Tuple* playback_entry_get_tuple ( void   ) 

Definition at line 2052 of file playlist-new.c.

Referenced by playback_thread().

void playback_entry_set_tuple ( Tuple tuple  ) 

Definition at line 2085 of file playlist-new.c.

Referenced by set_tuple().

gint playlist_by_unique_id ( gint  id  ) 

Definition at line 793 of file playlist-new.c.

Referenced by add_finish().

gint playlist_count ( void   ) 

Definition at line 701 of file playlist-new.c.

Referenced by activate_temp(), and save_playlists_real().

void playlist_delete ( gint  playlist_num  ) 

Definition at line 755 of file playlist-new.c.

void playlist_delete_selected ( gint  playlist_num  ) 
void playlist_end ( void   ) 

Definition at line 667 of file playlist-new.c.

Referenced by shut_down().

gint playlist_entry_count ( gint  playlist_num  ) 
void playlist_entry_delete ( gint  playlist_num,
gint  at,
gint  number 
)

Definition at line 987 of file playlist-new.c.

Referenced by add_list(), drct_pl_clear(), drct_pl_delete(), and drct_pl_delete_selected().

void playlist_entry_describe ( gint  playlist_num,
gint  entry_num,
gchar **  title,
gchar **  artist,
gchar **  album,
gboolean  fast 
)

Definition at line 1077 of file playlist-new.c.

PluginHandle* playlist_entry_get_decoder ( gint  playlist_num,
gint  entry_num,
gboolean  fast 
)

Definition at line 1044 of file playlist-new.c.

gchar* playlist_entry_get_filename ( gint  playlist_num,
gint  entry_num 
)
gint playlist_entry_get_length ( gint  playlist_num,
gint  entry_num,
gboolean  fast 
)

Definition at line 1090 of file playlist-new.c.

Referenced by drct_pl_get_time(), and get_info_cb().

gboolean playlist_entry_get_selected ( gint  playlist_num,
gint  entry_num 
)
gchar* playlist_entry_get_title ( gint  playlist_num,
gint  entry_num,
gboolean  fast 
)

Definition at line 1067 of file playlist-new.c.

Referenced by drct_pl_get_title(), and get_info_cb().

Tuple* playlist_entry_get_tuple ( gint  playlist_num,
gint  entry_num,
gboolean  fast 
)

Definition at line 1054 of file playlist-new.c.

void playlist_entry_insert_batch_raw ( gint  playlist_num,
gint  at,
struct index filenames,
struct index tuples,
struct index decoders 
)

Definition at line 939 of file playlist-new.c.

Referenced by add_finish(), and playlist_insert_playlist_raw().

void playlist_entry_set_selected ( gint  playlist_num,
gint  entry_num,
gboolean  selected 
)

Definition at line 1133 of file playlist-new.c.

static void playlist_free ( Playlist playlist  )  [static]

Definition at line 331 of file playlist-new.c.

Referenced by playlist_delete(), and playlist_end().

gint playlist_get_active ( void   ) 
gchar* playlist_get_filename ( gint  playlist_num  ) 

Definition at line 820 of file playlist-new.c.

gint playlist_get_playing ( void   ) 
gint playlist_get_position ( gint  playlist_num  ) 
gint64 playlist_get_selected_length ( gint  playlist_num  ) 

Definition at line 1693 of file playlist-new.c.

gchar* playlist_get_title ( gint  playlist_num  ) 
gint64 playlist_get_total_length ( gint  playlist_num  ) 

Definition at line 1682 of file playlist-new.c.

gint playlist_get_unique_id ( gint  playlist_num  ) 

Definition at line 782 of file playlist-new.c.

Referenced by playlist_entry_insert_batch().

void playlist_init ( void   ) 

Definition at line 640 of file playlist-new.c.

Referenced by init_two().

void playlist_insert ( gint  at  ) 

Definition at line 708 of file playlist-new.c.

Referenced by activate_temp(), and load_playlists_real().

void playlist_load_state ( void   ) 

Definition at line 2200 of file playlist-new.c.

Referenced by load_playlists().

static Playlist* playlist_new ( void   )  [static]

Definition at line 312 of file playlist-new.c.

Referenced by playlist_delete(), playlist_init(), and playlist_insert().

gboolean playlist_next_song ( gint  playlist_num,
gboolean  repeat 
)

Definition at line 1977 of file playlist-new.c.

Referenced by drct_pl_delete_selected(), drct_pl_next(), end_cb(), and playback_play().

gboolean playlist_prev_song ( gint  playlist_num  ) 

Definition at line 1890 of file playlist-new.c.

Referenced by drct_pl_prev().

gint playlist_queue_count ( gint  playlist_num  ) 

Definition at line 1704 of file playlist-new.c.

Referenced by add_list(), drct_pq_clear(), drct_pq_get_length(), and get_position_cb().

void playlist_queue_delete ( gint  playlist_num,
gint  at,
gint  number 
)

Definition at line 1790 of file playlist-new.c.

Referenced by add_list(), drct_pq_clear(), and drct_pq_remove().

void playlist_queue_delete_selected ( gint  playlist_num  ) 

Definition at line 1837 of file playlist-new.c.

gint playlist_queue_find_entry ( gint  playlist_num,
gint  entry_num 
)

Definition at line 1779 of file playlist-new.c.

Referenced by drct_pq_get_queue_position(), and drct_pq_remove().

gint playlist_queue_get_entry ( gint  playlist_num,
gint  at 
)

Definition at line 1767 of file playlist-new.c.

Referenced by drct_pq_get_entry().

void playlist_queue_insert ( gint  playlist_num,
gint  at,
gint  entry_num 
)

Definition at line 1715 of file playlist-new.c.

Referenced by drct_pq_add().

void playlist_queue_insert_selected ( gint  playlist_num,
gint  at 
)

Definition at line 1735 of file playlist-new.c.

void playlist_randomize ( gint  playlist_num  ) 

Definition at line 1383 of file playlist-new.c.

void playlist_reformat_titles ( void   ) 

Definition at line 1587 of file playlist-new.c.

Referenced by on_titlestring_entry_changed().

void playlist_reorder ( gint  from,
gint  to,
gint  count 
)

Definition at line 722 of file playlist-new.c.

void playlist_rescan ( gint  playlist_num  ) 

Definition at line 1639 of file playlist-new.c.

void playlist_rescan_file ( const gchar *  filename  ) 

Definition at line 1649 of file playlist-new.c.

Referenced by file_write_tuple().

static void playlist_rescan_real ( gint  playlist_num,
gboolean  selected 
) [static]

Definition at line 1617 of file playlist-new.c.

Referenced by playlist_rescan(), and playlist_rescan_selected().

void playlist_rescan_selected ( gint  playlist_num  ) 

Definition at line 1644 of file playlist-new.c.

void playlist_resume ( void   ) 

Definition at line 2280 of file playlist-new.c.

Referenced by do_commands().

void playlist_reverse ( gint  playlist_num  ) 

Definition at line 1361 of file playlist-new.c.

void playlist_save_state ( void   ) 

Definition at line 2119 of file playlist-new.c.

Referenced by save_playlists().

void playlist_select_all ( gint  playlist_num,
gboolean  selected 
)
gint playlist_selected_count ( gint  playlist_num  ) 

Definition at line 1171 of file playlist-new.c.

void playlist_set_active ( gint  playlist_num  ) 

Definition at line 855 of file playlist-new.c.

Referenced by activate_temp().

void playlist_set_filename ( gint  playlist_num,
const gchar *  filename 
)

Definition at line 807 of file playlist-new.c.

void playlist_set_playing ( gint  playlist_num  ) 
void playlist_set_position ( gint  playlist_num,
gint  entry_num 
)

Definition at line 1100 of file playlist-new.c.

Referenced by add_finish(), drct_pl_set_pos(), and end_cb().

void playlist_set_title ( gint  playlist_num,
const gchar *  title 
)
gint playlist_shift ( gint  playlist_num,
gint  entry_num,
gint  distance 
)

Definition at line 1220 of file playlist-new.c.

void playlist_sort_by_filename ( gint  playlist_num,
gint(*)(const gchar *a, const gchar *b compare 
)
void playlist_sort_by_title ( gint  playlist_num,
gint(*)(const gchar *a, const gchar *b compare 
)

Definition at line 1536 of file playlist-new.c.

Referenced by playlist_sort_by_scheme().

void playlist_sort_by_tuple ( gint  playlist_num,
gint(*)(const Tuple *a, const Tuple *b compare 
)

Definition at line 1523 of file playlist-new.c.

void playlist_sort_selected_by_filename ( gint  playlist_num,
gint(*)(const gchar *a, const gchar *b compare 
)

Definition at line 1549 of file playlist-new.c.

void playlist_sort_selected_by_title ( gint  playlist_num,
gint(*)(const gchar *a, const gchar *b compare 
)

Definition at line 1574 of file playlist-new.c.

void playlist_sort_selected_by_tuple ( gint  playlist_num,
gint(*)(const Tuple *a, const Tuple *b compare 
)

Definition at line 1561 of file playlist-new.c.

Referenced by playlist_sort_selected_by_scheme().

void playlist_trigger_scan ( void   ) 

Definition at line 1610 of file playlist-new.c.

gboolean playlist_update_pending ( void   ) 

Definition at line 428 of file playlist-new.c.

gboolean playlist_update_range ( gint playlist_num,
gint at,
gint count 
)

Definition at line 435 of file playlist-new.c.

static void queue_update ( gint  level,
gint  list,
gint  at,
gint  count 
) [static]

Definition at line 393 of file playlist-new.c.

Referenced by scanner().

static void scan_trigger ( void   )  [static]

Definition at line 589 of file playlist-new.c.

Referenced by playlist_trigger_scan().

static void * scanner ( void *  unused  )  [static]

Definition at line 529 of file playlist-new.c.

Referenced by playlist_init().

static void set_position ( Playlist playlist,
Entry entry 
) [static]
static gboolean shuffle_next ( Playlist playlist  )  [static]

Definition at line 1919 of file playlist-new.c.

Referenced by playlist_next_song().

static gboolean shuffle_prev ( Playlist playlist  )  [static]

Definition at line 1868 of file playlist-new.c.

Referenced by playlist_prev_song().

static void shuffle_reset ( Playlist playlist  )  [static]

Definition at line 1964 of file playlist-new.c.

Referenced by playlist_next_song().

static void sort ( Playlist playlist,
gint(*)(const void *a, const void *b, void *inner)  compare,
void *  inner 
) [static]
static void sort_selected ( Playlist playlist,
gint(*)(const void *a, const void *b, void *inner)  compare,
void *  inner 
) [static]
static gint title_compare ( const void *  _a,
const void *  _b,
void *  _compare 
) [static]

Definition at line 1436 of file playlist-new.c.

Referenced by playlist_sort_by_title(), and playlist_sort_selected_by_title().

static gchar* title_from_tuple ( Tuple tuple  )  [static]

Definition at line 157 of file playlist-new.c.

Referenced by entry_set_tuple_real(), and playlist_reformat_titles().

static gint tuple_compare ( const void *  _a,
const void *  _b,
void *  _compare 
) [static]

Definition at line 1418 of file playlist-new.c.

Referenced by playlist_sort_by_tuple(), and playlist_sort_selected_by_tuple().

static gboolean update ( void *  unused  )  [static]

Definition at line 374 of file playlist-new.c.

Referenced by queue_update().


Variable Documentation

Playlist* active_playlist = NULL [static]

Definition at line 132 of file playlist-new.c.

Definition at line 139 of file playlist-new.c.

Referenced by playlist_delete_selected().

Definition at line 139 of file playlist-new.c.

Referenced by playlist_delete_selected().

GCond* cond [static]
struct { ... } last_update
GMutex* mutex [static]

Definition at line 126 of file playlist-new.c.

Referenced by get_entry(), get_playback_entry(), playlist_end(), playlist_init(), and scanner().

gint next_unique_id = 1000 [static]

Definition at line 129 of file playlist-new.c.

Referenced by playlist_new().

struct { ... } next_update
gchar parse_key[512] [static]

Definition at line 2166 of file playlist-new.c.

gchar* parse_value [static]

Definition at line 2167 of file playlist-new.c.

Definition at line 138 of file playlist-new.c.

Referenced by playlist_update_pending().

Playlist* playing_playlist = NULL [static]

Definition at line 133 of file playlist-new.c.

Definition at line 139 of file playlist-new.c.

struct index* playlists = NULL [static]

Definition at line 131 of file playlist-new.c.

Referenced by activate_temp(), and save_playlists_real().

gint resume_state [static]

Definition at line 142 of file playlist-new.c.

Referenced by playlist_load_state(), playlist_resume(), and playlist_save_state().

gint resume_time [static]

Definition at line 142 of file playlist-new.c.

Referenced by playlist_load_state(), playlist_resume(), and playlist_save_state().

ScanItem* scan_items[SCAN_THREADS] [static]

Definition at line 153 of file playlist-new.c.

gint scan_playlist [static]

Definition at line 151 of file playlist-new.c.

Referenced by entry_find_to_scan(), playlist_init(), and scan_trigger().

GQueue scan_queue = G_QUEUE_INIT [static]
gboolean scan_quit [static]

Definition at line 150 of file playlist-new.c.

Referenced by playlist_end(), playlist_init(), and scanner().

gint scan_row [static]

Definition at line 151 of file playlist-new.c.

Referenced by entry_find_to_scan(), playlist_init(), and scan_trigger().

GThread* scan_threads[SCAN_THREADS] [static]

Definition at line 149 of file playlist-new.c.

Referenced by playlist_end(), and playlist_init().

gint update_source = 0 [static]

Definition at line 135 of file playlist-new.c.

Referenced by playlist_end(), playlist_load_state(), queue_update(), and update().


Generated on 26 Jan 2012 for Audacious by  doxygen 1.6.1