<STRUCT>
<NAME>ConfigDb</NAME>
</STRUCT>
<FUNCTION>
<NAME>bmp_cfg_db_open</NAME>
<RETURNS>ConfigDb *</RETURNS>

</FUNCTION>
<FUNCTION>
<NAME>bmp_cfg_db_close</NAME>
<RETURNS>void </RETURNS>
ConfigDb *db
</FUNCTION>
<FUNCTION>
<NAME>bmp_cfg_db_get_string</NAME>
<RETURNS>gboolean </RETURNS>
ConfigDb *db,const gchar *section,const gchar *key,gchar **value
</FUNCTION>
<FUNCTION>
<NAME>bmp_cfg_db_get_int</NAME>
<RETURNS>gboolean </RETURNS>
ConfigDb *db,const gchar *section,const gchar *key,gint *value
</FUNCTION>
<FUNCTION>
<NAME>bmp_cfg_db_get_bool</NAME>
<RETURNS>gboolean </RETURNS>
ConfigDb *db,const gchar *section,const gchar *key,gboolean *value
</FUNCTION>
<FUNCTION>
<NAME>bmp_cfg_db_get_float</NAME>
<RETURNS>gboolean </RETURNS>
ConfigDb *db,const gchar *section,const gchar *key,gfloat *value
</FUNCTION>
<FUNCTION>
<NAME>bmp_cfg_db_get_double</NAME>
<RETURNS>gboolean </RETURNS>
ConfigDb *db,const gchar *section,const gchar *key,gdouble *value
</FUNCTION>
<FUNCTION>
<NAME>bmp_cfg_db_set_string</NAME>
<RETURNS>void </RETURNS>
ConfigDb *db,const gchar *section,const gchar *key,gchar *value
</FUNCTION>
<FUNCTION>
<NAME>bmp_cfg_db_set_int</NAME>
<RETURNS>void </RETURNS>
ConfigDb *db,const gchar *section,const gchar *key,gint value
</FUNCTION>
<FUNCTION>
<NAME>bmp_cfg_db_set_bool</NAME>
<RETURNS>void </RETURNS>
ConfigDb *db,const gchar *section,const gchar *key,gboolean value
</FUNCTION>
<FUNCTION>
<NAME>bmp_cfg_db_set_float</NAME>
<RETURNS>void </RETURNS>
ConfigDb *db,const gchar *section,const gchar *key,gfloat value
</FUNCTION>
<FUNCTION>
<NAME>bmp_cfg_db_set_double</NAME>
<RETURNS>void </RETURNS>
ConfigDb *db,const gchar *section,const gchar *key,gdouble value
</FUNCTION>
<FUNCTION>
<NAME>bmp_cfg_db_unset_key</NAME>
<RETURNS>void </RETURNS>
ConfigDb *db,const gchar *section,const gchar *key
</FUNCTION>
<STRUCT>
<NAME>RcLine</NAME>
typedef struct {
    gchar *key;
    gchar *value;
} RcLine;
</STRUCT>
<STRUCT>
<NAME>RcSection</NAME>
typedef struct {
    gchar *name;
    GList *lines;
} RcSection;
</STRUCT>
<STRUCT>
<NAME>RcFile</NAME>
typedef struct {
    GList *sections;
} RcFile;
</STRUCT>
<FUNCTION>
<NAME>bmp_rcfile_new</NAME>
<RETURNS>RcFile *</RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>bmp_rcfile_free</NAME>
<RETURNS>void </RETURNS>
RcFile * file
</FUNCTION>
<FUNCTION>
<NAME>bmp_rcfile_open</NAME>
<RETURNS>RcFile *</RETURNS>
const gchar * filename
</FUNCTION>
<FUNCTION>
<NAME>bmp_rcfile_write</NAME>
<RETURNS>gboolean </RETURNS>
RcFile * file, const gchar * filename
</FUNCTION>
<FUNCTION>
<NAME>bmp_rcfile_read_string</NAME>
<RETURNS>gboolean </RETURNS>
RcFile * file, const gchar * section,const gchar * key, gchar ** value
</FUNCTION>
<FUNCTION>
<NAME>bmp_rcfile_read_int</NAME>
<RETURNS>gboolean </RETURNS>
RcFile * file, const gchar * section,const gchar * key, gint * value
</FUNCTION>
<FUNCTION>
<NAME>bmp_rcfile_read_bool</NAME>
<RETURNS>gboolean </RETURNS>
RcFile * file, const gchar * section,const gchar * key, gboolean * value
</FUNCTION>
<FUNCTION>
<NAME>bmp_rcfile_read_float</NAME>
<RETURNS>gboolean </RETURNS>
RcFile * file, const gchar * section,const gchar * key, gfloat * value
</FUNCTION>
<FUNCTION>
<NAME>bmp_rcfile_read_double</NAME>
<RETURNS>gboolean </RETURNS>
RcFile * file, const gchar * section,const gchar * key, gdouble * value
</FUNCTION>
<FUNCTION>
<NAME>bmp_rcfile_write_string</NAME>
<RETURNS>void </RETURNS>
RcFile * file, const gchar * section,const gchar * key, const gchar * value
</FUNCTION>
<FUNCTION>
<NAME>bmp_rcfile_write_int</NAME>
<RETURNS>void </RETURNS>
RcFile * file, const gchar * section,const gchar * key, gint value
</FUNCTION>
<FUNCTION>
<NAME>bmp_rcfile_write_boolean</NAME>
<RETURNS>void </RETURNS>
RcFile * file, const gchar * section,const gchar * key, gboolean value
</FUNCTION>
<FUNCTION>
<NAME>bmp_rcfile_write_float</NAME>
<RETURNS>void </RETURNS>
RcFile * file, const gchar * section,const gchar * key, gfloat value
</FUNCTION>
<FUNCTION>
<NAME>bmp_rcfile_write_double</NAME>
<RETURNS>void </RETURNS>
RcFile * file, const gchar * section,const gchar * key, gdouble value
</FUNCTION>
<FUNCTION>
<NAME>bmp_rcfile_remove_key</NAME>
<RETURNS>void </RETURNS>
RcFile * file, const gchar * section,const gchar * key
</FUNCTION>
<STRUCT>
<NAME>Formatter</NAME>
typedef struct {
    gchar *values[256];
} Formatter;
</STRUCT>
<FUNCTION>
<NAME>xmms_formatter_new</NAME>
<RETURNS>Formatter *</RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>xmms_formatter_destroy</NAME>
<RETURNS>void </RETURNS>
Formatter * formatter
</FUNCTION>
<FUNCTION>
<NAME>xmms_formatter_associate</NAME>
<RETURNS>void </RETURNS>
Formatter * formatter, guchar id,gchar * value
</FUNCTION>
<FUNCTION>
<NAME>xmms_formatter_dissociate</NAME>
<RETURNS>void </RETURNS>
Formatter * formatter, guchar id
</FUNCTION>
<FUNCTION>
<NAME>xmms_formatter_format</NAME>
<RETURNS>gchar *</RETURNS>
Formatter * formatter, gchar * format
</FUNCTION>
<STRUCT>
<NAME>TitleInput</NAME>
typedef struct {
    gint __size;                /* Set by bmp_title_input_new() */
    gint __version;             /* Ditto */

    gchar *performer;           /* %p */
    gchar *album_name;          /* %a */
    gchar *track_name;          /* %t */
    gint track_number;          /* %n */
    gint year;                  /* %y */
    gchar *date;                /* %d */
    gchar *genre;               /* %g */
    gchar *comment;             /* %c */
    gchar *file_name;           /* %f */
    const gchar *file_ext;      /* %e *//* is not always strdup'ed, see xmms_input_get_song_info and plugins! */
    gchar *file_path;           /* %F */
    gint length;		/* not displayable */
    gchar *formatter;		/* not displayable */
    time_t mtime;
} TitleInput;
</STRUCT>
<TYPEDEF>
<NAME>BmpTitleInput</NAME>
typedef TitleInput BmpTitleInput;
</TYPEDEF>
<MACRO>
<NAME>XMMS_TITLEINPUT_SIZE</NAME>
#define XMMS_TITLEINPUT_SIZE	sizeof(TitleInput)
</MACRO>
<MACRO>
<NAME>XMMS_TITLEINPUT_VERSION</NAME>
#define XMMS_TITLEINPUT_VERSION	(1)
</MACRO>
<MACRO>
<NAME>XMMS_NEW_TITLEINPUT</NAME>
#define XMMS_NEW_TITLEINPUT(input) input = bmp_title_input_new();
</MACRO>
<FUNCTION>
<NAME>bmp_title_input_new</NAME>
<RETURNS>TitleInput *</RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>bmp_title_input_free</NAME>
<RETURNS>void </RETURNS>
BmpTitleInput * input
</FUNCTION>
<FUNCTION>
<NAME>xmms_get_titlestring</NAME>
<RETURNS>gchar *</RETURNS>
const gchar * fmt, TitleInput * input
</FUNCTION>
<FUNCTION>
<NAME>xmms_titlestring_descriptions</NAME>
<RETURNS>GtkWidget *</RETURNS>
gchar * tags, gint columns
</FUNCTION>
<STRUCT>
<NAME>xmms_convert_buffers</NAME>
struct xmms_convert_buffers;
</STRUCT>
<FUNCTION>
<NAME>xmms_create_dir_browser</NAME>
<RETURNS>GtkWidget *</RETURNS>
gchar * title, gchar * current_path,GtkSelectionMode mode,void (*handler) (gchar *)
</FUNCTION>
<FUNCTION>
<NAME>xmms_connect_to_session</NAME>
<RETURNS>gint </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_playlist</NAME>
<RETURNS>void </RETURNS>
gint session, gchar ** list, gint num,gboolean enqueue
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_version</NAME>
<RETURNS>gint </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_playlist_add</NAME>
<RETURNS>void </RETURNS>
gint session, GList * list
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_playlist_delete</NAME>
<RETURNS>void </RETURNS>
gint session, gint pos
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_play</NAME>
<RETURNS>void </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_pause</NAME>
<RETURNS>void </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_stop</NAME>
<RETURNS>void </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_is_playing</NAME>
<RETURNS>gboolean </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_is_paused</NAME>
<RETURNS>gboolean </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_playlist_pos</NAME>
<RETURNS>gint </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_set_playlist_pos</NAME>
<RETURNS>void </RETURNS>
gint session, gint pos
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_playlist_length</NAME>
<RETURNS>gint </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_playlist_clear</NAME>
<RETURNS>void </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_output_time</NAME>
<RETURNS>gint </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_jump_to_time</NAME>
<RETURNS>void </RETURNS>
gint session, gint pos
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_volume</NAME>
<RETURNS>void </RETURNS>
gint session, gint * vl, gint * vr
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_main_volume</NAME>
<RETURNS>gint </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_balance</NAME>
<RETURNS>gint </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_set_volume</NAME>
<RETURNS>void </RETURNS>
gint session, gint vl, gint vr
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_set_main_volume</NAME>
<RETURNS>void </RETURNS>
gint session, gint v
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_set_balance</NAME>
<RETURNS>void </RETURNS>
gint session, gint b
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_skin</NAME>
<RETURNS>gchar *</RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_set_skin</NAME>
<RETURNS>void </RETURNS>
gint session, gchar * skinfile
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_playlist_file</NAME>
<RETURNS>gchar *</RETURNS>
gint session, gint pos
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_playlist_title</NAME>
<RETURNS>gchar *</RETURNS>
gint session, gint pos
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_playlist_time</NAME>
<RETURNS>gint </RETURNS>
gint session, gint pos
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_info</NAME>
<RETURNS>void </RETURNS>
gint session, gint * rate, gint * freq,gint * nch
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_main_win_toggle</NAME>
<RETURNS>void </RETURNS>
gint session, gboolean show
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_pl_win_toggle</NAME>
<RETURNS>void </RETURNS>
gint session, gboolean show
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_eq_win_toggle</NAME>
<RETURNS>void </RETURNS>
gint session, gboolean show
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_is_main_win</NAME>
<RETURNS>gboolean </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_is_pl_win</NAME>
<RETURNS>gboolean </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_is_eq_win</NAME>
<RETURNS>gboolean </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_show_prefs_box</NAME>
<RETURNS>void </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_toggle_aot</NAME>
<RETURNS>void </RETURNS>
gint session, gboolean ontop
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_eject</NAME>
<RETURNS>void </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_playlist_prev</NAME>
<RETURNS>void </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_playlist_next</NAME>
<RETURNS>void </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_playlist_add_url_string</NAME>
<RETURNS>void </RETURNS>
gint session, gchar * string
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_playlist_enqueue_to_temp</NAME>
<RETURNS>void </RETURNS>
gint session, gchar * string
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_is_running</NAME>
<RETURNS>gboolean </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_toggle_repeat</NAME>
<RETURNS>void </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_toggle_shuffle</NAME>
<RETURNS>void </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_is_repeat</NAME>
<RETURNS>gboolean </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_is_shuffle</NAME>
<RETURNS>gboolean </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_eq</NAME>
<RETURNS>void </RETURNS>
gint session, gfloat * preamp,gfloat ** bands
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_eq_preamp</NAME>
<RETURNS>gfloat </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_eq_band</NAME>
<RETURNS>gfloat </RETURNS>
gint session, gint band
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_set_eq</NAME>
<RETURNS>void </RETURNS>
gint session, gfloat preamp, gfloat * bands
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_set_eq_preamp</NAME>
<RETURNS>void </RETURNS>
gint session, gfloat preamp
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_set_eq_band</NAME>
<RETURNS>void </RETURNS>
gint session, gint band, gfloat value
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_quit</NAME>
<RETURNS>void </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_play_pause</NAME>
<RETURNS>void </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_playlist_ins_url_string</NAME>
<RETURNS>void </RETURNS>
gint session, gchar * string,gint pos
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_playqueue_add</NAME>
<RETURNS>void </RETURNS>
gint session, gint pos
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_playqueue_remove</NAME>
<RETURNS>void </RETURNS>
gint session, gint pos
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_playqueue_length</NAME>
<RETURNS>gint </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_toggle_advance</NAME>
<RETURNS>void </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_is_advance</NAME>
<RETURNS>gboolean </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_activate</NAME>
<RETURNS>void </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_show_jtf_box</NAME>
<RETURNS>void </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_playqueue_clear</NAME>
<RETURNS>void </RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_playqueue_is_queued</NAME>
<RETURNS>gboolean </RETURNS>
gint session, gint pos
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_playqueue_position</NAME>
<RETURNS>gint </RETURNS>
gint session, gint pos
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_get_playqueue_queue_position</NAME>
<RETURNS>gint </RETURNS>
gint session, gint pos
</FUNCTION>
<FUNCTION>
<NAME>audacious_set_session_uri</NAME>
<RETURNS>void </RETURNS>
gchar *uri
</FUNCTION>
<FUNCTION>
<NAME>audacious_get_session_uri</NAME>
<RETURNS>gchar *</RETURNS>
gint session
</FUNCTION>
<FUNCTION>
<NAME>audacious_set_session_type</NAME>
<RETURNS>void </RETURNS>
gint type
</FUNCTION>
<FUNCTION>
<NAME>xmms_remote_play_files</NAME>
<RETURNS>void </RETURNS>
gint session, GList * list
</FUNCTION>
<MACRO>
<NAME>xmms_remote_add_files</NAME>
#define xmms_remote_add_files(session,list) \
        xmms_remote_playlist_add(session,list)
</MACRO>
<FUNCTION>
<NAME>xmms_urldecode_path</NAME>
<RETURNS>gchar *</RETURNS>
const gchar *
</FUNCTION>
<FUNCTION>
<NAME>xmms_urldecode_plain</NAME>
<RETURNS>gchar *</RETURNS>
const gchar *
</FUNCTION>
