]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/paper-book.cc
* lily/prob-scheme.cc (LY_DEFINE): new file.
[lilypond.git] / lily / paper-book.cc
index 5e274e98b6d479178a5e3095a6a50b4483dfa3f1..cd295de778e3dff9393c688827ac6f15bf00a670 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 2004--2005 Jan Nieuwenhuizen <janneke@gnu.org>
+  (c) 2004--2006 Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
 #include "paper-book.hh"
@@ -56,7 +56,7 @@ int
 Paper_book::print_smob (SCM smob, SCM port, scm_print_state*)
 {
   Paper_book *b = (Paper_book *) SCM_CELL_WORD_1 (smob);
-
+  (void)b;
   scm_puts ("#<Paper_book>", port);
   return 1;
 }
@@ -67,7 +67,7 @@ dump_fields ()
   SCM fields = SCM_EOL;
   for (int i = dump_header_fieldnames_global.size (); i--;)
     fields
-      = scm_cons (ly_symbol2scm (dump_header_fieldnames_global[i].to_str0 ()),
+      = scm_cons (ly_symbol2scm (dump_header_fieldnames_global[i].c_str ()),
                  fields);
   return fields;
 }
@@ -106,7 +106,7 @@ Paper_book::output (SCM output_channel)
 
   String mod_nm = "scm framework-" + output_backend_global;
 
-  SCM mod = scm_c_resolve_module (mod_nm.to_str0 ());
+  SCM mod = scm_c_resolve_module (mod_nm.c_str ());
   if (make_print)
     {
       SCM func = scm_c_module_lookup (mod, "output-framework");
@@ -147,7 +147,7 @@ Paper_book::classic_output (SCM output)
   String format = output_backend_global;
   String mod_nm = "scm framework-" + format;
 
-  SCM mod = scm_c_resolve_module (mod_nm.to_str0 ());
+  SCM mod = scm_c_resolve_module (mod_nm.c_str ());
   SCM func = scm_c_module_lookup (mod, "output-classic-framework");
 
   func = scm_variable_ref (func);
@@ -216,7 +216,7 @@ Paper_book::score_title (SCM header)
 }
 
 void
-set_system_penalty (Paper_system *ps, SCM header)
+set_system_penalty (Prob *ps, SCM header)
 {
   if (ly_is_module (header))
     {
@@ -245,7 +245,9 @@ Paper_book::add_score_title (SCM header)
        override settings from \paper {}
       */
       SCM props = paper_->lookup_variable (ly_symbol2scm ("score-title-properties"));
-      Paper_system *ps = new Paper_system (title, props);
+      Prob *ps = make_paper_system (props);
+      paper_system_set_stencil (ps, title);
+      
       systems_ = scm_cons (ps->self_scm (), systems_);
       ps->unprotect ();
       set_system_penalty (ps, header);
@@ -264,7 +266,8 @@ Paper_book::systems ()
   if (!title.is_empty ())
     {
       SCM props = paper_->lookup_variable (ly_symbol2scm ("book-title-properties"));
-      Paper_system *ps = new Paper_system (title, props);
+      Prob *ps = make_paper_system (props);
+      paper_system_set_stencil (ps, title);
       set_system_penalty (ps, header_);
 
       systems_ = scm_cons (ps->self_scm (), systems_);
@@ -323,7 +326,8 @@ Paper_book::systems ()
                                                    scm_car (s));
          
          // TODO: init props
-         Paper_system *ps = new Paper_system (*unsmob_stencil (t), SCM_EOL);
+         Prob *ps = make_paper_system (SCM_EOL);
+         paper_system_set_stencil (ps, *unsmob_stencil (t));
          ps->set_property ("is-title", SCM_BOOL_T); 
          systems_ = scm_cons (ps->self_scm (), systems_);
          ps->unprotect ();
@@ -338,10 +342,10 @@ Paper_book::systems ()
   systems_ = scm_reverse (systems_);
 
   int i = 0;
-  Paper_system *last = 0;
+  Prob *last = 0;
   for (SCM s = systems_; s != SCM_EOL; s = scm_cdr (s))
     {
-      Paper_system *ps = unsmob_paper_system (scm_car (s));
+      Prob *ps = unsmob_prob (scm_car (s));
       ps->set_property ("number", scm_from_int (++i));
 
       if (last