Re: Turn with accidental

2023-09-01 Thread Ralph Palmer
On Fri, Sep 1, 2023 at 8:15 AM Jean Abou Samra  wrote:

> Is this what you're looking for?
>
> \version "2.24.2"
> { a''2^\turn^\markup \natural }
>
> Best,
> Jean
>

Perfect, Jean! Thanks. I didn't know the   ^\markup \natural   was possible.

All the best,

Ralph


Re: custom replace/map of one set of pitches to another

2023-09-01 Thread David Kastrup
Lukas-Fabian Moser  writes:

> Hi Valentin,
>
> Am 01.09.23 um 00:41 schrieb Valentin Petzel:
>> I don’t think this is a particularly good idea. Lilypond conceptually first
>> creates data for the sementic meaning of the music (or the actual content) 
>> and
>> have engravers turn this into graphical content.
>>
>> Mapping pitches to other pitches is not a layout option, but a musical
>> transformation and should thus be done on the music level, not the layout
>> level. Using an engraver will mean it is hard to combine this with other
>> musical transformations, and it will also cause order issues as soon as you
>> have an engraver that depends on the pitch property.
>
> I agree about the possible problems, and to be honest, I wasn't aware
> that a music function solution like yours can deal with \transpose and
> \relative gracefully (since the assignment of actual pitches is
> complete when the music function is applied on the outside).

Iff the music function is applied on the outside.

-- 
David Kastrup



Re: custom replace/map of one set of pitches to another

2023-09-01 Thread Lukas-Fabian Moser

Hi Valentin,

Am 01.09.23 um 00:41 schrieb Valentin Petzel:

I don’t think this is a particularly good idea. Lilypond conceptually first
creates data for the sementic meaning of the music (or the actual content) and
have engravers turn this into graphical content.

Mapping pitches to other pitches is not a layout option, but a musical
transformation and should thus be done on the music level, not the layout
level. Using an engraver will mean it is hard to combine this with other
musical transformations, and it will also cause order issues as soon as you
have an engraver that depends on the pitch property.


I agree about the possible problems, and to be honest, I wasn't aware 
that a music function solution like yours can deal with \transpose and 
\relative gracefully (since the assignment of actual pitches is complete 
when the music function is applied on the outside).


What I don't necessarily agree with is the philosophical notion of 
engravers being tied to the layout level (which is admittedly suggested 
by their name): As long as I work with listeners (as opposed to 
acknowledgers), I see no problem in using them for "semantic" 
transformations that need the music sorted by timestep (which 
nevertheless is not the case in the current situation).


Lukas




Re: Newbie questions

2023-09-01 Thread H. S. Teoh
On Fri, Sep 01, 2023 at 07:27:13PM +0200, Mats-Olof Liljegren wrote:
>Hello!
> 
>I'm a beginner with Lilypond but have decent programming knowledge.
>Something I haven't managed to figure out is how to best organize
>my projects. It becomes a very long file if everything is in the
>same one, so I've tried splitting it into separate `.ly` files for
>lyrics, soprano, alto, tenor, bass, and so on. It works, but I'm
>guessing there are smarter ways to organize scores and lyrics. 
[...]

It really depends on your workflow.  In my smaller projects (piano
pieces) I just keep everything in one file, with LH/RH parts as separate
variables outside the \score block.  Or, in more complex works, separate
voices in separate variables outside the \score block.

For small orchestral works, I keep the structural stuff (\score blocks,
\StaffGroup's, \Staff's, \midi blocks) in separate files, but the notes
themselves in a single file, one variable per instrument. Yes, the file
for notes does get very long, but it's manageable using a decent editor
with good navigational tools (one-key bookmarks, quick search function,
find-matching-braces) and helpful practices such as consistent naming of
variables (fluteIPart, fluteIIPart, violinIPart, violinIIPart, etc.),
and dividing input paragraphs of 4 or 8 bars each, with searchable
comment markers (e.g., `% Intro`, `% Exposition`, `% Development`,
`% Episode 1`, inserted before the corresponding paragraphs in each
instrument's part -- that way I can just search for "hornIIPart" then
"Development" to find the corresponding place to, say, the celloPart in
the same passage).

The reason I keep the \score blocks separate is because generating the
conductor's score vs. individual parts is very different, but once set
up you almost never need to change it. Putting it in different files
reduces the clutter in the notes file that I spend most of the time on.


T

-- 
"How are you doing?" "Doing what?"



Re: Newbie questions

2023-09-01 Thread David Kastrup
Mats-Olof Liljegren  writes:

