Re: Orchestral strings, how to organise score and parts for divisi, solos, desks etc.

2020-08-25 Thread Rutger Hofman

Sorry to be so late to respond.

I agree with Carl that this type of tutorial doesn't have its logical 
place in the NR (Notation Reference). A separate section of the LM 
(Learning Manual) for tutorials like mine, or page LM 4.6.3. 'Real music 
example' is in my opinion most appropriate. OTOH, there are extensive 
tutorials on Scores of Beauty e.g. on French ornamentations, but I feel 
these are somehow less easy to reach than when they would live in a LM 
section that is dedicated to tutorials for dedicated purposes. My 
preference would then be to migrate this masterly tutorial-like stuff 
from Scores of Beauty to such a new section of the Lilypond LM site.


Rutger

On 6/23/20 3:13 AM, Carl Sorensen wrote:

In my opinion, this does not belong in the notation reference.

I think there should be another volume added to the documentation, perhaps something like 
"Advanced Engraving".

The information you are trying to add is tutorial in nature, rather than 
reference.

A reference manual aims at answering the question "What is the proper syntax for working with 
specific bits of notation?"   A tutorial manual aims at answering the question "How do I 
accomplish something I'd like to do?"

We created the Learning Manual because we saw that the Notation Reference 
didn't answer the needs of people beginning to use LilyPond.

I think it's time to create a manual that is tutorial for doing complicated 
things like orchestral scores.

In my opinion, trying to put advanced tutorial information in the Notation 
Reference will be a poor compromise and lead to a combined manual that doesn't 
meet either of its needs as well as it could have.

A case in point -- in Valentin's admirable work to get *something* in the manuals about 
divisi staves, he introduced a relatively complex piece of music.  And because he needed 
to deal with the complexity, he "talked through the code".  That was a big 
no-no in our standards for the Notation Reference.  I thought about objecting, but I 
didn't want to because it was obviously good to have something about handling divisi 
staves somewhere.

But if Graham were reviewing that addition, he never would have let it through. 
 I ended up with lots of explanations tossed on the cutting room floor, because 
it is a notation *Reference*, not a notation *Tutorial*.

I believe Graham was absolutely correct in his standards for the Notation 
Reference.  But I also believe we need some advanced tutorial information.  And 
the Learning Manual is not the place for advanced tutorial.  (But neither is 
the Notation Reference.)

Hence, my suggestion for a new manual.

Thanks,

Carl




(I include the message from Valentin Villenave that this responds to:)

Valentin Villenave writes:

On 6/7/20, Rutger Hofman  wrote:

My first attempt is here:
https://www.rutgerhofman.nl/lilypond/divisi-doc/divisi-doc.html


Very nice!  I have a few minor remarks:
- The writing style differs a bit from our recommended style, see CG
5.5.3 and 5.5.4
http://lilypond.org/doc/v2.21/Documentation/contributor/documentation-policy

- If we’re to make that a part of the NR (as I’m wishing for),
cross-references, index entries etc. will have to be added;
@lilypondfile examples will need to be directly embedded as @lilypond
blocks, etc.

- Some trimming or summing-up will certainly be needed; besides, the
keepAliveInterfaces example I recently added could be merged with your
quoteDuring example etc.

- I think your PMP macros could (and should) be integrated upstream,
by making them as general and universally-applicable as possible. In
which case you’ll need to think of more suitable names, doc strings
etc.

But that does look promising indeed!

Cheers,
-- V.





Re: Quick question re pmp.ily

2020-08-09 Thread Rutger Hofman

I think I once tried something along these lines:

\quoteDuring instA { ... time 1 ... }
\PMPChords #'( "instA" "instB" ) { ... time 2 ... }
\partCombine
\quoteDuring instA { ... time 3 ... }
\quoteDuring instB { ... time 3 ... }
\PMPApart #'( "instA" "instB" ) { ... time 4 ... }

and I think it worked; to my surprise. to be true.

I have no idea if \partCombineApart etc work through quoteDuring.

My own workflow is to start out trying partCombine for one staff with 
two voices, then when partCombine first fails I try "easy" fixes like 
adding \partCombineApart etc. If these fail, I convert to PMP 
completely. It depends on the complexity of the polyphony I guess.


Rutger

On 8/8/20 6:34 PM, David Sumbler wrote:

Hi Rutger

Thanks again for sharing your brilliant work on staff management.

I downloaded pmp.ily, and I have got it working for my orchestral
score.  Clearly it is more versatile and controllable than
\partCombine.  But it is, of course, somewhat more complicated to use,
by its very nature and also because of certain limitations in Lilypond
that you mention in your tutorial.

One quick question: if one wishes to use PMP for some passages and
\partCombine for those where it works acceptably, is it necessary to
define two different staves (with different VerticalAxisGroup.remove-
layer values), or can it all be done on one defined stave?

I think the answer is that I need to define an extra stave, but perhaps
you will tell me differently.

Thanks for your help.

David





Re: "Ghost" trills

2020-08-06 Thread Rutger Hofman
I mean (sorry for the typo): if a spanner stops at the start of a new 
partCombine mode.


Rutger

On 8/6/20 10:11 PM, Rutger Hofman wrote:
I think you have stumbled into one of the (many) limitations of 
partCombine; it routinely messes up if a spanner stops at the end of a 
new partCombine mode. The problem is that these mode changes 
(partCombine "Chords" mode to partCombine "Apart" mode at bar 3, and 
back to partCombine "Chords" mode at bar 4) are implicit, and I haven't 
found a way to insert an extra explicit spanner end token (like \! for 
hairpins, or \stopTrillSpan for trills, etc. etc.).


However, in this case, it happens to be easy to fix by surrounding the 
second line of instOne with \partCombineApart  \partCombineAutomatic:


instOne = \relative {
   a'1 | a | a |
   \partCombineApart a1 \startTrillSpan | a1 \stopTrillSpan |
   \partCombineAutomatic a | a | a | a | a | a | a |
}

If such a fix doesn't exist, one can revert to PMPChords and PMPApart as 
in my tutorial. These do allow insertion of an explicit spanner end token.


Rutger

P.S. When you wrote 'Vaughan', did you actually mean 'Rutger'?

On 8/6/20 7:11 PM, David Sumbler wrote:

\version "2.21.2"

instOne = \relative {
   a'1 | a | a |
   a1 \startTrillSpan | a1 \stopTrillSpan |
   a | a | a | a | a | a | a |
}

instTwo = \relative {
   f'1 | f | f |
   f2 \startTrillSpan f2 \startTrillSpan | f1 \stopTrillSpan |
   f | f | f | f | f | f | f |
}

targetStaff = #(define-scheme-function (ctx) (string?)
   #{
 \set Staff.keepAliveInterfaces = #'()
 \context Staff = #ctx { \unset Staff.keepAliveInterfaces }
   #})

instScorePlan = {
   \targetStaff clarinetI s1*4
   \targetStaff bothClarinets s1*3
   \break s1*5 \break s1*5
}

\score {
 \new StaffGroup \with {
 \consists "Keep_alive_together_engraver" }
   <<
 \new Staff = bothClarinets \with {
   \RemoveAllEmptyStaves
   \override VerticalAxisGroup.remove-layer = 40 }
 << \partCombine \instOne \instTwo \instScorePlan >>
 %% Clarinets on 2 staves:
 \new Staff = clarinetI \with {
   \RemoveAllEmptyStaves
   \override VerticalAxisGroup.remove-layer = 20 }
 << \instOne \instScorePlan >>
 \new Staff = clarinetII \with {
   \RemoveAllEmptyStaves
   \override VerticalAxisGroup.remove-layer = 20 }
  << \instTwo \instScorePlan >>
   >>
}




Re: "Ghost" trills

2020-08-06 Thread Rutger Hofman
I think you have stumbled into one of the (many) limitations of 
partCombine; it routinely messes up if a spanner stops at the end of a 
new partCombine mode. The problem is that these mode changes 
(partCombine "Chords" mode to partCombine "Apart" mode at bar 3, and 
back to partCombine "Chords" mode at bar 4) are implicit, and I haven't 
found a way to insert an extra explicit spanner end token (like \! for 
hairpins, or \stopTrillSpan for trills, etc. etc.).


However, in this case, it happens to be easy to fix by surrounding the 
second line of instOne with \partCombineApart  \partCombineAutomatic:


instOne = \relative {
  a'1 | a | a |
  \partCombineApart a1 \startTrillSpan | a1 \stopTrillSpan |
  \partCombineAutomatic a | a | a | a | a | a | a |
}

If such a fix doesn't exist, one can revert to PMPChords and PMPApart as 
in my tutorial. These do allow insertion of an explicit spanner end token.


Rutger

P.S. When you wrote 'Vaughan', did you actually mean 'Rutger'?

On 8/6/20 7:11 PM, David Sumbler wrote:

\version "2.21.2"

instOne = \relative {
   a'1 | a | a |
   a1 \startTrillSpan | a1 \stopTrillSpan |
   a | a | a | a | a | a | a |
}

instTwo = \relative {
   f'1 | f | f |
   f2 \startTrillSpan f2 \startTrillSpan | f1 \stopTrillSpan |
   f | f | f | f | f | f | f |
}

targetStaff = #(define-scheme-function (ctx) (string?)
   #{
 \set Staff.keepAliveInterfaces = #'()
 \context Staff = #ctx { \unset Staff.keepAliveInterfaces }
   #})

instScorePlan = {
   \targetStaff clarinetI s1*4
   \targetStaff bothClarinets s1*3
   \break s1*5 \break s1*5
}

\score {
 \new StaffGroup \with {
 \consists "Keep_alive_together_engraver" }
   <<
 \new Staff = bothClarinets \with {
   \RemoveAllEmptyStaves
   \override VerticalAxisGroup.remove-layer = 40 }
 << \partCombine \instOne \instTwo \instScorePlan >>
 %% Clarinets on 2 staves:
 \new Staff = clarinetI \with {
   \RemoveAllEmptyStaves
   \override VerticalAxisGroup.remove-layer = 20 }
 << \instOne \instScorePlan >>
 \new Staff = clarinetII \with {
   \RemoveAllEmptyStaves
   \override VerticalAxisGroup.remove-layer = 20 }
  << \instTwo \instScorePlan >>
   >>
}




Re: "Ghost" trills

2020-08-06 Thread Rutger Hofman
Well, if you change partCombine... (back) to partcombine... (as 2.20. 
warns about), the problem persists.


Rutger

On 8/6/20 8:15 PM, Mark Stephen Mrotek wrote:

David,

It compiled correctly under 2.20.

Mark

-Original Message-
From: lilypond-user [mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org] 
On Behalf Of David Sumbler
Sent: Thursday, August 6, 2020 10:12 AM
To: lilypond-user@gnu.org
Subject: "Ghost" trills

Having implemented some of the methods shown in Vaughan's marvellous tutorial 
at https://lists.gnu.org/archive/html/lilypond-user/2020-06/msg00114.html
I have been making rapid progress in setting the orchestral piece which is my 
latest project.

But suddenly I came across a problem which, try as I might, I can't
figure out or solve.   I have managed to work around it.  Despite that
I should very much like to understand what is going on here so that I will be 
better able to deal with similar or related problems in future.
Also the work-around makes my input code considerably more complex, and may not 
work well if line breaks get moved around.

The problem is that, after using trillspanners, sometimes the trill reappears 
later on after a change of staff setup.  The code below reproduces this 
problem.  I have also attached a pdf file containing the output.

In this example, it is quite easy to get rid of the unwanted trillspanners in 
the second line by making small, apparently random, alterations in the input.  
For instance, if the 4th bar in the upper instrument is changed to 2 minims, or 
the same bar in the lower instrument is changed to a semibreve, the rogue 
trillspanners disappear.  However, it is not true  to say that the 
trillspanners always disappear whenever the rhythms in the two instruments are 
exactly the same, and of course it wouldn't be a useful solution to the problem 
even if it were true.  In fact, in my actual score the 2 instruments do have 
identical rhythms, but I still get these unwanted trills in the next system.

My work-around, incidentally, involves creating another pair of staves with a 
different VerticalAxisGroup.remove-layer value, and changing \instScorePlan to 
use the first pair up to and including the trills, and the replacement pair 
thereafter.  Not very elegant, and if there were many trill passages it would 
quickly become unwieldy in the extreme.

Can anyone figure out why these spare trills are appearing, and how one can get 
rid of them reasonably simply?
  
David


%%
\version "2.21.2"

instOne = \relative {
   a'1 | a | a |
   a1 \startTrillSpan | a1 \stopTrillSpan |
   a | a | a | a | a | a | a |
}

instTwo = \relative {
   f'1 | f | f |
   f2 \startTrillSpan f2 \startTrillSpan | f1 \stopTrillSpan |
   f | f | f | f | f | f | f |
}

targetStaff = #(define-scheme-function (ctx) (string?)
   #{
 \set Staff.keepAliveInterfaces = #'()
 \context Staff = #ctx { \unset Staff.keepAliveInterfaces }
   #})

instScorePlan = {
   \targetStaff clarinetI s1*4
   \targetStaff bothClarinets s1*3
   \break s1*5 \break s1*5
}

\score {
 \new StaffGroup \with {
 \consists "Keep_alive_together_engraver" }
   <<
 \new Staff = bothClarinets \with {
   \RemoveAllEmptyStaves
   \override VerticalAxisGroup.remove-layer = 40 }
 << \partCombine \instOne \instTwo \instScorePlan >>
 %% Clarinets on 2 staves:
 \new Staff = clarinetI \with {
   \RemoveAllEmptyStaves
   \override VerticalAxisGroup.remove-layer = 20 }
 << \instOne \instScorePlan >>
 \new Staff = clarinetII \with {
   \RemoveAllEmptyStaves
   \override VerticalAxisGroup.remove-layer = 20 }
  << \instTwo \instScorePlan >>
   >>
}
%%






Re: Humdrum **kern and LilyPond

2020-06-30 Thread Rutger Hofman

Would the trajectory hum2abc
http://extras.humdrum.org/man/hum2abc/ (to abc) ->
abc2xml (written by my earstwhile supervisor Wim Vree!) 
https://wim.vree.org/svgParse/abc2xml.html (to xml) ->

xml2ly or musicxml2ly

be an option?

Rutger

On 6/30/20 8:09 PM, Jacques Menu wrote:

Hello Frauke,

How do you produce the Humdrum data sets?

JM


Le 30 juin 2020 à 19:04, Frauke Jurgensen  a écrit :

Hi,

I use Humdrum a lot, and have written a basic hum2lily conversion tool, which I 
am using to prepare my edition of the Buxheim Organ Book. It’s quite 
specialised for my particular application, and not terribly sophisticated at 
the moment.

Cheers,
Frauke


On 30 Jun 2020, at 16:28, Jacques Menu  wrote:

Hello folks,

I’ve been wondering : is Humdrum **kern in wide use, and do you know of any 
work or application involving both Humdrum **kern and LilyPond?

Thanks!

JM











Re: Odd \time bar check behaviour

2020-06-11 Thread Rutger Hofman
Did you have a look at the Notation Reference -- displaying rhythms - 
polymetric notation -- Different time signatures with unequal-length 
measures? See 
http://lilypond.org/doc/v2.21/Documentation/notation/displaying-rhythms#polymetric-notation 
then travel down to :Different time signatures with unequal-length".


Basically, you must move the Timing_translator and the 
Default_bar_line_engraver from the Score context to the Staff context.


HTH,

Rutger

On 6/11/20 9:43 AM, ebenezer wrote:

Hello gentlemen,

Thank you for the replies. I have enclosed the full file as it seems 
there may be some interaction between the voice in 7/4 and piano in 5/4.


Ebby.


On 2020-06-10 23:33, Martin Neubauer wrote:


On 10/06/2020 13:41, Michael Käppler wrote:

Am 10.06.2020 um 13:27 schrieb ebenezer:

Hi all,

The 1st code snippett generates warnings, but the 2nd does not.

I'd like to keep the bar symbols in place as it helps me to keep track
in the music.

This is my first piece so I've likely made some newbie error, please
advise.


Hi Ebby,
your first snippet does compile without warnings for me.
If your piece does have multiple voices (your filename suggests that),
it may well be that you have a rhythmical error in another voice.

To expand somewhat on this point: for me neither snippet compiles
without warning (or yielding any music, for that matter...), but just by
enclosing either on with braces both gets rid of the warnings and
results in correct output. That does indeed suggest that whatever
problem is causing you trouble isn't present in the excerpts you sent.

Regards,
Martin





Re: Orchestral strings, how to organise score and parts for divisi, solos, desks etc.

2020-06-07 Thread Rutger Hofman

turned out to keep -> turned out hard to keep

Sorry.

Rutger

On 6/7/20 9:26 AM, Rutger Hofman wrote:
Well, it turned out to keep that tutorial short. Still, I think it will 
have its use, since questions about temp staves/divisi turn up at 
regular intervals.


My first attempt is here:

https://www.rutgerhofman.nl/lilypond/divisi-doc/divisi-doc.html

Please, have a look, say what you (don't) like.

I still debate in my head what the best venue for this would be.

Rutger

On 6/2/20 11:33 AM, Lib Lists wrote:

On Mon, 1 Jun 2020 at 22:16, Rutger Hofman  wrote:


I am thinking of sharing my experiences as a user in this field by
contributing a tutorial or a practical experiences story (or whatever)
on this topic. It would make a distinction between:

1) temporary staves
2) divisi allocation over groups of staves

since these are different concepts, and they are handled differently by
the Lilypond user, although both depend on keepAliveInterfaces.

And I could contribute a bit on techniques to have >2 voices per staff,
rhythmically homophonic or rhythmically polyphonic, especially in the
context of divisi staves.

What would be the best venue for this? Lilypond docs? User list? Scores
of Beauty? If it gets into the Lilypond docs, it is there to "stay
forever" which would be nice.

One elaborate example of my experiences is found in the score and parts
of "3 Bruchstücke aus Wozzeck" by Alban Berg, see
https://imslp.org/wiki/Wozzeck%2C_Op.7_(Berg%2C_Alban) (travel to the
tab [Arrangements and Transcriptions]). One can have a look at e.g. the
Violins I part, mvt. 1, Bars 396-404; there is a 5-fold divisi which is
folded into one staff in the full score. Or practically any instrument
group, for that matter.

Rutger


Hi, that would be awesome, and thank you so much for sharing the code
for Wozzeck, that's exactly what I was looking for. I've been trying
to find my way out for days, and even though I'm making steps in the
good direction, it's not an easy job. A commented example on how to
organise a modern large orchestral score and parts with divisi, desks,
solos, temporary staves, and so on would be extremely useful, at least
for me. I couldn't find such an example in the otherwise awesome
documentation, and I was thinking to contribute myself once I'll be
more familiar.
Thank you!

Lib


On 5/28/20 10:33 AM, Lib Lists wrote:
On Wed, 27 May 2020 at 18:10, Valentin Villenave 
 wrote:


On 5/27/20, Lib Lists  wrote:

merge the stems so
that the final result looks like one voice.


In that case, what you want clearly is \partcombine (\partCombine 
since 2.21).


If you have more than two voices, then you can always apply another
\partCombine on top of the first two voices, or use other tricks to
deal with the more complex situations.


I understand. Unfortunately I cannot find a way to use the
remove-layer technique with \partcombine (see attached file). I'd like
to hide the top staff while maintaining the staff group between bar
19-24 for the difficult passage. Is there a way to achieve this? In
other words there are four notations that I'd need to achieve for
divisi: unisono, divisi (a2, a3, etc.) on same voice & same staff,
divisi on different voices & same staff, divisi on different staves.




Finally, adding a \shortInstrumentName in the StaffGroup gives an
error, but the resulting pdf is otherwise correct.


instrumentName and shortInstrumentName are both siple property
definitions, not variables or functions so the \ is not needed; just
   instrumentName = "something".


That worked, thank you!



Cheers,
-- V.






Re: Orchestral strings, how to organise score and parts for divisi, solos, desks etc.

2020-06-07 Thread Rutger Hofman
Well, it turned out to keep that tutorial short. Still, I think it will 
have its use, since questions about temp staves/divisi turn up at 
regular intervals.


My first attempt is here:

https://www.rutgerhofman.nl/lilypond/divisi-doc/divisi-doc.html

Please, have a look, say what you (don't) like.

I still debate in my head what the best venue for this would be.

Rutger

On 6/2/20 11:33 AM, Lib Lists wrote:

On Mon, 1 Jun 2020 at 22:16, Rutger Hofman  wrote:


I am thinking of sharing my experiences as a user in this field by
contributing a tutorial or a practical experiences story (or whatever)
on this topic. It would make a distinction between:

1) temporary staves
2) divisi allocation over groups of staves

since these are different concepts, and they are handled differently by
the Lilypond user, although both depend on keepAliveInterfaces.

And I could contribute a bit on techniques to have >2 voices per staff,
rhythmically homophonic or rhythmically polyphonic, especially in the
context of divisi staves.

What would be the best venue for this? Lilypond docs? User list? Scores
of Beauty? If it gets into the Lilypond docs, it is there to "stay
forever" which would be nice.

One elaborate example of my experiences is found in the score and parts
of "3 Bruchstücke aus Wozzeck" by Alban Berg, see
https://imslp.org/wiki/Wozzeck%2C_Op.7_(Berg%2C_Alban) (travel to the
tab [Arrangements and Transcriptions]). One can have a look at e.g. the
Violins I part, mvt. 1, Bars 396-404; there is a 5-fold divisi which is
folded into one staff in the full score. Or practically any instrument
group, for that matter.

