Clarification on the GNU Free Documentation License (GFDL) Applicability
## 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
**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
**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
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
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
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
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
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
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
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
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?
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?
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
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
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
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
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
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)
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?
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
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
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
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
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?
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?
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)?
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?
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?
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
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?
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
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
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. > >