> Hello!
>
> I'm a beginner with Lilypond but have decent programming
> knowledge. Something I haven't managed to figure out is how to best
> organize my projects. It becomes a very long file if everything is in
> the same one, so I've tried splitting it into separate `.ly` files for
> lyrics, soprano, alto, tenor, bass, and so on. It works, but I'm
> guessing there are smarter ways to organize scores and lyrics.
>
> I've heard about `.ily` files, and if anyone could provide me with
> links where I can learn and understand more, I would be grateful.

.ily is just an arbitrary extension to indicate "included LilyPond
file".  The only actual difference to LilyPond is that if you call

lilypond somefilename

and somefilename does not exist, somefilename.ly will be tried instead.

So .ily is not more than a convention.  Enough so that editors and other
utilities making decisions (like syntax highlighting) based on the file
name will tend to know what to do with .ily.

-- 
David Kastrup



Newbie questions

2023-09-01 Thread Mats-Olof Liljegren
Hello!

I'm a beginner with Lilypond but have decent programming knowledge. Something I 
haven't managed to figure out is how to best organize my projects. It becomes a 
very long file if everything is in the same one, so I've tried splitting it 
into separate `.ly` files for lyrics, soprano, alto, tenor, bass, and so on. It 
works, but I'm guessing there are smarter ways to organize scores and lyrics.

I've heard about `.ily` files, and if anyone could provide me with links where 
I can learn and understand more, I would be grateful.

I've of course searched the internet and tried to find resources, but it hasn't 
been very successful, so I'm taking the liberty to ask here and hope it's okay.

Best regards,
Mats-Olof Liljegren, an arranger residing in Sweden.




Re: Trouble using version 2.20.0 & 2.24.1

2023-09-01 Thread Jean Abou Samra
Le vendredi 01 septembre 2023 à 17:38 +0100, Ian West a écrit :
> I have used  Lilypond very happily for many years on Apple laptops (2.12.3,
> 2.18.2).
> My latest computer is a MacBook Air running OS Ventura 13.4.1 with M2. I
> understood I needed a 64 bit version of Lilypond, downloaded 2.20.0 August
> 2022, and ran it successfully for 12 months till 1st August 2023. It then
> stopped working and said I had hit a bug.
> I discarded the installation and re-clicked the *.tar , placed the file in
> applications. But again there was a bug. 
> I downloaded 2.24.1 but find it is too complicated. There is no single file
> that I can double-click to run. 
> I did manage to put a previously written amaryllis.ly file into a file with
> all the bin files and did get a pdf but this is no good. 
> 
> I want my Lilypond.exe back. Do I have to use my old 2010 MacBook, with its
> shot battery and no bluetooth? 

Have you followed the setup tutorial to get LilyPond running with Frescobaldi?

https://lilypond.org/doc/v2.24/Documentation/learning/graphical-setup-under-macos.html




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


Trouble using version 2.20.0 & 2.24.1

2023-09-01 Thread Ian West
I have used  Lilypond very happily for many years on Apple laptops (2.12.3, 
2.18.2).
My latest computer is a MacBook Air running OS Ventura 13.4.1 with M2. I 
understood I needed a 64 bit version of Lilypond, downloaded 2.20.0 August 
2022, and ran it successfully for 12 months till 1st August 2023. It then 
stopped working and said I had hit a bug.
I discarded the installation and re-clicked the *.tar , placed the file in 
applications. But again there was a bug. 
I downloaded 2.24.1 but find it is too complicated. There is no single file 
that I can double-click to run. 
I did manage to put a previously written amaryllis.ly  
file into a file with all the bin files and did get a pdf but this is no good. 

I want my Lilypond.exe back. Do I have to use my old 2010 MacBook, with its 
shot battery and no bluetooth? 
Ian
---
Ian West
9 Thenford Road, Middleton Cheney,
BANBURY, OX17 2NB,
Tel: 01295 713 889; (Mobile: 07474 572 588)
==



Re: Turn with accidental

2023-09-01 Thread Jean Abou Samra
Is this what you're looking for?

\version "2.24.2"
{ a''2^\turn^\markup \natural }

Best,
Jean






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


Turn with accidental

2023-09-01 Thread Ralph Palmer
Hi, All -

As ever, thanks for being there and being so much help!

I've searched the documentation and the snippet repository, but I cannot
find a way to indicate a turn with an accidental. In this case, it's in the
key of B flat, with a C with a turn, and a natural sign to indicate the B
is not flatted. I cannot easily include an example, but I will, if
necessary.

I'm grateful for any help.

All the best,

Ralph
__
Ralph Palmer
Seattle
USA
(he, him, his)
palmer.r.vio...@gmail.com


Re: title in the Breitkopf fraktura font

2023-09-01 Thread Jean Abou Samra
Le vendredi 01 septembre 2023 à 15:47 +0200, bernhard kleine a écrit :
>  
> >  
>  
> convert-ly was called from the data directory with a full qualified path.
> Maybe that caused the error?

