]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/score.cc
Issue 3687 (part 1): Provide a compress MM function for MM rests only
[lilypond.git] / lily / score.cc
index b1659e2fbb19e3bc5ebbec68cb1f368f89947dbe..5ce7e3ba95efedf2fcd143453468601db3cd1a52 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 1997--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 1997--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -72,15 +72,8 @@ Score::mark_smob ()
   return music_;
 }
 
-int
-Score::print_smob (SCM, SCM p, scm_print_state *)
-{
-  scm_puts ("#<Score>", p);
-
-  return 1;
-}
-
 Score::Score (Score const &s)
+  : Smob<Score> ()
 {
   header_ = SCM_EOL;
   music_ = SCM_EOL;
@@ -124,7 +117,7 @@ Score::book_rendering (Output_def *layoutbook,
 
   Real scale = 1.0;
 
-  if (layoutbook && layoutbook->c_variable ("is-paper") == SCM_BOOL_T)
+  if (layoutbook && to_boolean (layoutbook->c_variable ("is-paper")))
     scale = scm_to_double (layoutbook->c_variable ("output-scale"));
 
   SCM outputs = SCM_EOL;
@@ -136,7 +129,7 @@ Score::book_rendering (Output_def *layoutbook,
       Output_def *def = outdef_count ? defs_[i] : default_def;
       SCM scaled = def->self_scm ();
 
-      if (def->c_variable ("is-layout") == SCM_BOOL_T)
+      if (to_boolean (def->c_variable ("is-layout")))
         {
           def = scale_output_def (def, scale);
           def->parent_ = layoutbook;
@@ -162,7 +155,7 @@ Score::book_rendering (Output_def *layoutbook,
 void
 Score::set_music (SCM music)
 {
-  if (Music::unsmob (music_))
+  if (Music::is_smob (music_))
     {
       Music::unsmob (music)->origin ()->error (_ ("already have music in score"));
       Music::unsmob (music_)->origin ()->error (_ ("this is the previous music"));