#include "score.hh"
#include <cstdio>
+
using namespace std;
#include "book.hh"
#include "cpu-timer.hh"
#include "global-context.hh"
+#include "international.hh"
#include "lily-parser.hh"
#include "lilypond-key.hh"
#include "main.hh"
#include "music.hh"
+#include "music.hh"
#include "output-def.hh"
#include "paper-book.hh"
#include "paper-score.hh"
#include "warn.hh"
-#include "music.hh"
#include "ly-smobs.icc"
Score::Score ()
Score *sc = (Score *) SCM_CELL_WORD_1 (s);
scm_gc_mark (sc->header_);
- for (int i = sc->defs_.size (); i--;)
+ for (vsize i = sc->defs_.size (); i--;)
scm_gc_mark (sc->defs_[i]->self_scm ());
return sc->music_;
}
else
music_ = SCM_EOL;
- for (int i = 0, n = s.defs_.size (); i < n; i++)
+ for (vsize i = 0, n = s.defs_.size (); i < n; i++)
{
Output_def *copy = s.defs_[i]->clone ();
- defs_.push (copy);
+ defs_.push_back (copy);
copy->unprotect ();
}
header_ = ly_make_anonymous_module (false);
/* ugh. */
if (bpd->c_variable ("is-paper") == SCM_BOOL_T)
{
- Real scale = scm_to_double (bpd->c_variable ("outputscale"));
+ Real scale = scm_to_double (bpd->c_variable ("output-scale"));
Output_def *def = scale_output_def (unsmob_output_def (outdef), scale);
Output_def *bdef = scale_output_def (bpd, scale);
}
SCM context = ly_run_translator (music, scaled_def, key);
-
+
SCM output_as_scm = ly_format_output (context);
Music_output *output = unsmob_music_output (output_as_scm);
if (ly_is_module (header))
paper_book->add_score (header);
- SCM systems = pscore->get_paper_systems ();
- paper_book->add_score (systems);
-
+ paper_book->add_score (pscore->self_scm ());
paper_book->classic_output (outname);
paper_book->unprotect ();
}
Real scale = 1.0;
if (layoutbook && layoutbook->c_variable ("is-paper") == SCM_BOOL_T)
- scale = scm_to_double (layoutbook->c_variable ("outputscale"));
+ scale = scm_to_double (layoutbook->c_variable ("output-scale"));
SCM outputs = SCM_EOL;
SCM *tail = &outputs;
{
return music_;
}
+
+void
+Score::add_output_def (Output_def *def)
+{
+ defs_.push_back (def);
+}