Clarification on the GNU Free Documentation License (GFDL) Applicability

2024-08-08 Thread Peter X
## Clarification on the GNU Free Documentation License (GFDL) Applicability

### Background

Hello,

I have been exploring the LilyPond 2.24.4 documentation as I plan to use
LilyPond along with LaTeX to write some music education books for sale on
Amazon. However, I have come across some concerns regarding the GNU Free
Documentation License (GFDL) mentioned at the end of the LilyPond
documentation. Below are the navigation details and the specific content of
the license:

**Navigation:**
```
<< Back to Documentation Index
LilyPond — Notation Reference v2.24.4 (stable-branch).
...
C. GNU Free Documentation License
...
```

**GFDL Content (Excerpt):**
```
Version 1.3, 3 November 2008
...
The purpose of this License is to make a manual, textbook, or other
functional and useful document free in the sense of freedom: to assure
everyone the effective freedom to copy and redistribute it...
```

### My Concerns

1. **Scope of Source Code Disclosure**:
   - According to the GFDL, if I use LilyPond and LaTeX to write a book and
sell it on Amazon, am I required to disclose the entire LaTeX source code
of the book, or just the parts that include LilyPond code? For instance, if
the book contains dozens or even hundreds of musical excerpts, do I need to
disclose all the LaTeX code or just the musical notations?

2. **Applicability of GFDL**:
   - Does the GFDL apply only to the documentation of LilyPond, or does it
also cover the software itself? This distinction is crucial for my decision
to use LilyPond for writing and publishing books.

3. **Use of Fonts**:
   - If I use the default fonts provided by LilyPond 2.24.4 to generate PDF
files, does this imply that I need to comply with the GPL license as well?
Would this require me to disclose the source code?

4. **Feasibility of Commercialization**:
   - If I must disclose the source code while selling the books, others can
easily recompile the source to generate the PDF, eliminating the need to
purchase the book. In this case, does it still make sense to use LilyPond
for writing and selling books?

### Request for Clarification

I would appreciate it if members of the forum could help clarify these
concerns. Specifically, I would like to understand:

- What exactly does the GFDL apply to? Is it limited to LilyPond's
documentation, or does it also encompass the software?
- If the GFDL only applies to the documentation, am I still required to
disclose the source code when writing and selling books?
- Are there any successful cases of using LilyPond to write and sell books
on Amazon? If so, how did they handle the issue of source code disclosure?

Thank you all for your time and assistance!


Clarification on Commercial Use of Fonts Embedded in LilyPond-Generated PDFs

2024-08-08 Thread Peter X
**Title: Clarification on Commercial Use of Fonts Embedded in
LilyPond-Generated PDFs**

Hello everyone,

A few hours ago, I posted a question mainly focusing on whether sheet music
generated by LilyPond would be subject to any licensing restrictions that
could affect its commercial use. I’ve since received some helpful responses
clarifying that using LilyPond to create and sell PDF sheet music is
permissible, and there are no commercial licensing restrictions related to
the PDFs themselves.

However, I now have a new concern, specifically regarding the default fonts
embedded in the PDFs generated by LilyPond. Below is the information about
the fonts used in my PDF file:

```
name type  encoding emb
sub uni object ID
 -  ---
--- --- -
NMTBXS+C059-Bold Type 1C   WinAnsi  yes
yes no   7  0
YBXQWU+C059-RomanType 1C   WinAnsi  yes
yes no   9  0
PJJWOR+Emmentaler-14 Type 1C   Custom   yes
yes no  20  0
PEHHCL+Emmentaler-20 Type 1C   Custom   yes
yes no  18  0
GVAMCX+NimbusSans-Bold   Type 1C   WinAnsi  yes
yes no  16  0
```

### My Specific Questions:

1. **Are these fonts free for commercial use?**
   I plan to embed these fonts in a PDF sheet music file that I intend to
sell on Amazon as an eBook. I want to confirm whether these fonts
(specifically the C059 series, Emmentaler, and NimbusSans) have any
commercial use restrictions. Should I consider replacing them with other
fonts, or is it safe to use the default fonts?

2. **Assuming LilyPond does not affect the commercial licensing of the
PDF**
   Based on previous discussions, it was clarified that LilyPond itself
does not impact the commercial use or licensing of the generated PDFs.
Therefore, my main concern now is focused on the fonts used within the PDF.

3. **Recommendations for Commercially Successful LilyPond and LaTeX
eBooks**
   Additionally, if anyone can recommend commercially successful eBooks
that were created using LilyPond and LaTeX, especially those sold on
Amazon, I would greatly appreciate it!

Thank you very much for your help and advice!


Issues with Embedding Long LilyPond Scores in LaTeX

2024-08-10 Thread Peter X
**Subject: Issues with Embedding Long LilyPond Scores in LaTeX**

Dear LilyPond Users,

I’ve encountered an issue when embedding a long LilyPond file into a LaTeX
document. My goal is to include a lengthy musical score within the text,
but the current method results in the entire score being rendered as a
single tall image. This image often exceeds the page length, making it
spill over the page, which is not ideal.

Here is the basic LaTeX code I'm using:

```latex
\lilypondfile{a_lengthy_musical_score_example.ly}
```

### Problem:
When the LilyPond file contains a long score, it is inserted as one large,
vertical image, which surpasses the page's display limits. What I would
like is for the score to dynamically break across pages, similar to how
text flows naturally in LaTeX.

### Question:
Is there a way to embed long LilyPond scores in LaTeX such that they
automatically break across pages? If so, what’s the best practice for
handling this within the LaTeX and LilyPond integration?

Thank you for any advice or suggestions!

Best regards,
Peter


Re: Issues with Embedding Long LilyPond Scores in LaTeX

2024-08-12 Thread Peter X
Dear Werner,

Thank you so much for your guidance on reducing the complexity of my
LilyPond score step by step to identify the issue. Your suggestion indeed
helped me pinpoint the problem. The issue stemmed from my attempt to embed
the score as a figure-like object within the LaTeX document. My goal was to
number each score and later include these numbers in the table of contents
for easy reference.


···latex

\begin{figure}[h]

\lilypondfile[papersize=letter,paper-height=150mm,noragged-right,staffsize=18]{
repeated_notes.ly} % paper-height=150pt,
\caption{Repeated Notes}
\label{sng:repeated_notes}
\end{figure}

···


However, treating the score as a figure resulted in it being rendered as a
single, non-breakable image, preventing it from spanning multiple pages.
Once I removed this figure-like embedding, the score could successfully
break across pages as intended.

Now, my challenge is how to retain the numbering and indexing of these
scores in the document without treating them as figures. I want to be able
to cross-reference the scores within the text and have them appear in the
table of contents under their respective section.

Could you suggest any approaches or workarounds that would allow me to
achieve these goals? I am looking for a solution that provides the
flexibility of indexing and cross-referencing without compromising the
ability to break scores across pages.

Thank you again for your invaluable advice. I look forward to any further
suggestions you might have.

Best regards,

Peter

On Sun, Aug 11, 2024 at 10:20 PM Werner LEMBERG  wrote:

