X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fscore-scheme.cc;h=1ac2698f58624abef7b5733e0ba92cf723ecc097;hb=9e781b7dc83b60a543ce218aa1a5f139f74c760f;hp=fe08bef253bd04a87c73bb835e6d8d06a5bc42ec;hpb=f51609af5239aa5024a8d8c0750e293384fd7381;p=lilypond.git diff --git a/lily/score-scheme.cc b/lily/score-scheme.cc index fe08bef253..1ac2698f58 100644 --- a/lily/score-scheme.cc +++ b/lily/score-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2010 Han-Wen Nienhuys + Copyright (C) 2005--2014 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,9 +27,9 @@ #include "paper-book.hh" LY_DEFINE (ly_make_score, "ly:make-score", - 1, 0, 0, - (SCM music), - "Return score with @var{music} encapsulated in it.") + 1, 0, 0, + (SCM music), + "Return score with @var{music} encapsulated in it.") { LY_ASSERT_SMOB (Music, music, 1); @@ -40,8 +40,8 @@ LY_DEFINE (ly_make_score, "ly:make-score", } LY_DEFINE (ly_score_output_defs, "ly:score-output-defs", - 1, 0, 0, (SCM score), - "All output definitions in a score.") + 1, 0, 0, (SCM score), + "All output definitions in a score.") { LY_ASSERT_SMOB (Score, score, 1); Score *sc = unsmob_score (score); @@ -53,8 +53,8 @@ LY_DEFINE (ly_score_output_defs, "ly:score-output-defs", } LY_DEFINE (ly_score_add_output_def_x, "ly:score-add-output-def!", - 2, 0, 0, (SCM score, SCM def), - "Add an output definition @var{def} to @var{score}.") + 2, 0, 0, (SCM score, SCM def), + "Add an output definition @var{def} to @var{score}.") { LY_ASSERT_SMOB (Score, score, 1); LY_ASSERT_SMOB (Output_def, def, 2); @@ -65,8 +65,8 @@ LY_DEFINE (ly_score_add_output_def_x, "ly:score-add-output-def!", } LY_DEFINE (ly_score_header, "ly:score-header", - 1, 0, 0, (SCM score), - "Return score header.") + 1, 0, 0, (SCM score), + "Return score header.") { LY_ASSERT_SMOB (Score, score, 1); Score *sc = unsmob_score (score); @@ -74,12 +74,12 @@ LY_DEFINE (ly_score_header, "ly:score-header", } LY_DEFINE (ly_score_set_header_x, "ly:score-set-header!", - 2, 0, 0, (SCM score, SCM module), - "Set the score header.") + 2, 0, 0, (SCM score, SCM module), + "Set the score header.") { LY_ASSERT_SMOB (Score, score, 1); SCM_ASSERT_TYPE (ly_is_module (module), module, SCM_ARG2, __FUNCTION__, - "module"); + "module"); Score *sc = unsmob_score (score); sc->set_header (module); @@ -87,8 +87,8 @@ LY_DEFINE (ly_score_set_header_x, "ly:score-set-header!", } LY_DEFINE (ly_score_music, "ly:score-music", - 1, 0, 0, (SCM score), - "Return score music.") + 1, 0, 0, (SCM score), + "Return score music.") { LY_ASSERT_SMOB (Score, score, 1); Score *sc = unsmob_score (score); @@ -96,8 +96,8 @@ LY_DEFINE (ly_score_music, "ly:score-music", } LY_DEFINE (ly_score_error_p, "ly:score-error?", - 1, 0, 0, (SCM score), - "Was there an error in the score?") + 1, 0, 0, (SCM score), + "Was there an error in the score?") { LY_ASSERT_SMOB (Score, score, 1); Score *sc = unsmob_score (score); @@ -105,10 +105,10 @@ LY_DEFINE (ly_score_error_p, "ly:score-error?", } LY_DEFINE (ly_score_embedded_format, "ly:score-embedded-format", - 2, 0, 0, (SCM score, SCM layout), - "Run @var{score} through @var{layout} (an output definition)" - " scaled to correct output-scale already, returning a list of" - " layout-lines.") + 2, 0, 0, (SCM score, SCM layout), + "Run @var{score} through @var{layout} (an output definition)" + " scaled to correct output-scale already, returning a list of" + " layout-lines.") { LY_ASSERT_SMOB (Score, score, 1); LY_ASSERT_SMOB (Output_def, layout, 2); @@ -130,16 +130,11 @@ LY_DEFINE (ly_score_embedded_format, "ly:score-embedded-format", if (!score_def) return SCM_BOOL_F; - score_def = score_def->clone (); - SCM prot = score_def->unprotect (); - - /* TODO: SCORE_DEF should be scaled according to OD->parent_ or OD - itself. */ + score_def = scale_output_def (score_def, output_scale (od)); score_def->parent_ = od; - SCM context = ly_run_translator (sc->get_music (), score_def->self_scm ()); + SCM context = ly_run_translator (sc->get_music (), score_def->unprotect ()); SCM output = ly_format_output (context); - scm_remember_upto_here_1 (prot); return output; }