]> git.donarmstrong.com Git - lilypond.git/blob - lily/object-key-dumper-scheme.cc
* scm/music-functions.scm (has-request-chord): don't use
[lilypond.git] / lily / object-key-dumper-scheme.cc
1 /*
2   object-key-dumper-scheme.cc --  implement Object_key_dumper bindings
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
7
8 */
9
10 #include "object-key-dumper.hh"
11
12 #include "moment.hh"
13
14 LY_DEFINE(ly_make_dumper, "ly:make-dumper",
15           0, 0, 0,
16           (),
17           "Create a key dumper. "
18           )
19 {
20   Object_key_dumper *u = new Object_key_dumper ();
21   SCM x = u->self_scm();
22   scm_gc_unprotect_object (x);
23   return x;
24 }
25
26 LY_DEFINE(ly_dumper_definitions, "ly:dumper-definitions",
27           1, 0, 0,
28           (SCM dumper),
29           "Return list of key definitions. "
30           )
31 {
32   Object_key_dumper *u = unsmob_key_dumper (dumper);
33   SCM_ASSERT_TYPE(u, dumper, SCM_ARG1, __FUNCTION__, "dumper");
34   return u->get_file_contents();
35 }
36
37 LY_DEFINE(ly_dumper_key_serial, "ly:dumper-key-serial",
38           2, 0, 0,
39           (SCM dumper, SCM key),
40           "Return the  key serial number @var{key}. "
41           )
42 {
43   Object_key_dumper* u = unsmob_key_dumper (dumper);
44   Object_key *k = unsmob_key (key);
45   SCM_ASSERT_TYPE(u, dumper, SCM_ARG1, __FUNCTION__, "dumper");
46   SCM_ASSERT_TYPE(k, key, SCM_ARG2, __FUNCTION__, "key");
47   return u->dump_key (k);
48 }