Re: Change stem direction based on position of note in staff?

2024-08-30 Thread Carl Sorensen
> What I want to achieve in the end are different voicings for drum
> notation using the same input notes.  The different voicings are
> described here:
>
> <
>
> https://www.onlinedrummer.com/blogs/drum-lessons/introduction-to-voicing-in-drum-notation
> >
>
> From that web page is a good image showing what the different voicings
> look like.  There are 4 songs, each notated in the 3 common voicings.
>  See attached.  To which the author writes:
>


> 
>


> However in example 3, there are some added rests for the hands and feet
> representation, that aren't in the other two representations.  And that
> is the challenge.  Converting from one rhythmic representation to
> another when notes are added or removed from a voice.
>
> Hopefully that explains what I want to do.  I want to input the drum
> parts always in the same way and produce different output based on the
> type of notation desired.
>
> My knowledge of musical notation is limited, which is why I've been
> asking the wrong questions.  And now that I understand the problem
> better, I don't think there is a solution within lilypond.
>

I think there's not an off-the-shelf solution within LilyPond.

To me this is asking for a \drumcombine function that mimics the
\partcombine function for regular notes.  I don't know how hard it would be
to write that.  But perhaps it could be modified from the current
\partcombine function.

Carl


Re: Inquiry on Adjusting Vertical Spacing Between Systems in Automatically Wrapped Lines

2024-08-24 Thread Carl Sorensen
Peter,

To accomplish this you need to adjust the system-system spacing.  The
documentation for doing this adjustment is found in the Notation Reference,
section 4.1.4.

https://lilypond.org/doc/v2.24/Documentation/notation/flexible-vertical-spacing-paper-variables

Probably all of section 4.1 is good to read to help you get started on this.

If you have specific questions after trying to adjust the system-system
spacing, then a specific question could be more easily answered on the list.

Hope this helps,

Carl


On Sat, Aug 24, 2024 at 1:59 AM Peter X  wrote:

> 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
>


Re: scheme: formula instead of value

2024-07-08 Thread Carl Sorensen


From: lilypond-user-bounces+carl.d.sorensen=gmail@gnu.org 
 on behalf of K. Blum 

Date: Monday, July 8, 2024 at 2:40 PM
To: lilypond-user@gnu.org , benbigno...@gmx.de 

Subject: scheme: formula instead of value
Dear LilyPonders,

in an \override statement, I want to use the result of a mathematical 
computation instead of a simple value:

% --
\version "2.24.3"
\markup {
   % \override #'(baseline-skip . 2)   % works
   \override #'(baseline-skip . (* 0.5 4.0))   % does not work
   \column { 1 2 3 }
}
% --

