top-level `\midi` doesn't work as expected
[2.24.2, 2.25.10] I wonder whether it is expected that this simple input ``` { c' } \midi{} ``` doesn't create a MIDI file. I have to explicitly put everything into a `\score` block to get that. For me, this looks odd, and I couldn't find a hint in the documentation for that behaviour. Werner
Re: lilypond does not generate pdf - new install on mac os sonoma
Essentially you need to downgrade ghostscript a version. Although with the new release announced today I don't know if it will be fixed or not. On Sat, Nov 11, 2023, 5:22 PM Leonardo van der Laat wrote: > I'm having the same problem. > There's already a thread about this: > https://lists.gnu.org/archive/html/lilypond-user/2023-06/msg00135.html > Joshua Armenta posted a solution, something to do with Ghostscript, but I > couldn't make it to work. > > On Sat, Nov 11, 2023 at 5:39 PM Abe Raher wrote: > >> hey folks – with my newly installed lilypond on mac os sonoma, lilypond >> generates midi but no pdfs >> >> i've tested a number of .ly files that successfully generated scores >> previously – none generate pdfs now >> >> and i just tested the simplest template in lilypond's docs ... please >> have a look at the log output and give me a clue! >> >> thanks very much >> >> *** >> >> what i've got: >> >> Mac OS: 14.1.1 (23B81) >> >> % lilypond --version >> >> GNU LilyPond 2.24.2 (running Guile 3.0) >> >> >> >> test file: >> >> >> >> melody = \relative c' { >> \clef treble >> \key c \major >> \time 4/4 >> >> a4 b c d >> } >> >> \score { >> \new Staff \melody >> \layout { } >> \midi { } >> } >> >> >> >> test command: >> >> % lilypond --loglevel=debug template-notes-only.ly >> >> >> *** >> >> >> command output: >> >> >> Log level set to 287 >> GNU LilyPond 2.24.2 (running Guile 3.0) >> >> Relocation >> Absolute file name of LilyPond binary computed from PATH: >> >> PATH=/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin >> argv0=lilypond >> Setting INSTALLER_PREFIX to '/usr/local/Cellar/lilypond/2.24.2' >> Using run-time value for datadir, >> setting it to >> '/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2' >> Using run-time value for libdir, >> setting it to '/usr/local/Cellar/lilypond/2.24.2/lib/lilypond/2.24.2' >> Using run-time value for localedir, >> setting it to '/usr/local/Cellar/lilypond/2.24.2/share/locale' >> Using compile-time value for relocdir, >> setting it to '' >> Prepending '/usr/local/Cellar/lilypond/2.24.2/bin' to PATH >> Setting PATH to >> '/usr/local/Cellar/lilypond/2.24.2/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin' >> Setting GUILE_AUTO_COMPILE to '0' >> Setting GUILE_WARN_DEPRECATED to 'detailed' >> Setting XDG_CACHE_HOME to >> '/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2' >> Setting GC_INITIAL_HEAP_SIZE to '40M' >> Setting GC_NPROCS to '1' >> Setting GC_FREE_SPACE_DIVISOR to '1' >> >> >> Effective prefix: >> '/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2' >> >> PATH="/usr/local/Cellar/lilypond/2.24.2/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin" >> >> >> [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/lily.scm] >> >> [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/lily-library.scm] >> >> [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/output-lib.scm] >> >> [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/markup-macros.scm] >> >> [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/parser-ly-from-scheme.scm] >> >> [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/file-cache.scm] >> >> [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/define-event-classes.scm] >> >> [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/define-music-callbacks.scm] >> >> [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/define-music-types.scm] >> >> [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/define-note-names.scm] >> [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/c++.scm] >> >> [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/chord-entry.scm] >> >> [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/skyline.scm] >> >> [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/markup.scm]
Re: lilypond does not generate pdf - new install on mac os sonoma
I'm having the same problem. There's already a thread about this: https://lists.gnu.org/archive/html/lilypond-user/2023-06/msg00135.html Joshua Armenta posted a solution, something to do with Ghostscript, but I couldn't make it to work. On Sat, Nov 11, 2023 at 5:39 PM Abe Raher wrote: > hey folks – with my newly installed lilypond on mac os sonoma, lilypond > generates midi but no pdfs > > i've tested a number of .ly files that successfully generated scores > previously – none generate pdfs now > > and i just tested the simplest template in lilypond's docs ... please have > a look at the log output and give me a clue! > > thanks very much > > *** > > what i've got: > > Mac OS: 14.1.1 (23B81) > > % lilypond --version > > GNU LilyPond 2.24.2 (running Guile 3.0) > > > > test file: > > > > melody = \relative c' { > \clef treble > \key c \major > \time 4/4 > > a4 b c d > } > > \score { > \new Staff \melody > \layout { } > \midi { } > } > > > > test command: > > % lilypond --loglevel=debug template-notes-only.ly > > > *** > > > command output: > > > Log level set to 287 > GNU LilyPond 2.24.2 (running Guile 3.0) > > Relocation > Absolute file name of LilyPond binary computed from PATH: > > PATH=/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin > argv0=lilypond > Setting INSTALLER_PREFIX to '/usr/local/Cellar/lilypond/2.24.2' > Using run-time value for datadir, > setting it to '/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2' > Using run-time value for libdir, > setting it to '/usr/local/Cellar/lilypond/2.24.2/lib/lilypond/2.24.2' > Using run-time value for localedir, > setting it to '/usr/local/Cellar/lilypond/2.24.2/share/locale' > Using compile-time value for relocdir, > setting it to '' > Prepending '/usr/local/Cellar/lilypond/2.24.2/bin' to PATH > Setting PATH to > '/usr/local/Cellar/lilypond/2.24.2/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin' > Setting GUILE_AUTO_COMPILE to '0' > Setting GUILE_WARN_DEPRECATED to 'detailed' > Setting XDG_CACHE_HOME to > '/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2' > Setting GC_INITIAL_HEAP_SIZE to '40M' > Setting GC_NPROCS to '1' > Setting GC_FREE_SPACE_DIVISOR to '1' > > > Effective prefix: '/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2' > > PATH="/usr/local/Cellar/lilypond/2.24.2/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin" > > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/lily.scm] > > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/lily-library.scm] > > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/output-lib.scm] > > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/markup-macros.scm] > > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/parser-ly-from-scheme.scm] > > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/file-cache.scm] > > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/define-event-classes.scm] > > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/define-music-callbacks.scm] > > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/define-music-types.scm] > > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/define-note-names.scm] > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/c++.scm] > > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/chord-entry.scm] > > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/skyline.scm] > > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/markup.scm] > > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/define-markup-commands.scm] > > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/stencil.scm] > > [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/modal-transforms.scm] > >
lilypond does not generate pdf - new install on mac os sonoma
hey folks – with my newly installed lilypond on mac os sonoma, lilypond generates midi but no pdfs i've tested a number of .ly files that successfully generated scores previously – none generate pdfs now and i just tested the simplest template in lilypond's docs ... please have a look at the log output and give me a clue! thanks very much *** what i've got: Mac OS: 14.1.1 (23B81) % lilypond --version GNU LilyPond 2.24.2 (running Guile 3.0) test file: melody = \relative c' { \clef treble \key c \major \time 4/4 a4 b c d } \score { \new Staff \melody \layout { } \midi { } } test command: % lilypond --loglevel=debug template-notes-only.ly *** command output: Log level set to 287 GNU LilyPond 2.24.2 (running Guile 3.0) Relocation Absolute file name of LilyPond binary computed from PATH: PATH=/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin argv0=lilypond Setting INSTALLER_PREFIX to '/usr/local/Cellar/lilypond/2.24.2' Using run-time value for datadir, setting it to '/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2' Using run-time value for libdir, setting it to '/usr/local/Cellar/lilypond/2.24.2/lib/lilypond/2.24.2' Using run-time value for localedir, setting it to '/usr/local/Cellar/lilypond/2.24.2/share/locale' Using compile-time value for relocdir, setting it to '' Prepending '/usr/local/Cellar/lilypond/2.24.2/bin' to PATH Setting PATH to '/usr/local/Cellar/lilypond/2.24.2/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin' Setting GUILE_AUTO_COMPILE to '0' Setting GUILE_WARN_DEPRECATED to 'detailed' Setting XDG_CACHE_HOME to '/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2' Setting GC_INITIAL_HEAP_SIZE to '40M' Setting GC_NPROCS to '1' Setting GC_FREE_SPACE_DIVISOR to '1' Effective prefix: '/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2' PATH="/usr/local/Cellar/lilypond/2.24.2/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin" [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/lily.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/lily-library.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/output-lib.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/markup-macros.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/parser-ly-from-scheme.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/file-cache.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/define-event-classes.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/define-music-callbacks.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/define-music-types.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/define-note-names.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/c++.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/chord-entry.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/skyline.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/markup.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/define-markup-commands.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/stencil.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/modal-transforms.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/chord-ignatzek-names.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/music-functions.scm [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/define-music-display-methods.scm] ] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/part-combiner.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/autochange.scm] [/usr/local/Cellar/lilypond/2.24.2/share/lilypond/2.24.2/scm/lily/define-music-properties.scm]
Re: Is there a simple way to append markup to a chordname in chordmode?
On Sat, Nov 11, 2023 at 2:48 PM Kevin Cole wrote: > > I am transcribing a score that has alternate guitar chords listed for > capo'ing. For example, > > F(C) Bb(F)Am(Em) > > I would like to use F. Bb and Am as the "real" chords and append "(C)", "(F)" > and "(Em)" as text. I'm hoping to avoid attaching "F(C)" etc. as arbitrary > text, to notes in the melody, but instead find some way to attach the > arbitrary text to the chord name without "disturbing the nature" of it being > a chord. Also, in a few locations the chords are preceded by asterisks referring to footnotes -- though I'm much less concerned about those. For example: *Dm**Am***Gm ... * As performed: C(G) ** As performed: F(C) is retained *** As performed: Bb(F) is retained
Is there a simple way to append markup to a chordname in chordmode?
I am transcribing a score that has alternate guitar chords listed for capo'ing. For example, F(C) Bb(F)Am(Em) I would like to use F. Bb and Am as the "real" chords and append "(C)", "(F)" and "(Em)" as text. I'm hoping to avoid attaching "F(C)" etc. as arbitrary text, to notes in the melody, but instead find some way to attach the arbitrary text to the chord name without "disturbing the nature" of it being a chord.
LilyPond 2.25.10
We are happy to announce the release of LilyPond 2.25.10. This is termed a development release, but these are usually reliable for testing new features and recent bug fixes. However, if you require stability, we recommend using version 2.24.2, the current stable release. Please refer to the Installing section in the Learning Manual for instructions how to set up the provided binaries: https://lilypond.org/doc/v2.25/Documentation/learning/installing signature.asc Description: This is a digitally signed message part
Re: Separate time signatures in left and right hands.
On Fri, Nov 10, 2023 at 2:47 PM Jean Abou Samra wrote: > First off, is there a better way to do this? > > Yes. See > https://lilypond.org/doc/v2.24/Documentation/notation/displaying-rhythms.html#polymetric-notation > > It gets worse. There is a section where both hands are in common time, > but even though the right hand time signature isn't changing, it needs to > be displayed again. Again, my tactic would be to fake the time changes. > However, there is a break in the piece that has one time signature before > the break and a different one after. What I should really do is have a > change time signature after the bar but before the break. I don't know how > to "fake" that. > > Adapting the example from the documentation: > > \version "2.24.2" > > \layout { \enablePolymeter } > > \relative << > \new Staff { > \time 3/4 > c'4 c c | > c4 c c | > \break > c2. > } > \new Staff { > \time 3/4 > \set Staff.timeSignatureFraction = 9/8 > \scaleDurations 2/3 { > \repeat unfold 3 { c8[ c c] } > \repeat unfold 3 { c4 c8 } > } > \unset Staff.timeSignatureFraction > \time 3/4 > c2. > } > >> > > Thank you for this. It works great. -- Knute Snortum
Re: Repeat volta Score.startRepeatBarType & Score.endRepeatBarType
Hi Stu, On Fri, Nov 10, 2023 at 11:18 AM Stu McKenzie wrote: > Thank you, Michael, for the working example. > You're quite welcome. It seems that additional combinations of defineBarLine were added in > version 2.25. > I downloaded version 2.25.9 and found that adding break resulted in > inconsistent results using the defineBarLine with the > Score.startRepeatBarType and Score.endRepeatBarType. > > For example simply adding a \break before changing the > Score.startRepeatBarType, i.e.: > > c d e f > \break > \set Score.startRepeatBarType = #"[[|:" > > results in the bar line at the end of the first line to include the new > start repeat bar type. > > I've tried defining various combinatons of bar lines, as defined on the > documentation for 2.25.9, e.g.: > \defineBarLine "[[|:-StartDouble_fff" #'( #f #f #f ) > \defineBarLine "[[|:-EndDouble_fff" #'( #f #f #f ) > \defineBarLine "[[|:-StartDouble_ttf" #'( #t #t #f ) > \defineBarLine "[[|:-EndDouble_ttf" #'( #t #t #f ) > \defineBarLine "[[|:-StartDouble_ttt" #'( #t #t #t ) > \defineBarLine "[[|:-EndDouble_ttt" #'( #t #t #t ) > but cannot get the results that I'd like, especially when alternatives are > added to the repeat volta. > > Any further suggestions? > Yup. Try these: \defineBarLine "[[|:" #'( #f #t #f ) \defineBarLine ":|]]" #'( #t #f #f ) \defineBarLine ":|][[|:" #'( ":|]" "[[|:" #f) \defineBarLine ":|]][[|:" #'( ":|]]" "[[|:" #f) As we want the end repeat to show up at the end of a line but not the beginning, and the start repeat to show at the beginning of a line but not the end, the eol and bol booleans need changed. Basically the two are the reverse of each other. So eol true for the end repeat, and bol true for the begin repeat. I've left the span-bar set false for both - the built-in single winged repeat appears to have it set to false, so I'm following along with that here. And yes, I goofed in my first message - I said it was beginning, mid and end of line. I skimmed the docs a bit too quickly there. It is end of line, beginning, and span-bar (as in the bar spanning between staves when grouped, such as a StaffGroup). The next two are for use in \set Score.doubleRepeatBarType They're the repeat sign that shows when two repeated sections are back to back. The first ( ":|][[|:" ) is going from a single winged repeat to a double winged, while the second is going from double to double. And with those, both the beginning of line and the end of line behavior are specified as separate entries. That way if there's a line break with either of them it should get the correct repeat sign either side of the line break. So now we have: \new Staff { \defineBarLine "[[|:" #'( #f #t #f ) \defineBarLine ":|]]" #'( #t #f #f ) \new Voice { \relative c' { \set Score.startRepeatBarType = #"[|:" \set Score.endRepeatBarType = #":|]" c' d e f \repeat volta 2 { c d e f } c d e f \break \set Score.startRepeatBarType = #"[[|:" \set Score.endRepeatBarType = #":|]]" \repeat volta 2 { c d e f } \fine } } } producing: [image: image.png] and: \new Staff { \defineBarLine "[[|:" #'( #f #t #f ) \defineBarLine ":|]]" #'( #t #f #f ) \defineBarLine ":|][[|:" #'( ":|]" "[[|:" #f) \defineBarLine ":|]][[|:" #'( ":|]]" "[[|:" #f) \new Voice { \relative c' { \set Score.startRepeatBarType = #"[|:" \set Score.endRepeatBarType = #":|]" \set Score.doubleRepeatBarType = #":|][[|:" c' d e f \repeat volta 2 { c d e f } \break \set Score.startRepeatBarType = #"[[|:" \set Score.endRepeatBarType = #":|]]" \repeat volta 2 { c d e f } c d e f \set Score.startRepeatBarType = #"[|:" \set Score.endRepeatBarType = #":|]" \repeat volta 2 { c d e f } \set Score.doubleRepeatBarType = #":|][[|:" \set Score.endRepeatBarType = #":|]]" \repeat volta 2 { c d e f } c d e f \fine } } } producing: [image: image.png] Hopefully this'll help get you a bit closer to what you're after. -- Michael
Re: Lilypond for interactive learning
ly2video might be what you're looking for. https://github.com/aspiers/ly2video Check out some of the video examples there. -- Graham On Fri, 2023-11-10 at 19:50 -0600, Grace Elaine Brown wrote: > Hi Lilypond team! > > I have a question about using Lilypond. Is it possible to create a > scrolling singalong type embed on my website using this? > > For example, I'm trying to teach a student how to read the sheet > music for "Adoro te devote." They press play and I sync the chant > audio with a lighting up note. > > I suppose an advanced level of this would include the ability to > pause and click on the note for a pitch reference. > > Godspeed! > > Grace Brown > Graceful | a Catholic Blog > > e. grace.elaine.br...@gmail.com > w. GracefulCatholic.com
SOLVED - Re: Divisi staves and the Keep_alive_together_engraver
SOLVED Hello again, Given that \unset Staff.keepAliveInterfaces would affect the entire StaffGroup, instead of trying to break out from that limitation, I moved the Keep_alive_together_engraver to those two internal, mini-StaffGroups, along with the \partCombine staves. The final score structure looks like this: \version "2.25.9" > > \layout { > short-indent = #20 > indent = #30 > \context { > \Staff > keepAliveInterfaces = #'() > } > } > > violinI = { > \key c \minor > \repeat unfold 26 { d'4 } > \once \unset Staff.keepAliveInterfaces > 2 > \repeat unfold 40 { d'4 } > } > > violinII = { > \key c \minor > \repeat unfold 26 { g4 } > 2 > \repeat unfold 40 { g4 } > } > > celloI = { > \clef "bass" > \key c \minor > \repeat unfold 56 { bes,4 } > \once \unset Staff.keepAliveInterfaces > 2 > \repeat unfold 10 { bes,4 } > } > > celloII = { > \clef "bass" > \key c \minor > \repeat unfold 56 { g,4 } > 2 > \repeat unfold 10 { g,4 } > } > > \new StaffGroup << > \new StaffGroup \with { > systemStartDelimiter = #'SystemStartSquare > \consists "Keep_alive_together_engraver" > } > << > \new Staff \with { > instrumentName = "Violins" > shortInstrumentName = "Vn I & II" > %\override VerticalAxisGroup.remove-layer = 2 > } { <>^"remove-layer = 2" \transpose c c \partCombine \violinI > \violinII } > \new Staff \with { > instrumentName = "Violin I" > shortInstrumentName = "Vn I" > \RemoveAllEmptyStaves > %\override VerticalAxisGroup.remove-layer = 1 > } { <>^"remove-layer = 1" \transpose c c \violinI } > \new Staff \with { > instrumentName = "Violin II" > shortInstrumentName = "Vn II" > \RemoveAllEmptyStaves > %\override VerticalAxisGroup.remove-layer = 1 > } { <>^"remove-layer = 1" \transpose c c \violinII } > >> > \new StaffGroup \with { > systemStartDelimiter = #'SystemStartSquare > \consists "Keep_alive_together_engraver" > } > << > \new Staff \with { > instrumentName = "Violoncellos" > shortInstrumentName = "Vc I & II" > %\override VerticalAxisGroup.remove-layer = 2 > } { <>^"remove-layer = 2" \partCombine \celloI \celloII } > \new Staff \with { > instrumentName = "Violoncello I" > shortInstrumentName = "Vc I" > \RemoveAllEmptyStaves > %\override VerticalAxisGroup.remove-layer = 1 > } { <>^"remove-layer = 1" \celloI } > \new Staff \with { > instrumentName = "Violoncello II" > shortInstrumentName = "Vc II" > \RemoveAllEmptyStaves > %\override VerticalAxisGroup.remove-layer = 1 > } { <>^"remove-layer = 1" \celloII } > >> > >> > Uncomment the \override VerticalAxisGroup.remove-layer lines and then it works perfectly. I hope this solution will be helpful to others. On Fri, 10 Nov 2023 at 14:43, Adam M. Griggs wrote: > Hello list, > > https://lilypond.org/doc/v2.25/Documentation/notation/hiding-staves > > Is there a way I can get more control over the workings of > the Keep_alive_together_engraver for the purpose of engraving divisi staves? > > Please consider the following, based on the linked example in the > documentation: > > \version "2.25.9" >> >> \layout { >> short-indent = #20 >> indent = #30 >> \context { >> \Staff >> keepAliveInterfaces = #'() >> } >> } >> >> violinI = { >> \key c \minor >> \repeat unfold 30 { d'4 } >> \unset Staff.keepAliveInterfaces >> 2 >> \repeat unfold 48 { d'4 } >> } >> >> violinII = { >> \key c \minor >> \repeat unfold 30 { g4 } >> 2 >> \repeat unfold 28 { g4 } >> <> ^\markup \center-column { "unwanted" "violin div. " } >> \repeat unfold 20 { g4 } >> } >> >> celloI = { >> \clef "bass" >> \key c \minor >> \repeat unfold 60 { bes,4 } >> \once \unset Staff.keepAliveInterfaces >> 2 >> \repeat unfold 18 { bes,4 } >> } >> >> celloII = { >> \clef "bass" >> \key c \minor >> \repeat unfold 28 { g,4 } >> <> ^\markup \center-column { "unwanted" "cello div. " } >> \repeat unfold 32 { g,4 } >> 2 >> \repeat unfold 18 { g,4 } >> } >> >> \new StaffGroup \with { \consists Keep_alive_together_engraver } << >> \new Staff \with { >> instrumentName = "Violins" >> shortInstrumentName = "Vn I & II" >> \override VerticalAxisGroup.remove-layer = 2 >> } { \transpose c c \partCombine \violinI \violinII } >> \new StaffGroup \with { >> systemStartDelimiter = #'SystemStartSquare >> } >> << >> \new Staff \with { >> instrumentName = "Violin I" >> shortInstrumentName = "Vn I" >>