Re: Vertical spacing again

2017-08-08 Thread Werner Arnhold
Thank you very much, problem solved! Sorry for the missing lines, I was
not aware how to shorten the voices and text so much.

Werner

Am Dienstag, den 08.08.2017, 08:48 +0200 schrieb Malte Meyn:
> Please always give a *compilable* minimal example. I had to add the 
> following code to be able to test possible solutions:
> 
> global = {}
> soprannoten = { c' }
> altnoten = { c' }
> tenornoten = { c' }
> bassnoten = { c' }
> strophefI = \lyricmode { a }
> strophefII = \lyricmode { a }
> strophefIII = \lyricmode { a }
> strophefIV = \lyricmode { a }
> strophetI = \lyricmode { a }
> strophetII = \lyricmode { a }
> strophetIII = \lyricmode { a }
> strophetIV = \lyricmode { a }
> 
> Am 08.08.2017 um 08:27 schrieb Werner Arnhold:
> > For reasons of better readabilty I want a vertical space between the
> > verse for women and those for men without changing the other spacing. Is
> > there a simple way to do that? I supposed that the vertical spacing
> > commands affect all lines.
> 
> These commands affect all lines only if you place them in the \layout 
> block. But everything you can put in the \layout block to change all 
> contexts of a type at one time, you can instead put in a \with block to 
> only change a single context:
> 
> 
> \new Lyrics = "strfIV" \with {
>\override 
> VerticalAxisGroup.nonstaff-nonstaff-spacing.minimum-distance = 5
> }
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user



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


Remove all occurrencies of "0" fingerings

2017-08-08 Thread Marc Hohl

Hello list!

I wanted to write a little callback to remove all occurrencies
of "0" fingerings. This is what I got so far:


\version "2.19.63"

music = {
  c'4-3 d'-0 e'-2 f'-3 | g'1-0
}

\score {
  \new Staff \with {
\override Fingering.stencil =
  #(lambda (grob)
 (let* ((text (ly:grob-property grob 'text))
(stencil (if (equal? text "0")
 empty-stencil
 (ly:grob-property grob 'stencil
   stencil)) }
  { \music }
}


Compiling this nearly MWE, I get:

Warning: Fingering has empty extent and non-empty stencil.
Warning: Fingering has empty extent and non-empty stencil.

And *no* fingering at all is shown in the resulting score.
What am I doing wrong?

Regards,

Marc

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


Re: Remove all occurrencies of "0" fingerings

2017-08-08 Thread Malte Meyn



Am 08.08.2017 um 10:23 schrieb Marc Hohl:


I wanted to write a little callback to remove all occurrencies
of "0" fingerings.


This doesn’t empty the stencil but removes the Fingering grobs 
completely (by suicide):


\override Fingering.before-line-breaking =
#(lambda (grob)
   (if (equal? (ly:grob-property grob 'text) "0")
   (ly:grob-suicide! grob)))

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


Re: Remove all occurrencies of "0" fingerings

2017-08-08 Thread Marc Hohl

Hi Malte,

Am 08.08.2017 um 10:30 schrieb Malte Meyn:



Am 08.08.2017 um 10:23 schrieb Marc Hohl:


I wanted to write a little callback to remove all occurrencies
of "0" fingerings.


This doesn’t empty the stencil but removes the Fingering grobs 
completely (by suicide):


thanks for this solution!

In my real-life example, I got

lilypond: ../flower/include/drul-array.hh:35: T& 
Drul_array::at(Direction) [with T = scm_unused_struct*]: Zusicherung 
>>d == 1 || d == -1<< nicht erf?llt.

Aborted (core dumped)

but changing before-line-breaking to after-line-breaking did the trick.

I do not fully understand why, but it works.

Thanks,

Marc


 \override Fingering.before-line-breaking =
 #(lambda (grob)
(if (equal? (ly:grob-property grob 'text) "0")
(ly:grob-suicide! grob)))

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



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


Re: Alignment problem

2017-08-08 Thread Manuela Gößnitzer
What about

\relative b, {
 \key g \major
 \clef "bass"
 \time 3/4

 \textLengthOn
 d4 _\markup{\italic "Fine"}
 \fermata
 g4- \markup { \dynamic "f" }
 b4
}

2017-08-07 15:18 GMT+02:00 Phil Holmes :

> It does, but only if you attach the markup to the note.  As it turns out,
> it still _just_ collides with the forte, so adding a space to the end of
> "fine" solves this.  However, they still don't align since they are both
> avoiding note stems of different lengths.
>
> \relative b, {
>  \key g \major
>  \clef "bass"
>  \time 3/4
>
>  \textLengthOn
>  d4 _\markup{\italic "Fine "}
>  \fermata
>  g4 \f
>  b4
> }
>
>
> --
> Phil Holmes
>
>
> - Original Message - From: "Jacques Menu" 
> To: "Lilypond-User Mailing List" 
> Sent: Monday, August 07, 2017 1:30 PM
> Subject: Re: Alignment problem
>
>
>
> Hello Phil,
>
> \textLengthOn doesn't solve the problem, thanks anyway!
>
> JM
>
> Jacques Menu, iPhone
>
> Le 7 août 2017 à 08:19, Menu Jacques  a écrit :
>>
>> Hello folks,
>>
>> Can the « Fine » and « f » be on the same horizontal line while remaining
>> attached to two differents notes, without using any separate dynamics voice?
>>
>> Thanks!
>>
>> JM
>>
>> \version "2.19.55"
>>
>> \relative b, {
>>   \key g \major
>>   \clef "bass"
>>   \time 3/4
>>
>>   d4
>>   \fermata _\markup{\italic "Fine"}
>>   g4 \f
>>   b4
>> }
>>
>>
>>
>
>
> 
> 
>
>
>
>>>
>>>
>>
>
> 
> 
>
>
>
> ___
>> lilypond-user mailing list
>> lilypond-user@gnu.org
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
>>
>>
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Remove all occurrencies of "0" fingerings

2017-08-08 Thread Thomas Morley
2017-08-08 11:46 GMT+02:00 Marc Hohl :
> Hi Malte,
>
> Am 08.08.2017 um 10:30 schrieb Malte Meyn:
>>
>>
>>
>> Am 08.08.2017 um 10:23 schrieb Marc Hohl:
>>>
>>>
>>> I wanted to write a little callback to remove all occurrencies
>>> of "0" fingerings.
>>
>>
>> This doesn’t empty the stencil but removes the Fingering grobs completely
>> (by suicide):
>
>
> thanks for this solution!
>
> In my real-life example, I got
>
> lilypond: ../flower/include/drul-array.hh:35: T&
> Drul_array::at(Direction) [with T = scm_unused_struct*]: Zusicherung >>d
> == 1 || d == -1<< nicht erf?llt.music = {
  \set fingeringOrientations = #'(left)
  c'4- d'-0 e'-2  | g'1_0 a'^0
}

\score {
  \new Staff
  \with {
\override Fingering.after-line-breaking =
#(lambda (grob)
  (if (equal? (ly:grob-property grob 'text) "")
  (ly:grob-suicide! grob)))
  }
  { \music }
}
> Aborted (core dumped)
>
> but changing before-line-breaking to after-line-breaking did the trick.
>
> I do not fully understand why, but it works.
>
> Thanks,
>
> Marc
>
>>
>>  \override Fingering.before-line-breaking =
>>  #(lambda (grob)
>> (if (equal? (ly:grob-property grob 'text) "0")
>> (ly:grob-suicide! grob)))

Hi Marc,

your initial code had two problems, comments inline:

\override Fingering.stencil =
  #(lambda (grob)
 (let* ((text (ly:grob-property grob 'text))
(stencil (if (equal? text "0")
 ;; to avoid the warning go for point-stencil
 ;; not empty-stencil
 point-stencil
 ;; return a stencil yourself, don't call the
 ;; property which is created by the stencil-prop
 ;; it's a cycle and I'm somewhat surprised it failed
 ;; not more spectaculary
 (ly:text-interface::print grob
   stencil))

In certain cases going for after-line-break will be too late and
leaves you with bad spacing:

music = {
  \set fingeringOrientations = #'(left)
  c'4- d'-0 e'-2  | g'1_0 a'^0
}

\score {
  \new Staff
  \with {
\override Fingering.after-line-breaking =
#(lambda (grob)
  (if (equal? (ly:grob-property grob 'text) "")
  (ly:grob-suicide! grob)))
  }
  { \music }
}

Ofcourse it's far less likely that a single-digit like will cause such badness.
Nevertheless I'd research why/where your real-life code gives that
assertion failure.


Cheers,
  Harm

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


Re: Remove all occurrencies of "0" fingerings

2017-08-08 Thread David Kastrup
Marc Hohl  writes:

> I wanted to write a little callback to remove all occurrencies
> of "0" fingerings. This is what I got so far:
>
>
> \version "2.19.63"
>
> music = {
>   c'4-3 d'-0 e'-2 f'-3 | g'1-0
> }
>
> \score {
>   \new Staff \with {
> \override Fingering.stencil =
^^^
>   #(lambda (grob)
[...]
>  (ly:grob-property grob 'stencil
^^

> Compiling this nearly MWE, I get:
>
> Warning: Fingering has empty extent and non-empty stencil.
> Warning: Fingering has empty extent and non-empty stencil.
>
> And *no* fingering at all is shown in the resulting score.
> What am I doing wrong?

Recursion: see Recursion.

You can do this by using

\version "2.19.63"

music = {
  c'4-3 d'-0 e'-2 f'-3 | g'1-0
}

\score {
  \new Staff \with {
\override Fingering.text =
#(grob-transformer 'text
  (lambda (grob default)
   (if (string= "0" default)
	""
	default)))
  { \music }
}

assuming that text is indeed just a string.  The warning actually still
occurs.  However, that is a rather glaring bug (the stencil _is_ empty
and the respective code checks for _existence_ of a stencil (which is
guaranteed at that code point) rather than its non-emptiness).  I'll be
providing a patch presently.

-- 
David Kastrup
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Remove all occurrencies of "0" fingerings

2017-08-08 Thread Thomas Morley
2017-08-08 12:47 GMT+02:00 David Kastrup :

>
> You can do this by using
[...]

Nice one. I always forget about 'grob-transformer'. Missing bracket, tho'

\score {
  \new Staff \with {
\override Fingering.text =
#(grob-transformer 'text
  (lambda (grob default)
   (if (string= "0" default)
""
default)))
} %% <--
  { \music }
}

Cheers,
  Harm

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


Re: Remove all occurrencies of "0" fingerings

2017-08-08 Thread David Kastrup
Thomas Morley  writes:

> 2017-08-08 12:47 GMT+02:00 David Kastrup :
>
>>
>> You can do this by using
> [...]
>
> Nice one. I always forget about 'grob-transformer'. Missing bracket, tho'

Edited out a debug printer before posting (which is why I figured the
warning to be bogus), obviously without trying the code again.  Sigh.

-- 
David Kastrup

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


Re: Remove all occurrencies of "0" fingerings

2017-08-08 Thread Marc Hohl

Am 08.08.2017 um 12:47 schrieb David Kastrup:

Marc Hohl  writes:


I wanted to write a little callback to remove all occurrencies
of "0" fingerings. This is what I got so far:


\version "2.19.63"

music = {
   c'4-3 d'-0 e'-2 f'-3 | g'1-0
}

\score {
   \new Staff \with {
 \override Fingering.stencil =

^^^

   #(lambda (grob)

[...]

  (ly:grob-property grob 'stencil

^^


Compiling this nearly MWE, I get:

Warning: Fingering has empty extent and non-empty stencil.
Warning: Fingering has empty extent and non-empty stencil.

And *no* fingering at all is shown in the resulting score.
What am I doing wrong?


Recursion: see Recursion.


Ah, yes!

I think I intermingled the idea to use Fingering.after-line-breaking 
(where stencil is already defined) and Fingering.stencil (to remove the 
stencil before any layout decisions are completed).


Thanks for clarification!

Marc

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


Re: Remove all occurrencies of "0" fingerings

2017-08-08 Thread Marc Hohl

Am 08.08.2017 um 13:00 schrieb Thomas Morley:

2017-08-08 12:47 GMT+02:00 David Kastrup :



You can do this by using

[...]

Nice one. I always forget about 'grob-transformer'. Missing bracket, tho'


I wasn't aware of grob-transformer at all. And I am still unsure about 
what it does. I have read the doc string, though.


Thanks,

Marc

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


Re: Remove all occurrencies of "0" fingerings

2017-08-08 Thread David Kastrup
Marc Hohl  writes:

> Am 08.08.2017 um 13:00 schrieb Thomas Morley:
>> 2017-08-08 12:47 GMT+02:00 David Kastrup :
>>
>>>
>>> You can do this by using
>> [...]
>>
>> Nice one. I always forget about 'grob-transformer'. Missing bracket, tho'
>
> I wasn't aware of grob-transformer at all. And I am still unsure about
> what it does. I have read the doc string, though.

It gives your function both the grob and the value (callbacks and
unpure/pure containers already resolved) that _would_ get calculated
without your override in place.

That can be handy when your function just wants to modify the default,
or if the default is only used sometimes.  To use it, you don't need to
know whether the default is a constant, a function, or an unpure/pure
container.

-- 
David Kastrup

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


Re: Alignment problem

2017-08-08 Thread Menu Jacques
Hello Manuela,

+2, thanks, using two markups is both elegant and simple!

JM

> Le 8 août 2017 à 12:18, Manuela Gößnitzer  a 
> écrit :
> 
> What about
> 
> \relative b, {
>  \key g \major
>  \clef "bass"
>  \time 3/4
> 
>  \textLengthOn
>  d4 _\markup{\italic "Fine"}
>  \fermata
>  g4- \markup { \dynamic "f" }
>  b4
> }
> 
> 2017-08-07 15:18 GMT+02:00 Phil Holmes  >:
> It does, but only if you attach the markup to the note.  As it turns out, it 
> still _just_ collides with the forte, so adding a space to the end of "fine" 
> solves this.  However, they still don't align since they are both avoiding 
> note stems of different lengths.
> 
> \relative b, {
>  \key g \major
>  \clef "bass"
>  \time 3/4
> 
>  \textLengthOn
>  d4 _\markup{\italic "Fine "}
>  \fermata
>  g4 \f
>  b4
> }
> 
> 
> --
> Phil Holmes
> 
> 
> - Original Message - From: "Jacques Menu"  >
> To: "Lilypond-User Mailing List"  >
> Sent: Monday, August 07, 2017 1:30 PM
> Subject: Re: Alignment problem
> 
> 
> 
> Hello Phil,
> 
> \textLengthOn doesn't solve the problem, thanks anyway!
> 
> JM
> 
> Jacques Menu, iPhone
> 
> Le 7 août 2017 à 08:19, Menu Jacques  > a écrit :
> 
> Hello folks,
> 
> Can the « Fine » and « f » be on the same horizontal line while remaining 
> attached to two differents notes, without using any separate dynamics voice?
> 
> Thanks!
> 
> JM
> 
> \version "2.19.55"
> 
> \relative b, {
>   \key g \major
>   \clef "bass"
>   \time 3/4
> 
>   d4
>   \fermata _\markup{\italic "Fine"}
>   g4 \f
>   b4
> }
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org 
> https://lists.gnu.org/mailman/listinfo/lilypond-user 
> 
> 
> 
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org 
> https://lists.gnu.org/mailman/listinfo/lilypond-user 
> 
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

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


Re: Vertical alignment of custom dynamics

2017-08-08 Thread Gregor Smith
Thanks, that worked. Had to change the horizontal alignment but now I have
exactly what I was looking for.

On 6 August 2017 at 00:46, Martin Neubauer  wrote:

>
>
> On 06/08/2017 00:19, Gregor Smith wrote:
> > \version "2.16.0"
> >
> > \include "common.ly"
> >
> > upper = \relative c'' {
> >   \clef treble
> >   \key c \major
> >   \time 2/4
> >   c2
> >   \repeat volta 2 {
> > d | e
> >   }
> > }
> >
> >
> > lower = \relative c' {
> >   \clef bass
> >   \key c \major
> >   \time 2/4
> >   c2
> >   \repeat volta 2 {
> > d | e
> >   }
> > }
> >
> > mpf = \markup  { \dynamic { mp } "-" \dynamic { f } }
> mpf = #(make-dynamic-script "mp - f")
>
> or a little more elaborate:
>
> mpf = #(make-dynamic-script
> (markup #:dynamic "mp"
>   #:normal-text #:italic #:bold "-"
>   #:dynamic "f"))
> (The latter form isn't necessarily preferable in this instance, but
> gives you an example how to achieve more fine-grained control over the
> formatting if needed.)
> >
> > dynamics = {
> >   s2\mp
> >   \repeat volta 2 {
> > s2-\mpf | R2
> >   }
> > }
> >
> >
> >
> > \score {
> >
> >   \new PianoStaff <<
> > \new Staff = "upper" \upper
> > \new Dynamics = "dynamics" \dynamics
> > \new Staff = "lower" \lower
> >   >>
> > }
> --
> Ceci n'est pas une signature.
>
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Error reporting and Lilypond Linting

2017-08-08 Thread Guy Stalnaker
All,

I ask this question knowing some of Lilypond's developers frequent this
list -- is there anyway to get better error reporting/logging? I ask for
several reasons.

One is that the current log output when -verbose is enabled is FULL of
lines relating to font substitution. Over 80% of the output, in fact. When
trouble-shooting output errors related to lilypond code, those font-related
lines just obfuscate the meaningful output. Could we get something like
"LOG: font substitution" "LOG: font substitution 100 more times"?

Two, we all know how the smallest error, in the case I have in mind a
closing  brace } one line off, can cause an explosion of error output. In
this same case every reported error referencing a lilypond source line was,
of course, an error; but not one of them were related to the actual error,
that misplaced brace, which was near m.20 and not m.86 which was the focus
of all of the log output referencing a source file line number. There may
be nothing that can be done about that, of course, but if there were some
type of WARNING process that recognized (!) mal-formed, or simply bad code,
our lives might be a bit easier (though lilypond developers lives might not
be easier). Alternatively, do any of you know of any kind of
well-formedness checking, linting, for lilypond code?

Third, some log output lines do not reference a line in the lilypond source
file. Again, in this case, the eventual resolution related to multi-measure
rests (that closing brace } "covered" the multi-measure rest because it was
after and not before the multi-measure rest). But none of log lines which
indicated a multi-measure rest error referenced a line in the lilypond
source. So, though multi-measure rest errors were there, they were not of
much practical use because the lilypond source is several thousand lines
long and there are hundreds of multi-measure rests in the dozen-plus parts.
I eventually had to resort to the binary method of breaking the source in
two, commenting part B, compiling part A, etc. to slowly eliminate working
source to find the failing source.

GuyS

Guy Stalnaker
jimmyg...@gmail.com
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Error reporting and Lilypond Linting

2017-08-08 Thread David Kastrup
Guy Stalnaker  writes:

> Third, some log output lines do not reference a line in the lilypond source
> file. Again, in this case, the eventual resolution related to multi-measure
> rests (that closing brace } "covered" the multi-measure rest because it was
> after and not before the multi-measure rest). But none of log lines which
> indicated a multi-measure rest error referenced a line in the lilypond
> source. So, though multi-measure rest errors were there, they were not of
> much practical use because the lilypond source is several thousand lines
> long and there are hundreds of multi-measure rests in the dozen-plus parts.
> I eventually had to resort to the binary method of breaking the source in
> two, commenting part B, compiling part A, etc. to slowly eliminate working
> source to find the failing source.

If you are interested in getting something fixed, an example beats an
anecdote.

-- 
David Kastrup

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


Automatically numbering "instrument name"?

2017-08-08 Thread Sam Bivens
As I finish up a sight-singing course packet, I'm wondering if it's
possible for LilyPond to automatically number the individual scores from
beginning to end.

Throughout the document, I have six different types of score contexts,
shown in mwe.ly.

The perfect solution would be a fix where LilyPond automatically creates a
`\with { instrumentName = "1. " }`, where the "1." here becomes dynamic and
adjusts depending on the ordering of the score samples within the document.

Perhaps there is only a solution where we can insert a variable that will
increase by one at every occurrence. If so, this is sufficient; I can write
my own script to insert all necessary `instrumentName = "var"` entries.

Thanks,

Sam
\version "2.19.63"
\language "english"


%%%VIOLIN%%%


violin = \relative c' {
  g
}

\score {
  \new Staff \violin
  \layout { }
}


%%%  VOICEPIANO  %%%


sopranoVoice = \relative c' {
  g
}

verse = \lyricmode {
  Hi
}

right = \relative c' {
  g
}

left = \relative c {
  g
}

sopranoVoicePart = \new Staff { \sopranoVoice }
\addlyrics { \verse }

pianoPart = \new PianoStaff <<
  \new Staff = "right" \right
  \new Staff = "left" { \clef bass \left }
>>

\score {
  <<
\sopranoVoicePart
\pianoPart
  >>
  \layout { }
}


%%% DUET %%%


altoVoice = \relative c'' {
  g
}

bassVoice = \relative c {
  g
}

altoVoicePart = \new Staff { \clef treble \altoVoice }

bassVoicePart = \new Staff { \clef bass \bassVoice }

\score {
  \new ChoirStaff <<
\altoVoicePart
\bassVoicePart
  >>
  \layout { }
}


%%% VOICE%%%


sopranoVoice = \relative c'' {
  g
}

verse = \lyricmode {
  Hi
}

\score {
  \new Staff { \sopranoVoice }
  \addlyrics { \verse }
  \layout { }
}


%%% SATB %%%


soprano = \relative c'' {
  g
}

alto = \relative c' {
  g
}

tenor = \relative c' {
  g
}

bass = \relative c {
  g
}


\score {
  \new ChoirStaff <<
\new Staff \with { \consists "Ambitus_engraver" } \new Voice = "soprano" \soprano
\new Staff \with { \consists "Ambitus_engraver" } { \clef alto \new Voice = "alto" \alto }
\new Staff \with { \consists "Ambitus_engraver" } { \clef tenor\new Voice = "tenor" \tenor }
\new Staff \with { \consists "Ambitus_engraver" } { \clef bass \new Voice = "bass" \bass }
  >>
  \layout { }
}


%%%  VOICEPIANO2 %%%


melody = \relative c' {
  g
}

text = \lyricmode {
  Hi
}

upper = \relative c' {
  g
}

lower = \relative c, {
  g
}

\score {
  <<
{ 
  \new Voice = "mel" { \autoBeamOff \melody 
  }
}
\new Lyrics \lyricsto mel \text
\new PianoStaff <<
  \set PianoStaff.connectArpeggios = ##t
  \new Staff = "upper" \upper
  \new Staff = "lower" \lower
>>
  >>
  \layout {
\context { \Staff \RemoveEmptyStaves }
  }
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Error reporting and Lilypond Linting

2017-08-08 Thread Flaming Hakama by Elaine
> From: Guy Stalnaker 
> Subject: Error reporting and Lilypond Linting

> I ask this question knowing some of Lilypond's developers frequent this
list -- is there anyway to get better error reporting/logging?

Sorry, I can't speak to your main question.


> So, though multi-measure rest errors were there, they were
> not of much practical use because the lilypond source is
> several thousand lines long and there are hundreds of
> multi-measure rests in the dozen-plus parts. I eventually
> had to resort to the binary method of breaking the source
> in two, commenting part B, compiling part A, etc. to slowly
> eliminate working source to find the failing source.

To be clear, I don't disagree with any of your suggestions for improving
lilypond's logging.

However, this particular issue can be mitigated by breaking your source up
into more manageable sections.  Why should part B need to wrangle with
anything from part A?  That's seems like a liability without much upside.

In any kind of coding, after a few hundred lines, you should probably
consider refactoring.  Multiple thousands of lines of source per file is
just way too much to manage in most contexts, and is rarely necessary.

Maybe the next time you have such an error, rather than doing a binary
search, you could start by reorganizing your file structure in a way that
allows you to build individual targets.

If that sounds interesting, feel free to send me your file and I could make
some suggestions as to how to restructure it.

Again, sorry I can't help specifically with the logging output.


HTH,

David Elaine Alt
415 . 341 .4954   "*Confusion is
highly underrated*"
ela...@flaminghakama.com
self-immolation.info
skype: flaming_hakama
Producer ~ Composer ~ Instrumentalist
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

On Tue, Aug 8, 2017 at 1:48 PM,  wrote:

> Send lilypond-user mailing list submissions to
> lilypond-user@gnu.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://lists.gnu.org/mailman/listinfo/lilypond-user
> or, via email, send a message with subject or body 'help' to
> lilypond-user-requ...@gnu.org
>
> You can reach the person managing the list at
> lilypond-user-ow...@gnu.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of lilypond-user digest..."
>
> Today's Topics:
>
>1. Re:Remove all occurrencies of "0" fingerings (David Kastrup)
>2. Re:Alignment problem (Menu Jacques)
>3. Re:Vertical alignment of custom dynamics (Gregor Smith)
>4. Error reporting and Lilypond Linting (Guy Stalnaker)
>
>
> -- Forwarded message --
> From: David Kastrup 
> To: Marc Hohl 
> Cc: Thomas Morley , Lilypond-User <
> lilypond-user@gnu.org>
> Bcc:
> Date: Tue, 08 Aug 2017 18:44:01 +0200
> Subject: Re: Remove all occurrencies of "0" fingerings
> Marc Hohl  writes:
>
> > Am 08.08.2017 um 13:00 schrieb Thomas Morley:
> >> 2017-08-08 12:47 GMT+02:00 David Kastrup :
> >>
> >>>
> >>> You can do this by using
> >> [...]
> >>
> >> Nice one. I always forget about 'grob-transformer'. Missing bracket,
> tho'
> >
> > I wasn't aware of grob-transformer at all. And I am still unsure about
> > what it does. I have read the doc string, though.
>
> It gives your function both the grob and the value (callbacks and
> unpure/pure containers already resolved) that _would_ get calculated
> without your override in place.
>
> That can be handy when your function just wants to modify the default,
> or if the default is only used sometimes.  To use it, you don't need to
> know whether the default is a constant, a function, or an unpure/pure
> container.
>
> --
> David Kastrup
>
>
>
>
> -- Forwarded message --
> From: Menu Jacques 
> To: "Manuela Gößnitzer" 
> Cc: Menu Jacques , Phil Holmes ,
> Lilypond-User Mailing List 
> Bcc:
> Date: Tue, 8 Aug 2017 19:26:40 +0200
> Subject: Re: Alignment problem
> Hello Manuela,
>
> +2, thanks, using two markups is both elegant and simple!
>
> JM
>
> Le 8 août 2017 à 12:18, Manuela Gößnitzer  a
> écrit :
>
> What about
>
> \relative b, {
>  \key g \major
>  \clef "bass"
>  \time 3/4
>
>  \textLengthOn
>  d4 _\markup{\italic "Fine"}
>  \fermata
>  g4- \markup { \dynamic "f" }
>  b4
> }
>
> 2017-08-07 15:18 GMT+02:00 Phil Holmes :
>
>> It does, but only if you attach the markup to the note.  As it turns out,
>> it still _just_ collides with the forte, so adding a space to the end of
>> "fine" solves this.  However, they still don't align since they are both
>> avoiding note stems of different lengths.
>>
>> \relative b, {
>>  \key g \major
>>  \clef "bass"
>>  \time 3/4
>>
>>  \textLengthOn
>>  d4 _\markup{\italic "Fine "}
>>  \fermata
>>  g4 \f
>>  b4
>> }
>>
>>
>> --
>> Phil Holmes
>>
>>
>> - Original Message - From: "Jacques Menu" 
>> To: "Lilypond-User Mailing List" 
>> Sent: Monday, August 07, 2017

Re: Automatically numbering "instrument name"?

2017-08-08 Thread Manuela Gößnitzer
Do you mean something like this?

#(define score-number 0) %% insert in first score

#(set! score-number (1+ score-number))

 \new PianoStaff \with {
instrumentName = \markup {
 #(number->string score-number) "."
}
  }
\relative c'' { c }

2017-08-08 23:33 GMT+02:00 Sam Bivens :

> As I finish up a sight-singing course packet, I'm wondering if it's
> possible for LilyPond to automatically number the individual scores from
> beginning to end.
>
> Throughout the document, I have six different types of score contexts,
> shown in mwe.ly.
>
> The perfect solution would be a fix where LilyPond automatically creates a
> `\with { instrumentName = "1. " }`, where the "1." here becomes dynamic and
> adjusts depending on the ordering of the score samples within the document.
>
> Perhaps there is only a solution where we can insert a variable that will
> increase by one at every occurrence. If so, this is sufficient; I can write
> my own script to insert all necessary `instrumentName = "var"` entries.
>
> Thanks,
>
> Sam
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user