#include <dirent.h>
#include <pthread.h>
#include <string.h>
#include <sys/stat.h>
#include <gtk/gtk.h>
#include <libaudcore/audstrings.h>
#include <libaudcore/hook.h>
#include "config.h"
#include "i18n.h"
#include "playback.h"
#include "playlist.h"
#include "plugins.h"
#include "main.h"
#include "misc.h"
Go to the source code of this file.
Classes | |
struct | AddTask |
struct | AddResult |
Functions | |
static bool_t | status_cb (void *unused) |
static void | status_update (const char *filename, int found) |
static void | status_done_locked (void) |
static void | index_free_filenames (Index *filenames) |
static void | index_free_tuples (Index *tuples) |
static AddTask * | add_task_new (int playlist_id, int at, bool_t play, Index *filenames, Index *tuples, PlaylistFilterFunc filter, void *user) |
static void | add_task_free (AddTask *task) |
static AddResult * | add_result_new (int playlist_id, int at, bool_t play) |
static void | add_result_free (AddResult *result) |
static void | add_file (char *filename, Tuple *tuple, PluginHandle *decoder, PlaylistFilterFunc filter, void *user, AddResult *result, bool_t validate) |
static void | add_folder (char *filename, PlaylistFilterFunc filter, void *user, AddResult *result) |
static void | add_playlist (char *filename, PlaylistFilterFunc filter, void *user, AddResult *result) |
static void | add_generic (char *filename, Tuple *tuple, PlaylistFilterFunc filter, void *user, AddResult *result) |
static bool_t | add_finish (void *unused) |
static void * | add_worker (void *unused) |
void | adder_init (void) |
void | adder_cleanup (void) |
void | playlist_entry_insert (int playlist, int at, const char *filename, Tuple *tuple, bool_t play) |
void | playlist_entry_insert_batch (int playlist, int at, Index *filenames, Index *tuples, bool_t play) |
void | playlist_entry_insert_filtered (int playlist, int at, Index *filenames, Index *tuples, PlaylistFilterFunc filter, void *user, bool_t play) |
bool_t | playlist_add_in_progress (int playlist) |
Variables | |
static GList * | add_tasks = NULL |
static GList * | add_results = NULL |
static int | current_playlist_id = -1 |
static pthread_mutex_t | mutex = PTHREAD_MUTEX_INITIALIZER |
static pthread_cond_t | cond = PTHREAD_COND_INITIALIZER |
static bool_t | add_quit |
static pthread_t | add_thread |
static int | add_source = 0 |
static int | status_source = 0 |
static char | status_path [512] |
static int | status_count |
static GtkWidget * | status_window = NULL |
static GtkWidget * | status_path_label |
static GtkWidget * | status_count_label |
static void add_file | ( | char * | filename, | |
Tuple * | tuple, | |||
PluginHandle * | decoder, | |||
PlaylistFilterFunc | filter, | |||
void * | user, | |||
AddResult * | result, | |||
bool_t | validate | |||
) | [static] |
Definition at line 229 of file adder.c.
Referenced by add_folder(), add_generic(), and add_playlist().
static bool_t add_finish | ( | void * | unused | ) | [static] |
Definition at line 396 of file adder.c.
Referenced by add_worker().
static void add_folder | ( | char * | filename, | |
PlaylistFilterFunc | filter, | |||
void * | user, | |||
AddResult * | result | |||
) | [static] |
Definition at line 276 of file adder.c.
Referenced by add_generic().
static void add_generic | ( | char * | filename, | |
Tuple * | tuple, | |||
PlaylistFilterFunc | filter, | |||
void * | user, | |||
AddResult * | result | |||
) | [static] |
Definition at line 381 of file adder.c.
Referenced by add_worker().
static void add_playlist | ( | char * | filename, | |
PlaylistFilterFunc | filter, | |||
void * | user, | |||
AddResult * | result | |||
) | [static] |
Definition at line 349 of file adder.c.
Referenced by add_generic().
static void add_result_free | ( | AddResult * | result | ) | [static] |
Definition at line 217 of file adder.c.
Referenced by add_finish().
Definition at line 205 of file adder.c.
Referenced by add_worker().
static void add_task_free | ( | AddTask * | task | ) | [static] |
Definition at line 195 of file adder.c.
Referenced by add_worker().
static AddTask* add_task_new | ( | int | playlist_id, | |
int | at, | |||
bool_t | play, | |||
Index * | filenames, | |||
Index * | tuples, | |||
PlaylistFilterFunc | filter, | |||
void * | user | |||
) | [static] |
Definition at line 180 of file adder.c.
Referenced by playlist_entry_insert_filtered().
static void* add_worker | ( | void * | unused | ) | [static] |
Definition at line 447 of file adder.c.
Referenced by adder_init().
void adder_cleanup | ( | void | ) |
Definition at line 506 of file adder.c.
Referenced by shut_down().
void adder_init | ( | void | ) |
Definition at line 498 of file adder.c.
Referenced by init_two().
static void index_free_filenames | ( | Index * | filenames | ) | [static] |
Definition at line 158 of file adder.c.
Referenced by add_result_free(), and add_task_free().
static void index_free_tuples | ( | Index * | tuples | ) | [static] |
Definition at line 167 of file adder.c.
Referenced by add_result_free(), and add_task_free().
void playlist_entry_insert | ( | int | playlist, | |
int | at, | |||
const char * | filename, | |||
Tuple * | tuple, | |||
bool_t | play | |||
) |
Definition at line 523 of file adder.c.
Referenced by audacious_rc_playlist_ins_url_string(), and mpris_tracklist_add_track().
void playlist_entry_insert_batch | ( | int | playlist, | |
int | at, | |||
Index * | filenames, | |||
Index * | tuples, | |||
bool_t | play | |||
) |
Definition at line 534 of file adder.c.
Referenced by add_list(), and playlist_entry_insert().
void playlist_entry_insert_filtered | ( | int | playlist, | |
int | at, | |||
Index * | filenames, | |||
Index * | tuples, | |||
PlaylistFilterFunc | filter, | |||
void * | user, | |||
bool_t | play | |||
) |
Definition at line 540 of file adder.c.
Referenced by playlist_entry_insert_batch().
static bool_t status_cb | ( | void * | unused | ) | [static] |
Definition at line 70 of file adder.c.
Referenced by status_update().
static void status_done_locked | ( | void | ) | [static] |
Definition at line 144 of file adder.c.
Referenced by add_finish(), and adder_cleanup().
static void status_update | ( | const char * | filename, | |
int | found | |||
) | [static] |
Definition at line 131 of file adder.c.
Referenced by add_file(), add_folder(), and add_playlist().
Definition at line 60 of file adder.c.
Referenced by add_worker(), adder_cleanup(), and adder_init().
GList* add_results = NULL [static] |
Definition at line 55 of file adder.c.
Referenced by add_finish(), add_worker(), and playlist_add_in_progress().
int add_source = 0 [static] |
Definition at line 62 of file adder.c.
Referenced by add_finish(), add_worker(), and adder_cleanup().
GList* add_tasks = NULL [static] |
Definition at line 54 of file adder.c.
Referenced by add_finish(), add_worker(), playlist_add_in_progress(), and playlist_entry_insert_filtered().
pthread_t add_thread [static] |
Definition at line 61 of file adder.c.
Referenced by adder_cleanup(), and adder_init().
pthread_cond_t cond = PTHREAD_COND_INITIALIZER [static] |
Definition at line 59 of file adder.c.
Referenced by add_worker(), adder_cleanup(), and playlist_entry_insert_filtered().
int current_playlist_id = -1 [static] |
Definition at line 56 of file adder.c.
Referenced by add_worker(), and playlist_add_in_progress().
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER [static] |
Definition at line 58 of file adder.c.
Referenced by add_finish(), add_worker(), adder_cleanup(), adder_init(), playlist_add_in_progress(), playlist_entry_insert_filtered(), status_cb(), and status_update().
int status_count [static] |
Definition at line 66 of file adder.c.
Referenced by status_cb(), and status_update().
GtkWidget * status_count_label [static] |
Definition at line 67 of file adder.c.
Referenced by status_cb().
char status_path[512] [static] |
Definition at line 65 of file adder.c.
Referenced by status_cb(), and status_update().
GtkWidget * status_path_label [static] |
Definition at line 67 of file adder.c.
Referenced by status_cb().
int status_source = 0 [static] |
Definition at line 64 of file adder.c.
Referenced by status_done_locked(), and status_update().
GtkWidget* status_window = NULL [static] |
Definition at line 67 of file adder.c.
Referenced by status_cb(), and status_done_locked().