Re: RehearsalMarks, slurs and ties overlapping

2024-06-13 Thread Kieren MacMillan
Hi Federico,

> How can I overlap the perfect tie (slur) in A with the mark position in B and 
> C so to use the .whiteout and .layer properties to put the slur/tie behind 
> the mark and save some vertical space?

Maybe something like this…?

%%%  SNIPPET BEGINS
\version "2.25.11"

\relative c''' { 
  g1~ \mark \default g1 
  g1~ \tweak extra-offset #'(-0.25 . -1.5) \tweak whiteout #2 \mark \default g1 
  g1( \tweak extra-offset #'(-0.25 . -1.5) \tweak whiteout #2 \mark \default e1 
)  
}
%%%  SNIPPET ENDS

Hope that helps!
Kieren.
__

My work day may look different than your work day. Please do not feel obligated 
to read or respond to this email outside of your normal working hours.




Re: RehearsalMarks, slurs and ties overlapping

2024-06-13 Thread Kieren MacMillan
Hi Federico,

> However I wonder if there is a more general approach. Something «allowing» 
> the slurs not taking the rehearsal marks into consideration when defining its 
> shape parameters.

This is fairly “nuclear”, but:

%%%  SNIPPET BEGINS
\version "2.25.11"

ignoreV =
   \propertyTweak vertical-skylines ##f
   \propertyTweak extra-spacing-height #empty-interval
   \etc

\relative c''' { 
  \ignoreV Score.RehearsalMark
  \override Score.RehearsalMark.Y-offset = #2.75
  \override Score.RehearsalMark.whiteout = #2
  g1~ \mark \default g1 
  g1~ \mark \default g1 
  g1( \mark \default e1 )  
}
%%%  SNIPPET ENDS

Hope that helps!
Kieren.
__

My work day may look different than your work day. Please do not feel obligated 
to read or respond to this email outside of your normal working hours.




Re: RehearsalMarks, slurs and ties overlapping

2024-06-13 Thread Federico Sarudiansky
Hi again, Kieren!

Excellent! However I wonder if there is a more general approach. Something
«allowing» the slurs not taking the rehearsal marks into consideration when
defining its shape parameters.

All the best!

F.

El jue, 13 jun 2024 a las 11:28, Kieren MacMillan (<
kie...@kierenmacmillan.info>) escribió:

> Hi Federico,
>
> > How can I overlap the perfect tie (slur) in A with the mark position in
> B and C so to use the .whiteout and .layer properties to put the slur/tie
> behind the mark and save some vertical space?
>
> Maybe something like this…?
>
> %%%  SNIPPET BEGINS
> \version "2.25.11"
>
> \relative c''' {
>   g1~ \mark \default g1
>   g1~ \tweak extra-offset #'(-0.25 . -1.5) \tweak whiteout #2 \mark
> \default g1
>   g1( \tweak extra-offset #'(-0.25 . -1.5) \tweak whiteout #2 \mark
> \default e1 )
> }
> %%%  SNIPPET ENDS
>
> Hope that helps!
> Kieren.
> __
>
> My work day may look different than your work day. Please do not feel
> obligated to read or respond to this email outside of your normal working
> hours.
>
>


RehearsalMarks, slurs and ties overlapping

2024-06-13 Thread Federico Sarudiansky
Hi.
Please consider the following:

\version "2.25.15"

\relative c''' {
  g1~ \mark \default g1

  \override Score.RehearsalMark.outside-staff-priority = #1
  \override Tie.outside-staff-priority = #2
  g1~ \mark \default g1

  \override Slur.outside-staff-priority = #2
  g1 ( \mark \default e1 )
}

It produces:

[image: image.png]
How can I overlap the perfect tie (slur) in A with the mark position in B
and C so to use the .whiteout and .layer properties to put the slur/tie
behind the mark and save some vertical space?
Thanks in advance!
Regards,
F.


Re: Centered number of bars of multi-measure rest in piano staff?

2024-06-12 Thread Kieren MacMillan
Hi all,

>> Just like in a piano staff we can have centred dynamics between the two 
>> staves, can Lilypond also centre the number of bars a multi-measure rest 
>> lasts? 
> This is how I would do it

If the vertical spacing changes, this would required manual adjustment:

%%%  SNIPPET BEGINS
\version "2.24.3"

\layout {
  \context {
\PianoStaff
\accepts PianoMMR
\override VerticalAxisGroup.staff-staff-spacing.padding = #14
  }
}

musicOne = {
  \clef bass
  \key f \major
  \time 3/8
  \partial 8
  \omit MultiMeasureRestNumber
  r8 | R4.*7 |
}

musicTwo = {
  \clef bass
  \key f \major
  \time 3/8
  \partial 8
  r8 | \offset MultiMeasureRestNumber.Y-offset 1 R4.*7 |
}

\new PianoStaff <<
  \new Staff \compressMMRests \musicOne
  \new Staff \compressMMRests \musicTwo
>>
%%%  SNIPPET ENDS

If you want to have it centred automagically, I’d suggest defining a new 
context, and omitting the MMRNumber from both upper and lower staff contexts:

%%%  SNIPPET BEGINS
\version "2.24.3"

\layout {
  \context {
\name PianoMMR
\type "Engraver_group"
\inherit-acceptability PianoMMR Dynamics
\consists "Axis_group_engraver"
\override VerticalAxisGroup.staff-affinity = #CENTER
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
  #'((basic-distance . 1) (minimum-distance . 1) (padding . 0.5) 
(stretchability . 1))
\consists "Multi_measure_rest_engraver"
\hide MultiMeasureRest
\override MultiMeasureRest.Y-extent = #empty-interval
\override MultiMeasureRestNumber.Y-offset = #-1
  }
  \context {
\PianoStaff
\accepts PianoMMR
\override VerticalAxisGroup.staff-staff-spacing.padding = #14
  }
}

musicOne = {
  \clef bass
  \key f \major
  \time 3/8
  \partial 8
  r8 | R4.*7 |
}

musicTwo = {
  \clef bass
  \key f \major
  \time 3/8
  \partial 8
  r8 | R4.*7 |
}

\new PianoStaff <<
  \new Staff \with { \omit MultiMeasureRestNumber } \compressMMRests \musicOne
  \new PianoMMR \musicOne
  \new Staff \with { \omit MultiMeasureRestNumber } \compressMMRests \musicTwo
>>
%%%  SNIPPET ENDS

Hope that helps!
Kieren.
__

My work day may look different than your work day. Please do not feel obligated 
to read or respond to this email outside of your normal working hours.




Re: Chord-ike fingerings on multiple voices

2024-06-12 Thread Kieren MacMillan
Hi Fennel,

This might be a little hacky, but…

%%%  SNIPPET BEGINS
\version "2.24.3"

"fing13" =
  \tweak X-offset #-1
  \tweak Y-offset 0
  \finger \markup \override #'(baseline-skip . 1.25) \column { "1" "3" }

\relative c'' {
  << { c4 d-2 } \\  a2-\"fing13" >>
}
%%%  SNIPPET ENDS

You could easily make that a function that took the finger numbers as 
parameters.

Hope that helps!
Kieren.
__

My work day may look different than your work day. Please do not feel obligated 
to read or respond to this email outside of your normal working hours.




Semitone mark

2024-06-12 Thread Johannes Roeßler

Hi Group,

is there a way to mark one tone and semitone steps in Lilypond? Haven't
found anything on the web,
maybe I am using the wrong English terms?

Best regards
Joei


--
Diese E-Mail wurde von Avast-Antivirussoftware auf Viren geprüft.
www.avast.com

Re: hairpin over bar line and over end of line

2024-06-11 Thread Werner LEMBERG


> >> It's in the "expressive marks" snippets, though I admit I
> >> couldn't have found it myself without searching the docs source
> >> code.
> > 
> > Could you suggest index entries that I can add to the NR?
>
> Thank you for following up on this.

Paul, the question is addressed to you, too :-)


Werner



Re: hairpin over bar line and over end of line

2024-06-11 Thread waterhorsemusic
Thank you for following up on this.PaulSent from my Galaxy
 Original message From: Werner LEMBERG  Date: 
6/11/24  8:51 PM  (GMT-07:00) To: j...@abou-samra.fr Cc: 
waterhorsemu...@aol.com, lilypond-user@gnu.org Subject: Re: hairpin over bar 
line and over end of line >> How would I have found that in the documentation?> 
> It's in the "expressive marks" snippets, though I admit I couldn't> have 
found it myself without searching the docs source code.Could you suggest index 
entries that I can add to the NR?    Werner

Re: hairpin over bar line and over end of line

2024-06-11 Thread Werner LEMBERG


>> How would I have found that in the documentation?
> 
> It's in the "expressive marks" snippets, though I admit I couldn't
> have found it myself without searching the docs source code.

Could you suggest index entries that I can add to the NR?


Werner



Re: hairpin over bar line and over end of line

2024-06-11 Thread Jean Abou Samra
> How would I have found that in the documentation?


It's in the "expressive marks" snippets, though I admit I couldn't
have found it myself without searching the docs source code.

https://lilypond.org/doc/v2.24/Documentation/snippets/expressive-marks.html#expressive-marks-controlling-spanner-visibility-after-a-line-break



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


Re: hairpin over bar line and over end of line

2024-06-11 Thread Paul Scott


On 6/11/24 11:50 AM, Jean Abou Samra wrote:

\override Hairpin.after-line-breaking = ##f


Thank you, Jean

How would I have found that in the documentation?

Paul



Re: hairpin over bar line and over end of line

2024-06-11 Thread Jean Abou Samra
> Probably a simple answer but how do I get a crescendo in this example to 
> continue to the next line?


\override Hairpin.after-line-breaking = ##f





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


hairpin over bar line and over end of line

2024-06-11 Thread Paul Scott
Probably a simple answer but how do I get a crescendo in this example to 
continue to the next line?


\version "2.25.16"

\fixed c' {
  \override Hairpin.to-barline = ##f
  a2\< b g4\! r4 r2 %This is what I  want any cresc., etc. to do
  a2\< b \break
  g4\! r4 r2
}

TIA,

Paul





Re: Spontini experiences

2024-06-11 Thread Paolo Prete
On Tue, Jun 11, 2024 at 3:00 PM bobr...@centrum.is 
wrote:

> Paolo,
>
> 1.25_alfa did, indeed, solve the issue I was having!  After removing
> 1.24_alfa and unpacking 1.25_alfa it wouldn't even compile a simple *.ly
> file.  It threw errors.  After mucking about a bit, making sure that the
> paths to LilyPond and Inkscape were properly set, and deleting some
> previously compiled output, it started working properly.  Thanks for your
> help!
>
>
Good!
But why did you need to change the LilyPond path?
Did you use Spontini's embedded LilyPond or did you use a custom
installation?


RE: search term

2024-06-11 Thread carsonmark
Werner,

Not sure on how to quantify "really".
Thank you for the entry.

Mark

-Original Message-
From: Werner LEMBERG  
Sent: Monday, June 10, 2024 8:37 PM
To: carsonm...@ca.rr.com
Cc: lilypond-user@gnu.org
Subject: Re: search term


> Which term in the notation index would take me to instructions for
> 
> Cresc. - - -- --  ff 

Have you *really* tried to search in the index of the Notation Reference?
There is an entry for a keyword called `\cresc` (properly sorted as
'cresc').  If you follow that link, you will see an image for

  cresc. -   -   -  mf

I don't think this can be improved.


Werner




RE: search term

2024-06-11 Thread carsonmark
David,

Missed something that simple.
Thank you.

Mark

-Original Message-
From: David Wright  
Sent: Monday, June 10, 2024 8:23 PM
To: carsonm...@ca.rr.com
Cc: 'Lilypond-User Mailing List' 
Subject: Re: search term

On Mon 10 Jun 2024 at 19:14:06 (-0700), carsonm...@ca.rr.com wrote:
> 
> Which term in the notation index would take me to instructions for
> 
> Cresc. - - -- --  ff 

Cresc. Dynamics. Alternatively, one might guess that terms as common as
cresc and dim would be commands, and hence listed in the command index as
well. (Is there a catch?)

Cheers,
David.




Re: Spontini experiences

2024-06-11 Thread bobr...@centrum.is
Paolo, 

1.25_alfa did, indeed, solve the issue I was having! After removing 1.24_alfa 
and unpacking 1.25_alfa it wouldn't even compile a simple *.ly file. It threw 
errors. After mucking about a bit, making sure that the paths to LilyPond and 
Inkscape were properly set, and deleting some previously compiled output, it 
started working properly. Thanks for your help! 

-David 

> From: "Paolo Prete" 
> To: "bobroff" 
> Cc: "Lillypond Users Mailing List" 
> Sent: Monday, June 10, 2024 6:32:01 PM
> Subject: Re: Spontini experiences

> On Mon, Jun 10, 2024 at 6:18 PM [ mailto:bobr...@centrum.is | 
> bobr...@centrum.is
> ] < [ mailto:bobr...@centrum.is | bobr...@centrum.is ] > wrote:

>>> From: "Paolo Prete" < [ mailto:paolopr...@gmail.com | paolopr...@gmail.com 
>>> ] >
>>> To: "bobroff" < [ mailto:bobr...@centrum.is | bobr...@centrum.is ] >
>>> Cc: "Lillypond Users Mailing List" < [ mailto:lilypond-user@gnu.org |
>>> lilypond-user@gnu.org ] >
>>> Sent: Monday, June 10, 2024 11:53:04 AM
>>> Subject: Re: Spontini experiences
>> This is the way it was before *and* after restarting the server after fixing 
>> the
>> double-quote thing. Extra weirdness; with the 'saved-config' looking like 
>> this,
>> SVG to PDF works but I still get at error message in the GUI and the console
>> gives:

> Yeah, this is a Windows permission issue. There's a workaround for this: if 
> you
> export again [ http://yourfile.ly/ | yourfile.ly ] , you have to remove any
> yourfile-svgexport.pdf that was already generated inside the workdir, but this
> procedure is pretty ugly.
> Instead, I just managed to fix it with a new release. Please download it at:

> [ https://github.com/paopre/Spontini/releases/tag/1.25_alfa |
> https://github.com/paopre/Spontini/releases/tag/1.25_alfa ]

> It fixes the above problem. Let me know and thanks for your feedback!

>> 2024-06-10 16:17:12 [I] [ [ http://127.0.0.1:59679/ | 127.0.0.1:59679 ] ]
>> [generating PDF] processing: D:\clouds\OneDrive\lily\blazh\testing.svg
>> 2024-06-10 16:17:13 [E] Exception in ASGI application
>> 2024-06-10 16:17:13 [E]

>>> 2) send me the path of Inkscape

>> C:\Program
>> Files\WindowsApps\25415Inkscape.Inkscape_1.3.2.0_x64__9waqn51p1ttv2\VFS\ProgramFilesX64\Inkscape\bin

>> This is the path where Inkscape lives, but it didn't work until I added
>> 'inkscape.exe' at the end as shown in the 'saved-config' file.

 [N.B. That's weird. It disappeared, but the path to Inkscape *was* there 
 before
 I did the re-set you asked for.]

>>> This is expected. If you insert a wrong path (which means: a bad inkscape
>>> executable path), the editor resets the parameter with an empty string.

>>> HTH
>>> Paolo


Re: Fine-tuning footer alignment

2024-06-11 Thread Cameron Horsburgh
Hi Jean,

Thanks so much for that. It works perfectly! I did see \general-align in
the docs, but it didn't immediately jump out at me as what I needed. Thanks
for helping me out!


Cameron Horsburgh



On Tue, 11 Jun 2024 at 16:22, Jean Abou Samra  wrote:

> \version "2.25.13"
>
> \header {
>   copyright = \markup {
> \general-align #Y #DOWN \left-column {
>   \line{© Cameron Horsburgh. This work is licensed under}
>   \line{CC BY-ND 4.0. To view a copy of this license, visit }
>   \line {https://creativecommons.org/licenses/by-nd/4.0}
> }
>   }
>   tagline = \markup {
> \general-align #Y #DOWN \right-column {
>   \line{Check out LilyPond at}
>   \line{www.lilypond.org}
> }
> \hspace #2
> \general-align #Y #DOWN \override #'(quiet-zone-size . 0) \qr-code
> #10.0 "https://www.lilypond.org;
>
>   }
> }
>
> \score {
>   \relative c{
> c'4 c c c
>   }
>   \layout {
>   }
> }
>
> \paper {
>   oddFooterMarkup = \markup {
> \fill-line {
>   \fromproperty #'header:copyright
>   \fromproperty #'header:tagline
> }
>   }
> }
>
>
>
> HTH
> Jean
>
>


Re: Fine-tuning footer alignment

2024-06-11 Thread Jean Abou Samra
\version "2.25.13"

\header {
  copyright = \markup {
\general-align #Y #DOWN \left-column {
  \line{© Cameron Horsburgh. This work is licensed under}
  \line{CC BY-ND 4.0. To view a copy of this license, visit }
  \line {https://creativecommons.org/licenses/by-nd/4.0}
}
  }
  tagline = \markup {
\general-align #Y #DOWN \right-column {
  \line{Check out LilyPond at}
  \line{www.lilypond.org}
}
\hspace #2
\general-align #Y #DOWN \override #'(quiet-zone-size . 0) \qr-code #10.0 
"https://www.lilypond.org;

  }
}

\score {
  \relative c{
c'4 c c c
  }
  \layout {
  }
}

\paper {
  oddFooterMarkup = \markup {
\fill-line {
  \fromproperty #'header:copyright
  \fromproperty #'header:tagline
}
  }
}



HTH
Jean



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


Re: search term

2024-06-10 Thread Werner LEMBERG


> Which term in the notation index would take me to instructions for
> 
> Cresc. - - -- --  ff 

Have you *really* tried to search in the index of the Notation
Reference?  There is an entry for a keyword called `\cresc` (properly
sorted as 'cresc').  If you follow that link, you will see an image
for

  cresc. -   -   -  mf

I don't think this can be improved.


Werner



Re: search term

2024-06-10 Thread David Wright
On Mon 10 Jun 2024 at 19:14:06 (-0700), carsonm...@ca.rr.com wrote:
> 
> Which term in the notation index would take me to instructions for
> 
> Cresc. - - -- --  ff 

Cresc. Dynamics. Alternatively, one might guess that terms as common
as cresc and dim would be commands, and hence listed in the command
index as well. (Is there a catch?)

Cheers,
David.



search term

2024-06-10 Thread carsonmark
Hello,

 

Which term in the notation index would take me to instructions for

 

Cresc. - - -- --  ff 

 

Thank you.

 

Mark



Re: Spontini experiences

2024-06-10 Thread Paolo Prete
On Mon, Jun 10, 2024 at 6:18 PM bobr...@centrum.is 
wrote:

>
>
> --
>
> *From: *"Paolo Prete" 
> *To: *"bobroff" 
> *Cc: *"Lillypond Users Mailing List" 
> *Sent: *Monday, June 10, 2024 11:53:04 AM
> *Subject: *Re: Spontini experiences
>
> This is the way it was before *and* after restarting the server after
> fixing the double-quote thing.  Extra weirdness; with the 'saved-config'
> looking like this, SVG to PDF works but I still get at error message in the
> GUI and the console gives:
>
>
Yeah, this is a Windows permission issue. There's a workaround for this: if
you export again yourfile.ly, you have to remove any yourfile-svgexport.pdf
that was already generated inside the workdir, but this procedure is pretty
ugly.
Instead, I just managed to fix it with a new release. Please download it at:

https://github.com/paopre/Spontini/releases/tag/1.25_alfa

It fixes the above problem. Let me know and thanks for your feedback!





>
> 2024-06-10 16:17:12 [I] [127.0.0.1:59679] [generating PDF] processing:
> D:\clouds\OneDrive\lily\blazh\testing.svg
> 2024-06-10 16:17:13 [E] Exception in ASGI application
> 2024-06-10 16:17:13 [E]
>
>
>
> 2) send me the path of Inkscape
>
>
> C:\Program
> Files\WindowsApps\25415Inkscape.Inkscape_1.3.2.0_x64__9waqn51p1ttv2\VFS\ProgramFilesX64\Inkscape\bin
>
> This is the path where Inkscape lives, but it didn't work until I added
> 'inkscape.exe' at the end as shown in the 'saved-config' file.
>
>
>
>
> [N.B. That's weird.  It disappeared, but the path to Inkscape *was* there
>> before I did the re-set you asked for.]
>>
>>
> This is expected. If you insert a wrong path (which means: a bad inkscape
> executable path), the editor resets the parameter with an empty string.
>
> HTH
> Paolo
>
>


