Audacious  $Id:Doxyfile42802007-03-2104:39:00Znenolod$
Classes | Functions | Variables
adder.c File Reference
#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 AddTaskadd_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 AddResultadd_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

Function Documentation

static void add_file ( char *  filename,
Tuple *  tuple,
PluginHandle decoder,
PlaylistFilterFunc  filter,
void *  user,
AddResult result,
bool_t  validate 
)
static

Definition at line 219 of file adder.c.

Referenced by add_folder(), add_generic(), and add_playlist().

static bool_t add_finish ( void *  unused)
static

Definition at line 386 of file adder.c.

Referenced by add_worker().

static void add_folder ( char *  filename,
PlaylistFilterFunc  filter,
void *  user,
AddResult result 
)
static

Definition at line 266 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 371 of file adder.c.

Referenced by add_worker().

static void add_playlist ( char *  filename,
PlaylistFilterFunc  filter,
void *  user,
AddResult result 
)
static

Definition at line 339 of file adder.c.

Referenced by add_generic().

static void add_result_free ( AddResult result)
static

Definition at line 207 of file adder.c.

Referenced by add_finish(), and adder_cleanup().

static AddResult* add_result_new ( int  playlist_id,
int  at,
bool_t  play 
)
static

Definition at line 195 of file adder.c.

Referenced by add_worker().

static void add_task_free ( AddTask task)
static

Definition at line 185 of file adder.c.

Referenced by add_worker(), and adder_cleanup().

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 170 of file adder.c.

Referenced by playlist_entry_insert_filtered().

static void* add_worker ( void *  unused)
static

Definition at line 439 of file adder.c.

Referenced by adder_init().

void adder_cleanup ( void  )

Definition at line 498 of file adder.c.

Referenced by shut_down().

void adder_init ( void  )

Definition at line 490 of file adder.c.

Referenced by init_two().

static void index_free_filenames ( Index *  filenames)
static

Definition at line 148 of file adder.c.

Referenced by add_result_free(), and add_task_free().

static void index_free_tuples ( Index *  tuples)
static

Definition at line 157 of file adder.c.

Referenced by add_result_free(), and add_task_free().

bool_t playlist_add_in_progress ( int  playlist)

Definition at line 552 of file adder.c.

void playlist_entry_insert ( int  playlist,
int  at,
const char *  filename,
Tuple *  tuple,
bool_t  play 
)

Definition at line 520 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 531 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 537 of file adder.c.

Referenced by playlist_entry_insert_batch().

static bool_t status_cb ( void *  unused)
static

Definition at line 68 of file adder.c.

Referenced by status_update().

static void status_done_locked ( void  )
static

Definition at line 134 of file adder.c.

Referenced by add_finish(), and adder_cleanup().

static void status_update ( const char *  filename,
int  found 
)
static

Definition at line 121 of file adder.c.

Referenced by add_file(), add_folder(), and add_playlist().


Variable Documentation

bool_t add_quit
static

Definition at line 58 of file adder.c.

Referenced by add_worker(), adder_cleanup(), and adder_init().

GList* add_results = NULL
static

Definition at line 53 of file adder.c.

Referenced by add_finish(), add_worker(), adder_cleanup(), and playlist_add_in_progress().

int add_source = 0
static

Definition at line 60 of file adder.c.

Referenced by add_finish(), add_worker(), and adder_cleanup().

GList* add_tasks = NULL
static
pthread_t add_thread
static

Definition at line 59 of file adder.c.

Referenced by adder_cleanup(), and adder_init().

pthread_cond_t cond = PTHREAD_COND_INITIALIZER
static

Definition at line 57 of file adder.c.

Referenced by add_worker(), adder_cleanup(), and playlist_entry_insert_filtered().

int current_playlist_id = -1
static

Definition at line 54 of file adder.c.

Referenced by add_worker(), and playlist_add_in_progress().

pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER
static
int status_count
static

Definition at line 64 of file adder.c.

Referenced by status_cb(), and status_update().

GtkWidget * status_count_label
static

Definition at line 65 of file adder.c.

Referenced by status_cb().

char status_path[512]
static

Definition at line 63 of file adder.c.

Referenced by status_cb(), and status_update().

GtkWidget * status_path_label
static

Definition at line 65 of file adder.c.

Referenced by status_cb().

int status_source = 0
static

Definition at line 62 of file adder.c.

Referenced by status_done_locked(), and status_update().

GtkWidget* status_window = NULL
static

Definition at line 65 of file adder.c.

Referenced by status_cb(), and status_done_locked().