Controls metadata storage.
Defines | |
#define | XMMS_MEDIALIB_SOURCE_SERVER "server" |
#define | XMMS_MEDIALIB_SOURCE_SERVER_ID 1 |
#define | XMMS_MEDIALIB_RETRV_PROPERTY_SQL "select value from Media where key=%Q and id=%d order by xmms_source_pref(source, %Q) limit 1" |
Retrieve a property from an entry. | |
Functions | |
int | add_to_source (void *hash, int columns, char **vals, char **cols) |
guint32 | xmms_medialib_source_to_id (xmms_medialib_session_t *session, const gchar *source) |
xmms_medialib_t * | xmms_medialib_init (xmms_playlist_t *playlist) |
Initialize the medialib and open the database file. | |
xmms_medialib_session_t * | _xmms_medialib_begin (gboolean write, const char *file, int line) |
Session handling. | |
void | xmms_medialib_end (xmms_medialib_session_t *session) |
xmms_object_cmd_value_t * | xmms_medialib_entry_property_get_cmd_value (xmms_medialib_session_t *session, xmms_medialib_entry_t entry, const gchar *property) |
gchar * | xmms_medialib_entry_property_get_str (xmms_medialib_session_t *session, xmms_medialib_entry_t entry, const gchar *property) |
Retrieve a property from an entry. | |
gint | xmms_medialib_entry_property_get_int (xmms_medialib_session_t *session, xmms_medialib_entry_t entry, const gchar *property) |
Retrieve a property as a int from a entry. | |
gboolean | xmms_medialib_entry_property_set_int (xmms_medialib_session_t *session, xmms_medialib_entry_t entry, const gchar *property, gint value) |
Set a entry property to a new value, overwriting the old value. | |
gboolean | xmms_medialib_entry_property_set_int_source (xmms_medialib_session_t *session, xmms_medialib_entry_t entry, const gchar *property, gint value, guint32 source) |
gboolean | xmms_medialib_entry_property_set_str (xmms_medialib_session_t *session, xmms_medialib_entry_t entry, const gchar *property, const gchar *value) |
Set a entry property to a new value, overwriting the old value. | |
gboolean | xmms_medialib_entry_property_set_str_source (xmms_medialib_session_t *session, xmms_medialib_entry_t entry, const gchar *property, const gchar *value, guint32 source) |
void | xmms_medialib_entry_send_update (xmms_medialib_entry_t entry) |
Trigger a update signal to the client. | |
void | xmms_medialib_entry_send_added (xmms_medialib_entry_t entry) |
Trigger an added siginal to the client. | |
void | xmms_medialib_entry_remove (xmms_medialib_entry_t entry) |
Remove a medialib entry from the database. | |
void | xmms_medialib_entry_cleanup (xmms_medialib_session_t *session, xmms_medialib_entry_t entry) |
void | xmms_medialib_add_recursive (xmms_medialib_t *medialib, gchar *playlist, gchar *path, xmms_error_t *error) |
xmms_medialib_entry_t | xmms_medialib_entry_new_encoded (xmms_medialib_session_t *session, const char *url, xmms_error_t *error) |
xmms_medialib_entry_t | xmms_medialib_entry_new (xmms_medialib_session_t *session, const char *url, xmms_error_t *error) |
Welcome to a function that should be called something else. | |
GList * | xmms_medialib_entry_to_list (xmms_medialib_session_t *session, xmms_medialib_entry_t entry) |
Convert a entry and all properties to a hashtable that could be feed to the client or somewhere else in the daemon. | |
GList * | xmms_medialib_info (xmms_medialib_t *medialib, guint32 id, xmms_error_t *err) |
void | xmms_medialib_property_remove (xmms_medialib_t *medialib, guint32 entry, gchar *source, gchar *key, xmms_error_t *error) |
GList * | xmms_medialib_select (xmms_medialib_session_t *session, const gchar *query, xmms_error_t *error) |
Get a list of GHashTables 's that matches the query. |
#define XMMS_MEDIALIB_RETRV_PROPERTY_SQL "select value from Media where key=%Q and id=%d order by xmms_source_pref(source, %Q) limit 1" |
Retrieve a property from an entry.
Definition at line 515 of file medialib.c.
Referenced by xmms_medialib_entry_property_get_cmd_value(), xmms_medialib_entry_property_get_int(), and xmms_medialib_entry_property_get_str().
#define XMMS_MEDIALIB_SOURCE_SERVER "server" |
Definition at line 164 of file medialib.c.
#define XMMS_MEDIALIB_SOURCE_SERVER_ID 1 |
Definition at line 165 of file medialib.c.
Referenced by xmms_medialib_entry_cleanup(), xmms_medialib_entry_new_encoded(), xmms_medialib_entry_not_resolved_get(), xmms_medialib_entry_property_set_int(), xmms_medialib_entry_property_set_str(), and xmms_medialib_num_not_resolved().
xmms_medialib_session_t* _xmms_medialib_begin | ( | gboolean | write, | |
const char * | file, | |||
int | line | |||
) |
Session handling.
This will only happen when OLD_SQLITE_VERSION is set.
Definition at line 408 of file medialib.c.
int add_to_source | ( | void * | hash, | |
int | columns, | |||
char ** | vals, | |||
char ** | cols | |||
) |
void xmms_medialib_add_recursive | ( | xmms_medialib_t * | medialib, | |
gchar * | playlist, | |||
gchar * | path, | |||
xmms_error_t * | error | |||
) |
Definition at line 891 of file medialib.c.
void xmms_medialib_end | ( | xmms_medialib_session_t * | session | ) |
Definition at line 448 of file medialib.c.
Referenced by get_url_for_entry(), xmms_collection_dag_restore(), xmms_collection_dag_save(), xmms_collection_query_infos(), xmms_medialib_add_recursive(), xmms_medialib_check_id(), xmms_medialib_entry_remove(), xmms_medialib_info(), xmms_medialib_init(), xmms_medialib_property_remove(), xmms_playlist_add_url(), and xmms_sample_converter_to_medialib().
void xmms_medialib_entry_cleanup | ( | xmms_medialib_session_t * | session, | |
xmms_medialib_entry_t | entry | |||
) |
Definition at line 838 of file medialib.c.
xmms_medialib_entry_t xmms_medialib_entry_new | ( | xmms_medialib_session_t * | session, | |
const char * | url, | |||
xmms_error_t * | error | |||
) |
Welcome to a function that should be called something else.
Returns a entry for a URL, if the URL is already in the medialib the current entry will be returned otherwise a new one will be created and returned.
session | The medialib session to be used for the transaction. | |
url | URL to add/retrieve from the medialib | |
error | If an error occurs, it will be stored in there. |
Definition at line 1020 of file medialib.c.
Referenced by xmms_medialib_init().
xmms_medialib_entry_t xmms_medialib_entry_new_encoded | ( | xmms_medialib_session_t * | session, | |
const char * | url, | |||
xmms_error_t * | error | |||
) |
Definition at line 964 of file medialib.c.
Referenced by xmms_medialib_entry_new(), and xmms_playlist_add_url().
xmms_object_cmd_value_t* xmms_medialib_entry_property_get_cmd_value | ( | xmms_medialib_session_t * | session, | |
xmms_medialib_entry_t | entry, | |||
const gchar * | property | |||
) |
Definition at line 518 of file medialib.c.
gint xmms_medialib_entry_property_get_int | ( | xmms_medialib_session_t * | session, | |
xmms_medialib_entry_t | entry, | |||
const gchar * | property | |||
) |
Retrieve a property as a int from a entry.
session | The medialib session to be used for the transaction. | |
entry | Entry to query. | |
property | The property to extract. Strings passed should be defined in medialib.h |
Definition at line 577 of file medialib.c.
gchar* xmms_medialib_entry_property_get_str | ( | xmms_medialib_session_t * | session, | |
xmms_medialib_entry_t | entry, | |||
const gchar * | property | |||
) |
Retrieve a property from an entry.
session | The medialib session to be used for the transaction. | |
entry | Entry to query. | |
property | The property to extract. Strings passed should be defined in medialib.h |
Definition at line 550 of file medialib.c.
Referenced by get_url_for_entry().
gboolean xmms_medialib_entry_property_set_int | ( | xmms_medialib_session_t * | session, | |
xmms_medialib_entry_t | entry, | |||
const gchar * | property, | |||
gint | value | |||
) |
Set a entry property to a new value, overwriting the old value.
session | The medialib session to be used for the transaction. | |
entry | Entry to alter. | |
property | The property to extract. Strings passed should be defined in medialib.h | |
value | gint with the new value, will be copied in to the medialib |
Definition at line 605 of file medialib.c.
Referenced by xmms_sample_converter_to_medialib().
gboolean xmms_medialib_entry_property_set_int_source | ( | xmms_medialib_session_t * | session, | |
xmms_medialib_entry_t | entry, | |||
const gchar * | property, | |||
gint | value, | |||
guint32 | source | |||
) |
gboolean xmms_medialib_entry_property_set_str | ( | xmms_medialib_session_t * | session, | |
xmms_medialib_entry_t | entry, | |||
const gchar * | property, | |||
const gchar * | value | |||
) |
Set a entry property to a new value, overwriting the old value.
session | The medialib session to be used for the transaction. | |
entry | Entry to alter. | |
property | The property to extract. Strings passed should be defined in medialib.h | |
value | gchar with the new value, will be copied in to the medialib |
Definition at line 646 of file medialib.c.
Referenced by xmms_sample_converter_to_medialib().
gboolean xmms_medialib_entry_property_set_str_source | ( | xmms_medialib_session_t * | session, | |
xmms_medialib_entry_t | entry, | |||
const gchar * | property, | |||
const gchar * | value, | |||
guint32 | source | |||
) |
void xmms_medialib_entry_remove | ( | xmms_medialib_entry_t | entry | ) |
Remove a medialib entry from the database.
session | The medialib session to be used for the transaction. | |
entry | Entry to remove |
Definition at line 723 of file medialib.c.
void xmms_medialib_entry_send_added | ( | xmms_medialib_entry_t | entry | ) |
Trigger an added siginal to the client.
This should be called when a new entry has been added to the medialib
entry | Entry to siginal an add for. |
Definition at line 704 of file medialib.c.
Referenced by xmms_medialib_entry_new_encoded().
void xmms_medialib_entry_send_update | ( | xmms_medialib_entry_t | entry | ) |
Trigger a update signal to the client.
This should be called when important information in the entry has been changed and should be visible to the user.
entry | Entry to signal a update for. |
Definition at line 690 of file medialib.c.
Referenced by xmms_medialib_property_remove().
GList* xmms_medialib_entry_to_list | ( | xmms_medialib_session_t * | session, | |
xmms_medialib_entry_t | entry | |||
) |
Convert a entry and all properties to a hashtable that could be feed to the client or somewhere else in the daemon.
session | The medialib session to be used for the transaction. | |
entry | Entry to convert. |
Definition at line 1080 of file medialib.c.
Referenced by xmms_medialib_info().
GList* xmms_medialib_info | ( | xmms_medialib_t * | medialib, | |
guint32 | id, | |||
xmms_error_t * | err | |||
) |
Definition at line 1113 of file medialib.c.
xmms_medialib_t* xmms_medialib_init | ( | xmms_playlist_t * | playlist | ) |
Initialize the medialib and open the database file.
playlist | the current playlist pointer |
Create a global session, this is only used when the sqlite version doesn't support concurrent sessions
this dummy just wants to put the default song in the playlist
Definition at line 303 of file medialib.c.
Referenced by xmms_playlist_init().
void xmms_medialib_property_remove | ( | xmms_medialib_t * | medialib, | |
guint32 | entry, | |||
gchar * | source, | |||
gchar * | key, | |||
xmms_error_t * | error | |||
) |
Definition at line 1246 of file medialib.c.
GList* xmms_medialib_select | ( | xmms_medialib_session_t * | session, | |
const gchar * | query, | |||
xmms_error_t * | error | |||
) |
Get a list of GHashTables 's that matches the query.
session | The medialib session to be used for the transaction. | |
query | SQL query that should be executed. | |
error | In case of error this will be filled. |
Definition at line 1286 of file medialib.c.
Referenced by xmms_collection_dag_restore(), xmms_collection_dag_save(), and xmms_collection_query_infos().
guint32 xmms_medialib_source_to_id | ( | xmms_medialib_session_t * | session, | |
const gchar * | source | |||
) |