Classes | Defines | Enumerations

plugin.h File Reference

Main Audacious plugin API header file. More...

#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  ReplayGainInfo
 ReplayGain information structure. More...
struct  PluginHeader
 The plugin module header. More...
struct  Plugin
struct  OutputPlugin
struct  EffectPlugin
struct  OutputAPI
struct  InputPlayback
struct  InputPlugin
 Input plugin structure. More...
struct  GeneralPlugin
struct  VisPlugin

Defines

#define PLUGIN_MAGIC   0x8EAC8DE2
#define DECLARE_PLUGIN(name, init, fini,...)
#define SIMPLE_INPUT_PLUGIN(name, ip_list)   DECLARE_PLUGIN(name, NULL, NULL, ip_list)
#define SIMPLE_OUTPUT_PLUGIN(name, op_list)   DECLARE_PLUGIN(name, NULL, NULL, NULL, op_list)
#define SIMPLE_EFFECT_PLUGIN(name, ep_list)   DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, ep_list)
#define SIMPLE_GENERAL_PLUGIN(name, gp_list)   DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, NULL, gp_list)
#define SIMPLE_VISUAL_PLUGIN(name, vp_list)   DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, NULL, NULL, vp_list)
#define SIMPLE_INTERFACE_PLUGIN(name, interface)   DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, NULL, NULL, NULL, interface)
#define PLUGIN_COMMON_FIELDS

#define __AUDACIOUS_PLUGIN_API__   17
 Preprocessor defines for different API features.

Enumerations

enum  PluginMessageResponse { PLUGIN_MESSAGE_ERROR = 0, PLUGIN_MESSAGE_OK = 1, PLUGIN_MESSAGE_DEFERRED = 2 }
enum  OutputPluginInitStatus { OUTPUT_PLUGIN_INIT_FAIL, OUTPUT_PLUGIN_INIT_NO_DEVICES, OUTPUT_PLUGIN_INIT_FOUND_DEVICES }

Detailed Description

Main Audacious plugin API header file.

Definition in file plugin.h.


Define Documentation

#define __AUDACIOUS_PLUGIN_API__   17

Preprocessor defines for different API features.

Current generic plugin API/ABI version, exact match is required for plugin to be loaded.

Definition at line 53 of file plugin.h.

Referenced by plugin2_process().

#define DECLARE_PLUGIN (   name,
  init,
  fini,
  ... 
)
Value:
G_BEGIN_DECLS \
    static PluginHeader _pluginInfo = { PLUGIN_MAGIC, __AUDACIOUS_PLUGIN_API__, \
        (gchar *)#name, init, fini, NULL, __VA_ARGS__ }; \
    AudAPITable * _aud_api_table = NULL; \
    G_MODULE_EXPORT PluginHeader * get_plugin_info (AudAPITable * table) { \
        _aud_api_table = table; \
        return &_pluginInfo; \
    } \
    G_END_DECLS

Definition at line 94 of file plugin.h.

#define PLUGIN_COMMON_FIELDS
Value:
gpointer handle;            \
    gchar *filename;            \
    gchar *description;            \
    void (*init) (void);        \
    void (*cleanup) (void);        \
    void (*about) (void);        \
    void (*configure) (void);        \
    PluginPreferences *settings;     \
    PluginMessageResponse (*sendmsg)(gint msgtype, gpointer msgdata);

Definition at line 124 of file plugin.h.

#define PLUGIN_MAGIC   0x8EAC8DE2

Definition at line 92 of file plugin.h.

Referenced by plugin2_process().

#define SIMPLE_EFFECT_PLUGIN (   name,
  ep_list 
)    DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, ep_list)

Definition at line 111 of file plugin.h.

#define SIMPLE_GENERAL_PLUGIN (   name,
  gp_list 
)    DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, NULL, gp_list)

Definition at line 114 of file plugin.h.

#define SIMPLE_INPUT_PLUGIN (   name,
  ip_list 
)    DECLARE_PLUGIN(name, NULL, NULL, ip_list)

Definition at line 105 of file plugin.h.

#define SIMPLE_INTERFACE_PLUGIN (   name,
  interface 
)    DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, NULL, NULL, NULL, interface)

Definition at line 120 of file plugin.h.

#define SIMPLE_OUTPUT_PLUGIN (   name,
  op_list 
)    DECLARE_PLUGIN(name, NULL, NULL, NULL, op_list)

Definition at line 108 of file plugin.h.

#define SIMPLE_VISUAL_PLUGIN (   name,
  vp_list 
)    DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, NULL, NULL, vp_list)

Definition at line 117 of file plugin.h.


Enumeration Type Documentation

Enumerator:
OUTPUT_PLUGIN_INIT_FAIL 
OUTPUT_PLUGIN_INIT_NO_DEVICES 
OUTPUT_PLUGIN_INIT_FOUND_DEVICES 

Definition at line 141 of file plugin.h.

Enumerator:
PLUGIN_MESSAGE_ERROR 
PLUGIN_MESSAGE_OK 
PLUGIN_MESSAGE_DEFERRED 

Definition at line 56 of file plugin.h.