lilypond-devel
[Top][All Lists]
Advanced

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

Parser variables, properties and contexts, rooky developer question.


From: Ian Hulin
Subject: Parser variables, properties and contexts, rooky developer question.
Date: Sat, 29 Aug 2009 23:29:47 +0100
User-agent: Thunderbird 2.0.0.23 (X11/20090817)

Hi all,
I've been grubbing around, grepping my git repository and I need a bit of steering from some of you who've been around the lilypond source longer than me.

I'm trying to design a solution to the original request for tracker 714, which asked to be able to specify an alternate output filename from the code. I don't think this is completely feasible but feel we should be able to support changing the output suffix for midi files, which are produced on a per \score block basis, so I would need to be able to define a property to do this for \score which would pick the value of the output-suffix parser variable as a default and would allow it to be user-settable for the scope of the \score. For example:

% In file VW.ly
#(define output-suffix "Five-songs")
\book {
...
\bookpart
{
...
  \score \with {midi-output-suffix="Dark-Eyed-Sailor"}
  {
    \midi{}
    \layout{}
    music...
  }
%above produces midi file VW-Dark-Eyed-Sailor.mid(i)
% pdf output is going to VW-Two-Songs.pdf
\bookpart {
...
  \score \with {midi-output-suffix="Lovely-On-The-Water"}
  {
    \midi{}
    \layout{}
    music...
  }
%above produces midi file VW-Lovely-On-The-Water.mid(i)
% pdf output is still going to VW-Two-Songs.pdf
}

The parser variable is currently scoped for each source file unit or \book block. The \bookpart block would need to pick up the value of output-suffix as defined for the current \book block and store it as an internal property. Each \score block could then pick up the \bookpart outpt-suffix setting and copy it to its own midi-output-suffix property which would be settable via the user interface.

So finally, here's my questions:
whereabouts in the code would I declare the new midi-output-suffix property? would the code to get \bookpart to inherit the output-suffix parser variable value and \score to inherit the \bookpart value be C++ or Scheme, and in which bits of code?

Thanks for any ideas/help in advance,
Cheers,
Ian Hulin





reply via email to

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