Re: color text in markup

2024-06-10 Thread Виноградов Юрий
I'm very grateful to you. No offense taken. I'll try to send you the code next time to sort out the problem. Thank you again!!!Юрий Виноградов21:11, 10 июня 2024 г., Aaron Hill :On 2024-06-10 10:27 am, Виноградов Юрий wrote: Greetings! I understand that you can make the same settings for lyricmode. But I ask you to show me some example. Since I am not very good at lilypond myself. I really need to be able to make the first syllable of a word, the beginning of a sentence of a song or a romance or a psalm in red or any other color for my next sets of notes. It is very much requested that you teach me how to do this. As the specificity of my set will often meet with such phenomenon as, "red first letter of a syllable". Please!That's a fairly big ask to the members on the mailing list.  Technically, you have been shown all the basic techniques of \markup commands to be able to do this.  To make a reference to school, we are not going to do your homework.  Now, if you have a specific question along with code you have written as reference, we are more than willing to try to answer it.  But an open-ended request for "teach me to how to do this long list of things" is probably not going to see much response.I do not want to leave you with nothing, lest I come across as being judgmental.  Take a look at this bit of Lilypond:   \version "2.25.13"   \paper { indent = 0 tagline = #f }   rubricRed = #(x11-color 'firebrick)   %% Manual method in markup.   \markup { \concat {   { \with-color \rubricRed Sanc }   { tus } }   }   \relative { \key f \major bes'2 c4( a) | bes1 \fine }   \addlyrics { %% Manual method in markup within lyricsmode. \markup \with-color \rubricRed Glo -- ri -- a.   }   %% Automated methods (ADVANCED).   redden = #(define-scheme-function (red-text normal-text) (markup? markup?)   #{  \markup \concat { { \with-color \rubricRed #red-text } { #normal-text } } #})   %% Testing with automation.   \markup { \redden Sanc tus   }   \relative { \key f \major bes'2 c4( a) | bes1 \fine }   \addlyrics { %% Testing with automation. \redden Glo "" -- ri -- a.   }-- Aaron Hill

Re: color text in markup

2024-06-10 Thread Виноградов Юрий
Okey.Юрий Виноградов21:13, 10 июня 2024 г., Aaron Hill :On 2024-06-10 11:11 am, Aaron Hill wrote:Oops.  I attached the wrong image.  Sorry about that.-- Aaron Hill



Re: color text in markup

2024-06-10 Thread Aaron Hill

On 2024-06-10 11:11 am, Aaron Hill wrote:

Oops.  I attached the wrong image.  Sorry about that.


-- Aaron Hill

Re: color text in markup

2024-06-10 Thread Aaron Hill

On 2024-06-10 10:27 am, Виноградов Юрий wrote:

Greetings!
I understand that you can make the same settings for lyricmode. But I
ask you to show me some example. Since I am not very good at lilypond
myself. I really need to be able to make the first syllable of a word,
the beginning of a sentence of a song or a romance or a psalm in red
or any other color for my next sets of notes. It is very much
requested that you teach me how to do this. As the specificity of my
set will often meet with such phenomenon as, "red first letter of a
syllable". Please!



That's a fairly big ask to the members on the mailing list.  
Technically, you have been shown all the basic techniques of \markup 
commands to be able to do this.  To make a reference to school, we are 
not going to do your homework.  Now, if you have a specific question 
along with code you have written as reference, we are more than willing 
to try to answer it.  But an open-ended request for "teach me to how to 
do this long list of things" is probably not going to see much response.


I do not want to leave you with nothing, lest I come across as being 
judgmental.  Take a look at this bit of Lilypond:



  \version "2.25.13"

  \paper { indent = 0 tagline = #f }

  rubricRed = #(x11-color 'firebrick)

  %% Manual method in markup.
  \markup {
\concat {
  { \with-color \rubricRed Sanc }
  { tus }
}
  }

  \relative { \key f \major bes'2 c4( a) | bes1 \fine }
  \addlyrics {
%% Manual method in markup within lyricsmode.
\markup \with-color \rubricRed Glo -- ri -- a.
  }

  %% Automated methods (ADVANCED).
  redden = #(define-scheme-function
(red-text normal-text) (markup? markup?)
  #{  \markup \concat {
{ \with-color \rubricRed #red-text }
{ #normal-text } } #})

  %% Testing with automation.
  \markup {
\redden Sanc tus
  }

  \relative { \key f \major bes'2 c4( a) | bes1 \fine }
  \addlyrics {
%% Testing with automation.
\redden Glo "" -- ri -- a.
  }



-- Aaron Hill

Re: color text in markup

2024-06-10 Thread Werner LEMBERG


> I really need to be able to make the first syllable of a word, the
> beginning of a sentence of a song or a romance or a psalm in red or
> any other color for my next sets of notes. It is very much requested
> that you teach me how to do this. As the specificity of my set will
> often meet with such phenomenon as, "red first letter of a
> syllable".

Combine my previous example with the code from this LSR snippet:

  https://lsr.di.unimi.it/LSR/Item?id=373

If you have problems please post a (failing) example that we can help
you improve.


Werner



Re: color text in markup

2024-06-10 Thread David Wright
On Mon 10 Jun 2024 at 20:27:37 (+0300), Виноградов Юрий wrote:
> Greetings!I understand that you can make the same settings for 
> lyricmode. But I ask you to show me some example. Since I am not very good at 
> lilypond myself. I really need to be able to make the first syllable of a 
> word, the beginning of a sentence of a song or a romance or a psalm in red or 
> any other color for my next sets of notes. It is very much requested that you 
> teach me how to do this. As the specificity of my set will often meet with 
> such phenomenon as, "red first letter of a syllable". Please! id="d6a0f08e75753cc2cursor-target">Юрий Виноградов />14:56, 10 июня 2024 г., David Kastrup d...@gnu.org: />Виноградов Юрий  href="mailto:hagrid@yandex.ru;>hagrid@yandex.ru writes: /> I'm grateful for 
> your help. But you could not suggest the same solution but for the text 
> in \lyricmode section.\markup … can perfectly 
> well be used for lyrics. class="f55bbb4eeef208e8wmi-sign">-- David Kastrup />

Open the Notation Reference, turn to the index, and look up
"markup, in lyrics". Turn to the page indicated (p316 in
mine) and there are examples for lyrics involving fonts,
size and colour.

Cheers,
David.



Re: color text in markup

2024-06-10 Thread Виноградов Юрий
Greetings!I understand that you can make the same settings for lyricmode. But I ask you to show me some example. Since I am not very good at lilypond myself. I really need to be able to make the first syllable of a word, the beginning of a sentence of a song or a romance or a psalm in red or any other color for my next sets of notes. It is very much requested that you teach me how to do this. As the specificity of my set will often meet with such phenomenon as, "red first letter of a syllable". Please!Юрий Виноградов14:56, 10 июня 2024 г., David Kastrup :Виноградов Юрий  writes: I'm grateful for your help. But you could not suggest the same solution but for the text in \lyricmode section.\markup … can perfectly well be used for lyrics.-- David Kastrup

Re: Spontini experiences

2024-06-10 Thread bobr...@centrum.is
> From: "Paolo Prete" 
> To: "bobroff" 
> Cc: "Lillypond Users Mailing List" 
> Sent: Monday, June 10, 2024 11:53:04 AM
> Subject: Re: Spontini experiences

> On Mon, Jun 10, 2024 at 8:50 AM [ mailto:bobr...@centrum.is | 
> bobr...@centrum.is
> ] < [ mailto:bobr...@centrum.is | bobr...@centrum.is ] > wrote:

>>> From: "Paolo Prete" < [ mailto:paolopr...@gmail.com | paolopr...@gmail.com 
>>> ] >
>>> To: "bobroff" < [ mailto:bobr...@centrum.is | bobr...@centrum.is ] >

>>> 3) The path where Inkscape is installed. e.g: C:\Program
>>> Files\Inkscape\bin\inkscape. exe

>>> Also:

>>> 4) redo the "Set configuration parameter" operation and send me the
>>> saved-config.txt file WITHOUT restarting the server.

>> version=1.24_alfa
>> debug=no
>> midi-enabled=yes
>> soundfont-url=
>> compile-additional-opts=
>> can-config-from-non-localhost=no
>> fork-access-only=no
>> workspace=D:\clouds\OneDrive\lily\blazh
>> lilypond-exec=C:/Users/David/lilypond-2.24.2/bin/lilypond.exe
>> inkscape-exec="C:\Program
>> Files\WindowsApps\25415Inkscape.Inkscape_1.3.2.0_x64__9waqn51p1ttv2\VFS\P
>> default-mode=svg
>> default-midi-input-channel=-1

> Look at the line starting with "inkscape-exec". It shows that you added double
> quotes when you inserted the path. Redo the previous operation without the
> double quotes.
> After that, all should be OK but, if you still experience issues:
> 1) send me again the saved-config.txt file (without restarting)

debug=no 
midi-enabled=yes 
soundfont-url= 
compile-additional-opts= 
can-config-from-non-localhost=no 
fork-access-only=no 
workspace=D:\clouds\OneDrive\lily\blazh 
lilypond-exec=C:/Users/David/lilypond-2.24.2/bin/lilypond.exe 
inkscape-exec=C:\Program 
Files\WindowsApps\25415Inkscape.Inkscape_1.3.2.0_x64__9waqn51p1ttv2\VFS\ProgramFilesX64\Inkscape\bin\inkscape.exe
 
default-mode=svg 
default-midi-input-channel=-1 

This is the way it was before *and* after restarting the server after fixing 
the double-quote thing. Extra weirdness; with the 'saved-config' looking like 
this, SVG to PDF works but I still get at error message in the GUI and the 
console gives: 

2024-06-10 16:17:12 [I] [127.0.0.1:59679] [generating PDF] processing: 
D:\clouds\OneDrive\lily\blazh\testing.svg 
2024-06-10 16:17:13 [E] Exception in ASGI application 
2024-06-10 16:17:13 [E] 

> 2) send me the path of Inkscape

C:\Program 
Files\WindowsApps\25415Inkscape.Inkscape_1.3.2.0_x64__9waqn51p1ttv2\VFS\ProgramFilesX64\Inkscape\bin
 

This is the path where Inkscape lives, but it didn't work until I added 
'inkscape.exe' at the end as shown in the 'saved-config' file. 

>> [N.B. That's weird. It disappeared, but the path to Inkscape *was* there 
>> before
>> I did the re-set you asked for.]

> This is expected. If you insert a wrong path (which means: a bad inkscape
> executable path), the editor resets the parameter with an empty string.

> HTH
> Paolo


Re: Two adjacent clefs

2024-06-10 Thread Valentin Petzel
> Thank you for this.  One question: is the second clef the size of a "change
> clef" ?  The reason I chose LSR 792 over 956 is the size of the second clef.

Yes. See for example

\relative c' {
  %%  Start with a bass clef :
  \clef bass
  %%  Use a hidden grace note:
  \once\hideNotes\grace c64
  %%  Adjust the clef spacing:
  \once\override Staff.Clef.X-extent = #'(1 . 2)
  %%  Put in the treble clef:
  \clef treble
  c4 \clef bass c \clef treble c c | c1
}

This one does in fact create an actual clef, which is then of course a change 
clef. But then it is fiddly (you need to adjust extent of the clef) and causes 
the infamous start-on-grace issues. So I do think integrating this properly is 
the way to go.

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


Re: Two adjacent clefs

2024-06-10 Thread Knute Snortum
On Mon, Jun 10, 2024 at 3:25 AM Valentin Petzel  wrote:

> > and this is the rather hacky one using hidden grace notes - my
> > searching skills are sadly lacking evidently :(
> >
> > Richard
>
> Trust me, the other one is even more hacky ... It essentially fakes the
> appearance of the real clef and draws a new clef glyph into the
> TimeSignature
> grob.
>
> Did a draft for implementation in the actual Clef engraver:
>
> https://gitlab.com/lilypond/lilypond/-/merge_requests/2362
>
> Still needs some polishing and design choices, but then this should
> essentially boil down to setting
>
> initialClefChange = ##t
>

Thank you for this.  One question: is the second clef the size of a "change
clef" ?  The reason I chose LSR 792 over 956 is the size of the second clef.


--
Knute Snortum


Re: color text in markup

2024-06-10 Thread David Kastrup
Виноградов Юрий  writes:

> I'm grateful for your help. But you could not suggest the same
> solution but for the text in \lyricmode section.

\markup … can perfectly well be used for lyrics.

-- 
David Kastrup



Re: Spontini experiences

2024-06-10 Thread Paolo Prete
On Mon, Jun 10, 2024 at 8:50 AM bobr...@centrum.is 
wrote:

>
>
> --
>
> *From: *"Paolo Prete" 
> *To: *"bobroff" 
>
>
>> 3) The path where Inkscape is installed. e.g:  C:\Program
> Files\Inkscape\bin\inkscape.exe
>
> Also:
>
> 4) redo the "Set configuration parameter" operation and send me the
> saved-config.txt file WITHOUT restarting the server.
>
>
> version=1.24_alfa
> debug=no
> midi-enabled=yes
> soundfont-url=
> compile-additional-opts=
> can-config-from-non-localhost=no
> fork-access-only=no
> workspace=D:\clouds\OneDrive\lily\blazh
> lilypond-exec=C:/Users/David/lilypond-2.24.2/bin/lilypond.exe
> inkscape-exec="C:\Program
> Files\WindowsApps\25415Inkscape.Inkscape_1.3.2.0_x64__9waqn51p1ttv2\VFS\P
> default-mode=svg
> default-midi-input-channel=-1
>


Look at the line starting with "inkscape-exec". It shows that you added
double quotes when you inserted the path. Redo the previous operation
without the double quotes.
After that, all should be OK but, if you still experience issues:
1) send me again the saved-config.txt file (without restarting)
2) send me the path of Inkscape


