Re: Breath with fermata

2020-06-07 Thread Pierre Perol-Schneider
Hi Paolo,
How about:

breatheWithFermata = #(define-music-function (parser location offs)
(number?)
#{
  \override BreathingSign.Y-offset = $offs
  \override BreathingSign.text = \markup {
\override #'(baseline-skip . 1)
\center-column {
  \musicglyph #"scripts.ufermata"
  \abs-fontsize #24 ","
}
  }
  \breathe
#})

{
  c'2.
  % construct the symbol
  \breatheWithFermata #4
   c'4
}

Cheers,
Pierre

Le dim. 7 juin 2020 à 20:12, Paolo Prete  a écrit :

> Hello,
>
> I'm trying to create a breath with a fermata (quite common in contemporary
> music).
>
> Here is what I tried:
>
> %
>
> breatheWithFermata = #(define-music-function (parser location offs)
> (number?)
> #{
>   \override BreathingSign.Y-offset = $offs
>   \override BreathingSign.text = \markup {
> \column {
>   \musicglyph #"scripts.ufermata"
>   \abs-fontsize #24 ","
> }
>   }
>   \breathe
> #})
>
> {
>   c'2.
>   % construct the symbol
>   \breatheWithFermata #6
>c'4
> }
>
> %
>
> I'm not sure this is the right way to achieve the symbol but, anyway, how
> can I
>
> 1) fix the alignment between the text "," and the fermata (so that they
> appear centered)?
> 2)  remove the vertical gap between the the text "," and the fermata
>
> Many thanks!
>
>
>
>
>


Breath with fermata

2020-06-07 Thread Paolo Prete
Hello,

I'm trying to create a breath with a fermata (quite common in contemporary
music).

Here is what I tried:

%

breatheWithFermata = #(define-music-function (parser location offs)
(number?)
#{
  \override BreathingSign.Y-offset = $offs
  \override BreathingSign.text = \markup {
\column {
  \musicglyph #"scripts.ufermata"
  \abs-fontsize #24 ","
}
  }
  \breathe
#})

{
  c'2.
  % construct the symbol
  \breatheWithFermata #6
   c'4
}

%

I'm not sure this is the right way to achieve the symbol but, anyway, how
can I

1) fix the alignment between the text "," and the fermata (so that they
appear centered)?
2)  remove the vertical gap between the the text "," and the fermata

Many thanks!


Re: Orchestral strings, how to organise score and parts for divisi, solos, desks etc.

2020-06-07 Thread David Stephen Grant
>
> On 6/7/20 9:26 AM, Rutger Hofman wrote:
> > My first attempt is here:
> >
> > https://www.rutgerhofman.nl/lilypond/divisi-doc/divisi-doc.html
> >
>
Thank you for sharing this, Rutger - I'm looking forward to reading in more
detail as soon as I have a chance.

Best, David

>


Re: Orchestral strings, how to organise score and parts for divisi, solos, desks etc.

2020-06-07 Thread Rutger Hofman

turned out to keep -> turned out hard to keep

Sorry.

Rutger

On 6/7/20 9:26 AM, Rutger Hofman wrote:
Well, it turned out to keep that tutorial short. Still, I think it will 
have its use, since questions about temp staves/divisi turn up at 
regular intervals.


My first attempt is here:

https://www.rutgerhofman.nl/lilypond/divisi-doc/divisi-doc.html

Please, have a look, say what you (don't) like.

I still debate in my head what the best venue for this would be.

Rutger

On 6/2/20 11:33 AM, Lib Lists wrote:

On Mon, 1 Jun 2020 at 22:16, Rutger Hofman  wrote:


I am thinking of sharing my experiences as a user in this field by
contributing a tutorial or a practical experiences story (or whatever)
on this topic. It would make a distinction between:

1) temporary staves
2) divisi allocation over groups of staves

since these are different concepts, and they are handled differently by
the Lilypond user, although both depend on keepAliveInterfaces.

