Audacious  $Id:Doxyfile42802007-03-2104:39:00Znenolod$
Classes | Macros | Typedefs
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
 

Macros

#define _AUD_PLUGIN_MAGIC   0x8EAC8DE2
 
#define _AUD_PLUGIN_VERSION_MIN   40 /* 3.3-devel */
 
#define _AUD_PLUGIN_VERSION   43 /* 3.4-devel */
 
#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)
 

Typedefs

typedef const struct _InputPlayback InputPlayback
 

Macro Definition Documentation

#define _AUD_PLUGIN_MAGIC   0x8EAC8DE2

Definition at line 32 of file plugin.h.

Referenced by plugin_load().

#define _AUD_PLUGIN_VERSION   43 /* 3.4-devel */

Definition at line 48 of file plugin.h.

Referenced by plugin_load().

#define _AUD_PLUGIN_VERSION_MIN   40 /* 3.3-devel */

Definition at line 47 of file plugin.h.

Referenced by plugin_load().

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

Definition at line 509 of file plugin.h.

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

Definition at line 512 of file plugin.h.

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

Definition at line 513 of file plugin.h.

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

Definition at line 508 of file plugin.h.

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

Definition at line 510 of file plugin.h.

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

Definition at line 507 of file plugin.h.

#define AUD_PLUGIN (   stype,
  itype,
  ... 
)
Value:
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) { \
return & _aud_plugin_self; \
}
static GHashTable * table
Definition: strpool.c:34
#define NULL
Definition: core.h:27
AudAPITable * _aud_api_table
#define _AUD_PLUGIN_MAGIC
Definition: plugin.h:32
#define _AUD_PLUGIN_VERSION
Definition: plugin.h:48

Definition at line 493 of file plugin.h.

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

Definition at line 506 of file plugin.h.

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

Definition at line 511 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; \
const char * domain; /* for gettext */ \
const char * about_text; \
const PluginPreferences * prefs; \
bool_t (* init) (void); \
void (* cleanup) (void); \
int (* take_message) (const char * code, const void * data, int size); \
void (* about) (void); /* use about_text instead if possible */ \
void (* configure) (void); /* use prefs instead if possible */ \
void * reserved1; \
void * reserved2; \
void * reserved3; \
void * reserved4;
const char PluginHandle decoder const char PluginHandle decoder const char PluginHandle decoder void const PreferencesWidget int
Definition: misc-api.h:103
type
Definition: plugins-api.h:41
Index Index bool_t
Definition: playlist-api.h:122
const char * name
Definition: plugin-init.c:38
bool_t version
Definition: main.c:62

Definition at line 96 of file plugin.h.

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

Typedef Documentation

typedef const struct _InputPlayback InputPlayback

Definition at line 296 of file plugin.h.