lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Doing \score { <<...>... } and \context Staff << .... >> in scheme?


From: Reinhold Kainhofer
Subject: Re: Doing \score { <<...>... } and \context Staff << .... >> in scheme?
Date: Tue, 19 Feb 2008 14:53:54 +0100
User-agent: KMail/1.9.6

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello Han-Wen,,
Thanks a lot for your great help and all the hints!  I'm starting to get a 
little insight into how lilypond works internally....


> at toplevel. check out
>    toplevel-score-handler
> in ly/declarations-init.ly; this shows how to schedule a \score object
> for typesetting.

Thanks, I'll investigate that a little later.

> > Now that this works more or less, how can I set 'header:piece only for
> > this score? I tried ly:prob-set-property! and ly:context-set-property!,
> > but neither works. Which type of object is a score?
>
> It's a scheme module. I think we lack the bindings to set or read the
> one in the \score block  from scheme. I'll add some for .41 - when the
> bindings are there, it would be
>
> (define header-object (ly:score-header score))
> (module-set! header-object 'piece "blah")

Thanks for adding these bindings. However, should ly:score-header always 
return a header module, or do I have to create the header module myself? For 
me it simply returns an empty list... In particular, the following code does 
not work:

#(define (createscoreII name) 
  (let* (
         (score (ly:make-score #{ \makestaff $name #}))
         ; I also tried (make-module 1021 (ly:score-header score)
         ; where 1021 is taken from the only call to make-module that I 
         ; found in scm/lily.scm
         (header-object (ly:score-header score))
         ;(header-object (make-module 1021 (ly:score-header score)))
        )
    ;(display header-object)
    ; This complains about header-object not being a module.
    ; using make-module, it complains about now knowing the piece variable...
    (module-set! header-object 'piece "blah")
    (ly:export score)
  )
)

I also tried module-add!, but since I'm basically doing trial and error, I 
could not get this to work, either...

Thanks,
Reinhold


- -- 
- ------------------------------------------------------------------
Reinhold Kainhofer, Vienna University of Technology, Austria
email: address@hidden, http://reinhold.kainhofer.com/
 * Financial and Actuarial Mathematics, TU Wien, http://www.fam.tuwien.ac.at/
 * K Desktop Environment, http://www.kde.org, KOrganizer maintainer
 * Chorvereinigung "Jung-Wien", http://www.jung-wien.at/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHut91TqjEwhXvPN0RAtOoAKDEkQMhBWMgQj+PqmBFuy3G25+vkgCgoI7Y
WjuTZIFvS559xoSGdIVACGU=
=Wxn+
-----END PGP SIGNATURE-----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]