And I could contribute a bit on techniques to have >2 voices per staff,
rhythmically homophonic or rhythmically polyphonic, especially in the
context of divisi staves.

What would be the best venue for this? Lilypond docs? User list? Scores
of Beauty? If it gets into the Lilypond docs, it is there to "stay
forever" which would be nice.

One elaborate example of my experiences is found in the score and parts
of "3 Bruchstücke aus Wozzeck" by Alban Berg, see
https://imslp.org/wiki/Wozzeck%2C_Op.7_(Berg%2C_Alban) (travel to the
tab [Arrangements and Transcriptions]). One can have a look at e.g. the
Violins I part, mvt. 1, Bars 396-404; there is a 5-fold divisi which is
folded into one staff in the full score. Or practically any instrument
group, for that matter.

Rutger


Hi, that would be awesome, and thank you so much for sharing the code
for Wozzeck, that's exactly what I was looking for. I've been trying
to find my way out for days, and even though I'm making steps in the
good direction, it's not an easy job. A commented example on how to
organise a modern large orchestral score and parts with divisi, desks,
solos, temporary staves, and so on would be extremely useful, at least
for me. I couldn't find such an example in the otherwise awesome
documentation, and I was thinking to contribute myself once I'll be
more familiar.
Thank you!

Lib


On 5/28/20 10:33 AM, Lib Lists wrote:
On Wed, 27 May 2020 at 18:10, Valentin Villenave 
 wrote:


On 5/27/20, Lib Lists  wrote:

merge the stems so
that the final result looks like one voice.


In that case, what you want clearly is \partcombine (\partCombine 
since 2.21).


If you have more than two voices, then you can always apply another
\partCombine on top of the first two voices, or use other tricks to
deal with the more complex situations.


I understand. Unfortunately I cannot find a way to use the
remove-layer technique with \partcombine (see attached file). I'd like
to hide the top staff while maintaining the staff group between bar
19-24 for the difficult passage. Is there a way to achieve this? In
other words there are four notations that I'd need to achieve for
divisi: unisono, divisi (a2, a3, etc.) on same voice & same staff,
divisi on different voices & same staff, divisi on different staves.




Finally, adding a \shortInstrumentName in the StaffGroup gives an
error, but the resulting pdf is otherwise correct.


instrumentName and shortInstrumentName are both siple property
definitions, not variables or functions so the \ is not needed; just
   instrumentName = "something".


That worked, thank you!



Cheers,
-- V.






Re: Hairpin which ends at the beginning of a measure

2020-06-07 Thread Paolo Prete
On Sun, Jun 7, 2020 at 4:16 PM Martin Neubauer  wrote:

>
> Try:
> \override Hairpin.to-barline = ##f
>
>
>
Thank you, it solved all


Re: Hairpin which ends at the beginning of a measure

2020-06-07 Thread Martin Neubauer

Try:
\override Hairpin.to-barline = ##f