Rutger


Hi, that would be awesome, and thank you so much for sharing the code
for Wozzeck, that's exactly what I was looking for. I've been trying
to find my way out for days, and even though I'm making steps in the
good direction, it's not an easy job. A commented example on how to
organise a modern large orchestral score and parts with divisi, desks,
solos, temporary staves, and so on would be extremely useful, at least
for me. I couldn't find such an example in the otherwise awesome
documentation, and I was thinking to contribute myself once I'll be
more familiar.
Thank you!

Lib


On 5/28/20 10:33 AM, Lib Lists wrote:

On Wed, 27 May 2020 at 18:10, Valentin Villenave  wrote:


On 5/27/20, Lib Lists  wrote:

merge the stems so
that the final result looks like one voice.


In that case, what you want clearly is \partcombine (\partCombine since 2.21).

If you have more than two voices, then you can always apply another
\partCombine on top of the first two voices, or use other tricks to
deal with the more complex situations.


I understand. Unfortunately I cannot find a way to use the
remove-layer technique with \partcombine (see attached file). I'd like
to hide the top staff while maintaining the staff group between bar
19-24 for the difficult passage. Is there a way to achieve this? In
other words there are four notations that I'd need to achieve for
divisi: unisono, divisi (a2, a3, etc.) on same voice & same staff,
divisi on different voices & same staff, divisi on different staves.




Finally, adding a \shortInstrumentName in the StaffGroup gives an
error, but the resulting pdf is otherwise correct.


instrumentName and shortInstrumentName are both siple property
definitions, not variables or functions so the \ is not needed; just
   instrumentName = "something".


That worked, thank you!



Cheers,
-- V.






Re: IMSLP upload policy

2020-06-07 Thread Rutger Hofman




On 6/2/20 8:24 PM, Valentin Villenave wrote:
[snip]


I would of course never urge anybody to get an IMSLP membership :-), but
the fee is (un)reasonably small (a few collaboration actions for IMSLP
would already suffice).


Are you spared the waiting time as an IMSLP contributor? I know I’m not.


When IMSLP turned to the membership-or-delay model, they gave me a 
ten-year membership for free because of the number of scores I had 
contributed. Members don't see a delay, and they do see 'download all 
parts as a zip file'. You might enquire.


Rutger



IMSLP upload policy (was: Re: Orchestral strings, how to organise score and parts for divisi, solos, desks etc.)

2020-06-02 Thread Rutger Hofman




On 6/1/20 10:45 PM, Valentin Villenave wrote:

On 6/1/20, Rutger Hofman  wrote:

[snip]


On that note:


One elaborate example of my experiences is found in the score and parts
of "3 Bruchstücke aus Wozzeck" by Alban Berg, see
https://imslp.org/wiki/Wozzeck%2C_Op.7_(Berg%2C_Alban)


I appreciate that you’re making available your source code, but you
could simply embed it within the PDF files (LilyPond can do that
now!).  See for example
https://imslp.org/wiki/Oboe_Concerto_No.1_in_E-flat_major_(Herschel%2C_William)
(btw, I generally prefer publishing all individual parts as a single
PDF; people can then print whatever they want within it, but it makes
it *much* easier for ensembles out there in my experience,
particularly when IMSLP starts imposing a 15-second delay for all
downloads.)


I know that pdftk can add attachments to PDFs. Is that now also built 
into Lilypond?


My preference for uploading parts is the other way around, i.e. the way 
I did it. The parts alone for this typeset total to 311 pages. I don't 
like the idea of 100 orchestra members each downloading that huge thing, 
also enhanced with a few megabytes of lilypond source, and then each 
selecting their own part from it. And to make things worse, orchestra 
members might just not print the title page for their part, thereby 
ruining the possibility to print double-sided because my carefully 
crafted page turns are bogged.


I would of course never urge anybody to get an IMSLP membership :-), but 
the fee is (un)reasonably small (a few collaboration actions for IMSLP 
would already suffice). And if only the orchestra librarian has an IMSLP 
membership, it would allow her to download all parts as a zip and then 
distribute them. But in any case, 10 seconds delay would be dwarfed by 
the alternative of downloading and perusing 311 pages.


Rutger



Re: Orchestral strings, how to organise score and parts for divisi, solos, desks etc.

2020-06-01 Thread Rutger Hofman
I am thinking of sharing my experiences as a user in this field by 
contributing a tutorial or a practical experiences story (or whatever) 
on this topic. It would make a distinction between:


1) temporary staves
2) divisi allocation over groups of staves

since these are different concepts, and they are handled differently by 
the Lilypond user, although both depend on keepAliveInterfaces.


And I could contribute a bit on techniques to have >2 voices per staff, 
rhythmically homophonic or rhythmically polyphonic, especially in the 
context of divisi staves.


What would be the best venue for this? Lilypond docs? User list? Scores 
of Beauty? If it gets into the Lilypond docs, it is there to "stay 
forever" which would be nice.


One elaborate example of my experiences is found in the score and parts 
of "3 Bruchstücke aus Wozzeck" by Alban Berg, see 
https://imslp.org/wiki/Wozzeck%2C_Op.7_(Berg%2C_Alban) (travel to the 
tab [Arrangements and Transcriptions]). One can have a look at e.g. the 
Violins I part, mvt. 1, Bars 396-404; there is a 5-fold divisi which is 
folded into one staff in the full score. Or practically any instrument 
group, for that matter.


Rutger

On 5/28/20 10:33 AM, Lib Lists wrote:

On Wed, 27 May 2020 at 18:10, Valentin Villenave  wrote:


On 5/27/20, Lib Lists  wrote:

merge the stems so
that the final result looks like one voice.


In that case, what you want clearly is \partcombine (\partCombine since 2.21).

If you have more than two voices, then you can always apply another
\partCombine on top of the first two voices, or use other tricks to
deal with the more complex situations.


I understand. Unfortunately I cannot find a way to use the
remove-layer technique with \partcombine (see attached file). I'd like
to hide the top staff while maintaining the staff group between bar
19-24 for the difficult passage. Is there a way to achieve this? In
other words there are four notations that I'd need to achieve for
divisi: unisono, divisi (a2, a3, etc.) on same voice & same staff,
divisi on different voices & same staff, divisi on different staves.




Finally, adding a \shortInstrumentName in the StaffGroup gives an
error, but the resulting pdf is otherwise correct.


instrumentName and shortInstrumentName are both siple property
definitions, not variables or functions so the \ is not needed; just
  instrumentName = "something".


That worked, thank you!



Cheers,
-- V.




Re: [Spam] RE: Clef change placement

2020-02-03 Thread Rutger Hofman
I would also welcome this feature. How difficult is it to write a 
[Scheme] engraver?


Rutger

On 2/2/20 6:55 PM, Daniel Rosen wrote:

-Original Message-
From: Kieren MacMillan [mailto:kieren_macmil...@sympatico.ca]
Sent: Saturday, February 01, 2020 11:15 AM
To: Daniel Rosen 
Cc: Lilypond-User Mailing List 
Subject: Re: Clef change placement


Is there a way to achieve this placement automatically, other than by
specifying explicit system breaks?


Did you ever get an answer to this?
Seems like a perfect job for a [Scheme] engraver…


Nope. Yours is the first response I've gotten.

DR





Re: HorizontalBracket's stencil

2020-01-22 Thread Rutger Hofman
Cannot you fake it using a TupletBracket (\tuplet 1/1) and override the 
TupletNumber.text?


Rutger

On 1/22/20 8:14 PM, Paolo Prete wrote:

Hello,

is it possible to obtain a stencil, for a HorizontalBracket, similar to 
the TupletBracket one?


Something like:

  some-text  
|                                     |

I see that there is a .bracket-flare property for the grob, but it's not 
enough for achieving this result. I wonder if at least I can copy the 
Scheme procedure for drawing the stencil from somewhere in the src of 
the project...


thanks
best,
P




Re: [Spam] Notes or chords sustained with a pedal

2019-12-21 Thread Rutger Hofman

Hi Robert,

I use trickery:
1) with a shortened first note duration to stop the first tie
2) with hidden notes to get ties to start/stop at a time I want

\version "2.21.0"

% By Nick Payne. Hide notes etc but also avoid (invisible) collisions.

transOn = {
  \override NoteColumn.ignore-collision = ##t
  \override NoteHead.no-ledgers = ##t
  \hide NoteHead
  \hide Stem
  \hide Flag
  \hide Beam
  \hide Dots
  \hide Accidental
  \hide TupletBracket
  \hide TupletNumber
}

\score {
\new Staff {
\clef bass
\relative c {
1*1/4~ \once \transOn q2 \once \transOn q4~ |
\once \transOn q1 |
}
}
}

HTH,

Rutger

On 12/21/19 12:32 PM, Robert Blackstone wrote:

Hi Robin,

I tried some of the procedures I found on
https://lists.gnu.org/archive/html/lilypond-user/2019-05/msg00202.html, 
the thread you advised me  to look at but they did not help me very much.
So I tried to  develop some trick or tweak without having to program 
things with scheme, with which I have no experience at all.
Anyway, I found something that gave me a result, not quite identical to 
what I wanted to get, but good enough for me and probably sufficiently 
clear for a pianist.


See the attached screenshot.

Best regards,

Robert







Re: Cross-"fertilization" between Dynamics w/ Lyrics and Keep_alive_together_engraver

2019-08-30 Thread Rutger Hofman
Thanks, your first solution works, and I will give your second solution 
a try!


Rutger

On 8/30/19 4:20 PM, Kieren MacMillan wrote:

Hi Rutger,


What setting can I apply to get correct horizontal spacing in the second case?


One possibility:

 \new GrandStaff \with {
 \consists Keep_alive_together_engraver
 \override LyricText.extra-spacing-width = #empty-interval
 } <<

Not a big fan of this whole approach, though…


Rationale: I use this Lyrics tric in my MarkLines to create a spanner with the 
spanner elements at specific times, and also at a fixed vertical offset. I 
cannot use David Nalesnik's textSpannerInnerTexts because their spacing of the 
words doesn't depend on the musical time. I cannot use multiple TextSpanners, 
because (at least in parts with few or no notes) the vertical offset of the 
texts is not constant: I saw situations where they are stacked 3 high.


Use extra-spacing-height and -width (and related properties and macros) to 
force horizontal shifting — that will correct the stacking problem.
Then you’ll be using TextSpanners (as you should be) rather than [overloading] 
Lyrics.

Hope that helps!
Kieren.


Kieren MacMillan, composer (he/him)
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Cross-"fertilization" between Dynamics w/ Lyrics and Keep_alive_together_engraver

2019-08-29 Thread Rutger Hofman

Dear list,

I ran into a situation where using the Keep_alive_together_engraver, 
with VerticalAxisGroup.remove-layer settings, gives unexpected results 
in horizontal spacing for a Dynamics context with \accept-ed Lyrics. I 
very much want to use this configuration, and have correct horizontal 
spacing.


The attached pdf (v.2.19.83) shows an upper score without either 
Keep_alive_together_engraver or remove-layer settings, which gives 
expected (correct) horizontal spacing. The lower score shows that, for 
Keep_alive_together_engraver and remove-layer settings, the horizontal 
spacing of the notes is (incorrectly) expanded to fit the lyrics 
syllables to one note.


What setting can I apply to get correct horizontal spacing in the second 
case? Or, if this is a bug, is there a workaround (which should work in 
scores with multiple MarkLines and tens of instrument staves)?


Rationale: I use this Lyrics tric in my MarkLines to create a spanner 
with the spanner elements at specific times, and also at a fixed 
vertical offset. I cannot use David Nalesnik's textSpannerInnerTexts 
because their spacing of the words doesn't depend on the musical time. I 
cannot use multiple TextSpanners, because (at least in parts with few or 
no notes) the vertical offset of the texts is not constant: I saw 
situations where they are stacked 3 high.


Greetings,

Rutger
\version "2.19.83"

\paper {
indent = 40
}

tempi = {
\time 12/8

s1. |
\new Lyrics \with {
\override LyricText.self-alignment-X = #LEFT
} \lyricmode {
"poco rit."4. -- accel. -- rit.2. -- "A tempo (tempo III)"4.*0
}
s1.*1 |
}

notes = {
\repeat unfold 24 c''8 |
\break
\repeat unfold 24 c''8 |
}

\score {
<<
\new GrandStaff <<
\new Dynamics \with {
\accepts Lyrics
} \tempi
\new Staff \with {
instrumentName = "No K_a_t_engraver"
} <<
\notes
>>
>>
>>
}

\score {
<<
\new GrandStaff \with {
\consists Keep_alive_together_engraver
} <<
\new Dynamics \with {
\accepts Lyrics
} \tempi
\new Staff = staff \with {
instrumentName = "K_a_t_engraver (r=80)"
\override VerticalAxisGroup.remove-layer = #80
} <<
\notes
>>
\new Staff = staff \with {
instrumentName = "K_a_t_engraver (r=20)"
\override VerticalAxisGroup.remove-layer = #20
} <<
\notes
>>
>>
>>
}


timed-spanner.pdf
Description: timed-spanner.pdf
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Alternating text and music

2019-07-26 Thread Rutger Hofman
If you have issues with lengthening the laissez-vibrer tie: I got this 
from the list in some misted past. Sorry that I didn't write down the 
author or the message in which it occurred!


% Control length of laissezVibrer ties
% Usage:
%   \extendLV #3.0
extendLV = #(define-music-function (further) (number?) #{
\override LaissezVibrerTie.X-extent = #'(0 . 0)
\override LaissezVibrerTie.details.note-head-gap = #(/ further -2)
\override LaissezVibrerTie.extra-offset = #(cons (/ further 2) 0)

It works for me.

Rutger

On 7/26/19 1:23 PM, Peter Toye wrote:

All,

Thanks very much for all the suggestions. I had asked for an _easy_ way! 
Also, I'm not 100% fussed about the exact layout as it's only for an 
example.


So I'm afraid that David's and Urs's solutions are overkill.

Rutger's seems good, - I hadn't realised you could use a repeatTie 
without a repeat! But I want th laisserVibrer tie to match the length of 
the bar. I tried changing its length using


{ c''1~ 1~ 1~ 1~ 1~
    \once  \override Voice.LaissezVibrerTieColumn.X-extent = #'( 0.0 . 
50.0 )

      1\laissezVibrer  }
   }

but this doesn't seem to have any effect on the length of the tie. 
Instead it changes the amount of room after the tie, which is exactly 
what I don't want. I also tried


   \override Voice.LaissezVibrerTie.X-extent = #'(0.0  . 50.0  )

with the same result. Any ideas on how to do this?

Ben's is the easiest, but ties the markup to the music. Not a great 
problem in my case, as I can split the music where I want it first and 
add the text later.


Best regards,

Peter
mailto:lilyp...@ptoye.com
www.ptoye.com 

-
Thursday, July 25, 2019, 8:27:07 PM, David Wright wrote:

*>> Le 25 juil. 2019 à 16:45, Peter Toye <*lilyp...@ptoye.com 
*> a écrit :

Alternating text and music I want to engrave a piano piece, and have lines of 
text between the staff groups. I know I can do this with several \score blocks, 
but unfortunately there are a lot of tied notes at the ends of some of the 
lines, which need to be engraved, at both the end and the start of each line.



Is there any easy way of doing this? I'm not very good at the \markup command :(



On Thu 25 Jul 2019 at 19:14:40 (+0100), Peter Toye wrote:

Something like this but with the tie between the staves.



The easiest way I know, and which gives you total control, is to:
set your single \score with one system per page, ie line ≡ page,
burst¹ the PDF into separate PDF pages, your raw material,
crop² them so that they're not encumbered with white margins,
and assemble³ the cropped PDFs and text into the pages/book.



¹ $ pdftk filename.pdf burst
² $ pdfcrop --margins 1 input.pdf cropped.pdf
³ $ pdflatex (or lualatex)
text-fragments-and-includegraphics-directives.tex



It's basically what lilypond-book does, but
lets LP divide the score
into systems itself. You might need to set
breakbefore to clear any
titling from the first line of music, and of course you don't want
LP's own pagenumbering.



Problems: your final .tex file will need to be kept in sync if
you make changes in the score that alters the linebreaking. This
can be ameliorated if you're using \break
directives in the score.



Other methods:



Problem with markup: your text is tied to musical elements rather
than the pages you're building.



Problem with laissezVibrer/repeatTie: you have to slice and dice
the music yourself, and that interferes with other elements of
the scores like dynamics, octavation, etc.



Cheers,
David.  *


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Alternating text and music

2019-07-25 Thread Rutger Hofman

Isn't it an option to use \lassezVibrer and \repeatTie?

Rutger

On 7/25/19 8:14 PM, Peter Toye wrote:

Hi Muzhic,

Something like this but with the tie between the staves.

Best regards,

Peter
mailto:lilyp...@ptoye.com
www.ptoye.com 

-
Thursday, July 25, 2019, 6:34:56 PM, Muzhic wrote:


Hello Peter,

Can you post a picture of what you’re after?

JM

Envoyé de mon iPhone

Le 25 juil. 2019 à 16:45, Peter Toye > a écrit :



	Alternating text and music I want to engrave a piano piece, and have 
lines of text between the staff groups. I know I can do this with 
several \score blocks, but unfortunately there are a lot of tied notes 
at the ends of some of the lines, which need to be engraved, at both the 
end and the start of each line.


Is there any easy way of doing this? I'm not very good at the \markup 
command :(



Thanks in advance,

Peter
mailto:lilyp...@ptoye.com
www.ptoye.com 


___
lilypond-user mailing list
lilypond-user@gnu.org 
https://lists.gnu.org/mailman/listinfo/lilypond-user



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [Spam] Re: Status and future of abc2ly

2018-12-10 Thread Rutger Hofman

On 10-12-18 10:40, Andrew Bernard wrote:

Hi Johan,

Having recently become interested in Irish Traditional Music where there 
are countless tens of thousands of tunes in ABC, the de facto standard 
for the tradition, I'd be keen to see abc2ly brought up to date. My 
tests with it on a sample of several tunes from thesession.org 
 can only be described as abject failures.


It would be great to have a current working version that operates really 
well, as the output from most of the ABC software available is dismal 
compared to lilypond. Although 'the dots' are frowned upon in ITM 
performance, it's handy to have a score to print out while learning a tune.


Is anybody interested in taking this on? I'd be happy to lend a hand as 
well. At least we would be working towards a mature and non-moving 
standard as regards ABC, so that's one good thing.



Andrew



On Mon, 10 Dec 2018 at 19:31, Johan Vromans > wrote:



Is the abc2ly program still under active support/development? If so, are
there any plans to upgrade it to the newer standard?



Isn't it possible (and easy) to use Wim Vree's utility abc2xml, see 
https://wim.vree.org/svgParse/xml2abc.html to convert to MusicXML and 
then convert the MusicXML into lilypond? From a maintenance/engineering 
view, it is much preferable to have one 'intermediate' to convert 
to/from, in stead of a separate converter package for each notation 
system to be converted.


Wim's converter is listed in the 6-of-the-best for ABC, see 
http://abcnotation.com/blog/2017/11/12/6-of-the-best-a-guide-to-abc-software/ 
.


Rutger


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [Spam] Re: Partcombine not working for orchestral parts?

2018-07-20 Thread Rutger Hofman

On 16-07-18 17:29, Ben wrote:

On 7/13/2018 2:25 PM, Kieren MacMillan wrote:

Hi Ben,


I probably confused you with my wording, sorry! I just meant it's above the 
staff when it's supposed to be (in rare situations where dynamics are 
technically different between the same instrument parts)...and then it's below 
for the part 'extraction' single staff file. ;) Right?

Correct! In the score: dynamics unique to Flute 1 appear above the staff, 
dynamics unique to Flute 2 appear below the staff, and shared dynamics appear 
[once only] below the score; in the parts: dynamics appear below the staff.

Magic.  =)
K.


Kieren MacMillan, composer
‣ website:www.kierenmacmillan.info
‣ email:i...@kierenmacmillan.info



Question please:

Say you have a large orchestral piece, and for the majority of one 
movement the flutes 1 & 2 share the same music. Suppose they have only 
about 5-10 measures out of several hundred measures in the movement that 
are different, requiring separate voices.


I know you can simplify and reduce typing of the music by using 
variables and such, however I am wondering: how would you go about 
setting up the instrument for Flutes 1/2, as well as Flute 1 and Flute 
2? If you use temporary \\ backslash polyphony in those measures, that 
won't translate to partcombine of course (because they would 'live' in 
the same variable, so I can't do \partcombine fluteone and have it 
work)...The only way to use partcombine then, would be to have two 
variables correct?


So, how can you *not* re-type or copy-paste the music into the other 
flute variable for partcombine? I'm looking at this the wrong way I 
know, perhaps one of you could straighten me out.


I'd like to use partcombine throughout this piece so ideally I'd like to 
keep the variables separate, but one movement out of the many do not 
have the need for polyphony so I am unsure how to proceed. But is it 
sometimes not advisable to use partcombine if the ratio of polyphony is 
low? I'm wondering what the common consensus is of when to use 
partcombine vs. when to manually single-variable input everything << >> 
inline.


