Audacious $Id:Doxyfile42802007-03-2104:39:00Znenolod$
Classes | Defines
plugin.h File Reference
#include <glib.h>
#include <gmodule.h>
#include <audacious/api.h>
#include <audacious/types.h>
#include <libaudcore/audio.h>
#include <libaudcore/tuple.h>
#include <libaudcore/vfs.h>

Go to the source code of this file.

Classes

struct  PluginHeader
 The plugin module header. More...
struct  _Plugin
struct  TransportPlugin
struct  PlaylistPlugin
struct  OutputPlugin
struct  EffectPlugin
struct  OutputAPI
struct  InputPlayback
struct  InputPlugin
struct  GeneralPlugin
struct  VisPlugin

Defines

#define _AUD_PLUGIN_MAGIC   0x8EAC8DE2
#define _AUD_PLUGIN_VERSION_MIN   18
#define _AUD_PLUGIN_VERSION   20
#define DECLARE_PLUGIN(name,...)
#define SIMPLE_TRANSPORT_PLUGIN(name, t)   DECLARE_PLUGIN(name, .tp_list = t)
#define SIMPLE_PLAYLIST_PLUGIN(name, p)   DECLARE_PLUGIN(name, .pp_list = p)
#define SIMPLE_INPUT_PLUGIN(name, i)   DECLARE_PLUGIN (name, .ip_list = i)
#define SIMPLE_EFFECT_PLUGIN(name, e)   DECLARE_PLUGIN (name, .ep_list = e)
#define SIMPLE_OUTPUT_PLUGIN(name, o)   DECLARE_PLUGIN (name, .op_list = o)
#define SIMPLE_VIS_PLUGIN(name, v)   DECLARE_PLUGIN(name, .vp_list = v)
#define SIMPLE_GENERAL_PLUGIN(name, g)   DECLARE_PLUGIN (name, .gp_list = g)
#define SIMPLE_IFACE_PLUGIN(name, i)   DECLARE_PLUGIN(name, .iface = i)
#define SIMPLE_VISUAL_PLUGIN   SIMPLE_VIS_PLUGIN
#define PLUGIN_COMMON_FIELDS

Define Documentation

#define _AUD_PLUGIN_MAGIC   0x8EAC8DE2

Definition at line 35 of file plugin.h.

Referenced by plugin2_process().

#define _AUD_PLUGIN_VERSION   20

Definition at line 51 of file plugin.h.

Referenced by plugin2_process().

#define _AUD_PLUGIN_VERSION_MIN   18

Definition at line 50 of file plugin.h.

Referenced by plugin2_process().

#define DECLARE_PLUGIN (   name,
  ... 
)
Value:
AudAPITable * _aud_api_table = NULL; \
 G_MODULE_EXPORT PluginHeader * get_plugin_info (AudAPITable * table) { \
    static PluginHeader h = {_AUD_PLUGIN_MAGIC, _AUD_PLUGIN_VERSION, #name, \
     __VA_ARGS__}; \
    _aud_api_table = table; \
    return & h; \
 }

Definition at line 76 of file plugin.h.

#define PLUGIN_COMMON_FIELDS
Value:
gchar *description;            \
    gboolean (* init) (void); \
    void (*cleanup) (void);        \
    void (*about) (void);        \
    void (*configure) (void);        \
    PluginPreferences *settings;

Definition at line 96 of file plugin.h.

#define SIMPLE_EFFECT_PLUGIN (   name,
 
)    DECLARE_PLUGIN (name, .ep_list = e)

Definition at line 88 of file plugin.h.

#define SIMPLE_GENERAL_PLUGIN (   name,
 
)    DECLARE_PLUGIN (name, .gp_list = g)

Definition at line 91 of file plugin.h.

#define SIMPLE_IFACE_PLUGIN (   name,
 
)    DECLARE_PLUGIN(name, .iface = i)

Definition at line 92 of file plugin.h.

#define SIMPLE_INPUT_PLUGIN (   name,
 
)    DECLARE_PLUGIN (name, .ip_list = i)

Definition at line 87 of file plugin.h.

#define SIMPLE_OUTPUT_PLUGIN (   name,
 
)    DECLARE_PLUGIN (name, .op_list = o)

Definition at line 89 of file plugin.h.

#define SIMPLE_PLAYLIST_PLUGIN (   name,
 
)    DECLARE_PLUGIN(name, .pp_list = p)

Definition at line 86 of file plugin.h.

#define SIMPLE_TRANSPORT_PLUGIN (   name,
 
)    DECLARE_PLUGIN(name, .tp_list = t)

Definition at line 85 of file plugin.h.

#define SIMPLE_VIS_PLUGIN (   name,
 
)    DECLARE_PLUGIN(name, .vp_list = v)

Definition at line 90 of file plugin.h.

#define SIMPLE_VISUAL_PLUGIN   SIMPLE_VIS_PLUGIN

Definition at line 94 of file plugin.h.