summaryrefslogtreecommitdiffstats
path: root/gst/goom/goom_config_param.h
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2008-02-23 01:51:37 +0000
committerBastien Nocera <hadess@hadess.net>2008-02-23 01:51:37 +0000
commita7bc7485b1a4d7e1b1a12ff593ca4ccb1d59e466 (patch)
treeffba99ad38c7616d089c5e728c75a6bd5f736c6c /gst/goom/goom_config_param.h
parent7f0745bb7f26c69766bb0c64458c6543588cc4dc (diff)
configure.ac: Add checks for Flex/Yacc/Bison and other furry animals, for the new goom 2k4 based plugin
Original commit message from CVS: 2008-02-23 Bastien Nocera <hadess@hadess.net> * configure.ac: Add checks for Flex/Yacc/Bison and other furry animals, for the new goom 2k4 based plugin * gst/goom/*: Update to use goom 2k4, uses liboil to detect CPU optimisations (not working yet), move the old plugin to... * gst/goom2k1/*: ... here, in case somebody is sick enough Fixes #515073
Diffstat (limited to 'gst/goom/goom_config_param.h')
-rw-r--r--gst/goom/goom_config_param.h115
1 files changed, 115 insertions, 0 deletions
diff --git a/gst/goom/goom_config_param.h b/gst/goom/goom_config_param.h
new file mode 100644
index 00000000..3c6838d3
--- /dev/null
+++ b/gst/goom/goom_config_param.h
@@ -0,0 +1,115 @@
+#ifndef _CONFIG_PARAM_H
+#define _CONFIG_PARAM_H
+
+#include <stdlib.h>
+
+/**
+ * File created on 2003-05-24 by Jeko.
+ * (c)2003, JC Hoelt for iOS-software.
+ *
+ * LGPL Licence.
+ */
+
+typedef enum {
+ PARAM_INTVAL,
+ PARAM_FLOATVAL,
+ PARAM_BOOLVAL,
+ PARAM_STRVAL,
+ PARAM_LISTVAL,
+} ParamType;
+
+struct IntVal {
+ int value;
+ int min;
+ int max;
+ int step;
+};
+struct FloatVal {
+ float value;
+ float min;
+ float max;
+ float step;
+};
+struct StrVal {
+ char *value;
+};
+struct ListVal {
+ char *value;
+ int nbChoices;
+ char **choices;
+};
+struct BoolVal {
+ int value;
+};
+
+
+typedef struct _PARAM {
+ char *name;
+ char *desc;
+ char rw;
+ ParamType type;
+ union {
+ struct IntVal ival;
+ struct FloatVal fval;
+ struct StrVal sval;
+ struct ListVal slist;
+ struct BoolVal bval;
+ } param;
+
+ /* used by the core to inform the GUI of a change */
+ void (*change_listener)(struct _PARAM *_this);
+
+ /* used by the GUI to inform the core of a change */
+ void (*changed)(struct _PARAM *_this);
+
+ void *user_data; /* can be used by the GUI */
+} PluginParam;
+
+#define IVAL(p) ((p).param.ival.value)
+#define SVAL(p) ((p).param.sval.value)
+#define FVAL(p) ((p).param.fval.value)
+#define BVAL(p) ((p).param.bval.value)
+#define LVAL(p) ((p).param.slist.value)
+
+#define FMIN(p) ((p).param.fval.min)
+#define FMAX(p) ((p).param.fval.max)
+#define FSTEP(p) ((p).param.fval.step)
+
+#define IMIN(p) ((p).param.ival.min)
+#define IMAX(p) ((p).param.ival.max)
+#define ISTEP(p) ((p).param.ival.step)
+
+PluginParam goom_secure_param(void);
+
+PluginParam goom_secure_f_param(char *name);
+PluginParam goom_secure_i_param(char *name);
+PluginParam goom_secure_b_param(char *name, int value);
+PluginParam goom_secure_s_param(char *name);
+
+PluginParam goom_secure_f_feedback(char *name);
+PluginParam goom_secure_i_feedback(char *name);
+
+void goom_set_str_param_value(PluginParam *p, const char *str);
+void goom_set_list_param_value(PluginParam *p, const char *str);
+
+typedef struct _PARAMETERS {
+ char *name;
+ char *desc;
+ int nbParams;
+ PluginParam **params;
+} PluginParameters;
+
+PluginParameters goom_plugin_parameters(const char *name, int nb);
+
+#define secure_param goom_secure_param
+#define secure_f_param goom_secure_f_param
+#define secure_i_param goom_secure_i_param
+#define secure_b_param goom_secure_b_param
+#define secure_s_param goom_secure_s_param
+#define secure_f_feedback goom_secure_f_feedback
+#define secure_i_feedback goom_secure_i_feedback
+#define set_list_param_value goom_set_list_param_value
+#define set_str_param_value goom_set_str_param_value
+#define plugin_parameters goom_plugin_parameters
+
+#endif