shithub: neindaw

ref: fb785323a3088953f80459b04c0c796c527af4ac
dir: neindaw/dsp/uiglue.h

View raw version
#ifndef FAUSTFLOAT
#define FAUSTFLOAT float
#endif

typedef struct UIGlue UIGlue;
typedef struct MetaGlue MetaGlue;

struct File;

struct UIGlue {
	union {
		void *uiInterface;
		struct File *f;
	};
	void (*openTabBox)(void *uiInterface, const char *label);
	void (*openHorizontalBox)(void *uiInterface, const char *label);
	void (*openVerticalBox)(void *uiInterface, const char *label);
	void (*closeBox)(void *uiInterface);
	void (*addButton)(void *uiInterface, const char *label, FAUSTFLOAT *zone);
	void (*addCheckButton)(void *uiInterface, const char *label, FAUSTFLOAT *zone);
	void (*addVerticalSlider)(void *uiInterface, const char *label, FAUSTFLOAT *zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step);
	void (*addHorizontalSlider)(void *uiInterface, const char *label, FAUSTFLOAT *zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step);
	void (*addNumEntry)(void *uiInterface, const char *label, FAUSTFLOAT *zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step);
	void (*addHorizontalBargraph)(void *uiInterface, const char *label, FAUSTFLOAT *zone, FAUSTFLOAT min, FAUSTFLOAT max);
	void (*addVerticalBargraph)(void *uiInterface, const char *label, FAUSTFLOAT *zone, FAUSTFLOAT min, FAUSTFLOAT max);
	void (*declare)(void *uiInterface, FAUSTFLOAT *zone, const char *key, const char *value);
};

struct MetaGlue {
	void *metaInterface;
	void (*declare)(void *metaInterface, const char *key, const char *value);
};

extern UIGlue uiglue;