(http://lilypond.org/doc/v2.21/Documentation/notation/expressive-marks-attached-to-notes)

On 07/06/2020 16:00, Paolo Prete wrote:
> Hello,
> 
> As you can see in the following example, a hairpin is not connected to its
> final dynamic if this dynamic is at the beginning of a measure, but it
> stops at the end ot the previous measure:
> 
> { c'\pp\< c' c' c' c'\f r2. \break r1 }
> 
> I'm not sure that this default is the proper one in common notation but,
> anyway, is there a way to override it so that the hairpin doesn't stop at
> the end of the previous measure?
> Of course I could override shorten-pair, but I wonder if is there a more
> accurate fix
> 
> Thanks!
> Best,
> P
> 

-- 
Probably does everything except what you want it to do.



signature.asc
Description: OpenPGP digital signature


Re: openLilyLib and text fonts

2020-06-07 Thread Martin Neubauer
There are two different issues here: Firstly, the oll package defaults
to "serif"/"sans-serif"/"monospace" which are the lilypond defaults
onlky for the svg backend. Stealing from scm/fonts.scm (in the lilypond
distribution) suggest the following changes that indeed seem to use the
proper fonts:

diff --git a/package.ily b/package.ily
index ca98c53..555f0b0 100644
--- a/package.ily
+++ b/package.ily
@@ -130,17 +130,20 @@ useNotationFont =
  ;; retrieve 'roman' name from options with "serif" default.
  (roman
   (or (assoc-ref options 'roman)
-  "serif"))
+  (if (eq? (ly:get-option 'backend) 'svg)
+ "serif" "LilyPond Serif")))
  (use-roman (string-downcase roman))
  ;; retrieve 'sans' name from options with "sans-serif" default.
  (sans
   (or (assoc-ref options 'sans)
-  "sans-serif"))
+  (if (eq? (ly:get-option 'backend) 'svg)
+"sans-serif" "LilyPond Sans
Serif")))
  (use-sans (string-downcase sans))
  ;; retrieve 'typewriter' name from options with "monospace"
default.
  (typewriter
   (or (assoc-ref options 'typewriter)
-  "monospace"))
+  (if (eq? (ly:get-option 'backend) 'svg)
+  "monospace" "LilyPond
Monospace")))
  (use-typewriter (string-downcase typewriter))
  ;; retrieve 'style' option with "default" default ...
  (style

I'll also prepare a pull request so this won't be an issue in the future.

Secondly, the typesetting of the lyrics apparently is influenced by the
spacing of the chosen notation font (and why wouldn't it...) However,
that gap around the lyric tie seems to be specific to profondo. Maybe
you can find some formatting tweaks to fix this or use another notation
font. (If I remember correctly, profondo is just an adaptation of – a
nowadays pretty outdated version of – bravura anyway, so that might be
worth a look if you're after that specific look.)

Regards,
Martin

On 07/06/2020 00:24, Tiago Pereira wrote:
> Hi!
> I'm using openLilyLib to change the notation font of my lilypond scores. The 
> problem is: when I change the notation font, the text font is automatically 
> changed to a font that I don't know what it is.
> Default:
> \version "2.20.0"
> 
> \header {
>     title = "Title"
>     composer = "Composer"
> }
> 
> << \relative c' { c2 c c c c1 ^\markup{ \roman roman } ^\markup{ \sans sans } 
> ^\markup{ \typewriter typewriter } }
> \addlyrics { This is~a ly -- ric } >>
> With new notation font:
> \version "2.20.0"
> 
> \include "oll-core/package.ily"
> \loadPackage notation-fonts
> \useNotationFont "profondo"
> 
> \header {
>     title = "Title"
>     composer = "Composer"
> }
> 
> << \relative c' { c2 c c c c1 ^\markup{ \roman roman } ^\markup{ \sans sans } 
> ^\markup{ \typewriter typewriter } }
> \addlyrics { This is~a ly -- ric } >>
> Trying to solve this, I forced lilypond to keep the default text fonts, but I 
> notice that the lyric tie is not positioned properly.
> 
> \version "2.20.0"
> 
> \include "oll-core/package.ily"
> \loadPackage notation-fonts
> \useNotationFont \with {
>   roman = "TeXGyre Schola"
>   sans = "TeXGyre Heros"
>   typewriter = "TeXGyre Cursor"
> } "profondo"
> 
> \header {
>     title = "Title"
>     composer = "Composer"
> }
> 
> << \relative c' { c2 c c c c1 ^\markup{ \roman roman } ^\markup{ \sans sans } 
> ^\markup{ \typewriter typewriter } }
> \addlyrics { This is~a ly -- ric } >>
> So, why the text font is automatically changed? And why the lyric tie is not 
> well positioned? Is there a solution?
> Thanks.
> 

-- 
No proper program contains an indication which as an operator-applied
occurrence identifies an operator-defining occurrence which as an
indication-applied occurrence identifies an indication-defining
occurrence different from the one identified by the given indication
as an indication-applied occurrence.



signature.asc
Description: OpenPGP digital signature


Hairpin which ends at the beginning of a measure

2020-06-07 Thread Paolo Prete
Hello,

As you can see in the following example, a hairpin is not connected to its
final dynamic if this dynamic is at the beginning of a measure, but it
stops at the end ot the previous measure:

{ c'\pp\< c' c' c' c'\f r2. \break r1 }

I'm not sure that this default is the proper one in common notation but,
anyway, is there a way to override it so that the hairpin doesn't stop at
the end of the previous measure?
Of course I could override shorten-pair, but I wonder if is there a more
accurate fix

Thanks!
Best,
P


Re: Maybe a bug with slurs

2020-06-07 Thread Павел

Oh sorry, I so inattentive! Now I understood you.

07.06.2020 14:51, David Kastrup пишет:

While I am unsure that I guess your meaning correctly from this somewhat
jumbled sentence, I repeat: e'4) is essentially the same as 4) which
is different from 4




Re: Maybe a bug with slurs

2020-06-07 Thread David Kastrup
Павел  writes:

> 07.06.2020 14:16, Павел пишет:
>> Thank you for deep explanation!
>>
>> Yes, this is complicated way but it can be useful in some cases.
>>
>> 07.06.2020 12:25, David Kastrup пишет:
>>> Павел  writes:
>>>
 See these two examples. They are almost same except angle brackets. In
 first example slur behaves correctly, but in second does not.

 \version "2.20.0"
 {
  \new Voice = "first" { g'8 f'( }
  \context Voice = "first" << 4  >>
  \new Voice = "second" { g'8 f'( }
  \context Voice = "second" << e'4)  >>
 }
>>> I disagree with that assessment.  Yours is just a complicated way of
>>> writing
>>>
>>> \version "2.20.0"
>>> {
>>>  \new Voice = "first" { g'8 f'( 4 }
>>>  \new Voice = "second" { g'8 f'( 4) }
>>> }
>>>
>>> << >> places constructs in parallel, here into the same Voice.  The
>>> first line uses an in-chord slur ending which is drawn to a specific
>>> note head, the second line uses a per-Voice slur ending which is drawn
>>> to the whole chord.  e'4) is essentially the same as 4) .
>>>

> Small clause: you said "e'4) is essentially the same as 4)". But
> according to your explanation it is essentially the different as
> 4), but in most practical cases they behave same.
>

While I am unsure that I guess your meaning correctly from this somewhat
jumbled sentence, I repeat: e'4) is essentially the same as 4) which
is different from 4

-- 
David Kastrup



Re: Maybe a bug with slurs

2020-06-07 Thread Павел
Small clause: you said "e'4) is essentially the same as 4)". But 
according to your explanation it is essentially the different as 4), 
but in most practical cases they behave same.


07.06.2020 14:16, Павел пишет:

Thank you for deep explanation!

Yes, this is complicated way but it can be useful in some cases.

07.06.2020 12:25, David Kastrup пишет:

Павел  writes:


See these two examples. They are almost same except angle brackets. In
first example slur behaves correctly, but in second does not.

\version "2.20.0"
{
 \new Voice = "first" { g'8 f'( }
 \context Voice = "first" << 4  >>
 \new Voice = "second" { g'8 f'( }
 \context Voice = "second" << e'4)  >>
}

I disagree with that assessment.  Yours is just a complicated way of
writing

\version "2.20.0"
{
 \new Voice = "first" { g'8 f'( 4 }
 \new Voice = "second" { g'8 f'( 4) }
}

<< >> places constructs in parallel, here into the same Voice.  The
first line uses an in-chord slur ending which is drawn to a specific
note head, the second line uses a per-Voice slur ending which is drawn
to the whole chord.  e'4) is essentially the same as 4) .





Re: Maybe a bug with slurs

2020-06-07 Thread Павел
Small clause: you said "e'4) is essentially the same as 4)". But 
according to your explanation it is essentially the different as 4), 
but in most practical cases they behave same.


07.06.2020 14:16, Павел пишет:

is essentially the same




Re: Maybe a bug with slurs

2020-06-07 Thread Павел

Thank you for deep explanation!

Yes, this is complicated way but it can be useful in some cases.

07.06.2020 12:25, David Kastrup пишет:

Павел  writes:


See these two examples. They are almost same except angle brackets. In
first example slur behaves correctly, but in second does not.

\version "2.20.0"
{
 \new Voice = "first" { g'8 f'( }
 \context Voice = "first" << 4  >>
 \new Voice = "second" { g'8 f'( }
 \context Voice = "second" << e'4)  >>
}

I disagree with that assessment.  Yours is just a complicated way of
writing

\version "2.20.0"
{
 \new Voice = "first" { g'8 f'( 4 }
 \new Voice = "second" { g'8 f'( 4) }
}

<< >> places constructs in parallel, here into the same Voice.  The
first line uses an in-chord slur ending which is drawn to a specific
note head, the second line uses a per-Voice slur ending which is drawn
to the whole chord.  e'4) is essentially the same as 4) .





Re: Maybe a bug with slurs

2020-06-07 Thread David Kastrup
Павел  writes:

> See these two examples. They are almost same except angle brackets. In
> first example slur behaves correctly, but in second does not.
>
> \version "2.20.0"
> {
> \new Voice = "first" { g'8 f'( }
> \context Voice = "first" << 4  >>
> \new Voice = "second" { g'8 f'( }
> \context Voice = "second" << e'4)  >>
> }

I disagree with that assessment.  Yours is just a complicated way of
writing

\version "2.20.0"
{
\new Voice = "first" { g'8 f'( 4 }
\new Voice = "second" { g'8 f'( 4) }
}

<< >> places constructs in parallel, here into the same Voice.  The
first line uses an in-chord slur ending which is drawn to a specific
note head, the second line uses a per-Voice slur ending which is drawn
to the whole chord.  e'4) is essentially the same as 4) .

-- 
David Kastrup



Re: Beat structure after time signature change

2020-06-07 Thread David Kastrup
Vaughan McAlley  writes:

> Hi,
>
> Setting the beat structure for beam subdivision seems to persist through
> time signature changes. I think it would be preferable to reset everything
> at a change of time signature, just like what happens to
> beamExceptions.

Which is what happens.  It's just that timing changes happen in the
Timing context (without further user intervention, that is at Score
level) and you override it in the Voice context (which is going to
become really funny once another Voice gets involved).

Try the following:

\version "2.20.0"

\score {
  \relative c' {
\time 4/4
c8 d16 e f32 e d c d e f g a8 b c4 |
\bar "||"
\time 9/8
c,8^"Expected behaviour" d e e f g g a b |
\bar "||"
\break
\time 4/4
\set subdivideBeams = ##t
\set Timing.baseMoment = #(ly:make-moment 1/8)
\set Timing.beatStructure = 2,2,2,2
c,8 d16 e f32 e d c d e f g a8 b c4 |
\bar "||"
% \time 3,3,3 9/8 does work
\time 3,3,3 9/8
\set subdivideBeams = ##f % this makes no difference
c,8^"!!!" d e e f g g a b |
\bar "||"
% This should be unnecessary and it is
%% \set baseMoment = #(ly:make-moment 1/8)
%% \set beatStructure = 3,3,3
c,8^"Just as good" d e e f g g a b |
\bar "||"
  }
  \layout {}
}

-- 
David Kastrup


Maybe a bug with slurs

2020-06-07 Thread Павел
See these two examples. They are almost same except angle brackets. In 
first example slur behaves correctly, but in second does not.


\version "2.20.0"
{
    \new Voice = "first" { g'8 f'( }
    \context Voice = "first" << 4  >>
    \new Voice = "second" { g'8 f'( }
    \context Voice = "second" << e'4)  >>
}




Re: Orchestral strings, how to organise score and parts for divisi, solos, desks etc.

2020-06-07 Thread Rutger Hofman
Well, it turned out to keep that tutorial short. Still, I think it will 
have its use, since questions about temp staves/divisi turn up at 
regular intervals.


My first attempt is here:

https://www.rutgerhofman.nl/lilypond/divisi-doc/divisi-doc.html

Please, have a look, say what you (don't) like.

I still debate in my head what the best venue for this would be.

Rutger

On 6/2/20 11:33 AM, Lib Lists wrote:

On Mon, 1 Jun 2020 at 22:16, Rutger Hofman  wrote:


I am thinking of sharing my experiences as a user in this field by
contributing a tutorial or a practical experiences story (or whatever)
on this topic. It would make a distinction between:

1) temporary staves
2) divisi allocation over groups of staves

since these are different concepts, and they are handled differently by
the Lilypond user, although both depend on keepAliveInterfaces.

And I could contribute a bit on techniques to have >2 voices per staff,
rhythmically homophonic or rhythmically polyphonic, especially in the
context of divisi staves.

What would be the best venue for this? Lilypond docs? User list? Scores
of Beauty? If it gets into the Lilypond docs, it is there to "stay
forever" which would be nice.

One elaborate example of my experiences is found in the score and parts
of "3 Bruchstücke aus Wozzeck" by Alban Berg, see
https://imslp.org/wiki/Wozzeck%2C_Op.7_(Berg%2C_Alban) (travel to the
tab [Arrangements and Transcriptions]). One can have a look at e.g. the
Violins I part, mvt. 1, Bars 396-404; there is a 5-fold divisi which is
folded into one staff in the full score. Or practically any instrument
group, for that matter.

Rutger


Hi, that would be awesome, and thank you so much for sharing the code
for Wozzeck, that's exactly what I was looking for. I've been trying
to find my way out for days, and even though I'm making steps in the
good direction, it's not an easy job. A commented example on how to
organise a modern large orchestral score and parts with divisi, desks,
solos, temporary staves, and so on would be extremely useful, at least
for me. I couldn't find such an example in the otherwise awesome
documentation, and I was thinking to contribute myself once I'll be
more familiar.
Thank you!

Lib


On 5/28/20 10:33 AM, Lib Lists wrote:

On Wed, 27 May 2020 at 18:10, Valentin Villenave  wrote:


On 5/27/20, Lib Lists  wrote:

merge the stems so
that the final result looks like one voice.


In that case, what you want clearly is \partcombine (\partCombine since 2.21).

If you have more than two voices, then you can always apply another
\partCombine on top of the first two voices, or use other tricks to
deal with the more complex situations.


I understand. Unfortunately I cannot find a way to use the
remove-layer technique with \partcombine (see attached file). I'd like
to hide the top staff while maintaining the staff group between bar
19-24 for the difficult passage. Is there a way to achieve this? In
other words there are four notations that I'd need to achieve for
divisi: unisono, divisi (a2, a3, etc.) on same voice & same staff,
divisi on different voices & same staff, divisi on different staves.




Finally, adding a \shortInstrumentName in the StaffGroup gives an
error, but the resulting pdf is otherwise correct.


instrumentName and shortInstrumentName are both siple property
definitions, not variables or functions so the \ is not needed; just
   instrumentName = "something".


That worked, thank you!



Cheers,
-- V.






Re: IMSLP upload policy

2020-06-07 Thread Rutger Hofman




On 6/2/20 8:24 PM, Valentin Villenave wrote:
[snip]


I would of course never urge anybody to get an IMSLP membership :-), but
the fee is (un)reasonably small (a few collaboration actions for IMSLP
would already suffice).


Are you spared the waiting time as an IMSLP contributor? I know I’m not.


When IMSLP turned to the membership-or-delay model, they gave me a 
ten-year membership for free because of the number of scores I had 
contributed. Members don't see a delay, and they do see 'download all 
parts as a zip file'. You might enquire.


Rutger