plugin

plugin

Synopsis




#define             INPUT_PLUGIN                        (x)
#define             OUTPUT_PLUGIN                       (x)
#define             EFFECT_PLUGIN                       (x)
#define             GENERAL_PLUGIN                      (x)
#define             VIS_PLUGIN                          (x)
#define             LOWLEVEL_PLUGIN                     (x)
enum                AFormat;
enum                InputVisType;
                    Plugin;
                    InputPlugin;
                    OutputPlugin;
                    EffectPlugin;
                    GeneralPlugin;
                    VisPlugin;
                    LowlevelPlugin;
                    InputPlayback;
const gchar*        xmms_get_gentitle_format            (void);
EffectPlugin*       get_current_effect_plugin           (void);
gboolean            effects_enabled                     (void);
gboolean            plugin_set_errortext                (const gchar *text);

Description

Details

INPUT_PLUGIN()

#define INPUT_PLUGIN(x)   ((InputPlugin *)(x))

x :

OUTPUT_PLUGIN()

#define OUTPUT_PLUGIN(x)  ((OutputPlugin *)(x))

x :

EFFECT_PLUGIN()

#define EFFECT_PLUGIN(x)  ((EffectPlugin *)(x))

x :

GENERAL_PLUGIN()

#define GENERAL_PLUGIN(x) ((GeneralPlugin *)(x))

x :

VIS_PLUGIN()

#define VIS_PLUGIN(x)     ((VisPlugin *)(x))

x :

LOWLEVEL_PLUGIN()

#define LOWLEVEL_PLUGIN(x) ((LowlevelPlugin *)(x))

x :

enum AFormat

typedef enum {
    FMT_U8,
    FMT_S8,
    FMT_U16_LE,
    FMT_U16_BE,
    FMT_U16_NE,
    FMT_S16_LE,
    FMT_S16_BE,
    FMT_S16_NE
} AFormat;


enum InputVisType

typedef enum {
    INPUT_VIS_ANALYZER,
    INPUT_VIS_SCOPE,
    INPUT_VIS_VU,
    INPUT_VIS_OFF
} InputVisType;


Plugin

typedef struct {
    gpointer handle;
    gchar *filename;
} Plugin;


InputPlugin

typedef struct {
    gpointer handle;
    gchar *filename;

    gchar *description;

    void (*init) (void);
    void (*about) (void);
    void (*configure) (void);

    gint (*is_our_file) (gchar * filename);
    GList *(*scan_dir) (gchar * dirname);

    void (*play_file) (InputPlayback * playback);
    void (*stop) (InputPlayback * playback);
    void (*pause) (InputPlayback * playback, gshort paused);
    void (*seek) (InputPlayback * playback, gint time);

    void (*set_eq) (gint on, gfloat preamp, gfloat * bands);

    gint (*get_time) (InputPlayback * playback);

    gint (*get_volume) (gint * l, gint * r);
    gint (*set_volume) (gint l, gint r);

    void (*cleanup) (void);

    InputVisType (*get_vis_type) (void);
    void (*add_vis_pcm) (gint time, AFormat fmt, gint nch, gint length, gpointer ptr);

    void (*set_info) (gchar * title, gint length, gint rate, gint freq, gint nch);
    void (*set_info_text) (gchar * text);
    void (*get_song_info) (gchar * filename, gchar ** title, gint * length);
    void (*file_info_box) (gchar * filename);

    OutputPlugin *output; /* deprecated */

    /* Added in Audacious 1.1.0 */
    TitleInput *(*get_song_tuple) (gchar * filename);
    void (*set_song_tuple) (TitleInput * tuple);
    void (*set_status_buffering) (gboolean status);

    /* Added in Audacious 1.3.0 */
    gint (*is_our_file_from_vfs) (gchar *filename, VFSFile *fd);
    gchar **vfs_extensions;
} InputPlugin;


OutputPlugin

typedef struct {
    gpointer handle;
    gchar *filename;

    gchar *description;

    void (*init) (void);
    void (*cleanup) (void);
    void (*about) (void);
    void (*configure) (void);
    void (*get_volume) (gint * l, gint * r);
    void (*set_volume) (gint l, gint r);

    gint (*open_audio) (AFormat fmt, gint rate, gint nch);
    void (*write_audio) (gpointer ptr, gint length);
    void (*close_audio) (void);

    void (*flush) (gint time);
    void (*pause) (gshort paused);
    gint (*buffer_free) (void);
    gint (*buffer_playing) (void);
    gint (*output_time) (void);
    gint (*written_time) (void);

    void (*tell_audio) (AFormat * fmt, gint * rate, gint * nch);
} OutputPlugin;


EffectPlugin

typedef struct {
    gpointer handle;
    gchar *filename;

    gchar *description;

    void (*init) (void);
    void (*cleanup) (void);
    void (*about) (void);
    void (*configure) (void);

    gint (*mod_samples) (gpointer * data, gint length, AFormat fmt, gint srate, gint nch);
    void (*query_format) (AFormat * fmt, gint * rate, gint * nch);
} EffectPlugin;


GeneralPlugin

typedef struct {
    gpointer handle;
    gchar *filename;

    gint xmms_session;
    gchar *description;

    void (*init) (void);
    void (*about) (void);
    void (*configure) (void);
    void (*cleanup) (void);
} GeneralPlugin;


VisPlugin

typedef struct {
    gpointer handle;
    gchar *filename;

    gint xmms_session;
    gchar *description;

    gint num_pcm_chs_wanted;
    gint num_freq_chs_wanted;

    void (*init) (void);
    void (*cleanup) (void);
    void (*about) (void);
    void (*configure) (void);
    void (*disable_plugin) (struct _VisPlugin *);
    void (*playback_start) (void);
    void (*playback_stop) (void);
    void (*render_pcm) (gint16 pcm_data[2][512]);
    void (*render_freq) (gint16 freq_data[2][256]);
} VisPlugin;


LowlevelPlugin

typedef struct {
    gpointer handle;
    gchar *filename;

    gchar *description;

    void (*init) (void);
    void (*cleanup) (void);
} LowlevelPlugin;


InputPlayback

typedef struct {
    gchar *filename;
    InputPlugin *plugin;
    void *data;
    OutputPlugin *output;

    int playing;
    gboolean error;
    gboolean eof;
} InputPlayback;


xmms_get_gentitle_format ()

const gchar*        xmms_get_gentitle_format            (void);

Returns :

get_current_effect_plugin ()

EffectPlugin*       get_current_effect_plugin           (void);

Returns :

effects_enabled ()

gboolean            effects_enabled                     (void);

Returns :

plugin_set_errortext ()

gboolean            plugin_set_errortext                (const gchar *text);

text :
Returns :