My policy in this kind of situation is to use \quoteDuring, \partcombine 
and the \partcombine{Apart,Chords,Unisono,SoloI,SoloII} commands, like 
in this sub-minimal example:


\version "2.19.82"% some recent version

fluteI = {  flute I and unisono music ... }
\addQuote fluteI { \fluteI }

fluteII = {
   \partcombineUnisono \quoteDuring fluteI {
s1*33 | % duration of common music
   } \undo partcombineUnisono
   ... different music for flute II ...
   \partcombineUnisono \quoteDuring fluteI {
s1*33 | % duration of common music
   } \undo partcombineUnisono
   % etc.
}

Then the separate setup for parts and score:

parts:
\score {
   \new Staff { \fluteI }
}

\score {
   \new Staff { \fluteII }
}

full score:
\score {
\new Staff {
\partcombine
\fluteI
\fluteII
}
}

Beware that there are limitations here. quoteDuring cannot quote quoted 
music, for instance, and the partcombiner, when switching mode (Apart, 
Chords, Unisono etc), gets confused by spanner-type stuff (hairpins, 
text spanners, etc).


Rutger

P.S. If you require that the flute parts are sometimes on one staff, 
sometimes on 2, then you would want to get familiar with the so-called 
divisi engraver, which makes use of the Keep_alive_together_engraver, 
the VerticalAxisGroup.remove-layer property and the utility function 
targetstaff.


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Chord \crossStaff question

2018-07-11 Thread Rutger Hofman

Hi Jacques,

if you follow the instructions on cross-staff stems, you will arrive at 
something like this:


\version "2.19.0"

\score {
\new PianoStaff \with {
\consists #Span_stem_engraver
} <<
\new Staff = RH <<
{
\clef treble
R1
}
\new Voice \relative c'' {
\autoBeamOff
\voiceTwo
\crossStaff {
s4 c,8  s2 |
}
}
>>
\new Staff = LH <<
\relative c {
\clef bass
\voiceTwo
8 \change Staff = RH  \change Staff = 
LH  g' r2 |

}
>>
>>
}

Rutger

On 10-07-18 23:16, Menu Jacques wrote:

Hello Mark,

That’s the example I was mentioning.

But in the image from Finale 2014, all pitched notes occur in the second 
staff, and I tried to achieve the same.


JM

Le 10 juil. 2018 à 21:59, Mark Stephen Mrotek > a écrit :


Menu Jackues
Perhaps this can direct you
http://lilypond.org/doc/v2.18/Documentation/notation/common-notation-for-keyboards#cross_002dstaff-stems
Mark
*From:*lilypond-user 
[mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org]*On Behalf 
Of*Menu Jacques

*Sent:*Tuesday, July 10, 2018 12:49 PM
*To:*Lilypond-User Mailing List >

*Cc:*Menu Jacques mailto:imj-...@bluewin.ch>>
*Subject:*Chord \crossStaff question
Hello folks,
How can I modify the example below in order to obtain this score, with 
the staff change on the last two chords:


instead of that one:

The example in the docs didn’t give me the solution.
Thanks for your help!
JM
%%%

\version "2.19.82"

\version "2.19.58"
% automatically converted by musicxml2ly from 
CrossStaffChord.xml_inter.xml



PartPOneVoiceOne =  \relative c' {
  \clef "treble" \key c \major \time 4/4 | % 1
  R1 \bar "|."
}

PartPOneVoiceTwo =  \relative c {
  \clef "bass" \key c \major \time 4/4
  8 [
  \change Staff="1"
  8
  \change Staff="2"
  8
  \change Staff="2"
  8
  ]
  \change Staff="2"
  r2 \bar "|."
}


% The score definition
\score {
  <<

    \new PianoStaff
    <<

      \context Staff = "1" <<
        \mergeDifferentlyDottedOn\mergeDifferentlyHeadedOn
        \context Voice = "PartPOneVoiceOne" {  \PartPOneVoiceOne }
      >> \context Staff = "2" <<
        \mergeDifferentlyDottedOn\mergeDifferentlyHeadedOn
        \context Voice = "PartPOneVoiceTwo" {  \PartPOneVoiceTwo }
      >>
    >>

  >>
  \layout {}
  % To create MIDI output, uncomment the following line:
  %  \midi {\tempo 4 = 100 }
}

___
lilypond-user mailing list
lilypond-user@gnu.org 
https://lists.gnu.org/mailman/listinfo/lilypond-user




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [Spam] Partcombine with rests

2018-04-20 Thread Rutger Hofman

On 20-04-18 08:46, Lukas-Fabian Moser wrote:

Folks,

in the following example

\version "2.19.80"

One = \relative d'' {
   R1
   r8 d4 e8 f4
}

Two = \relative g' {
   R1
   r4 e4 d2
}

\new Staff \partcombine \One \Two


As the docs state, the decision about which partcombiner mode to choose 
(Apart, Chords, SoloI, SoloII) is hard, and can frequently mismatch with 
the user's expectations. In that case, it is OK to specify the mode 
yourself.


So: add \partcombineApart before bar 2 in either of your voices. You can 
revert in two ways:

(1) \undo \partcombineApart
(2) \partcombineAutomatic

HTH, Rutger

Lilypond treats the quarter note rest in the second voice as reason to 
put "Solo" and down-stem the first note of the first voice. I'm not sure 
this is reasonable behaviour since the lower voice has its own rest 
which \partCombine (reasonably) doesn't suppress, so in fact we have a 
two-voice situation for the whole bar.


I know how to get rid of the "Solo" marking, and of course I could also 
correct the stem of the upper voice's first note by \once\stemUp, 
\once\voiceOne or something similar (maybe combined with tags in order 
to still be able to create an extra part for the first voice). But 
somehow I feel that \partcombine shouldn't force me to do so.


So: Is there a way to make \partcombine recognize the lower voice's 
quarter rest as reason to automatically treat the upper voice as the 
\voiceOne ?


Best
Lukas




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Cross-staff chords question

2018-04-07 Thread Rutger Hofman
Did you (following the manual 
http://lilypond.org/doc/v2.19/Documentation/notation/common-notation-for-keyboards#cross_002dstaff-stems 
):


\layout {
  \context {
\PianoStaff
\consists #Span_stem_engraver
  }
}

to enable cross-staff stems?

And did you (following the manual) specify \crossStaff { .. } for the 
chords you want cross-staff? Be aware, you (probably) need to disable 
auto-beaming and specify stem direction explicitly for those.


I applied these, the resulting .ly and .pdf are attached. It shows 
cross-staff chords.


Rutger

On 04/07/2018 10:51 AM, Menu Jacques wrote:

Hello folks,

It seems that the last two chords should be split in two, with each one 
placed in the desired staff.


This leads to the following, see the second score block below:


I’m no pianist though: is this OK for a keyboard player, or is Finale’s 
output:


better, and if so, how can I obtain the cross-staves stems this way?

Thanks for your help!

JM


%

\version "2.19.58"
% automatically converted by musicxml2ly from 
43d-MultiStaff-StaffChange.xml_inter.xml



\header {
   texidoc =
   "Staff changes in a piano staff.
           The voice from the second staff has some notes/chords on the 
first
           staff. The final two chords have some notes on the first, 
some on

           the second staff."
}

\layout {
   \context {
     \Score
     skipBars = ##t
     autoBeaming = ##f
   }
}

PartPOneVoiceOne =  \relative c' {
   \clef "treble" \key c \major \time 4/4
   s1 | % 2
   R1 \bar "|."
}

PartPOneVoiceTwo =  \relative a {
   \clef "bass" \key c \major \time 4/4 | % 1
   a8 [
   \change Staff="1"
   e'8
   \change Staff="2"
   a,8
   \change Staff="1"
   e'8 ] c'8 [ e,8
   \change Staff="2"
   a,8 b'8 ] 8 [
   \change Staff="1"
   8
   \change Staff="2"
   8
   \change Staff="2"
   8 ]
   \change Staff="2"
   r2 \bar "|."
}


% The score definition
\score {
   <<
     \new PianoStaff
     <<
       \context Staff = "1" <<
         \context Voice = "PartPOneVoiceOne" {  \PartPOneVoiceOne }
       >>

       \context Staff = "2" <<
         \context Voice = "PartPOneVoiceTwo" {  \PartPOneVoiceTwo }
       >>
     >>
   >>

   \layout {}
   % To create MIDI output, uncomment the following line:
   %  \midi {\tempo 4 = 100 }
}


PartPOneVoiceOneBIS =  \relative c' {
   \clef "treble" \key c \major \time 4/4

   % \override Stem.cross-staff = ##t
   %  \override Stem.length = #19 % this is in half-spaces,
   % so it makes stems 9.5 staffspaces long
   %  \override Stem.Y-offset = #-6 % stems are normally lengthened
   % upwards, so here we must lower the stem by the amount
   % equal to the lengthening - in this case (19 - 7) / 2
   % (7 is default stem length)

   %  \override NoteColumn.ignore-collision = ##t

   R1 | % 2
   r4
   %\once \override Stem.direction = #LEFT
   c8
   8
   r2
   \bar "|."
}