Well, you appear to have followed

https://lilypond.org/doc/v2.25/Documentation/usage/command_002dline-preliminaries.html

to run convert-ly more simply (as just "convert-ly") but with an external Python
version. In that case, Valentin is actually right, you should check that this
Python version is at least 3.8. Or just run it with the bundled Python.


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


Re: title in the Breitkopf fraktura font

2023-09-01 Thread bernhard kleine

Am 01.09.2023 um 01:20 schrieb Jean Abou Samra:



Le 1 sept. 2023 à 00:11, Valentin Petzel  a écrit :

To me this seems like your python does not know the := operator, which was
introduced with python 3.8. Try to check your python version.

This should theoretically be irrelevant because the binaries are shipped with 
their own embedded Python interpreter. The question is how comes that another 
interpreter is being used, which is wrong.



convert-ly was called from the data directory with a full qualified
path. Maybe that caused the error?

--
*Steinbühlweg 1 79853 Lenzkirch*
www.urseetal.net
Ich mache auf mein Buch aufmerksam: 670 Falterarten im Hochschwarzwald
(aktuell vergriffen)

GPG Fingerabdruck: C76F A02E D525 7409


Re: Empty Staff/TabStaff/StaffGroup creates indentation

2023-09-01 Thread Michael Gerdau

Basically, this is
https://gitlab.com/lilypond/lilypond/-/issues/4157 



Thanks for looking into it. I just wanted to make sure it is either me 
being stupid or a bug/weirdness in LP. Since apparently it is known 
already that's fine with me.


The problem is related to \RemoveAllEmptyStaves. In essence, horizontal 
spacing is computed as if the staves that are being removed were still 
present. If you comment out the \RemoveAllEmptyStaves line, you will see 
that the objects taking this space are the clefs and time signatures.


FWIW my expectation would be that staves with no content at all have no 
impact whatsoever on the layout when I say \RemoveAllEmptyStaves.



It's not clear from your example what the \guitarPart is for,


I removed the content for the sake of simplicity.

In my real world application I do add the content conditionally (or 
leave it out).


Kind regards,
Michael
--
 Michael Gerdau   email: m...@qata.de
 GPG-keys available on request or at public keyserver



Re: How to have a parenthesized dynamic scripts including \cresc?

2023-09-01 Thread Jean Abou Samra
Le lundi 28 août 2023 à 14:36 +0200, Xavier Scheuer a écrit :
> Ping @Werner LEMBERG and @Jean Abou Samra: should NR 1.3.1 Expressive marks
> attached to notes be modified (to have other examples as parenthesized
> dynamics for New dynamic marks) ?



That snippet as well as LSR 1097 use italic parentheses, which \parenthesize
doesn't (yet) support.


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


Re: Empty Staff/TabStaff/StaffGroup creates indentation

2023-09-01 Thread Jean Abou Samra
Hi,

Basically, this is
https://gitlab.com/lilypond/lilypond/-/issues/4157

The problem is related to \RemoveAllEmptyStaves. In essence, horizontal spacing
is computed as if the staves that are being removed were still present. If you
comment out the \RemoveAllEmptyStaves line, you will see that the objects taking
this space are the clefs and time signatures.

It's not clear from your example what the \guitarPart is for, but you might be
able to introduce it later than the first system using a << ... \new StaffGroup
... >> construct in the middle of the chords or fretboards part.

Best,

Jean




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


Re: How to put a big number in the upper left or right corner of a score?

2023-09-01 Thread Jean Abou Samra
Hi,

I'd just add it as markup:

```
\version "2.24.2"

\markup
\with-outline ""
\translate #'(-3 . -1)
\fontsize #4 "1234"


{ c' }
```

Best,

Jean


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


Re: Voice leading lines

2023-09-01 Thread Jean Abou Samra
> > However, I want it to point to the "main" chord. Is there a way to do this?


A late reply, but you could cheat a bit by putting the grace note
in its own voice.


\version "2.24.2"


%%%

rightHand = \relative c' {
  \time 12/8
  \showStaffSwitch
  2.
  <<
{
  \voiceTwo
  \change Staff = down
  \grace s8
  4.
}
\new Voice {
  \change Staff = down
  \voiceTwo
  \grace g8
}
\new Voice {
  \oneVoice
  \grace s8
  r4.
}
  >>
  \hideStaffSwitch
  \change Staff = up
  \voiceOne
  4. |
}

leftHand = \relative c, {
  \clef bass
  2. s4. r |
}

\score {
  \new GrandStaff <<
\new Staff = up \rightHand
\new Staff = down \leftHand
  >>
}

%%%


Best,
Jean



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