BEAST/BSE - Better Audio System and Sound Engine
0.8.2
|
00001 // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html 00002 #ifndef __BSE_PARAM_H__ 00003 #define __BSE_PARAM_H__ 00004 00005 #include <bse/bsetype.hh> 00006 #include <bse/bseutils.hh> 00007 00008 00009 #ifdef __cplusplus 00010 extern "C" { 00011 #endif /* __cplusplus */ 00012 00013 00014 /* --- object param specs --- */ 00015 #define BSE_TYPE_PARAM_OBJECT (G_TYPE_PARAM_OBJECT) 00016 #define BSE_IS_PARAM_SPEC_OBJECT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), BSE_TYPE_PARAM_OBJECT)) 00017 #define BSE_PARAM_SPEC_OBJECT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), BSE_TYPE_PARAM_OBJECT, BseParamSpecObject)) 00018 typedef GParamSpecObject BseParamSpecObject; 00019 GParamSpec* bse_param_spec_object (const gchar *name, 00020 const gchar *nick, 00021 const gchar *blurb, 00022 GType object_type, 00023 const gchar *hints); 00024 00025 #define BSE_VALUE_HOLDS_OBJECT(value) (G_TYPE_CHECK_VALUE_TYPE ((value), BSE_TYPE_OBJECT)) 00026 #define bse_value_get_object g_value_get_object 00027 #define bse_value_set_object g_value_set_object 00028 #define bse_value_take_object g_value_take_object 00029 GValue* bse_value_object (gpointer vobject); 00030 00031 00032 /* --- boxed parameters --- */ 00033 typedef GParamSpecBoxed BseParamSpecBoxed; 00034 #define BSE_TYPE_PARAM_BOXED (G_TYPE_PARAM_BOXED) 00035 #define BSE_IS_PARAM_SPEC_BOXED(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), BSE_TYPE_PARAM_BOXED)) 00036 #define BSE_PARAM_SPEC_BOXED(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), BSE_TYPE_PARAM_BOXED, BseParamSpecBoxed)) 00037 #define BSE_VALUE_HOLDS_BOXED(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_BOXED)) 00038 GParamSpec* bse_param_spec_boxed (const gchar *name, 00039 const gchar *nick, 00040 const gchar *blurb, 00041 GType boxed_type, 00042 const gchar *hints); 00043 #define bse_value_get_boxed g_value_get_boxed 00044 #define bse_value_set_boxed g_value_set_boxed 00045 #define bse_value_dup_boxed g_value_dup_boxed 00046 #define bse_value_take_boxed g_value_take_boxed 00047 00048 00049 /* --- convenience pspec constructors --- */ 00050 GParamSpec* bse_param_spec_freq (const gchar *name, 00051 const gchar *nick, 00052 const gchar *blurb, 00053 SfiReal default_freq, 00054 SfiReal min_freq, 00055 SfiReal max_freq, 00056 const gchar *hints); 00057 00058 00059 #ifdef __cplusplus 00060 } 00061 #endif /* __cplusplus */ 00062 00063 #endif /* __BSE_PARAM_H__ */