XMMS2
xmms_xformplugin.h File Reference
#include <xmmsc/xmmsc_compiler.h>
#include <glib.h>
#include <string.h>
#include <xmms/xmms_error.h>
#include <xmms/xmms_plugin.h>
#include <xmms/xmms_sample.h>
#include <xmms/xmms_streamtype.h>
#include <xmms/xmms_config.h>
#include <xmms/xmms_medialib.h>

Data Structures

 Mapping between format specific and internal metadata naming. More...
struct  xmms_xform_methods_St
 Methods provided by an xform plugin. More...

Macros

#define XMMS_XFORM_API_VERSION   7
#define XMMS_XFORM_PLUGIN_DEFINE(shname, name, ver, desc, setupfunc)
 Declare an xform plugin.
#define XMMS_XFORM_METHODS_INIT(m)
#define xmms_xform_auxdata_get_int   xmms_xform_auxdata_get_int32
#define XMMS_XFORM_BROWSE_FLAG_DIR   (1 << 0)
#define XMMS_XFORM_MAX_LINE_SIZE   1024

Typedefs

typedef struct xmms_xform_plugin_St xmms_xform_plugin_t
 Xform plugin.
typedef struct xmms_xform_St xmms_xform_t
typedef struct xmms_xform_metadata_basic_mapping_St xmms_xform_metadata_basic_mapping_t
 Mapping between format specific and internal metadata naming.
typedef gboolean(* xmms_xform_metadata_mapper_func_t) (xmms_xform_t *xform, const gchar *key, const gchar *value, gsize length)
 Mapping function that recieves a metadata key and value pair.
typedef struct xmms_xform_metadata_mapping_St xmms_xform_metadata_mapping_t
typedef enum xmms_xform_seek_mode_E xmms_xform_seek_mode_t
 Seek direction argument.
typedef struct xmms_xform_methods_St xmms_xform_methods_t
 Methods provided by an xform plugin.

Enumerations

enum  xmms_xform_seek_mode_E { XMMS_XFORM_SEEK_CUR = 1 , XMMS_XFORM_SEEK_SET = 2 , XMMS_XFORM_SEEK_END = 3 }
 Seek direction argument. More...

Functions

void xmms_xform_plugin_methods_set (xmms_xform_plugin_t *plugin, xmms_xform_methods_t *methods)
 Should be called once from the plugin's setupfunc.
void xmms_xform_plugin_metadata_basic_mapper_init (xmms_xform_plugin_t *xform_plugin, const xmms_xform_metadata_basic_mapping_t *mappings, gint count)
 Configure automatic metadata mapping.
void xmms_xform_plugin_metadata_mapper_init (xmms_xform_plugin_t *xform_plugin, const xmms_xform_metadata_basic_mapping_t *basic_mappings, gint basic_count, const xmms_xform_metadata_mapping_t *mappings, gint count)
 Configure automatic metadata mapping.
void xmms_xform_plugin_indata_add (xmms_xform_plugin_t *plugin,...)
 Add a valid input type to the plugin.
void xmms_xform_plugin_set_out_stream_type (xmms_xform_plugin_t *plugin,...)
 Set a static output type to the plugin.
gpointer xmms_xform_private_data_get (xmms_xform_t *xform)
 Get private data for this xform.
void xmms_xform_private_data_set (xmms_xform_t *xform, gpointer data)
 Set private data for this xform.
void xmms_xform_outdata_type_add (xmms_xform_t *xform,...)
void xmms_xform_outdata_type_copy (xmms_xform_t *xform)
gboolean xmms_xform_metadata_set_int (xmms_xform_t *xform, const gchar *key, int val)
 Set numeric metadata for the media transformed by this xform.
gboolean xmms_xform_metadata_set_str (xmms_xform_t *xform, const gchar *key, const char *val)
 Set string metadata for the media transformed by this xform.
gboolean xmms_xform_metadata_has_val (xmms_xform_t *xform, const gchar *key)
gboolean xmms_xform_metadata_get_int (xmms_xform_t *xform, const gchar *key, gint *val)
gboolean xmms_xform_metadata_get_str (xmms_xform_t *xform, const gchar *key, const gchar **val)
gboolean xmms_xform_metadata_parse_number (xmms_xform_t *xform, const gchar *key, const gchar *value, gsize length)
 Set numeric metadata for the media by parsing a string value.
