2 lily-guile.hh encapsulate guile
4 source file of the GNU LilyPond music typesetter
6 (c) 1998--2000 Jan Nieuwenhuizen <janneke@gnu.org>
16 #include "direction.hh"
18 SCM ly_str02scm (char const*c);
19 SCM ly_eval_str (String s);
20 SCM ly_symbol2scm (char const *);
21 String ly_symbol2string (SCM);
25 SCM ly_parse_scm (char const* s, int* n);
26 SCM ly_quote_scm (SCM s);
27 void ly_display_scm (SCM s);
28 String ly_scm2string (SCM s);
32 void read_lily_scm_file (String);
33 void init_lily_guile ();
36 Direction to_dir (SCM s);
38 bool to_boolean (SCM s);
40 void init_ly_protection ();
41 unsigned int ly_scm_hash (SCM s);
43 SCM index_cell (SCM cellp, Direction d);
44 SCM index_set_cell (SCM cellp, Direction d, SCM val);
46 template<class T>SCM array_to_scm (Array<T> arr);
47 template<class T>void scm_to_array (SCM s, Array<T>* arr);
49 //URG how templates suck!
51 int scm_to (SCM s, int* i);
54 Real scm_to (SCM s, Real* r);
56 SCM to_scm (Offset o);
57 Offset scm_to (SCM s, Offset* o);
62 void add_scm_init_func (void (*)());
64 #define ADD_SCM_INIT_FUNC(name, func)\
65 class name ## _scm_initter { \
67 name ## _scm_initter () \
69 add_scm_init_func (func); \
71 } _ ## name ## _scm_initter; \
74 #endif // LILY_GUILE_HH