> [Please always use 'Reply to all' so that the mailing list stays in
>  the thread.]
>
> > It did happen in my case. The issue occurred while embedding a
> > lengthy LilyPond score within a LaTeX document. Despite expecting
> > the score to be broken into systems and spaced by LaTeX, it was
> > rendered as a single tall image.
>
> Again: I need an example to answer your question.  The usual process
> is to reduce your lengthy score step by step until you arrive at a
> minimal working example (MWE) that can no longer be shortened, and
> which still triggers the problem.
>
> BTW, in many cases this reduction process already helps in finding a
> solution.
>
> > Could you please guide me on whether there is any official
> > documentation or snippets available that address this scenario?
>
> Besides the documentation at
>
>   https://lilypond.org/doc/v2.24/Documentation/usage/lilypond_002dbook
>
> we have a suite of regression tests that cover LaTeX, to be found in
> the LilyPond source code bundle at
>
>   input/regression/lilypond-book/*.lytex
>
> Maybe this gives you more hints.
>


Re: Issues with Embedding Long LilyPond Scores in LaTeX

2024-08-12 Thread Peter X
Thanks for the tip.

On Mon, Aug 12, 2024 at 1:28 PM Werner LEMBERG  wrote:

>
> Glad that you could identify and fix the problem.
>
> > Now, my challenge is how to retain the numbering and indexing of
> > these scores in the document without treating them as figures. I
> > want to be able to cross-reference the scores within the text and
> > have them appear in the table of contents under their respective
> > section.
>
> This is a LaTeX question.  The standard mechanism is to use `\label`
> and `\ref` (or `\pageref`) for cross-references.  Similar commands
> exist (for example, `\addcontentsline`) to add entries to the table of
> contents.  Just add such comments right before a LilyPond environment.
>
>
> Werner
>


Re: Issues with Embedding Long LilyPond Scores in LaTeX

2024-08-12 Thread Peter X
Thank you, Werner, very much, for the tips. They work for me.


On Mon, Aug 12, 2024 at 6:07 PM Peter X  wrote:

> Thanks for the tip.
>
> On Mon, Aug 12, 2024 at 1:28 PM Werner LEMBERG  wrote:
>
>>
>> Glad that you could identify and fix the problem.
>>
>> > Now, my challenge is how to retain the numbering and indexing of
>> > these scores in the document without treating them as figures. I
>> > want to be able to cross-reference the scores within the text and
>> > have them appear in the table of contents under their respective
>> > section.
>>
>> This is a LaTeX question.  The standard mechanism is to use `\label`
>> and `\ref` (or `\pageref`) for cross-references.  Similar commands
>> exist (for example, `\addcontentsline`) to add entries to the table of
>> contents.  Just add such comments right before a LilyPond environment.
>>
>>
>> Werner
>>
>


Issue with Embedding LilyPond Files in Second Column of LaTeX Table

2024-08-16 Thread Peter X
Dear LilyPond Community,

I hope this message finds you well. I'm reaching out because I've
encountered an issue when attempting to embed LilyPond files into the cells
of a LaTeX table, specifically when these files are placed in the second
column of the table.

### Issue Description:
When I embed LilyPond files in the **first column** of a table, everything
works as expected, and the table renders without any issues. However, when
I try to place a LilyPond file in the **second column**, the compilation
fails with the following error:

```plaintext
stack traceback:
[C]: in function 'error'
...al/texlive/2024/texmf-dist/scripts/lyluatex/lyluatex.lua:1315:
in function 'lyluatex.lua.file'
[\directlua]:1: in main chunk.
...
l.1720 ...{file_02_unfold.ly}}
\\ \hline
```

### Table Structure:
Here’s a simplified version of the table structure I'm working with:

```latex
\begin{table}[H]
\centering
\small
\caption{Example Table}
\label{tab:example}
\begin{tabular}{|c|c|}
\hline
\textbf{Column 1} & \textbf{Column 2} \\ \hline
Placeholder 1 & Placeholder 2 \\ \hline
\lilypondfile[staffsize=10, noindent]{file_01.ly} & Placeholder 4 \\
\hline
\lilypondfile[staffsize=10, noindent]{file_02.ly} & Placeholder 6 \\
\hline
\lilypondfile[staffsize=10, noindent]{file_03.ly} & Placeholder 8 \\
\hline
\end{tabular}
\end{table}
```

### Observations:
- Embedding in the **first column** works perfectly.
- Attempting to embed LilyPond files in the **second column** causes the
error mentioned above.
- The issue persists even after trying to encapsulate the LilyPond code
within `\minipage` or `\parbox`.

### Request for Assistance:
Has anyone encountered a similar issue or have any insights on why
embedding in the second column might be causing this problem? I would
appreciate any guidance or suggestions on how to resolve this issue while
maintaining the intended table structure.

Thank you for your support!

Best regards,
Peter


Inserting an inline Tie/Slur Symbol in LaTeX Documents Using LilyPond or Other Methods

2024-08-21 Thread Peter X
Dear LilyPond Community,

I am currently working on a project where I need to incorporate musical
notation symbols directly into a LaTeX document. Specifically, I am looking
for a way to insert a tie or slur symbol (the curved line connecting two
notes) as an inline element within the text.

I understand that it might be possible to achieve this using LilyPond
embedded within LaTeX, but I am seeking guidance on the best practices for
doing so. If anyone has experience with this or could suggest a reliable
method—whether using LilyPond or another LaTeX package—I would greatly
appreciate your insights.

Additionally, if there is a specific glyph that represents a tie/slur
symbol that can be used within LaTeX, I would be interested in learning
about that as well.

Thank you in advance for your assistance and for any examples or advice you
can provide.

Best regards,

Peter


Inquiry on Adjusting Vertical Spacing Between Systems in Automatically Wrapped Lines

2024-08-23 Thread Peter X
Dear LilyPond Community,

I hope this message finds you well.

I am currently working on a project where I have a score that is long
enough to automatically wrap onto a new line. This score involves a single
instrument, but the question would apply equally well to scores involving
multiple instruments.

When LilyPond automatically wraps the music onto a new line, I am
interested in understanding how I can manually adjust the vertical spacing
between these automatically wrapped lines. Specifically, I’m looking for
the best method or property to control this spacing to achieve the desired
layout.

Would you be able to advise on the most effective approach to influence the
vertical spacing between these systems? Is there a particular override or
setting that is recommended for this?

Thank you in advance for your time and assistance. I look forward to any
guidance you can provide.

Best regards,

Peter


Inquiry About Commercial Use of Fonts Extracted from PDF for Book Publishing

2024-10-19 Thread Peter X
Subject: Inquiry About Commercial Use of Fonts Extracted from PDF for Book
Publishing


Dear LilyPond Community,


I hope this message finds you well. I’m reaching out for some assistance
regarding the commercial use of several fonts that were embedded in a PDF
document. I am in the process of publishing a book, with plans to
distribute it primarily in electronic (PDF) format through Amazon’s Kindle
Direct Publishing (KDP) platform, with a potential print version as well.


To check the fonts embedded in my PDF, I used the command pdffonts to list
the fonts in the document. Below is a snippet of the command’s output for
your reference:


HMBAUW+Emmentaler-18 Type 1C   Custom   yes
yes no   22285  0

GHSOVS+NimbusSans-Bold   Type 1C   WinAnsi  yes
yes no   22286  0

ZVGKDS+C059-RomanType 1C   WinAnsi  yes
yes no   22287  0


>From this, I extracted the unique values between the first + and the first
- from each line in the output. Specifically, I obtained the following
unique font names:


Bravura, C059, Emmentaler, CMR10, CMR6, CMR7, CMSY10, DejaVuSerif,
NimbusMonoPS, NimbusSans, TexGyreCursor, TexGyreTermes, f-0-0


Could you kindly provide some guidance on whether these fonts are free for
commercial use, given that I intend to sell the book on a platform like
Amazon KDP? If any of these fonts require licensing for such use, please
let me know what steps I should take.


Lastly, I encountered an unfamiliar font name in my extraction, which
appears as f-0-0. I’m unsure what this font represents or how it ended up
in my PDF. If anyone has insights into this, I’d appreciate your help.


Thank you for your time and support!


Best regards,

P


Re: Inquiry About Commercial Use of Fonts Extracted from PDF for Book Publishing

2024-10-20 Thread Peter X
Thank you, Mark,, for providing this method.

I also what to check with everyone here: does any user here ever encounter
any issue with the font when publishing a e-book or book?

On Sun, Oct 20, 2024 at 10:15 AM  wrote:

> Peter,
>
>
>
> I googled “NimbusMonoPS” and was taken to the 1001 free fonts site. It is
> listed as “Free for Commercial Use.”
> You could use the same process for the other.
>
>
>
> Mark
>
>
>
> *From:* lilypond-user-bounces+carsonmark=ca.rr@gnu.org
>  *On Behalf Of *Peter
> X
> *Sent:* Saturday, October 19, 2024 11:15 PM
> *To:* lilypond-user@gnu.org
> *Subject:* Inquiry About Commercial Use of Fonts Extracted from PDF for
> Book Publishing
>
>
>
> Subject: Inquiry About Commercial Use of Fonts Extracted from PDF for Book
> Publishing
>
>
>
> Dear LilyPond Community,
>
>
>
> I hope this message finds you well. I’m reaching out for some assistance
> regarding the commercial use of several fonts that were embedded in a PDF
> document. I am in the process of publishing a book, with plans to
> distribute it primarily in electronic (PDF) format through Amazon’s Kindle
> Direct Publishing (KDP) platform, with a potential print version as well.
>
>
>
> To check the fonts embedded in my PDF, I used the command pdffonts to list
> the fonts in the document. Below is a snippet of the command’s output for
> your reference:
>
>
>
> HMBAUW+Emmentaler-18 Type 1C   Custom   yes
> yes no   22285  0
>
> GHSOVS+NimbusSans-Bold   Type 1C   WinAnsi  yes
> yes no   22286  0
>
> ZVGKDS+C059-RomanType 1C   WinAnsi  yes
> yes no   22287  0
>
>
>
> From this, I extracted the unique values between the first + and the first
> - from each line in the output. Specifically, I obtained the following
> unique font names:
>
>
>
> Bravura, C059, Emmentaler, CMR10, CMR6, CMR7, CMSY10, DejaVuSerif,
> NimbusMonoPS, NimbusSans, TexGyreCursor, TexGyreTermes, f-0-0
>
>
>
> Could you kindly provide some guidance on whether these fonts are free for
> commercial use, given that I intend to sell the book on a platform like
> Amazon KDP? If any of these fonts require licensing for such use, please
> let me know what steps I should take.
>
>
>
> Lastly, I encountered an unfamiliar font name in my extraction, which
> appears as f-0-0. I’m unsure what this font represents or how it ended up
> in my PDF. If anyone has insights into this, I’d appreciate your help.
>
>
>
> Thank you for your time and support!
>
>
>
> Best regards,
>
> P
>


How to Change the Stem Style for Half Notes in TabStaff to Use Single Stems Instead of Double Stems?

2024-11-08 Thread Peter X
Hello LilyPond Community,

I hope this message finds you well.

I’ve been working on a project using LilyPond’s TabStaff, and I’ve
encountered an issue regarding how half notes are displayed when stems are
enabled. Currently, when using \tabFullNotation to show stems on the
tablature, the half notes are rendered with double stems (two vertical
lines), which is different from the traditional shorter single stem used in
standard notation.

My question is: Is there a setting or option in LilyPond that allows for
changing the default behavior of half note stems in TabStaff? Specifically,
I’m looking for a way to switch the current double-stem display to the more
traditional single, shorter stem that’s commonly used for half notes.

I have tried adjusting various \override settings related to Stem objects,
but so far, I haven’t found a straightforward way to achieve this. If
anyone has experience with this or knows of a solution, I would greatly
appreciate your guidance.

Thank you in advance for your help!

Best regards,
Peter

This is an example from the official documentation.

symbols = {
\time 3/4
c4-.^"Allegro" d( e)
f4-.\f g a^\fermata
\mark \default
c8_.\<\( c16 c~ 2\!
c'2.\prall\)
}

\score {
% \new TabStaff {
% \tabFullNotation
% \symbols
% }

<<
\new Staff { \clef "G_8" \symbols }
\new TabStaff { \tabFullNotation \symbols }
>>
}


[image: image.png]


Re: How to Change the Stem Style for Half Notes in TabStaff to Use Single Stems Instead of Double Stems?

2024-11-09 Thread Peter X
Hello, Werner,

The issue is opened like this:

https://gitlab.com/lilypond/lilypond/-/issues/6763

On Sat, Nov 9, 2024 at 12:53 PM Werner LEMBERG  wrote:

>
> > Thank you for your response. Below are two examples that illustrate
> > the more traditional way of displaying half note stems [...]
>
> Thanks – so please open an issue :-)
>
>
> Werner
>


Tie not rendering properly across volta alternatives

2025-03-23 Thread Peter X
Hi everyone,

I’ve encountered what appears to be a rendering issue with ties when using
\repeat volta and \alternative endings in LilyPond 2.24.4.

Below is a minimal example that illustrates two problems:

lilypond```

\version "2.24.4"

\fixed c' {
  \time 4/4

  r2. g8 a8 ~ |
  % ✅ This tie displays correctly — connects to the start of the repeat.

  \repeat volta 2 {

a2. c8 d8 ~ | % ✅ This tie displays correctly

\alternative {

  \volta 1 {
d2. b8 a8 ~ \bar ":|."
% ❌ This tie is not displayed.
% It should visually tie back to the start of the repeat block
(i.e., the 'a2.').
  }

  \volta 2 {
d1 |
% ❌ Missing tie from 'd8~' before the alternatives.
  }

}
c1 \bar "|."
  }
}

```

Issue 1: In \volta 1, the tie from a8~ is not shown, even though logically
it should connect to the repeated section’s first note (a2.).

Issue 2: In \volta 2, the d1 is not tied from the d8~ in the bar before the
\alternative, even though musically it is expected.

I understand that some of these rendering behaviors might be due to how
LilyPond internally splits alternatives or handles context. But is there
any way to force these ties to appear visually without resorting to hidden
notes or hacks?

Thanks in advance!

Best regards,
Pt


Re: Tie not rendering properly across volta alternatives

2025-03-24 Thread Peter X
Thank you mark.

On Mon, Mar 24, 2025 at 11:45 AM  wrote:

> Peter X,
>
>
>
> That is a tweak somewhat beyond my ken.
>
> Someone with more knowledge of the codes can help with this.
>
>
>
> Mark
>
>
>
> *From:* Peter X 
> *Sent:* Monday, March 24, 2025 10:40 AM
> *To:* carsonm...@ca.rr.com
> *Cc:* lilypond-user@gnu.org
> *Subject:* Re: Tie not rendering properly across volta alternatives
>
>
>
> Thank you, Mark.
>
> I have a follow-up question:
> In a situation where there’s a \break, the tie created by \laissezVibrer
> in bar 3 appears too short.
> Is there a way to manually extend or adjust its length?
>
>
>
>
>
> ```
>
> \version "2.24.4"
>
>
>
>
>
> \fixed c' {
>
>
>
>   \time 4/4
>
>
>
>   r2. g8 a8 ~ | \break
>
>
>
>   \repeat volta 2 {
>
>
>
> a2. c8 c'8 ~ | \break
>
>
>
> \alternative {
>
>
>
>   \volta 1 {
>
>
>
> c'2. b8 a8\laissezVibrer \bar ":|."
>
>
>
>   }
>
>
>
>   \volta 2 {
>
> \break
>
> c'1\repeatTie |
>
>
>
>   }
>
>
>
> }
>
>
>
> c1 \bar "|."
>
>
>
>   }
>
>
>
> }
>
>
>
> ```
>
>
>
> On Sun, Mar 23, 2025 at 4:49 PM  wrote:
>
> Peter X,
>
>
>
> Note use of \laissezVabrer and \reateTie
>
>
>
> Mark
>
>
>
> \version "2.24.4"
>
>
>
> \fixed c' {
>
>   \time 4/4
>
>   r2. g8 a8 ~ |
>
>   \repeat volta 2 {
>
> a2. c8 d8 ~ |
>
> \alternative {
>
>   \volta 1 {
>
> d2. b8 a8\laissezVibrer \bar ":|."
>
>   }
>
>   \volta 2 {
>
> d1\repeatTie |
>
>   }
>
> }
>
> c1 \bar "|."
>
>   }
>
> }
>
>
>
> *From:* lilypond-user-bounces+carsonmark=ca.rr@gnu.org
>  *On Behalf Of *Peter
> X
> *Sent:* Sunday, March 23, 2025 4:01 PM
> *To:* lilypond-user@gnu.org
> *Subject:* Tie not rendering properly across volta alternatives
>
>
>
> Hi everyone,
>
> I’ve encountered what appears to be a rendering issue with ties when using
> \repeat volta and \alternative endings in LilyPond 2.24.4.
>
> Below is a minimal example that illustrates two problems:
>
>
> lilypond```
>
>
> \version "2.24.4"
>
> \fixed c' {
>   \time 4/4
>
>   r2. g8 a8 ~ |
>   % ✅ This tie displays correctly — connects to the start of the repeat.
>
>   \repeat volta 2 {
>
> a2. c8 d8 ~ | % ✅ This tie displays correctly
>
> \alternative {
>
>   \volta 1 {
> d2. b8 a8 ~ \bar ":|."
> % ❌ This tie is not displayed.
> % It should visually tie back to the start of the repeat block
> (i.e., the 'a2.').
>   }
>
>   \volta 2 {
> d1 |
> % ❌ Missing tie from 'd8~' before the alternatives.
>   }
>
> }
> c1 \bar "|."
>   }
> }
>
>
>
> ```
>
> Issue 1: In \volta 1, the tie from a8~ is not shown, even though logically
> it should connect to the repeated section’s first note (a2.).
>
> Issue 2: In \volta 2, the d1 is not tied from the d8~ in the bar before
> the \alternative, even though musically it is expected.
>
> I understand that some of these rendering behaviors might be due to how
> LilyPond internally splits alternatives or handles context. But is there
> any way to force these ties to appear visually without resorting to hidden
> notes or hacks?
>
> Thanks in advance!
>
> Best regards,
> Pt
>
>


Re: Tie not rendering properly across volta alternatives

2025-03-24 Thread Peter X
Thank you, Mark.

I have a follow-up question:
In a situation where there’s a \break, the tie created by \laissezVibrer in
bar 3 appears too short.
Is there a way to manually extend or adjust its length?

[image: image.png]

```
\version "2.24.4"


\fixed c' {

\time 4/4

r2. g8 a8 ~ | \break

\repeat volta 2 {

a2. c8 c'8 ~ | \break

\alternative {

\volta 1 {

c'2. b8 a8\laissezVibrer \bar ":|."

}

\volta 2 {
\break
c'1\repeatTie |

}

}

c1 \bar "|."


}

}

```

On Sun, Mar 23, 2025 at 4:49 PM  wrote:

> Peter X,
>
>
>
> Note use of \laissezVabrer and \reateTie
>
>
>
> Mark
>
>
>
> \version "2.24.4"
>
>
>
> \fixed c' {
>
>   \time 4/4
>
>   r2. g8 a8 ~ |
>
>   \repeat volta 2 {
>
> a2. c8 d8 ~ |
>
> \alternative {
>
>   \volta 1 {
>
> d2. b8 a8\laissezVibrer \bar ":|."
>
>   }
>
>   \volta 2 {
>
> d1\repeatTie |
>
>   }
>
> }
>
> c1 \bar "|."
>
>   }
>
> }
>
>
>
> *From:* lilypond-user-bounces+carsonmark=ca.rr@gnu.org
>  *On Behalf Of *Peter
> X
> *Sent:* Sunday, March 23, 2025 4:01 PM
> *To:* lilypond-user@gnu.org
> *Subject:* Tie not rendering properly across volta alternatives
>
>
>
> Hi everyone,
>
> I’ve encountered what appears to be a rendering issue with ties when using
> \repeat volta and \alternative endings in LilyPond 2.24.4.
>
> Below is a minimal example that illustrates two problems:
>
>
> lilypond```
>
>
> \version "2.24.4"
>
> \fixed c' {
>   \time 4/4
>
>   r2. g8 a8 ~ |
>   % ✅ This tie displays correctly — connects to the start of the repeat.
>
>   \repeat volta 2 {
>
> a2. c8 d8 ~ | % ✅ This tie displays correctly
>
> \alternative {
>
>   \volta 1 {
> d2. b8 a8 ~ \bar ":|."
> % ❌ This tie is not displayed.
> % It should visually tie back to the start of the repeat block
> (i.e., the 'a2.').
>   }
>
>   \volta 2 {
> d1 |
> % ❌ Missing tie from 'd8~' before the alternatives.
>   }
>
> }
> c1 \bar "|."
>   }
> }
>
>
>
> ```
>
> Issue 1: In \volta 1, the tie from a8~ is not shown, even though logically
> it should connect to the repeated section’s first note (a2.).
>
> Issue 2: In \volta 2, the d1 is not tied from the d8~ in the bar before
> the \alternative, even though musically it is expected.
>
> I understand that some of these rendering behaviors might be due to how
> LilyPond internally splits alternatives or handles context. But is there
> any way to force these ties to appear visually without resorting to hidden
> notes or hacks?
>
> Thanks in advance!
>
> Best regards,
> Pt
>


Re: Tie not rendering properly across volta alternatives

2025-04-01 Thread Peter X
Thank you all, Mark, Knute, and Robin. These tips are helpful. Now I've got
the perfect solution.

On Mon, Mar 24, 2025 at 2:59 PM Robin Bannister  wrote:

>   Peter X wrote:
>
> > I have a follow-up question:
> > In a situation where there’s a \break, the tie created by \laissezVibrer
> in
> > bar 3 appears too short.
> > Is there a way to manually extend or adjust its length?
>
> You could try out this ancient hack:  xlv in the attached code.
> Change the 15 to get a different length.
>
>
> Cheers,
> Robin
>


Inquiry: Adding Lyrics Below ChordGrid Without Melody Staves

2025-04-13 Thread Peter X
Dear LilyPond Team,

First of all, thank you for your remarkable work on LilyPond. The ChordGrid
functionality is a brilliant tool for visually representing chord
progressions with clarity and precision, especially in lead-sheet formats
popular in jazz and contemporary music.

I’m writing to ask for advice or suggestions on a specific use case:
I would like to add lyrics underneath a ChordGrid, but without showing the
melody staff. The goal is to produce a clean, performance-friendly layout
that aligns chords with lyrics in a visually structured way—something akin
to a simplified lead sheet, where rhythm is suggested through chord
placement (as in chord grids), and lyrics are clearly readable below.

While directly annotating chords over lyrics (e.g., using \markup or inline
text) is a common workaround, I find this approach insufficient in many
cases:
• The lack of rhythmic guidance makes it hard for performers to follow,
• The visual clutter of inline chord symbols can reduce legibility,
• And, importantly, chord grids offer excellent visual alignment of
harmonic structure, which I’d like to preserve.

However, the current ChordGrid context does not seem to support lyrics
natively. Meanwhile, including a melody staff just for the sake of lyrics
brings a different issue:
For many modern songs, especially pop or folk songs, each repetition of a
verse or chorus may include slight melodic variations. From an editorial
and clarity perspective, I would rather omit the melody entirely than
present an inaccurate or overly complex representation.

Therefore, my question is:

What would be the best approach to attach lyrics to a ChordGrid structure
in LilyPond, without including the melody line?

Is there an established method or workaround (e.g., creating a parallel
lyrics context, using NullVoice, or overlaying staves) that allows lyrics
to align with the chord grid rhythmically and typographically?

Any pointers or examples from the community would be greatly appreciated.
I’d be happy to contribute a working snippet or documentation example back
if a practical solution can be implemented.

Thank you again for your time and dedication.

Warm regards,
Peter


Aligning Final Partial Line in LilyPond (Melody Layout Inquiry)

2025-04-17 Thread Peter X
Dear LilyPond Community,

I’m currently working on a simple melody layout using a single-staff score,
and I’m quite happy with how the system breaks look overall. However, I’m
trying to improve the visual balance of the final line.

As shown in the attached example, I would like the final line—containing
only two measures—to visually align with the positions of the first two
bars from the previous systems. This would result in a more balanced and
elegant appearance across the three systems.

The most intuitive solution I can think of is to “declare” a fixed number
of bars in the final line (e.g., four), even if only two bars are musically
present. The remaining space would then be automatically distributed to
preserve alignment.

My question is:
Is there a simple and elegant way in LilyPond to achieve this kind of
visual alignment?
Can I manually or programmatically control how many measures a line
“pretends” to contain for layout purposes, even if only part of it is
filled?

Any suggestions, best practices, or pointers to relevant documentation
would be greatly appreciated!

Warm regards,
Peter

[image: image.png]
```
\version "2.24.4"

#(set-global-staff-size 13)

\header {
title = "Demo Melody"

}

\paper {
line-width = 150\mm
ragged-last = ##t
}

\layout {
indent = 0.0
\context {
\Score
\override SpacingSpanner.uniform-stretching = ##t
}
}

melody = {
\key c \major
\time 3/4

\tempo 4 = 100


| a4 g c'
| b2 g8. g16
| a4 g d'
| c'2 g8. g16 \break
| g'4 e' c'
| b a f'8. f'16
| e'4 c' e'
| d'2 g8. g16 \break
| e'4 c' d'
| c'2
\bar "|."
}

\score {
\new Staff {
\melody
}
}


```


Re: How to place a custom copyright tagline at the bottom of the first page only?

2025-04-26 Thread Peter X
Hi David and Павел,

Thank you so much for your helpful replies!

As both of you mentioned, using the copyright field in the \header block
indeed works perfectly in standalone LilyPond scores — it places the text
nicely at the bottom of the first page, just as expected. I also tried the
method using oddFooterMarkup with a conditional on \on-first-page, and that
worked as well. Much appreciated.

However, I noticed a new issue when embedding the score using \lilypondfile
inside a LaTeX document (as part of a book I’m compiling). In this setup,
both the copyright and tagline fields completely disappear, even though
they are correctly rendered when compiling the score on its own.

I was wondering:
– Is this behavior expected when embedding LilyPond with LaTeX (e.g., via
lilypond-book or lytex)?
– Or could I have possibly misconfigured something in my file?

I’m aware that LilyPond defers headers and footers to LaTeX in such
contexts, but I’d love to know if there’s an officially recommended way to
preserve the copyright footer even in embedded use.

Thanks again for your time and generous advice!

Best regards,
Peter X

On Sat, Apr 26, 2025 at 3:16 PM Павел  wrote:

> David Poon is completely right, but you can write custom marcaps for
> footers and headers:
>
> \paper {
>   line-width = 150\mm
>   oddFooterMarkup = \markup { \if \on-first-page-of-part \column {
> \fill-line { \fromproperty #'header:tagline }
>   } }
> }
>
> More examples can be found in the file titling-init.ly (on linux, it is
> in /usr/share/lilypond/2.24.4/ly).
>
> В Сб, 26 апр 2025 в 14:39:02 -07:00:00, David Poon 
> написал:
>
> I believe using 'copyright' instead of 'tagline' in the header works as
> desired by default: print only on the first page (whereas 'tagline' is last
> page only).
>
> -David
>
> On Sat, 26 Apr 2025 at 14:23,  wrote:
>
>> Peter,
>>
>>
>>
>> Look at the last entry on
>>
>>
>> https://lilypond.org/doc/v2.24/Documentation/notation/custom-titles-headers-and-footers#custom-layout-for-titles
>>
>>
>>
>> Mark
>>
>>
>>
>> *From:* lilypond-user-bounces+carsonmark=ca.rr@gnu.org
>>  *On Behalf Of *Peter
>> X
>> *Sent:* Saturday, April 26, 2025 1:47 PM
>> *To:* Lilypond-User Mailing List 
>> *Subject:* How to place a custom copyright tagline at the bottom of the
>> first page only?
>>
>>
>>
>> Dear LilyPond community,
>>
>> I’m working on an arrangement that requires a copyright notice (tagline)
>> to appear at the bottom of the first page only. The text should not appear
>> at the end of the score, nor should it appear on every page.
>>
>> I’ve created a minimal example using \tagline in the \header block,
>> hoping it would place the text at the bottom of the first page. Here’s the
>> minimal example I’m working with:
>>
>>
>>
>> \version "2.24.4"
>>
>>
>>
>> \paper {
>>
>>   line-width = 150\mm
>>
>>
>>
>> }
>>
>>
>>
>> \header {
>>
>>   title = "Placeholder Title"
>>
>>   composer = "Words and Music by: Firstname Lastname"
>>
>>   tagline = "© Placeholder Publishing Info, Placeholder Rights
>> Administered. All Rights Reserved. International Copyright Secured. Used by
>> Permission. Placeholder Placeholder Placeholder."
>>
>> }
>>
>>
>>
>> music = \repeat unfold 100 { c'4 c'4 c'4 c'4 | }
>>
>>
>>
>> \score {
>>
>>   \new Staff {
>>
>> \clef treble
>>
>> \key c \major
>>
>> \time 4/4
>>
>> \music
>>
>>   }
>>
>>
>>
>> }
>>
>>
>> As expected, the tagline ends up at the bottom of the last page.
>>
>> Any suggestions or workarounds on how to force this copyright line to
>> appear at the bottom of the first page only would be greatly appreciated!
>>
>> Best regards,
>>
>> Peter
>>
>


test_header_copyright.ly
Description: Binary data


Re: Inquiry: Adding Lyrics Below ChordGrid Without Melody Staves

2025-04-13 Thread Peter X
Thank you so much, Knute, for this excellent suggestion!

Using Devnull to host the melody and align lyrics without displaying the
actual notes is exactly the kind of solution I was hoping for. This setup
gives me the clean, rhythm-aware chord grid layout I wanted, while still
supporting accurate lyric alignment.

For now, this works perfectly for my needs. I may explore a few additional
ideas as I continue working on this format—if any further questions or
requirements come up during the process, I’ll be sure to follow up.

Thanks again for your help and generosity in sharing this solution!

On Sun, Apr 13, 2025 at 7:21 AM Knute Snortum  wrote:

> On Sun, Apr 13, 2025 at 4:22 AM Peter X  wrote:
>
>> Dear LilyPond Team,
>>
>> First of all, thank you for your remarkable work on LilyPond. The
>> ChordGrid functionality is a brilliant tool for visually representing chord
>> progressions with clarity and precision, especially in lead-sheet formats
>> popular in jazz and contemporary music.
>>
>> I’m writing to ask for advice or suggestions on a specific use case:
>> I would like to add lyrics underneath a ChordGrid, but without showing
>> the melody staff. The goal is to produce a clean, performance-friendly
>> layout that aligns chords with lyrics in a visually structured
>> way—something akin to a simplified lead sheet, where rhythm is suggested
>> through chord placement (as in chord grids), and lyrics are clearly
>> readable below.
>>
>
> What about using a ChordGridScore and and Devnull for the melody?
>
> %%%
> \version "2.24.4"
>
> melody = \relative c' {
>   \time 4/4
>   a4 b c d | a b c2 |
> }
>
> text = \lyricmode {
>   Aaa Bee Cee Dee | Aaa Bee Cee |
> }
>
> harmonies = \chordmode {
>   a2 c | g c |
> }
>
> \new ChordGridScore {
>   <<
> \new ChordGrid {
>   \set chordChanges = ##t
>   \harmonies
> }
> \new Devnull = "one" { \melody }
> \new Lyrics \lyricsto "one" \text
>   >>
> }
> %%%
>
>
> --
> Knute Snortum
>
>


Re: Help Needed: Aligning Bar Widths in Multi-Measure Systems

2025-05-06 Thread Peter X
Hi Kieren,


Thanks so much for your reply and the detailed code snippet!


I gave it a try — it definitely helps organize things more cleanly — but
I’m still not quite getting the effect I’m hoping for. I’ve attached a
screenshot of the current output.
[image: image.png]


What I’m aiming for is this:


On each system, *every measure should have exactly the same width*, so that
the total available line width (after excluding things like clefs and
key/time signatures) is *evenly divided by the number of measures* on that
line.


So for example, if a system contains two bars, the spacing of the music
should be stretched (or compressed) so that those two bars are exactly
equal in width and together span the line evenly.


Any idea how to enforce that more strictly?


Thanks again for your help!


Best regards,

Peter

On Sun, May 4, 2025 at 3:42 AM Kieren MacMillan 
wrote:

> Hi Peter,
>
> > I'm trying to produce a clean and aligned layout in LilyPond where each
> line contains exactly two measures, and the measure widths on each line are
> exactly equal. Additionally, I want the final (fifth) bar — which is a
> short bar containing 16 sixteenth notes — to have the same width as the
> **first bar** in previous lines.
>
> Here’s a starting point for you:
>
> %%%  SNIPPET BEGINS  %%%
> \version "2.24.2"
>
> \paper {
>  indent = 0
> }
>
> \layout {
>  \context {
>\Score
>\omit TimeSignature
>proportionalNotationDuration = #1/16
>\override SpacingSpanner.strict-note-spacing = ##t
>\override SpacingSpanner.uniform-stretching = ##t
>\override NoteHead.extra-spacing-width = #'(0 . 0)
>  }
>  \context {
>\Staff
>\remove Separating_line_group_engraver
>  }
> }
>
> theMusic = \relative c' {
>  \time 4/4
>  c1 | % Bar 1
>  c2 c2 | \break % Bar 2
>  c4 c4 c4 c4 | % Bar 3
>  c8 c8 c8 c8 c8 c8 c8 c8 | \break % Bar 4
>  c16 c16 c16 c16 c16 c16 c16 c16
>  c16 c16 c16 c16 c16 c16 c16 c16 | % Bar 5
>
>  \stopStaff
>  \hideNotes \repeat unfold 16 c16
> }
>
> \score {
>  \new Staff \theMusic
> }
> %%%  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.
>
>


Help Request: Overlaying Custom Text (e.g., Roman Numerals) Near Chord Names

2025-04-24 Thread Peter X
Dear LilyPond Community,

I hope you’re all doing well! I’m currently working on an educational lead
sheet project using LilyPond, and I’d like to ask for your advice on a
formatting challenge involving the ChordNames context.

⸻

🎯 The Goal

I’d like to overlay custom Roman numeral-style text labels (such as I, IV,
V) directly near chord names, in a way that visually represents functional
harmony (e.g., C = I, G = V in C major).
• These labels are manually defined; they don’t need to be automatically
parsed from chords.
• The goal is flexible overlaying, meaning these text labels could
potentially become any custom text, not just Roman numerals.

⸻

🧩 The Key Challenge
• I want to insert each label directly in sync with the chord symbol.
• Ideally, I’d like to overlay a semi-transparent, large, colored text
(e.g., in red at 50% opacity).
• The chord symbol should remain fully visible and untouched, and the
overlay should not shift or interfere with chord spacing.
• I want to avoid placing text manually on notes (e.g., using ^\markup on
melody pitches), as that’s impractical for longer lead sheets.
• I’d prefer a solution where I can write something like:

g1^\degreeMarkup "V"

in the context of:

theChords = \chordmode {
  c1  % C major
  g1 ^\degreeMarkup "V"   % G major
}

or define a function that extends or customizes ChordNames behavior.

⸻

🧪 Minimal Example

\version "2.24.4"

theChords = \chordmode {
  c1  % C major
  g1  % G major
}

melody = \relative c' {
  1
  1
}

\score {
  <<
\new ChordNames {
  \theChords
  % Ideally: add "I" and "V" labels over/next to the C and G chords
here.
  % I hope to overlay these in a semi-transparent large red font.
}

\new Staff {
  \clef treble
  \key c \major
  \time 4/4
  \melody
}
  >>

  \layout {
indent = 0
  }
}



⸻

❓ Question for the Community

Is there a clean way to overlay a large custom text markup (e.g., “I”, “V”,
or any label) near or above the chords in ChordNames, while preserving
spacing and avoiding manual positioning on notes?

Thanks so much in advance!

Warm regards,
Peter


test_ChordName_markups.ly
Description: Binary data


Re: Help Request: Overlaying Custom Text (e.g., Roman Numerals) Near Chord Names

2025-04-25 Thread Peter X
Wow, this is absolutely perfect — exactly what I envisioned! Not only is
your technical solution brilliant, but you also understood my needs so
quickly and clearly. Truly impressive — thank you so much!

Finally I chose lightpink as the color, which matches my taste perfectly.

[image: image.png]

On Fri, Apr 25, 2025 at 11:09 AM Kieren MacMillan <
kie...@kierenmacmillan.info> wrote:

> Hi Peter,
>
> > Thank you so much for your response and the example code—it works
> beautifully and already gets very close to what I envisioned. I really
> appreciate the clarity and elegance of your approach using a custom
> Lyrics-based context. That was a creative idea I hadn’t thought of!
>
> I pride myself on thinking outside the box…  :)
>
> > I’ve been trying to reproduce this effect using your method, tweaking
> position and transparency, but I haven’t quite managed to achieve a true
> overlay that floats behind the chords and melody without affecting spacing.
> Do you think it’s feasible to achieve such a watermark-like degree
> indication in LilyPond? Ideally, it would:
> > • Appear very large and semi-transparent;
> > • Overlay directly beneath or behind the chord symbol;
> > • Not affect vertical spacing or push any other elements out of place;
>
> “With Lilypond, all things are possible.”
>
> %%%  SNIPPET BEGINS  %%%
> \version "2.24.4"
> \language "english"
>
> % Define a new context for the roman numerals
> \layout {
>   ragged-right = ##f
>   \context {
> \Lyrics
> \name RN
> \remove Axis_group_engraver
> \override LyricText.extra-spacing-width = #empty-interval
> \override LyricText.layer = -2
> \override LyricText.font-size = #16
> \override LyricText.font-family = #'sans
> \override LyricText.font-series = #'bold
> \override LyricText.color = #(x11-color ‘mistyrose)
> \override LyricText.self-alignment-X = #LEFT
> \override LyricText.X-offset = #-1
> \override LyricText.Y-offset = #-4.5
>   }
>   \context {
> \Score
> \accepts RN
>   }
> }
>
> % Define the chord progression
> theChords = \chordmode {
>   f1
>   d1:m
>   g1:m
>   c1
> }
>
> % Write the analysis as lyrics (with appropriate durations)
> theAnalysis = \lyricmode {
>   "1"1
>   "6"1
>   "2"1
>   "5"1
> }
>
> % Define a simple melody to go with the chords
> melody =  {
>   c'4 8 8 ~ 8 g'4.
>   f'2. a4
>   bf4 8 8 ~ 8 a'4.
>   g'2 e'4 f'
> }
>
> \score {
>   <<
> \new RN \theAnalysis
> \new ChordNames \theChords
> % Melody staff
> \new Staff {
>   \clef treble
>   \key f \major
>   \time 4/4
>   \melody
> }
>   >>
> }
> %%%  SNIPPET ENDS  %%%
>
> Hope that helps point you in the right direction!
> 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: How to print MIDI number of each pitch from a custom engraver?

2025-04-25 Thread Peter X
Hi Lucas,

You were absolutely right – your method worked perfectly! I made a mistake
on my end earlier, but now it’s running just as expected. Thanks so much
for your clear and effective solution!

I might follow up soon with a related question – this time about how to
display those MIDI values visually above each note, with some formatting.
If you happen to be around, I’d love to hear your thoughts!

Really appreciate your help! 🙏

Best,
Peter

Now, the result is:

Parsing...
Interpreting music...- Found pitch c1 → MIDI: 60
- Found pitch d1 → MIDI: 62
- Found pitch e1 → MIDI: 64
- Found pitch f1 → MIDI: 65
- Found pitch g1 → MIDI: 67
- Found pitch a1 → MIDI: 69
- Found pitch g1 → MIDI: 67

[image: image.png]

On Wed, Apr 23, 2025 at 2:38 PM Lukas-Fabian Moser  wrote:

> Hi Peter,
>
> Am 23.04.25 um 05:41 schrieb Peter X:
> > I’m trying to figure out how to print the MIDI number of each note in
> > a score using a Scheme engraver — for example, I’d like c' to print as
> > 60, d' as 62, etc., during compilation.
> >
> > Here is a simplified example of the kind of input I’m working with:
> >
> > \version "2.24.4"
> >
> > \score {
> >   \new Staff {
> > \new Voice {
> >   \clef treble \key c \major \time 4/4
> >   c'4 d'4 e'4 f'4 |
> >   g'4 a'4 g'2 |
> > }
> >   }
> > }
> >
> > My goal is: When this file compiles, each note’s MIDI number is
> > printed to the terminal.
> >
> > 🎵 Found pitch c' → MIDI: 60
> > 🎵 Found pitch d' → MIDI: 62
>
> This is actually a nice example for a really simple engraver.
>
> \version "2.24"
>
> MIDI_pitch_engraver =
> #(lambda (context)
> (make-engraver
>  (listeners
>   ((note-event engraver event)
>(let ((pitch (ly:event-property event 'pitch)))
>  (format #t "- Found pitch ~a~a → MIDI: ~a\n"
>  (note-name->string pitch)
>  (1+ (ly:pitch-octave pitch))
>  (+ 60 (ly:pitch-semitones pitch
>
> \layout {
>\context {
>  \Voice
>  \consists #MIDI_pitch_engraver
>}
> }
>
> \score {
>\new Staff {
>  \new Voice {
>\clef treble
>\key c \major
>\time 4/4
>c'4 d'4 e'4 f'4 |
>g'4 a'4 g'2 |
>  }
>}
> }
>
> Lukas
>
>


Re: How to print MIDI number of each pitch from a custom engraver?

2025-04-25 Thread Peter X
Hi Michael,

Wow – what a clever approach! Using NoteNames with a custom
noteNameFunction is absolutely brilliant. I love how elegant and
lightweight your solution is. It works perfectly and is exactly the kind of
creative thinking I admire. Thank you so much for sharing it!

Warmly,
Peter

Parsing...
Interpreting music...
🎵 Found Pitch: c3 → MIDI: 60
🎵 Found Pitch: d3 → MIDI: 62
🎵 Found Pitch: e3 → MIDI: 64
🎵 Found Pitch: f3 → MIDI: 65
🎵 Found Pitch: g3 → MIDI: 67
🎵 Found Pitch: a3 → MIDI: 69
🎵 Found Pitch: g3 → MIDI: 67


On Wed, Apr 23, 2025 at 9:52 AM Michael Werner  wrote:

> Hi Peter,
>
> On Tue, Apr 22, 2025 at 11:42 PM Peter X  wrote:
>
>> I’m trying to figure out how to print the MIDI number of each note in a
>> score using a Scheme engraver — for example, I’d like c' to print as 60, d'
>> as 62, etc., during compilation.
>>
> %< snip >%
>
>> What is the proper or recommended way to extract and print the MIDI
>> number of each note in a LilyPond score?
>
>
>> I’d really appreciate any working examples or pointers. Thank you very
>> much!
>
>
> Engravers are something I never have been able to figure out - still
> working my way through learning Scheme. However, I was able to put together
> some code that runs in a NoteName context that comes pretty close to what
> you asked for. Whether it's proper or recommended I doubt. But it works ...
> more or less. The output is:
>
>
> Starting lilypond 2.24.4 [test_midi_numberV2.ly]...
>
> Processing `/home/michael/Downloads/test_midi_numberV2.ly'
>
> Parsing...
>
> Interpreting music...
>
> 🎵 Found Pitch: c3 → MIDI: 60
>
> 🎵 Found Pitch: d3 → MIDI: 62
>
> 🎵 Found Pitch: e3 → MIDI: 64
>
> 🎵 Found Pitch: f3 → MIDI: 65
>
> 🎵 Found Pitch: g3 → MIDI: 67
>
> 🎵 Found Pitch: a3 → MIDI: 69
>
> 🎵 Found Pitch: g3 → MIDI: 67
>
> If that's close enough, then the code is:
>
> \version "2.24.4"
>
> simplePitchDebugTwo =
> #(lambda (pitch ctx)
>(ly:message "🎵 Found Pitch: ~a~a → MIDI: ~a"
>(note-name->string pitch)
>; Next line sets middle C to C3 - change 3 to 4 to get C4
> as middle C
>(+ (ly:pitch-octave pitch) 3)
>(+ (ly:pitch-semitones pitch) 60))
>; LilyPond complains about missing markup list without the next line
>(markup #:null))
>
>
> music = {
>   \clef treble
>   \key c \major
>   \time 4/4
>   c'4 d'4 e'4 f'4 |
>   g'4 a'4 g'2 |
> }
>
> \score {
>   \new Staff <<
> \new Voice {
>   \music
> }
> \new NoteNames {
>   \set noteNameFunction = #simplePitchDebugTwo
>   \music
> }
>   >>
> }
>
> Still trying to get my head wrapped around the whole engraver thing. Ah
> well ... someday. Hopefully this'll be close enough to serve for now.
> --
> Michael
>
>


How to automatically display note names above notes (with flexible formatting)?

2025-04-25 Thread Peter X
Hi everyone,

I’d like to display the pitch name (letter + octave number) above each note
in a given music expression — for example:
• C₄ above c'
• G₄ above g'

I can manually do this using markups, like:

c'4^\markup { \raise #2 \concat { "C" \sub "4" } }

But I’m wondering:

Is there a way to define a music function (or engraver) that can
automatically generate this label for each note in a music expression?

Ideally, I’d also like some flexibility — for example:
• The ability to customize the output markup format in the future (e.g.,
adjusting \raise, \concat, \sub, or the font styling).

Here’s a minimal example showing what I do manually right now:


```lilypond

\version "2.24.4"

music = {
  c'4 g'4
}

music_with_noteNames = {
  c'4^\markup { \raise #2 \concat { "C" \sub "4" } }
  g'4^\markup { \raise #2 \concat { "G" \sub "4" } }
}

\score {
  \new Staff {
\clef treble
\key c \major
\time 4/4
% Goal: transform \music into the version below automatically
\music_with_noteNames
  }
}

```
[image: image.png]

Thanks in advance for any help or ideas!

Warm regards,
Peter


How to print MIDI number of each pitch from a custom engraver?

2025-04-22 Thread Peter X
Dear LilyPond community,

I’m trying to figure out how to print the MIDI number of each note in a
score using a Scheme engraver — for example, I’d like c' to print as 60, d'
as 62, etc., during compilation.

Here is a simplified example of the kind of input I’m working with:

\version "2.24.4"

\score {
  \new Staff {
\new Voice {
  \clef treble \key c \major \time 4/4
  c'4 d'4 e'4 f'4 |
  g'4 a'4 g'2 |
}
  }
}

My goal is: When this file compiles, each note’s MIDI number is printed to
the terminal.

🎵 Found pitch c' → MIDI: 60
🎵 Found pitch d' → MIDI: 62
...

⸻

I’ve attempted writing a custom engraver using Scheme (not shown here to
avoid confusion), but even with simplified versions, I consistently get the
following error — even on clean test files:

/opt/homebrew/Cellar/lilypond/2.24.4/share/lilypond/2.24.4/ly/init.ly:65:2:
error: Guile signaled an error for the expression beginning here


⸻

🆘 My question:

What is the proper or recommended way to extract and print the MIDI number
of each note in a LilyPond score?

I’d really appreciate any working examples or pointers. Thank you very much!

Best regards,
Peter


test_midi_number.ly
Description: Binary data


How to place a custom copyright tagline at the bottom of the first page only?

2025-04-26 Thread Peter X
Dear LilyPond community,

I’m working on an arrangement that requires a copyright notice (tagline) to
appear at the bottom of the first page only. The text should not appear at
the end of the score, nor should it appear on every page.

I’ve created a minimal example using \tagline in the \header block, hoping
it would place the text at the bottom of the first page. Here’s the minimal
example I’m working with:

\version "2.24.4"

\paper {
line-width = 150\mm
}

\header {
title = "Placeholder Title"
composer = "Words and Music by: Firstname Lastname"
tagline = "© Placeholder Publishing Info, Placeholder Rights Administered.
All Rights Reserved. International Copyright Secured. Used by Permission.
Placeholder Placeholder Placeholder."
}

music = \repeat unfold 100 { c'4 c'4 c'4 c'4 | }



\score {
\new Staff {
\clef treble
\key c \major
\time 4/4
\music
}

}

As expected, the tagline ends up at the bottom of the last page.

Any suggestions or workarounds on how to force this copyright line to
appear at the bottom of the first page only would be greatly appreciated!

Best regards,
Peter


test_copyright_on_firstpage.ly
Description: Binary data


Help Needed: Aligning Bar Widths in Multi-Measure Systems

2025-05-03 Thread Peter X
Hi everyone,

I'm trying to produce a clean and aligned layout in LilyPond where each
line contains exactly two measures, and the measure widths on each line are
exactly equal. Additionally, I want the final (fifth) bar — which is a
short bar containing 16 sixteenth notes — to have the same width as the
**first bar** in previous lines.

Here is a minimal example to illustrate my goal. Each measure doubles the
number of notes:
- Bar 1: 1 whole note
- Bar 2: 2 half notes
- Bar 3: 4 quarter notes
- Bar 4: 8 eighth notes
- Bar 5: 16 sixteenth notes

I would like to:
1. Ensure every line has **two measures**.
2. Each measure on the same line has **equal width** (regardless of
content).
3. The **fifth bar** (last line, only one measure) should **match the width
of a single measure from the previous lines**, not stretch across the page.

Here is my minimal example:

```lilypond
\version "2.24.2"

\paper {
  indent = 0
}

\layout {
  \context {
\Score
\override SpacingSpanner.uniform-stretching = ##t
  }
}

\score {
  \new Staff {
\time 4/4
\relative c' {
  c1 | % Bar 1
  c2 c2 | \break % Bar 2
  c4 c4 c4 c4 | % Bar 3
  c8 c8 c8 c8 c8 c8 c8 c8 | \break % Bar 4
  c16 c16 c16 c16 c16 c16 c16 c16
  c16 c16 c16 c16 c16 c16 c16 c16 | % Bar 5
}
  }
}
```
[image: image.png]
With this code, bar 5 expands to fill the entire last line. But I want it
to only occupy the same horizontal space as bar 1, keeping the layout
visually consistent.

Does anyone know a way to:
• Lock bar widths on each line to be equal?
• And manually set the final bar’s width to match?

Any suggestions would be greatly appreciated!

Thanks,
Peter


test_equalMeasureWidth.ly
Description: Binary data


How to assign syllables to specific notes when lyrics serve different purposes?

2025-04-21 Thread Peter X
Subject: How to assign syllables to specific notes when melody serves
different purposes?

Dear LilyPond community,

I’m currently working on a piece of music that uses the following structure:

```

\version "2.24.4"

melody = \relative c'' {
\key c \major
\time 4/4
a8 (g8) f4 e d \break
}

lyricsOne = \lyricmode {
I would like to
}

lyricsTwo = \lyricmode {
This_is a pen.
}

\score {
<<
\new Staff {
\new Voice = "mel" {
\melody
}
}

\new Lyrics \lyricsto "mel" \lyricsOne
\new Lyrics \lyricsto "mel" \lyricsTwo
>>
\layout {
ragged-last = ##f
}
}

```
[image: image.png]
My goal is to align the syllables “This is a pen” with the melody notes in
such a way that the word “is” appears directly under the G note, and not
grouped together with “This” under the A note. However, the current
behavior causes “This is” to be combined under the A, which is not what I
intended.

So my question is:

How can I control lyric alignment more precisely when two sets of lyrics
follow different segmentation logic?

I would appreciate any guidance on how to handle this, or if there’s an
idiomatic LilyPond approach to this kind of dual-purpose text.

Thank you in advance for your help and for all the amazing work you do.

Best regards,
Peter


Re: Help Needed: Aligning Bar Widths in Multi-Measure Systems

2025-05-07 Thread Peter X
Hello, Valentin and Kieren

I have tried Valentin's method on my side. It works beautifully.

Thank you guys very much.

On Wed, May 7, 2025 at 2:16 PM Kieren MacMillan 
wrote:

> Hi Peter,
>
> Valentin’s suggestion should help you make it work in v2.24.
>
> That being said…
>
> > Before I go ahead and install v2.25.24, I just wanted to ask a quick
> question about compatibility. Since 2.25.x is still considered unstable, do
> you know if it’s fully backward-compatible with scores written for 2.24.4?
> Specifically:
> > • If I install 2.25.24 but continue to specify \version "2.24.4" at the
> top of most of my files, will those files still compile in a stable and
> predictable way?
> > • Or could running them in 2.25 introduce subtle differences or bugs,
> even if they’re marked as 2.24?
> >
> > If it’s generally safe, I’m happy to install 2.25.24 and just stick to
> declaring 2.24.4 in files where I need stability.
>
> I love having multiple versions of Lilypond installed, and Frescobaldi
> allows me to choose whichever version I want to use at any given time. If
> you’re reasonably computer-savvy, I would recommend downloading and
> installing the newest “unstable” [terrible word! it’s totally useable for
> everyday work] version alongside the latest stable version.
>
> 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: Help Needed: Aligning Bar Widths in Multi-Measure Systems

2025-05-06 Thread Peter X
Hi Kieren,

Thanks again for your detailed response! I agree — your results look
exactly like what I’m aiming for, and it makes sense that version
differences might explain the discrepancy.

Before I go ahead and install v2.25.24, I just wanted to ask a quick
question about compatibility. Since 2.25.x is still considered unstable, do
you know if it’s fully backward-compatible with scores written for 2.24.4?
Specifically:
• If I install 2.25.24 but continue to specify \version "2.24.4" at the top
of most of my files, will those files still compile in a stable and
predictable way?
• Or could running them in 2.25 introduce subtle differences or bugs, even
if they’re marked as 2.24?

If it’s generally safe, I’m happy to install 2.25.24 and just stick to
declaring 2.24.4 in files where I need stability.

Thanks again for your insight!

Best regards,
Peter

On Tue, May 6, 2025 at 11:46 AM Kieren MacMillan <
kie...@kierenmacmillan.info> wrote:

> Hi Peter,
>
> > I gave it a try — it definitely helps organize things more cleanly — but
> I’m still not quite getting the effect I’m hoping for. I’ve attached a
> screenshot of the current output.
> > 
> > What I’m aiming for is this:
> >
> > On each system, every measure should have exactly the same width, so
> that the total available line width (after excluding things like clefs and
> key/time signatures) is evenly divided by the number of measures on that
> line.
> >
> > So for example, if a system contains two bars, the spacing of the music
> should be stretched (or compressed) so that those two bars are exactly
> equal in width and together span the line evenly.
> >
> > Any idea how to enforce that more strictly?
>
> Here’s the output on my end (v2.25.24, which may be the difference?):
>
>
> As you can see, the measures are exactly equal in width, as desired.
>
> Maybe upgrade to 2.25.24 and try it with that? Or perhaps those with more
> knowledge of Lilypond’s magical inner workings can tell you how to obtain
> this output with your earlier version of Lilypond.
>
> Best regards,
> 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.
>
>