]> git.donarmstrong.com Git - lilypond.git/blob - lily/object-key-dumper-scheme.cc
Merge branch 'jneeman' of git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond into jneeman
[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--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
7 */
8
9 #include "object-key-dumper.hh"
10
11 #include "moment.hh"
12
13 LY_DEFINE (ly_make_dumper, "ly:make-dumper",
14            0, 0, 0,
15            (),
16            "Create a key dumper. ")
17 {
18   Object_key_dumper *u = new Object_key_dumper ();
19   return u->unprotect ();
20 }
21
22 LY_DEFINE (ly_dumper_definitions, "ly:dumper-definitions",
23            1, 0, 0,
24            (SCM dumper),
25            "Return list of key definitions. ")
26 {
27   Object_key_dumper *u = unsmob_key_dumper (dumper);
28   SCM_ASSERT_TYPE (u, dumper, SCM_ARG1, __FUNCTION__, "dumper");
29   return u->get_file_contents ();
30 }
31
32 LY_DEFINE (ly_dumper_key_serial, "ly:dumper-key-serial",
33            2, 0, 0,
34            (SCM dumper, SCM key),
35            "Return the  key serial number @var{key}. ")
36 {
37   Object_key_dumper *u = unsmob_key_dumper (dumper);
38   Object_key *k = unsmob_key (key);
39   SCM_ASSERT_TYPE (u, dumper, SCM_ARG1, __FUNCTION__, "dumper");
40   SCM_ASSERT_TYPE (k, key, SCM_ARG2, __FUNCTION__, "key");
41   return u->dump_key (k);
42 }