Audacious $Id:Doxyfile42802007-03-2104:39:00Znenolod$
Classes | Defines | Functions | Variables
playlist-new.c File Reference
#include <limits.h>
#include <time.h>
#include <glib.h>
#include <libaudcore/audstrings.h>
#include <libaudcore/hook.h>
#include <libaudcore/stringpool.h>
#include <libaudcore/tuple_formatter.h>
#include "audconfig.h"
#include "config.h"
#include "i18n.h"
#include "misc.h"
#include "playback.h"
#include "playlist.h"
#include "playlist-utils.h"
#include "plugins.h"
#include "util.h"

Go to the source code of this file.

Classes

struct  Entry
struct  Playlist

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)

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 void playlist_cancel_scan (Playlist *playlist)
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_in_progress (Entry *entry)
static gboolean entry_find_to_scan (gint i)
static void scan_trigger (void)
static void check_scanned (Playlist *playlist, Entry *entry)
static void check_selected_scanned (Playlist *playlist)
static void check_all_scanned (Playlist *playlist)
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)
void playlist_entry_set_tuple (gint playlist_num, gint entry_num, Tuple *tuple)
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)
gboolean playlist_entry_is_segmented (gint playlist_num, gint entry_num)
gint playlist_entry_get_start_time (gint playlist_num, gint entry_num)
gint playlist_entry_get_end_time (gint playlist_num, gint entry_num)
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)
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)
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, gboolean fast)
gint64 playlist_get_selected_length (gint playlist_num, gboolean fast)
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)
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)

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 GThread * scan_threads [SCAN_THREADS]
static gboolean scan_quit
static Playlistscan_playlists [SCAN_THREADS]
static Entryscan_entries [SCAN_THREADS]
static gint scan_playlist
static gint scan_row
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 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_end_time(), playlist_entry_get_filename(), playlist_entry_get_length(), playlist_entry_get_selected(), playlist_entry_get_start_time(), playlist_entry_get_title(), playlist_entry_get_tuple(), playlist_entry_insert_batch_raw(), playlist_entry_is_segmented(), playlist_entry_set_selected(), playlist_entry_set_tuple(), 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_update_pending(), playlist_update_range(), scanner(), and update().

#define LEAVE   g_mutex_unlock (mutex)
#define LEAVE_RET (   ret)
#define LEAVE_RET_VOID
Value:
do { \
    g_mutex_unlock (mutex); \
    return; \
} while (0)

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

Referenced by playlist_delete_selected(), playlist_entry_set_selected(), playlist_load_state(), playlist_queue_insert(), playlist_reorder(), and playlist_save_state().

#define LOOKUP_PLAYLIST
#define LOOKUP_PLAYLIST_ENTRY
#define LOOKUP_PLAYLIST_ENTRY_RET (   ret)
#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().


Function Documentation

static void check_all_scanned ( Playlist playlist) [static]
static void check_scanned ( Playlist playlist,
Entry entry 
) [static]
static void check_selected_scanned ( Playlist playlist) [static]
static void entry_cancel_scan ( Entry entry) [static]

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

Referenced by entry_free().

static gboolean entry_find_to_scan ( gint  i) [static]

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

Referenced by scanner().

static void entry_free ( Entry entry) [static]

Definition at line 281 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 257 of file playlist-new.c.

Referenced by playlist_entry_insert_batch_raw().

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

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

Referenced by check_scanned(), and 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 159 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* lookup_entry ( Playlist playlist,
gint  entry_num 
) [static]

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

static Playlist* lookup_playlist ( gint  playlist_num) [static]

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

Referenced by playlist_load_state(), playlist_update_range(), and queue_update().

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

Definition at line 330 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 2113 of file playlist-new.c.

Referenced by playlist_load_state().

static void parse_next ( FILE *  handle) [static]

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

Referenced by playlist_load_state().

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

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

Referenced by playlist_load_state().

gint playlist_by_unique_id ( gint  id)

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

Referenced by add_finish().

static void playlist_cancel_scan ( Playlist playlist) [static]

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

Referenced by playlist_free().

gint playlist_count ( void  )

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

Referenced by activate_temp(), and save_playlists().

void playlist_delete ( gint  playlist_num)

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

void playlist_delete_selected ( gint  playlist_num)
void playlist_end ( void  )