[N.B. That's weird.  It disappeared, but the path to Inkscape *was* there
> before I did the re-set you asked for.]
>
>
This is expected. If you insert a wrong path (which means: a bad inkscape
executable path), the editor resets the parameter with an empty string.

HTH
Paolo


Re: 2.25.16 D.S. al Fine

2024-06-10 Thread Valentin Petzel
> The word "segno" in Italian really just means "sign" - any sign.
> English-speaking musicians may assume that it always means the specific
> slashed-S sign often used for musical repeats, but even in the musical
> context that assumption is not always true because of the possibility of
> more than one repeat in the same piece.  Saying which sign you mean is at
> least sometimes necessary and not "redundant."
> 
> There's less ambiguity if there is only one sign mentioned in the
> instruction, and even less if there is no other sign of this kind used in
> the score at all, but it's easy to guess why the Lilypond coders would
> make the default as it is - unambiguous in all cases.  Leaving the sign
> out would be a problem if there were two D.S. repeats in the same piece;
> and detecting whether that is or isn't the case to automatically include
> the sign or not, would both raise technical issues and be opaque to users.
> ("Why does the same command print different text in two different
> pieces?")

Yes, but then there is a convention, so in simple cases it should be fine. The 
sign 턋 is in fact supposed to mean "signum" or sign, so in this sense this 
should not be too ambivalent (턋 is not just a sign, but it literally means 
"the sign"). Once you use non-conventional signs, it surely is a very good 
idea to include the actual sign. But in standard cases it should be fine, I 
think.

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


Re: color text in markup

2024-06-10 Thread Виноградов Юрий
I'm grateful for your help. But you could not suggest the same solution but for the text in \lyricmode section.Юрий Виноградов07:16, 10 июня 2024 г., Werner LEMBERG : Tell me how to make the first letter in the \markup department red.   d4^\markup {  "Tell me how to make" } d4Try```{  d'4^\markup \concat { \with-color #red T ell " me how to make" }  d'4}```Werner



Re: Two adjacent clefs

2024-06-10 Thread Valentin Petzel
> and this is the rather hacky one using hidden grace notes - my
> searching skills are sadly lacking evidently :(
> 
> Richard

Trust me, the other one is even more hacky ... It essentially fakes the 
appearance of the real clef and draws a new clef glyph into the TimeSignature 
grob.

Did a draft for implementation in the actual Clef engraver:

https://gitlab.com/lilypond/lilypond/-/merge_requests/2362

Still needs some polishing and design choices, but then this should 
essentially boil down to setting

initialClefChange = ##t

Cheers,
Valentin

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


Re: Spontini experiences

2024-06-10 Thread bobr...@centrum.is
> From: "Paolo Prete" 
> To: "bobroff" 
> Cc: "Lillypond Users Mailing List" 
> Sent: Monday, June 10, 2024 6:20:27 AM
> Subject: Re: Spontini experiences

> On Mon, Jun 10, 2024 at 12:22 AM [ mailto:bobr...@centrum.is |
> bobr...@centrum.is ] < [ mailto:bobr...@centrum.is | bobr...@centrum.is ] >
> wrote:

>>> It's preferable if you don't manually edit the config file and you set 
>>> Inkscape
>>> with the GUI. Just click on TOOLS -> "Set configuration parameter". Then 
>>> enter
>>> "inkscape-exec" as the parameter to configure, then enter
>>> "path/to/inkscape.exe" as the value.
>>> For example, on my laptop Inkscape is installed in "C:\Program
>>> Files\Inkscape\bin\inkscape.exe", therefore "C:\Program
>>> Files\Inkscape\bin\inkscape.exe" is the value to insert. Don't forget to
>>> restart the server and check on the Server log if the path has been 
>>> accepted.
>>> You should see some lines like:

>>> 2024-06-09 20:55:18 [I] Found configured Inkscape executable: C:\Program
>>> Files\Inkscape\bin\inkscape.exe
>>> 2024-06-09 20:55:18 [I] Trying to execute "C:\Program
>>> Files\Inkscape\bin\inkscape.exe --version" command...
>>> 2024-06-09 20:55:25 [I] Inkscape 1.3.2 (091e20e, 2023-11-25, custom)
>>> 2024-06-09 20:55:25 [I]
>>> 2024-06-09 20:55:25 [S] ...The command succeeded

>>> I tried it on Windows too and it worked fine but let me know if you still
>>> experience issues.

>> Ah! Yes, I was aware that it is not normal to edit such configuration files
>> 'manually' (it didn't work anyway) but I was at a loss as to what to do.
>> Thanks! I got the proper response from the Spontini server. That said, 
>> however,
>> it still failed after a restart of both the server and the web interface:

>> 2024-06-09 22:11:00 [E] Exception in ASGI application
>> 2024-06-09 22:11:00 [E]
>> ???

> Can you tell me:

> 1) The version of Inkscape you're currently using

Inkscape v1.3.2 

> 2) The version of Spontini-Editor you're currently using

1.24_alpha 

> 3) The path where Inkscape is installed. e.g: C:\Program
> Files\Inkscape\bin\inkscape. exe

> Also:

> 4) redo the "Set configuration parameter" operation and send me the
> saved-config.txt file WITHOUT restarting the server.

version=1.24_alfa 
debug=no 
midi-enabled=yes 
soundfont-url= 
compile-additional-opts= 
can-config-from-non-localhost=no 
fork-access-only=no 
workspace=D:\clouds\OneDrive\lily\blazh 
lilypond-exec=C:/Users/David/lilypond-2.24.2/bin/lilypond.exe 
inkscape-exec="C:\Program 
Files\WindowsApps\25415Inkscape.Inkscape_1.3.2.0_x64__9waqn51p1ttv2\VFS\P 
default-mode=svg 
default-midi-input-channel=-1 

> 5) send me saved-config.txt file that is generated after restarting the server

version=1.24_alfa 
debug=no 
midi-enabled=yes 
soundfont-url= 
compile-additional-opts= 
can-config-from-non-localhost=no 
fork-access-only=no 
workspace=D:\clouds\OneDrive\lily\blazh 
lilypond-exec=C:/Users/David/lilypond-2.24.2/bin/lilypond.exe 
inkscape-exec= 
default-mode=svg 
default-midi-input-channel=-1 

[N.B. That's weird. It disappeared, but the path to Inkscape *was* there before 
I did the re-set you asked for.] 

>> On the other hand, I've found that I can simply switch to PDF mode and I get 
>> the
>> PDF as output.

> Yeah, but I don't suggest it, otherwise you have to continuously switch from 
> SVG
> to PDF mode...

True, but that's what works for me at the moment. I can also just run LilyPond 
on the file again from Frescobaldi, my editor for some years now, or even run 
it from the command line. I also don't have a current project I'm working on. 
Just getting to know Spontini. 

 In the 'Tools' drop-down menu there is no way to choose jsShape. I've 
 resorted
 to using jsTweak and then editing it to jsShape in the input file.

>>> Why do you need this inside the Tools drop-down menu? It should be easier 
>>> and
>>> quicker to use the one provided by the menu in the SVG drawing (Shape -> 
>>> cpts).
>>> In any case, if you show me possible advantages in adding it in the Tools 
>>> menu,
>>> I can add it. Let me know...

>> Oh, it's in the SYMBOLS group. Now that I know where it is it's easy. As for 
>> why
>> I thought having it in the Tools menu would be expected, there are other 
>> tools
>> there under the 'JSSVG' heading. After seeing some of the examples of
>> \js I concluded that \jsShape would (should?) be there as well.

> There's that command in the SYMBOLS group, but I didn't mean that. You should
> use the command "Shape -> cpts" which is in the SVG __drawing__.
> Look at this video:

> [ 
> https://github.com/paopre/Spontini/blob/master/documentation/images/intro.gif
> | 
> https://github.com/paopre/Spontini/blob/master/documentation/images/intro.gif
> ]

> After compiling the file, Just click on the slur in the svg drawing, then 
> right
> click with the mouse: a drop-down menu will appear and you can choose the
> "Shape -> cpts" command. This is the quickest and easiest way to use the
> editor.
> Let me know if you 

Re: Spontini experiences

2024-06-10 Thread Paolo Prete
On Mon, Jun 10, 2024 at 12:22 AM bobr...@centrum.is 
wrote:

> It's preferable if you don't manually edit the config file and you set
> Inkscape with the GUI. Just click on TOOLS -> "Set configuration
> parameter". Then enter "inkscape-exec" as the parameter to configure, then
> enter "path/to/inkscape.exe" as the value.
> For example, on my laptop Inkscape is installed in "C:\Program
> Files\Inkscape\bin\inkscape.exe", therefore "C:\Program
> Files\Inkscape\bin\inkscape.exe" is the value to insert. Don't forget to
> restart the server and check on the Server log if the path has been
> accepted. You should see some lines like:
>
> 2024-06-09 20:55:18 [I] Found configured Inkscape executable: C:\Program
> Files\Inkscape\bin\inkscape.exe
> 2024-06-09 20:55:18 [I] Trying to execute "C:\Program
> Files\Inkscape\bin\inkscape.exe --version" command...
> 2024-06-09 20:55:25 [I] Inkscape 1.3.2 (091e20e, 2023-11-25, custom)
> 2024-06-09 20:55:25 [I]
> 2024-06-09 20:55:25 [S] ...The command succeeded
>
> I tried it on Windows too and it worked fine but let me know if you still
> experience issues.
>
>
> Ah!  Yes, I was aware that it is not normal to edit such configuration
> files 'manually' (it didn't work anyway) but I was at a loss as to what to
> do.  Thanks!  I got the proper response from the Spontini server.  That
> said, however, it still failed after a restart of both the server and the
> web interface:
>
>
> 2024-06-09 22:11:00 [E] Exception in ASGI application
> 2024-06-09 22:11:00 [E]
> ???
>

Can you tell me:

1) The version of Inkscape you're currently using
2) The version of Spontini-Editor you're currently using
3) The path where Inkscape is installed. e.g:  C:\Program
Files\Inkscape\bin\inkscape.exe

Also:

4) redo the "Set configuration parameter" operation and send me the
saved-config.txt file WITHOUT restarting the server.
5) send me saved-config.txt file that is generated after restarting the
server


> On the other hand, I've found that I can simply switch to PDF mode and I
> get the PDF as output.
>
>
>
Yeah, but I don't suggest it, otherwise you have to continuously switch
from SVG to PDF mode...



>
>
>> In the 'Tools' drop-down menu there is no way to choose jsShape.  I've
>> resorted to using jsTweak and then editing it to jsShape in the input file.
>>
>
>
> Why do you need this inside the Tools drop-down menu? It should be easier
> and quicker to use the one provided by the menu in the SVG drawing (Shape
> -> cpts). In any case, if you show me possible advantages in adding it in
> the Tools menu, I can add it. Let me know...
>
>
> Oh, it's in the SYMBOLS group.  Now that I know where it is it's easy.  As
> for why I thought having it in the Tools menu would be expected, there are
> other tools there under the 'JSSVG' heading.  After seeing some of the
> examples of \js I concluded that \jsShape would (should?) be
> there as well.
>

There's that command in the SYMBOLS group, but I didn't mean that. You
should use the command "Shape -> cpts" which is in the SVG __drawing__.
Look at this video:

https://github.com/paopre/Spontini/blob/master/documentation/images/intro.gif

After compiling the file, Just click on the slur in the svg drawing, then
right click with the mouse: a drop-down menu will appear and you can choose
the "Shape -> cpts" command. This is the quickest and easiest way to use
the editor.
Let me know if you managed to get it working...

Hope this helps!
Paolo


Re: color text in markup

2024-06-09 Thread Werner LEMBERG

> Tell me how to make the first letter in the \markup department red.
>
>   d4^\markup {  "Tell me how to make" } d4

Try

```
{
  d'4^\markup \concat { \with-color #red T ell " me how to make" }
  d'4
}
```


Werner


Fwd: color text in markup

2024-06-09 Thread Виноградов Юрий
Hi. Tell me how to make the first letter in the \markup department red.  d4^\markup {  "Tell me how to make" } d4  С уважением,Виноградов Юрий.



Re: Spontini experiences

2024-06-09 Thread bobr...@centrum.is
> From: "Paolo Prete" 
> To: "bobroff" 
> Cc: "Lillypond Users Mailing List" 
> Sent: Sunday, June 9, 2024 7:21:10 PM
> Subject: Re: Spontini experiences

> Hello David,
> Thanks for your feedback!

>> A few observations:

>> I tried the Export SVG to PDF and got a warning about Inkscape being called 
>> but
>> not set. There is no option in the Spontini server to set Inkscape. I did not
>> have Inkscape installed initially, so I installed it and tried to edit the
>> configuration file so it would point to Inkscape but it seems that can't be
>> done 'manually' as the edit did not stick when the Spontini server was
>> re-started.

> It's preferable if you don't manually edit the config file and you set 
> Inkscape
> with the GUI. Just click on TOOLS -> "Set configuration parameter". Then enter
> "inkscape-exec" as the parameter to configure, then enter
> "path/to/inkscape.exe" as the value.
> For example, on my laptop Inkscape is installed in "C:\Program
> Files\Inkscape\bin\inkscape.exe", therefore "C:\Program
> Files\Inkscape\bin\inkscape.exe" is the value to insert. Don't forget to
> restart the server and check on the Server log if the path has been accepted.
> You should see some lines like:

> 2024-06-09 20:55:18 [I] Found configured Inkscape executable: C:\Program
> Files\Inkscape\bin\inkscape.exe
> 2024-06-09 20:55:18 [I] Trying to execute "C:\Program
> Files\Inkscape\bin\inkscape.exe --version" command...
> 2024-06-09 20:55:25 [I] Inkscape 1.3.2 (091e20e, 2023-11-25, custom)
> 2024-06-09 20:55:25 [I]
> 2024-06-09 20:55:25 [S] ...The command succeeded

> I tried it on Windows too and it worked fine but let me know if you still
> experience issues.

