#ifndef AUDIO_PLUGIN_STRUCTURES_H
#define AUDIO_PLUGIN_STRUCTURES_H


#include <exec/libraries.h>


#define PLUGIN_SEM_NAME "TMLG_PLUGIN_SEM"


struct PluginData {
	ULONG Size;
	BOOL  ShowMain;
	UWORD MainX, MainY, MainW, MainH;
};


struct PluginSemaphore {
	SignalSemaphore Sem;
	/* WRITE during OpenLibrary */
	BOOL IsPlugin;      /* used to distinguish between library and plugin */
	ULONG PluginVer;
	ULONG PluginRev;
	char *PluginName;
	char *PluginCopyRight;
	ULONG PluginFlags;  /* see below */

	/* READ ONLY! */
	ULONG PluginSignal;     /* free signal for use from library-side of a plugin (when quitting sub-tasks)*/
	ULONG PluginSignal2;    /* free signal for use from library-side of a plugin (when quitting sub-tasks)*/
	ULONG TMLGVer;
	ULONG TMLGRev;
};

#define PLUGIN_HAS_PREFS 1      /* This plugin has a preference window */
#define PLUGIN_HAS_ABOUT 2      /* I've got my own about window */
#define PLUGIN_HAS_WINDOW 4     /* This plugin has a "visual" window */
#define PLUGIN_DISPLAYS   4
#define PLUGIN_TRANSFORMS 8     /* I'm altering the sound */


#endif