Definition at line 624 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 942 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 1068 of file playlist-new.c.

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

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

Referenced by playback_start().

gint playlist_entry_get_end_time ( gint  playlist_num,
gint  entry_num 
)

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

Referenced by playback_start().

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 1092 of file playlist-new.c.

Referenced by drct_pl_get_time(), get_info_cb(), playback_start(), and update_cb().

gboolean playlist_entry_get_selected ( gint  playlist_num,
gint  entry_num 
)
gint playlist_entry_get_start_time ( gint  playlist_num,
gint  entry_num 
)

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

Referenced by playback_start().

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

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

Referenced by drct_pl_get_title(), get_info_cb(), playback_start(), and update_cb().

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

Definition at line 1035 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 894 of file playlist-new.c.

Referenced by add_finish(), and playlist_insert_playlist_raw().

gboolean playlist_entry_is_segmented ( gint  playlist_num,
gint  entry_num 
)

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

Referenced by playback_start().

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

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

void playlist_entry_set_tuple ( gint  playlist_num,
gint  entry_num,
Tuple tuple 
)

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

Referenced by set_tuple_cb().

static void playlist_free ( Playlist playlist) [static]

Definition at line 315 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 777 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,
gboolean  fast 
)

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

gchar* playlist_get_title ( gint  playlist_num)
gint64 playlist_get_total_length ( gint  playlist_num,
gboolean  fast 
)

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

gint playlist_get_unique_id ( gint  playlist_num)

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

Referenced by playlist_entry_insert_batch().

void playlist_init ( void  )

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

Referenced by init_two().

void playlist_insert ( gint  at)

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

Referenced by activate_temp(), and load_playlists().

void playlist_load_state ( void  )

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

Referenced by load_playlists().

static Playlist* playlist_new ( void  ) [static]

Definition at line 296 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 1994 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 1907 of file playlist-new.c.

Referenced by drct_pl_prev().

gint playlist_queue_count ( gint  playlist_num)

Definition at line 1721 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 1807 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 1854 of file playlist-new.c.

gint playlist_queue_find_entry ( gint  playlist_num,
gint  entry_num 
)

Definition at line 1796 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 1784 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 1732 of file playlist-new.c.

Referenced by drct_pq_add().

void playlist_queue_insert_selected ( gint  playlist_num,
gint  at 
)

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

void playlist_randomize ( gint  playlist_num)

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

void playlist_reformat_titles ( void  )

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

Referenced by on_titlestring_cbox_changed(), and titlestring_timeout_proc().

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

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

void playlist_rescan ( gint  playlist_num)

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

void playlist_rescan_file ( const gchar *  filename)

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

Referenced by file_write_tuple().

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

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

Referenced by playlist_rescan(), and playlist_rescan_selected().

void playlist_rescan_selected ( gint  playlist_num)

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

void playlist_reverse ( gint  playlist_num)

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

void playlist_save_state ( void  )

Definition at line 2049 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 1210 of file playlist-new.c.

void playlist_set_active ( gint  playlist_num)

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

Referenced by activate_temp().

void playlist_set_filename ( gint  playlist_num,
const gchar *  filename 
)

Definition at line 764 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 1139 of file playlist-new.c.

Referenced by add_cb(), 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 1259 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 1554 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 1541 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 1567 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 1592 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 1579 of file playlist-new.c.

Referenced by playlist_sort_selected_by_scheme().

gboolean playlist_update_pending ( void  )

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

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

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

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

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

Referenced by check_scanned(), and scanner().

static void scan_trigger ( void  ) [static]

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

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

Definition at line 488 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 1936 of file playlist-new.c.

Referenced by playlist_next_song().

static gboolean shuffle_prev ( Playlist playlist) [static]

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

Referenced by playlist_prev_song().

static void shuffle_reset ( Playlist playlist) [static]

Definition at line 1981 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 1475 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 150 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 1457 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 360 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]
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 2091 of file playlist-new.c.

gchar* parse_value [static]

Definition at line 2092 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().

Entry* scan_entries[SCAN_THREADS] [static]

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

gint scan_playlist [static]

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

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

Playlist* scan_playlists[SCAN_THREADS] [static]

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

gboolean scan_quit [static]

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

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

Definition at line 146 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 142 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(), queue_update(), and update().