partCombine misinterprets Solo

2022-03-23 Thread David Santamauro
Hi,

The MWE …

%%
\version "2.22.2"

\include "english.ly"

vOne = \relative {
  c''1\> c1\!  c1 \bar "||"
  c1 c1  c1
}
vTwo = \relative {
  e'1\> R1\!  R1
  e1 R1  R1
}

\score {
  <<
\new Staff \vOne
\new Staff \vTwo
\new Staff \partCombine #'(0 . 0) \vOne \vTwo
  >>
  \layout { }
}
%%

mm 1- 3 and 3-6 are note-identical. The only difference is the decrescendo in 
m. 1, terminated in m. 2. I believe the terminating decrescendo in vTwo/m. 2 
causes the partCombine code to think there's music in vTwo/m. 2 -- I could be 
wrong, but the result is wrong nevertheless. Is this a known issue?

thanks


Re: partCombine misinterprets Solo

2022-03-23 Thread Aaron Hill

On 2022-03-23 1:52 am, David Santamauro wrote:

mm 1- 3 and 3-6 are note-identical. The only difference is the
decrescendo in m. 1, terminated in m. 2. I believe the terminating
decrescendo in vTwo/m. 2 causes the partCombine code to think there's
music in vTwo/m. 2 -- I could be wrong, but the result is wrong
nevertheless.


The part combiner sometimes needs hints.

Consider adding...

  \once \partCombineSoloI

...at the beginning of the second measure.


-- Aaron Hill



Re: partCombine misinterprets Solo

2022-03-23 Thread David Santamauro
From: Aaron Hill 

On 2022-03-23 1:52 am, David Santamauro wrote:
> > mm 1- 3 and 3-6 are note-identical. The only difference is the
> > decrescendo in m. 1, terminated in m. 2. I believe the terminating
> > decrescendo in vTwo/m. 2 causes the partCombine code to think there's
> > music in vTwo/m. 2 -- I could be wrong, but the result is wrong
> > nevertheless.

> Consider adding...
>
>   \once \partCombineSoloI
> ...at the beginning of the second measure.

Thanks …

%%
\version "2.22.2"

\include "english.ly"

vOne = \relative {
  c''1\>
  \once \partCombineSoloI c1\!
  c1 \bar "||"
  c1 c1  c1
}
vTwo = \relative {
  e'1\> R1\!  R1
  e1 R1  R1
}

\score {
  <<
\new Staff \vOne
\new Staff \vTwo
\new Staff \partCombine #'(0 . 0) \vOne \vTwo
  >>
  \layout { }
}
%%%

… yields:
./snippet.ly:6:7: warning: unterminated decrescendo
  c''1
  \>
./snippet.ly:12:6: warning: unterminated decrescendo
  e'1
 \> R1\!  R1

But it did force "Solo" albeit without the specified hairpin.


Re: partCombine misinterprets Solo

