BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
bseparam.hh
Go to the documentation of this file.
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__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines