plugin.h File Reference

#include <audacious/api.h>
#include <audacious/types.h>
#include <libaudcore/audio.h>
#include <libaudcore/index.h>
#include <libaudcore/tuple.h>
#include <libaudcore/vfs.h>

Go to the source code of this file.

Classes

struct  Plugin
struct  TransportPlugin
struct  PlaylistPlugin
struct  OutputPlugin
struct  EffectPlugin
struct  OutputAPI
struct  InputPlayback
struct  InputPlugin
struct  GeneralPlugin
struct  VisPlugin
struct  IfacePlugin

Defines

#define _AUD_PLUGIN_MAGIC   0x8EAC8DE2
#define _AUD_PLUGIN_VERSION_MIN   38
#define _AUD_PLUGIN_VERSION   38
#define PLUGIN_COMMON_FIELDS
#define AUD_PLUGIN(stype, itype,...)
#define AUD_TRANSPORT_PLUGIN(...)   AUD_PLUGIN (TransportPlugin, PLUGIN_TYPE_TRANSPORT, __VA_ARGS__)
#define AUD_PLAYLIST_PLUGIN(...)   AUD_PLUGIN (PlaylistPlugin, PLUGIN_TYPE_PLAYLIST, __VA_ARGS__)
#define AUD_INPUT_PLUGIN(...)   AUD_PLUGIN (InputPlugin, PLUGIN_TYPE_INPUT, __VA_ARGS__)
#define AUD_EFFECT_PLUGIN(...)   AUD_PLUGIN (EffectPlugin, PLUGIN_TYPE_EFFECT, __VA_ARGS__)
#define AUD_OUTPUT_PLUGIN(...)   AUD_PLUGIN (OutputPlugin, PLUGIN_TYPE_OUTPUT, __VA_ARGS__)
#define AUD_VIS_PLUGIN(...)   AUD_PLUGIN (VisPlugin, PLUGIN_TYPE_VIS, __VA_ARGS__)
#define AUD_GENERAL_PLUGIN(...)   AUD_PLUGIN (GeneralPlugin, PLUGIN_TYPE_GENERAL, __VA_ARGS__)
#define AUD_IFACE_PLUGIN(...)   AUD_PLUGIN (IfacePlugin, PLUGIN_TYPE_IFACE, __VA_ARGS__)
#define PLUGIN_HAS_FUNC(p, func)   ((p)->size > (char *) & (p)->func - (char *) (p) && (p)->func)

Define Documentation

#define _AUD_PLUGIN_MAGIC   0x8EAC8DE2

Definition at line 33 of file plugin.h.

Referenced by plugin2_process().

#define _AUD_PLUGIN_VERSION   38

Definition at line 49 of file plugin.h.

Referenced by plugin2_process().

#define _AUD_PLUGIN_VERSION_MIN   38

Definition at line 48 of file plugin.h.

Referenced by plugin2_process().

#define AUD_EFFECT_PLUGIN ( ...   )     AUD_PLUGIN (EffectPlugin, PLUGIN_TYPE_EFFECT, __VA_ARGS__)

Definition at line 513 of file plugin.h.

#define AUD_GENERAL_PLUGIN ( ...   )     AUD_PLUGIN (GeneralPlugin, PLUGIN_TYPE_GENERAL, __VA_ARGS__)

Definition at line 516 of file plugin.h.

#define AUD_IFACE_PLUGIN ( ...   )     AUD_PLUGIN (IfacePlugin, PLUGIN_TYPE_IFACE, __VA_ARGS__)

Definition at line 517 of file plugin.h.

#define AUD_INPUT_PLUGIN ( ...   )     AUD_PLUGIN (InputPlugin, PLUGIN_TYPE_INPUT, __VA_ARGS__)

Definition at line 512 of file plugin.h.

#define AUD_OUTPUT_PLUGIN ( ...   )     AUD_PLUGIN (OutputPlugin, PLUGIN_TYPE_OUTPUT, __VA_ARGS__)

Definition at line 514 of file plugin.h.

#define AUD_PLAYLIST_PLUGIN ( ...   )     AUD_PLUGIN (PlaylistPlugin, PLUGIN_TYPE_PLAYLIST, __VA_ARGS__)

Definition at line 511 of file plugin.h.

#define AUD_PLUGIN ( stype,
itype,
...   ) 
Value:
AudAPITable * _aud_api_table = NULL; \
stype _aud_plugin_self = { \
 .magic = _AUD_PLUGIN_MAGIC, \
 .version = _AUD_PLUGIN_VERSION, \
 .type = itype, \
 .size = sizeof (stype), \
 __VA_ARGS__}; \
stype * get_plugin_info (AudAPITable * table) { \
    _aud_api_table = table; \
    return & _aud_plugin_self; \
}

Definition at line 497 of file plugin.h.

#define AUD_TRANSPORT_PLUGIN ( ...   )     AUD_PLUGIN (TransportPlugin, PLUGIN_TYPE_TRANSPORT, __VA_ARGS__)

Definition at line 510 of file plugin.h.

#define AUD_VIS_PLUGIN ( ...   )     AUD_PLUGIN (VisPlugin, PLUGIN_TYPE_VIS, __VA_ARGS__)

Definition at line 515 of file plugin.h.

#define PLUGIN_COMMON_FIELDS
Value:
int magic; /* checked against _AUD_PLUGIN_MAGIC */ \
    int version; /* checked against _AUD_PLUGIN_VERSION */ \
    int type; /* PLUGIN_TYPE_XXX */ \
    int size; /* size in bytes of the struct */ \
    const char * name; \
    bool_t (* init) (void); \
    void (* cleanup) (void); \
    int (* take_message) (const char * code, const void * data, int size); \
    void (* about) (void); \
    void (* configure) (void); \
    PluginPreferences * settings;

Definition at line 97 of file plugin.h.

#define PLUGIN_HAS_FUNC ( p,
func   )     ((p)->size > (char *) & (p)->func - (char *) (p) && (p)->func)

Generated on 21 Aug 2012 for Audacious by  doxygen 1.6.1