Ah! Yes, I was aware that it is not normal to edit such configuration files 
'manually' (it didn't work anyway) but I was at a loss as to what to do. 
Thanks! I got the proper response from the Spontini server. That said, however, 
it still failed after a restart of both the server and the web interface: 

2024-06-09 22:11:00 [E] Exception in ASGI application 
2024-06-09 22:11:00 [E] 
??? 

On the other hand, I've found that I can simply switch to PDF mode and I get 
the PDF as output. 

>> In the 'Tools' drop-down menu there is no way to choose jsShape. I've 
>> resorted
>> to using jsTweak and then editing it to jsShape in the input file.

> Why do you need this inside the Tools drop-down menu? It should be easier and
> quicker to use the one provided by the menu in the SVG drawing (Shape -> 
> cpts).
> In any case, if you show me possible advantages in adding it in the Tools 
> menu,
> I can add it. Let me know...

Oh, it's in the SYMBOLS group. Now that I know where it is it's easy. As for 
why I thought having it in the Tools menu would be expected, there are other 
tools there under the 'JSSVG' heading. After seeing some of the examples of 
\js I concluded that \jsShape would (should?) be there as well. 

> HTH,

> P

Helpful indeed. Thank you! 

-David 


Re: Spontini experiences

2024-06-09 Thread Paolo Prete
Hello David,

Thanks for your feedback!



> A few observations:
>
> I tried the Export SVG to PDF and got a warning about Inkscape being
> called but not set.  There is no option in the Spontini server to set
> Inkscape.  I did not have Inkscape installed initially, so I installed it
> and tried to edit the configuration file so it would point to Inkscape but
> it seems that can't be done 'manually' as the edit did not stick when the
> Spontini server was re-started.
>
>
It's preferable if you don't manually edit the config file and you set
Inkscape with the GUI. Just click on TOOLS -> "Set configuration
parameter". Then enter "inkscape-exec" as the parameter to configure, then
enter "path/to/inkscape.exe" as the value.
For example, on my laptop Inkscape is installed in "C:\Program
Files\Inkscape\bin\inkscape.exe", therefore "C:\Program
Files\Inkscape\bin\inkscape.exe" is the value to insert. Don't forget to
restart the server and check on the Server log if the path has been
accepted. You should see some lines like:

2024-06-09 20:55:18 [I] Found configured Inkscape executable: C:\Program
Files\Inkscape\bin\inkscape.exe
2024-06-09 20:55:18 [I] Trying to execute "C:\Program
Files\Inkscape\bin\inkscape.exe --version" command...
2024-06-09 20:55:25 [I] Inkscape 1.3.2 (091e20e, 2023-11-25, custom)
2024-06-09 20:55:25 [I]
2024-06-09 20:55:25 [S] ...The command succeeded

I tried it on Windows too and it worked fine but let me know if you still
experience issues.



> In the 'Tools' drop-down menu there is no way to choose jsShape.  I've
> resorted to using jsTweak and then editing it to jsShape in the input file.
>


Why do you need this inside the Tools drop-down menu? It should be easier
and quicker to use the one provided by the menu in the SVG drawing (Shape
-> cpts). In any case, if you show me possible advantages in adding it in
the Tools menu, I can add it. Let me know...

HTH,

P


Spontini experiences

2024-06-09 Thread bobr...@centrum.is
After seeing the posts about Spontini I thought I'd have a look myself. There 
were a few stumbling blocks but I've managed to get it working. This is on a 
Windows 11 box. 

A few observations: 

I tried the Export SVG to PDF and got a warning about Inkscape being called but 
not set. There is no option in the Spontini server to set Inkscape. I did not 
have Inkscape installed initially, so I installed it and tried to edit the 
configuration file so it would point to Inkscape but it seems that can't be 
done 'manually' as the edit did not stick when the Spontini server was 
re-started. 

In the 'Tools' drop-down menu there is no way to choose jsShape. I've resorted 
to using jsTweak and then editing it to jsShape in the input file. 

That said, this is a great step forward for editing LilyPond code. I recall 
this sort of thing being talked about years ago. Nice to see it happening. 
Kudos to Paolo Prete! 

-David 


Re: Two adjacent clefs

2024-06-09 Thread Richard Shann
On Sun, 2024-06-09 at 18:08 +0200, Jean Abou Samra wrote:
> 
> > I think it's not uncommon for two clefs to appear side by side at
> > the
> > start of a piece (e.g. when a piano piece starts with both staves
> > in
> > bass clef so as to alert the pianist that the upper staff is not in
> > treble clef).
> > How is this done in LilyPond?
> 
> See
> https://lsr.di.unimi.it/LSR/Item?id=792

ah, this is the solution Knute sent and which I've used
> and
> https://lsr.di.unimi.it/LSR/Item?id=956

and this is the rather hacky one using hidden grace notes - my
searching skills are sadly lacking evidently :(

Richard





Re: Two adjacent clefs

2024-06-09 Thread Jean Abou Samra

> I think it's not uncommon for two clefs to appear side by side at the
> start of a piece (e.g. when a piano piece starts with both staves in
> bass clef so as to alert the pianist that the upper staff is not in
> treble clef).
> How is this done in LilyPond?

See
https://lsr.di.unimi.it/LSR/Item?id=792
and
https://lsr.di.unimi.it/LSR/Item?id=956


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


Re: Two adjacent clefs

2024-06-09 Thread Richard Shann
On Sun, 2024-06-09 at 06:56 -0700, Knute Snortum wrote:
> 
> On Sun, Jun 9, 2024 at 6:39 AM Richard Shann
>  wrote:
> 
> > I was imagining that this construct was more commonly used than I
> > guess
> > it actually is (the current case that I have been asked about is
> > not
> > even what I took to be the common case of pianists so used to
> > having
> > treble and bass that they don't notice it's two bass clefs), ...
> > 
> 
> 
> The situation of having an initial clef, then changing it to another
> clef, is not uncommon in piano music.

Well, that was my impression before I started searching the LilyPond
docs and snippets and mailing lists - it was my failure there that
started me thinking it might not be so common - I'm used to finding
that LilyPond has covered every common notation (and quite a bit
beyond!)

Richard




Re: 2.25.16 D.S. al Fine

2024-06-09 Thread mskala
On Sat, 8 Jun 2024, Paul Scott wrote:
> I can't quickly find any examples in printed music that has the redundant
> segno mark.  D.S. aleady means "dal segno" or "from the sign."
>
> I don't have a copy of Gould but Wikipedia and other sources on the Internet
> agree with me.

For what it's worth, Gould gives an example of "D.S. al Fine" without
including the sign, but also "D.S.  al  e poi la
Coda" and she writes about that one, "It is important to include both
signs in the instruction, to clarify which is which."

The word "segno" in Italian really just means "sign" - any sign.
English-speaking musicians may assume that it always means the specific
slashed-S sign often used for musical repeats, but even in the musical
context that assumption is not always true because of the possibility of
more than one repeat in the same piece.  Saying which sign you mean is at
least sometimes necessary and not "redundant."

There's less ambiguity if there is only one sign mentioned in the
instruction, and even less if there is no other sign of this kind used in
the score at all, but it's easy to guess why the Lilypond coders would
make the default as it is - unambiguous in all cases.  Leaving the sign
out would be a problem if there were two D.S. repeats in the same piece;
and detecting whether that is or isn't the case to automatically include
the sign or not, would both raise technical issues and be opaque to users.
("Why does the same command print different text in two different
pieces?")

If you don't need the instructions to "really work" in the sense of being
properly unfolded by \unfoldRepeats, then you can print an ambiguous
repeat instruction by using the manual repeat commands something like
this:

\score {
  { f'1 |
\segnoMark \default
c'1 | e'1 | \fine
g'2 bes'2 |
1 |
\jump "D.S. al Fine"
  }
}

Overriding the default text and keeping the logical structure so it works
with \unfoldRepeats seems to be a little more complicated:
   https://lists.gnu.org/archive/html/lilypond-user/2022-11/msg00241.html

-- 
Matthew Skala
msk...@ansuz.sooke.bc.ca People before tribes.
https://ansuz.sooke.bc.ca/

Re: Two adjacent clefs

2024-06-09 Thread Knute Snortum
On Sun, Jun 9, 2024 at 6:39 AM Richard Shann 
wrote:

I was imagining that this construct was more commonly used than I guess
> it actually is (the current case that I have been asked about is not
> even what I took to be the common case of pianists so used to having
> treble and bass that they don't notice it's two bass clefs), ...
>

The situation of having an initial clef, then changing it to another clef,
is not uncommon in piano music.  Recall Chopin's prelude in e flat minor,
opus 28, number 14 (attached).

--
Knute Snortum


Re: Two adjacent clefs

2024-06-09 Thread Richard Shann
On Sun, 2024-06-09 at 10:33 +0200, Valentin Petzel wrote:
> Hello Richard,
> 
> usually for this I’d simply use grace notes to create a timestep
> separation 
> between two clefs:
> 
> {
>   \clef bass
>   \once\hideNotes\grace c64
>   \once\override Staff.Clef.X-extent = #'(1.5 . 2)
>   \clef treble
>   1
> }

I cooked up something along those lines, but thought it too hacky ...

> 
> But then it would actually be quite easy to have this done properly
> by an 
> engraver (without any hacks). See the appended file for such an
> engraver that 
> will enable showing an initial clef change.
> 
> Also the change clef will use the cue-clef break alignment, so using
> that you 
> can actually adjust order (such as placing the change clef before key
> or time 
> sigs) simply by using the break-align-order.
> 
> It would in fact be quite simple to extend the clef engraver to do
> this 
> natively, simply by setting some context property. Maybe then using
> an 
> initial-change-clef break alignment and a slightly adapted glyph name
> calculation that takes this into account (currently the small clef
> glyph needs 
> to be set in the engraver, as Lilypond does not use change clefs at
> the begin 
> of the line).

I was imagining that this construct was more commonly used than I guess
it actually is (the current case that I have been asked about is not
even what I took to be the common case of pianists so used to having
treble and bass that they don't notice it's two bass clefs), so Knute's
relatively simple suggestion will be fine.
Omce again, a lot of useful insights in the code you provided - thank
you.

Best,
Richard



Re: Two adjacent clefs

2024-06-09 Thread Richard Shann
On Sat, 2024-06-08 at 14:46 -0400, William Rehwinkel wrote:
> Dear Richard,
> 
> I'm not sure what you mean, but I think I would do something like
> this 
> for putting multiple clefs together.
> 
> -William
> 
> % --
> \version "2.25.16"
> 
> \relative c' {
>    \override Staff.Clef.stencil = #ly:text-interface::print
>    \override Staff.Clef.text = \markup { \raise #-2 \musicglyph 
> "clefs.G" \raise #0 \musicglyph "clefs.F" \raise #-1 \musicglyph 
> "clefs.C" \raise #0 \musicglyph "clefs.C" }
>    \clef tenor
>    c4
> }
> % --

Thank you - an interesting approach. 
Richard



Re: Two adjacent clefs

2024-06-09 Thread Valentin Petzel
Hello Richard,

usually for this I’d simply use grace notes to create a timestep separation 
between two clefs:

{
  \clef bass
  \once\hideNotes\grace c64
  \once\override Staff.Clef.X-extent = #'(1.5 . 2)
  \clef treble
  1
}

But then it would actually be quite easy to have this done properly by an 
engraver (without any hacks). See the appended file for such an engraver that 
will enable showing an initial clef change.

Also the change clef will use the cue-clef break alignment, so using that you 
can actually adjust order (such as placing the change clef before key or time 
sigs) simply by using the break-align-order.

It would in fact be quite simple to extend the clef engraver to do this 
natively, simply by setting some context property. Maybe then using an 
initial-change-clef break alignment and a slightly adapted glyph name 
calculation that takes this into account (currently the small clef glyph needs 
to be set in the engraver, as Lilypond does not use change clefs at the begin 
of the line).

Cheers,
Valentin

Am Samstag, 8. Juni 2024, 19:05:26 MESZ schrieb Richard Shann:
> On Sat, 2024-06-08 at 08:09 -0700, Knute Snortum wrote:
> > On Sat, Jun 8, 2024 at 7:03 AM Richard Shann
> > 
> >  wrote:
> > > I think it's not uncommon for two clefs to appear side by side at
> > > the
> > > start of a piece (e.g. when a piano piece starts with both staves
> > > in
> > > bass clef so as to alert the pianist that the upper staff is not in
> > > treble clef).
> > > How is this done in LilyPond?
> > 
> > It can be done with some Scheme magic.  I'm assuming you want both a
> > treble and bass clef initial and then immediately change to another
> > clef?  Someone wrote this (attached) for me (I really need to put the
> > author in the code so I can give credit where due.)  All you do is
> > include it in your LilyPond source and write \trebleToBass or
> > \bassToTreble and you have what you want.
> 
> Perfect!  Thank you so much!
> 
> Richard

%%% This engraver records the initial clef properties (e.g. what is set by \with { \clef ... })
%%% If in the first timestep these changed, engrave the original clef, and change formatting and break
%%% alignment of the actual clef to mimic a clef change clef. Duplicates some procedure from clef engraver
%%% and could easily be integrated.
#(define (initial-clef-change-engraver context)
   (let ((initial-clef-properties #f) (cclef #f))
 ; macro for checking if any clef property has changed
 (define (clef-changed)
   (>
(length initial-clef-properties)
(length
 (filter
  (lambda (x) (equal? (cdr x) (ly:context-property context (car x
  initial-clef-properties
 (make-engraver
  ; Record initials propertis
  ((initialize engraver)
   (set!
initial-clef-properties
`((clefGlyph . ,(ly:context-property context 'clefGlyph))
  (clefPosition  . ,(ly:context-property context 'clefPosition))
  (clefTransposition  . ,(ly:context-property context 'clefTransposition)
  ; Record the actual clef to adjust. Use detals.muted to not acknowledge clef created by this engraver.
  (acknowledgers
   ((clef-interface engraver grob source-engraver)
(if (not (assoc-get 'muted (ly:grob-property grob 'details) #f))
(set! cclef grob
  ; Create a clef if necessary
  ((process-music engraver)
   (if (and initial-clef-properties (clef-changed))
   (let ((clef (ly:engraver-make-grob engraver 'Clef '(
 (ly:grob-set-property! clef 'staff-position (assoc-get 'clefPosition initial-clef-properties))
 (ly:grob-set-property! clef 'glyph (assoc-get 'clefGlyph initial-clef-properties))
 (ly:grob-set-nested-property! clef '(details muted) #t)
 (if ((lambda (x) (and (number? x) (not (= 0 x
  (assoc-get 'clefTransposition initial-clef-properties 0))
 (let ((mod (ly:engraver-make-grob engraver 'ClefModifier '()))
   (formatter (ly:context-property context 'clefTranspositionFormatter))
   (style (ly:context-property context 'clefTranspositionStyle))
   (dir (sign (assoc-get 'clefTransposition initial-clef-properties 0)))
   (abs_trans (1+ (abs (assoc-get 'clefTransposition initial-clef-properties 0)
   (if (procedure? formatter)
   (ly:grob-set-property! mod 'text (formatter (number->string abs_trans) style)))
   (ly:grob-set-object! mod 'side-support-elements (ly:grob-list->grob-array (list clef)))
   (ly:grob-set-parent! mod X clef)
   (ly:grob-set-parent! mod Y clef)
   (ly:grob-set-property! mod 'direction dir))
  ; Adjust the actual clef
  ((process-acknowledged engraver)
   (if (and cclef initial-clef-properties (clef-changed))
   (begin

Re: 2.25.16 D.S. al Fine

2024-06-09 Thread Paul Scott

Ok, I did find the solution someone gave me some time ago.  I still wonder:

1. Why the default uses the redundant \segnoMark.

2. Why there isn't a more direct option for what I believe is the more 
common notation.


Paul


On 6/8/24 11:42 PM, Paul Scott wrote:
Using the repeat segno structure how can I eliminate the redundant 
segno mark in


D.S. [segnoMark] al Fine ?

I can't quickly find any examples in printed music that has the 
redundant segno mark.  D.S. aleady means "dal segno" or "from the sign."


I don't have a copy of Gould but Wikipedia and other sources on the 
Internet agree with me.


TIA,

Paul







2.25.16 D.S. al Fine

2024-06-09 Thread Paul Scott
Using the repeat segno structure how can I eliminate the redundant segno 
mark in


D.S. [segnoMark] al Fine ?

I can't quickly find any examples in printed music that has the 
redundant segno mark.  D.S. aleady means "dal segno" or "from the sign."


I don't have a copy of Gould but Wikipedia and other sources on the 
Internet agree with me.


TIA,

Paul





Re: Two adjacent clefs

2024-06-08 Thread William Rehwinkel via LilyPond user discussion

Dear Richard,

I'm not sure what you mean, but I think I would do something like this 
for putting multiple clefs together.


-William

% --
\version "2.25.16"

\relative c' {
  \override Staff.Clef.stencil = #ly:text-interface::print
  \override Staff.Clef.text = \markup { \raise #-2 \musicglyph 
"clefs.G" \raise #0 \musicglyph "clefs.F" \raise #-1 \musicglyph 
"clefs.C" \raise #0 \musicglyph "clefs.C" }

  \clef tenor
  c4
}
% --


On 6/8/24 10:03, Richard Shann wrote:

I think it's not uncommon for two clefs to appear side by side at the
start of a piece (e.g. when a piano piece starts with both staves in
bass clef so as to alert the pianist that the upper staff is not in
treble clef).
How is this done in LilyPond?

Richard Shann




--
William Rehwinkel (any pronouns)
Juilliard School '26 - Oberlin Conservatory '24
will...@williamrehwinkel.net - https://williamrehwinkel.net
PGP Public Key: https://ftp.williamrehwinkel.net/pubkey.txt


OpenPGP_signature.asc
Description: OpenPGP digital signature


Re: Two adjacent clefs

2024-06-08 Thread Richard Shann
On Sat, 2024-06-08 at 08:09 -0700, Knute Snortum wrote:
> On Sat, Jun 8, 2024 at 7:03 AM Richard Shann
>  wrote:
> > I think it's not uncommon for two clefs to appear side by side at
> > the
> > start of a piece (e.g. when a piano piece starts with both staves
> > in
> > bass clef so as to alert the pianist that the upper staff is not in
> > treble clef).
> > How is this done in LilyPond?
> > 
> 
> 
> It can be done with some Scheme magic.  I'm assuming you want both a
> treble and bass clef initial and then immediately change to another
> clef?  Someone wrote this (attached) for me (I really need to put the
> author in the code so I can give credit where due.)  All you do is
> include it in your LilyPond source and write \trebleToBass or
> \bassToTreble and you have what you want.

Perfect!  Thank you so much!

Richard



Re: Two adjacent clefs

2024-06-08 Thread Knute Snortum
On Sat, Jun 8, 2024 at 7:03 AM Richard Shann 
wrote:

> I think it's not uncommon for two clefs to appear side by side at the
> start of a piece (e.g. when a piano piece starts with both staves in
> bass clef so as to alert the pianist that the upper staff is not in
> treble clef).
> How is this done in LilyPond?
>

It can be done with some Scheme magic.  I'm assuming you want both a treble
and bass clef initial and then immediately change to another clef?  Someone
wrote this (attached) for me (I really need to put the author in the code
so I can give credit where due.)  All you do is include it in your LilyPond
source and write \trebleToBass or \bassToTreble and you have what you want.

--
Knute Snortum


force-initial-clef.ily
Description: Binary data


Two adjacent clefs

2024-06-08 Thread Richard Shann
I think it's not uncommon for two clefs to appear side by side at the
start of a piece (e.g. when a piano piece starts with both staves in
bass clef so as to alert the pianist that the upper staff is not in
treble clef).
How is this done in LilyPond?

Richard Shann




Re: Regular Polygons

2024-06-08 Thread Werner LEMBERG


> Thankfully, it should be trivial to make the changes.  The question
> now is what reference glyph is the best?

If you have an argument, the shape should enclose it symmetrically
(more or less) – it is up to you how sophisticated the algorithm is to
do that in the visually most pleasing way (i.e., how near the
polygon's shape comes to the argument's bounding box).  If there is an
empty argument I suggest that you select a size that fits well with
surrounding text, again to your liking.  As soon as you provide a
Merge Request (and I really hope that you submit one!) we will most
certainly tell you whether the size are OK :-)


Werner


Re: Regular Polygons

2024-06-08 Thread Shane Brandes
Typically fonts use x-height as a general design parameter. I don't know if
you find that helpful in this interesting project, but it is a point of
possible useage.

Regards,
Shane Brandes

On Sat, Jun 8, 2024, 5:47 AM Aaron Hill  wrote:

> Thank you both, Werner and Valentin, for taking the time to look at my
> submission.
>
> When I was playing around with drawing shapes, I was thinking paper
> scale not text scale.  This was inspired by Paolo's desire to draw
> arbitrary arrows and things.
>
> Because of that, I presumed the end user would desire absolute sizing.
> Of course, as I continued playing with the markup command, I realized it
> probably should work similar to the built-in \triangle command.
>
> I love the idea of tying things to font-size, so the shapes are
> automatically responsive to changes in the surrounding context.  That
> simplifies the usage of the command since you just need to specify point
> count.  This also makes it behave similar to the other built-in shape
> functions.
>
> Thankfully, it should be trivial to make the changes.  The question now
> is what reference glyph is the best?  "A" is notably a letter in most
> fonts that tries to make the apex more prominent.  As a result, it could
> make the polygons appear a little too big.  "O" has a similar issue.
> These glyphs are optically oversized, so they look good.  Perhaps "H"
> will work.  I think it usually has a consistently flat top and bottom
> without any optical adjustments.  Mind you, I could just be overthinking
> things.  Nothing would stop me from sampling all uppercase letters and
> averaging them.
>
> Regardless, you both have given me plenty to think about.
>
>
> -- Aaron Hill
>
>


Re: Regular Polygons

2024-06-08 Thread Aaron Hill
Thank you both, Werner and Valentin, for taking the time to look at my 
submission.


When I was playing around with drawing shapes, I was thinking paper 
scale not text scale.  This was inspired by Paolo's desire to draw 
arbitrary arrows and things.


Because of that, I presumed the end user would desire absolute sizing.  
Of course, as I continued playing with the markup command, I realized it 
probably should work similar to the built-in \triangle command.


I love the idea of tying things to font-size, so the shapes are 
automatically responsive to changes in the surrounding context.  That 
simplifies the usage of the command since you just need to specify point 
count.  This also makes it behave similar to the other built-in shape 
functions.


Thankfully, it should be trivial to make the changes.  The question now 
is what reference glyph is the best?  "A" is notably a letter in most 
fonts that tries to make the apex more prominent.  As a result, it could 
make the polygons appear a little too big.  "O" has a similar issue.  
These glyphs are optically oversized, so they look good.  Perhaps "H" 
will work.  I think it usually has a consistently flat top and bottom 
without any optical adjustments.  Mind you, I could just be overthinking 
things.  Nothing would stop me from sampling all uppercase letters and 
averaging them.


Regardless, you both have given me plenty to think about.


-- Aaron Hill



Re: Regular Polygons

2024-06-08 Thread Werner LEMBERG


> I was playing around with drawing regular polygons, which led to
> creating a new markup command with several configurable options.
> (Some of these options are inherited via the built-in \polygon
> command.)
> 
> There might be a few things to tighten up, but I believe it is in a
> pretty workable state.  I wish optional parameters existed for
> markup commands.  If they did, then a user could just specify the
> number of sides and omit the size.  The default size would be
> something that matches the font height, so the shape would naturally
> fit in with the surrounding text.

Very nice!  The MusicXML standard supports an `enclosure-shape` attribute:

  
https://www.w3.org/2021/06/musicxml40/musicxml-reference/data-types/enclosure-shape/

It would be very helpful to have a function that makes the polygon
enclose a text string, similar to the `\box` markup command.

And I agree with Valentin that you should completely drop the size
argument, relying on the available markup scaling commands instead.


Werner



Re: Regular Polygons

2024-06-08 Thread Valentin Petzel
Hello Aaron,

I would think there is little actual need to specify the size as parameter. 
After all, you have the font-size proportion, using which you can control size 
by \fontsize ...

You’d simply need to replace size by (magstep font-size). Alternatively if you 
want to match text you could interpret some markup like "A" and derive the 
height from it. This way you automatically have the font-size incorporated.

Cheers,
Valentin

Am Freitag, 7. Juni 2024, 00:09:36 MESZ schrieb Aaron Hill:
> I was playing around with drawing regular polygons, which led to
> creating a new markup command with several configurable options.  (Some
> of these options are inherited via the built-in \polygon command.)
> 
> There might be a few things to tighten up, but I believe it is in a
> pretty workable state.  I wish optional parameters existed for markup
> commands.  If they did, then a user could just specify the number of
> sides and omit the size.  The default size would be something that
> matches the font height, so the shape would naturally fit in with the
> surrounding text.
> 
> 
> -- Aaron Hill



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


Re: Creating otvaves with cue notes as the bottom note

2024-06-07 Thread Knute Snortum
I like the addStacc func; I will definitely use that!

But I need the top note of the octave normal size and the bottom one cue
sized.  Your script seems to cue-size both notes in the octaves.  Still,
thanks for your contribution!  It was a way of doing it I hadn't thought of.

--
Knute Snortum



On Fri, Jun 7, 2024 at 5:01 PM Colin Campbell  wrote:

> This is butt ugly, Knute, but maybe suggesting a possible way:
>
> 

Re: Creating otvaves with cue notes as the bottom note

2024-06-07 Thread Colin Campbell

This is butt ugly, Knute, but maybe suggesting a possible way:



\version "2.25.14"
\language "english"

% see also 
https://github.com/lilypond/lilypond/blob/master/scm/music-functions.scm#L2036


#(define (make-script x)
   (make-music 'ArticulationEvent
   'articulation-type x))

#(define (add-script m x)
   (case (ly:music-property m 'name)
 ((NoteEvent) (set! (ly:music-property m 'articulations)
  (append (ly:music-property m 'articulations)
 (list (make-script x
   m)
 ((EventChord)(set! (ly:music-property m 'elements)
  (append (ly:music-property m 'elements)
 (list (make-script x
   m)
 (else #f)))

#(define (add-staccato m)
 (add-script m 'staccato))

addStacc = #(define-music-function (music)
 (ly:music?)
   (map-some-music add-staccato music))

mus = {
  \key c \major \time  4/4 \clef bass
  \relative c r4. r16 g,16 a, b, c d e f g f af g f e d c b,8 c16 b, c8 g,
}

musOct = { \addStacc {\override NoteHead.font-size = -2 \transpose c c, 
\mus }

}

{
   <<
 \mus
 \musOct
   >>

}


**

On 2024-06-07 12:15, Knute Snortum wrote:
I've run across some music that has octaves where the bottom note is 
the size of a grace note, a cue note I'm guessing.  See attached 
picture.  I can create what I want with this in LilyPond code:


\version "2.24.3"

{
  \clef bass
  <\single \override NoteHead.font-size = -2 c, c>4
}

...but repeating that for several dozen octaves is going to be a 
pain.  There is a scheme function in the LSR that creates octaves 
(https://lsr.di.unimi.it/LSR/Snippet?id=445) but I'm not smart enough 
to put the "cue sizing" of the bottom note into it.  (It relies on 
recursion, so is that even possible?)


If anyone has the time to create a function for me that creates 
octaves with a cue-sized note as the bottom note, I would be very 
grateful.  If not, well, copy and paste works!


Thanks,

--
Knute Snortum


Creating otvaves with cue notes as the bottom note

2024-06-07 Thread Knute Snortum
I've run across some music that has octaves where the bottom note is the
size of a grace note, a cue note I'm guessing.  See attached picture.  I
can create what I want with this in LilyPond code:

\version "2.24.3"

{
  \clef bass
  <\single \override NoteHead.font-size = -2 c, c>4
}

...but repeating that for several dozen octaves is going to be a pain.
There is a scheme function in the LSR that creates octaves (
https://lsr.di.unimi.it/LSR/Snippet?id=445) but I'm not smart enough to put
the "cue sizing" of the bottom note into it.  (It relies on recursion, so
is that even possible?)

If anyone has the time to create a function for me that creates octaves
with a cue-sized note as the bottom note, I would be very grateful.  If
not, well, copy and paste works!

Thanks,

--
Knute Snortum


Re: Question about beaming and timing count

2024-06-07 Thread William Rehwinkel via LilyPond user discussion

Dear Carl,

For both examples, the difference is the example writes "\tuplet 5/8" 
instead of "5/4" telling lilypond to put 5 notes in the space of 8 
(which is not how people usually write 5-tuplets).


-William

On 6/7/24 10:56, Carl Witthoft wrote:

Please take a look at these three snippets, from a piece in 4/4 time.
LilyPond 2.24.3 via Frescobaldi in MacOS.
https://i.sstatic.net/6cJnOLBM.jpg , 
if attachment fails


  The top and bottom ones are the ones I don't understand.  The middle 
one is how I expect beams to be presented, i.e. 5 notes where 4 32nd 
notes are "normal" are beamed as 32nds.


The top & bottom samples  are also beamed as 32nds, but as shown by 
where the measure break occurs, are "calculated" internally as five 
sixteenth notes.
Is Lilypond fouling up or have I failed to take notice of some other 
note-length command?

regards,
Carl Witthoft


--
William Rehwinkel (any pronouns)
Juilliard School '26 - Oberlin Conservatory '24
will...@williamrehwinkel.net - https://williamrehwinkel.net
PGP Public Key: https://ftp.williamrehwinkel.net/pubkey.txt


OpenPGP_signature.asc
Description: OpenPGP digital signature


Re: Adjust analysis bracket continuations?

2024-06-07 Thread Kieren MacMillan
Hi Fennel,

Not sure why some other incantations I tried didn’t work… but maybe this hack 
will help you?

%%%  SNIPPET BEGINS
\version "2.24.3"

\layout {
  \context {
\Voice
\consists Horizontal_bracket_engraver
  }
}

\relative c' {
  \alterBroken extra-offset #'((0 . 0) (6 . -1.5)) HorizontalBracket
  \alterBroken shorten-pair #'((0 . 0) (0 . 5)) HorizontalBracket
  c1\startGroup | \break
  c1\stopGroup
}
%%%  SNIPPET ENDS

Cheers,
Kieren.
__

My work day may look different than your work day. Please do not feel obligated 
to read or respond to this email outside of your normal working hours.




Re: autocompletion with vim

2024-06-06 Thread Kenneth Flak
Hi again Fennel,

I tried to install oil.nvim to see if it messed with completion, but everything
worked as it should out of the box. I'm strongly suspecting there's something 
fishy going on with how and/or from where your dictionaries are being pulled.

Best,
Kenneth

Fennel, Jun 06, 2024 at 11:51:
> It seems like cmp-dictionary​ doesn’t play nice with oil.nvim, and I
> am not
> removing that to make this work unfortunately. Here’s a stack trace if
> you’re
> interested:
>
> Error executing luv callback:
> ...vim/lazy/cmp-dictionary/lua/cmp_dictionary/dict/trie.lua:43: bad
> argument #1 to 'decode' (string expect
> ed, got nil)
> stack traceback:
> [C]: in function 'decode'
> ...vim/lazy/cmp-dictionary/lua/cmp_dictionary/dict/trie.lua:43: in
> function <...vim/lazy/cmp-dicti
> onary/lua/cmp_dictionary/dict/trie.lua:42>
>
>
>
> [C]: in function 'nvim_buf_delete'
> .../fennel/.local/share/nvim/lazy/oil.nvim/lua/oil/util.lua:159: in
> function 'rename_buffer'
> .../fennel/.local/share/nvim/lazy/oil.nvim/lua/oil/init.lua:746: in
> function 'maybe_hijack_directo
> ry_buffer'
> .../fennel/.local/share/nvim/lazy/oil.nvim/lua/oil/init.lua:1265: in
> function 'setup'
> /home/fennel/.config/nvim/init.lua:209: in main chunk
>
> if you have any suggestions, I’d love to hear them! This has been very
> frustrating for me.
>
> Fennel
>
> ​






Re: 6 and 8 string tab

2024-06-06 Thread Walt North
Excellent. That looks like what I want.  it's a little more 
sophisticated coding wise than I would have come up with... but I can 
hide that in an include file.


I will give this a try this weekend and how it work on a full piece and 
when I add the chord names above the tab staff.


Thanks, Walt

On 6/6/2024 3:20 PM, Valentin Petzel wrote:

Hello Walt,

rather than switching between staves with different tunings, why not simply
hide Staff lines if not required?

Use \stopStaff and \startStaff to change line positions. See the appended file
for details.

Cheers,
Valentin

Am Donnerstag, 6. Juni 2024, 19:25:45 MESZ schrieb Walt North:

Well... I'm getting  closer.

I got the alignment to work by adding two dummy string values at the
top. That looks like it makes the result line up without showing the two
dummy lines at the top.

Now if I could just the get lines to show for the two low strings on the
notes that need them to help distinguish between 7th and 8th strings.

Here is the code I added and the resulting image.

steelGuitarSixStringCSixTuning = \stringTuning 
test = \stringTuning 

\new TabStaff {
\relative c {
  \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
  e,4 e e e | e e e e
}
  \relative c {
  \set Staff.stringTunings = \test
 e,4 e d a
}
\relative c {
  \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
  e,4 e e e | e e e e
}
}

On 6/6/2024 1:15 AM, Walt North wrote:

ok - here is a made up example. Code and screenshot are below.

Let's say I had a very short piece of 5 bars.

4 bars can be played fine on the upper six strings.

But there is one bar that dips down into a couple of lower notes
needing to be played on 7th and 8th strings.

If this were a longer piece I was trying to fit on two pages I would
be loosing a lot of space for the sake of just two bars if I use the
eight string tab all the way through.

In this example I can force the one bar to use eight string tab on its
own tabStaff.  But if I had maybe 3 or 4 such bars scattered through
out the piece this starts to defeat my space saving goal. Refer to
lines 1 through 3 in the screen shot. Note that second line uses an 8
string tabStaff.

I have found by changing the string tuning in between notes in the
same Tabstaff it seems to try to work but doesn't quite get there.
Refer to the 4th line in the screen shot. It seems get a little
confused when it tries to connect the bars with different numbers of
lines.  Line 4 in the screen shot should have the notes one line
lower.  It has the notes incorrectly shifted up one line and doesn't
give any indication of what string is needed for the low notes (i.e.
one or two lines below the TabStaff - similar to the behavior of
adding ledger lines below a normal staff),

Here is the lilypond code.

\version "2.24.2"

steelGuitarSixStringCSixTuning = \stringTuning 
steelGuitarEightStringCSixTuning = \stringTuning 

%This is musically correct but it forces a separate line
\new TabStaff {
   \relative c {
 \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
 e,4 e e e | e e e e
   }
}
\new TabStaff {
   \relative c {
 \set Staff.stringTunings = \steelGuitarEightStringCSixTuning
e,4 e c g
   }
}
\new TabStaff {
   \relative c {
 \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
 e,4 e e e | e e e e
   }
}

%This seems to try to work but it gets a little confused becase
%third bar should be one line lower and there is no indication
%whether the lowest note is seventh or eight string.
\new TabStaff {
   \relative c {
 \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
 e,4 e e e | e e e e
   }
 \relative c {
 \set Staff.stringTunings = \steelGuitarEightStringCSixTuning
e,4 e c g
   }
   \relative c {
 \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
 e,4 e e e | e e e e
   }

}


And here is a screen shot of the result.

On 6/5/2024 11:03 PM, David Kastrup wrote:

Walt North  writes:

I occasionally write out Tab notation parts for 6 or 8 string lap
steel guitar. I have created tuning entries for these and it works
well using Minimum fret and max fret difference values.  Here is my
question. 90% of the time I only need the upper six strings and just
occasionally dip down to the 7th and 8th strings for a few
notes. Which means most of the time there is unneeded page space used
up.  I could use different tab staffs intermittently  but that gets
pretty cumbersome when it is only be an occasional note or two.  And
I've never been able to get things realigned vertically when going
back and forth  between 6 string and 8 string tabstaff.

Is there any approach that would add just a lower tabstaff line for
the 7th or 8th string as needed - similar to the way ledger lines are
added to regular staff when the notes go down to middle C or lower?

Maybe something with markup?

Have you tried adding the Ledger_line_engraver to your TabStaff ?

Do you have any 

Re: markup

2024-06-06 Thread ming tsang
PS forgot to include the output pdf.

On Thu, Jun 6, 2024 at 5:12 PM ming tsang  wrote:

> Dear Valentin,
>
> The "%\rouded-box" is a misplaced typo. Once I delete the \rounded-box
> trom the code you sent me, it works A-ok.  Your code answers my two
> questions.
> I might try to put a rounded-box on the two markups.
>
> On Thu, Jun 6, 2024 at 4:26 PM Valentin Petzel  wrote:
>
>> Hello,
>>
>> Do you mean something like this:
>>
>> \version "2.24.3"
>> \markup\line {
>>   \circle" 1. "
>>   \box \override #'(line-width . 40) \fill-line { "\t\musicglyh \tlsr?" }
>> %
>> \rounded-box
>> }
>> \markup \vspace #0.75
>>
>> Cheers,
>> Valentin
>>
>> Am Donnerstag, 6. Juni 2024, 23:16:51 MESZ schrieb ming tsang:
>> > Dear Lilyponders,
>> > I have two markups printed in two lines.
>> > questions:
>> > 1.. How to print the two markups side-by-side on one line
>> > 2.. How to shorten the fill-line or have an arg to determine the width.
>> > Here is the lily markup code:
>> > \version "2.24.3"
>> > \markup\circle" 1. "
>> > \markup \box \fill-line { "\t\musicglyh \tlsr?" } %\rounded-box
>> > \markup \vspace #0.75
>> > --
>> > ming (lyndon) tsang
>>
>>
>
> --
> ming (lyndon) tsang
>


-- 
ming (lyndon) tsang


markup_two markup in the same print..pdf
Description: Adobe PDF document


Re: markup

2024-06-06 Thread ming tsang
Dear Valentin,

The "%\rouded-box" is a misplaced typo. Once I delete the \rounded-box trom
the code you sent me, it works A-ok.  Your code answers my two questions.
I might try to put a rounded-box on the two markups.

On Thu, Jun 6, 2024 at 4:26 PM Valentin Petzel  wrote:

> Hello,
>
> Do you mean something like this:
>
> \version "2.24.3"
> \markup\line {
>   \circle" 1. "
>   \box \override #'(line-width . 40) \fill-line { "\t\musicglyh \tlsr?" } %
> \rounded-box
> }
> \markup \vspace #0.75
>
> Cheers,
> Valentin
>
> Am Donnerstag, 6. Juni 2024, 23:16:51 MESZ schrieb ming tsang:
> > Dear Lilyponders,
> > I have two markups printed in two lines.
> > questions:
> > 1.. How to print the two markups side-by-side on one line
> > 2.. How to shorten the fill-line or have an arg to determine the width.
> > Here is the lily markup code:
> > \version "2.24.3"
> > \markup\circle" 1. "
> > \markup \box \fill-line { "\t\musicglyh \tlsr?" } %\rounded-box
> > \markup \vspace #0.75
> > --
> > ming (lyndon) tsang
>
>

-- 
ming (lyndon) tsang


Re: markup

2024-06-06 Thread Valentin Petzel
Hello,

Do you mean something like this:

\version "2.24.3"
\markup\line {
  \circle" 1. "
  \box \override #'(line-width . 40) \fill-line { "\t\musicglyh \tlsr?" } %
\rounded-box
}
\markup \vspace #0.75

Cheers,
Valentin

Am Donnerstag, 6. Juni 2024, 23:16:51 MESZ schrieb ming tsang:
> Dear Lilyponders,
> I have two markups printed in two lines.
> questions:
> 1.. How to print the two markups side-by-side on one line
> 2.. How to shorten the fill-line or have an arg to determine the width.
> Here is the lily markup code:
> \version "2.24.3"
> \markup\circle" 1. "
> \markup \box \fill-line { "\t\musicglyh \tlsr?" } %\rounded-box
> \markup \vspace #0.75
> --
> ming (lyndon) tsang



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


Re: 6 and 8 string tab

2024-06-06 Thread Valentin Petzel
Hello Walt,

rather than switching between staves with different tunings, why not simply 
hide Staff lines if not required?

Use \stopStaff and \startStaff to change line positions. See the appended file 
for details.

Cheers,
Valentin

Am Donnerstag, 6. Juni 2024, 19:25:45 MESZ schrieb Walt North:
> Well... I'm getting  closer.
> 
> I got the alignment to work by adding two dummy string values at the
> top. That looks like it makes the result line up without showing the two
> dummy lines at the top.
> 
> Now if I could just the get lines to show for the two low strings on the
> notes that need them to help distinguish between 7th and 8th strings.
> 
> Here is the code I added and the resulting image.
> 
> steelGuitarSixStringCSixTuning = \stringTuning 
> test = \stringTuning 
> 
> \new TabStaff {
>\relative c {
>  \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
>  e,4 e e e | e e e e
>}
>  \relative c {
>  \set Staff.stringTunings = \test
> e,4 e d a
>}
>\relative c {
>  \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
>  e,4 e e e | e e e e
>}
> }
> 
> On 6/6/2024 1:15 AM, Walt North wrote:
> > ok - here is a made up example. Code and screenshot are below.
> > 
> > Let's say I had a very short piece of 5 bars.
> > 
> > 4 bars can be played fine on the upper six strings.
> > 
> > But there is one bar that dips down into a couple of lower notes
> > needing to be played on 7th and 8th strings.
> > 
> > If this were a longer piece I was trying to fit on two pages I would
> > be loosing a lot of space for the sake of just two bars if I use the
> > eight string tab all the way through.
> > 
> > In this example I can force the one bar to use eight string tab on its
> > own tabStaff.  But if I had maybe 3 or 4 such bars scattered through
> > out the piece this starts to defeat my space saving goal. Refer to
> > lines 1 through 3 in the screen shot. Note that second line uses an 8
> > string tabStaff.
> > 
> > I have found by changing the string tuning in between notes in the
> > same Tabstaff it seems to try to work but doesn't quite get there.
> > Refer to the 4th line in the screen shot. It seems get a little
> > confused when it tries to connect the bars with different numbers of
> > lines.  Line 4 in the screen shot should have the notes one line
> > lower.  It has the notes incorrectly shifted up one line and doesn't
> > give any indication of what string is needed for the low notes (i.e.
> > one or two lines below the TabStaff - similar to the behavior of
> > adding ledger lines below a normal staff),
> > 
> > Here is the lilypond code.
> > 
> > \version "2.24.2"
> > 
> > steelGuitarSixStringCSixTuning = \stringTuning 
> > steelGuitarEightStringCSixTuning = \stringTuning 
> > 
> > %This is musically correct but it forces a separate line
> > \new TabStaff {
> >   \relative c {
> > \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
> > e,4 e e e | e e e e
> >   }
> > }
> > \new TabStaff {
> >   \relative c {
> > \set Staff.stringTunings = \steelGuitarEightStringCSixTuning
> >e,4 e c g
> >   }
> > }
> > \new TabStaff {
> >   \relative c {
> > \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
> > e,4 e e e | e e e e
> >   }
> > }
> > 
> > %This seems to try to work but it gets a little confused becase
> > %third bar should be one line lower and there is no indication
> > %whether the lowest note is seventh or eight string.
> > \new TabStaff {
> >   \relative c {
> > \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
> > e,4 e e e | e e e e
> >   }
> > \relative c {
> > \set Staff.stringTunings = \steelGuitarEightStringCSixTuning
> >e,4 e c g
> >   }
> >   \relative c {
> > \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
> > e,4 e e e | e e e e
> >   }
> > 
> > }
> > 
> > 
> > And here is a screen shot of the result.
> > 
> > On 6/5/2024 11:03 PM, David Kastrup wrote:
> >> Walt North  writes:
> >>> I occasionally write out Tab notation parts for 6 or 8 string lap
> >>> steel guitar. I have created tuning entries for these and it works
> >>> well using Minimum fret and max fret difference values.  Here is my
> >>> question. 90% of the time I only need the upper six strings and just
> >>> occasionally dip down to the 7th and 8th strings for a few
> >>> notes. Which means most of the time there is unneeded page space used
> >>> up.  I could use different tab staffs intermittently  but that gets
> >>> pretty cumbersome when it is only be an occasional note or two.  And
> >>> I've never been able to get things realigned vertically when going
> >>> back and forth  between 6 string and 8 string tabstaff.
> >>> 
> >>> Is there any approach that would add just a lower tabstaff line for
> >>> the 7th or 8th string as needed - similar to the way ledger lines are
> >>> added to regular staff when the notes go down to middle C or lower?
> >>> 
> >>> Maybe something 

Regular Polygons

2024-06-06 Thread Aaron Hill
I was playing around with drawing regular polygons, which led to 
creating a new markup command with several configurable options.  (Some 
of these options are inherited via the built-in \polygon command.)


There might be a few things to tighten up, but I believe it is in a 
pretty workable state.  I wish optional parameters existed for markup 
commands.  If they did, then a user could just specify the number of 
sides and omit the size.  The default size would be something that 
matches the font height, so the shape would naturally fit in with the 
surrounding text.



-- Aaron Hill
\version "2.25.13"

\paper {
  #(set-paper-size "a6")
  top-margin = 1\cm
  left-margin = 1\cm
  tagline = #f
}

#(define pi 3.14159265359)

#(define-markup-command
  (regularPolygon layout props
sides axis size)
  (integer? number? number?)
  #:properties ((twist 0)
(angularity 0))
  (if (< sides 3)
(begin
  (ly:warning "you must specify at least three sides.")
  (set! sides 3)))

  (define (build-polygon radius measuring?)
(let* (
  (side-length (* 2 radius (sin (/ pi sides
  (max-radius (* 1/2 side-length (/ 1 (tan (/ pi sides)
  (min-radius (* radius
(/ (sin (* pi (/ (- sides 2) (* 6 sides
  (sin (* pi (/ (- (* 5 sides) 4) (* 6 sides)))

  (star? (< 0 angularity))
  (pt-count (* sides (if star? 2 1)))
  (thetas (map
(lambda (n)
  (cons n
(* (- (/ n pt-count) (/ 1 2 sides) 1/4
  (if measuring? 0 (* twist (/ 1 2 sides
  2 pi)))
(iota pt-count)))
  (cpts (map
(lambda (theta)
  (make-polar
(if (and star? (odd? (car theta)))
  (interval-index (cons max-radius min-radius)
(1+ (* 2 (1- angularity
  radius)
(cdr theta)))
thetas))
  (rpts (map
(lambda (cpt)
  (cons (real-part cpt) (imag-part cpt)))
  cpts)))
  (interpret-markup layout
(if measuring?
  (cons '((thickness . 0)) props)
  props)
(make-polygon-markup rpts

  (let*  ((prescaled (build-polygon 1 #t))
  (pre-extent
(ly:stencil-extent prescaled axis))
  (radius
(/ size (interval-length pre-extent)))
  (rescaled (build-polygon radius #f))
  (aligned-to-baseline
(ly:stencil-aligned-to
  rescaled Y DOWN))
  (aligned-to-left-edge
(ly:stencil-aligned-to
  aligned-to-baseline X LEFT)))
aligned-to-left-edge))

foo = \markup {
  \override #'(filled . #f)
  {
\regularPolygon #3 #Y #2
\regularPolygon #4 #Y #2
\regularPolygon #5 #Y #2
\regularPolygon #6 #Y #2
\regularPolygon #7 #Y #2
  }
}

fooo = \markup \column {
  \override #'(twist . -1) \foo
  \override #'(twist . -0.75) \foo
  \override #'(twist . -0.5) \foo
  \override #'(twist . -0.25) \foo
  \override #'(twist . 0) \foo
  \override #'(twist . 0.25) \foo
  \override #'(twist . 0.5) \foo
  \override #'(twist . 0.75) \foo
  \override #'(twist . 1) \foo
}

\markup {
  \fooo
  \override #'(angularity . 0.5) \fooo
  \override #'(angularity . 1) \fooo
}

starBase = \markup {
  \override #'(angularity . 0.8)
  \override #'(thickness . 12)
  \regularPolygon #17 #X #40
}

star = \markup \overlay {
  \with-color #yellow \starBase
  \with-color #red \override #'(filled . #f) \starBase
}

\markup \general-align #X #LEFT \overlay {
  \general-align #X #CENTER \vcenter \star
  \rotate #15 \general-align #X #CENTER \vcenter
  \fontsize #6 \override #'(style . outline) \whiteout
  \center-column {
\larger \bold \line { Lorem Ipsum! }
\italic \line { (dolor sit amet) }
  }
}


regular-polygon.pdf
Description: Adobe PDF document


markup

2024-06-06 Thread ming tsang
Dear Lilyponders,
I have two markups printed in two lines.
questions:
1.. How to print the two markups side-by-side on one line
2.. How to shorten the fill-line or have an arg to determine the width.
Here is the lily markup code:
\version "2.24.3"
\markup\circle" 1. "
\markup \box \fill-line { "\t\musicglyh \tlsr?" } %\rounded-box
\markup \vspace #0.75
--
ming (lyndon) tsang


Re: 6 and 8 string tab

2024-06-06 Thread Walt North

Well... I'm getting  closer.

I got the alignment to work by adding two dummy string values at the 
top. That looks like it makes the result line up without showing the two 
dummy lines at the top.


Now if I could just the get lines to show for the two low strings on the 
notes that need them to help distinguish between 7th and 8th strings.


Here is the code I added and the resulting image.

steelGuitarSixStringCSixTuning = \stringTuning 
test = \stringTuning 

\new TabStaff {
  \relative c {
    \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
    e,4 e e e | e e e e
  }
    \relative c {
    \set Staff.stringTunings = \test
   e,4 e d a
  }
  \relative c {
    \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
    e,4 e e e | e e e e
  }
}




On 6/6/2024 1:15 AM, Walt North wrote:


ok - here is a made up example. Code and screenshot are below.

Let's say I had a very short piece of 5 bars.

4 bars can be played fine on the upper six strings.

But there is one bar that dips down into a couple of lower notes 
needing to be played on 7th and 8th strings.


If this were a longer piece I was trying to fit on two pages I would 
be loosing a lot of space for the sake of just two bars if I use the 
eight string tab all the way through.


In this example I can force the one bar to use eight string tab on its 
own tabStaff.  But if I had maybe 3 or 4 such bars scattered through 
out the piece this starts to defeat my space saving goal. Refer to 
lines 1 through 3 in the screen shot. Note that second line uses an 8 
string tabStaff.


I have found by changing the string tuning in between notes in the 
same Tabstaff it seems to try to work but doesn't quite get there. 
Refer to the 4th line in the screen shot. It seems get a little 
confused when it tries to connect the bars with different numbers of 
lines.  Line 4 in the screen shot should have the notes one line 
lower.  It has the notes incorrectly shifted up one line and doesn't 
give any indication of what string is needed for the low notes (i.e. 
one or two lines below the TabStaff - similar to the behavior of 
adding ledger lines below a normal staff),


Here is the lilypond code.

\version "2.24.2"

steelGuitarSixStringCSixTuning = \stringTuning 
steelGuitarEightStringCSixTuning = \stringTuning 

%This is musically correct but it forces a separate line
\new TabStaff {
  \relative c {
    \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
    e,4 e e e | e e e e
  }
}
\new TabStaff {
  \relative c {
    \set Staff.stringTunings = \steelGuitarEightStringCSixTuning
   e,4 e c g
  }
}
\new TabStaff {
  \relative c {
    \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
    e,4 e e e | e e e e
  }
}

%This seems to try to work but it gets a little confused becase
%third bar should be one line lower and there is no indication
%whether the lowest note is seventh or eight string.
\new TabStaff {
  \relative c {
    \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
    e,4 e e e | e e e e
  }
    \relative c {
    \set Staff.stringTunings = \steelGuitarEightStringCSixTuning
   e,4 e c g
  }
  \relative c {
    \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
    e,4 e e e | e e e e
  }

}


And here is a screen shot of the result.


On 6/5/2024 11:03 PM, David Kastrup wrote:

Walt North  writes:


I occasionally write out Tab notation parts for 6 or 8 string lap
steel guitar. I have created tuning entries for these and it works
well using Minimum fret and max fret difference values.  Here is my
question. 90% of the time I only need the upper six strings and just
occasionally dip down to the 7th and 8th strings for a few
notes. Which means most of the time there is unneeded page space used
up.  I could use different tab staffs intermittently  but that gets
pretty cumbersome when it is only be an occasional note or two.  And
I've never been able to get things realigned vertically when going
back and forth  between 6 string and 8 string tabstaff.

Is there any approach that would add just a lower tabstaff line for
the 7th or 8th string as needed - similar to the way ledger lines are
added to regular staff when the notes go down to middle C or lower?

Maybe something with markup?

Have you tried adding the Ledger_line_engraver to your TabStaff ?

Do you have any example code to work with?


Re: autocompletion with vim

2024-06-06 Thread Stefan Thomas
Hello everyone,
these are really a lot of suggestions, I will try them out and then get
back to you.

Am Do., 6. Juni 2024 um 11:05 Uhr schrieb Kenneth Flak <
kennethf...@protonmail.com>:

> This issue seems related:
>
> https://github.com/uga-rosa/cmp-dictionary/issues/58
>
> Fennel, Jun 06, 2024 at 11:51:
> > It seems like cmp-dictionary​ doesn’t play nice with oil.nvim, and I
> > am not
> > removing that to make this work unfortunately. Here’s a stack trace if
> > you’re
> > interested:
> >
> > Error executing luv callback:
> > ...vim/lazy/cmp-dictionary/lua/cmp_dictionary/dict/trie.lua:43: bad
> > argument #1 to 'decode' (string expect
> > ed, got nil)
> > stack traceback:
> > [C]: in function 'decode'
> > ...vim/lazy/cmp-dictionary/lua/cmp_dictionary/dict/trie.lua:43: in
> > function <...vim/lazy/cmp-dicti
> > onary/lua/cmp_dictionary/dict/trie.lua:42>
> >
> >
> >
> > [C]: in function 'nvim_buf_delete'
> > .../fennel/.local/share/nvim/lazy/oil.nvim/lua/oil/util.lua:159: in
> > function 'rename_buffer'
> > .../fennel/.local/share/nvim/lazy/oil.nvim/lua/oil/init.lua:746: in
> > function 'maybe_hijack_directo
> > ry_buffer'
> > .../fennel/.local/share/nvim/lazy/oil.nvim/lua/oil/init.lua:1265: in
> > function 'setup'
> > /home/fennel/.config/nvim/init.lua:209: in main chunk
> >
> > if you have any suggestions, I’d love to hear them! This has been very
> > frustrating for me.
> >
> > Fennel
> >
> > ​
>
>
>
>


Re: autocompletion with vim

2024-06-06 Thread Kenneth Flak
This issue seems related: 

https://github.com/uga-rosa/cmp-dictionary/issues/58

Fennel, Jun 06, 2024 at 11:51:
> It seems like cmp-dictionary​ doesn’t play nice with oil.nvim, and I
> am not
> removing that to make this work unfortunately. Here’s a stack trace if
> you’re
> interested:
>
> Error executing luv callback:
> ...vim/lazy/cmp-dictionary/lua/cmp_dictionary/dict/trie.lua:43: bad
> argument #1 to 'decode' (string expect
> ed, got nil)
> stack traceback:
> [C]: in function 'decode'
> ...vim/lazy/cmp-dictionary/lua/cmp_dictionary/dict/trie.lua:43: in
> function <...vim/lazy/cmp-dicti
> onary/lua/cmp_dictionary/dict/trie.lua:42>
>
>
>
> [C]: in function 'nvim_buf_delete'
> .../fennel/.local/share/nvim/lazy/oil.nvim/lua/oil/util.lua:159: in
> function 'rename_buffer'
> .../fennel/.local/share/nvim/lazy/oil.nvim/lua/oil/init.lua:746: in
> function 'maybe_hijack_directo
> ry_buffer'
> .../fennel/.local/share/nvim/lazy/oil.nvim/lua/oil/init.lua:1265: in
> function 'setup'
> /home/fennel/.config/nvim/init.lua:209: in main chunk
>
> if you have any suggestions, I’d love to hear them! This has been very
> frustrating for me.
>
> Fennel
>
> ​






Re: autocompletion with vim

2024-06-06 Thread Kenneth Flak
I stopped using oil.nvim some time ago, as it started getting all buggy and 
weird
on me... My new favorite file manager is yazi, which also has an nvim plugin :-)
https://yazi-rs.github.io/

How does your cmp-dictionary setup look like?


Fennel, Jun 06, 2024 at 11:51:
> It seems like cmp-dictionary​ doesn’t play nice with oil.nvim, and I
> am not
> removing that to make this work unfortunately. Here’s a stack trace if
> you’re
> interested:
>
> Error executing luv callback:
> ...vim/lazy/cmp-dictionary/lua/cmp_dictionary/dict/trie.lua:43: bad
> argument #1 to 'decode' (string expect
> ed, got nil)
> stack traceback:
> [C]: in function 'decode'
> ...vim/lazy/cmp-dictionary/lua/cmp_dictionary/dict/trie.lua:43: in
> function <...vim/lazy/cmp-dicti
> onary/lua/cmp_dictionary/dict/trie.lua:42>
>
>
>
> [C]: in function 'nvim_buf_delete'
> .../fennel/.local/share/nvim/lazy/oil.nvim/lua/oil/util.lua:159: in
> function 'rename_buffer'
> .../fennel/.local/share/nvim/lazy/oil.nvim/lua/oil/init.lua:746: in
> function 'maybe_hijack_directo
> ry_buffer'
> .../fennel/.local/share/nvim/lazy/oil.nvim/lua/oil/init.lua:1265: in
> function 'setup'
> /home/fennel/.config/nvim/init.lua:209: in main chunk
>
> if you have any suggestions, I’d love to hear them! This has been very
> frustrating for me.
>
> Fennel
>
> ​






Re: autocompletion with vim

2024-06-06 Thread Fennel
It seems like cmp-dictionary​ doesn’t play nice with oil.nvim, and I am not 
removing that to make this work unfortunately. Here’s a stack trace if you’re 
interested:

Error executing luv callback:
 ...vim/lazy/cmp-dictionary/lua/cmp_dictionary/dict/trie.lua:43: bad argument 
#1 to 'decode' (string expect
 ed, got nil)
 stack traceback:
 [C]: in function 'decode'
 ...vim/lazy/cmp-dictionary/lua/cmp_dictionary/dict/trie.lua:43: in function 
<...vim/lazy/cmp-dicti
 onary/lua/cmp_dictionary/dict/trie.lua:42>

[C]: in function 'nvim_buf_delete'
 .../fennel/.local/share/nvim/lazy/oil.nvim/lua/oil/util.lua:159: in function 
'rename_buffer'
 .../fennel/.local/share/nvim/lazy/oil.nvim/lua/oil/init.lua:746: in function 
'maybe_hijack_directo
 ry_buffer'
 .../fennel/.local/share/nvim/lazy/oil.nvim/lua/oil/init.lua:1265: in function 
'setup'
 /home/fennel/.config/nvim/init.lua:209: in main chunk

if you have any suggestions, I’d love to hear them! This has been very 
frustrating for me.

Fennel

​

Adjust analysis bracket continuations?

2024-06-06 Thread Fennel
I’m using analysis brackets as shown in the snippet below:

\version "2.24.3"
\layout {
  \context { \Voice \consists Horizontal_bracket_engraver } }

\relative c' {c1 \startGroup | \break
  c1 \stopGroup
}

which produces the following output:
[image.png]

I would like for the bracket continuation in bar 2 to begin after the bar 
number, clef, key, and time signature information at the start of the staff. I 
found break-overshoot on [this reference 
page](https://lilypond.org/doc/v2.25/Documentation/internals/horizontalbracket) 
which seems to suggest that it’s what I’m looking for:

> A pair of numbers specifying how much a broken spanner sticks out of its 
> bounds horizontally on the broken side(s). For broken beams and broken tuplet 
> brackets, the bounds are given by the prefatory matter on the left and/or the 
> rightmost column on the right. For broken horizontal brackets, the bounds are 
> the leftmost and/or rightmost column; for broken measure spanners, the left 
> and/or right edge of the staff.

Here is the result when that option is applied:

\version "2.24.3"

\layout {
  \context {
\Voice
\consists Horizontal_bracket_engraver
\override HorizontalBracket.break-overshoot = #'(5 . 5)
  }
}

\relative c' {c1\startGroup | \break
c1\stopGroup}

[image.png]

largely unchanged. What should I do?

Fennel

​

Re: autocompletion with vim

2024-06-06 Thread Kenneth Flak
Hi Fennel,

I'm using the cmp-dictionary approach, which works fine for me. I wasn't aware 
that it's archived, which is a shame... In order for it to work I did have to 
specify an absolute path to the dictionaries, though:

local basepath = 
"/home/kf/.local/share/nvim/site/pack/rocks/start/nvim-lilypond-suite/lilywords/"

require("cmp_dictionary").setup({
paths = {
basepath .. "grobs",
basepath .. "keywords",
basepath .. "articulations",
basepath .. "grobProperties",
basepath .. "paperVariables",
basepath .. "headerVariables",
basepath .. "contextProperties",
basepath .. "clefs",
basepath .. "repeatTypes",
basepath .. "languageNames",
basepath .. "accidentalsStyles",
basepath .. "scales",
basepath .. "musicCommands",
basepath .. "markupCommands",
basepath .. "contextsCmd",
basepath .. "dynamics",
basepath .. "contexts",
basepath .. "translators",
},
exact_length = 2,
first_case_insensitive = true,
document = {
enable = true,
command = { "wn", "${label}", "-over" },
},
})


Fennel, Jun 06, 2024 at 11:04:
> The plugin that Kenneth mentions (which I am also using at the moment) is 
> rather quite broken as far as Emacs or Frescobaldi-style autocompletion is 
> concerned.
>
> [nvim-lilypond-suite](https://github.com/martineausimon/nvim-lilypond-suite) 
> strongly recommends the use of `coc.nvim`, which is not as performant as non 
> JS-based completion engines like cmp-nvim. The plugin author makes available 
> a path to working autocomplete via the provided dictionary files that come 
> bundled with Lilypond, but in order to make that work with `nvim-cmp`, an 
> additional plugin must be used to integrate dictionary files as a completion 
> source. AFAIK, [cmp-dictionary](https://github.com/uga-rosa/cmp-dictionary) 
> is the only plugin that provides this functionality, and it is archived/not 
> being developed, and it is broken. I cannot get it to load without throwing 
> an error.
>
> I really don't feel like asking us to use TabNine as a suitable autocomplete 
> engine is really the solution, especially because it's not very great at 
> handling specialized languages like LilyPond. I also don't feel like moving 
> all of my completion configuration over to `coc.nvim` is really something 
> that makes sense for one language out of many that I write in my vim config. 
> I'm kind of at a loss for what I can use in vim to get proper autocomplete 
> working other than fix the broken archived plugin myself, which I'm not 
> exactly trying to do at the moment.
>
> - Fennel






Re: 6 and 8 string tab

2024-06-06 Thread Walt North

ok - here is a made up example. Code and screenshot are below.

Let's say I had a very short piece of 5 bars.

4 bars can be played fine on the upper six strings.

But there is one bar that dips down into a couple of lower notes needing 
to be played on 7th and 8th strings.


If this were a longer piece I was trying to fit on two pages I would be 
loosing a lot of space for the sake of just two bars if I use the eight 
string tab all the way through.


In this example I can force the one bar to use eight string tab on its 
own tabStaff.  But if I had maybe 3 or 4 such bars scattered through out 
the piece this starts to defeat my space saving goal. Refer to lines 1 
through 3 in the screen shot. Note that second line uses an 8 string 
tabStaff.


I have found by changing the string tuning in between notes in the same 
Tabstaff it seems to try to work but doesn't quite get there. Refer to 
the 4th line in the screen shot. It seems get a little confused when it 
tries to connect the bars with different numbers of lines.  Line 4 in 
the screen shot should have the notes one line lower.  It has the notes 
incorrectly shifted up one line and doesn't give any indication of what 
string is needed for the low notes (i.e. one or two lines below the 
TabStaff - similar to the behavior of adding ledger lines below a normal 
staff),


Here is the lilypond code.

\version "2.24.2"

steelGuitarSixStringCSixTuning = \stringTuning 
steelGuitarEightStringCSixTuning = \stringTuning 

%This is musically correct but it forces a separate line
\new TabStaff {
  \relative c {
    \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
    e,4 e e e | e e e e
  }
}
\new TabStaff {
  \relative c {
    \set Staff.stringTunings = \steelGuitarEightStringCSixTuning
   e,4 e c g
  }
}
\new TabStaff {
  \relative c {
    \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
    e,4 e e e | e e e e
  }
}

%This seems to try to work but it gets a little confused becase
%third bar should be one line lower and there is no indication
%whether the lowest note is seventh or eight string.
\new TabStaff {
  \relative c {
    \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
    e,4 e e e | e e e e
  }
    \relative c {
    \set Staff.stringTunings = \steelGuitarEightStringCSixTuning
   e,4 e c g
  }
  \relative c {
    \set Staff.stringTunings = \steelGuitarSixStringCSixTuning
    e,4 e e e | e e e e
  }

}


And here is a screen shot of the result.


On 6/5/2024 11:03 PM, David Kastrup wrote:

Walt North  writes:


I occasionally write out Tab notation parts for 6 or 8 string lap
steel guitar. I have created tuning entries for these and it works
well using Minimum fret and max fret difference values.  Here is my
question. 90% of the time I only need the upper six strings and just
occasionally dip down to the 7th and 8th strings for a few
notes. Which means most of the time there is unneeded page space used
up.  I could use different tab staffs intermittently  but that gets
pretty cumbersome when it is only be an occasional note or two.  And
I've never been able to get things realigned vertically when going
back and forth  between 6 string and 8 string tabstaff.

Is there any approach that would add just a lower tabstaff line for
the 7th or 8th string as needed - similar to the way ledger lines are
added to regular staff when the notes go down to middle C or lower?

Maybe something with markup?

Have you tried adding the Ledger_line_engraver to your TabStaff ?

Do you have any example code to work with?


Re: autocompletion with vim

2024-06-06 Thread Fennel
The plugin that Kenneth mentions (which I am also using at the moment) is 
rather quite broken as far as Emacs or Frescobaldi-style autocompletion is 
concerned.

[nvim-lilypond-suite](https://github.com/martineausimon/nvim-lilypond-suite) 
strongly recommends the use of `coc.nvim`, which is not as performant as non 
JS-based completion engines like cmp-nvim. The plugin author makes available a 
path to working autocomplete via the provided dictionary files that come 
bundled with Lilypond, but in order to make that work with `nvim-cmp`, an 
additional plugin must be used to integrate dictionary files as a completion 
source. AFAIK, [cmp-dictionary](https://github.com/uga-rosa/cmp-dictionary) is 
the only plugin that provides this functionality, and it is archived/not being 
developed, and it is broken. I cannot get it to load without throwing an error.

I really don't feel like asking us to use TabNine as a suitable autocomplete 
engine is really the solution, especially because it's not very great at 
handling specialized languages like LilyPond. I also don't feel like moving all 
of my completion configuration over to `coc.nvim` is really something that 
makes sense for one language out of many that I write in my vim config. I'm 
kind of at a loss for what I can use in vim to get proper autocomplete working 
other than fix the broken archived plugin myself, which I'm not exactly trying 
to do at the moment.

- Fennel


publickey - fennel@everwild.dev - 0x1FA97B0B.asc
Description: application/pgp-keys


Re: 6 and 8 string tab

2024-06-06 Thread David Kastrup
Walt North  writes:

> I occasionally write out Tab notation parts for 6 or 8 string lap
> steel guitar. I have created tuning entries for these and it works
> well using Minimum fret and max fret difference values.  Here is my
> question. 90% of the time I only need the upper six strings and just
> occasionally dip down to the 7th and 8th strings for a few
> notes. Which means most of the time there is unneeded page space used
> up.  I could use different tab staffs intermittently  but that gets
> pretty cumbersome when it is only be an occasional note or two.  And
> I've never been able to get things realigned vertically when going
> back and forth  between 6 string and 8 string tabstaff.
>
> Is there any approach that would add just a lower tabstaff line for
> the 7th or 8th string as needed - similar to the way ledger lines are
> added to regular staff when the notes go down to middle C or lower?
>
> Maybe something with markup?

Have you tried adding the Ledger_line_engraver to your TabStaff ?

Do you have any example code to work with?

-- 
David Kastrup



6 and 8 string tab

2024-06-05 Thread Walt North
I occasionally write out Tab notation parts for 6 or 8 string lap steel 
guitar. I have created tuning entries for these and it works well using 
Minimum fret and max fret difference values.  Here is my question. 90% 
of the time I only need the upper six strings and just occasionally dip 
down to the 7th and 8th strings for a few notes. Which means most of the 
time there is unneeded page space used up.  I could use different tab 
staffs intermittently  but that gets pretty cumbersome when it is only 
be an occasional note or two.  And I've never been able to get things 
realigned vertically when going back and forth  between 6 string and 8 
string tabstaff.


Is there any approach that would add just a lower tabstaff line for the 
7th or 8th string as needed - similar to the way ledger lines are added 
to regular staff when the notes go down to middle C or lower?


Maybe something with markup?

Walt North




Re: Vanishing nested tuplet

2024-06-05 Thread Gregory Evans
Thank you so much William,
yes indeed whatever problem I was experiencing has been resolved in a
recent update to lilypond.

regards,
g.r.e.

On Wed, Jun 5, 2024 at 8:39 PM William Rehwinkel <
will...@williamrehwinkel.net> wrote:

> On MacOS x86, When running your file on 2.25.7, only one tuplet is
> shown, but when running 2.25.16, both tuplets are shown. Seems like
> there was a bug that has recently been fixed. Can you try running on
> 2.25.16?
>
> Thanks,
> -William
>
> On 6/5/24 22:26, David Wright wrote:
> > On Wed 05 Jun 2024 at 19:24:48 (-0600), Gregory Evans wrote:
> >> Hi Mark thanks for the reply,
> >> so my mwe didn’t show, but the measure is 2/5 which means the duration
> of
> >> the measure is that of a half note prolated by 5:4, so that is where
> the 8
> >> in 9:*8* comes from.
> >>
> >> Regardless of this discrepancy, lilypond is perfectly happy to display
> >> "incomplete" tuplets. see:
> >>
> >> \tuplet 3/2 {
> >>  c'4.
> >>  }
> >>
> >> so I don’t believe the issue is that the outermost tuplet is not filled
> >> *completely*, rather it seems to be a problem that the outermost tuplet
> is
> >> filled *with only one tuplet*. Your example displays the sub-tuplet
> because
> >> the outermost tuplet contains more than a single tuplet. If we replace
> your c'4
> >> c' c' with a separate tuplet, everything behaves as expected as well.
> Well,
> >> I should say that my assertions as to why the other examples work
> correctly
> >> is a guess.
> >
> >> p.s. Again to clarify for anyone following this discussion, it is the
> >> innermost tuplet bracket that disappears for me.
> >
> > I'm not sure I quite understand the issue, as I can run the code but
> > don't know what your expectations are.
> >
> > Cheers,
> > David.
>
> --
> William Rehwinkel (any pronouns)
> Juilliard School '26 - Oberlin Conservatory '24
> will...@williamrehwinkel.net - https://williamrehwinkel.net
> PGP Public Key: https://ftp.williamrehwinkel.net/pubkey.txt
>


-- 
gregory rowland evans, PhD
http://www.gregoryrowlandevans.com
https://soundcloud.com/gregory-rowland-evans
https://www.youtube.com/@GregoryRowlandEvans
https://github.com/GregoryREvans


Re: Vanishing nested tuplet

2024-06-05 Thread William Rehwinkel via LilyPond user discussion
On MacOS x86, When running your file on 2.25.7, only one tuplet is 
shown, but when running 2.25.16, both tuplets are shown. Seems like 
there was a bug that has recently been fixed. Can you try running on 
2.25.16?


Thanks,
-William

On 6/5/24 22:26, David Wright wrote:

On Wed 05 Jun 2024 at 19:24:48 (-0600), Gregory Evans wrote:

Hi Mark thanks for the reply,
so my mwe didn’t show, but the measure is 2/5 which means the duration of
the measure is that of a half note prolated by 5:4, so that is where the 8
in 9:*8* comes from.

Regardless of this discrepancy, lilypond is perfectly happy to display
"incomplete" tuplets. see:

\tuplet 3/2 {
 c'4.
 }

so I don’t believe the issue is that the outermost tuplet is not filled
*completely*, rather it seems to be a problem that the outermost tuplet is
filled *with only one tuplet*. Your example displays the sub-tuplet because
the outermost tuplet contains more than a single tuplet. If we replace your c'4
c' c' with a separate tuplet, everything behaves as expected as well. Well,
I should say that my assertions as to why the other examples work correctly
is a guess.



p.s. Again to clarify for anyone following this discussion, it is the
innermost tuplet bracket that disappears for me.


I'm not sure I quite understand the issue, as I can run the code but
don't know what your expectations are.

Cheers,
David.


--
William Rehwinkel (any pronouns)
Juilliard School '26 - Oberlin Conservatory '24
will...@williamrehwinkel.net - https://williamrehwinkel.net
PGP Public Key: https://ftp.williamrehwinkel.net/pubkey.txt


odd_2.25.16.pdf.pdf
Description: Adobe PDF document


odd_2.25.7.pdf
Description: Adobe PDF document


OpenPGP_signature.asc
Description: OpenPGP digital signature


Re: Vanishing nested tuplet

2024-06-05 Thread David Wright
On Wed 05 Jun 2024 at 19:24:48 (-0600), Gregory Evans wrote:
> Hi Mark thanks for the reply,
> so my mwe didn’t show, but the measure is 2/5 which means the duration of
> the measure is that of a half note prolated by 5:4, so that is where the 8
> in 9:*8* comes from.
> 
> Regardless of this discrepancy, lilypond is perfectly happy to display
> "incomplete" tuplets. see:
> 
> \tuplet 3/2 {
> c'4.
> }
> 
> so I don’t believe the issue is that the outermost tuplet is not filled
> *completely*, rather it seems to be a problem that the outermost tuplet is
> filled *with only one tuplet*. Your example displays the sub-tuplet because
> the outermost tuplet contains more than a single tuplet. If we replace your 
> c'4
> c' c' with a separate tuplet, everything behaves as expected as well. Well,
> I should say that my assertions as to why the other examples work correctly
> is a guess.

> p.s. Again to clarify for anyone following this discussion, it is the
> innermost tuplet bracket that disappears for me.

I'm not sure I quite understand the issue, as I can run the code but
don't know what your expectations are.

Cheers,
David.
\times 4/5 {
\times 8/9 {
c'16
c'16
c'16
c'16
c'16
c'16
c'16
c'16
c'16
}
}
\times 4/5 {
\times 8/9 {
c'16 c' c' c' c' c' c' c' c'
} c'4 c' c'
}
\tuplet 3/2 {
c'4.
}


odd.pdf
Description: Adobe PDF document


Re: Vanishing nested tuplet

2024-06-05 Thread Gregory Evans
Hi Mark thanks for the reply,
so my mwe didn’t show, but the measure is 2/5 which means the duration of
the measure is that of a half note prolated by 5:4, so that is where the 8
in 9:*8* comes from.

Regardless of this discrepancy, lilypond is perfectly happy to display
"incomplete" tuplets. see:

\tuplet 3/2 {
c'4.
}

so I don’t believe the issue is that the outermost tuplet is not filled
*completely*, rather it seems to be a problem that the outermost tuplet is
filled *with only one tuplet*. Your example displays the sub-tuplet because
the outermost tuplet contains more than a single tuplet. If we replace your c'4
c' c' with a separate tuplet, everything behaves as expected as well. Well,
I should say that my assertions as to why the other examples work correctly
is a guess.

regards,
g.r.e.

p.s. Again to clarify for anyone following this discussion, it is the
innermost tuplet bracket that disappears for me.

On Wed, Jun 5, 2024 at 5:26 PM  wrote:

> Gregory,
>
>
>
> As I read it the inner 8/9 is equal to two beats of a 4/4 measure.
>
> That is insufficient to complete an entire 4/5 measure.
>
>
>
> Look at
>
>
>
> \version "2.24.3"
>
>
>
> \times 4/5 {
>
> \times 8/9 {
>
> c'16 c' c' c' c' c' c' c' c'
>
> } c'4 c' c'
>
> }
>
>
>
> Mark
>
>
>
> *From:* lilypond-user-bounces+carsonmark=ca.rr@gnu.org
>  *On Behalf Of *Gregory
> Evans
> *Sent:* Wednesday, June 5, 2024 3:11 PM
> *To:* Lilypond-User Mailing List 
> *Subject:* Vanishing nested tuplet
>
>
>
> Hello everyone,
> I need help engraving a unique rhythm structure relevant to “irrational”
> meters (or perhaps non-dyadic meters or non-power-of-2-denominated meters).
> In many cases of such meters, it is assumed that the unique meter prolates
> the contained values as is sometimes done in a score which changes from a
> duple meter to a triple meter.
>
> However in a score I am currently engraving changes from duple to triple
> meter do not change the basic speed of any note value (an 8th note is the
> same duration in 3/4 and 6/8) and thus the “irrational” meters also do
> not change the tempo. For instance a 1/6 meter would be the duration of
> one quarter note in an incomplete tuplet of 3:2.
>
> In the score I am engraving, measures are generally subdivided into even
> pulses. In this case a 2/5 measure is divided into 9 16th notes. This
> could be notated as a formidable 45:32 tuplet or, as I would prefer a 5:4
> tuplet with a 9:8 tuplet inside and nothing else. However, lilypond seems
> to be erasing the inner tuplet. This is reproduced in the following mwe (I
> am still using 2.23.81 which I know is quite old):
>
> \times 4/5 {
>
> \times 8/9 {
>
> c'16
>
> c'16
>
> c'16
>
> c'16
>
>
>
> c'16
>
>
>
> c'16
>
>
>
> c'16
>
>
>
> c'16
>
>
>
> c'16
>
>
>
> }
>
> }
>
> The spacing appears to be calculated correctly but the innermost tuplet
> bracket and number will not appear unless another note or tuplet is added
> as well. No change is caused by adding empty chords (<>) or by changing
> \times to \tuplet in any permutation.
>
> I looked around but I cannot tell if this behavior is known (it is a rare
> scenario) and I cannot tell if this is a desired behavior. Perhaps it is.
>
> thank you for any help,
> gregory evans
>
> --
>
> gregory rowland evans, PhD
>
> http://www.gregoryrowlandevans.com
>
> https://soundcloud.com/gregory-rowland-evans
>
> https://www.youtube.com/@GregoryRowlandEvans
>
> https://github.com/GregoryREvans
>


-- 
gregory rowland evans, PhD
http://www.gregoryrowlandevans.com
https://soundcloud.com/gregory-rowland-evans
https://www.youtube.com/@GregoryRowlandEvans
https://github.com/GregoryREvans


RE: Vanishing nested tuplet

2024-06-05 Thread carsonmark
Gregory,

 

As I read it the inner 8/9 is equal to two beats of a 4/4 measure.

That is insufficient to complete an entire 4/5 measure.

 

Look at

 

\version "2.24.3"

 

\times 4/5 {

\times 8/9 {

c'16 c' c' c' c' c' c' c' c'  

} c'4 c' c'

}

 

Mark

 

From: lilypond-user-bounces+carsonmark=ca.rr@gnu.org 
 On Behalf Of Gregory Evans
Sent: Wednesday, June 5, 2024 3:11 PM
To: Lilypond-User Mailing List 
Subject: Vanishing nested tuplet

 

Hello everyone,
I need help engraving a unique rhythm structure relevant to “irrational” meters 
(or perhaps non-dyadic meters or non-power-of-2-denominated meters). In many 
cases of such meters, it is assumed that the unique meter prolates the 
contained values as is sometimes done in a score which changes from a duple 
meter to a triple meter.

However in a score I am currently engraving changes from duple to triple meter 
do not change the basic speed of any note value (an 8th note is the same 
duration in 3/4 and 6/8) and thus the “irrational” meters also do not change 
the tempo. For instance a 1/6 meter would be the duration of one quarter note 
in an incomplete tuplet of 3:2.

In the score I am engraving, measures are generally subdivided into even 
pulses. In this case a 2/5 measure is divided into 9 16th notes. This could be 
notated as a formidable 45:32 tuplet or, as I would prefer a 5:4 tuplet with a 
9:8 tuplet inside and nothing else. However, lilypond seems to be erasing the 
inner tuplet. This is reproduced in the following mwe (I am still using 2.23.81 
which I know is quite old):

\times 4/5 {
\times 8/9 {
c'16
c'16
c'16
c'16
 
c'16
 
c'16
 
c'16
 
c'16
 
c'16
 
}
}

The spacing appears to be calculated correctly but the innermost tuplet bracket 
and number will not appear unless another note or tuplet is added as well. No 
change is caused by adding empty chords (<>) or by changing \times to \tuplet 
in any permutation.

I looked around but I cannot tell if this behavior is known (it is a rare 
scenario) and I cannot tell if this is a desired behavior. Perhaps it is.

thank you for any help,
gregory evans

-- 

gregory rowland evans, PhD

  http://www.gregoryrowlandevans.com

  
https://soundcloud.com/gregory-rowland-evans

  
https://www.youtube.com/@GregoryRowlandEvans

  https://github.com/GregoryREvans



Vanishing nested tuplet

2024-06-05 Thread Gregory Evans
Hello everyone,
I need help engraving a unique rhythm structure relevant to “irrational”
meters (or perhaps non-dyadic meters or non-power-of-2-denominated meters).
In many cases of such meters, it is assumed that the unique meter prolates
the contained values as is sometimes done in a score which changes from a
duple meter to a triple meter.

However in a score I am currently engraving changes from duple to triple
meter do not change the basic speed of any note value (an 8th note is the
same duration in 3/4 and 6/8) and thus the “irrational” meters also do not
change the tempo. For instance a 1/6 meter would be the duration of one
quarter note in an incomplete tuplet of 3:2.

In the score I am engraving, measures are generally subdivided into even
pulses. In this case a 2/5 measure is divided into 9 16th notes. This could
be notated as a formidable 45:32 tuplet or, as I would prefer a 5:4 tuplet
with a 9:8 tuplet inside and nothing else. However, lilypond seems to be
erasing the inner tuplet. This is reproduced in the following mwe (I am
still using 2.23.81 which I know is quite old):

\times 4/5 {
\times 8/9 {
c'16
c'16
c'16
c'16

c'16

c'16

c'16

c'16

c'16

}
}

The spacing appears to be calculated correctly but the innermost tuplet
bracket and number will not appear unless another note or tuplet is added
as well. No change is caused by adding empty chords (<>) or by changing
\times to \tuplet in any permutation.

I looked around but I cannot tell if this behavior is known (it is a rare
scenario) and I cannot tell if this is a desired behavior. Perhaps it is.

thank you for any help,
gregory evans
-- 
gregory rowland evans, PhD
http://www.gregoryrowlandevans.com
https://soundcloud.com/gregory-rowland-evans
https://www.youtube.com/@GregoryRowlandEvans
https://github.com/GregoryREvans


Re: another variation for repeat segno

2024-06-05 Thread Joel C. Salomon

On 6/3/24 17:13, Paul Scott wrote:

Is  there a way to do this with Segno repeat structure?


By “this”, do you mean “play bars 1, 2, 3, then 2, 3, 4”, or do you mean 
how to customize display of the repeat structure with the overbars as 
your example shows?


—Joel




Re: autocompletion with vim

2024-06-05 Thread Kenneth Flak
I'm using the nvim-lilypond-suite plugin, which works beautifully, but that's 
for neovim... I suppose you're referring to "regular" vim?

Best,
Kenneth

Stefan Thomas, Jun 05, 2024 at 10:13:
> Dear community,
> did any of You manage to get the autoload-function for lilypond of vim
> to
> work?
> Thanks for Your help,
> Stefan






Re: Get Width and Height of markup

2024-06-05 Thread Valentin Petzel
Hello William,

the problem here is that a markup may depend on the context it is rendered in. 
For example if you change font size or even font for Staff.InstrumentName then 
the dimensions of the stencil will change.

You can of course render the markup using some "default" settings, as long as 
you make sure these do not change a lot. Once you have a stencil you can 
extract dimensions.

#(display (ly:stencil-extent (interpret-markup $defaultpaper '(()) "test") X))

or with 2.25

#(display (ly:stencil-extent (interpret-markup $defaultpaper (list (ly:output-
def-lookup $defaultpaper 'property-defaults)) "test") X))

I’ve recently posted a thought to the list (which did not get any replies) 
about whether we could actually use the break-alignment interface to allow for 
things like automatic indent (this also matter in case short instrument names 
change).

So your code could do:

version = "2.25.13"

pref = \markup { piece title here longer }

pref_width = #(interval-length
   (ly:stencil-extent
(interpret-markup
 $defaultpaper
 (list (ly:output-def-lookup $defaultpaper 'property-
defaults))
 pref)
X))

extra_pad = #(ly:cm 0.5)

\markup \pref
\markup\stencil #(interpret-markup
 $defaultpaper
 (list (ly:output-def-lookup $defaultpaper 'property-
defaults))
 pref)

\score {
   \new Staff \with {instrumentName = \pref } {c'1 \break c'1 }
}

\layout {
   % Indent is in mm, pref_width is in staff spaces (default 1.75mm (7mm / 4)).
   % Adjust by fontsize if staffsize changes
   indent = #(+ (* 1.75 pref_width) extra_pad)
}

Cheers,
Valentin

Am Mittwoch, 5. Juni 2024, 03:15:24 MESZ schrieb William Rehwinkel via 
LilyPond user discussion:
> Dear list,
> 
> In the following example, I am wondering how I can find the measurements 
> of the dimensions, specifically the width, of a markup object. This is 
> so I can automatically indent the first line by the length of the 
> instrumentName.
> 
> Thanks,
> -William
> 
> % 
> \version "2.25.7"
> 
> pref = \markup { piece title here }
> 
> % How can I determine this from the width of \pref
> pref_width = #(ly:inch 1)
> 
> extra_pad = #(ly:cm 0.5)
> 
> \score {
>\new Staff \with {instrumentName = \pref } {c'1 \break c'1 }
> }
> 
> \layout {
>#(define indent (+ pref_width extra_pad))
> }
> % 
> 
> -- 
> William Rehwinkel (any pronouns)
> Juilliard School '26 - Oberlin Conservatory '24
> will...@williamrehwinkel.net - https://williamrehwinkel.net
> PGP Public Key: https://ftp.williamrehwinkel.net/pubkey.txt



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


Re: manual vertical alternative marks

2024-06-05 Thread Timothy Lanfear
Add the || bar type to the list of bar symbols that require a volta hook 
with


#(allow-volta-hook "||")

at the top level of the ly file.

On 04/06/2024 20:12, Paul Scott wrote:
I have tried several variations of (volta #f) and end-repeat with the 
following code:


\version "2.25.16"

xDS = \markup{\fontsize #4 \line{D.S. al Fine }}
xFine = \markup{\fontsize #4 Fine}

music = \fixed c' {
  g1
  \segnoMark 1
  f 4 g a b
  \set Score.repeatCommands = #`((volta ,xDS) )
  g4 a g a
  \set Score.repeatCommands = #`((volta #f) (volta ,xFine))
  \bar "||"
  b1
  \set Score.repeatCommands = #'((volta #f))
  \bar "|."
}

\score{ \music }
\score{ \unfoldRepeats \music }

How do I get the ending vertical line at the end of the first 
alternative?


This code also demonstrates the desirablity of getting the repeat 
segno structure to work for more cases.


TIA,

Paul




--
Timothy Lanfear, Bristol, UK.


autocompletion with vim

2024-06-05 Thread Stefan Thomas
Dear community,
did any of You manage to get the autoload-function for lilypond  of vim to
work?
Thanks for Your help,
Stefan


  1   2   3   4   5   6   7   8   9   10   >