This causes an error:
Fehler: Guile signaled an error for the expression beginning here
#
  (let ((book-handler (if (defined? 'default-toplevel-book-handler)
In procedure ly:stencil-stack: Wrong type argument in position 6 (expecting 
number): (* 0.5 4.0)

Is this really impossible or am I missing something?

Because your list is quoted, the calculation isn’t done.
Try
\override #`(baseline-skip . ,(* 0.5 4.0))
Or
\override #(cons ‘baseline-skip (* 0.5 4.0))


Cheers,
Klaus


Re: Changing from percussion clef to treble clef

2024-07-08 Thread Carl Sorensen


From: lilypond-user-bounces+carl.d.sorensen=gmail@gnu.org 
 on behalf of Richard 
Cookson 
Date: Monday, July 8, 2024 at 12:05 PM
To: lilypond-user@gnu.org 
Subject: Changing from percussion clef to treble clef
Hi,
I am trying to write a percussion part with a mix of untuned and tuned 
percussion, however, when I switch from percussion clef back to G clef, all the 
notes subsequently are shown as the same pitch (b), see screenshot below, the 
final bar is supposed to be as follows:
\clef G \relative c { a16->\f ^\markup "Glockenspiel" g-> f8-> d->
}

[cid:ii_1909383f3509d4716c51]

Any advice on how to get the notation table back to the default would be 
appreciated.

Regards,


Richard,

Please share your code so we know what you have done.  That way we’ll be able 
to better help you.

See https://lilypond.org/tiny-examples.html for suggestions on how to best do 
this.

Thanks,

Carl



Re: beam subdivision problem

2024-07-04 Thread Carl Sorensen
On Wed, Jul 3, 2024 at 11:07 PM Werner LEMBERG  wrote:

>
> OK, here are some scans that I've found.  As you can see, this kind of
> subdivision is not so special as previously assumed.
>
> * Jehan Alain, trois danses – Deuils (for organ), (publisher: Leduc)
>
> * Prokofiev, piano sonata 7, op. 83, second movement (publisher:
>   Muzgiz)
>
> * Rachmaninov, piano concerto 3, op. 30, third movement (publisher:
>   Gutheil)
>
>
It looks to me like there are two different issues here:

1) subdividing the lowest level of notes in groups of 4, not groups of 2.
All three examples show this.  IIUC, this could be solved in our current
code by eliminating some levels of subdivision (we currently do it for
every power of 2, instead of for "every other" power of 2).

2) Using a nonstandard number of beams between the subdivided parts.  The
Prokofiev piece uses a standard number of beams (when grouping 4 of the
shortest notes, there should be two fewer -- not one fewer -- beams between
the groups, according to the theory).  The Alain and Rachmaninov only have
one fewer beam, so the beam count between the groups is not appropriate for
the lengths of the subdivided groups, according to the Gould rules.
Personally, I think the Gould rules are correct, but two of the music
publishers in your example do not agree with me.  And they should probably
have  MUCH more credibility than I do.

At any rate, I think it's important to understand both issues.  When I made
my music function, I was only responding to item 2, not to item 1.

Thanks,

Carl


Re: beam subdivision problem

2024-07-03 Thread Carl Sorensen
On Tue, Jul 2, 2024 at 10:48 AM Werner LEMBERG  wrote:

>
> Folks,
>
>
> how can I easily create a beam subdivision as shown in the attached
> image using the current development version 2.25.18?  The solution I
> came up with is extremely ugly...
>
>
> Werner
>
> This may be slightly less ugly, but it still requires a function call
every place you want a beam subdivision:

...
  subdivideBeamManually =
#(define-music-function
 (beam-count note)
 (number? ly:music?)
   #{
 \once \set stemRightBeamCount = #beam-count
 #note
 \once \set stemLeftBeamCount = #beam-count
   #})

\score {
  {
f'16 f'32
\subdivideBeamManually #2 f'
  f' f' f' f'
f'16 f'32 f' f'
\subdivideBeamManually #2 f'
  f' f'

   }
}
...

HTH,

Carl


Re: Help with Mac

2024-04-15 Thread Carl Sorensen
On Mon, Apr 15, 2024 at 2:26 PM Alejandro Castera 
wrote:

> Good afternoon, community.
>
> I've been using Lilypond on Mac for a long time, but for a few years now
> they haven't released a new version to install in DMG format. There are
> some packages to install via "ports" (which I haven't understood what they
> are) and using MacPorts or Homebrew (which I haven't understood how to use
> either). All this through the Terminal command line, which I don't
> understand how to use. For this reason, I am still using LilyPond version
> 2.20 because it was the last one installable as DMG. Please, if someone can
> guide me to install the latest version of LilyPond 2.24.3 because I have
> tried several times in different ways and have not succeeded.
>
> Please, LilyPond developers, we need a DMG installer because not all of us
> Mac musicians know the Terminal command line.
>

Dear Alejandro,

 Due to Apple's policies on creating applications, there will not be any
more .DMG installs of LilyPond.

However, you can get LilyPond to work on your Mac without using the
Terminal.

You will want to download Frescobaldi, which is available as a DMG.
https://www.frescobaldi.org/download

And then you will install LilyPond as an executable file.  We currently
have x86 applications that can be run even on Apple Silicon Macs, but will
be a bit slower than the native M1 build:
https://lilypond.org/development.html

We also have an M1 build available:
https://cloud.hahnjo.de/s/x9D62eASSn6Ng7D

Once you have LilyPond installed, you will need to set the Lilypond
Preferences in Frescobaldi to point to your LilyPond executable.  Once you
have done that, you can use Frescobaldi to edit your lilypond files.  It's
so much better than the LilyPad editor that you will love it.

Detailed instructions for doing this are found in the Learning Manual:
https://lilypond.org/doc/v2.25/Documentation/learning/graphical-setup-under-macos

You don't need to use the Terminal at all if you follow these instructions.

I hope this is helpful.

Carl Sorensen


Re: nested beaming

2024-04-11 Thread Carl Sorensen
On Thu, Apr 11, 2024 at 6:44 AM Hans Åberg  wrote:

>
> > On 10 Apr 2024, at 16:54, Carl Sorensen 
> wrote:
> >
> > On Tue, Apr 9, 2024 at 10:23 AM Hans Åberg  wrote:
> >
> >> In the past, it was possible to give 9/16 the beat structure [[2 2] [2
> 3]], as a 2/4 with an extra 1/16 at the end, like in the Bulgarian
> Daichovo, but currently it is only possible with [4 2 3] as in:
> >>  \time 9/16
> >>  \set beatStructure = #'(4 2 3)
> >> Or [2 2 2 3]. But [[2 2] [2 3]] is easier to read.
> >>
> > Can you tell me a version where you could do this, and provide some
> sample code that uses it?
>
> I have an old comment in a .ly file that I once wrote, but it does not
> tell the LilyPond version it was usable in, as the file has been updated:
>
>   \tempo 4 = 120
>   \time 11/16
>   \set beatStructure = #'(4 3 4)
>
> %  Old beam settings:
> %  \overrideBeamSettings #'Score #'(11 . 16) #'end #'((* . (4 3 4)))
> %  \set beatGrouping = #'(2 2 3 2 2)
> %  \set subdivideBeams = ##t
> %  #(override-auto-beam-setting '(end * * 11 16) 4 16)
> %  #(override-auto-beam-setting '(end * * 11 16) 7 16)
> %  #(set-time-signature 11 16 '(4 3 4))
>
> Thank you for this file.  This syntax makes sense to me (but I haven't
verified that it still works).  I have never known the nested square
brackets for nested beams as an input syntax to work.

I'll do some more investigation.

Thanks,

Carl


Re: nested beaming

2024-04-10 Thread Carl Sorensen
On Wed, Apr 10, 2024 at 2:02 PM Hans Åberg  wrote:

>
>
> There is actually one example of a naturally occurring meter, meaning it
> is used regularly, where such a sub-beaming might be useful, namely, a form
> of the Čoček in 9/8, 9 = 2+2+2+3, where 3 = 1+2. I wrote it as 2+2+2+1+2,
> but it would be nice to write it as 2+2+2+(1+2).
>
> If I write
>   \time 9/8
>   \set beatStructure = 2,2,2,3
>   \set subdivideBeams = ##t
> then it ends up with all 2 = 1+1, and 3 = 1+1+1.
>
> So such examples may occur even if there is not a composer trying to do
> something special.


So in the following, I think I get what you call 2+2+2+3, but unfortunately
I don't get 3 = 1+2.  Do you agree with this statement?

I have made it a little better, because the 2 are all 2, but the three is
just 3 (not 1+2)

\version "2.25.11"
{
   \time 9/8
   \set beatStructure =  #'(2 2 2 3)
   \set subdivideBeams = ##t
   \set minimumBeamSubdivisionInterval = \musicLength 4
   \repeat unfold 18 a'16
}

Carl


Re: nested beaming

2024-04-10 Thread Carl Sorensen
[Adding back to list]

On Wed, Apr 10, 2024 at 9:23 AM Paul Scott  wrote:

> Version 2.25.14
>
> Are there parameters to change?  It would seem that there would several
> possibilities even though I got the one I wanted this time.
>
> Paul
>
>
> You can read about the parameters in the 2.25 Notation Reference:
https://lilypond.org/doc/v2.25/Documentation/notation/setting-automatic-beam-behavior

See the selected snippet Subdividing Beams

Carl


Re: nested beaming

2024-04-10 Thread Carl Sorensen
Forwarding to keep on list.

On Wed, Apr 10, 2024 at 11:35 AM Hans Åberg  wrote:

>
> > On 10 Apr 2024, at 19:00, Carl Sorensen 
> wrote:
> >
> > On Wed, Apr 10, 2024 at 10:22 AM Hans Åberg  wrote:
> >
> > > So is the issue that you would like to have the final [2 3] beamed
> with a pair of beamed 16th notes joined to a trio of beamed sixteenth notes
> by a single beam?
> >
> > Yes.
> >
> > This works out of the box now, as 4+5 with subdivisions and 4+3 with
> subdivisions
> >
> > \version "2.25.11"
> > {
> >\time 9/16
> >\set beatStructure =  #'(4 5)
> >\set subdivideBeams = ##t
> >\repeat unfold 9 a'16
> >
> >\time 7/16
> >\set beatStructure = 4,3
> >\repeat unfold 7 a'16
> > }
>
> This works for the 9=(2+2)+(2+3); I attach a file that compiles, in case
> you want to check. I need to check the 7/16 later. One could also have the
> 3 in other places. like 9 = (2+2)+(3+2) or (3+2)+(2+2). They exist in
> Turkey and Macedonia in slower forms without the sub-beaming, but in
> theory, it is possible.
>

I think that it will not work if you want to subdivide with the 3 in the
first position.  I can imagine that there could be some sort of flag that
would allow it to work correctly with the 3 in the first position, but that
will require some extra development.  If you think it's important, I could
ping Jason Yip (who did the new autobeam functionality) to see if he has
any ideas about it.

Thanks,

Carl


Re: nested beaming

2024-04-10 Thread Carl Sorensen
On Tue, Apr 9, 2024 at 10:23 AM Hans Åberg  wrote:

>
> > On 8 Apr 2024, at 18:46, Simon Albrecht  wrote:
> >
> > On 08.04.24 18:22, Paul Scott wrote:
> >> Many years ago I could nest square brackets in Lilypond. How can I
> write this now incorrect code:
> >>
> >> a16[[ 16 16] 16[ 16 16]]  i.e. two groups of 3 beamed 16th notes joined
> by a single beam.
> >
> > The question is: what is the context and why do you want this?
>
> In the past, it was possible to give 9/16 the beat structure [[2 2] [2
> 3]], as a 2/4 with an extra 1/16 at the end, like in the Bulgarian
> Daichovo, but currently it is only possible with [4 2 3] as in:
>  \time 9/16
>  \set beatStructure = #'(4 2 3)
> Or [2 2 2 3]. But [[2 2] [2 3]] is easier to read.
>
> > Normally, this is called subdividing beams and there is a context
> property to turn it on. This is explained in the NR at Rhythms -> Beams ->
> Setting automatic beam behaviour (or similar). There have recently been
> significant improvements to how LilyPond handles this, but IIRC it’s not
> fully ‘there’ yet and in some situations manual intervention is needed
> besides defining baseMoment etc.
>
> But this has not yet been implemented?
>

So is the issue that you would like to have the final [2 3] beamed with a
pair of beamed 16th notes joined to a trio of beamed sixteenth notes by a
single beam?  I could see that such a notation might be easy to read, but
it violates the mathematical beaming convention since the two subgroups
joined by the single beam are not each 1/8 in duration.  I'm not saying
this notation is incorrect; I'm just saying that to implement it we would
need to bypass the normal convention

Thanks,

Carl


Re: nested beaming

2024-04-10 Thread Carl Sorensen
On Tue, Apr 9, 2024 at 10:23 AM Hans Åberg  wrote:

>
>
>
> In the past, it was possible to give 9/16 the beat structure [[2 2] [2
> 3]], as a 2/4 with an extra 1/16 at the end, like in the Bulgarian
> Daichovo, but currently it is only possible with [4 2 3] as in:
>  \time 9/16
>  \set beatStructure = #'(4 2 3)
> Or [2 2 2 3]. But [[2 2] [2 3]] is easier to read.
>

Can you tell me a version where you could do this, and provide some sample
code that uses it?

Thanks,

Carl


Re: nested beaming

2024-04-08 Thread Carl Sorensen
On Mon, Apr 8, 2024 at 4:51 PM Carl Sorensen 
wrote:

>
>
> On Mon, Apr 8, 2024 at 11:14 AM Paul Scott 
> wrote:
>
>>
>> The case at the moment is with long groups of triplets of which the
>> following is now a part:
>>
>> {
>>\time 2/4
>>\tuplet 3/2 8 {
>>  a'16 16 \set stemRightBeamCount = 1 16 \set stemLeftBeamCount = 1
>> 16 16 16
>>}
>> }
>>
>> I think that after last summer's GSOC project on beaming, this now works
>> correctly out of the box:
>
>
>
My mistake.  These changes didn't get in until 2.25


> \version "2.25.11"  % but earlier 2.25 versions may work
> {
>\time 2/4
>\set subdivideBeams = ##t
>\tuplet 3/2 8 {
>  a'16 16  16
> 16 16 16
>}
> }
>
>
Carl


Re: nested beaming

2024-04-08 Thread Carl Sorensen
On Mon, Apr 8, 2024 at 11:14 AM Paul Scott  wrote:

>
> The case at the moment is with long groups of triplets of which the
> following is now a part:
>
> {
>\time 2/4
>\tuplet 3/2 8 {
>  a'16 16 \set stemRightBeamCount = 1 16 \set stemLeftBeamCount = 1
> 16 16 16
>}
> }
>
> I think that after last summer's GSOC project on beaming, this now works
> correctly out of the box:


\version "2.24"
{
   \time 2/4
   \set subdivideBeams = ##t
   \tuplet 3/2 8 {
 a'16 16  16
16 16 16
   }
}

HTH,

Carl


Re: English Note names alternatives

2024-04-06 Thread Carl Sorensen
On Sat, Apr 6, 2024 at 12:54 PM Fr. Samuel Springuel 
wrote:

> I just discovered that in English, there’s a shorter way to name notes
> that would normally be specified with “-sharp” or “-flat”: “s” and “f”.
> E.g. “f-sharp” can be written as “fs” and “b-flat” can be written as “bf”.
>
> However, I noticed that this is not documented in the Music Glossary:
> https://lilypond.org/doc/v2.24/Documentation/music-glossary/pitch-names.
> Only the “-sharp” and “-flat” name are mentioned there.  Is there a reason
> this behavior is not documented?  It is certainly much easier to type the
> shorter name than the longer one but I don’t want to rely on something that
> might break unexpectedly.
>
> The place to look for this information is in the Notation Reference, not
the music glossary.

https://lilypond.org/doc/v2.24/Documentation/notation/writing-pitches#note-names-in-other-languages

At the bottom of that page there is a list of all the alteration suffixes
in all the languages.

HTH,

Carl


Re: repeating chords with just the duration

2024-03-17 Thread Carl Sorensen
Use q to repeat chords.

Carl

On Sun, Mar 17, 2024, 2:10 PM Knute Snortum  wrote:

> I don't use chordmode much, but this snippet doesn't do what I thought it
> would:
>
> \version "2.25.13"
>
> {
>   \new ChordNames \chordmode { a1:7 4 }
> }
>
> It produces an "A7sus4 3" instead of two A7's.  Is this a bug, or is that
> syntax just not supported?
>
> --
> Knute Snortum
>
>


Re: Transpose tab into label forms

2024-03-06 Thread Carl Sorensen
On Mon, Mar 4, 2024 at 5:37 AM achar  wrote:

> Indeed I use fret-diagram. Too bad.
> THANKS Xavier.
>
>
If you use Lilypond's automatic fret diagram functionality, the fret
diagrams will be transposable, but the transposition may not be exactly
what you would manually do for a transposition.  You can also control the
automatic fret diagram construction by adding string numbers to one or more
notes in the chord.

\version "2.24"

myChord = {
  1
}

altChord = {
  
}

minChord = {
  
}



\score{
  \new FretBoards {
\myChord
\transpose c d \myChord
\transpose c a, \myChord
\altChord
\transpose c d \altChord
\transpose c a, \altChord
\minChord
\transpose c d \minChord
\transpose c a, \minChord
  }
}


HTH,

Carl


Re: Transpose tab into label forms

2024-03-03 Thread Carl Sorensen
What is "label form" for tablature?  I've never heard of it and couldn't find 
any information about it using Google.  So I don't know how to answer your 
question.

Carl



Get Outlook for Android

From: lilypond-user-bounces+carl.d.sorensen=gmail@gnu.org 
 on behalf of achar 

Sent: Sunday, March 3, 2024 8:10:36 AM
To: Lilypond User English 
Subject: Transpose tab into label forms

Hello to all.

With Frescobaldi I use the transpose tool to change the key of a piece.
One thing it doesn't do is transpose the tablatures into label form.
It would save me time.
Does anyone have any ideas or is this simply impossible?
Thank you for your attention . Good evening. Jean Pierre







Re: markup for circular bowing

2024-02-14 Thread Carl Sorensen
On Wed, Feb 14, 2024 at 2:59 AM Orm Finnendahl <
orm.finnend...@selma.hfmdk-frankfurt.de> wrote:

> Hi,
>
>  I'd like to make a sign for circular bowing like in the attached
> png. The example was done using an epsfile, but unfortunately that
> doesn't export to svg, which I need. So it should be done using
> lilypond's builtin markup commands (or scheme code). Can someone point
> me to examples to do circular arcs with attached arrows (can also be
> scheme code)?


Is this supposed to be the same thing as circular scrape in chop bowing?
If so, SMUFL has a glyph defined:

https://w3c.github.io/smufl/latest/tables/chop-percussive-bowing-notation.html

I'd be willing to add such a glyph to LilyPond, if what you're after is the
same intent as the SMUFL glyph.

Carl


Re: Question about \include options

2024-01-08 Thread Carl Sorensen
On Mon, Jan 8, 2024 at 3:29 PM John Helly  wrote:

> Aloha K.
>
> I go to the LP home page, using that search box (upper right), type #f and
> this is what is returned.  I can send a video if you'd find it helpful.:
>
> 

John,

It looks like the reference Kieren found is the next one down on your list
in the enclosed image (just off the page).

Have you read the Learning Manual?  The recommended way to get up to speed
with lilypond is not to try to set some piece of music yourself, but to
first read through the learning manual.  Try out the examples in the LM.
Then, after you have the LM in your working memory, you can move onto using
the Notation Reference and the Internals Reference to help you set that
challenging score.

If you are trying to understand generalities, rather than specifics, it's
almost always best to look first in the Learning Manual.

If you don't have the Learning Manual in mind, it's really hard to get up
to speed on LilyPond.

HTH,

Carl


Re: Stand indents on the left and right.

2023-11-25 Thread Carl Sorensen
On Sat, Nov 25, 2023 at 12:03 PM Виноградов Юрий 
wrote:

> Hello. There is one snippet that allows any stan to minimize left and
> right.
> Here is the link: https://lsr.di.unimi.it/LSR/Item?id=1098
> There is a very large block of code written there to be able to use these
> settings.
>

It seems to me that the cleanest way to avoid the large block of code is to
put the PseudoIndent code in its own file (perhaps called PseudoIndent.ily)
and then \include it into your file.
The code you need starts at the beginning of the snippet and goes up to the
line

 LSR EXAMPLES 

That will keep your source file clean.

I hope this helps you.

Carl Sorensen


Re: zero horizontal space between note heads

2023-10-29 Thread Carl Sorensen
On Sun, Oct 29, 2023 at 7:13 AM Werner LEMBERG  wrote:

>
> For testing purposes I try to eliminate spacing completely.
>
> I tried
>
> ```
> \version "2.25.9"
>
> #(set-global-staff-size 26)
>
> {
>   \override Staff.Clef.show-horizontal-skylines = ##t
>   \override Staff.KeySignature.show-horizontal-skylines = ##t
>   \override Staff.TimeSignature.show-horizontal-skylines = ##t
>   \override NoteHead.show-horizontal-skylines = ##t
>
>   \override Score.SpacingSpanner.spacing-increment = 0
>
>   \override Staff.KeySignature.extra-spacing-width = #'(0 . 0)
>   \override Staff.TimeSignature.extra-spacing-width = #'(0 . 0)
>
>   \override Staff.LeftEdge.space-alist.clef = #'(extra-space . 0)
>   \override Staff.Clef.space-alist.key-signature = #'(extra-space . 0)
>   \override Staff.KeySignature.space-alist.time-signature = #'(extra-space
> . 0)
>   \override Staff.KeySignature.space-alist.first-note = #'(fixed-space . 0)
>   \override Staff.TimeSignature.space-alist.first-note = #'(fixed-space .
> 0)
>
>   \key cis \major
>   bis'16 bis' bis' bis'
> }
> ```
>
> and get the attached output.  However, there is still some horizontal
> space between the note heads.  What is it?  I tried hard to find
> something in the IR but wasn't successful...
>

I don't have a perfect answer.

But the NoteColumn is slightly wider than the NoteHead.  If you show the
NoteColumn skylines, and set packed-spacing == ##t, you get the NoteColumns
(but not the NoteHeads) tightly adjacent to each other.

\version "2.25.9"

#(set-global-staff-size 26)

{
  \override Staff.Clef.show-horizontal-skylines = ##t
  \override Staff.KeySignature.show-horizontal-skylines = ##t
  \override Staff.TimeSignature.show-horizontal-skylines = ##t
  \override NoteHead.show-horizontal-skylines = ##t
  \override NoteColumn.show-horizontal-skylines = ##t

\override Score.SpacingSpanner.packed-spacing = ##t

  \override Staff.KeySignature.extra-spacing-width = #'(0 . 0)
  \override Staff.TimeSignature.extra-spacing-width = #'(0 . 0)

  \override Staff.LeftEdge.space-alist.clef = #'(extra-space . 0)
  \override Staff.Clef.space-alist.key-signature = #'(extra-space . 0)
  \override Staff.KeySignature.space-alist.time-signature = #'(extra-space
. 0)
  \override Staff.KeySignature.space-alist.first-note = #'(fixed-space . 0)
  \override Staff.TimeSignature.space-alist.first-note = #'(fixed-space . 0)

  \key cis \major
  bis'16 bis' bis' bis'
}

Carl


Re: Automatic annotation of slide positions/fingerings for brass instruments.

2023-08-30 Thread Carl Sorensen
On Wed, Aug 30, 2023 at 2:45 AM samarutuk  wrote:

> Hello Carl,
>
> Michael (Werner) may have just found a solution.
>

Yes, I really like Michael's solution.  He found an existing context and
grob that he could tweak into a brass position indicator.  I think that is
a very clever approach to getting the iterated music that I discussed.

I hope he will add his solution to the LSR.

Thanks,

Carl

>


Re: Standalone lyrics part

2023-08-29 Thread Carl Sorensen
On Tue, Aug 29, 2023 at 3:12 PM Pierre-Luc Gauthier <
p.luc.gauth...@gmail.com> wrote:

> Hi there,
>
> I need some standalone rhythmically correct lyrics that I place around
> scores. Devnull seems perfect since it does not create a Staff. Yet,
> ties and slurs are not taken into account when placing otherwise
> correct lyrics. Why? Take the following MnWE.
>
> music = { c'4(~ 2) d'4 }
>
> words = \lyricmode { a b c }
>
> <<
>   \new Staff \new Voice = "1" \music
>   \new Lyrics \lyricsto "1" \words
>   \new Devnull = "2" \music
>   \new Lyrics \lyricsto "2" \words
> >>
>
> Use NullVoice instead of Devnull.

HTH,

Carl


Re: Automatic annotation of slide positions/fingerings for brass instruments.

2023-08-29 Thread Carl Sorensen
On Tue, Aug 29, 2023 at 2:27 AM samarutuk  wrote:


> Surely some people could benefit from a solution like that. As noted, it
> would be very handy for educational purposes in general. Of course, you can
> do it manually, but for more extensive scores it is very tedious, typos can
> creep in and there is a lot of extra text which makes the Lilypond code
> more confusing. The manual fingering function is also single digit as far
> as I know. For brass instruments with valves, you usually need one to three
> or four digits (see screenshot in attachment) and sometimes also other
> characters or brackets for alternate fingerings/slide positions.
>
> Kind regards
> Andreas
>

You may not be aware of this, but LilyPond is developed and maintained by
volunteers.

If you wish to have fingering information for brass instruments
automatically calculated by LilyPond, you have a few choices:

1. Post a feature request on bug-lilyp...@gnu.org.  This probably won't get
the feature implemented, but it will be documented as a desired feature.
And then perhaps it could be implemented as a GSoC project.

2. Offer to pay a developer to create the feature.  It would probably cost
more than you are willing to pay, however.

3. Learn how to do it yourself, and contribute a merge request that
implements the feature.  Nearly all features in LilyPond have been added
this way.  I created fret diagrams and the fret_diagram_engraver and
FretBoards context because I was interested in them.  Mike Solomon
developed the woodwind fingering diagrams because he was interested in
them, etc.  It's more work for you, but it's the only sure way to have the
features added.

Please don't think I'm mocking you or making fun of you.  I'm not.  I'm
just trying to help you understand the realities of getting features added
to LilyPond.

Thanks,

Carl


>


Re: Script for midi rehearsal files per voice

2023-07-28 Thread Carl Sorensen
It’s in Frescobaldi.  Choose the SATB choir template and make sure the 
rehearsal midi checkbox is checked.

HTH,

Carl





Re: cross-staff stems

2023-03-23 Thread Carl Sorensen
On Thu, Mar 23, 2023 at 9:37 AM Werner LEMBERG  wrote:

>
> > > Can you please suggest a better wording that I can add to the
> > > documentation?
> >
> > May I have the day to ruminate?
>
> Please take your time, and thanks for working on this!
>

Didn't the problem occur because the crossStaff request was in a voiceTwo
context in the lower staff (i.e. a stem down context in the lower staff)
which is not conducive to cross-staff stems)?

Carl


Thanks for the Mac Version of 2.24

2023-01-23 Thread Carl Sorensen
Jonas,

THanks for all your effort in getting a statically linked easily installed
binary for new versions of MacOS.  I was able to download the archive,
extract it, and drop it into my applications folder.  Then I had to permit
the necessary binaries to be allowed (by right-clicking on them in the
Finder, selecting Open, and giving permission.  But that was not a big
problem, just a minor inconvenience.

And as quick as that, I was up and running under Frescobaldi on my new
MacBook Pro.

Thanks!

Carl


Re: Error when compiling snippet "Parenthesize a group of notes using a Scheme function"

2022-12-16 Thread Carl Sorensen
On Fri, Dec 16, 2022 at 11:48 AM Joseph Srednicki 
wrote:

> I am running Lilypond 2.24.0 on Windows 11.
>
> I am trying the use the snippet entitled "Parenthesize a group of notes
> using a Scheme function" located at
> https://lsr.di.unimi.it/LSR/Snippet?id=902.
>
> I receive the following errors:
>
>
> :/Users/jossr/AppData/Local/Temp/frescobaldi-ml8etqod/tmp7uoisrq_/document.ly:12:19
> : error: bad grob property path
> \once \override
> ParenthesesItem.stencils = #(lambda (grob)
>
>
> C:/Users/jossr/AppData/Local/Temp/frescobaldi-ml8etqod/tmp7uoisrq_/document.ly:18:19
> : error: bad grob property path
> \once \override
> ParenthesesItem.stencils = #(lambda (grob)
>
>
> C:/Users/jossr/AppData/Local/Temp/frescobaldi-ml8etqod/tmp7uoisrq_/document.ly:25:13
> : error: bad grob property path
> \override
> ParenthesesItem.font-size = #5
>

Have you used convert-ly?

https://lilypond.org/doc/v2.24/Documentation/usage/updating-files-with-convert_002dly

ParenthesesItem changed to Parentheses in 2.24

HTH,

Carl

>


Re: length of stems on beamed notes

2022-12-15 Thread Carl Sorensen
On Thu, Dec 15, 2022 at 3:35 PM Flaming Hakama by Elaine <
ela...@flaminghakama.com> wrote:

>
> In this MWE, I would like to get the stem lengths equal.
>
> Currently, the stems of beats with the 16th notes are longer than the
> stems of the beat with only 8th notes.
>
> Does anyone know how to equalize the beam lengths?
>

use beamed-stem-shorten #'(0 0 0)


\relative c''' {
\override Stem.length-fraction = #(magstep 1.03)
\override Beam.beamed-stem-shorten = #'(0 0 0)
\stemUp
r16 g8. 8. 16 ~ 8 8 ~ 16 8.
}

HTH,

Carl


Re: Flexible lyric alignment

2022-11-11 Thread Carl Sorensen
On Fri, Nov 11, 2022 at 12:33 PM Jean Abou Samra  wrote:

>
>
> > Le 10 nov. 2022 à 18:22, Carl Sorensen  a
> écrit :
> >
> > Thinking about this in terms of Excel cells, where they can extend as
> far as possible as long as there are no contents in adjacent cells
> >
> > Might it be possible for the lyrics engraver to add something like a
> lyricPlaceholder grob into adjacent note columns that had no lyricText grob?
> > The extent of the lyricPlaceholder could be the negative of the extent
> of the lyricText in the current  column.
> > The lyricText in the current column could be aligned in the opposite
> direction of the adjacent column.
> >
> > To those who are more familiar with the layout engine than I am -- could
> this be a possible approach?
>
>
> Sorry, I am not understanding your suggestion precisely. Would you mind
> elaborating?
>

IIUC, columns are spaced with springs and rods considering collisions
between adjacent columns.

The hope was that one could create negative space in the column with no
lyricText, thus allowing the adjacent column to overlap the column with no
lyrics and not have it be considered a collision.  Then the standard
spacing rules could be followed, but the columns could overlap.

Maybe this makes no sense at all (I'm clearly not at expert -- or even a
novice -- in the spacing engine).  It was just a thought of a way to try to
approach the problem by changing grobs, instead of the spacing engine.

Carl


Re: Flexible lyric alignment

2022-11-10 Thread Carl Sorensen
On Wed, Nov 9, 2022 at 3:05 PM Jean Abou Samra  wrote:

>
> To tackle this, the first step would be sitting down with paper,
> formulating what new kind of problem we want, and figuring out
> an algorithm to solve it, maybe a variant of the existing algorithm
> to solve springs&rods problems (in lily/simple-spacer.cc),
> or maybe an algorithm found or adapted from existing literature
> in algorithmics. Then implementing, debugging and profiling it ...
>

Thinking about this in terms of Excel cells, where they can extend as far
as possible as long as there are no contents in adjacent cells

Might it be possible for the lyrics engraver to add something like a
lyricPlaceholder grob into adjacent note columns that had no lyricText grob?
The extent of the lyricPlaceholder could be the negative of the extent of
the lyricText in the current  column.
The lyricText in the current column could be aligned in the opposite
direction of the adjacent column.

To those who are more familiar with the layout engine than I am -- could
this be a possible approach?

Thanks,

Carl


Re: Extended bar checking?

2022-09-19 Thread Carl Sorensen
On Mon, Sep 19, 2022 at 8:21 AM Michael Hendry 
wrote:

> On 19 Sep 2022, at 15:11, Jean Abou Samra  wrote:
> >
> >
> >
> > Le 19/09/2022 à 11:50, Michael Hendry a écrit :
> >> On 18 Sep 2022, at 22:32, Jean Abou Samra  wrote:
> >>
> >>>
> >> 
> >>
> >>> \relative c' {
> >>>   c4 d e2 |
> >>>   g1 |
> >>>   g f e d | % notes wrongly entered
> >>>   s1 % missing bar check
> >>>   R1*3 |
> >>> }
> >> A simple visual way to catch missing bar checks is to place them at the
> beginning of the bar...
> >>
> >> \relative c’ {
> >>   | c4 d e2
> >>   | g1
> >>   | g f e d
> >>   s1
> >>   | R1*3
> >> }
> >>
> >> …and if you align the bar checks vertically when entering more than one
> bar per line it’s easier to work out where you are when editing.
> >

What an easy way to have the bar checks easy to see!  Wish I'd thought of
that!  I'm going to use this in the future.

Carl

>
>


Re: An infix syntax for Scheme ...

2022-08-10 Thread Carl Sorensen
On Tue, Aug 9, 2022 at 3:46 PM Jean Abou Samra  wrote:

> 
>


> To be honest, I have no idea if what I did here is actually a good idea
> at all (I for one won't use it). I'm just curious to see. On the one hand,
> normal Scheme syntax is used in all Scheme tutorials, in the Guile manuals,
> on mailing list snippets, and when printing values, so only using
> Herescheme
> syntax without knowing about basic Scheme syntax is likely tough. On the
> other hand, I know Scheme is off-putting to some people just because of its
> many parentheses and the "unintuitive" way of placing the operator as
> prefix.
>
I think it's an amazing piece of work to do this.

But I think it's not a good idea for LilyPond.

If you're going to extend things in LilyPond, you need to understand Scheme
(because so much of it is written in Guile).  Herescheme just creates
another language to learn (and it's questionable to me that it is easier to
learn).  While it reads more like english, it doesn't advance the learning
of Guile.

I'm not in favor of adding this to LilyPond.

Thanks,

Carl


Re: polychords: what's the current state-of-the-art?

2022-08-09 Thread Carl Sorensen
On Tue, Aug 9, 2022 at 12:29 PM Kieren MacMillan <
kie...@kierenmacmillan.info> wrote:

> Hi Jean,
>
> > For the record, the GSoC code and the review discussion around it
> > are found at
> > https://gitlab.com/lilypond/lilypond/-/issues/5224
> > and in the two links to appspot.com at the top.
>
> Thanks for that.
>
> I've looked through, and I can't see where polychords are even considered.
> Maybe I just don't grasp how rich the semantics mechanism is? Happy to be
> shown how it makes polychord entry intuitive and easy for the user.
>

Polychords are not considered in the GSOC work.  But the idea of having
chord semantics means that the polychord representation could be stored
with the chord.  But we would need a polychord input syntax defined to
handle polychords.

I consider the GSOC work to be necessary, but not sufficient.

Carl


Re: vertical shift of trill

2022-08-06 Thread Carl Sorensen
On Sat, Aug 6, 2022 at 12:25 PM Thomas Morley 
wrote:

> Am Sa., 6. Aug. 2022 um 17:15 Uhr schrieb Jean Abou Samra <
> j...@abou-samra.fr>:
> >
> > Le 06/08/2022 à 16:45, Werner LEMBERG a écrit :
> > >> That said, there's a much simpler way.  [...]
> > > Your solution is ingenious.  However, how on earth are we mere mortals
> > > able to find that?
> >
> >
> > Read the source, Luke :-)
>
> roflmao
>
> >
> > Seriously, there is no way around that in this case -- as in many cases
> > when it comes to Scheme coding, because the task is essentially to meddle
> > with LilyPond internals.
> >
> > Obviously, I don't claim that this is something every user is supposed to
> > be able to do.
>
> Some remarks:
> (1) `meta'
> > \override TrillSpanner.meta.object-callbacks.side-support-elements =
> ...
>
> I'd never thought overriding `meta' is possible at all.
> Afaict, there is no example anywhere.
> Overriding other meta-subproperties like `class'may result in
> surprises, not tested, though.
>
> 

> And cc-code is locked from the user.
>

cc code on the user's machine is locked from the user.  But one can either
browse the source on gitlab or savannah, or one can clone the git
repository and get access to the source, even though you are not compiling
the source.  I recognize that this is challenging and difficult, but it is
possible.  I do it quite frequently now, since I don't have a development
setup on my computer.

 I say this not to disagree with your main points, with which I completely
agree.  But for someone who wants to look at the cc code, I thought it
would be nice to mention the possibilities.

Thanks,

Carl


Re: String roman numerals in 2.22.2

2022-08-02 Thread Carl Sorensen



From: lilypond-user  
on behalf of Matthew Pierce 
Sent: Monday, August 1, 2022 12:28 PM
To: lilypond-user@gnu.org 
Subject: String roman numerals in 2.22.2

New LilyPond user here, hello everyone. Fantastic tool.

Anyone got a method for roman numeral string indications on artificial 
harmonics in 2.22.2?

This code

  \romanStringNumbers
  \set stringNumberOrientations = #'(down)
  8-1-4\2

The way I read the problem, g and c\harmonic are on different strings.

So I just moved the string indication to the c\harmonic:

 \romanStringNumbers
  \set stringNumberOrientations = #'(down)
  8-1-4

and that worked for me.

Carl



Re: \time 9/8 (3/4)

2022-07-29 Thread Carl Sorensen
On Thu, Jul 28, 2022 at 1:52 PM Eef Weenink  wrote:

> This score starts with \time 9/8, but i also should have 3/4 feeling, so
> there is written:
>
> 9/8 (3/4)  (in parenthesis).


Just curious, because I know precious little about polymetry.

Does 9/8 (3/4) mean anything different from (3 + 3 + 3)/8 ?

To my novice eye, both mean that it's 9/8 with three primary beats per
measure.  Also to my novice eye, it seems that 9/8 can/t have a 3/4
alternate time signature; perhaps a (3/4.) , but not a (3/4).

I;m not trying to be argumentative, or say that the original
composer/engraver is wrong.   I'm just interested understanding some of the
new conventions.

THanks,

Carl


Re: Last note of a first alternative is a tie to the first note in the repeat; how to engrave this?

2022-07-28 Thread Carl Sorensen
On Thu, Jul 28, 2022 at 7:30 AM David Kastrup  wrote:

>
> The current naming is a drag.
>
> "\repeatTie" and "\laissezvibrer" are a stupid combination of terms for
> the two different half ties you need to deal with in the context of
> repeats or other visual non-linearities.
>

I completely agree.  Since there are other applications for a half tie, the
name shouldn't be \laissezvibrer.

>
> \startTie and \stopTie would make a lot more sense (even though they
> don't need to be matched at all).  \laissezvibrer might be an alias,
> though I am not sure whether it would not, in that function, be
> deserving of some tweaks giving it a longer minimal visual length.
>

I might prefer \beginTie and \endTie or \tieBegin and \tieEnd.   \startTie
and \stopTie don't seem to match the current usage of \startStaff and
\stopStaff, although I think it's not that big a deal.

>
> It could also be complemented by \startSlur and \stopSlur that have
> similar problems but actually differing visuals, and tend to reach
> closer to the respective bar line.
>
> Possibly \startSlur  and \stopSlur  in
> order to get sensible/matching curvature.
>

This sounds like a good proposal to me.  But maybe \slurBegin and \slurEnd?

Carl


Re: Fretboard diagrams: Why does LilyPond sometimes try to interpret ":7" as a duration?

2022-07-25 Thread Carl Sorensen
>
> > respectively, work fine. The third has a bit more going on, but adding:
> >
> > > 
> > > frets = { g4 c4 a4 d4:7 }
> > > 
> >
> > now gives me:
> >
> > > error: not a duration
> > >  g4 c4 a4 d4:
> > >  7
> >
> > (Without the frets score, everything is fine.)
>

You are not in \chordmode

frets = \chordmode{g4 c4 a4 d4:7}

Carl


Re: woodwind-diagram overrides

2022-07-20 Thread Carl Sorensen
On Wed, Jul 20, 2022 at 1:57 PM Orm Finnendahl <
orm.finnend...@selma.hfmdk-frankfurt.de> wrote:

> Hi,
>
> Am Mittwoch, den 20. Juli 2022 um 13:14:25 Uhr (-0600) schrieb Carl
> Sorensen:
> > The way to do this is to write the plain scheme code files as lilypond
> > files.
> >
> > Put the functions in a .ly file.
> >
> > Preface each function with # (to put the parser into scheme mode).
>
> Thanks, I'm aware of that but that's a bit tedious. I hoped there is
> an on/off command to put the lilypond parser into scheme mode before
> the scheme code and put it back into the normal mode afterwards, but
> assume from your answer this hasn't been implemented.
>

You could wrap the whole file in

# (begin
...
)

And you'd have scheme mode for the whole file.

Carl


Re: woodwind-diagram overrides

2022-07-20 Thread Carl Sorensen
On Wed, Jul 20, 2022 at 1:08 PM Orm Finnendahl <
orm.finnend...@selma.hfmdk-frankfurt.de> wrote:

> Hi,
>
>
> Alternatively: Is there a way to load the necessary scheme code of the
> functions in question by defining some \include statement for plain
> scheme code files in the .ly file, ensuring they are loaded "after"
> lilypond's files in /usr/share/lilypond/current/scm?
>

The way to do this is to write the plain scheme code files as lilypond
files.

Put the functions in a .ly file.

Preface each function with # (to put the parser into scheme mode).

Then include  the .ly file like you would any lilypond input file.

HTH,

Carl


Re: LilyPond on macOS (was: \repeat unfold has problems inside \repeat volta)

2022-07-02 Thread Carl Sorensen
On Sat, Jul 2, 2022 at 10:23 AM Jean Abou Samra  wrote:

> Le 02/07/2022 à 18:14, Carl Sorensen a écrit :
>
> > I can't currently run 2.23.10 on my Mac, so I can't try it,
>
>
> What is the problem you are encountering? I think that normally, it
> should work on all 64-bit-capable Macs.


I don't run LilyPond at the command line, but I use Frescobalidi.

When I extract the files from lilypond-2.23.10-darwin-x86_64.tar.gz and
place it in my Applications folder, then point Frescobald to lilypond in
bin/ , I get the following error:

Traceback (most recent call last):

File
"/Applications/Frescobaldi.app/Contents/Resources/lib/python3.5/frescobaldi_app/lilypondinfo.py",
line 224, in done

AttributeError: 'Process' object has no attribute 'process'


I assume I am mangling things by my usage, and I haven't had the time to
try to figure the problem out.


I'd welcome any insights on how to take that downloaded binary and put it
somewhere on my system so I can use it with Frescobaldi.


Thanks,


Carl





>


Re: \repeat unfold has problems inside \repeat volta

2022-07-02 Thread Carl Sorensen
On Sat, Jul 2, 2022 at 8:55 AM Jean Abou Samra  wrote:

>
>
> Le 02/07/2022 à 16:04, Simon Albrecht a écrit :
> > Hi David and others,
> >
> > On 01/07/2022 12:32, David Kastrup wrote:
> >> I don't think so.  The problem is that repeats now support putting the
> >> \alternative phrase inside of the construct since that is a saner way of
> >> doing things.  But the previous way is still supported for compatibility
> >> reasons.  Your input file could be interpreted either way, and the way
> >> LilyPond interprets it is not the one you intended.
> >>
> >> This is a design problem I think, and not a matter of you misreading the
> >> documentation.  No idea what a long-term resolution would look like.
> >
> >
> > I agree that the new syntax is more sensible. Wouldn’t it be an option
> > to deprecate the old syntax and disallow it in a future stable
> > release? It seems to me like it would be worth it, even if convert-ly
> > may only give a “Not smart enough, do it manually”-type warning.
>
>
> I am not sure that it is worth it. With \alternative being a frequently
> used construct, this is going to be pretty disruptive…
>
> Maybe it's possible to introduce other syntax, like another spelling for
> \alternative, or just using \volta without an \alternative block (there
> are reasons why this doesn't produce volta brackets right now, but there
> was a back-and-forth in that respect and I don't recall how it ended up
> exactly).
>
>
I can't currently run 2.23.10 on my Mac, so I can't try it, but could

  \repeat volta 2 {
 {\repeat unfold 8 { g8 r8 r8 d8 r8 r8 }}
 \alternative {
   \volta 1 { g8 r8 r8 d8 r8 r8 }
   \volta 2 { g8 r8 r8 g,8 r8 }
 }

solve the problem (by putting the repeat unfold in a sequential music
wrapper, and thus breaking its looking for an alternative?)

Carl


Re: Default language behavior for ChordNames has changed?

2022-06-10 Thread Carl Sorensen
On Fri, Jun 10, 2022 at 2:23 PM Jean Abou Samra  wrote:

>
>
>
> This is a known issue. This was added as a feature, but most people are
> finding it more of a quirk than a feature, especially since there's no
> built-in way to switch back to English. See
>
> https://gitlab.com/lilypond/lilypond/-/issues/6305
>
>
>
I propose we revert that commit.  It is broken.  We could fix it correctly,
but in the meantime, I think we should just revert it.

Carl


Re: Key and tie questions

2022-06-03 Thread Carl Sorensen
On Fri, Jun 3, 2022 at 11:16 AM Andrew Musselman 
wrote:

> As for the key signature, I am still seeing nothing about key in the pdf
> when I do this to remove all complexity:
>
> \version "2.22.2"
> \key d \major
> {
> a
> }
>

put the first brace before \key and it will give you what you want.

Please work your way carefully through the Learning Manual.  It is annoying
to do so, but it will provide you the basis you need to succeed in LilyPond.

A score is a single musical expression.

You have two musical expressions in this file:

A) \key d\major
B) { a }

Each is wrapped in its own score contect by default.  Score A creates no
output.  Score B creates the output of a single note, with no explicit key
signature, so c major is assumed.

If you do

{
\key d \major
a
}

then you will have a single music expression, and you will get a single
score that includes both the key signature and the note.

HTH,

Carl


Re: Cannot get clef and time on first measure

2022-06-02 Thread Carl Sorensen
On Thu, Jun 2, 2022 at 5:55 PM David Kastrup  wrote:

> Carl Sorensen  writes:
>
> > Seems like you got it right.
> >
> > I think you can also use skip-of-length in the lyrics.
>
> As a note aside: that only works because these are self-timed lyrics not
> under the control of \addlyrics or \lyricsto .  For the more common case
> of \addlyrics/\lyricsto skip-of-length would not do anything useful in
> the lyrics.
>

Yes, I should have mentioned that.  Thanks for catching that.

Carl


Re: Cannot get clef and time on first measure

2022-06-02 Thread Carl Sorensen
On Thu, Jun 2, 2022 at 5:53 PM Jean Abou Samra  wrote:

>
> In 2.23.9, you can already do \skip \melody_notes, which
> skips the duration of \melody_notes.


That is way cool!


> On the other hand, this
> doesn't allow subtracting a length. For that, you could do
> something like this:
>
> \version "2.23.9"
>
> mus = { c'1 2 4 4 1 1 }
>
> skipLengthMinus =
> #(define-music-function (music minus) (ly:music? ly:duration?)
> (skip (ly:make-duration 0 0 (ly:moment-main (ly:moment-sub
> (ly:music-length mus)
> (ly:duration-length minus))
>

As is this!  Thanks for sharing!


>
> { c'1 \skipLengthMinus \mus 1*2 c'1 }
>
>
>
> The first argument to \skipLengthMinus is the music whose
> length is the main source for the duration to skip. The
> second argument is a duration to subtract from that.
>
> Best,
> Jean
>
>


Re: Cannot get clef and time on first measure

2022-06-02 Thread Carl Sorensen
On Thu, Jun 2, 2022 at 4:13 PM Steven A. Falco 
wrote:

> I've now got version of the piece with no warnings or errors (attached),
> and it looks perfect.
>

Glad to hear it!

>
> I had to break some of the parts up so I could handle overlaps between the
> guitar parts and the melody, and while still using the "skip-of-length"
> constructs as much as possible.
>

That's pretty much the way you need to do it.

>
> I don't know if there is a cleaner way to handle the overlaps, but I'm
> open to suggestions.  Also, is there a way to do math on the skipped
> lengths?
>

Not that I know of.

>
> I could not figure out the scheme syntax for that yet, but if there was a
> way to say something like "#(skip-of-length melody_notes) minus one
> measure", that would be helpful.
>

Seems like you got it right.

I think you can also use skip-of-length in the lyrics.

Carl


Re: Cannot get clef and time on first measure

2022-06-02 Thread Carl Sorensen
On Thu, Jun 2, 2022 at 7:49 AM Steven A. Falco 
wrote:

> I have entered the attached music.  So far, I have not been able to get
> the clef or time signature to print on the first measure.
>

Steven,

The reason you cannot get the clef or the time signature to print on the
first measure is because you have removed the Time_signature_engraver from
your Staff and TabStaff contexts and you have set firstClef to #f, which
tells LilyPond not to print the first clef.

May I suggest that you take out all of the overrides, etc. from the various
parts, and just have the notes for the various parts.  Then, when you
combine the notes into a score, you put all of the overrides into the score
definition.

Also, may I suggest that in the chords you use \repeat unfold  and set
chordChanges = ##t.

You have some timing errors in your code.  You have eliminated bar checks
in the lyrics.  That is a dangerous practice.  Keep the bar checks in and
use the lyric durations as appropriate.

I've attached a partially reworked file to show what I'm thinking of.  it's
not right yet because of the bar check errors, but it show how I would do
it.

HTH,

Carl



H

>
> I can get the clef in the middle of the first measure by adding "\set
> Staff.forceClef = ##t" right after the first grace note in the
> "intro_part", but that doesn't work if I put it in front of the first grace
> note.
>
> Also, I have not been able to get the time signature to print.
>
> I'm guessing this is because of the way I'm including the "intro_part",
> but I'm not sure how else to include it.
>
> I also had to add a rest at line 68, because otherwise, the "outro_part"
> starts inside the repeat of the "melody_part".
>
> If anyone can suggest a better way to structure this, I'd appreciate it.
>
> Thanks,
> Steve


memphis.ly
Description: Binary data


Re: Chord mode: changing N.C.

2022-05-17 Thread Carl Sorensen
On Tue, May 17, 2022 at 1:26 PM Stephan Schöll  wrote:

> Hi all
>
> My impression that the mailing list has long delays somewhere seems to be
> confirmed... When I post to the mailinglist I don't get my own post in my
> inbox for a long time (an hour or so) I will keep an eye on that. Maybe
> it's on my side.
>
> Carl, where can I find any documentation for noChordMarkup? The link you
> mentioned writes about noChordSymbol (1 occurence on the english version of
> the page). Even (my) Google doesn't find anything about noChordMarkup.
>

You can't.  I typed it wrong because I was working on my phone, instead of
my computer.  It is noChordSymbol.

You can read (a little bit) more about noChordSymbol in the Internals
Reference:
https://lilypond.org/doc/v2.22/Documentation/internals/tunable-context-properties

https://lilypond.org/doc/v2.22/Documentation/internals/chordnames

https://lilypond.org/doc/v2.22/Documentation/internals/chord_005fname_005fengraver

You can see where the default value of \markup{"N.C"} is set here :
https://lilypond.org/doc/v2.22/Documentation/internals/score

It's a bit hard to figure out where the default value is set.  If you start
with the ChordNames context you see that the Chord_name_engraver is part of
the ChordNames context, and it reads the noChordSymbol property.  You can't
find any interfaces to set the noChordSymbol property, so I just move up in
the context hierarchy.

I don't need any other contexts to support a ChordNames context, so I just
look at the Score context.

And there I can see that the noChordSymbol is set to "N.C.".   To fix it I
can just set it to some other value, using the \
set command as described in
https://lilypond.org/doc/v2.22/Documentation/notation/overview-of-modifying-properties

I'm sorry about the confusion.  I hope this helps.

Carl


Re: Chord mode: changing N.C.

2022-05-17 Thread Carl Sorensen
On Tuesday, May 17, 2022, Henning Hraban Ramm  wrote:

> Hi Ponders,
>
> how can I change the rest symbol in chord mode from "N.C." to e.g. "–"?


\set noChordMarkup = "–"

https://lilypond.org/doc/v2.22/Documentation/notation/displaying-chords#printing-chord-names

Carl


Re: Openlilylib

2022-05-15 Thread Carl Sorensen
Andrew,

I don't have any expertise with OLL.  But I hate to see OLL just wither
away.  I would be happy to serve as a caretaker if that would help.  I
could take an ownership role with OLL, if you'd like.

Also, I'd be happy to try set up Scores of Beauty.  Do you have the source
that you downloaded from Urs's site?  Would you be willing to share it with
me?

Thanks,

Carl


On Mon, May 9, 2022 at 1:54 AM Andrew Bernard 
wrote:

> Hello All,
>
> I've been absent from the list for a long time, but recently got CC'd
> about an Openlilylib pull request.
>
> I must apologise for never getting around to updating the list on the
> Openlilylib project status. Some time ago I took over from Urs who is no
> longer able to do the work for private reasons I am not at liberty to
> share. All started well and I setup a Linux server and a Wordpress site
> and forum for the project. Taking over the code repository it had long
> needed a large amount of refactoring, which I started but this proved to
> be a complicated project for reasons I need not detain people with here.
>
> Then due to what can only be described as sheer stupidity I managed to
> irrecoverably destroy my Linux server (it's a long story). What happened
> after that is twofold. First, I am sorry to say that I was diagnosed
> with the quite rare blood cancer Multiple Myeloma some ten years ago
> now. It's fatal and incurable, though it can be managed well, especially
> by the hospital here in Melbourne, Australia which has a world leading
> research department specializing, amazingly, in the particular cancer.
> So although I am doing well sometimes large software tasks become very
> onerous and difficult, compared to before I became ill. Second, with the
> difficulties mentioned, it seemed to me that I only ever got less than
> half a dozen people signed up on the Discourse forum, and the project
> seemed hardly worth the effort to continue, even though I do know there
> are quite a few OLL end users. The sum of all this is that I have left
> it dormant for such a long time.
>
> So at present there is no repository owner to accept pull requests,
>
> I am not really able to restart this project, and very happy for others
> to pick up the ball. People are welcome to contact me for any advice.
>
> Once again, apologies for being incommunicado, and all the best to
> everyone.
>
>
> Andrew Bernard
>
>
>
>
>
>


Re: LilyPond 2.23.8 released

2022-04-27 Thread Carl Sorensen
On Wed, Apr 27, 2022 at 7:31 AM Freeman Gilmore 
wrote:

>
>
> On Wed, Apr 27, 2022 at 9:04 AM Tim's Bitstream 
> wrote:
>
>> 
>>
>> On Apr 26, 2022, at 9:32 PM, Freeman Gilmore 
>> wrote:
>>
>> 
>>
>>
>> On Tue, Apr 26, 2022 at 7:58 PM David Kastrup  wrote:
>>
>>> Freeman Gilmore  writes:
>>>
>>> > On Mon, Apr 25, 2022 at 3:50 PM David Kastrup  wrote:
>>> >
>>> >>
>>> >> We are happy to announce the release of LilyPond 2.23.8. This is
>>> termed
>>> >> a development release, but these are usually reliable. If you want to
>>> >> use the current stable version of LilyPond, we recommend using the
>>> >> 2.22.2 version.
>>> >>
>>> >> In this release, dropping Guile 1.8 support has finally become
>>> possible
>>> >> also for our sources. We'd like to dedicate this release to Ian Hulin
>>> >> who was one of the first systematically working on our numerous
>>> >> roadblocks for Guile 2 migration after tackling a few other high-level
>>> >> problems. In the time spans where his health permitted it, he was able
>>> >> to significantly reduce the amount of remaining problems for the
>>> Guile 2
>>> >> migration after having started working on them in 2010, making the
>>> goal
>>> >> that we finally reached now more tangible for others to work on after
>>> he
>>> >> left us in 2015.
>>> >>
>>> >> --
>>> >> David Kastrup
>>> >>
>>> >
>>> > Is there going to be a non binary version for windows coming soon?
>>>
>>> The source code is the same independent of operating system, so you
>>> apparently don't mean "source code" when you say "non binary".  What
>>> would your expectations of a "non binary version for windows" be?
>>>
>>> --
>>> David Kastrup
>>>
>> Ok i see it now, but this was my problem.   I know that the source code  
>> (binary)
>> is usually the same for all but I have never worked with source code
>> for LilyPond so when I read this, "Documentation writers and testers
>> will generally want to download the latest binary:" with 5 binaries
>> listed below,   *Note, the colon should be a period;* and make it look
>> like it is not the header for a listing.   I may not b the only dummy out
>> there!.
>> Thank you, ƒg
>>
>>
>> This sounds like a conversation at cross purposes.
>>
>> If you want to compile your own binary from source code, download the
>> source code and follow the instructions that you will find in the directory
>> (folder in Mac terms, don't know which language Windows uses).
>>
>> If you just want to install a working application, then download and
>> install the appropriate one of the precompiled ones from that list.  This
>> is what I do because it is just a lot simpler.I haven't compiled from
>> source in years since somebody else volunteers to do that for use with my
>> system.
>>
>> Linguistically the colon looks fine to me, since it indicates "use one of
>> the following:"
>>
> One of the following  binaries.   Sorry, that is the way I read it.
>  I understand what is meant now.   But if you do not have a clue what a
> binary is then My understanding of english is the header indicates that
> there are 5 binaries.It is not my website so leave it as it is.It
> has what I am looking for now that I am clear that Lilyond one binaries
> for all.   Like you, i am not interested i  the binaries.
>

LilyPond does *not* have one binary for all.  It has one source code for
all.

I think that there can be a bit of confusion here due to the fact that two
elements in the list aren't binaries.  There are three binaries: GNU/Linux
x86_64, macOS x86_64, and Windows x86_64.  Then there are two other links:
Source code and instructions for building with MacPorts.  Perhaps we could
separate the binaries from the other links.  That's what we do on the
stable download page.

HTH,

Carl


Re: Problem with Repeats and Alternatives

2022-04-20 Thread Carl Sorensen
On Wed, Apr 20, 2022 at 8:21 PM John Helly  wrote:

> Aloha.
>
> I've not used LP for a while but in coming back to it I've been struggling
> with repeats and find that this 'preferred syntax' does not seem to work in
> that it produces:
>

> Starting lilypond 2.20.0 [test2.ly]...
>
> Processing
> `/Volumes/Pegasus32R6/Music-100/Music-Lilypond/Songs/Our-Shangri-La/
> test2.ly'
>
> Parsing...
>
>
> /Volumes/Pegasus32R6/Music-100/Music-Lilypond/Songs/Our-Shangri-La/test2.ly:6:10:
> error: syntax error, unexpected \alternative
>
> ...
>
> \version "2.20.0"
> {
> \fixed c'' {
>\repeat volta 6 {
>  c4 d e f
>  \alternative {
>\volta 1,2,3 { c2 e }
>\volta 4,5 { f2 d }
>\volta 6 { e2 f }
> } }
> c1 }
> }
>

The error messages indicate that \volta is an "unknown escaped string", so
it's not correct.

I think you misunderstand how volta labeling works in 2.20.  Here's code
that works for me[1]:

\version "2.20.0"
{
\fixed c'' {
   \repeat volta 6 {
 c4 d e f}
 \alternative {
  { \set Score.repeatCommands = #'((volta "1. 2. 3.")) c2 e  }
  {  \set Score.repeatCommands = #'((volta #f) (volta "4. 5.")
end-repeat) f2 d }
   { e2 f }
 }
c1 }
}


HTH,

Carl

1.
https://lilypond.org/doc/v2.20/Documentation/notation/long-repeats#manual-repeat-marks


Re: bug in magnetic snapping lyrics engraver

2022-04-07 Thread Carl Sorensen
On Thu, Apr 7, 2022 at 10:04 AM Kieren MacMillan <
kie...@kierenmacmillan.info> wrote:

> Hi Werner (et al.),
>
> > This is ingenious :-) Thanks *a lot* for this solution.
>
> +1 (x2)
>
> > * I *strongly* vote for polishing and documenting this so that it can
> >  be added to LilyPond.  It's an invaluable feature IMHO, greatly
> >  enhancing Lyrics.
>
> YES PLEASE!!
>
>
Kieren, this might be a place for you to make your first commit, rather
than trying to get Charles's work in.  This is a much smaller piece of code
to polish and document.

Of course, I can't decide for you, but I thought it might be worth your
consideration.

Thanks,

Carl


Re: new behavior of lilypond-book-preamble.ly?

2022-03-30 Thread Carl Sorensen
On Wed, Mar 30, 2022 at 10:09 AM K. Blum  wrote:

>
> Am 30.03.2022 um 17:59 schrieb Carl Sorensen:
>
>
> But when I look at the code in OOoLilyPond/LilyPond.xba
> <https://github.com/OOoLilyPond/OOoLilyPond/blob/master/extension/OOoLilyPond/LilyPond.xba>
> I see that
>
>1. There is a way to check the LilyPond version
>2. The code already modifies include statements to add an appropriate
>path
>3. The code builds the command used to call lilypond
>
> Yes, that's true.
>
> As long as a modification of *how LilyPond is called on the command line*
> is sufficient, there is no problem at all.
> Would that be possible?
>

I don't know.  But the problem identified in the issue is related to adding
a new lilypond option (-dlilypondbookoutput), which I assume lilypond-book
calls but OOoLilyPond does not.  If I were trying to solve this problem,
that's where I would look to start.  I suspect that the new option should
be included when calling lilypond.

But I have no experience with using OOoLilyPond, so I don't know this for
sure.


>
> From what I read in Jean's response and on the GitLab issue page, I get
> the impression that it would be necessary to change the content of the *.ly
> files themselves. Is that correct?
>

I think that is not true.  Han-Wen said that the scheme code needed for
compatibility with previous versions was two ly:set-option calls.  And
ly:set-option calls are available from the command line: (See the Usage
Manual)
<https://lilypond.org/doc/v2.22/Documentation/usage/command_002dline-usage#advanced-command-line-options-for-lilypond>
.

HTH,

Carl


Re: new behavior of lilypond-book-preamble.ly?

2022-03-30 Thread Carl Sorensen
On Wed, Mar 30, 2022 at 9:25 AM K. Blum  wrote:

>
> Am 30.03.2022 um 17:15 schrieb Carl Sorensen:
>
>
> Is it not possible to make OOoLilyPond check for the LilyPond version and
> respond differently based on the LilyPond version?
>
> No, unfortunatly not:
> The use of lilypond-book-preamble.ly takes place in templates.
> These are dedicated *.ly files that can be modified by the user. Many
> people might build their own from scratch.
> Having OOoLilyPond responding differently would imply that users would
> have to modify all of their templates manually. I hope that there is a way
> to avoid that.
>

But when I look at the code in OOoLilyPond/LilyPond.xba
<https://github.com/OOoLilyPond/OOoLilyPond/blob/master/extension/OOoLilyPond/LilyPond.xba>
I see that

   1. There is a way to check the LilyPond version
   2. The code already modifies include statements to add an appropriate
   path
   3. The code builds the command used to call lilypond

Given these three things it seems that OOoLilyPond can modify its treatment
of both include files and the lilypond command to account for different
versions of LilyPond.  Whether it should have to or not is open for
discussion.

Thanks,

Carl

>
>


Re: new behavior of lilypond-book-preamble.ly?

2022-03-30 Thread Carl Sorensen
On Wed, Mar 30, 2022 at 8:41 AM K. Blum  wrote:

>
> Am 30.03.2022 um 00:53 schrieb Jean Abou Samra:
> >
> > This is
> >
> > https://gitlab.com/lilypond/lilypond/-/issues/6235
> >
> > You can get cropping with -dcrop in the command line or
> > #(ly:set-option 'crop) in your .ly file, but it is different in that
> > it generates a separate .cropped.xxx file in addition to a non-cropped
> > main .xxx file (with xxx = pdf most of the time).
> >
> > Jean
> >
> Merci, Jean.
>
> May I hope that someday we will get back the original behavior?
> I'm asking because the OOoLilyPond extension for LibreOffice and
> OpenOffice heavily relies on lilypond-book-preamble.ly (and has done
> that ever since).
> For the sake of backward compatibility, it is absolutely desirable to
> continue in the same way. Changing the workflow inside OOoLilyPond could
> make it unusable for LilyPond versions prior to 2.23.5.
> See https://github.com/OOoLilyPond


Is it not possible to make OOoLilyPond check for the LilyPond version and
respond differently based on the LilyPond version?

Forcing strict backwards compatibility can prevent necessary improvements
in software.  LilyPond is currently wrestling with this issue in Guile.  We
would love to have Guile 2 (and 3) work just like 1.8, but that's not the
case, so we need to adjust LilyPond.

Perhaps the same is true of OOoLilyPond.  I don't know if that's the case
or not, but that discussion should be entered into, IMO, with people from
both development communities.

THanks,

Carl


Re: Lirics in repeated multi-voice bar

2022-03-29 Thread Carl Sorensen
Hi Jogchum,

On Tue, Mar 29, 2022 at 5:08 AM Jogchum Reitsma  wrote:

> Hi,
>
> In bar 8 and 9 of the attached lilypond snippet, there is a split voice,
> in a repeat block.
>
> The text placement I get (added in the attached .pdf) is doubled,
> besides  of placing the two stanza fragments just beneath each other.
> (As such, the text placement is correct, but I need to get rid of the
> doubles.)
>
> Can anyone shed a light on what I'm doing wrong here?
>

You have created two new Lyrics contexts.  Each Lyrics context gets its own
horizontal line (think of it kind of like a staff).  So if you want things
to be in line, you need to make them part of the same lyrics context.

I'm not sure exactly what you are after.  I don't know if the bass2 notes
are supposed to be for the second time through the repeat, and the
alternate words go with the 3rd stanza, or do you want both bass1 and bass2
to be part of the second stanza?

If I knew what you were after, I could help you.

Thanks,

Carl

>
>


Re: Running 2.23.7 on Linux

2022-03-28 Thread Carl Sorensen
On Mon, Mar 28, 2022 at 6:56 AM Mats Bengtsson 
wrote:

>
> On 2022-03-28 12:02, Jogchum Reitsma wrote:
>
> Op 28-03-2022 om 07:29 schreef Kevin Pye:
>
> (OpenSUSE Leap 15.3 to be precise)
>
> So I've downloaded 2.23.7 and untarred into ~/Software/lilypond-2.23.7,
> created a symbolic link from ~/Software/lilypond-2.23.7/bin/lilypond to
> ~/bin/lilypond, and get the following...
>
> > ~/bin/lilypond --version
> GNU LilyPond 2.23.7 (running Guile 2.2)
>
> Copyright (c) 1996--2022 by
> Han-Wen Nienhuys 
> Jan Nieuwenhuizen 
> and others.
>
> This program is free software.  It is covered by the GNU General Public
> License and you are welcome to change it and/or distribute copies of it
> under certain conditions.  Invoke as `lilypond --warranty' for more
> information.
>
> > ~/bin/lilypond x.ly
> GNU LilyPond 2.23.7 (running Guile 2.2)
> Uncaught exception:
> Throw to key misc-error with args ("primitive-load-path" "Unable to find
> file ~S in load path" ("ice-9/boot-9") #f)Cannot exit gracefully when init
> is in progress; aborting.
> Aborted (core dumped)
>
> (with the same result whether the file exists or not).
>
> However...
>
> > ~/Software/lilypond-2.23.7/bin/lilypond x.ly
> GNU LilyPond 2.23.7 (running Guile 2.2)
> warning: cannot find file: `x.ly'
> fatal error: failed files: "x.ly"
>
> So it works if run directly from the installation directory, but not via a
> symbolic link.
>
> Any ideas?
>
> Kevin.
>
> Hi Kevin,
>
> I would throw this question on the opensuse-support list., since it's more
> OS-related than lilypond specific,I would think.
>
> I don't have the expertise to tell what goes wrong here, but it could be
> something with relative paths, which are different in case one starts from
> another point in the file system.
>
> I'm on Opensuse Tumbleweed, and there the version of lilypond is kept
> reasonably actual.
>
> I just tried doing a similar soft link in Ubuntu and I get exactly the
> same error message, so it's most likely not OS related.
>

Just a wild guess.  Do you have ~/bin/lilypond in your path?

Carl


Re: Chords from Fretboard Diagrams

2022-03-27 Thread Carl Sorensen
On Sun, Mar 27, 2022 at 4:09 PM Kieren MacMillan <
kie...@kierenmacmillan.info> wrote:

> Hi Valentin,
>
> > this is unrelated to ChordNames. Rather it just remaps chords
> > from \chordmode depending on Fretboards.
>
> I don't know how they interact exactly… Carl: Any comment on whether or
> not there's any intersection between Valentin's work and the GSoC work you
> did/mentored?
>

As far as I know, there is no interaction.

I think Valentin's work takes the pitches from the FretBoards and turns the
pitches in the FretBoards into chords on a regular staff.

Charles's GSOC work was to store the name of the chord such that one knew
what chord name was intended, especially in cases where there may be
alternate chordnames for the same pitches.

Carl


Re: Need help with \force-hshift or \shiftO... (off, on, onn, onnn, etc.)

2022-03-27 Thread Carl Sorensen
On Sun, Mar 27, 2022 at 2:01 PM Kevin Cole  wrote:

> In my more-than-minimal example, the b16 from the first voice gets
> merged with the b8. from the second voice. When I tried to create a
> minimum (non-working) example, the two didn't merge. But, what I want
> below is for the b8. from the first voice to merge with the b8. from
> the second voice.
>
> In other words, it should look like b16 b8. g16 with the b8. in the
> middle having stems going both directions.  Looking at examples that
> were over my head, I attempted \override \once \force-hshift in
> various places, but didn't accomplish anything.
>

Kevin,

If you want the heads to merge, they need to be at the same time step.

I think you are misinterpreting the original music.  The original music has
two downstemmed notes (b natural sixteenth plus b natural eighth) at the
same time as one upstemmed note (b dotted eighth).

To get the output in the image, just do this:

\version "2.20.0"
\language "english"

\layout {
  \autoBeamOff
}

global = {
  \key ef \major
  \time 4/4
}

melody = {
  \relative {
\global
<<
  { \voiceOne b'8. }
  \new Voice
  { \voiceTwo b16 b8 }
>>
\oneVoice
a8 b8 c4 r8 d8
  }
}

\score {
  \new Staff { \melody }
}

HOpe this helps,

Carl


Re: Placing stanza's at repeat

2022-03-27 Thread Carl Sorensen
Hi, Jogchum,

Please use Reply All to keep the messages on the user list.

On Sun, Mar 27, 2022 at 1:00 PM Jogchum Reitsma  wrote:

> Op 27-03-2022 om 20:14 schreef Carl Sorensen:
>
>
>
> On Sun, Mar 27, 2022 at 10:31 AM Jogchum Reitsma 
> wrote:
>
>> Hi,
>>
>> Brahms' Waldesnacht has an intro stanza number one, and after that a
>> twice repeated melody, with stanza's 2 and three.
>>
>>
>>
>> How can I achieves those stanza's to begin at the repeat?
>>
>
> Jogchum,
>
> It would normally be better to reduce your music to a one measure stanza
> and a one measure repeat before posting to the list.  That makes it easier
> for both you and the list members to see what is happening.
>
> Yes, you're right. I already removed al the other voices for this example,
> to keep only soprano, but I see that's still a lot of text...
>
>
> I've changed your code to show how I would do it.
>
> 1) Put stanza 1 music in a separate music variable.
> 2) Put repeat music in a separate music variable.
> 3) Make the soprano part by combining stanza 1 and  the repeat music.
> 4) Put one Voice and one NullVoice in your staff.
> a) The Voice has your soprano notes
> b) The NullVoice has a skip for the stanza 1 and notes from the repeat
> music.
> 5) Add two Lyrics contexts in parallel with the Staff (as part of the
> ChoirStaff)
>   a) The first Lyrics has the text for Verse 1 followed by the text for
> verse2.  It is put to the soprano voice
>   b) The second Lyrics has the text for Verse 3.  It is put to the
> nullvoice, so no lyrics go with the skip.
>
> And it all works out.
>
>
> Hope this is helpful.
>
> This is very helpful, , and it must have cost you some time to work it
> out. Many thanks!
>

Not too much time; you already had things set up very well to allow the
changes to be made easily.  It's just easier to see the structure if you
have fewer notes and lyrics...

> So I understand the \set associatedVoice isn't usable for this construct.
>
I'm not sure exactly why the \new Voice = "sopra_repeat" doesn't cause the
lyrics to start at the beginning of the repeat.   I'd guess it has to do
with having the \new Voice inside an automatically generated Voice context
(when you put \soprano inside  the Staff, a Voice is created.  And then you
create a new Voice inside that automatically-created Voice, so I assume
things get confused.

I ran a little test to see the differences between using \set
associatedVoice and \lyricsto.  I can make them both work.  See the
attached code.  But not that in both cases, I separate the notes from the
contexts, and I explicitly create my contexts, which I think is good
practice.

HTH,

Carl;
version "2.22.1"

musI = \relative {c'4 d e f}
musII = \relative {g'4 a b c}

lyrI = \lyricmode {\set stanza = "1. " One one one one}
lyrII = \lyricmode {\set stanza = "2. " Two two two two}
lyrIII = \lyricmode {\set stanza = "3. " Three three three three}

\score{
  <<
\new Staff {
  \new Voice = "m1" \musI
  \new Voice = "m2" \musII
 }
   \new Lyrics="lyrOne" {
 \set associatedVoice = "m1"
 {  \lyrI
\lyrII }
   }
   \new Lyrics ="lyrThree" {
 \lyricsto "m2" { \lyrIII}
   }
  >> % end of music
  \layout{}

} % end of score

\score{
  <<
\new Staff <<
  \new Voice = "m1" {\musI \musII}
  \new NullVoice = "m2"  {
#(skip-of-length musI)
\musII
  }
  >>


   \new Lyrics="lyrOne" \lyricsto "m1" {
 { \lyrI
\lyrII }
   }
   \new Lyrics ="lyrThree" {
 \lyricsto "m2" {\set stanza = "3. " \lyrIII}
   }
  >> % end of music
  \layout{}

} % end of score


Re: Placing stanza's at repeat

2022-03-27 Thread Carl Sorensen
On Sun, Mar 27, 2022 at 10:31 AM Jogchum Reitsma 
wrote:

> Hi,
>
> Brahms' Waldesnacht has an intro stanza number one, and after that a
> twice repeated melody, with stanza's 2 and three.
>
>
>
> How can I achieves those stanza's to begin at the repeat?
>

Jogchum,

It would normally be better to reduce your music to a one measure stanza
and a one measure repeat before posting to the list.  That makes it easier
for both you and the list members to see what is happening.

I've changed your code to show how I would do it.

1) Put stanza 1 music in a separate music variable.
2) Put repeat music in a separate music variable.
3) Make the soprano part by combining stanza 1 and  the repeat music.
4) Put one Voice and one NullVoice in your staff.
a) The Voice has your soprano notes
b) The NullVoice has a skip for the stanza 1 and notes from the repeat
music.
5) Add two Lyrics contexts in parallel with the Staff (as part of the
ChoirStaff)
  a) The first Lyrics has the text for Verse 1 followed by the text for
verse2.  It is put to the soprano voice
  b) The second Lyrics has the text for Verse 3.  It is put to the
nullvoice, so no lyrics go with the skip.

And it all works out.

\version "2.22.1"

\header {
  title = "Waldesnacht"
  subtitle = "(Aus dem Jungbrunnen von Paul Heyse)"
  composer = "Johannes Brahms"
  opus = "62 nr. 3"
}

\paper {
  #(set-paper-size "a4")
}

global = {
  \key d \major
  \numericTimeSignature
  \time 4/4
  \tempo "Etwas langsam"
}

sopranoStanzaOne= \relative c' {
  \global
fis4 \p ^\markup { \italic "dolce" } a e4. fis8
g4 fis e2
e4 a2 b4
cis d a4. g8
fis4. r8 a4 a
a4. g8 g4 g
g4. f8 f4 ^\markup { \italic "cresc" } e
 d4. d8 dis4 dis
e8 r
e'2 e4
e2. cis4
a2. f4
e4. r8 g4.\( \pp g8
g4. g8 fis4. b8
b2 e,4 \) r
a4. \( a8 d,4. g8\)
g1
r2 fis4 \p a
e4. fis8 g4 b
fis4.fis8 b4 d
d4. \f a8 a4. g8
fis4 c'2 \f a4
fis2.(e4~
e) d d2~
d cis d2 \fermata r}

sopranoRepeat = \relative c' {
fis4  \p ^\markup { \italic "dolce" } a e4. fis8
g4 fis e2
e4 a2 b4
cis d a4. g8
fis4. r8 a4 a
a4. g8 g4 \p g
g4. f8 f4 ^\markup { \italic "cresc" } e
d4. d8 dis4 dis
e8 r e'2 e4
e2. cis4
a2. f4
e4. r8 g4. \pp \( g8
d4. g8 fis4. b8
b2 e,4 \) r
a4. \( a8 d,4. g8 \)
g1
r2 fis4 \p a
e4. fis8 g4 b
fis4. fis8
b4 d
d4. \f a8 a4. g8
fis4 c'2 \f a4
fis2.( e4~
e) d d2~
d cis
d \fermata r
}

soprano = \relative c' {
  \sopranoStanzaOne
  \repeat volta 2 \sopranoRepeat
}

alto = \relative c' {
  \global


}

tenor = \relative c' {
  \global

}

bass = \relative c {
  \global

}

sopranoVerseOne = \lyricmode {
  \set stanza = "1."
Wal -- des -- nacht, du wun -- der -- küh -- le,
die ich tan -- send Ma -- le grüß;
nach dem lau -- ten Walt -- ge -- wüh -- le,
o, wie is dein Rau -- schen süß,
o, wie is dein Rau -- schen süß!
Trau -- me -- risch die mü -- den Glie -- der
erg ich weich ins Moos,
und mir ist, als würd ich wie -- der
all der ir -- ren Qua -- len los,
all der ir -- ren Qua -- len los.
}

sopranoVerseTwo = \lyricmode {
  \set stanza = "2."
Fer -nes Flö -- ten -- lied,
}

sopranoVerseThree = \lyricmode {
  \set stanza = "3."
In den heim -- lich
}

\score {
  \new ChoirStaff <<
  \override Score.BarNumber #'break-visibility = #end-of-line-invisible
\new Staff \with {
  midiInstrument = "choir aahs"
  instrumentName = "Soprano"
  shortInstrumentName = "S."
} <<
  \new Voice = "sopVoice" {\soprano }
  \new NullVoice = "sopStanzaThree" {
#(skip-of-length sopranoStanzaOne)
\sopranoRepeat
  }
>>% end of Staff Material
\new Lyrics \lyricsto "sopVoice" {\sopranoVerseOne \sopranoVerseTwo}
\new Lyrics \lyricsto "sopStanzaThree" {\sopranoVerseThree}

  >> %end of ChorStaff
  \layout { }

}

Hope this is helpful.

Carl


Re: Should \partial accept music instead of duration?

2022-03-24 Thread Carl Sorensen
On Thu, Mar 24, 2022 at 3:18 PM Valentin Petzel  wrote:

> Hello Carl,
>
> I don’t think recreating \partial is the best thing to do. After all we
> can
> simply do
>
> pickupNotes =
> #(define-music-function (mus) (ly:music?)
>(let* ((mom (ly:music-length mus))
>   (dur (make-duration-of-length mom)))
>  #{
>\partial #dur
>#mus
>  #}))
>
> Cheers,
> Valentin
>

Yes, way better!  Thanks!

This can be a snippet in the docs, as far as I'm concerned.

Carl


>
>


Re: Should \partial accept music instead of duration?

2022-03-24 Thread Carl Sorensen
On Thu, Mar 24, 2022 at 12:48 PM Valentin Petzel  wrote:

> Another idea: We could have a command like partialDuring or partialWith.
>

Here's what I wrote, renaming Aaron's function:

pickupNotes =
#(define-music-function (mus) (ly:music?)
   (_i "Make a partial measure.")
   (let* ((mom (ly:music-length mus))
  (dur (make-duration-of-length mom)))
 (make-music 'SequentialMusic
   'elements
   (list (context-spec-music
   (make-music 'PartialSet
   'origin (*location*)
   'duration dur)
   'Timing)
 mus


\relative
{
  \time 4/4
  \pickupNotes {c'8 d} |
  e4 f g a
}

I think it's nicely descriptive and doesn't need to use convert-ly.

Carl


Re: text spanner around a line break restates the text, this is not wanted

2022-03-23 Thread Carl Sorensen
On Tue, Mar 22, 2022 at 11:57 PM Kenneth Wolcott 
wrote:

> Thank you for your assistance, Leo.
>
> With your example I was able to remove the duplicate text in the text
> spanner, but I was not able to get the text spanner to continue beyond bar
> #38.
>
> So, I will spend more time studying what you have provided and hopefully I
> will understand how to fix it completely.
>
>
Ken,

If you want to get better assistance, you should really send code snippets,
not screenshots of code snippets.

When we have to make up code to replicate your problem, we have no idea if
we're actually solving your problem.

If we can test changes to your actual code, we can see if it works.

Thanks,

Carl


>
>>


Re: can someone point me to complete documentation for the partial command argument syntax?

2022-03-19 Thread Carl Sorensen
On Sat, Mar 19, 2022 at 2:41 PM Sam Roberts  wrote:

>
> For my more general understanding, is there documentation anywhere for
> the syntax of the argument to partial? Something that will explain the
> * syntax shown on this page?
>
>
> https://music.stackexchange.com/questions/106875/how-to-write-a-pickup-measure-with-5-16-duration-in-lilypond
>
> The argument to \partial is a duration.

The * syntax is described here:

https://lilypond.org/doc/v2.22/Documentation/notation/writing-rhythms#scaling-durations

The 16*5 means a duration of 1/16 multiplied by 5 which is 5/16, exactly
what you wanted.

Thanks,

Carl

>
>


Re: problems with \tempo

2022-03-16 Thread Carl Sorensen
I'm sorry to top post.  My outlook online email client doesn't work well with 
the Liypond mailer, and my desktop Outlook client is broken right now.

Have you looked at the lilypond log file?  Your snippet creates errors.

var/folders/q5/88k2s1717qv1v7rq4tqz53k8gn/T/frescobaldi-5i3u1hok/tmpc7w_p6ze/document.ly:4:28:
 error: not a note name: …

 \tempo "Allegro" 2 = 200  
                           … 400 … 600
/var/folders/q5/88k2s1717qv1v7rq4tqz53k8gn/T/frescobaldi-5i3u1hok/tmpc7w_p6ze/document.ly:4:30:
 error: not a duration
 \tempo "Allegro" 2 = 200  … 
                             400 … 600
/var/folders/q5/88k2s1717qv1v7rq4tqz53k8gn/T/frescobaldi-5i3u1hok/tmpc7w_p6ze/document.ly:4:34:
 error: not a note name: …
 \tempo "Allegro" 2 = 200  … 400 
                                 … 600
/var/folders/q5/88k2s1717qv1v7rq4tqz53k8gn/T/frescobaldi-5i3u1hok/tmpc7w_p6ze/document.ly:4:36:
 error: not a duration
 \tempo "Allegro" 2 = 200  … 400 … 
                                   600

You have improper lilypond code.

The code below should give you accelerating tempo in midi (but it does it in 
steps, not continuously).
 theMusic = \relative {
 \tempo "Largo" 4 = 50
 c''4 c c c |
 \tempo "Allegro" 2 = 200
 c2 c 
 \set Score.tempoHideNote = ##t
 \tempo 2 = 400
c c |
 \set Score.tempoHideNote = ##t
 \tempo 2 = 600
 c c c c |
}

Carl



From: lilypond-user  
on behalf of Mario Bolognani 
Sent: Wednesday, March 16, 2022 10:20 AM
To: Knute Snortum
Cc: lilypond-user
Subject: Re: problems with \tempo

Many thanks Knute,

using your snippet in this way:

theMusic = \relative {
 \tempo "Largo" 4 = 50
 c''4 c c c |
 \tempo "Allegro" 2 = 200  … 400 … 600
 c2 c c c |
}

nothing changes. The midi output of “Allegro” is not going progressively faster.

Mario


Mario Bolognani
mario.bologn...@gmail.com



> Il giorno 16 mar 2022, alle ore 15:46, Knute Snortum  ha 
> scritto:
>
> As always, a small, working example will help diagnose the problem and
> demonstrate to us what is going wrong.  For instance, this snippet
> works fine for me:
>
> %%%
> \version "2.22.2"
>
> theMusic = \relative {
>  \tempo "Largo" 4 = 50
>  c''4 c c c |
>  \tempo "Alegro" 4 = 120
>  c4 c c c |
> }
>
> \score {
>  \new Staff \theMusic
>  \layout {}
>  \midi {}
> }
> %%%
>
> --
> Knute Snortum
>
>
> --
> Knute Snortum
>
>
>
> On Wed, Mar 16, 2022 at 1:47 AM Jacques Menu  wrote:
>>
>> Hello Mario,
>>
>> The \midi block is your friend:
>>
>> \book {
>>  \score {
>>    <<
>>
>>      \new Staff = "Part_POne_Staff_One"
>>      \with {
>>      }
>>      <<
>>        \context Voice = "Part_POne_Staff_One_Voice_One" <<
>>          \Part_POne_Staff_One_Voice_One


>>

>>
>>    \layout {
>>      \context {
>>        \Score
>>        autoBeaming = ##f % to display tuplets brackets
>>      }
>>      \context {
>>        \Voice
>>      }
>>    }
>>
>>    \midi {
>>      \tempo 16 = 360
>>    }
>>  }
>>
>> }
>>
>>
>> Le 16 mars 2022 à 05:08, Mario Bolognani  a écrit 
>> :
>>
>> I’m using LilyPomd 2.20 with Frescobaldi 3.1.3 on a MacBook M1 with  MacOSX 
>> Monterey (last version). With \time 3)1 and \tempo \breve (or breve.) = xx 
>> the midi output seems not responding to \tempo changes. Any suggestion?
>>
>> Many thanks
>>
>>
>> Mario Bolognani
>> mario.bologn...@gmail.com
>>
>>
>>
>>





Re: LilyPond 2.23.6 released

2022-02-25 Thread Carl Sorensen


On 2/16/22, 7:37 AM, "lilypond-devel on behalf of Thomas Scharkowski" 
 wrote:

Hi all,

I installed this version today, everything seems to work.
It might be of interest that the MacPorts version of 2.23.6 runs around 
three times faster on my MacBookPro M1, macOs 12.1

Carver Missa compile times are 28,6“ and 10,3“ MacPorts version. 

Is it possible that Jonas's binaries are built for i86_64, while the MacPorts 
version build on Thomas's machine are built for M1?  If that is the case, the 
speed difference is probably due to the use of Rosetta 2 to run lilypond, 
rather than being in M1 native.

I don't know if this is the case, but wanted to throw the idea out.

Carl
 



Re: inconsistent \RemoveEmptyStaves action

2022-02-22 Thread Carl Sorensen


On 2/22/22, 3:29 PM, "lilypond-user on behalf of Lukas-Fabian Moser" 
 wrote:

Hi Simon,

> This is a minimal example for the issue you were having:
>
> %%%
> \version "2.22.1"
>
> upper = { 1 \break 1 }
> lower = { R1*2 }
>
> \score {
>   \new PianoStaff << \upper \lower >>
>   \layout {
> \context {
>   \Staff
>   \RemoveEmptyStaves
> }
>   }
> }
> 

Now that's interesting: For my taste, this is _too_ minimal. I don't 
wouldn't recommend relying on the implicit creation of contexts to turn 
\upper and \lower into staves (as opposed to, for instance, voices).

So, I would always write

\new PianoStaff
<<
   \new Staff \upper
   \new Staff \lower
 >>

Do you consider this inferior (or unnecessarily verbose and therefore 
non-minimal)?

I don't think it makes any difference in this particular situation.  Both work 
appropriately.   Personally, I always explicitly instantiate all of my contexts.

Carl
 



Re: Edit scheme files with Frescobaldi

2022-02-10 Thread Carl Sorensen


From: lilypond-user  
on behalf of Carl Sorensen 
Date: Thursday, February 10, 2022 at 3:20 PM
To: Curt McDowell , "lilypond-user@gnu.org" 

Subject: Re: Edit scheme files with Frescobaldi



From: lilypond-user  
on behalf of Curt McDowell 
Date: Thursday, February 10, 2022 at 3:08 PM
To: "lilypond-user@gnu.org" 
Subject: Edit scheme files with Frescobaldi


Hi all,

Some of my projects #(load "external_scheme_files"). For example, if song.ly 
contains

\version "2.20.0"

\include "articulate.ly"

#(load "swing.scm")

\header {

...

then if I open song.ly in Frescobaldi and use Engrave (preview), it doesn't 
find swing.scm (doesn't know to copy it to the tempdir?) And if I Open 
swing.scm in Frescobaldi, it tries to compile that as a .ly format.

Is there a way to open .scm files in Frescobaldi alongside the .ly files, be 
able to edit them all and engrave/publish on demand (maybe using a session)? I 
haven't found how in the docs.

The way I do it is to embed the scheme code in an ly file.  Instead of calling 
it “swing.scm”, call it “swing.ly”, and preface functions with # as needed.  
And then you can just \include “swing.ly”.

Or, if the file is used in lots of your projects, you can include a path along 
with the file name in your load call.

Carl




Re: Edit scheme files with Frescobaldi

2022-02-10 Thread Carl Sorensen


From: lilypond-user  
on behalf of Curt McDowell 
Date: Thursday, February 10, 2022 at 3:08 PM
To: "lilypond-user@gnu.org" 
Subject: Edit scheme files with Frescobaldi


Hi all,

Some of my projects #(load "external_scheme_files"). For example, if song.ly 
contains

\version "2.20.0"

\include "articulate.ly"

#(load "swing.scm")

\header {

...

then if I open song.ly in Frescobaldi and use Engrave (preview), it doesn't 
find swing.scm (doesn't know to copy it to the tempdir?) And if I Open 
swing.scm in Frescobaldi, it tries to compile that as a .ly format.

Is there a way to open .scm files in Frescobaldi alongside the .ly files, be 
able to edit them all and engrave/publish on demand (maybe using a session)? I 
haven't found how in the docs.

The way I do it is to embed the scheme code in an ly file.  Instead of calling 
it “swing.scm”, call it “swing.ly”, and preface functions with # as needed.  
And then you can just \include “swing.ly”.

HTH,

Carl




Re: Log4j Vulnerability Status

2022-02-07 Thread Carl Sorensen
Our product does not use Log4j, so it has no Log4j vulnerability.  Furthermore, 
we do not provide SaaS.  We provide downloadable binaries, with software run on 
local users’ computers and no connection to the cloud.

Carl


From: lilypond-user  
on behalf of Murphy Sifa 
Date: Monday, February 7, 2022 at 3:52 PM
To: "lilypond-user@gnu.org" 
Cc: Andrew Morgan 
Subject: Log4j Vulnerability Status


Hi Lilypond Software,



We are analysing our suite of SaaS vendors for exposure to the log4j 
vulnerability. I can’t find a statement on your page about the products that La 
Trobe is using.

Can you please provide me with the log4j vulnerability status of your products?



Thank you
IS-Security La Trobe University



Re: (Solved)Re: To get rid of the horizontal line before the footnotes?

2022-02-07 Thread Carl Sorensen


On 2/7/22, 8:57 AM, "lilypond-user on behalf of Richard Shann" 
 wrote:

On Mon, 2022-02-07 at 13:41 +0100, Jean Abou Samra wrote:
> Le 05/02/2022 à 12:50, Richard Shann a écrit :
> > On Sat, 2022-02-05 at 11:30 +, Richard Shann wrote:
> > > Is there a way to drop the line that is drawn below the systems
> > > above
> > > the footnotes?
> > Sorry for asking before searching the mailing-list archives,
> > 
> > \paper { footnote-separator-markup = ##f }
> > 
> > is the answer I see. The docs often still defeat me, just too much
> > stuff :(
> 
> 
> 
> How about using the indices? Looking at
> 
> 
https://lilypond.org/doc/v2.22/Documentation/notation/lilypond-index.html#lilypond-index_cp_letter-F
> 
> around 'footnote' directs you to 'footnote-separator-markup'
> immediately.

Thanks-
It's good that it's there - I often look in those indices to
try and track things down; what that entry leads to is an entry in a
section called "Miscellaneous paper variables", I must have missed it.
I wonder if that entry in that section would be better placed in the
section on footnotes 

https://lilypond.org/doc/v2.22/Documentation/notation/creating-footnotes

I gave this section a good read. I noticed it did document annotation-
line which I picked up on when I was implementing footnotes in Denemo
some years ago, but no mention of the footnote-separator ...

The footnote-separator markup is listed in the first paragraph of the page on 
the link you sent.

" In all cases, a ‘footnote mark’ is placed as a reference in text or music, 
and the corresponding ‘footnote text’ appears at the bottom of the same page, 
separated from the music by a horizontal line. The appearance of this separator 
can be changed by setting the paper variable footnote-separator-markup, see 
Miscellaneous \paper variables."

Carl
 



Re: Extracting a "score diff" from two [or more] Lilypond sources

2022-01-22 Thread Carl Sorensen
Just thinking out loud -- could a diff in the midi events be helpful?  The midi 
events represent sounds, which is the most important output the musicians need 
to know about, and they are virtually unaffected by tweaks, etc.

Ccarl


From: lilypond-user  
on behalf of Kieren MacMillan 
Sent: Saturday, January 22, 2022 3:34 PM
To: David Kastrup
Cc: Lilypond-User Mailing List
Subject: Re: Extracting a "score diff" from two [or more] Lilypond sources

Hi David,

> What version control system are you using for your score?  It will
> probably easiest to look at the source code diffs and do a manual
> summary from those.

The problem is that during various stages of composition / arranging / 
engraving / coding:
   1. there can be huge differences in code that represent only a few small 
differences in notated output;
   2. there can be very small differences in code that represent many/large 
differences in notated output; and
   3. there can be many, many small changes in code (cleanup, variable-izing, 
moving tweaks to/from the edition-engraver, file splitting, etc.) that 
literally have *no* effect on the notated output.

Especially in the third case, combing through all those changes to manually 
summarize changes worth noting to others would be time-consuming and 
error-prone. If my process were more luxurious, I'd do a "'notable changes' 
only" pass, manually summarize the diff(s), and then do the other code work in 
a separate pass — the issue is that the timeline of a workshop doesn't grant me 
that luxury, so I was hoping there was an automagic way of figuring out exactly 
and only those things that needed to be communicated to the MD/performers in 
any given score update.

Thanks,
Kieren.



Re: warning: forced break was overridden by some other event, should you be using bar checks?

2022-01-12 Thread Carl Sorensen


On 1/12/22, 3:24 PM, "lilypond-user on behalf of Kenneth Wolcott" 
 wrote:

Yes, disabling line breaks removes the warning.  BTW, repeat volta 0
is in use; is that relevant?

Why would one use \repeat volta 0?  It seems to make no sense to repeat a chunk 
of music 0 times.


Thanks again,
Ken

On Wed, Jan 12, 2022 at 2:20 PM Kenneth Wolcott
 wrote:
>
> Hi;
>
>   Is there a bug in the Lilypond parser regarding bar checks?
>
This isn't a parsing problem, it's an interpretation problem  It shows up after 
parsing is completed.

It is somewhere between bars 32 and 40.

It will be somewhere where you have a /break command.

You are trying to break a line where there is music on either side of a break 
(e.g. one voice has c1, the other voice has a2 \break a2.)

Bar checks will catch this because you will have some place you think you are 
at the end of a bar (and that's where you put the \break), but you aren't 
actually at the end of a bar; you're in the middle of a measure with one or the 
other voice).

HTH,

Carl


>   It would be nice if Lilypond would let me know more specifically
> where this warning occurred, shouldn't it know?
>
>   I don't see the error in my engraving that would cause this and I'm
> having trouble using the 8/16/24/32 to determine where the problem is.
>
>   Yes, I know I should do a block comment (determine location by use
> of bisection), but, still, why can't Lilypond tell me which line in
> the source is problematic?
>
> Thanks,
> Ken Wolcott
>
> GNU LilyPond 2.22.1
> Processing `Walzer.ly'
> Parsing...
> Interpreting music...[8][16][24][32]
> warning: forced break was overridden by some other event, should you
> be using bar checks?
> [40][48][56]
> Preprocessing graphical objects...
> Interpreting music...
> MIDI output to `Walzer.midi'...
> Finding the ideal number of pages...
> Fitting music on 1 or 2 pages...
> Drawing systems...
> Converting to `Walzer.pdf'...
> Success: compilation successfully completed





Re: Relative Tempo Markings in Lilypond 2.22

2021-12-29 Thread Carl Sorensen


On 12/29/21, 6:20 PM, "lilypond-user on behalf of David M. Boothe, CAS" 
 wrote:

I have a score in 2.18, one section of which uses with the following code:

\tempo \markup { \pad-to-box #'(0 . 0) #'(8 . 10)
  \concat {
{ \override #'(font-name . "Linux Biolinum Slanted")
\fontsize #1 "Musette  " }
  (
  \small \general-align #Y #DOWN \note #"8" #1
  " = "
  \small \general-align #Y #DOWN \note #"8" #1
  )
  }
  }
This produces the section title followed by eighth note equals eighth
note, in parentheses.

When I tried to render the score in 2.22, I received the following
error message:

/music_typeset/tonsing_pm+f/tonsing_pm+f3.ly:147:52: error: wrong type
for argument 1.  Expecting duration, found "8"
  \small \general-align #Y #DOWN \note
   #"8" #1
As best I can tell, I'm using the form given in the manual, so I'm not
sure what this error means or how to fix it. Commenting out the code
to create the "Musette" title makes no difference.

I'm using Lilypond in Frescobaldi on WIndows 10.

convert-ly will fix this for you.

The argument for \note changed from a string ( #"8")  to a duration ({8}).  See 
http://lilypond.org/doc/v2.22/Documentation/changes/

HTH,

Carl
 



Re: top/bottom margins?

2021-12-29 Thread Carl Sorensen


On 12/29/21, 3:25 PM, "jh"  wrote:

very curious.  So your example printed better than mine the footnote is 
very close to the edge and the top is very far down.
So I opened librewriter cut the margins to .5 and filled the top and two 
lines of text at the bottom and there is no loss at the bottom and no 
extra space at the top.
So this is a problem that is connected to the program more than the 
printer.  The github links didn't inform me much as I am not that kind 
of tech person (as if you couldn't tell) and I have never used github 
and don't have an account.

I think I'm asking "is there a way to manually set the margins in 
lilypond?"

I think the issue is a Frescobaldi issue, not a LilyPond issue, as the links 
Federico shared point out.

Instead of printing from Frescobaldi, try opening up the saved pdf file that is 
created by LilyPond and stored by Frescobaldi in the working directory.  Open 
the pdf in some pdf viewer (evince is a Free pdf viewer) and try printing from 
the viewer.  See if you still have the problem.

HTH,

Carl




Re: top/bottom margins?

2021-12-29 Thread Carl Sorensen


On 12/29/21, 12:09 PM, "jh"  wrote:

thanks- not sure what to do next the printer settings are as expected.
will have to think some more about it I guess.
J

Here's the pdf I created.  See if it prints for you.


Carl






Jay-Hamilton-24-5-Dec.pdf
Description: Jay-Hamilton-24-5-Dec.pdf


Re: top/bottom margins?

2021-12-29 Thread Carl Sorensen
I added a score to your file to make it pring something.

It generates a perfect PDF on my system.  No extra space at the top or bottom.

\version "2.22.0"
\header {
  title = "24-5 Dec"
  subtitle = "chaconne"
  composer = "Jay Hamilton"
copyright = \markup { \tiny \override #'(baseline-skip . 0.5)
\center-column
{  "CC lic 2.5 some rights reserved Jay Hamilton 2021"
"see http://creativecommons.org/licenses/by-nd/2.5/";
   } }
   }
#(ly:set-option 'delete-intermediate-files #t)
#(set-default-paper-size "letter" )
 #(set-global-staff-size 20)

\score{
  {c'4}
}

Carl




Re: top/bottom margins?

2021-12-29 Thread Carl Sorensen


On 12/29/21, 9:22 AM, "lilypond-user on behalf of jh" 
 wrote:

hello using 2.22 and current version of Frescobaldi.  using 'letter' and 
a new printer Canon
lately the top margin above the header has gotten wider and the footnote 
(2 lines smaller font) on the first page of scores is getting cut off or 
the bottom line is cut in half.

Is the easy solution to go smaller overall my default is 20 or is there 
a paper solution that would do this?

I expect that you are using A4, rather than letter, as your paper definition.

Can you share a simple file that has the problem?

The Frescobaldi score wizard allows you to select letter as the paper size.  If 
you do nothing to specify a paper size, you will get A4.

HTH,

Carl
 



Re: optional cue notes (copied to list this time

2021-12-27 Thread Carl Sorensen

On 12/27/21, 12:02 PM, "lilypond-user on behalf of Paul Scott" 
 wrote:

How can I get two note heads on a single stem and have one of the note 
heads be smaller?

Does this work for you?

\version "2.22"

\score{
   \new Staff {
 \fixed c' {
  
 }
   }
}

HTH,

Carl




Re: String at the bottom of a cover page without using \markup

2021-12-17 Thread Carl Sorensen


From: lilypond-user  
on behalf of Paolo Prete 
Date: Friday, December 17, 2021 at 12:06 PM
To: Kieren MacMillan 
Cc: Valentin Petzel , Lilypond-User Mailing List 

Subject: Re: String at the bottom of a cover page without using markup

Hello again Kieren ;-)

On Fri, Dec 17, 2021 at 7:57 PM Kieren MacMillan 
mailto:kie...@kierenmacmillan.info>> wrote:
Hi Paolo,

> As explained before, I don't want to proceed in this way. The string that I 
> have to write at the bottom of the page is part of the *body*, not of the 
> footer.
> I don't want to mess up the template.

Then just place it as an additional markup, between the last system of music 
and the footer, on whichever page(s) you want.
I guess I don't understand the problem…

As said in the first post of the thread, I don't know how to make it appear at 
the bottom of the page of the first page (no score)...

A minimal example that shows your problem would help people answer your 
question appropriately.

Carl


Re: Persian accidentals (koron and sori)

2021-12-06 Thread Carl Sorensen
These look lovely to me, but I'm not a Persian music expert.

Carl



 



Re: justify

2021-12-01 Thread Carl Sorensen


From: lilypond-user  
on behalf of E Appeldoorn 
Reply-To: E Appeldoorn 
Date: Wednesday, December 1, 2021 at 12:37 PM
To: "lilypond-user@gnu.org" 
Subject: justify

I have a score with multiple instruments where some instruments have the 
\appoggiatura, but the voices above (and/or) below are simple straight voices.
When compiling the score the voice without the \appoggiatura looks uneven. 
There is extra space between the notes where in the other voice is the \appog.
I thought it ugly and found some engraved scores where this isn't the case. 
What would be the proper way to solve this.

Can you share examples of the engraved scores that have different behavior?

Thanks,

Carl



Re: Bold Maj7 Triangle

2021-11-30 Thread Carl Sorensen


From: lilypond-user  
on behalf of Gregory Hollands 
Date: Tuesday, November 30, 2021 at 9:41 AM
To: Lilypond-User Mailing List 
Subject: Re: Bold Maj7 Triangle

I was able to get something bolder by using the uppercase delta glyph. But it 
isn't perfect.

-Greg

% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
%

\version "2.22"

embiggenChordNames = #(define-scheme-function (size) (number?)
   #{ \with {
 chordNameFunction = #(lambda (in-pitches bass inversion context)
   (define exemptions (list musicglyph-markup))
   (define (helper mu)
 (if (list? mu)
   (if (memq (car mu) exemptions)
 (markup (#:fontsize (- size) mu))
 (map helper mu))
   mu))
   (let ((orig (ignatzek-chord-names in-pitches bass inversion context)))
 (markup (#:fontsize size (helper orig)
   } #} )

\paper {
  ragged-last = ##f
}

\layout {
  indent = #0
  \context { \ChordNames \embiggenChordNames #2.5 }
  \override ChordName #'font-name = #"Open Sans Soft Cd SemiBd"
  \override Staff.BarLine.hair-thickness = #4
  \override Staff.BarLine.thick-thickness = #8
}

IntroChords = \chordmode {
  \time 6/8
  \set majorSevenSymbol = \markup { Δ }

You could use your own custom markup as a lilypond path.  See 
http://lilypond.org/doc/v2.22/Documentation/notation/graphic under \path

That will let you customize your thickness and size pretty easily.

  \set minorChordModifier = \markup { − }
  a2.:m7 c2.:maj7 des2. f2.:dim
  a2.:m6 e2.:aug a2.:m eis2.:7
}

<<
  \new ChordNames \with {
\override BarLine.bar-extent = #'(-1 . 3.5)
\consists "Bar_engraver"
  }
  \IntroChords
>>

% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
%


Re: 12/8 Time signature and note length coding

2021-11-24 Thread Carl Sorensen

On 11/24/21, 2:26 PM, "lilypond-user on behalf of David Johnson" 
 wrote:

I'm working on an arrangement that is in 12/8 time signature and having 
trouble understanding how to encode note lengths and the associated 
chordmode timing.

Use a duration of 1.   That is 6 quarter notes, or 12 eighth notes.

HTH,

Carl





Re: Box around MeasureCounter

2021-11-22 Thread Carl Sorensen


From: lilypond-user  
on behalf of Rajesh Baskar 
Date: Monday, November 22, 2021 at 12:45 PM
To: Aaron Hill 
Cc: "lilypond-user@gnu.org" 
Subject: Re: Box around MeasureCounter


Aaron,

I had another question. The MeasureCounter boxify function does not work if we 
change the staff to Rhythmic staff.



It works perfectly if you add the Meeasure_counter_engraver  and \boxify 
MeasureCounter for the RhythmicStaff

\version "2.22.0"

boxify =
#(define-music-function
  (grob-path) (key-list?)
  (define proc (grob-transformer 'stencil
   (lambda (grob orig) (grob-interpret-markup grob #{
\markup \override #'(box-padding . 0.25)
\override #'(thickness . 2)
\box \stencil #orig #}
  #{ \override $grob-path . stencil = #proc #})
\include "english.ly" \header {tagline = "" }
\score {\new RhythmicStaff {
  \override Score.SpacingSpanner.strict-note-spacing = ##t
  \set Score.proportionalNotationDuration = #(ly:make-moment 1/4)
  \set Staff.midiInstrument = #"Grand Piano"
  \key c \major \numericTimeSignature
  \time 4/4
  \clef treble
  \startMeasureCount
  \hideNotes b2 c
  \unHideNotes a c'4 g
   \stopMeasureCount
  \bar "||"}
\layout {
  \context {
 \RhythmicStaff   Here is the change
 \consists Measure_counter_engraver
\boxify MeasureCounter
}
}
\midi { \tempo 4 =92}
}


Re: Help

2021-11-20 Thread Carl Sorensen


From: Leonid Hrabovsky 
Date: Saturday, November 20, 2021 at 9:58 AM
To: Werner LEMBERG 
Cc: "kie...@kierenmacmillan.info" , 
"j...@abou-samra.fr" , "lilypond-user@gnu.org" 
, Carl Sorensen 
Subject: Re: Help

Agreed! Nevetheless, in my modest opinion, the easiness of modern notation in 
LilyPond would be greatly upgraded if one might take the book of Edgard 
Karkoschka on the XX century notation and check out most common features used 
by all composers discussed in this very informative book - it will turn out 
that there are 5-6 such common features (like frame or proportional notation, 
some few lines and symbols) that might be easily added to the whole pool. In 
comparison to enormously rich resources devoted in documentation to ancient and 
medieval notation (circa 100 noteheads only!), it looks like the needs of 
modern composers are somehow overlooked...

Lilypond’s stated goal is to be able to replicate the high-quality 19th century 
engraving.  That’s why all the resources are there.
‘
Lilypond’s goal is not to serve the needs of modern composers.

But those who are interested in modern composers’ needs are welcome to 
contribute function to LilyPond.

Thanks,

Carl



Леонід - Leonid


[https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif]<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon>
Virus-free. 
www.avast.com<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link>

On Sat, Nov 20, 2021 at 11:08 AM Werner LEMBERG 
mailto:w...@gnu.org>> wrote:

>> there is a significant reason related to the nature of contemporary
>> notation: it is usually nonstandard.  Every composer has their own
>> systems.  Given that, it's hard to know what is relevant for
>> putting in the core.
>
> That is true to a great extent… but there are things (like the
> aleatoric box/frame engraver!) that [with a few parameters] are
> arguably "universal", and thus obvious candidates for inclusion.

I agree.  IMHO, it would be a very valuable contribution to add this
snippet directly to LilyPond, together with proper documentation that
also demonstrates how to use it.


Werner


Re: Help

2021-11-20 Thread Carl Sorensen
The "whole army of programmers that works for lilypond" is probably less than 
20 part-time volunteers.  Most of them are not modern music experts.

If you would like to develop documentation for modern music, you are welcome to 
contribute it.  We'd love to have your help!

Carl

Sent via the Samsung Galaxy S®6 active, an AT&T 4G LTE smartphone
Get Outlook for Android

From: lilypond-user  
on behalf of Leonid Hrabovsky 
Sent: Saturday, November 20, 2021 6:08:06 AM
To: Aaron Hill 
Cc: Kieren MacMillan ; Lilypond-User Mailing 
List 
Subject: Re: Help

Thank you very much, Aaron!  I am going to follow this thread and hope to 
obtain needed info. BTW, it is VERY concerning that even then the section on 
modern notation was empty at that time - and remains empty today, in spite of 
that the whole army of programmers works for LilyPond. Do you see any 
explanation of it?

Леонід - Leonid


[https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif]
Virus-free. 
www.avast.com

On Sat, Nov 20, 2021 at 1:52 AM Aaron Hill 
mailto:lilyp...@hillvisions.com>> wrote:
On 2021-11-19 9:00 pm, Leonid Hrabovsky wrote:
> http://lilypond.1069038.n5.nabble.com/Aleatoric-modern-notation-tp18113p18117.html
> http://lilypond.1069038.n5.nabble.com/help-with-frameEngraver-bars-and-boxes-function-td199021.html
>
>- are not working - "This site can't be reached" - what might happen
> to
>them? It is a sorrow for me - these links obviously provided the
> exhaustive
>treatise about modern notation in LilyPond so needed for me...
>- Any suggestions?

Nabble seems to be borked.  I think these are the two relevant threads.

[1]:
https://lists.gnu.org/archive/html/lilypond-user/2012-03/msg00296.html
[2]:
https://lists.gnu.org/archive/html/lilypond-user/2017-01/msg00196.html


-- Aaron Hill


Re: "abbreviations" as found in a Rubanks Intermediate Method book

2021-11-19 Thread Carl Sorensen


On 11/19/21, 12:39 PM, "lilypond-user on behalf of Kenneth Wolcott" 
 wrote:

Hi;

  See attached screenshot.

  "abbreviations" as found in a Rubanks Intermediate Method book.

  Does Lilypond support this musical shortcut?


See 
https://lilypond.org/doc/v2.22/Documentation/notation/short-repeats#tremolo-repeats
 , under putting tremolo marks on a single note.

HTH,

Carl
 



Re: How to increase the distance between the last note of a measure and the following bar line

2021-11-11 Thread Carl Sorensen


From: Paolo Prete 
Date: Thursday, November 11, 2021 at 11:06 AM
To: Jean Abou Samra 
Cc: Carl Sorensen , Kieren MacMillan 
, Lilypond-User Mailing List 

Subject: Re: How to increase the distance between the last note of a measure 
and the following bar line



On Thu, Nov 11, 2021 at 5:33 PM Jean Abou Samra 
mailto:j...@abou-samra.fr>> wrote:


The standard autodocumentation tools wouldn't help
much either.

- The bulk of the work is extracting information from
   LilyPond's internals. Take predicates. Their mapping
   to names is maintained in the code, so we would have
   to make the tool aware of our predicates.

- Our concepts of "grobs", "interfaces", "engravers",
   "contexts", etc. are not understood by tools that
   work in terms of "classes", "methods", "members"
   and such.

From what I understand, the core of the documented items is in the C++ code. 
But if you autogenerate the documentation from that code, you would have a set 
of classes and functions in a different "language" than the one used in the 
current documentation. Then you have to extract all these infos and translate 
them to your conventions (grobs, interfaces, engravers etc.). This is why I 
suggested a "static" wrapper, which should not be difficult to maintain 
because, even if introduces a redundancy with the set of names, this set will 
not be expanded or changed in the future. I mean: TimeSignature won't be 
replaced with something else in the future, and (I suppose) it's unlikely that 
new concepts will be added.

New grobs and engravers are often created.  As LilyPond continues to evolve in 
the future, one should not assume that the set of elements in the Internals 
Reference is constant.  One of the great things about the current documentation 
system is that when one adds a new grob or engraver, as long as the added 
element functions in LilyPond, no changes *at all* are needed to the 
documentation infrastructure.  It just works on the existing code.

Then a "TimeSignature_wrap", with links to the respective comments in the C++ 
code, won't be changed. So: what do you mean with "their mapping is maintained 
in the code"? From what I see, once the mapping is statically done it should 
not  be maintained. Anyway, I could be wrong and in any case I'll show you some 
practical examples of what I have in mind in the next days.

The thought of having to make a “TimeSignature_wrap”, as opposed to a 
“Grob_wrap”, is antithetical to the LilyPond core principles.  We insist that, 
as much as possible, internals documentation be created from executable code, 
rather than comments about the code, because we don’t want the documentation to 
diverge from the actual code.  Thus, the interfaces listed as affecting BarLine 
don’t come from somebody keeping a list of the interfaces related to BarLine, 
they come from the bar_line_engraver declaring (in the C++ code) the interfaces 
actually used.  And there is virtually no static mapping.

Once a static mapping is done, it *must* be maintained if it is to remain 
accurate.  It’s even worse if it seldom needs to be changed, because editors 
are less likely to remember things that seldom change and don’t affect the code.

While the current system may not be the prettiest possible system, or the 
easiest to use, it’s very hard for the documentation to actually be wrong.  And 
I think that correctness of internals documentation is more important than ease 
of use (although I would love to see our internals reference be easier to use).

I would love to see some practical examples of what you have in mind!  I hope 
they will be sketches of what you have in mind using the LilyPond code base, 
rather than using some other code base.  Of course, I wouldn’t expect a 
practical example to be implemented on the whole LilyPond code base; I’d just 
love to see it on a part of the code base.  Something kind of like Jean’s code 
that showed how it could be possible to get all the properties (and where they 
were defined) programmatically for any given grob.

I love the fact that you want to improve the LilyPond documentation!  I look 
forward to your contributions.

Thanks,

Carl



Re: How to increase the distance between the last note of a measure and the following bar line

2021-11-11 Thread Carl Sorensen


From: Paolo Prete 
Date: Thursday, November 11, 2021 at 9:07 AM
To: Jean Abou Samra 
Cc: Carl Sorensen , Kieren MacMillan 
, Lilypond-User Mailing List 

Subject: Re: How to increase the distance between the last note of a measure 
and the following bar line



On Thu, Nov 11, 2021 at 3:39 PM Jean Abou Samra 
mailto:j...@abou-samra.fr>> wrote:
Le 11/11/2021 à 15:12, Paolo Prete a écrit :
> I see, but my advice included your Scheme example, which is formatted
> as plain text as well.
> IMHO, a tool that formats on the fly, as a tree or list on the
> standard output in plain text, a sum of cross links, would be actually
> unusable in practical cases, even if it initially appears helpful.
> If you need an autodoc on the fly, you should consider how IDEs
> interface to the autodoc directory/files, giving hints through popups,
> beyond the scope of LilyPond (and huge effort to implement for any
> editor).
> Therefore I encouraged you in spending time in observing what is the
> "de facto standard" way of managing the API doc that is already part
> of the LilyPond project.


I am not managing to convey my meaning across. The
Scheme example was _not_ intended to become something
outputting documentation for on-the-fly usage in editors.
It was meant to be a proof-of-concept for retrieving
and structuring the information (rather than formatting
it) in a way that could be reused in the autogeneration
process that outputs the official Internals Reference.
Our autogeneration script is written in Scheme.

I see. Is the autogeneration script made from scratch, or does it feed some 
preexisting tool, that inspects a set of files, for autodoc?
I mean: in case of C++ code, Doxygen is (more or less) simply fed by a set of 
options and then, voila, the autodoc is generated.
If not, I wonder as well if is it possible to use an alternative to the 
previous script and generate the autodoc by pointing to the src dir with some 
tool.

The problem is that part of the source files to be explored are written in 
Scheme, and part are in C++.  I don’t know of any existing tool that works with 
both languages.

So we have a custom documentation tool, written in Scheme.

Carl


Re: How to increase the distance between the last note of a measure and the following bar line

2021-11-10 Thread Carl Sorensen


On 11/10/21, 2:37 PM, "lilypond-user on behalf of Jean Abou Samra" 
 wrote:

[Kieren]
>> The page in the Internals Reference doesn't
>> list all the properties that the grob would
>> support, only those for which it has a specific
>> default. You have to explore the interfaces to
>> find other interesting properties that you can
>> tweak. In this case, click "Item" ("This object
>> is of class Item"). You'll find extra-spacing-width
>> in the item-interface.
> This is something I’ve asked a couple times before, but been dismissed… 
Maybe you can help?
>
> Is there an Automagic™ way to print out a “complete tree” of all 
properties that a grob supports, including any default values?


Sure. How about the attached?

Bear in mind that this may stop working in future
versions (in fact I have a branch somewhere that
would definitely break it if I ever manage to
complete the work).

The code looks way cool.  Unfortunately, I couldn't test it because I only have 
2.22 installed, and it doesn't work with 2.22 (perhaps because of guile 1.8)

Carl
 



Re: How to increase the distance between the last note of a measure and the following bar line

2021-11-10 Thread Carl Sorensen
You need to check all of the interfaces a barline supports.  The barline page 
only shows the properties that are unique to barlines.


The interfaces are shown on the bottom of the barlines page.

Sent via the Samsung Galaxy S®6 active, an AT&T 4G LTE smartphone
Get Outlook for Android

From: lilypond-user  
on behalf of Paolo Prete 
Sent: Wednesday, November 10, 2021 6:01:18 AM
To: Jean Abou Samra 
Cc: lilypond-user 
Subject: Re: How to increase the distance between the last note of a measure 
and the following bar line

Thanks.

BTW, in which object is this property documented?
It doesn't appear in
https://lilypond.org/doc/v2.23/Documentation/internals/barline

... where I searched before sending my message,
so I guess it's inherited from something else.

Best,
P


On Wed, Nov 10, 2021 at 1:26 PM Jean Abou Samra 
mailto:j...@abou-samra.fr>> wrote:
Le 10/11/2021 à 00:58, Paolo Prete a écrit :
> Hello,
>
> How can I increase the distance between the last note of a measure and
> the following bar line?
>
> Thanks!
> P


extra-spacing-width is a convenient property for
this as it does not require you to figure out what
the cdr of X-extent would be without your override.

\version "2.22.1"

{
   c'2 4 4
   \once \override Staff.BarLine.extra-spacing-width = #'(-3 . 0)
   R1
}

Best,
Jean


Re: Tweaking an ottava bracket after a break

2021-11-06 Thread Carl Sorensen


On 11/6/21, 3:24 PM, "lilypond-user on behalf of Lukas-Fabian Moser" 
 wrote:


> \relative {
>\alterBroken #'padding #'(1 7) Staff.OttavaBracket
>\ottava 1 c1 \break
>   c2 2
> }

I continue my lonely crusade against the hash-tick-combinations that I 
found so daunting when I learned LilyPond and which are needed much less 
often today:

\relative {
   \alterBroken padding #'(1 7) Staff.OttavaBracket
   \ottava 1 c1 \break
   c2 2
}

I love the idea that we can eliminate the hash-tick for padding.

I don't think we should eliminate the hash-tick for the values.  The 
documentation for \alterBroken says that values is a list (and that means a 
Guile list).  #'(1 7) is a Guile list.  1,7 is not (although the parser turns 
it into one).  It is straightforward to learn that #'(1 7)  is a Guile list; 
it's not nearly so straightforward to understand all of the parsing magic that 
happens.

If at any point in an input file, 1,7 will be interpreted as a list #'(1 7), 
and 1.5,10.3 will always be interpreted as #'(1.5 10.3), and 1, 7 will be 
interpreted the same as 1,7  I will withdraw my objection to this usage in 
documentation.

Thanks,

Carl




Re: another question regarding ottava: why does Lilypond change the pitches?

2021-11-01 Thread Carl Sorensen


On 11/1/21, 4:49 PM, "Kenneth Wolcott"  wrote:

Hi Kieren & Carl;

  Well, since you have already provided an MWE that shows it works as
documented, may I provide my full Lilypond code?  It is only a halfway
completed Piano arrangement of "The Elephant" from the ""Carnival of
the Animals", by Saint-Saens. It is not long and it is simple.
Perhaps I'm doing something really stupid...

In the original piece, when it says "L.R. sempre 8va bassa"  I believe it means 
all of the pitches need to be shifted down by an  octave.  But when you entered 
the pitches, you didn't lower them by an octave to the sounding pitch, you 
entered them at the staff position pitch.  Thus, when you lowered the staff by 
an octave with \ottava, the pitches shifted up by an octave on the staff.

TLDR; Your pitches are an octave too high.

Carl
 



  1   2   3   4   5   6   7   8   9   10   >