PartPOneVoiceTwoBIS =  \relative a {
   \clef "bass" \key c \major \time 4/4 | % 1

   a8 [
   \change Staff="1"
   e'8
   \change Staff="2"
   a,8
   \change Staff="1"
   e'8 ] c'8 [ e,8
   \change Staff="2"
   a,8 b'8 ] 8 [
   \change Staff="1"
   8
   \change Staff="2"
   8
   \change Staff="2"
   g'8 ]
   \change Staff="2"
   r2 \bar "|."
}


% The score definition
\score {
   <<
     \new PianoStaff
     <<
       \context Staff = "1" <<
         \context Voice = "PartPOneVoiceOne" {  \PartPOneVoiceOneBIS }
       >>

       \context Staff = "2" <<
         \context Voice = "PartPOneVoiceTwo" {  \PartPOneVoiceTwoBIS }
       >>
     >>
   >>

   \layout {}
   % To create MIDI output, uncomment the following line:
   %  \midi {\tempo 4 = 100 }
}

%

Le 6 avr. 2018 à 23:11, Menu Jacques > a écrit :


Hello folks,

Under section « Cross-staff chords - beaming problems workaround » in 
the LP Snippets, one can find a way to obtain chords spanning two 
staves without any « <...> » chord in fact:





I’d like to keep the standard chord notation to obtain:


and currently only get (see last two chords):



Tried to add a staff change after the first g’ inside the last chord 
(in red below), but that is not syntactically correct.


Is there a way in recent LP versions to make that approach work? That 
would be much more direct that the snippet mentioned above.


Thanks for your help!

JM


%%

\version "2.19.58"
% automatically converted by musicxml2ly from 
43d-MultiStaff-StaffChange.xml_inter.xml



\header {
    texidoc =
    "Staff changes in a piano staff.
          The voice from the second staff has some notes/chords on the 
first
          staff. The final two chords have some notes on the first, 
some on

          the second staff."
    }

\layout {
    \context { \Score
        skipBars = ##t
        autoBeaming = ##f
        }
    }
PartPOneVoiceOne =  \relative c' {
    \clef "treble" \key c \major \time 4/4 s1 | % 2
    R1 \bar "|."
    }

PartPOneVoiceTwo =  \relative a {
    \clef "bass" \key c \major \time 4/4 | % 1
    a8 [ \

Re: [Spam] partcombine bug when using quoteDuring?

2018-02-20 Thread Rutger Hofman

On 02/19/2018 08:09 PM, Nathan Sprangers wrote:
When both voices in \partcombine finish a \quoteDuring at the same time, 
only one voice is rendered for subsequent notes.


\version "2.18.2"

\addQuote "melody" \relative c'' {
   a4 a a a
   d d d d
}

\addQuote "alto" \relative c'{
   f2 f
   g2 g
}

\partcombine
   { \quoteDuring #"melody" s1
     \quoteDuring #"melody" s1 }

   { \quoteDuring #"alto" s1
     % This does not get rendered:
     \quoteDuring #"alto" s1 }


Confirmed for version 2.19.80.

Rutger

If the last line is changed to notes, they are rendered but the 
\quoteDuring for the same measure in the first expression is not. 
Lilypond does not throw any errors or warnings when compiling these 
examples. Using the << \\ >> construct does not cause this issue.


If the quote durations overlap, there is no bug:

\partcombine
   { \quoteDuring #"melody" s1
     \quoteDuring #"melody" s1 }

   { \quoteDuring #"alto" s2
     % No problem:
     \quoteDuring #"alto" s1. }


Thanks,
Nathan



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


'divisi engraver' ignores \Remove(All)EmptyStaves

2018-02-15 Thread Rutger Hofman

Good morning list,

I would like the 'divisi engraver' (Keep_alive_together_engraver with 
remove-layer and \targetstaff) to discard empty staves even if they are 
at an active VerticalAxisGroup.remove-layer, if \RemoveEmptyStaves or 
\RemoveAllEmptyStaves is set. Currently, such empty staves are 
displayed. What can I do to achieve what I want?


Rutger Hofman
Amsterdam

Minimal example (sorry, involves multiple staves/voices so not really 
small):


\version "2.19.80"

targetstaff = #(define-scheme-function (ctx) (string?)
#{
\set Staff.keepAliveInterfaces = #'()
\context Staff = #ctx { \unset Staff.keepAliveInterfaces }
#})

vI = \relative c'' {
\targetstaff vIeII
R1*8 |
\break
\repeat unfold 28 { c4 } |
}

vII = \relative c'' {
\targetstaff vII
\repeat unfold 12 { a4 } |
\targetstaff vIeII
R1*8 |
\repeat unfold 16 { a4 } |
}

\score {
<<
\new StaffGroup \with {
\consists Keep_alive_together_engraver
} <<
\new Staff = vI \with {
\override VerticalAxisGroup.remove-layer = #10
\RemoveAllEmptyStaves
} {
\vI
}
\new Staff = vII \with {
\override VerticalAxisGroup.remove-layer = #10
\RemoveAllEmptyStaves
} {
\vII
}
\new Staff = vIeII \with {
\override VerticalAxisGroup.remove-layer = #20
} <<
\vI
\\
\vII
>>
>>
>>
}


hara-kiri-division.pdf
Description: Adobe PDF document
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Convert from Personal Composer to Lilypond?

2017-12-11 Thread Rutger Hofman

Hello list, Joshua,

If Personal Composer exports NIFF, then you can give my converter 
niff2ly a try: it reads NIFF and generates. Nowadays, it is in a public 
git repo: https://github.com/rfhh/lily-contribs subdirectory niff2ly. In 
niff2ly/, there is a README that explains how to build.


If you are not conversant with 'make' and friends, I once did a Windows 
build (with the compatibility system mingw). If you are interested, let 
me know.


Rutger

On 12/11/2017 10:03 AM, Joshua Stutter wrote:
If I remember correctly, and backed up by 
https://web.archive.org/web/20131206102455/http://pcomposer.com/features.html 
, Personal Composer could import MusicXML, MIDI and NIFF but only export 
MIDI and NIFF. Your best bet therefore is to use midi2ly as a starting 
point for input.


Joshua.


On 11/12/17 08:31, Simon Albrecht wrote:

On 10.12.2017 20:33, Andy Bradford wrote:

Hello,

I searched  the archives (and also  search engines) and couldn't  find a
discussion about converting Personal Composer (.pc files) into Lilypond,
so I thought I would ask if anyone knows of a conversion tool.

I could manually engrave  it again from the PDF output  that I have, but
it would be quicker if there is a tool for conversion.


I have never heard of that software.
There is limited MusicXML import functionality with LilyPond 
(different projects have been working on that; musicxml2ly, 
philomelos), also there’s midi2ly. AFAIK both can be used without 
problem for very basic input, but as soon as it gets more complicated, 
heavy manual editing is required, and often it’s cheaper to create 
LilyPond code from scratch.
So if Personal Composer has MusicXML or MIDI export, you could give 
either a shot.


Best, Simon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Convert from Personal Composer to Lilypond?

2017-12-11 Thread Rutger Hofman

On 12/11/2017 12:08 PM, Rutger Hofman wrote:

Hello list, Joshua,

If Personal Composer exports NIFF, then you can give my converter 
niff2ly a try: it reads NIFF and generates. Nowadays, it is in a public


I mean: reads NIFF and generates lilypond.

git repo: https://github.com/rfhh/lily-contribs subdirectory niff2ly. In 
niff2ly/, there is a README that explains how to build.


If you are not conversant with 'make' and friends, I once did a Windows 
build (with the compatibility system mingw). If you are interested, let 
me know.


Rutger

On 12/11/2017 10:03 AM, Joshua Stutter wrote:
If I remember correctly, and backed up by 
https://web.archive.org/web/20131206102455/http://pcomposer.com/features.html 
, Personal Composer could import MusicXML, MIDI and NIFF but only 
export MIDI and NIFF. Your best bet therefore is to use midi2ly as a 
starting point for input.


Joshua.


On 11/12/17 08:31, Simon Albrecht wrote:

On 10.12.2017 20:33, Andy Bradford wrote:

Hello,

I searched  the archives (and also  search engines) and couldn't  
find a
discussion about converting Personal Composer (.pc files) into 
Lilypond,

so I thought I would ask if anyone knows of a conversion tool.

I could manually engrave  it again from the PDF output  that I have, 
but

it would be quicker if there is a tool for conversion.


I have never heard of that software.
There is limited MusicXML import functionality with LilyPond 
(different projects have been working on that; musicxml2ly, 
philomelos), also there’s midi2ly. AFAIK both can be used without 
problem for very basic input, but as soon as it gets more 
complicated, heavy manual editing is required, and often it’s cheaper 
to create LilyPond code from scratch.
So if Personal Composer has MusicXML or MIDI export, you could give 
either a shot.


Best, Simon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user





___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \mark and slur

2017-09-14 Thread Rutger Hofman

On 14-09-17 15:57, David Kastrup wrote:

David Kastrup  writes:


Rutger Hofman  writes:


My preference would be to clearly explain that '(' is an attribute of
the note that directly precedes it.


That's what the "loose post-event" bit is supposed to be about.


Yes, I understand. But still, I fear it is a steep hurdle for the 
uninitiated to understand that 'loose post-event'.



GNU LilyPond 2.21.0
Processing `sll.ly'
Parsing...
sll.ly:4:13: warning: Adding <> for attaching loose post-event
\mark "X"
  (c4) c c c


If you have a better proposal for the error message, let fly.


Note: another component that may possibly be included in the warning
message for this input would be "SlurEvent".  Would


sll.ly:4:13: warning: Adding <> for attaching loose SlurEvent
\mark "X"
  (c4) c c c


be any better?  Or not mention the expedient of <> at all (might make it
harder for the user to figure out a workaround for his situation)?


sll.ly:4:13: warning: Cannot attach SlurEvent to preceding expression
\mark "X"
  (c4) c c c


This one comes closest for me. I think it could be helpful to also 
explain that the 'preceding expression' is not a note, and that that is 
required for a SlurEvent/slur? Or is doing this for all possible error 
scenarios a lifetime job?



or for brevity


sll.ly:4:13: warning: unattachable SlurEvent
\mark "X"
  (c4) c c c


But this is just me; maybe others have different feelings.

Rutger


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \mark and slur

2017-09-14 Thread Rutger Hofman
But isn't the start time of this <> the start time of the c4 in the 
second line, so that <>( c4) is equivalent to c4(); which causes the 
warnings 'cannot end slur' for ')' and 'unterminated slur' for '('?
My guess is that this insertion of <> makes things more complicated for 
us, unenlightened users, if anything.


My preference would be to clearly explain that '(' is an attribute of 
the note that directly precedes it.


Rutger

On 14-09-17 11:53, Malte Meyn wrote:



Am 14.09.2017 um 11:43 schrieb David Kastrup:

Incidentally, current master delivers the following verbiage:

GNU LilyPond 2.21.0
Processing `sll.ly'
Parsing...
sll.ly:4:13: warning: Adding <> for attaching loose post-event
   \mark "X"
 (c4) c c c
Interpreting music...
sll.ly:4:16: warning: cannot end slur
   \mark "X" (c4
) c c c
sll.ly:4:13: warning: unterminated slur
   \mark "X"
 (c4) c c c
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `/tmp/lilypond-U2WM3z'...
Converting to `sll.pdf'...
Deleting `/tmp/lilypond-U2WM3z'...
Success: compilation successfully completed


Is that more helpful than previously?


If adding <> is the thing that is done now, of course this is more 
helpful. Would it be possible to add that <> in the following warnings 
too? I suppose no because locations in the file would get messed up if 
added things were shown.


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: How to make vertical arrow between staves

2017-06-14 Thread Rutger Hofman

On 06/14/2017 12:47 PM, Marc Hohl wrote:

Am 14.06.2017 um 12:34 schrieb Rutger Hofman:

Good morning list,


[...]

Does

http://lsr.di.unimi.it/LSR/Item?id=962

what you want?

Marc


This LSR snippet uses VoiceFollower and Glissando. I cannot make it draw 
*vertical* lines/arrows, is there anything I overlook?


Rutger


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


How to make vertical arrow between staves

2017-06-14 Thread Rutger Hofman

Good morning list,

in Berg's Violin Concerto, bar 93, there is a vertical arrow between the 
solo violin and the first violins. See attached. I am convinced this is 
a voice follower indication. This construct occurs numerous times in 
this score, as in many other works by Berg.


I don't know how I can make this in Lilypond. An obvious construction 
(which appeals to me because it is 'semantically correct') would be a 
separate invisible voice and a 0-length starter note like:


   ... g4*0 \once \showStaffSwitch \change Staff = mvtIvlnI g8 ...

and the arrow can be obtained by \override 
VoiceFollower.bound-details.right.arrow = ##t (found on the web, 
although I couldn't locate the specs for bound-details.right in the docs).
But this doesn't work. It gives me some warnings about 'adding note head 
to incompatible stem' and doesn't display the voice follower.


Making some time distance between start and end note of the voice 
follower of course works, but then the arrow is not vertical, which is 
obviously Berg's intent.


I also tried cross-staff glissando, but again to no avail.

Is there any other way to achieve this voice follower? Can I force the 
angle of the follower line? Or should I try to abuse glissando, for 
instance?


Obviously, an arrow can be drawn in markup, but that is not really 
portable. Its length would be fixed, and need to be retuned for each 
different situation, or score/parts, or whatever. I would love to stay 
away from that.


Rutger Hofman
Amsterdam
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: partcombine and quote don't play well together

2017-06-07 Thread Rutger Hofman
Judicious use of \partcombineUnisono and \undo of same might help with 
quoting combined with \partcombine. E.g. where you start quoting, you 
can try to specify \partcombineUnisono etc.


Rutger

On 06/06/2017 05:22 PM, Kieren MacMillan wrote:

Hello all,

The snippet below contains a [M]WE showing how partcombine and quote don't play 
well together. This limitation is interfering with my ability to put together 
the Awesome Divisi Choral Framework™ I'm currently working on.

In , 
Malte offered a solution which helped me get through the same issue when I was 
cramming out an orchestral score. But, as Malte points out, the method is hacky, and 
has limitations, and ultimately


it would be nice if LilyPond allowed quotes that really copy the quoted music 
to the quoting instrument.


Is there a superior workaround?
In particular, is there a [long-term] fix/improvement we can easily and quickly 
get into the codebase?

Thanks,
Kieren.

%%%  SNIPPET BEGINS
\version "2.19.60"
\language "english"

sop = { c'8 r d'4 }
\addQuote #"sop" \sop

alt = \sop
altQ = {
   \quoteDuring #"sop" s2
}

\markup "Partcombine + variable = SUCCESS:"
\new Staff \partcombine \sop \alt

\markup "Partcombine + quoted = FAIL:"
\new Staff \partcombine \sop \altQ
%%%  SNIPPET ENDS


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [Spam] Re: How to move a note just a little

2017-05-04 Thread Rutger Hofman

On 05/04/2017 10:01 PM, Partitura Organum wrote:
[snip]


However, I'd like a working solution for version 2.18.2. That's the only
version I have working on my android tablet and I use both my desktop
and my tablet for engraving.
Thanks for the suggestion, anyway.

Regards,
Auke


Just out of curiosity, what did you do to get lilypond running on Android?

Rutger Hofman
Amsterdam



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [Spam] Re: Multiple instruments in score and parts

2017-04-15 Thread Rutger Hofman

On 04/13/2017 03:37 PM, David Sumbler wrote:

On Thu, 2017-04-13 at 09:19 -0400, Kieren MacMillan wrote:

Hi David,



At the moment I cannot really see how to deal with this sort of
problem, other than having completely separate input for the score
and
the part at these points, controlled by tags.  But is there a
better
way - one which requires less duplication of material in the input?

Any suggestions or pointers to help with this will be gratefully
received!

If you search for ‘divisi’ on the list — and sort in reverse
chronological order (which really should be the default!) — you’ll
find many related threads, containing lots of hints and tips on how
to attack this problem (e.g., ).

Hope this helps,
Kieren.


It does - I simply hadn't thought of searching for "divisi"!  Even
after a cursory glance at some of the stuff that that search comes up
with, I can see that this is going to be very helpful.

Thanks

David


Yes, this can be accomplished with the divisi engraver (or whatever it 
is called), but I would recommend to use this only in the full score, 
and keep all variants of e.g. Violin I in one part, including 
first/second half, solo parts etc. From what I have seen, that is 
customary in professional editions. I have seen a Messiaen Violin I part 
where the divisi is in (uh... what was it... ) 8 or 10 or so solo parts, 
and all were in the same physical Violin I 'part'.


For winds, this is a different matter. A separate part for each 
instrument is usual, although sometimes the parts for e.g. the two 
flutes are combined into one 'part'. I have seen that mostly in French 
editions, FWIW.


Rutger


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Repeat slur?

2017-03-30 Thread Rutger Hofman

On 03/30/2017 09:40 AM, Richard Shann wrote:

On Thu, 2017-03-30 at 07:38 +, Hendrik Fuß wrote:

Dear Jan-Peter and Andrew,


thanks for your feedback. \laissezVibrer comes close, but in the case
of a chord, I get a tie for every note of the chord. So it does not
look like a slur.


{  }

perhaps,

Richard


Or maybe , and for the companion starter, 
?


Rutger


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: new to this list - converting from Noteworthy Composer

2017-03-22 Thread Rutger Hofman

On 03/22/2017 11:08 AM, David Kastrup wrote:

Guido van Harten  writes:


Hi,

I think I am new to this list. A few years ago I tried Lilypond to
create my music files. It failed, but I do not remember why.

As of today I will give it a new try. Now I am starting of my current
music notation software, Noteworthy Composer.
I think the converting utility nwc2ly is not part of the lilypond
software, but may be anyone can help me.

I tried to convert a simple music file, created in Noteworthy Composer
2.75, to Lilypond.
Is this forum also for discussing about nwc2ly?


I doubt you'll find many who can give qualified advice about nwc2ly
here, though if you have particular problems with the generated .ly
files, of course people will be able to tell you what is wrong and how
to proceed.

I see that  points out "Help"
and "Open discussion" forums for nwc2ly on its web page but I have no
idea how active they may still be, given that the last software release
appears to be from 2005.


[snip]

You might also try to convert your NWC file to MusicXML and import that 
into Lilypond.


Rutger


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [Spam] Re: Crescendo in the first beat misaligned to the others

2017-03-08 Thread Rutger Hofman

Hello Son,

I guess at your problem because I am not sure I grasp it. You are 
worried that the dynamics avoid the bar numbers from bar 2 on, is that 
right?


Well, lilypond places the dynamics in a way that collisions are avoided, 
and the dynamics are treated independently of each other (with the 
exception of dynamics that are contiguous in time, I think these stay at 
the same vertical offset). To verify what this means, let your notes go 
up over the bar (c with 2 ledger lines is not weird for a soprano), and 
watch the dynamics go up with it. And this is good engraving practice!


Nevertheless, if you want the dynamics to stay at the same vertical 
offset, of course you can achieve that. Create a separate \new Dynamics 
above your Staff, and put the dynamics, with spacer rests for the 
timing, into that Dynamics (and only in that Dynamics of course). I can 
provide an example if you want.


Rutger Hofman
Amsterdam

P.S. In a minimal example, why not discard the lyrics? and the skipBars? 
And the instrument names? Etc?


On 03/08/2017 05:15 PM, Son_V wrote:

Well, I know it's not a good example of a minimum example, but it's the
closest thing I am able to do...
Now the code is

 \layout {
  \context {
\Score
skipBars = ##t
\dynamicUp
  }
}

PartPOneVoiceOne =  \relative g' {
  &\override Score.BarNumber #'break-visibility = #'#(#t #t #t)
  \clef "treble" \key es \major \time 2/2 | % 1
  \tempo "Adagio"
  g2  \p \< g4 \! g4 | % 2
  bes2 \> bes2 | % 3
  es,2 \! \< es4 f4 | % 4
  g2 \! \> f2\! \breathe \bar "|."

}

PartPOneVoiceOneLyricsOne =  \lyricmode {
  A -- ve Ma -- ri -- a gra --
  ti -- a ple -- na
}

% The score definition
\score {
  <<
\new Staff <<
  \set Staff.instrumentName = "Soprano"
  \set Staff.shortInstrumentName = "S."
  \context Staff <<
\context Voice = "PartPOneVoiceOne" { \PartPOneVoiceOne }
\new Lyrics \lyricsto "PartPOneVoiceOne" \PartPOneVoiceOneLyricsOne
  >>
>>

  >>
  \layout {}
}

If you uncomment the "\override Score.BarNumber #'break-visibility = #'#(#t
#t #t)" you will see the difference, and you will see the misalignment I am
talking of.
Can it be eliminated?

 Thanks.



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Crescendo-in-the-first-beat-misaligned-to-the-others-tp200612p200906.html
Sent from the User mailing list archive at Nabble.com.

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [Spam] Change beam grouping

2017-03-03 Thread Rutger Hofman

On 03/03/2017 09:10 AM, Sven Axelsson wrote:

Hi list.

I asked this very question way back in 2011. Time to raise it again,
maybe there is a way to do it now. The original thread is here:
https://lists.gnu.org/archive/html/lilypond-user/2011-09/msg00208.html


This is probably in the manual, but I can't find it so I'm asking you
all. In a sequence like

{ b16. b32 b32 b16. }

the default is to have a beam that connects the two shortest notes,
like the first bar in the attached image. I want the beaming so it
always makes a beamlet point towards the corresponding dotted note, as
in the second bar of the image.

How can I set it up so this happens automatically, both in 8. 16 and
in 16. 32 groups?

Thanks

--
Sven Axelsson


What about:

\set subdivideBeams = ##t
\set baseMoment = #(ly:make-moment 1/8)

Rutger


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Forcing some horizontal space between two notes

2017-01-03 Thread Rutger Hofman

On 03-01-17 13:45, Urs Liska wrote:

Hi all,

it seems to me this should be easily doable, but I don't find the right
incantation.

I would like to force some space between the first group in the right
hand and the following grace notes. This is necessary in order to
squeeze a slur between them, coming from the dis in the left hand.

From the manual I found

\override Score.NonMusicalPaperColumn.padding = #10

looking like it's what I need. But used like this it introduces space
between *all* notes, regardless of where it is placed. Trying to use it
with \once it doesn't have any effect (using 2.19.52).

Any suggestion would be welcome.

Urs




Hacky: adding s32 (or whatever) as the first note of the grace group 
works. Of course this is only because it is within a grace, but 
otherwise force-hshift might help?


Rutger


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Problems engraving some unbeautiful music

2016-12-19 Thread Rutger Hofman
And using Urs' suggestion for voiceFour, and some force-hshift and 
forcing of beam positions, I get the following (attached).


Rutger

\version "2.19.0"

\score {
\new PianoStaff \with {
\consists #Span_stem_engraver
} <<
\new Staff = "up" <<
\relative c'' {
\time 3/4
\voiceOne
b,4( c d) |
d( \change Staff = down b ) |
}
>>
\new Staff = "down" <<
\clef bass
\new Voice \relative c {
\voiceFour
\override NoteColumn.force-hshift = #0
g2 g4 |
2 4 |
}
\new Voice \relative c {
\crossStaff {
\voiceOne
f4~ f f |
g
}
}
\new Voice \relative c {
\voiceTwo
\once \override Beam.positions = #'(-1 . 1)
\stemDown f8 \stemUp b,~
\stemDown b[ b]
\once \override Beam.positions = #'(-1 . 1)
f' \stemUp b, |
\once \override Beam.positions = #'(0 . 2)
\stemDown g' \stemUp d~ \stemDown d[ g]~
\once \override Beam.positions = #'(0 . 2)
g \stemUp d |
}
>>
>>
}


On 19-12-16 12:04, Urs Liska wrote:

What about the attached?

This makes the lower voice \voiceTwo, the middle voice \voiceFour and
keeps all the stems downward.

Additionally one would have to move the inner voice a little bit to the
right so it doesn't touch the lower one.

Just an idea

Urs


Am 19.12.2016 um 11:51 schrieb Peter Toye:

Problems engraving some unbeautiful music I'm trying to engrave the
attached score fragment, but can't work out how to get it right. I
agree with LP that it's not beautiful, but that's what the composer wrote.

The snippet below is as far as I've got, but there are too many
clashes (not surprising). So the cross-staff chords aren't working and
it's not merging the RH crochet (1/4 note) and quaver (1/8 note)
noteheads. If you comment out the LH 2nd voice, the remaining voices
work OK.

I suspect that shortening the stem of the LH 1st voice quavers to get
them out of the way of the 2nd voice would help, but I can't see how
to do this. I tried overriding the beamed-stem-shorten property (not
very explicitly documented in the Internals manual) but this made no
difference.

\version "2.19.52"
\language "english"
\layout {
 \context {
   \PianoStaff
   \consists #Span_stem_engraver
 }
}

{
 \new PianoStaff {
   <<
 \set PianoStaff.instrumentName = #"Piano"
 \new Staff = "rh" {
   \time 3/4
   \key gs \minor
   \clef treble
   \relative c' {
 \override PhrasingSlur.direction = #UP
 b \( cs d\) |
 d\( \change Staff = "lh" \stemUp {b  \) }|
   }
 }

 \new Staff = "lh" {
   \time 3/4
   \key gs \minor
   \clef bass
   \relative c
   {
 <<
   { \crossStaff {f4~ f4 f4 | g} s s | }
   \\
% comment out the next line and it works
   { \octaveCheck g, g2 g4 | 2 4 |}
   \\
   {
 \octaveCheck f
% next line makes no difference
\once \override Beam.beamed-stem-shorten = #'(0.3 0.3 0)
 \stemDown f8[ \stemUp b,~]
 \stemDown b[ b] \stemDown f'[ \stemUp b,] |
 \stemDown g'8[ \stemUp d]_~ \stemDown d[ g_~] g \stemUp d]
   }
 >>

   }
 }
   >>
 }
}

Regards,

Peter
mailto:lilyp...@ptoye.com
www.ptoye.com 


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user






toye-cross-staff.pdf
Description: toye-cross-staff.pdf
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [Spam] request for help: huge score

2016-11-23 Thread Rutger Hofman
You can check if my typeset of Berg's Adagio (Kammerkonzert) works. It 
is here: http://imslp.org/wiki/Kammerkonzert_(Berg,_Alban) then under 
the list of parts, there is a zip with the source, with a Makefile to 
build score and all parts (make -j  should work). (This is 
also a nice test if I really bundled everything :-) ) I think 2.19.48 or so.


If you like, I can also submit my ongoing work on the Rondo from the 
same piece. It has a solo piano, and Berg uses all the typesetting 
tricks in the book. Even so, it is *far* from finished, but it compiles 
for me.


Rutger

On 11/23/2016 11:30 AM, Thomas Morley wrote:

Hi all,

currently there's some ongoing heavy work to make LilyPond work with guilev2.

I'd like to test the current state with a huge score, something like
an entire sinfony or the like.
I don't have a huge score of this kind at hand.
May I ask if somebody could send me one?
It should compile with a recent devel-version to ensure comparabilty.

A huge score may be too much for an attachment on the list.
Please try zipped or a private mail.

Thanks,
  Harm

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [Spam] Photoscore

2016-11-22 Thread Rutger Hofman
Somewhat more affordable is PDFToMusic Pro. It takes a PDF with music 
fonts (so not scans) and exports to MusicXML; it ought to be more 
reliable than the OMR that recognizes scans. It runs under Wine (at 
least the trial did).


Rutger

On 11/22/2016 11:13 AM, N. Andrew Walsh wrote:

Hi List,

I've unfortunately run up against a suddenly very urgent deadline, that
involves all the worst things about doing engraving work with Lily while
trying to work with entrenched commercial interests.

Namely, I've spent the last year engraving a set of scores with Lily
that look great, but for a project that was financed by a large
commercial publisher that is dead-set on Sibelius. The financing depends
on the publisher getting a .sib file, and the project lead just told me
yesterday that I need to produce such a file in a week or two "or else."

I don't have Sibelius (I roll linux), but my partner does, so Urs and I
have a sort of hacky solution that might work: I start with a blank sib
file with all the voices and measures and meter changes, and then the
individual voices of the score from the .ly file. The .sib file gets
exported to a MusicXML file, as do the parts from the .ly file, and
we're going to try to copy the latter into the former, hoping that we
can re-import into Sibelius into something that only requires a
reasonable amount of work to clean up and submit.

Problem is, MusicXML is turning out to be somewhat … sub-functional, so
we're having difficulties.

However, my partner tells me that there's a commercial program called
"Photoscore" that can take scanned scores and produce Sibelius files
from them. But it's around $400, and (obviously) doesn't have a linux
version.

My question for the list is: do any of you have this program? Does it
work? If so, would you be willing to help me by scanning in the Lilypond
scores I have? If we could get to a .sib file that even just *mostly*
contains what it needs to, without all this import/export buggery, it
would save huge amounts of time.

Please let me know asap if any of you do. Like I said, I'm under a
deadline to get this done, and the alternative is a lot of time spent
commuting to a computer lab off-site to re-enter everything manually.
I'm *really* hoping one of you can spare me that fate.

Cheers,

A



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [Spam] Re: [Spam] Re: Spanner right-hand text may disappear when padded

2016-10-19 Thread Rutger Hofman

On 10/17/2016 06:49 PM, David Nalesnik wrote:

On Mon, Oct 17, 2016 at 9:35 AM, David Nalesnik
 wrote:

On Mon, Oct 17, 2016 at 8:26 AM, Rutger Hofman  wrote:

Thanks for all the help! First I post some rationale, then my real question,
which is targeted at the developers I guess.

The behaviour I am after is a thing I really do want: it is visually
confusing if the 'a tempo' comes halfway the 'poco rit.)' when it is clearly
meant to be after it.

I am afraid that solutions involving staff-padding are not general enough;
if I try to move the \markup{a tempo} in my example to the beginning of its
bar, there is no value for right.text padding or staff-padding that lets it
be both visible and at the same vertical position. And even then I am unsure
if it will work for all 14 instrument parts (the tempo indications are
needed in all), the skyline can be wildly different.


I'm having difficulty understanding exactly what it is that you want
or why the solutions presented are insufficient.  Is it possible to
provide some sort of mockup--if if hand-drawn--to show exactly how
you'd like this to look?


OK... Now for the real question.

I am really unenlightened why the right.text (or for that matter, both
left.text and right.text if the padding is chosen sufficiently large)
disappears for largish values of padding. After all, the padding is intended
to stretch outside the texts, isn't that correct?

For a quick attempt to see if things crash or whatever if this test is
disabled, I cloned git and built on my Ubuntu, verified quickly that the
unmodified install works, then commented out that test (line 329 in
lily/line-spanner.cc) and ran again. Lo and behold, everything looks OK in
my first quick tests.

I am not familiar with Lilypond internals, so this raises my question: what
is this test for? What problems does it guard against? Should it only hold
for other spanners than text spanners? Or for right-broken text spanners?
Etc. Or is it just a bug/feature silently living on from the past?


When I fiddled around this a few days ago, the dashed line would
disappear when doing this.  Modifying the code to show the dashed line
again (another condition) shows the line superimposed on the right
text.

I can't investigate this further/pass along my test code for you to
investigate, b/c unfortunately I'm having a file permissions disaster
on my Win10 system.



Sorry about the empty email!

I've attached a Scheme rewrite of ly:text-spanner::print which allows
for easy demonstration of the problems I mention above.

I've removed the padding check.  This only brings back the right text.
The line is suppressed b/c the endpoint of the right side is actually
LEFT of the endpoint of the left side

Removing the check (line 161) draws the line, and you can see the consequences.

You could experiment with finding a way to set the X of the broken
second-half of the spanner to some value under 0.  I don't have a
rewrite of that C++ stuff, so it will mean messing with the source.


Again, thanks for all your efforts!

With removal of 'the' test, it finally dawned on me that the spanner 
right-hand text moves to the left upon padding, and the place in time 
where the right-hand text starts moves with it to the left. That is 
exactly /not/ the behaviour I want. I want each of these instructions to 
visually start at their very well-defined point in time. I came to the 
conclusion that instructions that start at a given time and are (more or 
less) aligned on the same Y-coordinate* will probably all have to be 
text spanners. So I solved my problem by converting the 'a tempo' markup 
in my original MWE to be the right-hand text of a second text spanner, 
which starts with the 'poco rit.)' incantation.


Even though I solved my problem: you asked above for my use-case, and in 
this case it is the Adagio for solo violin and 13 winds from Alban 
Berg's Kammerkonzert, see 
http://imslp.org/wiki/Kammerkonzert_(Berg,_Alban) for the score. The 
Adagio starts at page 48, bar 241. That page and the following few 
clearly show the behaviour I want: accel, rit, a tempo, etc in a close 
sequence, but obviously tied to their start times, and all at the same 
vertical offset. For individual, more time-compressed, parts (e.g. the 
woodwind parts that start out with rests!), I need to explicitly avoid 
the instructions getting partly on top of each other.


So, in conclusion: I solved my issues without using padding; again many 
thanks for your efforts in helping me clear this out.


Rutger Hofman
Amsterdam

*) is this horizontal or vertical alignment? I am always so confused 
about this...


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [Spam] Re: [Spam] Re: Spanner right-hand text may disappear when padded

2016-10-17 Thread Rutger Hofman
Thanks for all the help! First I post some rationale, then my real 
question, which is targeted at the developers I guess.


The behaviour I am after is a thing I really do want: it is visually 
confusing if the 'a tempo' comes halfway the 'poco rit.)' when it is 
clearly meant to be after it.


I am afraid that solutions involving staff-padding are not general 
enough; if I try to move the \markup{a tempo} in my example to the 
beginning of its bar, there is no value for right.text padding or 
staff-padding that lets it be both visible and at the same vertical 
position. And even then I am unsure if it will work for all 14 
instrument parts (the tempo indications are needed in all), the skyline 
can be wildly different.


OK... Now for the real question.

I am really unenlightened why the right.text (or for that matter, both 
left.text and right.text if the padding is chosen sufficiently large) 
disappears for largish values of padding. After all, the padding is 
intended to stretch outside the texts, isn't that correct?


For a quick attempt to see if things crash or whatever if this test is 
disabled, I cloned git and built on my Ubuntu, verified quickly that the 
unmodified install works, then commented out that test (line 329 in 
lily/line-spanner.cc) and ran again. Lo and behold, everything looks OK 
in my first quick tests.


I am not familiar with Lilypond internals, so this raises my question: 
what is this test for? What problems does it guard against? Should it 
only hold for other spanners than text spanners? Or for right-broken 
text spanners? Etc. Or is it just a bug/feature silently living on from 
the past?


Rutger

P.S. Building lilypond on my (up-to-date-ish but certainly not 
killer-class) PC take some minutes, not those tens of hours that the 
list spoke about lately.


On 10/12/2016 09:56 PM, David Nalesnik wrote:

On Wed, Oct 12, 2016 at 2:04 PM, Rutger Hofman  wrote:

On 10/12/2016 06:17 PM, David Nalesnik wrote:


On Wed, Oct 12, 2016 at 8:48 AM, David Nalesnik
 wrote:


Harm,

On Wed, Oct 12, 2016 at 8:13 AM, Thomas Morley 
wrote:



in this thread

http://lilypond.1069038.n5.nabble.com/Alternate-scheme-text-spanner-ignores-spacers-td195195.html
you researched the cause for problems while attaching TextSpanner to
spacers using custom-scheme-engravers.

May it be possible the problem is present in the original .cc-coded as
well?

At least I don't see any problem with attached TextSpanners as soon as
I change a spacer to a real note-event in Rutger's code:



It appears to be related to the X-position of the right-bound text:
if it's too far to the left, it won't be printed.

Change the right-padding override in your example to 10, and the text
will also disappear.



ly:line-spanner::print considers the properties left-bound-info and
right-bound-info.  It returns '() if the sum of left.padding and
right.padding is greater than the distance between the left and right
ends of the spanner (as determined from "X" and "Y" stored in
bound-details).  I can't say I follow the thinking, but that's what
causes nothing to be printed when right.padding is set too high.

(The variable for padding is confusingly named "gaps" in the code, by the
way.)

David



For starters: thanks to you all for thinking along, and searching for an
analysis (and hopefully fix).

The 'solution' of suppressing the spanner under these conditions doesn't
sound immediately logical to me. And this suppression only struck my eye for
spanners that cross a line break; which doesn't imply that it cannot occur
otherwise of course.



The point I'm making is that the spanner was only suppressed in your
original example because the value you chose for right.padding was too
large -- large enough to put the right text before the left endpoint,
which roughly is why the program gave you nothing.  If you use

\override TextSpanner.bound-details.right.padding = #2

the text is moved out from under the TextScript.  You can then
override TextScript.staff-padding and TextSpanner.staff-padding to
force an alignment.  As far as I know, you will have to align them
yourself this way because the TextSpanner and TextScript are not
grouped.  The inner-texts enhancement does offer a grouping of sorts.

David




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: alternate spanner-id-aware spanner does not work in 2.39.48

2016-10-16 Thread Rutger Hofman

Yes, this helps! Thanks a lot!

Rutger

On 10/16/2016 08:15 PM, David Kastrup wrote:

Rutger Hofman  writes:

Hm, I suspect


((or
  (and
   (string? sp-id)
   (string? es-id)
   (string=? sp-id es-id))
  ;; deal with \startTextSpan, \stopTextSpan
  (and
   (null? sp-id)
   (null? es-id)))


That would be more succinctly be expressed as

  ((equal? sp-id es-id)

In which case it should work equally well in the old and the new
LilyPond versions.  Assuming I counted the parens right.




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: alternate spanner-id-aware spanner does not work in 2.39.48

2016-10-16 Thread Rutger Hofman

Finish my sentence at the end of the paragraph:

... No spanners are drawn at all in this example.

On 10/16/2016 07:53 PM, Rutger Hofman wrote:

Hello list,

to my grief I noticed that David Nalesnik's id-aware spanner
implementation in scheme no longer works in 2.39.48. It gives me errors
like "warning: No spanner to end!!" and "warning: incomplete spanner
removed!" if there are overlapping spanners. No

For reference, I again attach David N's (most recent) textspanner
implementation. The \score block is a minimal example.

Note: this worked fine with 2.19.39, and fails with 2.19.48. I didn't
look at intermediate versions.

Rutger




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


alternate spanner-id-aware spanner does not work in 2.39.48

2016-10-16 Thread Rutger Hofman

Hello list,

to my grief I noticed that David Nalesnik's id-aware spanner 
implementation in scheme no longer works in 2.39.48. It gives me errors 
like "warning: No spanner to end!!" and "warning: incomplete spanner 
removed!" if there are overlapping spanners. No


For reference, I again attach David N's (most recent) textspanner 
implementation. The \score block is a minimal example.


Note: this worked fine with 2.19.39, and fails with 2.19.48. I didn't 
look at intermediate versions.


Rutger

\version "2.19"

%% Incorporating some code from the rewrite in Scheme of
%% Text_spanner_engraver in input/regression/scheme-text-spanner.ly

#(define (add-bound-item spanner item)
   (if (null? (ly:spanner-bound spanner LEFT))
   (ly:spanner-set-bound! spanner LEFT item)
   (ly:spanner-set-bound! spanner RIGHT item)))

#(define (axis-offset-symbol axis)
   (if (eq? axis X) 'X-offset 'Y-offset))

#(define (set-axis! grob axis)
   (if (not (number? (ly:grob-property grob 'side-axis)))
   (begin
(set! (ly:grob-property grob 'side-axis) axis)
(ly:grob-chain-callback
 grob
 (if (eq? axis X)
 ly:side-position-interface::x-aligned-side
 side-position-interface::y-aligned-side)
 (axis-offset-symbol axis)

#(define (assign-spanner-index spanner orig-ls)
   "Determine the position of a new spanner in an ordered sequence
of spanners.  The goal is for the sequence to begin with zero and
contain no gaps.  Return the index representing the spanner's position."
   (if (null? orig-ls)
   0
   (let loop ((ls orig-ls) (insert? #t) (result 0))
 (cond
  ((null? ls) result)
  ;; position at head of list
  ((and insert? (> (caar orig-ls) 0))
   (loop ls #f 0))
  ;; no gaps, put at end of list
  ((and insert? (null? (cdr ls)))
   (loop (cdr ls) #f (1+ (caar ls
  ;; fill lowest position of gap
  ((and insert?
(> (caadr ls) (1+ (caar ls
   (loop (cdr ls) #f (1+ (caar ls
  (else (loop (cdr ls) insert? result))

alternateTextSpannerEngraver =
#(lambda (context)
   (let (;; a list of pairs comprising a spanner index
  ;;  (not spanner-id) and a spanner which has been begun
  (spanners '())
  (finished '()) ; list of spanners in completion stage
  (start-events '()) ; list of START events
  (stop-events '())) ; list of STOP events
 (make-engraver
  ;; \startTextSpan, \stopTextSpan, and the like create events
  ;; which we collect here.
  (listeners
   ((text-span-event engraver event)
(if (= START (ly:event-property event 'span-direction))
(set! start-events (cons event start-events))
(set! stop-events (cons event stop-events)
  ;; Populate 'note-columns property of spanners.  Bounds are
  ;; set to note columns, and each spanner keeps a record of
  ;; the note columns it traverses.
  (acknowledgers
   ((note-column-interface engraver grob source-engraver)
(for-each (lambda (s)
(ly:pointer-group-interface::add-grob
 (cdr s) 'note-columns grob)
(if (null? (ly:spanner-bound (cdr s) LEFT))
(add-bound-item (cdr s) grob)))
  spanners)
;; finished only contains spanners, no indices
(for-each (lambda (f)
(ly:pointer-group-interface::add-grob
 f 'note-columns grob)
(if (null? (ly:spanner-bound f RIGHT))
(add-bound-item f grob)))
  finished)))

  ((process-music trans)
   ;; Move begun spanners from 'span' to 'finished'.  We do this
   ;; on the basis of 'spanner-id.  If we find a match--either
   ;; the strings are the same, or both are unset--a transfer
   ;; can be made.  Return a warning if we find no match: spanner
   ;; hasn't been properly begun.
   (for-each
(lambda (es)
  (let ((es-id (ly:event-property es 'spanner-id)))
(let loop ((sp spanners))
  (if (null? sp)
  (ly:warning "No spanner to end!!")
  (let ((sp-id (ly:event-property
(event-cause (cdar sp)) 'spanner-id)))
(cond
 ((or
   (and
(string? sp-id)
(string? es-id)
(string=? sp-id es-id))
   ;; deal with \startTextSpan, \stopTextSpan
   (and
(null? sp-id)
(null? es-id)))
  (set! finished (cons (cdar sp) finished))
  (set! spanners (remove (lambda (s) (eq? s (car sp))) spanners)))
 (else (loop (cdr sp)
stop-events)

   ;; The en

Re: [Spam] Re: Spanner right-hand text may disappear when padded

2016-10-12 Thread Rutger Hofman

On 10/12/2016 06:17 PM, David Nalesnik wrote:

On Wed, Oct 12, 2016 at 8:48 AM, David Nalesnik
 wrote:

Harm,

On Wed, Oct 12, 2016 at 8:13 AM, Thomas Morley  wrote:



in this thread
http://lilypond.1069038.n5.nabble.com/Alternate-scheme-text-spanner-ignores-spacers-td195195.html
you researched the cause for problems while attaching TextSpanner to
spacers using custom-scheme-engravers.

May it be possible the problem is present in the original .cc-coded as well?

At least I don't see any problem with attached TextSpanners as soon as
I change a spacer to a real note-event in Rutger's code:



It appears to be related to the X-position of the right-bound text:
if it's too far to the left, it won't be printed.

Change the right-padding override in your example to 10, and the text
will also disappear.



ly:line-spanner::print considers the properties left-bound-info and
right-bound-info.  It returns '() if the sum of left.padding and
right.padding is greater than the distance between the left and right
ends of the spanner (as determined from "X" and "Y" stored in
bound-details).  I can't say I follow the thinking, but that's what
causes nothing to be printed when right.padding is set too high.

(The variable for padding is confusingly named "gaps" in the code, by the way.)

David



For starters: thanks to you all for thinking along, and searching for an 
analysis (and hopefully fix).


The 'solution' of suppressing the spanner under these conditions doesn't 
sound immediately logical to me. And this suppression only struck my eye 
for spanners that cross a line break; which doesn't imply that it cannot 
occur otherwise of course.


Rutger



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [Spam] Re: Spanner right-hand text may disappear when padded

2016-10-12 Thread Rutger Hofman

On 10/12/2016 03:53 PM, David Nalesnik wrote:

On Wed, Oct 12, 2016 at 8:48 AM, David Nalesnik
 wrote:

Harm,

On Wed, Oct 12, 2016 at 8:13 AM, Thomas Morley  wrote:



in this thread
http://lilypond.1069038.n5.nabble.com/Alternate-scheme-text-spanner-ignores-spacers-td195195.html
you researched the cause for problems while attaching TextSpanner to
spacers using custom-scheme-engravers.

May it be possible the problem is present in the original .cc-coded as well?

At least I don't see any problem with attached TextSpanners as soon as
I change a spacer to a real note-event in Rutger's code:



It appears to be related to the X-position of the right-bound text:
if it's too far to the left, it won't be printed.

Change the right-padding override in your example to 10, and the text
will also disappear.

By the way, I read in Rutger's original snippet:

 % Need padding to keep at the same vertical position:

This appears to be a misunderstanding of what
bound-details.right.padding is.  It controls the X-position of the
spanner endpoint.  It's not a measure of the distance from the staff,
for which you'd need TextSpanner.padding, or
TextSpanner.staff-padding.



That being said, the following adjusted definition of spanners should do it:

spanners = {
s2*7 |
s4
\override TextSpanner.bound-details.left.text = "(poco accel."
\override TextSpanner.bound-details.right.text = "poco rit.)"
% moves endpoint LEFT
 \override TextSpanner.bound-details.right.padding = 4
% Need padding to keep at the same vertical position:
\override TextSpanner.padding = #2
<>\startTextSpan s4 |
s2 |
s4. <>\stopTextSpan s8 |
s4 <>^\markup{a tempo} s4 |
}

%%

David



For me (2.19.39) this doesn't force the TextSpanner to vertically align 
with the markup, not even if I also set TextScript.padding = #2. The 
problem is shown even more clearly if the markup is moved to the start 
of bar 10 (not halfway). The right padding is the only way I found to 
create enough space to the right of the right-hand text so it doesn't 
move under the markup.


Needless to say, this is from a long and complicated score, and I am 
looking for a solution that works for all my 40+ spanners, which are all 
used in 14 parts


Rutger


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Spanner right-hand text may disappear when padded

2016-10-12 Thread Rutger Hofman

Good afternoon list,

I have been noticing the following bug for a long time. If a TextSpanner 
bound-details.right.text is set, the text may disappear if it is right 
after a line break, and if it runs into some other markup-ish stuff. I 
am not sure whether this may also happen if bound-details.right.padding 
is *not* specified; but quite often, I need to pad the TextSpanner right 
to keep it at the same height as the following text. Try the attachment 
with right.padding = #0 to see what I mean: the right.text is pushed 
under the following markup.


This happens with the vanilla TextSpanner, and also with David 
Nalesnik's spanner-id TextSpanner.


A workaround can be found by inserting \breaks or \noBreaks, but that is 
an unappealing hack, and not maintenance-friendly.


Is there a 'good' workaround, or a 'good' way to let the TextSpanner 
behave in the way I want?


Rutger Hofman
Amsterdam
\version "2.19.39"
% 
spanners = {
s2*7 | 
s4
\override TextSpanner.bound-details.left.text = "(poco accel."
\override TextSpanner.bound-details.right.text = "poco rit.)"
% \override TextSpanner.bound-details.right.padding = #0
% Need padding to keep at the same vertical position:
\override TextSpanner.bound-details.right.padding = #6
<>\startTextSpan s4 |
s2 |
s4. <>\stopTextSpan s8 |
s4 <>^\markup{a tempo} s4 |
}

notes = \relative c'' {
\time 2/4
\repeat unfold 8 { a4 a4 }
R2*7
r4 a~ |
\repeat unfold 6 a2~ |
a |
}

\layout {
\context {
\Score {
\compressFullBarRests

\override TextSpanner.bound-details.left.padding = #0
\override TextSpanner.bound-details.left-broken.text = ##f
\override TextSpanner.bound-details.right-broken.text = ##f
}
}
}


\score {
<<
\new Staff <<
\spanners
\notes
% { s2*9 \break }
>>
>>
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Alternate (scheme) text spanner ignores spacers

2016-10-07 Thread Rutger Hofman
I tested with multiple spanners. It threw me an error on line 77: s is 
an unbound variable. I don't grasp your code, but if I replace '(cdr s)' 
with 'f' in that line, it works fine with overlapping spanners.


Thanks very much!

Rutger

On 10/07/2016 04:47 PM, David Nalesnik wrote:

Hi again,

On Fri, Oct 7, 2016 at 9:11 AM, David Nalesnik  wrote:

Hi Rutger,

On Fri, Oct 7, 2016 at 2:30 AM, Rutger Hofman  wrote:

Hello list,

David Nalesnik wrote a scheme TextSpanner that honours the spanner-id
predicate. This is really, really great: I no longer have to create new
Voices for overlapping TextSpanners. But it has a feature/bug that is really
unwelcome: if the \stopTextSpan is after a spacer note (maybe by using David
Kastrup's now famous \after), this spacing is ignored. The right-bound text
appears immediately after the 'true' note.

Two observations:
 - the standard TextSpanner behaves correctly
 - the TextSpanner in scheme, which David N. used as an example, also has
the feature/bug

Alternate text spanner:
https://lists.gnu.org/archive/html/lilypond-devel/2015-10/msg00042.html

Attached a minimal example of correct/buggy behaviour, and, for ease of
reference, David N.'s implementation.

I would dearly love to see this fixed, but I have no idea where to look.


This engraver is based on the regression test
'scheme-text-spanner.ly', which suffers from the same limitation.
I'll see what I can figure out.



The problem happens because of a missing check as to whether the
spanner we are building has a left/right bound.  The attached should
work, though would you mind testing it on an example that has multiple
spanners?

Best,
David

P.S. The checks are also missing in the regression test.  I need to
get back into contributing, so I will attempt to bring the regression
test more in line with the C++ original in
lily/text-spanner-engraver.cc




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Alternate (scheme) text spanner ignores spacers

2016-10-07 Thread Rutger Hofman

Hello list,

David Nalesnik wrote a scheme TextSpanner that honours the spanner-id 
predicate. This is really, really great: I no longer have to create new 
Voices for overlapping TextSpanners. But it has a feature/bug that is 
really unwelcome: if the \stopTextSpan is after a spacer note (maybe by 
using David Kastrup's now famous \after), this spacing is ignored. The 
right-bound text appears immediately after the 'true' note.


Two observations:
 - the standard TextSpanner behaves correctly
 - the TextSpanner in scheme, which David N. used as an example, also 
has the feature/bug


Alternate text spanner:
https://lists.gnu.org/archive/html/lilypond-devel/2015-10/msg00042.html

Attached a minimal example of correct/buggy behaviour, and, for ease of 
reference, David N.'s implementation.


I would dearly love to see this fixed, but I have no idea where to look.

Rutger Hofman
Amsterdam
\version "2.19.39"

% \include "text-spanner-id.ly"

\score {
<<
\new Staff <<
\relative c'' {
a1-\tweak bound-details.left.text "ON" -\tweak bound-details.right.text "OFF" \startTextSpan |
<< { s2. <>\stopTextSpan } a1 >>
}
>>
\new Staff {
\repeat unfold 8 c''4
}
>>
}
\version "2.19"

%% Incorporating some code from the rewrite in Scheme of
%% Text_spanner_engraver in input/regression/scheme-text-spanner.ly

#(define (add-bound-item spanner item)
   (if (null? (ly:spanner-bound spanner LEFT))
   (ly:spanner-set-bound! spanner LEFT item)
   (ly:spanner-set-bound! spanner RIGHT item)))

#(define (axis-offset-symbol axis)
   (if (eq? axis X) 'X-offset 'Y-offset))

#(define (set-axis! grob axis)
   (if (not (number? (ly:grob-property grob 'side-axis)))
   (begin
(set! (ly:grob-property grob 'side-axis) axis)
(ly:grob-chain-callback
 grob
 (if (eq? axis X)
 ly:side-position-interface::x-aligned-side
 side-position-interface::y-aligned-side)
 (axis-offset-symbol axis)

#(define (assign-spanner-index spanner orig-ls)
   "Determine the position of a new spanner in an ordered sequence
of spanners.  The goal is for the sequence to begin with zero and
contain no gaps.  Return the index representing the spanner's position."
   (if (null? orig-ls)
   0
   (let loop ((ls orig-ls) (insert? #t) (result 0))
 (cond
  ((null? ls) result)
  ;; position at head of list
  ((and insert? (> (caar orig-ls) 0))
   (loop ls #f 0))
  ;; no gaps, put at end of list
  ((and insert? (null? (cdr ls)))
   (loop (cdr ls) #f (1+ (caar ls
  ;; fill lowest position of gap
  ((and insert?
(> (caadr ls) (1+ (caar ls
   (loop (cdr ls) #f (1+ (caar ls
  (else (loop (cdr ls) insert? result))

alternateTextSpannerEngraver =
#(lambda (context)
   (let (;; a list of pairs comprising a spanner index
  ;;  (not spanner-id) and a spanner which has been begun
  (spanners '())
  (finished '()) ; list of spanners in completion stage
  (start-events '()) ; list of START events
  (stop-events '())) ; list of STOP events
 (make-engraver
  ;; \startTextSpan, \stopTextSpan, and the like create events
  ;; which we collect here.
  (listeners
   ((text-span-event engraver event)
(if (= START (ly:event-property event 'span-direction))
(set! start-events (cons event start-events))
(set! stop-events (cons event stop-events)
  ;; Populate 'note-columns property of spanners.  Bounds are
  ;; set to note columns, and each spanner keeps a record of
  ;; the note columns it traverses.
  (acknowledgers
   ((note-column-interface engraver grob source-engraver)
(for-each (lambda (s)
(ly:pointer-group-interface::add-grob
 (cdr s) 'note-columns grob)
(add-bound-item (cdr s) grob))
  spanners)
;; finished only contains spanners, no indices
(for-each (lambda (f)
(ly:pointer-group-interface::add-grob
 f 'note-columns grob)
(add-bound-item f grob))
  finished)))

  ((process-music trans)
   ;; Move begun spanners from 'span' to 'finished'.  We do this
   ;; on the basis of 'spanner-id.  If we find a match--either
   ;; the strings are the same, or both are unset--a transfer
   ;; can be made.  Return a warning if we find no match: spanner
   ;; hasn't been properly begun.
   (for-each
(lambda (es)
  (let ((es-id (ly:even

Re: Problem with partial measure at the beginning of the piece

2016-09-18 Thread Rutger Hofman

Please keep conversations on the list!

I was too concise, I guess. Your score notates a \partial 16*4, a 
'pickup' of 4 16th notes. If I look at your notes, I presume a 'pickup' 
of a duration of 5 16th notes makes more sense. Hence, replace your 
\partial 16*4 with \partial 16*5, and have a look at the result.


Rutger

On 09/18/2016 10:42 AM, bb wrote:

I was wrong with 16*4, that means 5x 1/16. But I do not understand what
you want to get?

##

%right =
\relative c'' {

%\global

% Music follows here.

\partial 16 * 4

e,16

%\noBeam

\tuplet 3/2 {g8 e g} %|

a8. [a16] % 2x 1/8 = 1/4

r4 % 1x1/4

r8. % 1/4 together with the starting e16
a,16
\noBeam
d8. c16 %| %1x1/4
cis8. c16 %1x 1/4

}

%{
left = \relative c' {

%\global

% Music follows here.

\partial 16*4 r16 r4

4   

   

}
%}

Am 18.09.2016 um 10:20 schrieb Rutger Hofman:

I guess you want \partial 16*5

Rutger

On 09/18/2016 09:47 AM, Serious Fun wrote:

right = \relative c'' {

\global

% Music follows here.

\partial 16 * 4 e,16 \noBeam \tuplet 3/2 {g8 e g} |

a8. [a16] r4 r8. a,16 \noBeam d8.c16 |

cs8. c16

}

left = \relative c' {

\global

% Music follows here.

\partial 16*4 r16 r4

4   

   




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user





___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Problem with partial measure at the beginning of the piece

2016-09-18 Thread Rutger Hofman

I guess you want \partial 16*5

Rutger

On 09/18/2016 09:47 AM, Serious Fun wrote:

right = \relative c'' {

\global

% Music follows here.

\partial 16 * 4 e,16 \noBeam \tuplet 3/2 {g8 e g} |

a8. [a16] r4 r8. a,16 \noBeam d8.c16 |

cs8. c16

}

left = \relative c' {

\global

% Music follows here.

\partial 16*4 r16 r4

4   

   




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Beaming, partcombine and pickups

2016-09-16 Thread Rutger Hofman

On 09/16/2016 06:24 AM, David Wright wrote:

On Thu 15 Sep 2016 at 17:15:02 (-0600), David F. wrote:

I have a song in 9/8 time with a pickup of three eighth notes.  I expect 
Lilypond to beam those three eighth notes together, but it does not when I 
combine two voices with partcombine.

Am I doing something wrong?  Is Lilypond doing something wrong?  How might I 
work around this?


Well, it's only last week that you asked "Is there a way to combine
two voices and print both stems (up and down) when the voices share a
note?  \partcombine does not appear to do this by default."

So now you've demonstrated the danger of doing that: it interferes
with the beaming. Isn't the answer just to decide on your priorities?

\partcombine #'(0 . 9)   will combine the unison notes and allow the
flag to become a beam in the appropriate direction.
Manually beaming either of the parts (or both, of course) will do the
opposite: produce beams above and below.
Which do you want?


To selectively disable the double stem for just that unisono note, you 
can adorn that note with \once \partcombineUnisono. You may want to \set 
Staff.aDueText = ##f to disable the 'a2' marking for the unison note.


Rutger

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Combining voices in American Hymns

2016-09-13 Thread Rutger Hofman

On 09/14/2016 12:18 AM, David F. wrote:

On Sep 13, 2016, at 4:14 PM, Rutger Hofman  wrote:


On 09/13/2016 11:32 PM, David Wright wrote:

On Tue 13 Sep 2016 at 21:56:04 (+0100), J Martin Rushton wrote:

On 12/09/16 19:21, Karlin High wrote:

On 9/7/2016 11:56 PM, David F. wrote:

Is there a way to combine two voices and print both stems (up and down) when 
the voices share a note?  \partcombine does not appear to do this by default.

American SATB hymns are typically engraved with the soprano and alto voices 
combined and the tenor and bass voices combined.  If a note in the soprano 
voice has the same duration as the note in the alto voice, then the notes for 
soprano and alto will share a stem.  If the durations are different, then there 
is no sharing.  And if the notes are the same duration and the same pitch, then 
the note with have both an up stem and a down stem.


You're not alone with difficulties on American-style part combining.
Another LilyPond user shared some of her work with me, and I'm still
studying the approach she uses. Below is a small example I'm using for
experiments. I'm not very familiar with the inner workings of LilyPond;
maybe someone will take one look and say, "That will mostly work, but
you will run into problems with such-and-such situations."
--
Karlin High
Missouri, USA




My guess is that \partcombine #'(1 . 9) or \partcombine #'(2 . 9) does what you 
specify. I attach code for default partcombine and both your options. Beware 
that stem crossings need to lead to uncombined notes.


Why 9 as the second argument to \partcombine?


That is specified as Lilypond's default. Of course you can choose any 
number you prefer.


Rutger


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Combining voices in American Hymns

2016-09-13 Thread Rutger Hofman

On 09/13/2016 11:32 PM, David Wright wrote:

On Tue 13 Sep 2016 at 21:56:04 (+0100), J Martin Rushton wrote:

On 12/09/16 19:21, Karlin High wrote:

On 9/7/2016 11:56 PM, David F. wrote:

Is there a way to combine two voices and print both stems (up and down) when 
the voices share a note?  \partcombine does not appear to do this by default.

American SATB hymns are typically engraved with the soprano and alto voices 
combined and the tenor and bass voices combined.  If a note in the soprano 
voice has the same duration as the note in the alto voice, then the notes for 
soprano and alto will share a stem.  If the durations are different, then there 
is no sharing.  And if the notes are the same duration and the same pitch, then 
the note with have both an up stem and a down stem.


You're not alone with difficulties on American-style part combining.
Another LilyPond user shared some of her work with me, and I'm still
studying the approach she uses. Below is a small example I'm using for
experiments. I'm not very familiar with the inner workings of LilyPond;
maybe someone will take one look and say, "That will mostly work, but
you will run into problems with such-and-such situations."
--
Karlin High
Missouri, USA




My guess is that \partcombine #'(1 . 9) or \partcombine #'(2 . 9) does 
what you specify. I attach code for default partcombine and both your 
options. Beware that stem crossings need to lead to uncombined notes.


soprano = \relative c''' { b a g f e d c b a g f e }
alto = \relative c'' { c c c c c c c c c c c c }

\score {
\new Staff <<
\partcombine
\soprano
\alto
>>
}

\score {
\new Staff <<
\partcombine #'(2 . 9)
\soprano
\alto
>>
}

\score {
\new Staff <<
\partcombine #'(1 . 9)
\soprano
\alto
>>
}

Rutger Hofman
Amsterdam

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Cross staff stems between notes of different durations

2016-07-23 Thread Rutger Hofman

On 07/20/2016 03:15 PM, Rutger Hofman wrote:

For me, this just works, with differentlyHeaded and with different
durations for the same NoteHead type:

\version "2.19.39"

\score {
 \new PianoStaff \with {
 \consists #Span_stem_engraver
 } <<
 \new Staff = RH <<
 \time 3/4
 \relative c'' {
 c4 \mergeDifferentlyHeadedOn \crossStaff { c2 }
 }
 >>
 \new Staff = LH <<
 \relative c' {
 \clef bass
 % \voiceOne
 c4 c c
 }
 >>
 >>
}


\score {
 \new PianoStaff \with {
 \consists #Span_stem_engraver
 } <<
 \new Staff = RH <<
 \time 3/4
 \relative c'' {
 c4 \mergeDifferentlyHeadedOn \crossStaff { c8 c c c }
 }
 >>
 \new Staff = LH <<
 \relative c' {
 \clef bass
 % \voiceOne
 c4 c c
 }
 >>
 >>
}


And the mergeDifferentlyHeaded is not even necessary. To follow-up on my 
own take: the crossStaff stuff can also be moved into a parallel Voice 
within the 'other' Staff. Then it is easy to lift it into a little 
function, see below. The function has an obvious caveat: the name of the 
other staff is hard-coded. The usual restrictions for crossStaff'ing 
apply of course. The example has two cross-staff instances, the first 
from the RH and the other, in the next beat, from the LH.


Rutger

8<=

RHCB = #(define-music-function (music) (ly:music?)
"Set @var{music} on staff RH, crossStaffed if possible. Call this in 
parallel << >> with the music that is the other side of the cross-staff. 
The latter must be \\stemDown."

#{
\new Voice \crossStaff { \change Staff = RH \stemDown $music }
#})

LHCB = #(define-music-function (music) (ly:music?)
"Set @var{music} on staff LH, crossStaffed if possible. Call this in 
parallel << >> with the music that is the other side of the cross-staff. 
The latter must be \\stemUp."

#{
\new Voice \crossStaff { \change Staff = LH \stemUp $music }
#})


\score {
\new PianoStaff \with {
\consists #Span_stem_engraver
} <<
\new Staff = RH <<
\time 3/4
\relative c'' {
\voiceOne c2 c4
<<
c2.
\LHCB { a2 }
>>
}
>>
\new Staff = LH <<
\relative c' {
\clef bass
% \voiceOne
c4 <<
{ c c }
\RHCB { a'2 }
>>
\voiceTwo c,2.
}
>>
>>
}



On 07/20/2016 02:40 PM, Andrew Bernard wrote:

Total silence? No thoughts, anybody?

Andrew



On 18 July 2016 at 11:45:51 PM, Andrew Bernard wrote:


If one wants to have cross staff stems between notes of different
durations, found often in the contemporary music I set, is there a
lilypond setting of some sort to do this?




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Cross staff stems between notes of different durations

2016-07-20 Thread Rutger Hofman
For me, this just works, with differentlyHeaded and with different 
durations for the same NoteHead type:


\version "2.19.39"

\score {
\new PianoStaff \with {
\consists #Span_stem_engraver
} <<
\new Staff = RH <<
\time 3/4
\relative c'' {
c4 \mergeDifferentlyHeadedOn \crossStaff { c2 }
}
>>
\new Staff = LH <<
\relative c' {
\clef bass
% \voiceOne
c4 c c
}
>>
>>
}


\score {
\new PianoStaff \with {
\consists #Span_stem_engraver
} <<
\new Staff = RH <<
\time 3/4
\relative c'' {
c4 \mergeDifferentlyHeadedOn \crossStaff { c8 c c c }
}
>>
\new Staff = LH <<
\relative c' {
\clef bass
% \voiceOne
c4 c c
}
>>
>>
}



On 07/20/2016 02:40 PM, Andrew Bernard wrote:

Total silence? No thoughts, anybody?

Andrew



On 18 July 2016 at 11:45:51 PM, Andrew Bernard wrote:


If one wants to have cross staff stems between notes of different
durations, found often in the contemporary music I set, is there a
lilypond setting of some sort to do this?



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Ties across different voices?

2016-06-08 Thread Rutger Hofman

On 06/07/2016 09:15 PM, Joshua Nichols wrote:

I've run into the need to do this, and I can't quite figure out how to
make it happen. Please see the attached image.

Basically, for those who can't load it, I want to create a tie from a
"chord" into a "new voice." It's fairly common in classical literature,
but I am wondering if this is possible even, or yet.


Ties into chords from chords/notes that only share part of the chord 
notes already do exactly what you appear to need. No trickery (hidden 
notes to cross voices etc) is necessary here:


\new Staff <<
{
d''1~ |
d''1~ |
2  |
} \\ {
d'1~ |
d'1~ |
d'1 |
}
>>

If you prefer, you can avoid the '\\' syntax by using
<<
   {
   \voiceOne
   % notes for upper voice
   }
   \new Voice {
   \voiceTwo
   % notes for lower voice
   }
>>

Rutger

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Unknown marking in Roman print (1710)

2016-05-22 Thread Rutger Hofman
Please be careful about distributing such information about IMSLP. It is 
incorrect. IMSLP still allows anyone to download any score for free and 
without registration, but you have to wait a short time, I think 10 
seconds, before downloading. If you are a subscriber, you don't have the 
wait penalty.


Rutger

On 05/22/2016 09:53 AM, Richard Shann wrote:

On Sun, 2016-05-22 at 17:51 +1000, Andrew Bernard wrote:

HI Richard,

On 22/05/2016, 5:41 PM, "Richard Shann"  wrote:


I gave a link to a scan of the original print,


You can’t view it unless you are a subscriber to IMSLP.


I heard they had introduced some sort of penalty system on IMSLP which
is a great pity. As I understand it though, they will still allow you to
download for free, but I suppose before you didn't have to register an
account (for free).

Richard



Andrew








___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Horizontal collision of left and right spanner texts

2016-04-05 Thread Rutger Hofman

Hello list,

\version "2.18" .. "2.19.39"

I would like the left and right bound-detail texts of a TextSpanner to 
keep apart. Right now, they overlap horizontally in a fearful way. What 
can I do to keep them apart?


\score {
\new Staff {
\override TextSpanner.bound-details.left.text = 
\markup{\bold{wieder zurück ins}}
\override TextSpanner.bound-details.right.text = 
\markup{\bold{Hauptzeitmaß}}

c''1\startTextSpan |
c''1\stopTextSpan
}
}

Thanks,

Rutger Hofman
Amsterdam
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Import pdf into Lilypond (no ocr/omr)

2016-01-14 Thread Rutger Hofman
On Windows, there is PDFtoMusicPro, which is (of course) not free. For 
Unix, it lets itself be installed under Wine. The free trial version 
only processes the first page of a document.


Rutger

On 01/14/2016 10:03 PM, T4b wrote:

Hi,

sorry if this has been asked before, didn't find anything.
Is there a free program which analyzes pdf files to produce Lilypond
source code?
That is, I don't mean analyzing raster graphics, I mean analyzing a pdf
file (generated by some score writer) which already contains just
instructions on where to place which symbol.
If nothing exists I guess that could be a nice project and I would start
looking at pdf parsing libraries.

T4b


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [Spam] Re: hairpins default stop at barline

2015-06-12 Thread Rutger Hofman

On 06/12/2015 02:23 PM, Gianmaria Lari wrote:

I'm not a musician. I'm editing a published violin score using lilypond. The
book is a set of studies by Robert Pracht and in many of them the note which
ends a hairpin falls on a downbeat. I don't know if this is something
exceptional or pretty normal in modern music but in this book this is
frequent. I also know that the Lilypond documentation clearly says (thank
you Urs for the info):

If the note which ends a hairpin falls on a downbeat, the hairpin stops at
the bar line immediately preceding.

I would like to suggest to change actual Lilypond behaviour so that Lilypond
respects user intention and when it compiles code like following

   {
 \time 4/4
 a\< b c d
 e\! f g a
   }

end the hairpin on the indicated note ("e" in this case).

The reason is that when possible, when user intention are clear and not
ambiguos, when this does not require more programming work for lilypond
programmer, I think Lilypond should do what user ask and do not follow
conventions.
This is expecially true for this case where for user there is no reason to
specify the hairpin end position on "e" if he wants it on "d".

Discussing with Urs, he said: <>. Does people really use this features? I mean does it happen
frequently people set '\!' in a certain location expecting Lilypond render
it at the bar line immediately preceding if the note which ends a hairpin
falls on a downbeat?
Another good reason to change would be if new users (like me) periodically
pop up asking help about the hairpin position.

Thank you to Federico, Urs, Trevor, Simon and Kieren for their previous
comments.


First of all, changing default behaviour will break existing scores. 
That in itself is enough to leave it as it is.


Second, there is an easy override to get the behaviour you want: 
\override Hairpin #'to-barline = ##f (or, if you want this behaviour 
just once, precede with \once).


Third, Gould (the Notation Bible) prescribes Lilypond's default 
behaviour. Still, composers (or publishers) use both notations. Right 
now, each user is free to use what (s)he (or the composer, or the 
publisher) wants.


Rutger



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Fine tuning

2015-05-21 Thread Rutger Hofman

On 05/21/2015 12:15 PM, Dr. Bernhard Kleine wrote:
[snip]

1.The piece should fit to one page.


Use a smaller point size: #(set-global-staff-size 17) for example. As a
last resort, the number of pages can be forced in the paper block:
\paper {
page-count = #1
}


2.The markups Ruhig should be on Top of Sanctus


Use \tempo\markup{Ruhig}


3.The voisce nominator Ten. and Bass in Number 4 should be in front
of the notes and texts, same in 8.


You might try \markup\right-align{Ten.}, or play with \halign -- see
http://lilypond.org/doc/v2.19/Documentation/notation/formatting-text#text-alignment

Good luck,

Rutger


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Beam subdivision

2015-03-10 Thread Rutger Hofman

On 03/10/2015 05:52 PM, tisimst wrote:

The other question the OP was asking is can the group default to have
TWO full beams across the group, while the pairs of 32nd notes are
beamed together with a third. It seems like non-standard notation, so
quick, generic solutions for any size of group, outside of a function
like the one already proposed, may not exist. I had a look through the
IR and couldn't find anything that says it will only use a SINGLE beam
across the whole group.

- Abraham


Gould (Behind Bars) pp.156,157 says that the number of beams between 
subgroups should reflect the duration of the subgroup. So, if 32nd notes 
are subgrouped into groups of 4, the subgroup duration is 1/8 and the 
beam count between subgroups should be 1. If 32nd notes are subgrouped 
into groups of 2, or 64th notes are subgrouped into groups of 4, then 
the subgroup duration is 1/16 and the beam count between subgroups 
should be 2.


Is this different from Lilypond's default behaviour?

Rutger Hofman
Amsterdam



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Peer review

2015-02-18 Thread Rutger Hofman

On 02/18/2015 03:30 AM, Craig Dabelstein wrote:

Hi Lilyponders,

I'm not sure if this is an appropriate request for the group, but I was
wondering if anybody had the time to look at a sample part I have
typeset and make any comments regarding the typesetting. There may be
many things here that an experienced typesetter may see that need
improvement, but my eyes don't pick up.

Here is the link:
https://dl.dropboxusercontent.com/u/614749/Berlioz-02-piccolo.pdf

I do think the part looks a little bit compressed, but I have used the
page turn engraver (which I think is one of the greatest inventions of
the modern world!) for instrumental parts such as these.

Many thanks,

Craig


Beautiful. Some off-the-cuff remarks.

I agree with Jay Andersen about cautionary accidentals. I always use the 
modern-cautionary style -- it implies least confusion.


I do hope you intend to add cue notes to the final product!

I think the typesetting is the opposite of cramped; only 10..11 systems 
per page. I often have 13 or even 14 on an A4 page (2.19.15, the 
Lilypond version makes a difference), although with narrower margins. 
However, the first system of mvt II. is indeed cramped. You might 
consider widening the first system (e.g. by judiciously inserting a page 
break into (just) the part).


Is your part intended to start with an external blank page? Else, the 
page turns are at the wrong side of the page pairs...


Regarding page turns: for the player, it is *far* preferable to have 
easy page turns than to have few pages. I don't know about the publisher 
who must pay the printing costs...


At letter [P] in mvt III: a top c# for the piccolo: I don't remember 
ever having had to play that (and I hope it will be a long time before I 
meet it).


A matter of preference: if the movements are clearly separated by piece 
titles and ample vertical white space, I don't indent the first system 
of the movement.


In Mvt III., from [C]: I think the tuplet spanners are a bit tiring to 
the eye. How does it look without the spanner lines?


Rutger Hofman
Amsterdam


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Cue notes with lyrics?

2015-02-15 Thread Rutger Hofman

On 02/14/2015 02:48 PM, Thomas Morley wrote:

2015-02-14 13:27 GMT+01:00 Rutger Hofman :

Good morning list,

I would like to create cue notes with lyrics. I added lyric-event to the
Score.quotedCueEventTypes but that gave me no lyrics. How should I go about
this?

Thanks,

Rutger Hofman
Amsterdam



Hi,

best I can currently think of is the code below.
Though, there is a _big_ drawback with it: You have to specify the
durations of the lyrics. Using \lyricsto will not work, as far as I
can tell.

\version "2.18.2"

cueLyr =
#(define-music-function
(parser location what main-music) (string? ly:music?)
(_i "Insert contents of quote @var{what} corresponding to @var{main-music},
in Lyrics oriented by @var{dir}.")
(make-music 'QuoteMusic
'element main-music
'quoted-context-type 'CueLyrics
'quoted-context-id "cue-lyr"
'quoted-music-name what
))

\layout {
   \context {
 \Score
 \accepts "CueLyrics"
 quotedCueEventTypes =
   #'(note-event rest-event tie-event
  beam-event tuplet-span-event
  dynamic-event slur-event lyric-event)
   }
   %% maybe other contexts have to accept "CueLyrics" as well!
   \context {
 \ChoirStaff
 \accepts "CueLyrics"
   }
   \context{
\Lyrics
\name CueLyrics
\alias Lyrics
fontSize = #-4
   }
}

oboeNotes = \relative c'' {
   c2 r8 d16\f f e g f a
   g8 g16 g g2.
}
\addQuote "oboe" { \oboeNotes }

lyr = \lyricmode {
   xy2 \skip8
   a16 b c d e f g8 a16 h i

}
\addQuote "lyr" { \lyr }


<<
   \new Staff \oboeNotes
   \new Lyrics \lyr

   \new Staff
 \new Voice
   \relative c'' {
 c2
 <<
 \cueDuring #"oboe" #UP { r2 }
 \cueLyr #"lyr" { r2 }
 >>
 g2 c,
   }




Thanks Harm!

I will (also) study your code, there is a lot that will be instructive 
in any context.


Rutger



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Cue notes with lyrics?

2015-02-14 Thread Rutger Hofman

Good morning list,

I would like to create cue notes with lyrics. I added lyric-event to the 
Score.quotedCueEventTypes but that gave me no lyrics. How should I go 
about this?


Thanks,

Rutger Hofman
Amsterdam

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: switching stem direction within voice to avoid collisions

2015-01-26 Thread Rutger Hofman

On 01/26/2015 02:29 PM, Pierre Perol-Schneider wrote:

2015-01-26 13:45 GMT+01:00 bart deruyter mailto:bart.deruy...@gmail.com>>:

That made it possible for the 'mergeDifferentlyHeadedOn' to show the
half-note.


Ok, now I see, I missed that.
See :
http://lilypond.org/doc/v2.18/Documentation/notation/multiple-voices.html#collision-resolution
(... Known issues and warnings)


In 2.19.15, the \tweak NoteHead.stencil and NoteColumn.ignore-collision
are unnecessary. However, there are weirdish issues with voices. If the
first
voice is just the "default" voice (no \new or \context), havoc results
if I specify \mergeDifferentlyHeadedOn (or even \time 4/4) *before* the
\voiceOne in that voice, but things are fine if I specify \voiceOne first.
???

Rutger



So here again, with contexts :

\version "2.18.2"

global = { \clef "G_8" \time 4/4 }

\new Staff <<
   \global
   \context Voice = "high" {
 \voiceOne
 c'2 b4 c'
   }
   \context Voice = "middle" {
 \voiceThree
 %\override NoteColumn.force-hshift = #0
 \override NoteColumn.ignore-collision = ##t
 \mergeDifferentlyHeadedOn
 \override Beam.positions = #'(-.8 . 1.5)
 \once\stemDown
 \tweak NoteHead.stencil #f
 c'8 g e g
 \override Beam.positions = #'(-1.5 . .5)
 \once\stemDown b[ g]
 \override Beam.positions = #'(-1 . .5)
 \once\stemDown c' g
 \revert Beam.position
   }
   \context Voice = "low" {
 \voiceTwo
 e4 e d e
   }




Cheers,
Pierre






___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Custom DrumStaff

2015-01-22 Thread Rutger Hofman

On 01/23/2015 12:28 AM, Cynthia Karl wrote:

I'm trying to duplicate the behavior shown in the next two images:

The major things wrong with this output are:

* the rests should be centered on their line, not above it
* there should be a full-measure rest on the lower line of measure 5
* the 8th rest in beat 2 of measure 4 of upperMusic has disappeared, 
presumable consumed by the corresponding quarter rest in lower music at that 
time.
* I get the warning:  30: 5: warning: cannot resolve rest collision: 
rest direction not set
 4
r4  % 4

Can anyone give me a hint or two?  Is a DrumStaff the wrong approach? ( Maybe a 
couple of RhythmicStaffs would be better?)


Using version 2.19.15.

The rest positions are correct when you use \voiceOne for the upper line 
in stead of \stemUp, and \voiceTwo for the lower line in stead of 
\stemDown. Sadly, for full-measure rests in the upper line the result is 
incorrect. These must be positioned with \oneVoice.


HTH

Rutger



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Beaming and grace notes

2014-11-30 Thread Rutger Hofman

On 11/29/2014 07:49 PM, Knute Snortum wrote:

Ah, I see.  Use two voices so one is the eighth note and the other is
the grace notes with their duration divided over the eighth.  This also
gets me the slur.  Thank you.


Knute Snortum
(via Gmail)

On Sat, Nov 29, 2014 at 10:31 AM, Keith OHara mailto:k-ohara5...@oco.net>> wrote:

On Sat, 29 Nov 2014 07:44:39 -0800, Knute Snortum
mailto:ksnor...@gmail.com>> wrote:

Thank you both for your relies.  Keith, your second suggestion
is what I
need, if I could designate a zero length note.

Requirements:

* An actual eighth note
* Grace notes need to "attached" with a beam to the eighth note
* Grace notes add no duration to the measure

I've attached a picture of the measure.  It has a lot of
challenges in it
for me.


Is the original correct? I would guess that a treble clef has been
forgotten in the upper staff, at the moment the staff is crossed in the
"grace note" run. How else can the run, and especially the cross-staff
chords in the last four 1/32 notes make sense?

Rutger

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Beaming and grace notes

2014-11-30 Thread Rutger Hofman
Is the original correct? I would guess that a treble clef has been 
forgotten in the upper staff, at the moment the staff is crossed in the 
"grace note" run. How else can the run, and especially the cross-staff 
chords in the last four 1/32 notes make sense?


Rutger

On 11/29/2014 07:49 PM, Knute Snortum wrote:

Ah, I see.  Use two voices so one is the eighth note and the other is
the grace notes with their duration divided over the eighth.  This also
gets me the slur.  Thank you.


Knute Snortum
(via Gmail)

On Sat, Nov 29, 2014 at 10:31 AM, Keith OHara mailto:k-ohara5...@oco.net>> wrote:

On Sat, 29 Nov 2014 07:44:39 -0800, Knute Snortum
mailto:ksnor...@gmail.com>> wrote:

Thank you both for your relies.  Keith, your second suggestion
is what I
need, if I could designate a zero length note.

Requirements:

* An actual eighth note
* Grace notes need to "attached" with a beam to the eighth note
* Grace notes add no duration to the measure

I've attached a picture of the measure.  It has a lot of
challenges in it
for me.


These small notes are not what LilyPond's \grace was designed for,
but more like the small-note tuplet that Harm pointed out.  We want
these note to be spaced across the beat, but more quickly than their
visible duration.

LilyPond will do most of the beaming you want if you tell her how
the music splits into two voices at the E-flat.  Ignoring the fact
that there are two staves for the moment, try something like this:

\version "2.18.2"
{
   \key des\major \clef bass \time 2/4
   aes32 bes aes ges
   <<
 {\voiceTwo ees8 ~ ees4 |}
 \new Voice {
   \voiceOne
   \scaleDurations 4/14 {
 ees32[
 \teeny
 \override Stem  #'no-stem-extend = ##t
 \override Stem  #'length-fraction = #0.7
 ges aes bes des' ges, bes, c  des f] ges[ bes c' des']
 \normalsize
 \revert Stem  #'no-stem-extend
 \revert Stem  #'length-fraction
   }
   f'16-> des'
   c32 des c bes,| } >> }

We should probably put a Debussy example in the user manual (if he's
in public domain in europe by now) and also make a shorthand for
\graceStyleOn \graceStyleOff because often we want the style but do
not want LilyPond's \grace timing.





___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


point-and-click (was: Re: vim pointing to pdf-viewer and reverse)

2014-11-03 Thread Rutger Hofman

One more step needed nowadays

Edit /etc/apparmor.d/abstractions/evince to add the following 2 lines
(replace /usr/ with the prefix of your Lilypond installation):

/usr/bin/lilypond-invoke-editor Ux,
/usr/bin/lilypond-wrapper.guile Ux,

# ln -s /etc/apparmor.d/usr.bin.evince 
/etc/apparmor.d/disable/usr.bin.evince

# /etc/init.d/apparmor restart

On 03/07/2012 11:26 AM, Rutger Hofman wrote:

On 03/07/2012 11:09 AM, Rutger Hofman wrote:

On 03/07/2012 09:12 AM, David Kastrup wrote:

Stjepan Horvat writes:


On Tue, Mar 6, 2012 at 5:48 PM, David Kastrup wrote:

Stjepan Horvat writes:


Hello..can somebody please tell me how to get vim and a pdf viewer
(xpdf or evince of zathura) to work with vim lilypond-invoke-editor

[snip]


Evince appears to have its own set of obstacles. Some Ubuntu pages seem
to suggest the problem (Permission denied) is related to apparmor.d but
I have no clue how to make that behave as desired.


I got it to work after all on Ubuntu Lucid:

I followed instructions in
http://lists.gnu.org/archive/html/lilypond-user/2007-06/msg00185.html
(and Mark Knoop's follow-up at a lower speed). IFAIU, this configures
Gnome apps to handle 'textedit' commands by invoking
lilypond-invoke-editor.

The apparmor.d stuff:

Edit /etc/apparmor.d/abstractions/evince to add the following 2 lines
(replace /usr/ with the prefix of your Lilypond installation):

/usr/bin/lilypond-invoke-editor Ux,
/usr/bin/lilypond-wrapper.guile Ux,

The second line appears necessary because lilypond-invoke-editor is a
symlink to lilypond-wrapper.guile which is actually executed.

Then

$ sudo /etc/init.d/apparmor reload

Rutger



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: tie and slur problem

2014-10-30 Thread Rutger Hofman

On 10/28/2014 09:42 AM, Dr. Bernhard Kleine wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

There should be a tie between the two c and a slur from e to f.  and a slur
from g  over b(bes) to a in the right hand. The upper g and b and a are in a 
separate voice and no problem.
But how to code the tie and the slur in voiceTwo? Between  to < c f>

Schnipsel from Missa in C from Anton Bruckner

Bernhard


The following code works for me. It depends on two voices having the 
same predicate \voiceTwo. Note that you will probably want to tune the 
shape of the voiceTwo slur, it is wider than in your original.


\new Score {
\new Staff <<
\new Voice \relative c' {
\voiceOne
g'2.( bes4 |
a4)
}
\new Voice \relative c' {
\voiceTwo
c1~ |
c4
}
\new Voice \relative c' {
\voiceTwo
e1( |
f4)
}
>>
}




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: tie and slur problem

2014-10-28 Thread Rutger Hofman
The following code works for me. It depends on two voices having the 
same predicate \voiceTwo. Note that you will probably want to tune the 
shape of the voiceTwo slur, it is wider than in your original.


\new Score {
\new Staff <<
\new Voice \relative c' {
\voiceOne
g'2.( bes4 |
a4)
}
\new Voice \relative c' {
\voiceTwo
c1~ |
c4
}
\new Voice \relative c' {
\voiceTwo
e1( |
f4)
}
>>
}

On 10/28/2014 02:33 PM, Urs Liska wrote:


Am 28.10.2014 09:42, schrieb Dr. Bernhard Kleine:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

There should be a tie between the two c and a slur from e to f.  and a slur
from g  over b(bes) to a in the right hand. The upper g and b and a are in a 
separate voice and no problem.
But how to code the tie and the slur in voiceTwo? Between  to < c f>


You can force the slur to be printed upwards through either \slurUp (and
\slurNeutral afterwards) or the direction operator:

2 ^( ~  )


This won't look very good, though, so you will have to tweak the slur
later, presumably with \shape.
But it will give you a semantically correct rendering, and I strongly
suggest to let this untouched as long as possible (i.e. only start
tweaking when you either can't read the output at all or when you have
to produce better final output).


HTH
Urs




Schnipsel from Missa in C from Anton Bruckner

Bernhard


/
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.22 (MingW32)
Comment: Using gpg4o v3.3.26.5094 -http://www.gpg4o.de/
Charset: utf-8

iQIcBAEBAgAGBQJUT1cLAAoJENCoWyDsDBkPLHEQALYQc9MLBveNvVtyLSVLhnl/
jGy9jIhoJDHh3NAo8cGimSJbFVj3NFLZBlHRobwC9/J/cjSgtb13zu6mdYxhyNX1
ozJ7YJiX/qvTXaP0uEmK6gaERyWD4cbKKOB0Ot6ZscAf8EiBWwskJNnLzKDMMGpv
CpOy4si0jpS6tYrj+ZP83AwYcFgyq0cy/1TeZovNKN6c1U96L/TrFpWSt2vLvi5j
UR/8Wu7uft+4LpSjFKdnbuXDPAb45vZLQz7/fYefL7z4+GAsnc7KXM0CfSq7k7Yx
eHVeUfquAWcrYKwt3rl8+XOHpZ6BjyXoSNe2p4aUEw6eaRF4ogNKOT4u5X5kFaOI
wdYG0Y7Xm+gU+G3K64TYAEutTra8EqgjlGNYaFKTAfbIaVU5wtRovR+kH/G6fgLx
T33vr2gJVw7BCMFyr3X9/tMAgF7mL5cdpGBN9bBUWkR7BU9pDiLnaxM6eSTG5hX4
0grUplUiNeO59aQTY6jPv0R2z3M/bC5gZaOWgkEvDeOQCWkm3uVgcO1aqTs8IaGy
ftOaGLZDjiTNx2r28ayOz4k3zHcXTOh+NMI9VxEZC2zAjkKp3SAX31T+WCUtwK6j
KHsUqWlv8AaaLMS/Fti+jFb9sbDYXwFM7fueFaBBlxMGv5ycf+VRVPAnopyZjKL/
mxKUz0OQy5zhMmKmZiCP
=KlK5
-END PGP SIGNATURE-


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user





___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Absolute size for \epsfile, i.e. independent of global-staff-size

2014-04-29 Thread Rutger Hofman

On 04/28/2014 09:45 AM, Marc Hohl wrote:

Am 28.04.2014 00:08, schrieb Rutger Hofman:

Good evening list,

I want to include a title page w/ an \epsfile image in a number of files
(score, parts), where the point size for the files may differ: score has
smaller font than parts, basically. Now I want to write one include file
that makes the title page, and I want that title page to be independent
of the point size of the lilypond file. I can get that done for markups
(\abs-fontsize works fine), but I don't know how I can do it for the
image from the \epsfile: it scales with the font size.

Suggestions? If there is no direct way, then maybe a way to
programmatically query the font size and correct for that?


Hi, I used something like that in one of my projects:

#(define-markup-command (epsfile-mm layout props axis size file-name)
   (number? number? string?)
   (let* ((o-s (ly:output-def-lookup layout 'output-scale))
  (scaled-size (abs (/ size o-s
   (if (ly:get-option 'safe)
   (interpret-markup layout props "not allowed in safe")
   (eps-file->stencil axis scaled-size file-name)
   )))

It works like \epsfile but assumes the dimensions are in mm.


Thanks, works perfectly!

Rutger


HTH,

Marc



Rutger Hofman
Amsterdam



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Absolute size for \epsfile, i.e. independent of global-staff-size

2014-04-27 Thread Rutger Hofman

Good evening list,

I want to include a title page w/ an \epsfile image in a number of files 
(score, parts), where the point size for the files may differ: score has 
smaller font than parts, basically. Now I want to write one include file 
that makes the title page, and I want that title page to be independent 
of the point size of the lilypond file. I can get that done for markups 
(\abs-fontsize works fine), but I don't know how I can do it for the 
image from the \epsfile: it scales with the font size.


Suggestions? If there is no direct way, then maybe a way to 
programmatically query the font size and correct for that?


Rutger Hofman
Amsterdam

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: the next step?

2014-04-05 Thread Rutger Hofman

On 04/05/2014 10:28 AM, Mike Solomon wrote:

On Apr 4, 2014, at 10:33 PM, b...@wolfcomposer.com
 wrote:


Dear All,

A friend of mine asked a few questions about a pipe-organ piece i'd
written that was performed recently.  i ended up making two sheets of
examples for him, one with a table of canons in two voices
,
the other in four
.


When i started making these, i thought of arranging them in two
columns on a single page.  To keep the numbers readable, i decided
against this.  However, i remain curious.  Is it possible to divide a
page into columns?  i know that text can be arranged into columns, and
the Internals mention a PaperColumn and its appropriate engravers and
contexts.  Having read the sections on page and score layout, i
couldn't find anything that explicitly addressed this problem.  i am
working (still?!) in 2.14.2, so the next step just might be an update.

If anybody wants to listen
,
i'd be honored.  The organist is Amelia Javorina.  i apologize for the
audience noise, but it's the best that could be done given the
circumstances.

Thanks, All, and please take care.
bill


I recently typeset a piece like this - it required a lot of manual
trickery, but it is doable if you use a top-level markup and the
\fill-line command.  A recent command was also added by David N. that
helps with this (see
https://code.google.com/p/lilypond/issues/detail?id=3860).

It is not automated, so it is a pain, but it comes out looking very nice
- you just have to manually do new markups for new pages.


Wouldn't it be easier to typeset it in the regular way but with page 
width set to the desired column width, and then use some PDF or 
Postscript manipulation tool to move each pair of pages into one?


Rutger


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Smarter automatic beam subdivision?

2014-04-01 Thread Rutger Hofman

On 04/01/2014 12:23 PM, Phil Holmes wrote:

- Original Message - From: "Rutger Hofman" 
To: "lilypond-user" 
Sent: Tuesday, April 01, 2014 11:03 AM
Subject: Smarter automatic beam subdivision?


Good morning list,

I would love to be able to make 'smart' automatic beam subdivision,
so, for example, it automatically subdivides 16th at the quarter, but
32nds or 6/4* 16th etc at the eighths. Is there a way to accomplish that?

Btw, the current syntax to do ad-hoc subdivision by hand is uhm...
verbose... I wouldn't mind if the syntax would allow things like:

c32[[ c c c] c[ c c c]]

where the number of non-divided beams would follow The Rules.

Rutger


Have you looked at the section of the NR: "How automatic beaming
works"?  I think it will allow you to work out how to do what you want.


Yes, thanks, I looked at it quite often and I didn't find what I asked 
for. Did I miss that section? Let me summarize: I asked for smart 
*sub*division, not division. I would like to have an automatic 
subdivision scheme that results in:


c16[ c c c] c32[[ c c c] c[ c c c]] \tuplet 6/4 { c16[[ c c] c[ c c]] }

using the "syntax" suggested above. The problem is, if I specify a 
baseMoment = 1/8, then the 16th will also be subdivided at 8th (c16[[ c] 
c[ c]]), but I want 16th subdivided at the quarter, and subdivision at 
the 8th only for smaller note values than 16th: 32nds or tuplets of 16th 
or ... So something like: baseMoment is 1/4 for 16th, baseMoment is 1/8 
for smaller note values.


Rutger



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Smarter automatic beam subdivision?

2014-04-01 Thread Rutger Hofman

Good morning list,

I would love to be able to make 'smart' automatic beam subdivision, so, 
for example, it automatically subdivides 16th at the quarter, but 32nds 
or 6/4* 16th etc at the eighths. Is there a way to accomplish that?


Btw, the current syntax to do ad-hoc subdivision by hand is uhm... 
verbose... I wouldn't mind if the syntax would allow things like:


c32[[ c c c] c[ c c c]]

where the number of non-divided beams would follow The Rules.

Rutger

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Ties across voices

2014-03-31 Thread Rutger Hofman

On 03/31/2014 05:54 AM, Nick Payne wrote:

On 31/03/14 10:56, Daniel Rosen wrote:

Consider the example below:

\version "2.19.3"

\new Staff <<
   \new Voice \relative c'' { \voiceOne c4~  }
   \new Voice \relative c' { \voiceTwo 8 q
>>
How can I tie the lower voice's  to the upper voice's ?


You could use a third hidden voice:

\version "2.19.3"

transOn = {
   \override NoteColumn.ignore-collision = ##t
   \override NoteHead.no-ledgers = ##t
   \hide NoteHead
   \hide Stem
   \hide Flag
   \hide Beam
   \hide Dots
   \hide Accidental
   \hide TupletBracket
   \hide TupletNumber
}

transOff = {
   \revert NoteColumn.ignore-collision
   \revert NoteHead.no-ledgers
   \revert NoteHead.transparent
   \revert Stem.transparent
   \revert Beam.transparent
   \revert Flag.transparent
   \revert Dots.transparent
   \revert Accidental.transparent
   \revert TupletBracket.transparent
   \revert TupletNumber.transparent
}

\new Staff <<
   \new Voice \relative c'' { \voiceOne c4~  }
   \new Voice \relative c' { \voiceTwo 8 q }
   \new Voice \relative c' { \voiceThree \transOn s8  q }
 >>


I use \hideNotes \unHideNotes in this case. Why is \transOn \transOff 
better?


Rutger



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: "dodecaphonic-first" accidental style

2014-03-24 Thread Rutger Hofman

On 03/24/2014 01:50 PM, Gilberto Agostinho wrote:> Gilberto Agostinho wrote

The correct syntax is with the "s" [...]


I meant without without the "s", as in "repeat" and NOT "repeats"
Rutger Hofman-2 wrote

[...]
As a fix, I made a small addition to music-functions.scm to add a
dodecaphonic-first accidental style. Patch against 2.17.18-1 attached.
[...]
Using dodecaphonic-first and adding ! here and there works fine for me.


I already apologize for replying to an old post (almost 1 year old!), but I
am really interested in this dodecaphonic-first accidental style. The
problem is I do not know how to deal with this .patch file!


Right, so there is a new style dodecaphonic-no-repeat from 2.19.3 
onwards. But it does something else than the style dodecaphonic-first 
that I wrote about, long ago. dodecaphonic-no-repeat suppresses 
accidentals for immediately repeated notes. dodecaphonic-first 
suppresses accidentals for any notes that already occurred earlier in 
the bar. My opinion is that there is still good use for 
dodecaphonic-first; the main reason is that wiping out undesired 
accidentals leaves visible traces because it consumes horizontal space, 
whereas adding occasional forced accidentals works fully as desired.


I would love it if the dodecaphonic-first style can be patched into 
lilypond; not only for the Greater Good, but also to relieve me from 
applying it to each and every lilypond release, and maintaining it 
across changes...


I renewed the patch for versions from 2.19.3 upwards. It is attached 
(pre-2.19.3 and 2.19.3 onwards; it used to be a reverse-patch, no longer 
now). It is extremely small. I also keep it in my github repo for 
lilypond additions, in the patches/ dir:


https://github.com/rfhh/lily-contribs

That repo currently also contains my converter from NIFF to lilypond 
(and the NIFF sdk, with 64-bit patch), and an upgraded version of 
Han-Wen's pmx2ly converter that I used to prepare an edition of Bach's 
BWV 146/1052a (on IMSLP).


Rutger






--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/dodecaphonic-first-accidental-style-tp141907p160773.html
Sent from the User mailing list archive at Nabble.com.

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user



--- music-functions.scm.orig	2013-10-06 19:05:19.0 +0200
+++ music-functions.scm	2013-10-24 21:13:35.305128903 +0200
@@ -1328,14 +1328,16 @@
  (car alteration-def))
 (else 0)))
 
-(define (check-pitch-against-signature context pitch barnum laziness octaveness)
+(define (check-pitch-against-signature context pitch barnum laziness octaveness all-naturals)
   "Checks the need for an accidental and a @q{restore} accidental against
 @code{localKeySignature}.  The @var{laziness} is the number of measures
 for which reminder accidentals are used (i.e., if @var{laziness} is zero,
 only cancel accidentals in the same measure; if @var{laziness} is three,
 we cancel accidentals up to three measures after they first appear.
 @var{octaveness} is either @code{'same-octave} or @code{'any-octave} and
-specifies whether accidentals should be canceled in different octaves."
+specifies whether accidentals should be canceled in different octaves.
+If @var{all-naturals} is ##t, notes that do not occur in @code{keySignature}
+also get an accidental."
   (let* ((ignore-octave (cond ((equal? octaveness 'any-octave) #t)
   ((equal? octaveness 'same-octave) #f)
   (else
@@ -1393,7 +1395,7 @@
 (let* ((prev-alt (extract-alteration previous-alteration))
(this-alt (ly:pitch-alteration pitch)))
 
-  (if (not (= this-alt prev-alt))
+  (if (or (and all-naturals (eq? #f previous-alteration)) (not (= this-alt prev-alt)))
   (begin
 (set! need-accidental #t)
 (if (and (not (= this-alt 0))
@@ -1420,7 +1422,13 @@
 accidental lasts over that many bar lines.  @w{@code{-1}} is `forget
 immediately', that is, only look at key signature.  @code{#t} is `forever'."
 
-  (check-pitch-against-signature context pitch barnum laziness octaveness))
+  (check-pitch-against-signature context pitch barnum laziness octaveness #f))
+
+(define-public ((make-accidental-dodecaphonic-rule octaveness laziness) context pitch barnum measurepos)
+  "Variation on function make-accidental-rule that creates an dodecaphonic
+accidental rule."
+
+  (check-pitch-against-signature context pitch barnum laziness octaveness #t))
 
 (define (key-entry-notename entry)
   "Return the pitch of an @var{entry} in @code{localKeySignature}.
@@ -1610,6 +1618,14 @@
   `(Staff ,(lambda (c p bn mp) '(#f . #t)))
   '()
  

Typo in snippet LSR 131 since v2.18

2014-03-19 Thread Rutger Hofman

Hello list,

In LSR-131, the shorthand notation for staccatissimo is correct in the 
lilypond code (c4-!) but not in the markup that accompanies it: that 
still has c4-|, the syntax of v2.16 and earlier.


Rutger

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: midi (and ONLY! midi) transposing

2013-10-23 Thread Rutger Hofman

On 10/23/2013 10:55 AM, Bric wrote:


For scores with multiple instruments of various tunings, how do you tell
lilypond to to render midi  with "normalized" pitch (everything adjusted
to concert pitch, appropriately) — WITHOUT transposing the visual,
written notes.

E.g., a trumpet part is written a whole tone higher, and you want to
keep it written that way, but, at the same time, you wanna hear your
trumpet part sound in tune with its concurrent piano part.

The way things are right now, one needs to create an additional
lilypond, containing WRITTEN transposition, to get a score like that
sounding right.  Or /is/ there are way to do it with a couple of code
directives?

thanks


Doesn't \transposition do what you want?
In 2.17: 
http://lilypond.org/doc/v2.17/Documentation/notation/displaying-pitches#index-_005ctransposition


Rutger Hofman
Amsterdam



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Score examples

2013-09-04 Thread Rutger Hofman

On 09/02/2013 02:50 PM, Urs Liska wrote:

Hi,

I'm compiling a selection of examples to show LilyPond's output quality.
I'm aiming at a collection of ca. 5 examples (1-page excerpts) of
LilyPond scores tweaked to publication quality and a similar number of
examples of out-of-the-box engraving.
The latter is intended to show that one can _work_ with default scores
quite good, that is one can play from them and one can use them to
finish an edition for example, without having to bother about engraving
details too early.

Another goal of this collection is to show a variety of styles.
Therefore I would be happy if you would send me (privately) examples you
would share for that purpose.
If I should get way too many submissions I might think of using them for
a kind of gallery ,-)

If it's 'publication quality' it should of course be as beautiful as
possible.
If it's out-of-the-box it should of course _be_ untweaked. It may well
have deficiencies but should show the superior legibility of all
LilyPond scores.
I would also call it out-of-the-box if there is a general 'house' style
sheet applied. Maybe I'll have a third group with such examples.


All my contributions to IMSLP are lilypond typesets as wll. See 
http://imslp.org/wiki/Category:Hofman,_Rutger/Editor and 
http://imslp.org/wiki/Category:Hofman,_Rutger/Arranger


All of these would be in the category out-of-the-box, with sometimes a 
very little bit of tweaking.


I think the Caplet orchestration of Debussy's 'Clair de lune' 
http://imslp.org/wiki/Suite_bergamasque_(Debussy,_Claude)#For_Orchestra_.28Caplet.29 
has most showcasing potential: harp (PianoStaff) w/ cross-staff 
arpeggios; simultaneous different time signatures; extra staff for solo 
violin; parts and score from one source; and some more, I guess. I would 
organise some things differently now, but that wouldn't change the 
typesets. (BTW, this is a ravishing piece+orchestration that deserves to 
be played much more often.)


Rutger



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Tie placement in voiceTwo

2013-09-01 Thread Rutger Hofman

On 09/01/2013 04:16 PM, David Kastrup wrote:

Rutger Hofman  writes:


(sorry for not including the conversation, but this from my Android phone.)
OK, a slur it must be.

But, although the notation a8( a8) may be uncommon nowadays, it is
quite common in baroque music. Most recently, I met it in BWV 146 mvt
2, all over the place. It also occurs elsewhere with 3 or 4 notes. My
baroque violin player friend says: "oh yes, that is bow vibrato." Not
vibrato in the modern sense, but 2 (3, 4) notes under one bowing.


In modern notation, you'd do this as

c8--( c-- c-- c--)

That the baroque manuscripts are less explicit is not much of a
surprise.  They tend to be less cluttered, being intended for mature
readership rather than "music for dummies and sightreaders".


It's not only manuscript. The BWV146 is from the printed Bach 
Gesamtausgabe (BGA) from 1884. Moreover, this is still common practice 
today in printed baroque music -- but I but don't know if it is limited 
to Urtext.


Rutger



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Tie placement in voiceTwo

2013-09-01 Thread Rutger Hofman
(sorry for not including the conversation, but this from my Android phone.)
OK, a slur it must be.

But, although the notation a8( a8) may be uncommon nowadays, it is quite common 
in baroque music. Most recently, I met it in BWV 146 mvt 2, all over the place. 
It also occurs elsewhere with 3 or 4 notes. My baroque violin player friend 
says: "oh yes, that is bow vibrato." Not vibrato in the modern sense, but 2 (3, 
4) notes under one bowing.

Rutger Hofman
Amsterdam

Verzonden vanaf mijn Sony Ericsson X10

Peter Bjuhr schreef:

>As David points out the original example is uncommon both regarding ties 
>and slurs. I like to add another example which represent a more common 
>use of ties.
>
>As you can see from the ly-file I first use a tie, then a slur, then a 
>double dot.
>
>I think that you could get away with the second as a tie, mostly because 
>it uncommon to slur notes of the same pitch. But I don't think it is 
>preferred practise to use it this way. The double dot could be used, but 
>in contemporary notation I think a tie is preferred.
>
>Peter Bjuhr
>
>___
>lilypond-user mailing list
>lilypond-user@gnu.org
>https://lists.gnu.org/mailman/listinfo/lilypond-user
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Tie placement in voiceTwo

2013-09-01 Thread Rutger Hofman

Good morning list,

ties in \voiceTwo etc are attached to the notehead. Slurs are attached 
to the end of the stem. See attached example.


I would prefer the ties to behave like the slurs, i.e. attached to the 
end of the stem. How can I achieve that?


BTW, I wouldn't be surprised if this is preferred engraving practice.

Rutger Hofman
Amsterdam

\version "2.16.0"

\relative c'' {
\voiceTwo a8~^"ties" a a8~ a
a(^"slurs" a) a( a) |
}
<>___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Lyrics font size in ossia Staff

2013-06-30 Thread Rutger Hofman

Good morning list,

I have a Staff with an Ossia Staff above it, and the music font for the 
ossia Staff is smaller \with { fontSize = #-3 }. But in that ossia 
staff, the Lyrics (with addlyrics { } after the notes) are still the 
original font size. How can I reduce the Lyrics font size accordingly?


Thanks,

Rutger Hofman
Amsterdam

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: "dodecaphonic-first" accidental style

2013-05-30 Thread Rutger Hofman

On 03/05/2013 12:05 PM, David G wrote:

I had been wondering that as well because I don't think it's all that
unusual, at least for early 20th century music (I have some Webern
scores printed in this way) but I couldn't see anything in the Lilypond
documentation.

If anyone has any suggestions I would be grateful too!


On 2 March 2013 22:07, Joseph Rushton Wakeling
mailto:joseph.wakel...@webdrake.net>> wrote:

Hello all,

Taking a look at Berg Op. 5 (see Sibelius-related discussion) I
realized that it uses a slight variant of the "dodecaphonic"
accidental style: every note has an accidental, but only for its
_first_ appearance in the bar.

Any advice on how to achieve this automatically?

Thanks & best wishes,

 -- Joe


For Berg scores, I used to use dodecaphonic accidental style with Urs 
Liska's suggestion to suppress rendering of the accidentals, but it has 
two drawbacks:

1) accidentals cannot be suppressed for single notes within a chord
2) suppressed accidentals still take space. That is visible in the 
spacing. Also, slurs/ties etc are curved around the invisible accidentals.


As a fix, I made a small addition to music-functions.scm to add a 
dodecaphonic-first accidental style. Patch against 2.17.18-1 attached.


For this Berg Op.5 score (which I am typesetting as a Lilypond exercise 
in piano music; will report later) this requires a number of additional 
force-accidental ! annotations because the style isn't precisely 
dodecaphonic-first, but my feeling is that using ! in dodecaphonic-first 
requires far fewer annotations than using dodecaphonic with Urs's 
accidental suppression.


Besides the Berg scores I looked at, I scanned a few Schoenberg and 
Webern scores, and in all of them, the accidental style is not something 
that would be easily automated. In some bars it is exactly 
dodecaphonic-first, in others accidentals are suppressed only for 
immediately repeated notes, and often it is some mixture. Using 
dodecaphonic-first and adding ! here and there works fine for me.


Rutger


--- usr/share/lilypond/current/scm/music-functions.scm	2013-05-27 09:45:16.273111287 +0200
+++ orig/usr/share/lilypond/current/scm/music-functions.scm	2013-05-11 17:17:14.0 +0200
@@ -1323,16 +1323,14 @@
 	 (car alteration-def))
 	(else 0)))
 
-(define (check-pitch-against-signature context pitch barnum laziness octaveness all-naturals)
+(define (check-pitch-against-signature context pitch barnum laziness octaveness)
   "Checks the need for an accidental and a @q{restore} accidental against
 @code{localKeySignature}.  The @var{laziness} is the number of measures
 for which reminder accidentals are used (i.e., if @var{laziness} is zero,
 only cancel accidentals in the same measure; if @var{laziness} is three,
 we cancel accidentals up to three measures after they first appear.
 @var{octaveness} is either @code{'same-octave} or @code{'any-octave} and
-specifies whether accidentals should be canceled in different octaves.
-If @var{all-naturals} is ##t, notes that do not occur in @code{keySignature}
-also get an accidental."
+specifies whether accidentals should be canceled in different octaves."
   (let* ((ignore-octave (cond ((equal? octaveness 'any-octave) #t)
 			  ((equal? octaveness 'same-octave) #f)
 			  (else
@@ -1390,7 +1388,7 @@
 	(let* ((prev-alt (extract-alteration previous-alteration))
 	   (this-alt (ly:pitch-alteration pitch)))
 
-	  (if (or (and all-naturals (eq? #f previous-alteration)) (not (= this-alt prev-alt)))
+	  (if (not (= this-alt prev-alt))
 	  (begin
 		(set! need-accidental #t)
 		(if (and (not (= this-alt 0))
@@ -1417,13 +1415,7 @@
 accidental lasts over that many bar lines.  @w{@code{-1}} is `forget
 immediately', that is, only look at key signature.  @code{#t} is `forever'."
 
-  (check-pitch-against-signature context pitch barnum laziness octaveness #f))
-
-(define-public ((make-accidental-dodecaphonic-rule octaveness laziness) context pitch barnum measurepos)
-  "Variation on function make-accidental-rule that creates an dodecaphonic
-accidental rule."
-
-  (check-pitch-against-signature context pitch barnum laziness octaveness #t))
+  (check-pitch-against-signature context pitch barnum laziness octaveness))
 
 (define (key-entry-notename entry)
   "Return the pitch of an @var{entry} in @code{localKeySignature}.
@@ -1613,13 +1605,6 @@
    `(Staff ,(lambda (c p bn mp) '(#f . #t)))
    '()
    context))
-  ;; Variety of the dodecaphonic style. Each note gets an accidental,
-  ;; except notes that were already handled in the same measure.
-  ((equal? style 'dodecaphonic-first)
-   (set-accidentals-properties #f
-   `(Staff ,(make-accidental-dodecaphonic-rule 'same-octave 0))
-   '()
-   context))
   ;; Multivoice accidentals to be read both by musicians playing one voice
   ;; and musicians playing all voices.
   ;; Accidentals are typeset for each voice, but they ARE canc

Re: Page break after score header

2013-05-16 Thread Rutger Hofman

On 05/16/2013 07:14 AM, Carl Peterson wrote:

How would I go about forcing a page break after a score's header (before the 
actual music)? In preparing slides for my psalter project, I want to generate 
title cards before the first slide of each score. So far, everything I'be tried 
either generates an error or leaves the first system on the page (such as when 
I tried vspace-ing it off the page). I didn't see anything in the manual to 
allow this.

Cheers,
Carl

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user



Insert some empty markup before the pageBreak, before the \score:

\markup{}
\pageBreak

\score {
   ...
}

Rutger


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \mark halfway a bar?

2013-03-14 Thread Rutger Hofman

On 03/14/2013 02:51 PM, David Kastrup wrote:

Rutger Hofman  writes:


On 03/14/2013 01:01 PM, Janek Warchoł wrote:

Hi,

On Thu, Mar 14, 2013 at 12:43 PM, Rutger Hofman  wrote:

Good afternoon list,

I want to have a rehearsal \mark halfway a bar. I cannot find anything in
the v2.16 manual.


I'm not sure i understand your problem.  You can simply insert a \mark
anywhere you want it to be:

{ c'8 c' d' d' \mark \default e' e' f' f' }

does this help you?


A \mark is currently tied to bar events (specifically: a small
selection of events like bar, time signature, clef, ...). The mark is
moved to either end of the bar, wherever in the bar it occurs.


Uh, have you tried above code?


I want to place the mark over some specific time within the bar,
e.g. at the third quarter in a 4/4.


Which the above does.

Could you try giving an example that fails for you?



Ah, sorry, the confusion is all mine. I placed the \mark *after* the 
note where it should appear, like \markup. And these were all at bars.


Rutger

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \mark halfway a bar?

2013-03-14 Thread Rutger Hofman

On 03/14/2013 01:01 PM, Janek Warchoł wrote:

Hi,

On Thu, Mar 14, 2013 at 12:43 PM, Rutger Hofman  wrote:

Good afternoon list,

I want to have a rehearsal \mark halfway a bar. I cannot find anything in
the v2.16 manual.


I'm not sure i understand your problem.  You can simply insert a \mark
anywhere you want it to be:

{ c'8 c' d' d' \mark \default e' e' f' f' }

does this help you?


A \mark is currently tied to bar events (specifically: a small selection 
of events like bar, time signature, clef, ...). The mark is moved to 
either end of the bar, wherever in the bar it occurs. I want to place 
the mark over some specific time within the bar, e.g. at the third 
quarter in a 4/4. Moving the mark around with offsets doesn't really do 
the tric either, the mark will appear at different times in different 
parts that share the same mark.


A possible workaround might be a Dynamics context that mimics the layout 
of \mark, but then a \mark over a bar is placed over the first note, not 
over the bar. Still, that might look best.


Rutger



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


\mark halfway a bar?

2013-03-14 Thread Rutger Hofman

Good afternoon list,

I want to have a rehearsal \mark halfway a bar. I cannot find anything 
in the v2.16 manual.


Thanks for helping out,

Rutger

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: harp gliss spacing

2012-11-30 Thread Rutger Hofman

On 12/01/2012 12:46 AM, Rutger Hofman wrote:

On 12/01/2012 12:05 AM, Saul Tobin wrote:

I'm trying to find an example image, but most of the ones I can find
don't have
other staves going at the same time to show the spacing I want. I want
the
spacing to look something like:

<<
   \oboe
   \relative c' {
 s4 \times 3/4 { d4 ef8[ fs gf as bf cs]\glissando } |
 d'1 |
   }




(using the variable from my earlier example)

The trouble is I don't want the tuplet or those note values, and I
want the
latter six notes to be grace notes. Does that make sense?

Thanks for responding!

Saul



What if you force the 'timed' values different than the notated values,
something like:

harp = \relative c' {
   r4 d2.*1/4\glissando \teeny { ef32*3[ fs gf as bf cs]\glissando } |
   d'1 |
}

Note, the \afterGrace is gone, and the grace note effect is mimicked by
making the 32-nd notes much smaller.


Ahum, I was too fast again; the size needs to be explicitly restored, so 
this should be:


harp = \relative c' {
  r4 d2.*1/4\glissando \teeny ef32*3[ fs gf as bf cs]\glissando 
\normalsize |

  d'1 |
}



I used the notated lengths in your clarifying example, which makes the
first glissando invisible. You might have to tune the factors.

HTH,

Rutger





___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: harp gliss spacing

2012-11-30 Thread Rutger Hofman

On 12/01/2012 12:05 AM, Saul Tobin wrote:

I'm trying to find an example image, but most of the ones I can find don't have
other staves going at the same time to show the spacing I want. I want the
spacing to look something like:

<<
   \oboe
   \relative c' {
 s4 \times 3/4 { d4 ef8[ fs gf as bf cs]\glissando } |
 d'1 |
   }




(using the variable from my earlier example)

The trouble is I don't want the tuplet or those note values, and I want the
latter six notes to be grace notes. Does that make sense?

Thanks for responding!

Saul



What if you force the 'timed' values different than the notated values, 
something like:


harp = \relative c' {
  r4 d2.*1/4\glissando \teeny { ef32*3[ fs gf as bf cs]\glissando } |
  d'1 |
}

Note, the \afterGrace is gone, and the grace note effect is mimicked by 
making the 32-nd notes much smaller.


I used the notated lengths in your clarifying example, which makes the 
first glissando invisible. You might have to tune the factors.


HTH,

Rutger



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Minimum hairpin length

2012-11-16 Thread Rutger Hofman

Good morning list,

I can set Hairpin #'minimum-length and that is fine. However, if a note 
also has another dynamic, as in e.g.


   << c1 { s2\mp\< s2\> <>\! } >>

the space that is reserved for the \< is also used up by the \mp, so a 
much shorter \< results. Is there a way to set a minimum for \< only, 
which stays in effect also when there is another dynamic (like \mp)?


Thanks in advance,

Rutger

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Accidental style like dodecaphonic, but not quite the same

2012-11-12 Thread Rutger Hofman
Hello list,

I am typesetting a piece by Alban Berg. Its accidental style is like Lilypond's 
dodecaphonic (explicit accidental for each note), but it differs in that 
immediately repeated notes within a bar don't get an accidental. How can I make 
an accidental style that does exactly this?

And related: is there a way to remove one note's explicit accidental even when 
a style prescribes it?

Thanks,

Rutger Hofman
Amsterdam
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


  1   2   >