BEAST - Free Software Audio Synthesizer and Tracker  0.10.0
bsescminterp.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_SCM_INTERP_H__
3 #define __BSE_SCM_INTERP_H__
4 
5 #include <bse/bse.hh>
6 #include <guile/gh.h>
7 
8 G_BEGIN_DECLS
9 
10 typedef struct _BseSCMWire BseSCMWire;
11 
12 
13 /* --- prototypes --- */
14 void bse_scm_interp_init (void);
15 void bse_scm_interp_exec_script (const gchar *file_name,
16  const gchar *call_expr,
17  GValue *value);
18 void bse_scm_enable_script_register (gboolean enabled);
19 void bse_scm_enable_server (gboolean enabled);
20 
21 
22 /* --- SCM procedures --- */
23 SCM bse_scm_server_get (void);
24 SCM bse_scm_choice_match (SCM s_ev1,
25  SCM s_ev2);
26 SCM bse_scm_glue_set_prop (SCM s_proxy,
27  SCM s_prop_name,
28  SCM s_value);
29 SCM bse_scm_glue_get_prop (SCM s_proxy,
30  SCM s_prop_name);
31 SCM bse_scm_glue_call (SCM s_proc_name,
32  SCM s_arg_list);
33 SCM bse_scm_signal_connect (SCM s_proxy,
34  SCM s_signal,
35  SCM s_lambda);
36 SCM bse_scm_signal_disconnect (SCM s_proxy,
37  SCM s_handler_id);
38 SCM bse_scm_script_message (SCM s_type,
39  SCM s_bits);
40 SCM bse_scm_script_register (SCM s_name,
41  SCM s_options,
42  SCM s_category,
43  SCM s_blurb,
44  SCM s_author,
45  SCM s_license,
46  SCM s_params);
47 SCM bse_scm_gettext (SCM scm_string);
48 SCM bse_scm_gettext_q (SCM scm_string);
49 SCM bse_scm_context_pending (void);
50 SCM bse_scm_context_iteration (SCM s_may_block);
51 SCM bse_scm_glue_rec_get (SCM scm_rec,
52  SCM s_field);
53 SCM bse_scm_glue_rec_set (SCM scm_rec,
54  SCM s_field,
55  SCM s_value);
56 SCM bse_scm_glue_rec_print (SCM scm_rec);
57 SCM bse_scm_make_gc_plateau (guint size_hint);
58 void bse_scm_destroy_gc_plateau (SCM s_gcplateau);
59 
60 G_END_DECLS
61 
62 
63 #endif /* __BSE_SCM_INTERP_H__ */