Re: Incipits - not alignment, but help with bug fixes

2014-08-22 Thread David Kastrup
Phil Holmes  writes:

> There are currently two problems (alignment discussion notwithstanding and 
> which I'm not ignoring, but would prefer to park temporarily) with my 
> proposed incipit code.  1) If indent is not set explicitly in the \layout 
> block, it throws an error; 2) If instrumentName is not set explicitly in 
> the score containing the incipit, no incipit is output.
>
> For 1), the optimum answer would apppear to be to check whether indent has 
> been set, and if it hasn't, set it to the value of indent-default which is 
> set in paper-defaults-init.ly as "indent-default = 15\mm".  However, 
> trying to access that variable fails: "test = \indent-default" results 
> in "error: unknown escaped string: `\indent-default'".  Does anyone know 
> why this is and whether there's an alternative way to access that variable 
> value?
>
> If it's not possible to get the value, we could set a variable to what we 
> know its value to be, and then use that.  The following code works:
>
> indent-incipit-default = 15\mm
> line-width = #(primitive-eval
>   '(or (false-if-exception (* 1.0 indent))
>   (* 1.0 indent-incipit-default)))
>
> But all those (* 1.0 variable) lines aren't pretty, but I don't know 
> better syntax.  Would appreciate help here.

Just indent and indent-incipit-default (strip the parens off) should
work actually.

> For 2), the only solution I know is that we would have to add 'Note that 
> instrumentName must be set in the music for the incipit to be produced.  
> If no instrument name is required then use \set Staff.instrumentName = 
> #""' in the documentation.  Is there a better solution?

This is so much a royal pain to get stuff passed properly.  How do we
fare when things like choir brackets get involved?  If that would result
in unacceptable output, it would be a good excuse to rework
Instrument_name_engraver or whatever else is needed on the C++ level to
get a saner hook of incipits into the code.

-- 
David Kastrup

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Incipits - not alignment, but help with bug fixes

2014-08-22 Thread Phil Holmes
There are currently two problems (alignment discussion notwithstanding and 
which I'm not ignoring, but would prefer to park temporarily) with my 
proposed incipit code.  1) If indent is not set explicitly in the \layout 
block, it throws an error; 2) If instrumentName is not set explicitly in 
the score containing the incipit, no incipit is output.

For 1), the optimum answer would apppear to be to check whether indent has 
been set, and if it hasn't, set it to the value of indent-default which is 
set in paper-defaults-init.ly as "indent-default = 15\mm".  However, 
trying to access that variable fails: "test = \indent-default" results 
in "error: unknown escaped string: `\indent-default'".  Does anyone know 
why this is and whether there's an alternative way to access that variable 
value?

If it's not possible to get the value, we could set a variable to what we 
know its value to be, and then use that.  The following code works:

indent-incipit-default = 15\mm
line-width = #(primitive-eval
  '(or (false-if-exception (* 1.0 indent))
  (* 1.0 indent-incipit-default)))

But all those (* 1.0 variable) lines aren't pretty, but I don't know 
better syntax.  Would appreciate help here.

For 2), the only solution I know is that we would have to add 'Note that 
instrumentName must be set in the music for the incipit to be produced.  
If no instrument name is required then use \set Staff.instrumentName = 
#""' in the documentation.  Is there a better solution?


___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel