Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
bseparam.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __BSE_PARAM_H__
3 #define __BSE_PARAM_H__
4 
5 #include <bse/bsetype.hh>
6 #include <bse/bseutils.hh>
7 
8 
9 
10 /* --- object param specs --- */
11 #define BSE_TYPE_PARAM_OBJECT (G_TYPE_PARAM_OBJECT)
12 #define BSE_IS_PARAM_SPEC_OBJECT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), BSE_TYPE_PARAM_OBJECT))
13 #define BSE_PARAM_SPEC_OBJECT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), BSE_TYPE_PARAM_OBJECT, BseParamSpecObject))
14 typedef GParamSpecObject BseParamSpecObject;
15 GParamSpec* bse_param_spec_object (const gchar *name,
16  const gchar *nick,
17  const gchar *blurb,
18  GType object_type,
19  const gchar *hints);
20 
21 #define BSE_VALUE_HOLDS_OBJECT(value) (G_TYPE_CHECK_VALUE_TYPE ((value), BSE_TYPE_OBJECT))
22 #define bse_value_get_object g_value_get_object
23 #define bse_value_set_object g_value_set_object
24 #define bse_value_take_object g_value_take_object
25 GValue* bse_value_object (gpointer vobject);
26 
27 
28 /* --- boxed parameters --- */
29 typedef GParamSpecBoxed BseParamSpecBoxed;
30 #define BSE_TYPE_PARAM_BOXED (G_TYPE_PARAM_BOXED)
31 #define BSE_IS_PARAM_SPEC_BOXED(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), BSE_TYPE_PARAM_BOXED))
32 #define BSE_PARAM_SPEC_BOXED(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), BSE_TYPE_PARAM_BOXED, BseParamSpecBoxed))
33 #define BSE_VALUE_HOLDS_BOXED(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_BOXED))
34 GParamSpec* bse_param_spec_boxed (const gchar *name,
35  const gchar *nick,
36  const gchar *blurb,
37  GType boxed_type,
38  const gchar *hints);
39 #define bse_value_get_boxed g_value_get_boxed
40 #define bse_value_set_boxed g_value_set_boxed
41 #define bse_value_dup_boxed g_value_dup_boxed
42 #define bse_value_take_boxed g_value_take_boxed
43 
44 
45 /* --- convenience pspec constructors --- */
46 GParamSpec* bse_param_spec_freq (const gchar *name,
47  const gchar *nick,
48  const gchar *blurb,
49  SfiReal default_freq,
50  SfiReal min_freq,
51  SfiReal max_freq,
52  const gchar *hints);
53 
54 
55 #endif /* __BSE_PARAM_H__ */