-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am Sonntag, 16. August 2009 18:52:59 schrieb Nicolas Sceaux: > Le 14 août 09 à 21:40, Reinhold Kainhofer a écrit : > > Does anyone have any idea how I can insert a scheme score > > into the current book using only scheme without the parser? > > I'm doing that with my own framework. > <http://repo.or.cz/w/nenuvar.git> file common/includes.ily
Hmm, to me it seems that you are effectively calling the parser to interpret \include "file.ly". That is a nice way around my problem, where only the parser seems to have a pointer to the current book (so you are invoking the parser to insert the scores into the bookpart), but it can't be used in my case. My problem is that I don't have the score in a file in lilypond syntax at all. I have only the notes of the individual instruments, but the whole score (containing part-combined staves, etc.) is really generated on-the-fly in scheme. The code (stripped-down to the relevant parts) is basically (see orchestrallily.ily in the git repo http://repo.or.cz/w/orchestrallily.git): % The helper function to build a score. #(define (oly:createScoreHelper parser location piece children func) (let* ( (music (oly:staff_group_handler to create the list of staves)) (score '()) (header '()) ) ; No staves, print tacet ; we have staves, apply the piecename to the score and add layout/midi ; blocks if needed (set! score (scorify-music music parser)) (oly:set_piece_header score piecename) (oly:apply_score_midi score) (oly:apply_score_layout score) ; Schedule the score for typesetting (oly:add-score parser score piecename) ) ; This is a void function, the score has been schedulled for typesetting (make-music 'Music 'void #t) ) createScore = #(define-music-function (parser location piece children) (string? list?) (oly:createScoreHelper parser location piece children identity) ) So, the whole score object is really generated in scheme. The issue is that I don't know what function to call to insert that score into the current book, rather than the toplevel scores (i.e. what should I use instead of oly:add- score? Currently, that function simply calls (toplevel-score-handler parser score) ). Or the other solution would be to have a way to get the current book object, so that I can pass this to the book-score-handler function. Thanks a lot, Reinhold - -- - ------------------------------------------------------------------ Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/ * Financial & Actuarial Math., Vienna Univ. of Technology, Austria * http://www.fam.tuwien.ac.at/, DVR: 0005886 * LilyPond, Music typesetting, http://www.lilypond.org -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iD8DBQFKiKdLTqjEwhXvPN0RAteSAJ9jZs1+TsPQpe0RSkgTJIfclSKDTQCdGu1H efJt+xny+C7WWg74NpLRWb0= =15lu -----END PGP SIGNATURE----- _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel