BEAST - Free Software Audio Synthesizer and Tracker  0.10.0
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 #ifdef __cplusplus
10 extern "C" {
11 #endif /* __cplusplus */
12 
13 
14 /* --- object param specs --- */
15 #define BSE_TYPE_PARAM_OBJECT (G_TYPE_PARAM_OBJECT)
16 #define BSE_IS_PARAM_SPEC_OBJECT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), BSE_TYPE_PARAM_OBJECT))
17 #define BSE_PARAM_SPEC_OBJECT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), BSE_TYPE_PARAM_OBJECT, BseParamSpecObject))
18 typedef GParamSpecObject BseParamSpecObject;
19 GParamSpec* bse_param_spec_object (const gchar *name,
20  const gchar *nick,
21  const gchar *blurb,
22  GType object_type,
23  const gchar *hints);
24 
25 #define BSE_VALUE_HOLDS_OBJECT(value) (G_TYPE_CHECK_VALUE_TYPE ((value), BSE_TYPE_OBJECT))
26 #define bse_value_get_object g_value_get_object
27 #define bse_value_set_object g_value_set_object
28 #define bse_value_take_object g_value_take_object
29 GValue* bse_value_object (gpointer vobject);
30 
31 
32 /* --- boxed parameters --- */
33 typedef GParamSpecBoxed BseParamSpecBoxed;
34 #define BSE_TYPE_PARAM_BOXED (G_TYPE_PARAM_BOXED)
35 #define BSE_IS_PARAM_SPEC_BOXED(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), BSE_TYPE_PARAM_BOXED))
36 #define BSE_PARAM_SPEC_BOXED(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), BSE_TYPE_PARAM_BOXED, BseParamSpecBoxed))
37 #define BSE_VALUE_HOLDS_BOXED(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_BOXED))
38 GParamSpec* bse_param_spec_boxed (const gchar *name,
39  const gchar *nick,
40  const gchar *blurb,
41  GType boxed_type,
42  const gchar *hints);
43 #define bse_value_get_boxed g_value_get_boxed
44 #define bse_value_set_boxed g_value_set_boxed
45 #define bse_value_dup_boxed g_value_dup_boxed
46 #define bse_value_take_boxed g_value_take_boxed
47 
48 
49 /* --- convenience pspec constructors --- */
50 GParamSpec* bse_param_spec_freq (const gchar *name,
51  const gchar *nick,
52  const gchar *blurb,
53  SfiReal default_freq,
54  SfiReal min_freq,
55  SfiReal max_freq,
56  const gchar *hints);
57 
58 
59 #ifdef __cplusplus
60 }
61 #endif /* __cplusplus */
62 
63 #endif /* __BSE_PARAM_H__ */