gboolean xmms_xform_metadata_parse_compilation (xmms_xform_t *xform, const gchar *key, const gchar *value, gsize length)
 Set compliation status by performing a number of probes on a value.
gboolean xmms_xform_metadata_parse_replay_gain (xmms_xform_t *xform, const gchar *key, const gchar *value, gsize length)
 Set string metadata represesting replay gain for the media by parsing a string value.
gboolean xmms_xform_metadata_mapper_match (xmms_xform_t *xform, const gchar *key, const gchar *value, gsize length)
 Attempt to automatically set a metadata property.
void xmms_xform_auxdata_barrier (xmms_xform_t *xform)
void xmms_xform_auxdata_set_int (xmms_xform_t *xform, const gchar *key, gint64 val)
void xmms_xform_auxdata_set_str (xmms_xform_t *xform, const gchar *key, const gchar *val)
void xmms_xform_auxdata_set_bin (xmms_xform_t *xform, const gchar *key, gpointer data, gssize len)
gboolean xmms_xform_auxdata_has_val (xmms_xform_t *xform, const gchar *key)
gboolean xmms_xform_auxdata_get_int32 (xmms_xform_t *xform, const gchar *key, gint32 *val)
gboolean xmms_xform_auxdata_get_int64 (xmms_xform_t *xform, const gchar *key, gint64 *val)
gboolean xmms_xform_auxdata_get_str (xmms_xform_t *xform, const gchar *key, const gchar **val)
gboolean xmms_xform_auxdata_get_bin (xmms_xform_t *xform, const gchar *key, const guchar **data, gsize *datalen)
const char * xmms_xform_indata_get_str (xmms_xform_t *xform, xmms_stream_type_key_t key)
gint xmms_xform_indata_get_int (xmms_xform_t *xform, xmms_stream_type_key_t key)
gint xmms_xform_peek (xmms_xform_t *xform, gpointer buf, gint siz, xmms_error_t *err)
 Preview data from previous xform.
gchar * xmms_xform_read_line (xmms_xform_t *xform, gchar *buf, xmms_error_t *err)
 Read one line from previous xform.
gint xmms_xform_read (xmms_xform_t *xform, gpointer buf, gint siz, xmms_error_t *err)
 Read data from previous xform.
gint64 xmms_xform_seek (xmms_xform_t *xform, gint64 offset, xmms_xform_seek_mode_t whence, xmms_error_t *err)
 Change offset in stream.
gboolean xmms_xform_iseos (xmms_xform_t *xform)
gboolean xmms_magic_add (const gchar *desc, const gchar *mime,...)
gboolean xmms_magic_extension_add (const gchar *mime, const gchar *ext)
xmms_config_property_txmms_xform_plugin_config_property_register (xmms_xform_plugin_t *xform_plugin, const gchar *name, const gchar *default_value, xmms_object_handler_t cb, gpointer userdata)
xmms_config_property_txmms_xform_plugin_config_lookup (xmms_xform_plugin_t *xform_plugin, const gchar *path)
xmms_config_property_txmms_xform_config_lookup (xmms_xform_t *xform, const gchar *path)
xmms_medialib_entry_t xmms_xform_entry_get (xmms_xform_t *xform)
 Get the medialib entry played by this xform.
const gchar * xmms_xform_get_url (xmms_xform_t *xform)
void xmms_xform_browse_add_entry (xmms_xform_t *xform, const gchar *path, guint32 flags)
void xmms_xform_browse_add_entry_property (xmms_xform_t *xform, const gchar *key, xmmsv_t *val)
void xmms_xform_browse_add_entry_property_str (xmms_xform_t *xform, const gchar *key, const gchar *value)
void xmms_xform_browse_add_entry_property_int (xmms_xform_t *xform, const gchar *key, gint value)
void xmms_xform_browse_add_symlink (xmms_xform_t *xform, const gchar *basename, const gchar *url)
void xmms_xform_browse_add_symlink_args (xmms_xform_t *xform, const gchar *basename, const gchar *url, gint nargs, char **args)