2022-03-23 Thread David Santamauro
I believe this is all related to the dynamics (more to the point, the 
termination: \!. If we forget the misplacement of “Solo” for a moment and 
observe the behavior of \partCombine with just the dynamics, it seems to have 
real difficulties with dynamics termination.

\version "2.22.2"

\include "english.ly"

vOne = \relative {
  c''4 c4 c4 c4
  c1\>
  R1\!
  R1*2
  r2 r4 c4\<
  c1\!
}
vTwo = \relative {
  R1
  R1
  R1
  R1*3
  e'1
}

\score {
  <<
\new Staff \vOne
\new Staff \vTwo
\new Staff \partCombine #'(0 . 0) \vOne \vTwo
  >>
  \layout { }
}

… vOne \> termination in m. 3 is ignored and instead, \partCombine moves on to 
the \< in m. 5 and finally terminates in m.6


> On Mar 23, 2022, at 5:46 AM, David Santamauro  
> wrote:
> 
> From: Aaron Hill 
> 
> 
> On 2022-03-23 1:52 am, David Santamauro wrote:
> > > mm 1- 3 and 3-6 are note-identical. The only difference is the
> > > decrescendo in m. 1, terminated in m. 2. I believe the terminating
> > > decrescendo in vTwo/m. 2 causes the partCombine code to think there's
> > > music in vTwo/m. 2 -- I could be wrong, but the result is wrong
> > > nevertheless.
> 
> > Consider adding...
> > 
> >   \once \partCombineSoloI
> > ...at the beginning of the second measure.
> 
> Thanks …
>  
> %%
> \version "2.22.2"
>  
> \include "english.ly"
>  
> vOne = \relative {
>   c''1\>
>   \once \partCombineSoloI c1\! 
>   c1 \bar "||"
>   c1 c1  c1
> }
> vTwo = \relative {
>   e'1\> R1\!  R1
>   e1 R1  R1
> }
>  
> \score {
>   <<
> \new Staff \vOne
> \new Staff \vTwo
> \new Staff \partCombine #'(0 . 0) \vOne \vTwo
>   >>
>   \layout { }
> }
> %%%
>  
> … yields:
> ./snippet.ly:6:7: warning: unterminated decrescendo
>   c''1
>   \>
> ./snippet.ly:12:6: warning: unterminated decrescendo
>   e'1
>  \> R1\!  R1
>  
> But it did force "Solo" albeit without the specified hairpin.




Re: Ambitus_engraver causes ghost laissezVibrer ties on first note of Voice

2022-03-23 Thread Valentin Petzel
I have nothing against ghosts, just against this type of ghost.

This is the user mailing list. For requests like "please fix this" you might 
also send this to the bug mailing list. If you need a quick fix: Adding an 
empty grace column \grace{ s } before the first note will fix this, as will 
putting the whole thing into a single note chord . I suppose 
that the Ambitus_engraver creates the Ambitus Note Heads in the same timestep 
as the first Note Column, which results in them being acknowledged by the 
engravers for semi-ties.

Cheers,
Valentin

Am Mittwoch, 23. März 2022, 06:16:42 CET schrieb Jeff Olson:
> Do you like ghosts?
> 
> Putting an LV tie on the first note of a Voice in which there is an
> ambitus generates two unwelcome "ghost" LV ties floating unattached
> above and below the note, in addition to the desired single LV tie that
> is properly attached to the note.  Here is the MWE (see also attached
> image Ambitus-LV-ghosts.png):
> 
> \version "2.22.0"
> \new Voice \with { \consists "Ambitus_engraver" } {
>a'\laissezVibrer c'' c'
> }
> 
> In this example, the c'' and c' are necessary to establish a range for
> the ambitus to display that is distinct from the note with the proper LV
> tie.  By experimenting with these notes (or simply by visual inspection
> of the output) you see that the two floating ghost LV ties are at
> vertical positions within the first note column that match the two
> extrema of the ambitus.  They are the same LV ties that would be
> properly expected had the ambitus extrema been included as notes in a
> chard with the first note, like this:
> 
> \laissezVibrer
> 
> So the vertical position of the ghosts is determined by the ambitus even
> though their horizontal position is in the first note column.
> 
> This behavior exists at least in 2.22.1 and 2.18.2.  Log files are clean.
> 
> The ghosts disappear when the LV tie is not on the first note (e.g. just
> add initial g'):
> 
> \new Voice \with { \consists "Ambitus_engraver" } {
>g' a'\laissezVibrer c'' c'
> }
> 
> The ghosts also disappear if the ambitus belongs to the Staff context
> (just change Voice to Staff):
> 
> \new Staff \with { \consists "Ambitus_engraver" } {
>a'\laissezVibrer c'' c'
> }
> 
> I don't like ghosts.  Please fix.
> 
> Jeff



signature.asc
Description: This is a digitally signed message part.


Re: partCombine misinterprets Solo

2022-03-23 Thread H. S. Teoh
On Wed, Mar 23, 2022 at 06:34:52AM -0400, David Santamauro wrote:
> I believe this is all related to the dynamics (more to the point, the
> termination: \!. If we forget the misplacement of “Solo” for a moment
> and observe the behavior of \partCombine with just the dynamics, it
> seems to have real difficulties with dynamics termination.

I use \partCombine quite extensively, and have observed that it's very
finicky when it comes to dynamics. Basically, before it can combine two
parts correctly, the dynamics must be identical in both parts. Identical
meaning that any dynamics like \f, \p must fall in exactly the same
beat, and any cresc/decresc must begin and end at the same place.  In
particular, if you have a cresc or decresc ending on a particular beat
in one part but not in the other (e.g., the other is silent or has an
unchanging dynamic like \f or \p), then it will *not* combine the parts
on that beat.

This applies not only to dynamics per se, but also to any additional
events in the two parts aside from notes, such as \set commands (like
\set Staff.midiExpression, and so on). The presence of any such commands
must be identical across the two parts, otherwise \partCombine will
refuse to combine it (and if forced to, is likely to produce incorrect
results).

Because of these issues, I have resorted to the hammer-fisted approach
of using \tag and \removeWithTag to "hide" certain things from
\partCombine or "inject" "fake" dynamics in certain places to make the
two parts match where they otherwise wouldn't. In the instrumental parts
the hacks would be suppressed so that the actual dynamics are printed
correctly.


T

-- 
Answer: Because it breaks the logical sequence of discussion. / Question: Why 
is top posting bad?



Re: Ambitus_engraver causes ghost laissezVibrer ties on first note of Voice

2022-03-23 Thread Jeff Olson

On 3/23/2022 5:18 AM, Valentin Petzel wrote:

I have nothing against ghosts, just against this type of ghost.

This is the user mailing list. For requests like "please fix this" you might
also send this to the bug mailing list. If you need a quick fix: Adding an
empty grace column \grace{ s } before the first note will fix this, as will
putting the whole thing into a single note chord . I suppose
that the Ambitus_engraver creates the Ambitus Note Heads in the same timestep
as the first Note Column, which results in them being acknowledged by the
engravers for semi-ties.

Cheers,
Valentin


Thanks, Valentin.  Your quick(!) fixes should be all I need.

Jeff




Re: text spanner around a line break restates the text, this is not wanted

2022-03-23 Thread Carl Sorensen
On Tue, Mar 22, 2022 at 11:57 PM Kenneth Wolcott 
wrote:

> Thank you for your assistance, Leo.
>
> With your example I was able to remove the duplicate text in the text
> spanner, but I was not able to get the text spanner to continue beyond bar
> #38.
>
> So, I will spend more time studying what you have provided and hopefully I
> will understand how to fix it completely.
>
>
Ken,

If you want to get better assistance, you should really send code snippets,
not screenshots of code snippets.

When we have to make up code to replicate your problem, we have no idea if
we're actually solving your problem.

If we can test changes to your actual code, we can see if it works.

Thanks,

Carl


>
>>


split vocal parts

2022-03-23 Thread Steve Roth
Greetings,

The "Hiding Staves" section of the Lilypond manual describes how to write
two separate parts and have them show up as separate voices on a single
staff most of the time, but split into separate staves at other times.
However, I have been unable to figure out how to extend this to work for
vocal parts with lyrics.  When I try, I get this:

[image: snippet-page1.png]
Although it is correctly hiding two of the three music staves, it is still
showing three of the associated lyric lines.  If anyone could suggest
how to properly extend this example to work with lyrics, I would appreciate
it.

To be clear, what I want to have happen is that, in systems where the two
music parts are combined into a single staff, the two lyric parts appear
underneath the staff; and in systems where the parts are on separate
staves, each part's lyrics appear underneath that part's staff.

The Lilypond source for my attempt is attached.  It's identical to the
"Hiding Staves" example in the manual except for the addition of lyrics.

Thanks in advance,
Steve


snippet.ly
Description: Binary data


Re: split vocal parts

2022-03-23 Thread Kieren MacMillan
Hi Steve,

In an include file, I have the following:

showMMRs = {
  \set Staff.keepAliveInterfaces =
#'( rhythmic-grob-interface
multi-measure-rest-interface
lyric-interface
stanza-number-interface
percent-repeat-interface) }
letStaffVanish = \set Staff.keepAliveInterfaces = #'()
showLyrics = \set Lyrics.keepAliveInterfaces = #'(lyric-interface 
text-interface)
letLyricsVanish = \set Lyrics.keepAliveInterfaces = #'()

I use those to turn staves and lyrics on/off.

Hope that helps!
Kieren.


Re: text spanner around a line break restates the text, this is not wanted

2022-03-23 Thread Kenneth Wolcott
I missed some pertinent code: bars 37-42; enclosed below.

%\break
%  \tempo 2.=42
  4(g' q | % m37
%  \set Score.tempoHideNote = ##f
  2.)\stopTextSpan| % m38
  \tempo \markup { \bold \fontsize #3 "Moderato" } 2.=44
  4(4. 8  | % m39
  2.)| % m40
  4(g' q | % m41
  2.)| % m42
  4(4. 8| % m43
%\break

On Wed, Mar 23, 2022 at 11:55 AM Kenneth Wolcott
 wrote:
>
> Hi Carl;
>
>   Here is the code from bar #30 to bar #36 of the treble clef.
>
>   I have attached a new screenshot of what this produces.
>
>   The text spanner does not wrap around to the next two bars.
>
> Thanks,
> Ken
>
> %\break
>   4(4. a'8) | % m30
>   2\fz(4)   | % m31
>   \override TextSpanner.bound-details.left.text =
> \markup { \bold \upright \fontsize #3 "rall." }
>   \override TextSpanner.bound-details.left-broken.text = ""
> %  \set Score.tempoHideNote = ##t
> %  \tempo 2.=48
>   r4 g''\startTextSpan g''  | % m32
> %  \tempo 2.=44
>   g''4 g'' g''  | % m33
> %  \tempo 2.=40
>   g''4 g'' g''\stopTextSpan | % m34
> %  \tempo 2.=36
>   \override TextSpanner.bound-details.left.text =
> \markup { \bold \upright \fontsize #3 "Slow accel." }
>   \override TextSpanner.bound-details.right-broken.text = ""
>   4\startTextSpan(4. 8  | % m35
> %  \tempo 2.=38
> %  \tempo 2.=40
>   2.)  | % m36
> %\break
>
> On Wed, Mar 23, 2022 at 11:35 AM Carl Sorensen
>  wrote:
> >
> >
> >
> > On Tue, Mar 22, 2022 at 11:57 PM Kenneth Wolcott  
> > wrote:
> >>
> >> Thank you for your assistance, Leo.
> >>
> >> With your example I was able to remove the duplicate text in the text 
> >> spanner, but I was not able to get the text spanner to continue beyond bar 
> >> #38.
> >>
> >> So, I will spend more time studying what you have provided and hopefully I 
> >> will understand how to fix it completely.
> >>
> >
> > Ken,
> >
> > If you want to get better assistance, you should really send code snippets, 
> > not screenshots of code snippets.
> >
> > When we have to make up code to replicate your problem, we have no idea if 
> > we're actually solving your problem.
> >
> > If we can test changes to your actual code, we can see if it works.
> >
> > Thanks,
> >
> > Carl
> >
> >>>
> >>>



Re: text spanner around a line break restates the text, this is not wanted

2022-03-23 Thread Xavier Scheuer
On Wed, 23 Mar 2022 at 20:39, Kenneth Wolcott 
wrote:
>
> I missed some pertinent code: bars 37-42; enclosed below.
>
> (snip)
>

Hello,

You have \stopTextSpan in measure 38, so it ends in measure 38.
Furthermore you have Moderato in measure 39, do you really want the
TextSpanner to continue until bar 40?
If so, then put your \stopTextSpan in measure 40.

Cheers,
Xavier

-- 
Xavier Scheuer 


Re: text spanner around a line break restates the text, this is not wanted

2022-03-23 Thread Kenneth Wolcott
Hi Xavier;

  Thank you.

  Why is it so obvious when somebody points out what you do not see? :-(

\facepalm :-(

  It seems (mostly) correct now.

  How do you get the text spanner to display all the way to the end of the bar?

  I'll look at the manual again to try to find out how I missed that as well.

Thanks,
Ken

On Wed, Mar 23, 2022 at 12:59 PM Xavier Scheuer  wrote:
>
> On Wed, 23 Mar 2022 at 20:39, Kenneth Wolcott  
> wrote:
> >
> > I missed some pertinent code: bars 37-42; enclosed below.
> >
> > (snip)
> >
>
> Hello,
>
> You have \stopTextSpan in measure 38, so it ends in measure 38.
> Furthermore you have Moderato in measure 39, do you really want the 
> TextSpanner to continue until bar 40?
> If so, then put your \stopTextSpan in measure 40.
>
> Cheers,
> Xavier
>
> --
> Xavier Scheuer 
>



Re: partCombine misinterprets Solo

2022-03-23 Thread Kieren MacMillan
Hi there,

> I use \partCombine quite extensively, and have observed that it's very
> finicky when it comes to dynamics.

Agreed.

> This applies not only to dynamics per se, but also to any additional
> events in the two parts aside from notes

Yes.

> Because of these issues, I have resorted to the hammer-fisted approach
> of using \tag and \removeWithTag to "hide" certain things from
> \partCombine or "inject" "fake" dynamics in certain places to make the
> two parts match where they otherwise wouldn't. In the instrumental parts
> the hacks would be suppressed so that the actual dynamics are printed
> correctly.

This is one of my main use-cases for the edition-engraver — being able to keep 
all of those tweaks and "fixes" out of the content (music code) is a blessing.

— Kieren


Desired: text spanner to end at the end of the bar, not at the beginning of the bar

2022-03-23 Thread Kenneth Wolcott
Hi;

  I see the following snippet that displays the hairpin at the end of
the bar instead of the beginning of the bar.

\relative c'' {
  e4\< e2.
  e1\!
  \override Hairpin.to-barline = ##f
  e4\< e2.
  e1\!
}

  Is there something similar to instruct Lilypond to extend the text
spanner to the end of the bar rather than the beginning of the bar?

Thanks,
Ken Wolcott



Re: Desired: text spanner to end at the end of the bar, not at the beginning of the bar

2022-03-23 Thread Jean Abou Samra




Le 23/03/2022 à 23:36, Kenneth Wolcott a écrit :

Hi;

   I see the following snippet that displays the hairpin at the end of
the bar instead of the beginning of the bar.

\relative c'' {
   e4\< e2.
   e1\!
   \override Hairpin.to-barline = ##f
   e4\< e2.
   e1\!
}

   Is there something similar to instruct Lilypond to extend the text
spanner to the end of the bar rather than the beginning of the bar?

Thanks,
Ken Wolcott



It works the same.

\version "2.22.2"

{
  \override TextSpanner.to-barline = ##t
  \once \override TextSpanner.bound-details.left.text = "Foo"
  8\startTextSpan 8 8 8 8 8 8 8
  1\stopTextSpan
}


Best,
Jean





Re: Desired: text spanner to end at the end of the bar, not at the beginning of the bar

2022-03-23 Thread Kenneth Wolcott
Thanks, Jean!

On Wed, Mar 23, 2022 at 3:39 PM Jean Abou Samra  wrote:
>
>
>
> Le 23/03/2022 à 23:36, Kenneth Wolcott a écrit :
> > Hi;
> >
> >I see the following snippet that displays the hairpin at the end of
> > the bar instead of the beginning of the bar.
> >
> > \relative c'' {
> >e4\< e2.
> >e1\!
> >\override Hairpin.to-barline = ##f
> >e4\< e2.
> >e1\!
> > }
> >
> >Is there something similar to instruct Lilypond to extend the text
> > spanner to the end of the bar rather than the beginning of the bar?
> >
> > Thanks,
> > Ken Wolcott
> >
>
> It works the same.
>
> \version "2.22.2"
>
> {
>\override TextSpanner.to-barline = ##t
>\once \override TextSpanner.bound-details.left.text = "Foo"
>8\startTextSpan 8 8 8 8 8 8 8
>1\stopTextSpan
> }
>
>
> Best,
> Jean
>
>



tremolos

2022-03-23 Thread Molly Preston
Is there any way of changing the angle of tremolo markings?

\version "2.22.1"

\repeat tremolo 16 {   32 e'' 32  }

I am wondering if there is a way to get the tremolo marking to be angled
instead of straight?

-Molly


Re: tremolos

2022-03-23 Thread Vaughan McAlley
On Thu, 24 Mar 2022 at 11:05, Molly Preston 
wrote:

> Is there any way of changing the angle of tremolo markings?
>
> \version "2.22.1"
>
> \repeat tremolo 16 {   32 e'' 32  }
>
> I am wondering if there is a way to get the tremolo marking to be angled
> instead of straight?
>
> -Molly
>

It looks like the beams are looking for stems to attach on to, but without
the stems they stay flat. This seems to work:

\version "2.22.1"

{
  % This brings the left side up 0.5 staff spaces
  \once \override Beam.positions = #'(0.5 .  0.0)
  \repeat tremolo 16 {   32 e'' 32  }
}

Vaughan