/*
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
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;
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;
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;
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"));