top-level `\midi` doesn't work as expected

2023-11-11 Thread Werner LEMBERG


[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

2023-11-11 Thread Ben Bradshaw
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

2023-11-11 Thread Leonardo van der Laat
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

2023-11-11 Thread Abe Raher
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?

2023-11-11 Thread Kevin Cole
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?

2023-11-11 Thread Kevin Cole
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

2023-11-11 Thread Jonas Hahnfeld via LilyPond user discussion
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.

2023-11-11 Thread Knute Snortum
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

2023-11-11 Thread Michael Werner
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

2023-11-11 Thread Graham King
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

2023-11-11 Thread Adam M. Griggs
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"
>>