Re: Height and vertical alignment of first system on first page

2015-08-11 Thread Simon Albrecht

Am 09.08.2015 um 12:16 schrieb Jonathan Scholbach:

Hi Ponders,

I have a score with an odd number of systems. Each page has two systems
(it's an eight-voiced Choirstaff), the first page gets one system (and
the title-section) - fine.

Lilypond stretches the first system vertically to make it fill the whole
first page. I would like this system to have the height of the other
systems in the score and to be placed in the (vertical) center of the
first page. Can you tell me how to do that? I have tried to cheat
lilypond by adding some \vspace in the \title of the \header - that
reduces the stretch of the system, but still lets it stretch to the
bottom of the page - I would like the system to be right in the middle
of the first page.

Your help is appreciated,

Jonathan

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
See also http://code.google.com/p/lilypond/issues/detail?id=2734. You 
may comment on or star the issue.


Yours, Simon

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


Re: Acciaccatura slurs

2015-08-11 Thread Simon Albrecht

Am 09.08.2015 um 17:13 schrieb Thomas Morley:

2015-08-09 16:20 GMT+02:00 Andrew Bernard :

Hi Harm,

Well, are the glyphs that lilypond automatically puts in for acciaccaturas
slurs or ties? I am quite confused. I thought they were slurs. The manual
suggests to my way of reading that they are slurs, and the slur up and down
functions work on them. But I just don’t know.

\acciaccatura uses Slur, ofcourse!

But I think it does not make any sense to write a slur between equal notes.
As a player I'd always read the second example as a Tie.

{ c''1~ c'' }
{ c''1( c'') }

1. It depends on instrument and style.
2. What about
{ c4( c) c( d) | e( d) c2 }
or
{ c4( c c c) }
?

A slur definitely is semantically different from a tie, so it’s 
important to keep them apart. Though certainly there are cases where 
it’s impossible to tell.
In Andrew’s first example it’s unlikely that the cis is supposed to be 
struck twice (even more now we know that it’s piano music) so I suppose 
a tie is the way to go.


Yours, Simon

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


Re: problem with installed font when set-global-staff-size is changed

2015-08-11 Thread Simon Albrecht

Am 11.08.2015 um 18:19 schrieb Jonathan Scholbach:

Hi!

I would like to use the Garamond font for all the text in my sheet
(header, lyrics, markup). I downloaded the EBGaramond from
http://www.georgduffner.at/ebgaramond/download.html and put all the
.otf-files into the directory

lilypond/usr/share/lilypond/current/fonts/otf

Nearly everything works fine, but Lilypond seems to have problems with
scaling, as my ME shows. The lyrics between the staves are not printed
in Garamond font when the global-staff-size is changed.
The problem is that setting staff size overrides the previous font 
settings, so you have to first change staff size, then change the fonts. 
Normally this would mean inserting #(set-global-staff-size 21) _before_ 
the paper block; with #layout-set-staff-size however, I don’t know of 
any solution.


HTH, Simon

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


Re: Text spanner text in the middle

2015-08-14 Thread Simon Albrecht

Am 14.08.2015 um 13:11 schrieb Malte Meyn:



Am 14.08.2015 um 12:32 schrieb Andrew Bernard:
Just re my own suggestion of text spanners with text in the middle, 
although the present need is for a repeat indication, I am well aware 
that this is poor design, since a textual mark does not indicate a 
repeat structure to lilypond, so it is architecturally incorrect, 
which would be grounds for rejecting such a request for enhancement. 
But apart from repeats, I have many uses for text centred in 
spanners, where the semantics are perfectly OK.


One could go even further and have text spanners with not only two or, 
with centered text, three but an arbitrary number of texts evenly 
distributed over the length of the spanner.

+1


\override TextSpanner.texts = #("poco" "a" "poco" "stringendo")

And then one could also add the possibility to specify where a dashed 
lines/hyphens should be.


\override TextSpanner.texts = #("poco" "a" "poco" "strin" "gen" "do")
\override TextSpanner.hyphens = #(#f #f #f #t #t)

I’d suggest
\override TextSpanner.spread-text = { al -- lar -- gan -- do }
Your example should probably be displayed along the lines of either
‘po - - co _ _ a _ _ po - - co _ _ strin - - gen - - do’
or even
‘po - - co - - a - - po - - co - - strin - - gen - - do’.


Same for DynamicLineSpanners (poco a poco crescendo).

Maybe we can think a bit about the details and then have a feature 
request (for centered text or for more texts or both).

Good idea.
Yours, Simon

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


Re: Align scores in markup

2015-08-14 Thread Simon Albrecht

Am 14.08.2015 um 14:58 schrieb MarcM:

the custom function helps for readability and reuse of score snippets.

\markup {
   "this"  \score {  { c' d' e' } \layout { indent=0 } }
  "should be aligned with this " \score {  { c d e }
\layout { indent=0 } }
}

%% This is more concise and readable

even more concise and without a headache:


musicA = { c'd'e'}
musicB = { c d e }
\markup { "this" \writeMusic ##{ \musicA #}

\writeMusic \musicA
% or
\writeMusic #musicA

No need to switch back and forth between Scheme and LilyPond mode.

Yours, Simon

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


\transpose and quoting

2015-08-15 Thread Simon Albrecht

Hello,

I’m looking for a way to quote another voice, but in a different octave. 
My thinking was: ‘\quoteDuring is a music function, so it returns music, 
so I can wrap it into \transpose c c, {} and all’s fine.’ However, 
\transpose has no effect.

Using \transposition doesn’t seem quite the right way, or is it?

TIA for any help, Simon
\version "2.19.25"

oboeNotes = \relative c'' {
  a4 gis g gis | b4^"quoted" r8 ais\p a4( f)
}

bassoonNotes = \relative c' {
  \clef bass
  c4 cis c b \transpose c c, \quoteDuring #"oboe" { s1 }
}

\addQuote "oboe" { \oboeNotes }

\score {
  <<
\new Staff \oboeNotes
\new Staff \bassoonNotes
  >>
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \transpose and quoting

2015-08-15 Thread Simon Albrecht

Thanks, Kieren and Paul. Pre-transposing works.

Best, Simon

Am 15.08.2015 um 17:31 schrieb Kieren MacMillan:

Hi Simon,


I’m looking for a way to quote another voice, but in a different octave.

I ran into this, too. Don’t know if it’s the best way, but I used

 \addQuote “melody_8vb” \transpose c c, { \melody }

and then directly quoted the [pre-transposed] quote.

Of course, it would be much better to generate a single quote and be able to 
transpose it post hoc. Maybe there’s a way of doing that in Lilypond, but I 
don’t know it.

Hope this helps,
Kieren.


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


Re: Can't find right hand fingering without string #'s

2015-08-16 Thread Simon Albrecht

Am 16.08.2015 um 11:32 schrieb BB:
Sorry, cannot find any any c-"p" in the attached code to check the 
allegation "putting the markup "p" below the note, not a fingering 
indication."!

Well, just try and compile something like
%%
{ c-"p" }
%%
And, yes, it is markup: insert
\override TextScript.color = #red
to test.

Yours, Simon



On 16.08.2015 00:24, Nick Payne wrote:
c-"p" is putting the markup "p" below the note, not a fingering 
indication.



___
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: Can't find right hand fingering without string #'s

2015-08-16 Thread Simon Albrecht


Am 16.08.2015 um 14:02 schrieb Thomas Morley:



The quite verbose \rightHandFinger #1 can be shortened as already
shown in this thread.
Let me quote NR again:

#(define RH rightHandFinger)

And since 2.19.24 we have a non-scheme alternative for this:
RH = \rightHandFinger \etc
Perhaps it might even be used in the documentation?

Thanks, David!
Simon

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


Re: Beam exceptions

2015-08-16 Thread Simon Albrecht

Am 16.08.2015 um 05:28 schrieb Andrew Bernard:
In the following MWE, I would like to have the second bar have a 
primary beam across all the notes, as per the first bar. I imagine it 
may require more than what I have here, possibly something to do with 
setting up beamExceptions?
Unfortunately, even beamExceptions is not apt for this, since 
subdividing rules are not yet implemented (see the preamble for 
scm/time-signature-settings.scm). Currently, we’re glad that ordinary 
one-level subdivisions are correct: 
. Multiple 
levels of subdivision 
 and irregular 
subdivision patterns, as in your case, aren’t supported.


So please file a bug report.

Yours, Simon

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


Re: automatic bar number following multimeasure rest

2015-08-16 Thread Simon Albrecht


Am 16.08.2015 um 15:27 schrieb bobr...@centrum.is:

Klaus,

I haven't tested that.  I'm sure it probably works.  Unfortunately, this is what I was 
trying not to do.  My reason for wanting an automatic solution is for making rehearsals 
easier for parts with lots of rests.  "Start at measure x," can be a bother 
with many blocks of multi-measure rests.
Normally, one would use rehearsal marks to circumvent that: 



HTH, Simon

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


Re: Can't find right hand fingering without string #'s

2015-08-16 Thread Simon Albrecht

Am 16.08.2015 um 16:20 schrieb BB:
Well, if you say, there is a need ... you oversee the side effects, 
hidden for me. The quotes are not a real problem. The inconsistency is 
illustrated in this example:


\version "2.19.2"


{ \voiceOne c'1-"p"}

{ c'1-"p" }

Please be more explicit. I may only guess that the ‘inconsistency’ 
you’re referring to is the different direction of the TextScript: 
above/below the staff. There is no inconsistency here. Thomas Morley 
_very_ extensively explained the function of - versus _ and ^, including 
the fact that \voiceOne changes the default direction for TextScript, 
amongst others, so it appears above the staff. \voiceOne is introduced 
in 
.


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


Re: Lining up notes in staves with different rhythms and time signatures

2015-08-21 Thread Simon Albrecht

Am 20.08.2015 um 22:46 schrieb Blöchl Bernhard:
That are the interesting cases where to outsmart the optimised 
depiction of lilypond. Usually not an easy task!


First thee is an error, as
 d8 d4. a16 c8. |
does not sum up to 2/4. Nay be that line should read
| e8 g a g | e c4. | d8 d4. | a8 c4.
??
I think this is too bold an assumption. It may very well be that there 
is one 3/4 measure here, and I would trust the original typeset here.


Yours, Simon

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


Re: Lining up notes in staves with different rhythms and time signatures

2015-08-21 Thread Simon Albrecht

Am 21.08.2015 um 20:56 schrieb Malte Meyn:

Am 21.08.2015 um 20:45 schrieb Blöchl Bernhard:

Interesting! New rules for basics of music.


I think this is too bold an assumption. It may very well be that there
is one 3/4 measure here, and I would trust the original typeset here.



Not every time signature change is printed in every music. Even if you 
see it as a “basic rule”. See for example the last one of 
Rachmaninov’s Etudes-Tableaux. Rachmaninov knew what he did.
And even more so in a Hungarian folk song which certainly has been 
orally transmitted most of the time and transcribed only at a time in 
the 20th century when the more rigid frame of 19th century notation 
conventions had become quite loose already.
You bet the editor (and typesetters) have been scrupulous enough to get 
it right.


Yours, Simon

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


Re: vertical spacing of rests

2015-08-22 Thread Simon Albrecht

Am 23.08.2015 um 00:48 schrieb Michael Rivers:

It would be nice if this were just newbie question, but all of us old-bies
and have to deal with it all the time. It would be really nice if Lilypond
just combined the rests as it should.
That would have to be discussed, but I agree that it would be a 
reasonable feature request. Even the NBA (New Bach Edition) of BWV 849/2 
(Fuga in c sharp minor à 5) combines the (multi measure) rests at the 
beginning in the upper staff, where all three voices have rests.


Yours, Simon

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


Re: vertical spacing of rests

2015-08-23 Thread Simon Albrecht

Hello Peter,

Am 23.08.2015 um 03:11 schrieb Peter Selinger:

Wait, this didn't quite work:

hideRests = {
   \override Rest.transparent = ##t
}

It almost produces the correct output, but it generates a million
warnings (one for each rest) about a "rest collision" that could not
be resolved. I guess a transparent rest is not the same as a spacer
rest - even though it is invisible, it can still collide.

Also, strangely, the dots on the dotted rests are still visible, even
when the rests themselves are transparent.

Is there a property similar to Rest.transparent that will remove the
rest (effectively turning it into a spacer rest), rather than just
making it invisible?
Yes. You will find an explanation in our Learning Manual: 
 
– by the way: this manual is a ‘must-read’. It takes some time to work 
through, but it gives a very good introduction into basic concepts and 
it shows how to read the other manuals.

This will give you
omitRests = \omit Rest
:-)
So, no need for an abbreviation…

As Klaus already explained, the dot issue isn’t just as simple. You 
might try:

\layout {
  \context {
\Staff
\remove "Dot_column_engraver"
  }
  \context {
\Voice
\consists "Dot_column_engraver"
  }
}

This will move the Dot_column_engraver from Staff to Voice level and 
might fix the problem.


HTH, Simon


-- Peter

Peter Selinger wrote:

Thanks for your replies. That's awesome. I think I will also define a
command \hideRests, so that I don't have to manually convert all the
rests to spacer rests - this might be handy if I later decide to use
one staff per voice.

centerRests = {
   \override Rest.staff-position = #0
}

hideRests = {
   \override Rest.transparent = ##t
}

\new Staff <<
   \new Voice \relative c'' {
 \voiceOne
 \centerRests
 r4 c r d
   }
   \new Voice \relative c'' {
 \voiceTwo
 \hideRests
 r4 a8 a8 r4 b8 b8
   }
By the way, properties such as staff-position are not included in the
index of the Notation Manual (though they do appear in the index of
the Learning Manual). I had to search the whole document to find these
properties in Appendix A.17. Would it make sense to include them in
the index?

-- Peter

Klaus Blum wrote:

Peter Selinger wrote

Is there a global way to turn off
vertical spacing for rests in a context, i.e., some command whose
effect would be to make notes behave as with \voiceOne and rests
behave as with \oneVoice?

Hi Peter,

yes, there is:
  \override Rest.staff-position = #0
but you have to apply it once for every voice.

Cheers,
Klaus


%-
\version "2.19.25"

centerRests = {
   \override Rest.staff-position = #0
}

\new Staff <<
   \new Voice
   \relative c'' {
 \voiceOne  % you don't need a pair of braces here
 \centerRests
 r  c  r  d
   }
   \new Voice
   \relative c'' {
 \voiceTwo
 \centerRests
 r4 a8 a8 r4 b8 b8
   }
%-




--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/vertical-spacing-of-rests-tp179947p179950.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



___
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: Way to flatten nested \include's?

2015-08-23 Thread Simon Albrecht

Am 23.08.2015 um 15:23 schrieb Knute Snortum:
I don't know of a LilyPond way to do this, but it would probably be a 
fairly simple Python or Perl program.
And wouldn’t it be user-friendly to provide such a script with our 
default binaries, that is alongside convert-ly?


My 2cts, Simon



Knute Snortum
(via Gmail)

On Sat, Aug 22, 2015 at 2:20 PM, Javier Ruiz-Alma 
mailto:jav...@ruiz-alma.com>> wrote:


I have code split into multiple files.
Is there a way to ask lilypond to expands nested \include's and
dump into new file, such I can review/compile a flattened version
of the code (i.e. for debugging)?


___
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: A call to Cantique de Fauré

2015-08-23 Thread Simon Albrecht

Am 23.08.2015 um 20:00 schrieb Ali Cuota:

Hello,

Does somebody where to find the Cantique de Jean Racine in Ly?
Mutopia, cpdl, imslp and so far google say no. :-(

In https://lists.gnu.org/archive/html/lilypond-user/2005-01/msg00295.html
Sir Michiel Lange was asking about a solution for manual changes, so
maybe he can help?

Well, apparently Mr. Lange did not choose to publish his code, then.
I don’t know of any platform besides the three you mentioned where such 
code might be found, so you’ll probably have to do it yourself, and be 
the first to contribute it on any of these :-)


Yours, Simon

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


Re: Errors when using TabStaff with stringTunings

2015-08-24 Thread Simon Albrecht

Hello Kevin,

welcome back to the Pond :-)
There have been many syntax changes since v2.12, and one of them is the 
culprit here, so you’ll want to get a look at 
. 
(In case you’re using Frescobaldi: Tools/Update with convert.ly…)

BTW: we use to have the version number right at the beginning of the file.
The attached version works fine.

All the best,
Simon

Am 24.08.2015 um 17:36 schrieb Kevin Nowaczyk:

I have a lilypond file which used to parse perfectly well several years ago. I 
recently reinstalled lilypond (2.18.2 from debian-stable) and now I receive an 
error. I've reduced the file down and determined that setting the stringTunings 
is the problem. The file I have has both guitar tab and bass guitar tab. If I 
leave the   \set TabStaff.stringTunings = #'(4 -1 -5 -10 -15 -20) line out, it 
displays correctly. If I add it in, it presents the following error:

GNU LilyPond 2.18.2
Processing `Steven_smith_working.ly'
Parsing...
Interpreting 
music...[8]/usr/share/lilypond/2.18.2/scm/translation-functions.scm:313:39: In 
procedure ly:pitch-tones in expression (ly:pitch-tones (list-ref tuning #)):
/usr/share/lilypond/2.18.2/scm/translation-functions.scm:313:39: Wrong type 
argument in position 1 (expecting Pitch): 4


My test file:

guitarmusic =  {
 \key g \minor
 R1*12
 r8 bes'8\1 bes'\1 bes'\1 r8 a'\1 a'\1 a'\1 r c''\1 c''\1 c''\1 r 
bes'\1 bes'\1 bes'\1
 r bes'\1 bes'\1 bes'\1  r a'\1 a'\1 a'\1 r d''\1 d''\1 d''\1 r d''\1 
d''\1 d''\1
 r8 bes'8\1 bes'\1 bes'\1 r8 a'\1 a'\1 a'\1 r c''\1 c''\1 c''\1 r 
bes'\1 bes'\1 bes'\1
 r bes'\1 bes'\1 bes'\1 r a'\1 a'\1 a'\1 d''\1 d''\1 d''\1 d''\1 d''\1 
d''\1 d''\1 d''\1
}

\version "2.12.3"
\score {
 \new StaffGroup <<
 \new TabStaff <<
 \set TabStaff.stringTunings = #'(4 -1 -5 -10 -15 -20)
 {
 \guitarmusic
 }
 >>
 >>
 \layout{}
}

Obviously, if all I'm doing is standard-tuned guitar, I can leave out the call 
to stringTunings, but for bass guitar I need that call.
Thanks for any help,
Kevin Nowaczyk

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


\version "2.18.0"

guitarmusic =  {
  \key g \minor
  R1*12
  r8 bes'8\1 bes'\1 bes'\1 r8 a'\1 a'\1 a'\1 r c''\1 c''\1 c''\1 r bes'\1 bes'\1 bes'\1
  r bes'\1 bes'\1 bes'\1  r a'\1 a'\1 a'\1 r d''\1 d''\1 d''\1 r d''\1 d''\1 d''\1
  r8 bes'8\1 bes'\1 bes'\1 r8 a'\1 a'\1 a'\1 r c''\1 c''\1 c''\1 r bes'\1 bes'\1 bes'\1
  r bes'\1 bes'\1 bes'\1 r a'\1 a'\1 a'\1 d''\1 d''\1 d''\1 d''\1 d''\1 d''\1 d''\1 d''\1
}

\score {
  \new StaffGroup <<
\new TabStaff <<
  \set TabStaff.stringTunings = #`(,(ly:make-pitch 0 2 NATURAL) ,(ly:make-pitch -1 6 NATURAL) ,(ly:make-pitch -1 4 NATURAL) ,(ly:make-pitch -1 1 NATURAL) ,(ly:make-pitch -2 5 NATURAL) ,(ly:make-pitch -2 2 NATURAL) )
  {
\guitarmusic
  }
>>
  >>
  \layout{}
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Change size of notes in addQuote passage

2015-08-24 Thread Simon Albrecht

Am 24.08.2015 um 18:59 schrieb owainsut...@gmail.com:

Is there a way to (a) use 'transposedCueDuring' which retains these details
from the original,
Yes, see 
.
Although actually a ‘cue’, as you are probably aware, is intended for 
notes which the instrument is not supposed to actually play.


Small side note: the accent in ‘Più’ should be the other way around. :-)

Yours, Simon

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


Re: Equal spacing of notes in a bar

2015-08-24 Thread Simon Albrecht

Hi Bill,

‘proportional notation’ is the magic word: 
.


HTH, Simon

Am 24.08.2015 um 20:54 schrieb William Marchant:
I have looked though the documentation without finding what I need. 
The attached code gives me a triplet whose notes are spaced according 
to the words.  I would like to equalize  the spacing between the 
notes.  Is there a snippet I have missed, or some technique that will 
provide this?

Bill

\version "2.18.2"
global = {
  \language "english"
  \key bf \major
  \time 3/4
}
melody = \relative c' {
\tuplet 3/2 { bf8 c d }  c2 |
}
  VerseOne = \lyricmode {
  Give me a big
  }
 \score {
  \new ChoirStaff <<
\new Staff <<
  \new Voice = "Song" {
\global
\melody
  }
  \new Lyrics \lyricsto "Song" {
\VerseOne
  }
>>
  >>
  \layout {
\context {
  \Score
}
  }
}


___
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


Allow LyricText/SpanBar overlapping

2015-08-24 Thread Simon Albrecht

Hello,

following 19th century practice, I am using StaffGroup for choir scores. 
When there are longer syllables at the end of a measure, they avoid to 
overlap with the span bar, which costs horizontal space. I’d prefer this 
to be turned off, but how? I might conduct a lengthy and imprecise 
search over the manuals, but maybe someone can help out?


TIA, Simon
\version "2.19.25"

mus = \relative {
  \partial 8
  fis'8( |
  g8.) 16 dis4
}
text = \lyricmode { Was -- sers gnug }

\layout {
  \context {
\Lyrics
\override LyricText.whiteout-box = ##t
\override LyricHyphen.whiteout = ##t
  }
}

\score {
  \new StaffGroup <<
\mus
\addlyrics \text
\mus
  >>
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Way to flatten nested \include's?

2015-08-24 Thread Simon Albrecht

Hi Andrew,

many thanks for your work.
I just tried the script and can’t avoid getting an error about lacking 
rights. My command was:

$flatten-ly 18-der-stuermische-morgen.ly > debug.ly
sudo doesn’t help and it’s regardless of whether I place the script in 
/usr/bin/ or in ~/.

Can you tell why that is?

Yours, Simon

Am 24.08.2015 um 03:23 schrieb Andrew Bernard:

Greetings Javier.

Here is a program I wrote for you, flatten-ly to read a lilypond file 
and output it recursively flattening all the nested includes. It’s a 
shell script invoking guile.


Usage: flatten-ly file

Outputs to standard output.

Unashamedly Linux.

I’ll make it more robust, and add a couple of features, add a lilypond 
style wrapper and if there is any interest add it to openlilylib perhaps?


Andrew



From: > on 
behalf of Javier Ruiz-Alma

Reply-To: Javier Ruiz-Alma
Date: Sunday, 23 August 2015 07:20
To: LilyPond User Group
Subject: Way to flatten nested \include's?

Is there a way to ask lilypond to expands nested \include's and dump 
into new file, such I can review/compile a flattened version of the 
code (i.e. for debugging)?




___
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: Way to flatten nested \include's?

2015-08-24 Thread Simon Albrecht

Am 24.08.2015 um 21:57 schrieb Blöchl Bernhard:
The attached file is a binary, not a lilypond file, regardless of the 
extension .ly?
Have another look: it’s not flatten.ly, but flatten-ly – without any 
file name extension.
It’s not a binary either, but plain text, and is used as a shell script, 
as Andrew said in his explanation below.


HTH, Simon




Am 24.08.2015 03:23, schrieb Andrew Bernard:

Greetings Javier.

Here is a program I wrote for you, flatten-ly to read a lilypond file
and output it recursively flattening all the nested includes. It's a
shell script invoking guile.

Usage: flatten-ly file

Outputs to standard output.

Unashamedly Linux.

I'll make it more robust, and add a couple of features, add a lilypond
style wrapper and if there is any interest add it to openlilylib
perhaps?

Andrew

From:  on
behalf of Javier Ruiz-Alma
Reply-To: Javier Ruiz-Alma
Date: Sunday, 23 August 2015 07:20
To: LilyPond User Group
Subject: Way to flatten nested include's?

Is there a way to ask lilypond to expands nested include's and dump
into new file, such I can review/compile a flattened version of the
code (i.e. for debugging)?


___
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: Errors when using TabStaff with stringTunings

2015-08-24 Thread Simon Albrecht

Am 24.08.2015 um 22:12 schrieb Kevin Nowaczyk:

Thanks for the help everyone,

I would up changing the stringTungings line to:
\set Staff.stringTunings = \stringTuning 
And everything works fine. However, I also tried the notaion:
\set Staff.stringTunings = #bass-tuning
but that didn't work. I'll have to figure that out at a later time.

All-in-all, I installed mediawiki with the Score plugin to show off a few 
guitar tabs I transcribed a few years ago. If you're curious, the first one 
(that now works) is here:
http://wiki.beakerboy.com/index.php/Steven_Smith
You may only hope that you don’t get any problems due to the legal 
(copyright) issues with this…


Yours, Simon

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


Re: Equal spacing of notes in a bar

2015-08-25 Thread Simon Albrecht

Am 25.08.2015 um 02:51 schrieb William Marchant:
Thanks to Simon and Abraham.  I found the quoted reference on my own, 
but I need something which can be applied to  several single bars 
throughout the music.  It is the lyrics which are distorting just a 
few bars.  I had hoped there would be a snippet I am unable to find.  
Is there one?  TIA.

Bill
There are several issues in our tracker concerned with the shortcomings 
of Lily’s current behaviour, since indeed note spacing should only in 
extreme cases by distorted by lyrics. What can be done?

– Choose a narrower font for lyrics.
– Play with LyricText.self-alignment-X, e.g. (gross exaggeration :-))
%%%
\version "2.18.2"

selfAl = #(define-music-function (parser location num) (number?)
#{ \once \override LyricText . self-alignment-X  = $num #})

mus = { g'8 f'8 e'8 }
text = \lyricmode { \selfAl 1.2 straight straight \selfAl #-1 straight }

\score {
  <<
\mus
\addlyrics \text
  >>
}
%

– choose a wider horizontal spacing in general, either through the 
methods in 
<http://lilypond.org/doc/v2.18/Documentation/notation/changing-horizontal-spacing>

– or by ‘brute force’: something like \paper { system-count = 10 }.

HTH, Simon



On 15-08-24 03:56 PM, Simon Albrecht wrote:

Hi Bill,

‘proportional notation’ is the magic word: 
<http://lilypond.org/doc/v2.18/Documentation/notation/proportional-notation>.


HTH, Simon

Am 24.08.2015 um 20:54 schrieb William Marchant:
I have looked though the documentation without finding what I need. 
The attached code gives me a triplet whose notes are spaced 
according to the words.  I would like to equalize  the spacing 
between the notes.  Is there a snippet I have missed, or some 
technique that will provide this?

Bill

\version "2.18.2"
global = {
  \language "english"
  \key bf \major
  \time 3/4
}
melody = \relative c' {
\tuplet 3/2 { bf8 c d }  c2 |
}
  VerseOne = \lyricmode {
  Give me a big
  }
 \score {
  \new ChoirStaff <<
\new Staff <<
  \new Voice = "Song" {
\global
\melody
  }
  \new Lyrics \lyricsto "Song" {
\VerseOne
  }
>>
  >>
  \layout {
\context {
  \Score
}
  }
}


___
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


lyric-text::interpolate-alignment

2015-08-25 Thread Simon Albrecht

Hello,

with my current project I wanted to avoid making too many manual 
adjustments on LyricText.self-alignment-X, and so I made an essay at 
having this done automatically depending on the width of the syllable. 
It’s not a very sophisticated approach – a really intelligent solution 
is still far away. But it works and I’m interested in hearing your opinion.


Best regards, Simon
\version "2.19.25"

#(define (lyric-text::interpolate-alignment grob)
   "Calculates values for 'self-alignment-X using the width = X-extent of the syllable. Values are zero up to @var{lower-threshold}, @var{maximum} above @{upper-threshold}, with a smooth interpolation inbetween."
   (let*
((width (cdr (ly:grob-property grob 'X-extent)))

 (lower-threshold 3)
 (upper-threshold 11)
 (maximum (- 4/5))
 
 ;; calculate parameters for use in the ‘sigmoid’ cubic function with
 ;; (sigmoid lower-threshold) --> 0
 ;; (sigmoid upper-threshold) --> maximum
 ;; and zero ‘slope’ in both these points
 
 (a (/ (* 2 maximum)
  (+ (- (expt upper-threshold 3))
(* 3 upper-threshold upper-threshold lower-threshold)
(* -3 upper-threshold lower-threshold lower-threshold)
(expt lower-threshold 3
 (b (/ (- maximum (* a (+ (expt upper-threshold 3)
 (* 2 (expt lower-threshold 3))
 (* -3 upper-threshold (expt lower-threshold 2)
  (expt (- upper-threshold lower-threshold) 2)))
 (c (/ (- maximum
  (* b (- (expt upper-threshold 2) (expt lower-threshold 2)))
  (* a (- (expt upper-threshold 3) (expt lower-threshold 3
   (- upper-threshold lower-threshold)))
 (d (- maximum
  (* upper-threshold c)
  (* (expt upper-threshold 2) b)
  (* (expt upper-threshold 3) a)))

 (sigmoid (lambda (x) (+ (* a x x x) (* b x x) (* c x) d

;(format #t "The four parameters have been determined as: \n a ~a \n b ~a \n c ~a \n d ~a\n" a b c d)

(cond
 ((<= width lower-threshold) 0)
 ((< lower-threshold width upper-threshold)
  (sigmoid width))
 ((>= width upper-threshold) maximum

\layout {
  \context {
\Lyrics
\override LyricText.self-alignment-X = #lyric-text::interpolate-alignment
\override LyricText.before-line-breaking =
#(lambda (grob)
   (let
((extent (ly:grob-property grob 'X-extent))
 (txt (ly:grob-property grob 'text)))
(format #t "For ~a, X-extent is ~a\n" txt extent)))
  }
}

<<
  {
\repeat unfold 8 g'8\noBeam
  }
  \addlyrics {
 l ll lll  l ll 
  }
>>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: lyric-text::interpolate-alignment

2015-08-25 Thread Simon Albrecht

Am 26.08.2015 um 00:04 schrieb Simon Albrecht:

Hello,

with my current project I wanted to avoid making too many manual 
adjustments on LyricText.self-alignment-X, and so I made an essay at 
having this done automatically depending on the width of the syllable. 
It’s not a very sophisticated approach – a really intelligent solution 
is still far away. But it works and I’m interested in hearing your 
opinion.
In particular, I have one question: how must I modify this approach, so 
that it will still be possible to override individual LyricText grobs?

\override LyricText.after-line-breaking =
#(lambda (grob) (ly:grob-set-property! grob 'self-alignment-X 
lyric-text::interpolate-alignment))

– which I tried as an alternative – did not work at all.

TIA, Simon

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


Re: lyric-text::interpolate-alignment

2015-08-26 Thread Simon Albrecht

Am 26.08.2015 um 01:31 schrieb David Nalesnik:

Simon,

On Tue, Aug 25, 2015 at 5:40 PM, Simon Albrecht 
mailto:simon.albre...@mail.de>> wrote:


Am 26.08.2015 um 00:04 schrieb Simon Albrecht:

Hello,

with my current project I wanted to avoid making too many
manual adjustments on LyricText.self-alignment-X, and so I
made an essay at having this done automatically depending on
the width of the syllable. It’s not a very sophisticated
approach – a really intelligent solution is still far away.
But it works and I’m interested in hearing your opinion.

In particular, I have one question: how must I modify this
approach, so that it will still be possible to override individual
LyricText grobs?


Not sure I understand.  What if you keep your layout block as is, and 
put for example


\once \override LyricText.self-alignment-X = #LEFT

before the syllable you'd like to change?
That’s what I tried, of course. Yesterday, I had some setup where it 
didn’t seem to work, but upon testing now I see I was mistaken.


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


Re: Allow LyricText/SpanBar overlapping

2015-08-26 Thread Simon Albrecht

Hi Trevor,

thanks, that works cleanly. In the meantime I found that it would 
actually better if syllables were only allowed to overlap on the right. 
It’s uncommon and seems odd/more difficult to read to have the syllable 
stick into span bar _at the left_.

But that’s a more involved task, of course.

Yours, Simon

Am 27.08.2015 um 00:27 schrieb Trevor Daniels:

Simon, you wrote  Monday, August 24, 2015 8:27 PM


following 19th century practice, I am using StaffGroup for choir scores.
When there are longer syllables at the end of a measure, they avoid to
overlap with the span bar, which costs horizontal space. I’d prefer this
to be turned off, but how? I might conduct a lengthy and imprecise
search over the manuals, but maybe someone can help out?

Sorry to be late picking this up.  I think this might do it:

\layout {
   \context {
 \Lyrics \remove Pure_from_neighbor_engraver
 \override LyricText #'whiteout = ##t
   }
}

Trevor




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


Re: a basic question

2015-08-27 Thread Simon Albrecht

Hello Paul,

I do suggest using the solution Marc provided, it’s so much easier. But 
for the sake of completeness:


Am 27.08.2015 um 09:44 schrieb B~M:
Sorry to ask this silly little question. I am writing out SATB 
harmonies for a music exam
and Ive decided to colour the bass in blue, just to make it a little 
more distinct.
Id like everything about the bass line/voice to be blue, to this end I 
use


 \override NoteHead.color = #blue
 \override Stem.color = #blue
 \override Accidental.color = #blue
 \override Rest.color = #blue
 \override TextScript.color = #blue


However Ive missed some stuff. If I extend the time duration of a note 
with a dot, the dot comes out

as black.

\override Dots.color
Also, if I annotate the note with say a tenuto a-- or an accent a-^ 
 that stuff comes out black also.

\override Script.color
I assume I can change the colour of such stuff but I do not know what 
its called.
There must be a \override Something.color = #blue for the annotations 
Ive mentioned and the dot duration

extension ?


The solution posted by Mark will not work on anything which lives at 
Score level, e.g. ledger lines and bar lines.
See attached for two different approaches on this, depending on whether 
you have another voice in the same staff.
By the way, the music functions in this particular state require 
v2.19.24 at least; if you’re on an earlier version, rewrite

"#(define-music-function (color) (color?)"
into:
"#(define-music-function (parser location color) (color?)"
or similarly, depending on the arguments.
If you have further problems or want some background reading in the 
manuals, but can’t find it, don’t hesitate to come back :-)


HTH, Simon
\version "2.19.25"

overrideColor =
#(define-music-function (ctx color) (symbol? color?)
   (make-sequential-music
(map (lambda (dsc)
   (propertyOverride (list ctx (car dsc) 'color) color))
  all-grob-descriptions)))

\score {
  <<
\new Staff {
  % try commenting the first note
  c'4
  \once\hide Staff.BarLine \bar "|" % workaround to issue 3949
  \stopStaff
  \overrideColor Staff #blue
  \startStaff
  c'4.
}
\new Staff <<
  {
c'4
\once\hide Staff.BarLine \bar "|" % workaround to issue 3949
\stopStaff
\overrideColor Voice #blue
\override Staff.LedgerLineSpanner.color = #blue
\startStaff
c'4.
  }
  \\
  {
a4
a4.
  }
>>
  >>
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Make a new staff occupy the same vertical space as a previous staff

2015-08-27 Thread Simon Albrecht

Am 27.08.2015 um 15:50 schrieb Joel Ebel:

On Thu, Aug 27, 2015 at 2:53 AM, David Kastrup  wrote:

Oh wow.  This one is seriously annoying.  If you take out all
\stopStaff, it is apparent that the TabStaff is alive through the whole
piece.  This is also the case when replacing \new Line with \new
StaffGroup.  This is something like the "the first new context in a
group is kept alive" rule.  If you replace

 \new TabStaff ...

with

 << \new DevNull {} \new TabStaff ... >>

the problem goes away even without \stopStaff.  But that's seriously
messed up.

--
David Kastrup

That's abstract, but the result is much better. The one remaining
issue is that if the switch to RhythmicStaff occurs on a line break,
TAB is still printed on the first subsequent line. I can live with it,
but is it possible to prevent that?

Technically, the TAB is a clef.
\omit TabStaff.Clef before the first note in the RhythmicStaff does the 
trick.


Yours, Simon


  Simple example below. TAB is on
line 2, but not line 3.

\version "2.19.25"

\new Line {
   <<
 \new Devnull {}
 \new TabStaff { \relative c { c1 } }
   >>
   \break
   \new RhythmicStaff { 1 \break 1 }
}

\layout {
   \context {
 \name "Line"
 \type "Engraver_group"
 \consists "Axis_group_engraver"
 \accepts TabStaff
 \accepts RhythmicStaff
   }
   \context {
 \Score
 \accepts "Line"
   }
}

___
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: bowing change in a long trill

2015-08-27 Thread Simon Albrecht

Am 27.08.2015 um 16:05 schrieb Robert Schmaus:
I guess you could wrap the tied notes into a polyphonic structure 
(where the additional voice has only hidden notes) and then specify 
the exact location of the upbow, like so:


Instead of eg
c''2. ~ c2.

use

<<
  { c''2. ~ c''2. }
  \new Voice { \hide c''2.\downbow \hide c''2.\upbow }
>>

IIUC, this should be:

{
  c''2.\downbow ~
  <<
{ c''2. }
\new Voice { s4. s\upbow }
  >>
}

Note the use of ‘s’, a spacer rest, which is semantically more correct 
than \hide c''.

It’s possible to nicely wrap this into a music function:
%
\version "2.19.25"

% music function by Simon Albrecht after an idea of David Kastrup
after = #(define-music-function (t e m) (ly:duration? ly:music? ly:music?)
   #{ << #m { \skip $t <> -\tweak extra-spacing-width #empty-interval 
$e } >> #})


\relative {
  c''2.\downbow ~
  %% read: after the duration of a dotted fourth note, change to upbow, 
during the following note

  \after 4. \upbow c
}

%

It’s an invaluable tool also for dynamics.

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


Re: a basic question

2015-08-27 Thread Simon Albrecht

Am 27.08.2015 um 17:11 schrieb Marc Hohl:

Am 27.08.2015 um 16:55 schrieb Marc Hohl:

Am 27.08.2015 um 14:48 schrieb Simon Albrecht:

Hello Paul,


[...]

The solution posted by Mark will not work on anything which lives at
Score level, e.g. ledger lines and bar lines.


Since the OP example shows two different voices sharing one staff,
I assumed that the bar lines should not change color, but why on earth
live ledger lines at score level?


Ok, they don't –  bar lines and ledger lines both live at Staff level.

But both your argumentation and my questions are still valid ;-)
In some way it would be desirable for some cases to have ledger lines at 
Voice level, e.g. in

<< a'' \\ c' >>
But it becomes unwieldy soon; what about
<< a \\ f >> ?
The only sensible way to deal with this would be creating an association 
between a NoteHead and the particular LedgerLine on which it sits; then 
again, a case like

<< h \\ e \\ g >>
(always assuming treble clef) would not allow for that either.

Generally, ledger lines are to be thought of as an extension to 
StaffSymbol – which clearly shows that they need to live in Staff. 
There’s always this unexpected hurdle when trying to tweak 
LedgerLineSpanner that it requires \stopStaff before and \startStaff 
again after the tweak, but that makes perfect sense once you look at it. 
Only perhaps it should be documented better. But that discussion would 
better be on the bug or devel lists.


Yours, Simon

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


Re: bowing change in a long trill

2015-08-27 Thread Simon Albrecht

Hello Robert and Paul,

Am 27.08.2015 um 17:44 schrieb Robert Schmaus:



Note the use of ‘s’, a spacer rest, which is semantically more correct than 
\hide c''.

I used the hidden note to place the bowing sign in the correct height. I'm not 
sure if s\upbow looks good if you overlay that with c ...

Try
<<
   { c  c}
   \new Voice { s\upbow  \hide c\downbow}

You’re right, of course. My mistake, since I forgot to delete the \new 
Voice – actually, it should be within one voice:


{
  c''2.\downbow ~
  <<
{ c''2. }
{ s4. s\upbow }
  >>
}

and then it’s even necessary not to have hidden notes: 
.


Yours, Simon

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


Re: bowing change in a long trill

2015-08-27 Thread Simon Albrecht

Am 27.08.2015 um 20:53 schrieb Robert Schmaus:

Hi Simon,

I never really checked out this structure

<<
   { music }
   { yet more music }
Awesome, I didn't know it worked that way!
Simultaneous music within a voice – that’s also how often a \global 
variable with \tempo, \key, \mark and \bar commands is used for all 
voices in the score. It was quite a revelation to me also :-)

  And I've noticed another
advantage of your approach: although hidden, the notes in the \new Voice
construct still reserve their own space and thus place the bow command
next to the non-hidden note.
Even the bow command of its own would require horizontal space – that’s 
what the { \tweak extra-spacing-width } in my \after function (see my 
earlier post in this thread) is for.

  yours is right on top of it.

You’re very welcome!
Simon

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


Re: bowing change in a long trill

2015-08-28 Thread Simon Albrecht

Am 28.08.2015 um 13:24 schrieb B~M:
Dear Rob thanks so much for your help and all the others that helped 
with my
little questions. Thanks also for pointing out potential copyright 
issues.
On this point, perhaps you can educate me. I've transposed several 
works Hindemith
wrote for Violin to Viola (studies mostly). Is that a breach of 
copyright ?
Further, if I take a piece like the Milhaud I posted and I edit it 
with fingerings and
minor changes etc, is that also a breach ? I guess these are complex 
questions

for lawyers.
As far as I can see, it’s not really so complicated, at least within the 
EU and as long as no more complicated law constructs are involved. There 
is some good overview information on imslp.org.
But with Hindemith and Milhaud you can be almost certain that their 
works are under copyright fairly everywhere, and that also means that 
you may not make arrangements (unless they remain entirely private) 
without permission from the respective copyright owner. At least in the 
EU, this is also fairly independent of what may be printed on the sheet 
music: such constructs as ‘Copyright renewed…’ are valid in the USA, but 
not in the EU.


I don’t give any guarantee on the reliability of this information, but 
I’ve read the respective German law myself (which is equivalent to that 
of any EU member, IIUC) and unless there are some really foul hidden 
loopholes, there’s only these two rules:
– copyright on the actual content is until the 70th year after the 
author’s death is over. E.g. with Milhaud (who died in 1974), his works 
will all enter public domain in the EU on 1st January, 2045. Note that 
if more than one author has been involved (e.g. lyricist), the latest of 
these dates is relevant.
– scholarly editions as well as first editions are under copyright for 
25 years after publication.
– There’s some uncertainty as to whether there is a 40-year term during 
which the _layout_ of the score is protected under copyright. For what I 
know, this is not the case, but there are different opinions (so that’s 
where a lawyer could help :-))


HTH, Simon


In any case I best be careful with this issues.

Paul

On Fri, Aug 28, 2015 at 12:09 AM, Robert Schmaus 
mailto:robert.schm...@web.de>> wrote:


Hi Paul,

I forgot two more remarks:
1) great ponding!
2) you should be careful with sending potentially copyrighted
material in a list. Not sure if this applies here, but ...

Best, Rob

__

Truth does not change according to our ability to stomach it.
-- /Flannery O'Connor/

On 27 Aug 2015, at 09:53, B~M mailto:viola1...@gmail.com>> wrote:


Dear ALL, I have a long trill in a little viola piece by Milhaud
which Ive attached.
The trill continues over two full bars, 27 and 28.
What I would like to do is add in a change go bow, (an up bow)
 but half way through the trill
in 28. Is it somehow possible to do this by specifying the bow
direction with X Y coordinates etc ?

Paul

___
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: LilyPond crashes on \musicglyph #"space"

2015-08-29 Thread Simon Albrecht

Am 29.08.2015 um 14:23 schrieb David Kastrup:

Richard Shann  writes:


I just noticed that LilyPond is crashing on this:

\version "2.18.0"
{
<> ^\markup {\musicglyph #"space"} s1*4/4
}

with

Interpreting music...

Preprocessing graphical objects...terminate called after throwing an
instance of 'std::bad_alloc'

what(): std::bad_alloc

Exited with exit status 1.

Other glyphs so far seem ok.

Can't reproduce on my system.  If it's only the space: are there some
other known glyphs without any ink?  en-space or em-space or something?
No, this is the only one (in Feta). See NR A8; "space" is in the 
‘Dynamic glyphs’ section.

Yours, Simon

I suspect that the absence of any drawing instructions somehow triggers
a bad calculation.




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


Re: how to get notes without tails?

2015-08-30 Thread Simon Albrecht

Am 30.08.2015 um 18:39 schrieb BB:



On 30.08.2015 16:47, Malte Meyn wrote:

Am 30.08.2015 um 16:20 schrieb BB:

I actually do some work with arabic scales (maqamat) and would like
notes without tails. Is there any switch in lilypond?

(As example see http://maqamworld.com/maqamat/bayati.html)



The ‘tails’ you probably mean are called stems. You can remove them:

\omit Stem

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


Thank you for helping!

Indeed I meant "stem". Concerning to dict.cc (almost always correct) 
"tail" is also in use.


Maybe in some very specific (paleographic?) context? In general they’re 
definitely always called Stems. We also have a LilyPond Glossary (found 
on the manuals page), which might be more reliable when it comes to 
specific notational terminology.


Yours, Simon

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


Re: how to get notes without tails?

2015-08-30 Thread Simon Albrecht

Am 30.08.2015 um 20:56 schrieb Blöchl Bernhard:


It could help, if there is a parallel glossary in another 
mothertongue. This is not the case, as there is only an English 
version - AFAIK. Do you really think, a non English speaker will find 
a word in an English glossary one does not know?


I’d recommend going to 
 
and searching the term you want using your browser (CTRL+F in firefox).


Beside all that, language is a malleable like Plasticine, that is true 
especially for English, as everybody must speak English, even if one 
does not know it (just my case). That is the price of the English for 
the "lingua franca" of our days! But obviously there are musical 
sectors that use "tail" instead of "stem" - would you say it is 
absolutely wrong or really incomprehensible?

It’s odd and difficult to understand to not use the standard term.
Realize that measure and bar mean the same in different (english 
speaking) areas of our world.
Agreed. I use these quite interchangeably – which is supported by the LP 
glossary, by the way.


Yours, Simon

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


Re: how to get notes without tails?

2015-08-30 Thread Simon Albrecht

Am 30.08.2015 um 21:32 schrieb Blöchl Bernhard:

Am 30.08.2015 21:11, schrieb Simon Albrecht:

Am 30.08.2015 um 20:56 schrieb Blöchl Bernhard:


It could help, if there is a parallel glossary in another 
mothertongue. This is not the case, as there is only an English 
version - AFAIK. Do you really think, a non English speaker will 
find a word in an English glossary one does not know?


I’d recommend going to
<http://lilypond.org/doc/v2.18/Documentation/music-glossary-big-page>
and searching the term you want using your browser (CTRL+F in
firefox).


Indeed I can find "Notenhals" in this document! Hindsight is easier 
than foresight.




Beside all that, language is a malleable like Plasticine, that is 
true especially for English, as everybody must speak English, even 
if one does not know it (just my case). That is the price of the 
English for the "lingua franca" of our days! But obviously there are 
musical sectors that use "tail" instead of "stem" - would you say it 
is absolutely wrong or really incomprehensible?

It’s odd and difficult to understand to not use the standard term.
Realize that measure and bar mean the same in different (english 
speaking) areas of our world.

Agreed. I use these quite interchangeably – which is supported by the
LP glossary, by the way.


There is not one, but are TWO standard terms!

Please do not overemphasize my mails as any offence.


I didn’t! please don’t worry :-)
Yours, Simon


There are language problems in a global society.



Yours, Simon



Kind regards,
BB





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


Re: how to get notes without tails?

2015-08-30 Thread Simon Albrecht



Am 30.08.2015 um 21:52 schrieb Trevor Daniels:

Blöchl Bernhard wrote Sunday, August 30, 2015 7:56 PM


Well, the glossary is a nice hint. But have you considered that the
glossary is only available in English? So that a not anglophone could
not find an expression she/he does not know! (Just the case for me.)

That deficiency has long been recognised, although the primary purpose of
the glossary was originally to help non-English speakers to understand
the English language docs, before translations became available.
  

It could help, if there is a parallel glossary in another mothertongue.
This is not the case, as there is only an English version - AFAIK. Do
you really think, a non English speaker will find a word in an English
glossary one does not know?

It would be a great help, I think, to add all the non-English terms to the
Glossary Index.  That would be easy to do, but very laborious and
time-consuming.  Just needs someone to do it 

Or someone with the proficiency and time to write a script?

Yours, Simon


Trevor



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


Re: Glossary index [was: how to get notes without tails?]

2015-08-30 Thread Simon Albrecht

Am 30.08.2015 um 22:42 schrieb Trevor Daniels:

Simon Albrecht wrote Sunday, August 30, 2015 8:58 PM

Am 30.08.2015 um 21:52 schrieb Trevor Daniels:

It would be a great help, I think, to add all the non-English terms to the
Glossary Index.  That would be easy to do, but very laborious and
time-consuming.  Just needs someone to do it 

Or someone with the proficiency and time to write a script?

Actually I don't think that would be very difficult.

A typical entry header looks like this:

@node acciaccatura
@section acciaccatura

ES: mordente de una nota,
I: acciaccatura,
F: acciaccatura, appoggiature brève,
D: Zusammenschlag,
NL: samenslag,
DK: ?,
S: ?,
FI: ?.

The script would need to extract the rest of each line beginning
@section, ES:, I: etc.  Remove duplicates, remove ?s, and
for each of the remainder insert a new line containing that extract
prefixed by @cindex.  Repeat for the next @node.


And this should be part of the build process, then. Pythoneers forward…
Regards, Simon

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


Re: stacking whole notes of different size

2015-08-31 Thread Simon Albrecht

Hello Marc,

this is a known issue: see 
.


Yours, Simon

Am 31.08.2015 um 14:15 schrieb Marc Hohl:

Hello list,

I have songs for single voice and wanted to include an optional higher
voice for those singers that are able to each the notes and are capable
of doing a second voice.

Since the doubled part is just at the end of a song, I did not want to
fiddle with a separate voice and wrote chords instead like this:

< e \tweak font-size #-3 g >

Now I have a question about the alignment of the note heads. In the
cases where a visible stem is present, the note heads are aligned to the
stem, which is ok.

When I stack whole notes, the note heads are also right aligned, which 
looks kind of strange, see the attached picture.


I did not find any suitable example in Gould, so I wanted to ask here:
is the graphical output ok, or should the smaller notes be centered over
the main voice? If yes, is there a automatic way to do this, or do I
have to \tweak the note head position manually by some trial-and-error?

Thanks in advance,

Marc


___
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: Glossary index [was: how to get notes without tails?]

2015-08-31 Thread Simon Albrecht

Am 31.08.2015 um 16:13 schrieb BB:
Just to annoy again, some additional remarks concerning entry 
acciaccatura.


I wonder that there is no English entry for acciaccatura?
That’s because in English as well as in German the Italian term is used 
for lack of a proper consistent terminology with similar authority.



Should be "grace note", grace standing for "gracefulness"?
Grace note is the category for all of these, be they long or short, 
slashed or not, slurred or not (before or on the beat…).



The German entry "Zusammenschlag" is a bit strange,

Indeed, I’ve never heard that either.

For what I know, German terminology differentiates between ‚Vorschlag‘ 
(likely corresponding to acciaccatura) and ‚Vorhalt‘ (likely 
corresponding to appoggiatura). But there are no actual counterparts to 
‘grace note’ or ‘slashed grace’.
And in general there are many different traditions and opinions on what 
the differences are and how each version is to be played.


Regards, Simon

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


Re: Glossary index [was: how to get notes without tails?]

2015-08-31 Thread Simon Albrecht

Am 31.08.2015 um 17:40 schrieb BB:
I avoided using "Vorhalt". A "Vorhalt" is not a proper word in this 
context. A "Vorhalt" is in English a "suspension". That means that in 
a shift of harmony from one chord to another one or more notes of the 
first chord are played again (or held, prolonged) against the second 
chord, so I understand this as a suspension, a delay of the change to 
the new chord creating tension that will be resolved with the new 
harmony or note. So, "Vorhalt" has nothing in common with any grace 
note. A suspension must use the same note(s) present in the preceding 
chord. Otherwise it is an appoggiatura.


But indeed some people in Germany use "Vorschlag" and "Vorhalt" faulty 
as synonymously.

You saw that I didn’t do so?
And yes, there are both uses of the term ‚Vorhalt‘.

Yours, Simon


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


Re: stacking whole notes of different size

2015-08-31 Thread Simon Albrecht

Am 31.08.2015 um 18:22 schrieb Marc Hohl:

Am 31.08.2015 um 15:41 schrieb Simon Albrecht:

Hello Marc,

this is a known issue: see
<https://sourceforge.net/p/testlilyissues/issues/3900/>.


Ok, so I managed to shift the upper note heads by using extra-offset:

< g \tweak font-size #-3 \tweak Accidental.font-size #-3 \tweak 
extra-offset #'(-0.25 . 0) b > |
< fis \tweak font-size #-3 \tweak Accidental.font-size #-3 \tweak 
extra-offset #'(-0.25 . 0) h! > |

< e \tweak font-size #-3 \tweak extra-offset #'(-0.25 . 0) cis' > |
< d \tweak font-size #-3 \tweak extra-offset #'(-0.25 . 0) d' >~) 
| 1~ | 1~ | < d \tweak font-size #-3 d' >2


One problem remains: the upper ties are drawn as if the notes weren't 
shifted. How can I access the upper ties for reformatting? Is there a 
way to apply the shift amount to all control points simultaneously?
You could try the \shiftII function from openlilylib – or, if you use 
extra-offset anyway, apply that to the ties also.




(I tried shifting the smaller notes by \tweak X-offset #-0.25 first, 
but that does not seem to have any effect.)

Yes, because NoteColumn interferes.

Yours, Simon

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


Re: Gallery of Interesting Music Notation

2015-08-31 Thread Simon Albrecht

Am 31.08.2015 um 21:33 schrieb Steve Lacy:

I found this fascinating:

http://homes.soic.indiana.edu/donbyrd/InterestingMusicNotation.html

I wonder if anyone here (or elsewhere) has tried to engrave some of 
these, even as musical fragments?


Well, in order to engrave Sorabji (with the slur with 10 turning points) 
one would /only/ need a 13th order Bézier curve… :-)

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


Re: Gallery of Interesting Music Notation

2015-08-31 Thread Simon Albrecht

Am 31.08.2015 um 21:33 schrieb Steve Lacy:

I found this fascinating:

http://homes.soic.indiana.edu/donbyrd/InterestingMusicNotation.html

I wonder if anyone here (or elsewhere) has tried to engrave some of 
these, even as musical fragments?  I'm sure it would be an eye-opening 
process. :)


Perhaps the second Chopin example (op. 15 no. 2, m. 8/9) is the most 
challenging one. I disagree with the analysis given by Mr. Bird, 
although I can’t even quite follow his reasoning why we should play some 
notes (and which?) right-to-left. I would interpret this as a kind of 
arpeggio (an interpretation also displayed in the Klindworth/Scharwenka 
and Scholtz editions – although I’d never go the route of eliminating 
the subtle difference Chopin made in not actually writing a normal 
arpeggio).
An interesting question is the synchronisation with the left hand: 
leaving aside these with arpeggio notation, all of the editions align 
the down-stemmed voice with the bass note on the upbeat; for the 
downbeat this is the case in the Kullak/Parsons, Bargiel and Cortot 
editions, whereas Mikuli and Joseffy align the topmost note with the 
bass. Interestingly, Kullak/Parsons distinctly have the second bass note 
in bar 9 not aligned with the third semiquaver of the highest voice 
either, but somewhat earlier. There it would be really interesting to 
look into the autograph or first editions – maybe I’ll check some 
critical editions (the above is only what could be found on IMSLP, and 
that’s not quite satisfactory, especially with the complex situation 
often seen with Chopin).


Find attached an essay at coding this, along with two ways of 
standardising this notation.
I’m not fully content yet – especially the beams should get a grace-like 
look, but I couldn’t figure out how to do that: one may easily reduce 
the thickness and move it down, but the gap between the beams seems to 
be hard-coded :-(.


Best regards,
Simon
\version "2.19.25"
\language "deutsch"
\paper { #(set-paper-size "a7") indent = 0 }
\header { tagline = ##f }

global =
#(define-music-function (mus) (ly:music?)
   #{
 \relative {
   \partial 8
   \time 2/4
   \key fis \major
   $mus
   %\bar "||"
 }
   #}
   )

\markup \column {
  \line { stripped-down example from }
  \line { Chopin: Nocturne op. 15 no. 2, m. 8/9 }
  \line { standardised notation A }
}
\global
<<
  {
\grace { ais16 cis fis } ais16. h32
\grace { h,16 eis } ais16 gis eis cis
  }
  \\
  {
\mergeDifferentlyDottedOn
\grace { ais8.~ } 8[
\grace { h8~ } 16]
  }
>>

\markup { standardised notation B }
\score {
  \global {
<<
  \set Staff.connectArpeggios = ##t
  {
ais'16.\arpeggio h32
ais16\arpeggio gis eis cis
  }
  \\
  {
8\arpeggio [
16\arpeggio ]
  }
>>
  }
  \layout {
\context {
  \Staff
  \consists "Span_arpeggio_engraver"
}
  }
}

\markup { approach to original notation }
\global <<
  {
ais16*1/6 -\offset positions #'(-0.2 . -0.2) [
\set fontSize = -3 cis fis] \unset fontSize ais16.*3/4 h32*3/4
h,16*1/4[ \tweak font-size -3 eis] ais16*7/8 gis eis cis
  }
  \\
  {
ais=8[
h16*4/5]
  }
>>

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


Advanced note column handling…

2015-09-01 Thread Simon Albrecht

Hello,

in a Mendelssohn score I encountered a problem on which I’m biting my 
teeth off. Have a look at the attachments – that’s easier than making 
many words. As you can imagine, the span stem should connect the two 
middle voices and the top two voices not collide (no matter in which 
direction), but I couldn’t yet figure out how: no combination of 
NoteColumn.force-hshift and NoteColumn.ignore-collision that I tried 
gave the intended result.

‘Is there, is there balm in Gilead?’ :-)

Yours, Simon
\version "2.19.25"

\score {
  \new PianoStaff \with { \consists #Span_stem_engraver }
  <<
\new Staff
<<
  \repeat tremolo 4 {
\once\override NoteColumn.force-hshift = #-1
a'16 bes'16
  }
  \\
  {
\voiceFour \crossStaff {
  % With this override, the span stem is correct,
  % but the first and second voices collide…
  %\once\override NoteColumn.ignore-collision = ##t
  4.
}
  }
>>
\new Staff
<<
  \clef bass
  { \voiceFour cis'4. }
  \\
  { \voiceTwo a,2 }
>>
  >>
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Gallery of Interesting Music Notation

2015-09-01 Thread Simon Albrecht

Am 01.09.2015 um 09:08 schrieb Trevor Daniels:

Simon Albrecht wrote Tuesday, September 01, 2015 1:58 AM


...  especially with the complex situation
often seen with Chopin).
By this I actually meant the situation of textual critique, which with 
autograph(s) and different first editions is usually very difficult in 
Chopin. But of course it’s apparent that Chopin often uses notation 
which challenges the strict logics of LilyPond…


Yours, Simon

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


Re: Advanced note column handling…

2015-09-01 Thread Simon Albrecht

Am 01.09.2015 um 14:15 schrieb Michael Gerdau:

Dear Simon,


in a Mendelssohn score I encountered a problem on which I’m biting my
teeth off. Have a look at the attachments – that’s easier than making
many words. As you can imagine, the span stem should connect the two
middle voices and the top two voices not collide (no matter in which
direction), but I couldn’t yet figure out how: no combination of
NoteColumn.force-hshift and NoteColumn.ignore-collision that I tried
gave the intended result.

At least optically I can trick the collision away...
Thanks, that’s a good workaround. Looks like there’s room for 
improvement in the #Span_stem_engraver…


Best regards, Simon

%%
\version "2.19.25"

\score {
   \new PianoStaff \with { \consists #Span_stem_engraver }
   <<
 \new Staff
 <<
   \repeat tremolo 4 {
 a'16 bes'16
   }
   \\
   {
 \voiceFour \crossStaff {
   % With this override, the span stem is correct,
   % but the first and second voices collide…
   %\override NoteColumn.ignore-collision = ##t
   \once \override NoteColumn.force-hshift = #0.5 \once \override
Stem.length = #12 4.
 }
   }
 >>
 \new Staff
 <<
   \clef bass
   { \voiceFour \once \override NoteColumn.force-hshift = #1 cis'4. }
   \\
   { \voiceTwo a,2 }
 >>
   >>
}
%%




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


Re: Advanced note column handling…

2015-09-01 Thread Simon Albrecht

Am 01.09.2015 um 19:17 schrieb Simon Albrecht:

Am 01.09.2015 um 14:15 schrieb Michael Gerdau:

Dear Simon,


in a Mendelssohn score I encountered a problem on which I’m biting my
teeth off. Have a look at the attachments – that’s easier than making
many words. As you can imagine, the span stem should connect the two
middle voices and the top two voices not collide (no matter in which
direction), but I couldn’t yet figure out how: no combination of
NoteColumn.force-hshift and NoteColumn.ignore-collision that I tried
gave the intended result.

At least optically I can trick the collision away...

Thanks, that’s a good workaround.


Upon a close look it appeared that there was still a little displacement 
between the stems, so I had to adapt the values a little.


All the best, Simon
\version "2.19.25"
#(set-global-staff-size 40)

\score {
  \new PianoStaff \with { \consists #Span_stem_engraver }
  <<
\new Staff
<<
  \repeat tremolo 4 {
a'16 bes'16
  }
  \\
  {
\voiceFour \crossStaff {
  \once\override Stem.length = 12
  4.
}
  }
>>
\new Staff
<<
  \clef bass
  { \voiceFour \tweak NoteColumn.force-hshift 0.995 cis'4. }
  \\
  { \voiceTwo a,2 }
>>
  >>
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Help for \beamExceptions

2015-09-01 Thread Simon Albrecht

Hello Richard,

if you want to use \beamExceptions, it seems like the only way to do this is
%%
\version "2.19.25"

{
  \time 4/4
  \set Timing.beamExceptions = \beamExceptions { 8[] 8[ 8] 8[]  8[] 8[ 
8 8] }

  e'8 f' g' a' b' a' g' f'
}
%%

– that’s a bit cumbersome and IMO it should lead to the same result with 
{ 8 8[ 8] 8  8 8[ 8 8] }.
So currently this is a case where the immediate, Scheme way is more 
straightforward:



\version "2.19.25"

{
  \time 4/4
  \set Timing.beamExceptions = #'((end . ((1/8 . (1 2 1 1 3))
  (1/12 . (1 6 2 1 2)
  e'8 f' g' a' b' a' g' f'
  \tuplet 3/2 4 { e' f' g' f' g' a' g' a' b' a' g' f' }
}


Yours, Simon

Am 01.09.2015 um 20:37 schrieb Richard Shann:

I've been trying to use the music function \beamExceptions which is in
version 2.19.25, I can't find anything much to document it though.
For example, trying this

\version "2.19.25"

MvmntIVoiceI = {
  e'8[ f'8 g'] a'8\noBeam b'8 a'[ g'8 f'] |
  e'8 f' g' a' b' a' g' f'
}

\score {
 \new Staff {\time 4/4 \MvmntIVoiceI }
 \layout {
\set beamExceptions = \beamExceptions { \time 4/4  e' 8[ f' 8
g' ] a' 8\noBeam b' 8 a' [ g' 8 f' ] }
 }
   }

the second bar is not beamed like the first, despite the music argument
to \beamExceptions being a copy of the first bar.

Is the next stop some source file for finding out what can be done, or
am I missing some documentation?

Another topic that came up while I was doing this:
I have used \set beamExceptions here, but I couldn't figure out what is
allowed for setting the context - Voice and Staff worked but \set
Score.beamExceptions was ignored, and I couldn't find out what \set
Timing.beamExceptions was doing - Timing doesn't appear in the hierarchy
of contexts...

Richard
  



___
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: Lyric in popular score

2015-09-01 Thread Simon Albrecht

I’m working on an answer…

Am 01.09.2015 um 22:34 schrieb Marcos Press:

Dear list,

Iḿ trying to add the lyric of a folk song to a score.

How do I tell the lyric in wich measure to start?

All the things I found in google, the manuals and snippets always 
deals lyrics starting at the same moment of the music.


What I need is

\chords { blah blah blah blah }
\music { blah blah blah blah }
\lyric { R2*15 r4. blah blah blah}

Do I have to break the music block into two blocks?

Can anyone point me where to look for an unswer?

Thanks in advance!

Marcos


___
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: Lyric in popular score

2015-09-01 Thread Simon Albrecht

Hello Marcos,

first: welcome to the list!
Second: It almost always helps if you add a compilable, possibly tiny 
example  to your post – thus it 
will be easier a) to understand the problem and b) to give you a solution.
Third general remark: Are you familiar with the Learning Manual? 
 It’s a 
great resource for getting started with LilyPond and covers all the 
basics, also tutoring you on how to use the other manuals – so you 
shouldn’t miss studying that! It’ll be very rewarding.

But now to your question :-)

Am 01.09.2015 um 22:34 schrieb Marcos Press:

Dear list,

Iḿ trying to add the lyric of a folk song to a score.

How do I tell the lyric in wich measure to start?
There are two general ways to enter lyrics: 1) entering them with 
explicit durations and 2) automatically aligning them to a voice through 
\addlyrics or \lyricsto (or \set associatedVoice).


1) Use a skip of the required length to skip the first part of the music.
2) Repeat the skip as many times as there are notes to skip.

Example attached.

You’ll find that with the first method, the syllables are all 
left-aligned to the notes, at least if you use version 2.18.2 or 
earlier. This is a bug fixed only in the more recent development 
versions, so at least for the stable version you’re better off with 
\lyricsto.
In simple setups, \addlyrics may be used as well in place of \new Lyrics 
\lyricsto.



Can anyone point me where to look for an answer?
The Learning Manual has a section on lyrics: 
, but the 
answer to your question is hidden deep in the Notation reference, in 
.


Thanks in advance!

You’re welcome! HTH [Hope that helps].

Simon
\version "2.18.2"

music = \relative {
  c'8 c d c~ c4. r8
  g' e d c~ c4.
}

textExplicit = \lyricmode {
  \skip 1
  And8 now with words. _4.
}

textImplicit = \lyricmode {
  % the number after \repeat unfold is the number of notes skipped
  % the duration of the skip is ignored
  \repeat unfold 4 \skip 1
  And now with words.
}

\score {
  <<
\new Voice = "melody" \music
\new Lyrics \textExplicit
\new Lyrics \lyricsto "melody" \textImplicit
  >>
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lyric in popular score

2015-09-02 Thread Simon Albrecht

Am 02.09.2015 um 18:59 schrieb tisimst:



 1.  Create two music expressions, one for the intro and one for the
vocal part, and insert them in serial fashion in the same Staff
context.
 2.  Put the Lyrics context in parallel with the staff, but assigned
specifically to the vocal part like this:



That’s nice!
Thanks, Simon
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lyric in popular score

2015-09-02 Thread Simon Albrecht

Am 02.09.2015 um 16:07 schrieb David Kastrup:


Well, you can just jump in with the lyrics: the Lyrics context does not
need to start with \lyricsto (though synchronization is a bit queer if
it doesn't, but still easier than counting syllables).
Brilliant, David! It’s good to have you for such valuable thinking 
around the corner and discovering normally unused possibilities :-)


Yours, Simon

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


Re: Help for \beamExceptions

2015-09-02 Thread Simon Albrecht

Am 02.09.2015 um 21:35 schrieb Richard Shann:

On Wed, 2015-09-02 at 20:13 +0200, David Kastrup wrote:

And there is a comment somewhere about using | to separate

something,

I guess bars with the same \time signature (or, indeed different
ones).

No, it's always for exactly one time signature, but at the time it is
called, LilyPond has no idea just how long a bar is and can't count it
off itself.  So you need to separate rule patterns by |.

Ah, in that case I need a way of building up the list of beamExceptions,
so the user can define beaming rules for all the time signature changes
they use in the score. My first attempt was this:
8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><
beamExceptions_first =   \beamExceptions { \time 4/4  e'8 f'8[ a'8 b'8  a'8] 
f'8[ e'8 e'8] }
beamExceptions_second =  \beamExceptions { \time 6/8  e'8 f'8[ b'8  a'8] f'8[ 
e'8] }

\layout {
\set beamExceptions = #(append beamExceptions_first beamExceptions_second)
}
8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><

but using \displayScheme I see that this results in

(make-music
   'ContextSpeccedMusic
   'context-type
   'Bottom
   'element
   (make-music
 'PropertySet
 'value
 (list (list (quote end) (list 1/8 5 3))
   (list (quote end) (list 1/8 4 2)))
 'symbol
 'beamExceptions))

Which I guess means that this is not creating a beaming rule specific to
those time signatures - can I augment the alist returned by
\beamExceptions to make it into a rule specific to the time signature
concerned?
Any value of beamExceptions only applies to one time signature, which is 
the one currently in effect.

  I guess I would know the answer to this if I could find out
what the alist holds initially, but my feeble attempt to elicit this via
\void \displayScheme #beamExceptions
gave me

#>

which is the "music" function rather than the alist - how come these two
things appear to have the same name?

Well, that’s by design :-)
The default values of beamExceptions for each time signature are defined 
in scm/time-signature-settings.scm – also the best resource for examples 
in dealing with the ‘internal’ Scheme data structure of beamExceptions, 
which is hard to grasp :-)


Yours, Simon

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


Re: Help for \beamExceptions

2015-09-02 Thread Simon Albrecht

Am 02.09.2015 um 21:35 schrieb Richard Shann:

I guess I would know the answer to this if I could find out
what the alist holds initially, but my feeble attempt to elicit this via
\void \displayScheme #beamExceptions
gave me

#>


You can display the list of beam exceptions currently in effect by
%%%
\version "2.19.25"

{
  \time 4/4
  \applyContext #(lambda (context)
   (display (ly:context-property context 'beamExceptions)))
  c
}
%%%

See Extending Manual, section 2.6.1.

Yours, Simon

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


Re: \breathe too close to note

2015-09-05 Thread Simon Albrecht



Am 05.09.2015 um 05:17 schrieb MarcM:

The \breathe sign collides with the note. This seems like a bug.
I've read on a post that offset does not have any effect on \breathe any
workaround?

\version "2.19.26"
\language "english"


   \relative c' { f2 g a bf \breathe c d e f \breathe}


   % breathe is too close

   \relative c' { f4 g a bf \breathe c d e f \breathe}


   % breathe is almost invisible

   \relative c' { f8 g a bf \breathe c d e f \breathe}




--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/breathe-too-close-to-note-tp180704.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: Breath mark default size and position

2015-09-05 Thread Simon Albrecht

Am 05.09.2015 um 13:11 schrieb MarcM:

The default Lilypond breath mark is rather anaemic and is placed on the
top
staff line rather than where I normally see it in commercial scores, which
is above the staff (see attached example).

Like Nick i've always seen the breath mark as a comma and higher above the
staff.


There are wonderful facilities to achieve that:
%%%
\version "2.19.25"

{
  \override BreathingSign.outside-staff-priority = 1
  \override BreathingSign.stencil = #ly:text-interface::print
  \override BreathingSign.text = ","
  \override BreathingSign.font-size = 3
  c'' \breathe c''
}
%%%

BreathingSign uses the outside-staff-interface 
, 
so you can easily set outside-staff-priority; and the text stencil is 
explained in 
.


I’m thrilled myself how easy and manageable this is – big thanks to 
those who made it possible :-)


The music from 1900 i am typesetting is using a comma as well.


Personally I must say: I positively adore the Feta BreathingSign used in 
LilyPond for its elegance and would never want to exchange it. But I can 
confirm e.g. from 
 that 
the comma-like appearance is common.

Wikipedia shows it as a comma too: https://en.wikipedia.org/wiki/Breath_mark


I hardly think that a Wikipedia entrance referring to someone at 
University of Virginia is a valuable reference.


Yours, Simon

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


Re: hide and omit behaviour

2015-09-07 Thread Simon Albrecht

Am 07.09.2015 um 11:00 schrieb Noeck:

Hi Andrew,

thanks, but I wonder why do you use a #point-stencil instead of ##f –
which would be equivalent to my \omit version (if I understand things
correctly), wouldn't it?
Sometimes, e.g. with NoteHeads IIRC, it causes problems if you have no 
stencil at all. That’s what a point-stencil is useful for – it’s 
invisible and has no extent, but it provides a reference point.

However in this case I don’t think it would be necessary.

HTH,
Simon

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


shapeII (openlilylib) with v2.19.25

2015-09-07 Thread Simon Albrecht

Hello,

I have a problem with \shapeII (from openlilylib; in the override-like 
form) using v2.19.25. The following snippet:


\version "2.19.25"
\include "notation-snippets/shaping-bezier-curves/shapeII.ily"

{
  \shapeII #'((0 . 2)) #'(Slur)
  c''( b)
}


has been working up to v2.19.23, but with .25 I get

/tmp/frescobaldi-5ZX7nT/tmpQSaLj0/test-shapeII.ly:5:3 <0>: error: wrong 
type for argument 3. Expecting music, found (list (quote Slur))


\shapeII #'((0 . 2)) #'(Slur)

/tmp/frescobaldi-5ZX7nT/tmpQSaLj0/test-shapeII.ly:5:3 <1>: error: error 
in #{ ... #}


\shapeII #'((0 . 2)) #'(Slur)


and the override has no effect.
The problem does not lie with the symbol-list-or-music? predicate in 
itself, as I might have suspected (but of course such a defect would 
have shown up much earlier), and I don’t know where to search for the 
problem.


TIA for any help,
Simon
\version "2.17.26"

\header {
  snippet-title = "Improved \shape"
  snippet-author = "Janek Warchoł, David Nalesnik"
  snippet-source = ""
  snippet-description = \markup {

  }
  % add comma-separated tags to make searching more effective:
  tags = "slurs, ties, bezier curves, shape"
  % is this snippet ready?  See meta/status-values.md
  status = "working, unfinished"
}

% This is a duplication of code introduced for \offset.
% TODO: make that function (in scm/music-functions.scm) define-public
#(define (find-value-to-offset prop self alist)
   "Return the first value of the property @var{prop} in the property
   alist @var{alist} @em{after} having found @var{self}."
(let ((segment (member (cons prop self) alist)))
  (if (not segment)
  (assoc-get prop alist)
  (assoc-get prop (cdr segment)

% Return the dir-most head from note-column.
% TODO: implement in C++ with a Scheme interface.
#(define (get-extremal-head note-column dir)
   (let ((elts (ly:grob-object note-column 'elements))
 (init -inf.0)
 (result #f))
 (for-each
  (lambda (idx)
(let* ((elt (ly:grob-array-ref elts idx)))
  (if (grob::has-interface elt 'note-head-interface)
  (let ((off (ly:grob-property elt 'Y-offset)))
(if (> (* off dir) init)
(begin
 (set! init off)
 (set! result elt)))
  (reverse (iota (ly:grob-array-length elts
 result))

shapeII =
#(define-music-function (parser location all-specs item)
   (list? symbol-list-or-music?)
   (_i "TODO: write description when finished")

   (define (single-point-spec? x)
 (or (number-pair? x)
 (and (not (null? x))
  (or (number? (car x))
  (symbol? (car x))

   (define (shape-curve grob)
 (let* ((orig (ly:grob-original grob))
(siblings (if (ly:spanner? grob)
  (ly:spanner-broken-into orig) '()))
(total-found (length siblings))
(immutable-props (ly:grob-basic-properties grob))
(value (find-value-to-offset 'control-points shape-curve 
immutable-props))
(default-cpts (if (procedure? value)
  (value grob)
  value))
(slur-dir (ly:grob-property grob 'direction)))

   ;; ;; ;
   ;; functions for handling various types of specs: ;

   ;; flips offset values for right points and downward slurs
   (define (symmetrical-offset coords offs side)
 (cons (+ (car coords)(* -1 side (second offs)))
   (+ (cdr coords) (* slur-dir (third offs)

   ;; position a cpt in polar coordinates.
   (define (polar-coords points spec side absolute?)
 (let* ((x-dif (- (car (last points)) (car (first points
(y-dif (- (cdr (last points)) (cdr (first points
(slur-length (sqrt (+ (expt x-dif 2) (expt y-dif 2
(radius (* slur-length (third spec)))
(ref-slope (if absolute? 0 (atan (/ y-dif x-dif
(angl (+ (degrees->radians (second spec))
(* -1 side ref-slope slur-dir)))
(ref-pt (if (= LEFT side)
(first points)
(last points)))
(x-coord (- (car ref-pt) (* side radius (cos angl
(y-coord (+ (cdr ref-pt) (* slur-dir radius (sin angl)
   (cons x-coord y-coord)))

   ;; adjust a middle cpt relative to its default polar-coordinates.
   ;; TODO: merge with the function above?
   (define (rel-polar-coords points spec side)
 (let* ((point1 (if (= LEFT side)
(first default-cpts)
(last default-cpts)))
(point2 (if (= LEFT side)
(second default-cpts)
(third default-cpts)))
(x-dif (- (car

Re: shapeII (openlilylib) with v2.19.25

2015-09-07 Thread Simon Albrecht

Am 07.09.2015 um 21:31 schrieb Noeck:

Hi Simon,

I have no 2.19.25 installed (so perhaps it produces the same error), but
how about
\shapeII #'((0 . 2)) Slur
? This is understood by older Ly versions, too.
Both are exactly equivalent. I only accidentally pasted the #'(Slur) 
version which I had also used in testing – it doesn’t change the problem 
either way. Normally I write Slur, of course.


Yours, Simon

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


Re: shapeII (openlilylib) with v2.19.25

2015-09-07 Thread Simon Albrecht



Am 07.09.2015 um 22:52 schrieb Urs Liska:


Simon,

please create an issue on GitHub with this information.



Should be updated with a version switch.

Done. I included the new file in the issue.

Yours, Simon

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


Re: shapeII (openlilylib) with v2.19.25

2015-09-07 Thread Simon Albrecht

Am 07.09.2015 um 22:48 schrieb David Kastrup:

Simon Albrecht  writes:


Hello,

I have a problem with \shapeII (from openlilylib; in the override-like
form) using v2.19.25. The following snippet:

\version "2.19.25"
\include "notation-snippets/shaping-bezier-curves/shapeII.ily"

{
   \shapeII #'((0 . 2)) #'(Slur)
   c''( b)
}


has been working up to v2.19.23, but with .25 I get

/tmp/frescobaldi-5ZX7nT/tmpQSaLj0/test-shapeII.ly:5:3 <0>: error:
wrong type for argument 3. Expecting music, found (list (quote Slur))

\shapeII #'((0 . 2)) #'(Slur)

/tmp/frescobaldi-5ZX7nT/tmpQSaLj0/test-shapeII.ly:5:3 <1>: error:
error in #{ ... #}

\shapeII #'((0 . 2)) #'(Slur)


and the override has no effect.
The problem does not lie with the symbol-list-or-music? predicate in
itself, as I might have suspected (but of course such a defect would
have shown up much earlier), and I don’t know where to search for the
problem.

\tweak no longer accepts a symbol/symbol-list as its last argument and
needs to get replaced with \propertyTweak when used in that facility.


Thanks, that did it.
Yours, Simon

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


Re: Help with Auto-beaming rules

2015-09-08 Thread Simon Albrecht

Hello Richard,

Am 08.09.2015 um 13:43 schrieb Richard Shann:

The attached bit of 18th century typesetting shows an 8.[ 32 32] beamed
group and a series of  32[ 32 32  32] beamed groups in a 2/4 time
signature. This is quite typical of the period and is IMHO more legible
than if the 1/32 notes were beamed in larger groups.


Of course.


Can this be done by auto-beaming rules in LilyPond?
My attempt follows - I have created two bars beamed manually and
followed with two bars which I hope to auto-beam by feeding the first
two bars to  \beamExceptions.
8>< 8>< 8>< 8>< 8>< 8>< 8>< 8>< 8>< 8>< 8>< 8>< 8>< 8>< 8>< 8>< 8>< 8><

\version "2.19.5"
MvmntIVoiceI = {
  e''8.[ fis''32 g''] e''8.[ fis''32 g'']
  c'32[ d'32 e' f'] c'32[ d'32 e' f'] c'32[ d'32 e' f'] c'32[ d'32 e' 
f']
  c'32 d' e' f' c' d' e' f' c' d' e' f' c' d' e' f'
  e''8.( fis''32 g'') e''8.( fis''32 g'')

}
\layout {
 \overrideTimeSignatureSettings 2/4 1/4 #'(1 1) \beamExceptions { 8.[ 32 
32] 8.[ 32 32] |


OK, the problem is that the NR doesn’t describe the limitations set for 
using \beamExceptions. One exception can always only use one duration, 
not different ones. This is because internally \beamExceptions creates a 
Scheme nested list of the type used in scm/time-signature-settings.scm, 
where each ‘exception rule’ is of the form ((1/32 . (4 4 4 4))). And 
there’s no way of translating { 8.[ 32 32] 8.[ 32 32] } into such a rule.




Be that as it may, I would like to be sure that this beaming cannot be
done with a single \overrideTimeSignatureSettings at the outermost
context, that is, that individual passages will need to be marked to
achieve the desired beaming.


Yes, this will require manual beaming.

Yours, Simon

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


Re: Voice split across staves?

2015-09-08 Thread Simon Albrecht

Hello Joel,

Am 08.09.2015 um 22:47 schrieb Joel C. Salomon:

I’m trying to re-create John Crook’s original score to Peter Pan (yes,
it’s in the public domain) for the Mutopia project, and I’m finding that
my lack of musical education is getting in the way.

I’m trying to set “Pipe with the Ostrich”, as visible at
; my current
effort is at
.

While critiques of my Lilypond style are also welcome,


LilyPond coding style is still very much a matter of personal 
preference. There are some suggestions in 
, 
and some conventions, which partly you seem to know:

– one bar per line
– extra blank lines every n bars
– bar number comments
– { … } and similar should either go on one line or be
{
  …
}
– &c.
One thing can also be said quite definitely: Use \new if a context 
doesn’t exist yet and \context only to reference contexts which already 
exist. (Maybe others will come and contradict decisively… however I 
think this is a quite reasonable convention.)
And there is one inofficial standard: the ‘format’ function of 
python-ly, used in Frescobaldi , which I do 
recommend.
[For Scheme code there is a quite official coding style, which is quite 
(though not completely) well-defined and generally used: 
. Although you don’t 
happen to make notable use of Scheme code.]


Considering your particular file, I wouldn’t like the excess (if I may 
say so) use of whitespace. I don’t go any further than

{
  g8 a b a  b c d c
  b16 a g a  b a b c   d8 16 c  b8 16 a
}
normally. I find that more readable. But, as I said: that’s highly 
personal, and unfortunately we’re nowhere near any consensus which would 
allow everybody to read someone else’s code without getting a headache :-/.



  my specific
question is how best to show what seems to be a voice split across
staves.


Well, LilyPond’s rather strict logics (currently?) prevent such a thing 
like splitting a voice across staves. You’ll need separate voices, and 
\crossStaff – of which you are already aware – provides a facility to 
draw a stem across staves under standard circumstances (no force-hshift, 
same \voiceXXX, …).



The “Cross-staff stems” section in the documentation shows a way to draw
the chords so they cross the gap, but remain connected. One one hand,
this is different from the printed source; on the other hand, this might
be better style. On the gripping hand, I can’t see how to apply the
sample code to music organized as I’ve been doing it.

Could somebody please point me in the right direction?


See attached. I just adapted all of your code to my personal coding 
style, just as a suggestion so you can see what is possible.


Yours, Simon
\version "2.18.2"
\language "english"

global = {
  \key d \major
  \time 2/4
}

upperStaff = \relative {
  d''8. e16  d8 b8 |
  <<
{
  \voiceOne d8. e16  d8 b8 |
}
\new Voice \crossStaff {
  \voiceTwo \autoBeamOff fs='4 fs8 fs |
}
  >>
}

lowerStaff = \relative {
  4 q8 q |
  4 q8 q |
}

\score {
  \new PianoStaff \with { \consists #Span_stem_engraver } <<
\new Staff = "upper" { \clef treble \global \upperStaff }
\new Staff = "lower" { \clef bass \global \lowerStaff }
  >>
  \layout{ }
  \midi { }
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Voice split across staves?

2015-09-08 Thread Simon Albrecht

Am 08.09.2015 um 22:47 schrieb Joel C. Salomon:

I’m trying to re-create John Crook’s original score to Peter Pan (yes,
it’s in the public domain)


Just a sidenote: I tried to find this John Crook or any detail about his 
life on the web and he seems to be famously obscure – there’s no 
information at all! except that he wrote this Peter Pan music, which was 
published in 1905 
. 
Astounding! Do you know anything more?


Yours, Simon

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


Re: Fauré requiem

2015-09-09 Thread Simon Albrecht

Am 09.09.2015 um 12:51 schrieb k...@aspodata.se:

  Hello list,
I'm trying to make Fauré's requiem, 1893 version:

  http://turkos.aspodata.se/git/musik/GabrielFaur%C3%A9/Op48_Requiem/

but I haven't any source for that version, only found the 1900
version. Anyone got a link or something ?


As Andrew already wrote, the 1893 version (which represents Fauré’s 
original instrumentation for smaller ensemble; the 1900 instrumentation 
is not by Fauré) has been unpublished at the time. I know of an edition 
at Oxford University Press, although I can’t confirm how reliable the 
text is.
You might have a look at Carus, they normally try to make Urtext 
editions. Some are very good (in textual matters), some are very dangerous.

Ask BNF for microfiche or scans :-)


The score is as is, but if anyone have tips on how to make it look
better, please advise me.


Can’t do so without PDF :-)
One nitpick: requiem.tex, ll. 207 & 210 have ‘imspl’ in lieu of ‘imslp’

Yours, Simon

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


Re: Hidding Staff Lines at the start of a line

2015-09-09 Thread Simon Albrecht

Hi Zoran,

Am 09.09.2015 um 12:14 schrieb zzk:

Hi ponders,

I was wondering if it is possible to hide staff lines between the very start
of the line and the point where the notation starts. In other words, no
lines over the clef, key signature and time signature. Hopefully the
attached image demonstrates what I mean.


I only ever remember seeing that as a result of wrong code input.
The clef and key signature don’t make any sense without staff lines. So 
why would you want that, if I may ask?


Yours, Simon

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


Re: midi channel

2015-09-09 Thread Simon Albrecht

Hello Ralf,

funnily enough, someone (or is roblemming an alias of yours?) posted 
exactly the same question three quarter hours later. Yours was 
unfortunately delayed somewhere in the mailing engine. See 
 :-)


HTH, Simon

Am 08.09.2015 um 21:39 schrieb r...@jazzcon.de:

Hello!

Is there any way to assign
explicit midi channels to voices (or staffs)?

Like this:

\new Staff \with { \midichannel = 1}

Thanks!

Ralf


___
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: Fauré requiem

2015-09-09 Thread Simon Albrecht

Am 09.09.2015 um 16:55 schrieb k...@aspodata.se:



The score is as is, but if anyone have tips on how to make it look
better, please advise me.

Can’t do so without PDF :-)

Sorry, it's here:

  http://turkos.aspodata.se/choir/osthammar/faur%C3%A9/requiem.pdf


Some remarks:
– In choral music by convention the dynamics, sometimes also 
articulations, phrasing slurs &c. are placed above the staff, at least 
if a lyrics line follows below. This often allows to save vertical space 
and more importantly it brings the lyrics closer to the associated 
staff. So: \dynamicUp
– A similarly standard convention: don’t beam notes outside melismata. 
That means: \autoBeamOff, manual beams with melismata. This convention 
has only been put aside in the 20th century for music with great 
rhythmic complexity, where beaming is necessary for legibility.
– Why not use \RemoveEmptyStaves, at best along with fitting line breaks 
e.g. Agnus Dei, before m.32 and 45?
– You might be interested in 
: 
placing the ambitus after clef and key signature (see also issue 4396). 
It leaves less of an unsightly gap and it makes more sense.


HTH, Simon

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


Mid-piece NullVoice creating?

2015-09-10 Thread Simon Albrecht

Hello,

am I doing anything wrong here?

%
music = {
  1
}

\score {
  \displayMusic {
\new Staff <<
  \new NullVoice \music
  \new Voice \music
>>
\break
\new GrandStaff <<
  \new Staff <<
\new NullVoice \music
\new Voice \music
  >>
  \new Voice \music
>>
  }
}
%%%

The second NullVoice (inside the GrandStaff), unlike the first, is not 
included in the same staff as the Voice, but instead gets a staff of its 
own. Bug?


TIA, Simon
\version "2.19.25"
#(set-global-staff-size 16)
\paper { #(set-paper-size "a7") indent = 0 page-count = 1 }
#(ly:set-option 'point-and-click #f)
\header { tagline = ##f }

music = {
  1
}

\score {
  \displayMusic {
\new Staff <<
  \new NullVoice \music
  \new Voice \music
>>
\break
\new GrandStaff <<
  \new Staff <<
\new NullVoice \music
\new Voice \music
  >>
  \new Voice \music
>>
  }
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Mid-piece NullVoice creating?

2015-09-10 Thread Simon Albrecht

Am 10.09.2015 um 13:30 schrieb David Kastrup:

Here is a clue what is really happening.
Issue 4579, committed rather recently, tries explaining this phenomenon
somewhat more accurately than before and describes a remedy.


Sorry, but did I correctly figure out the remedy you describe?

%
music = {
  1
}

\score {
  {
<<
  \new Staff \with { \override StaffSymbol.color = #red } <<
\new NullVoice \music
\new Voice \music
  >>
>>
\break
\new GrandStaff <<
  \new Staff <<
%\new NullVoice \music
\new Voice \music
  >>
  \new Voice \music
>>
  }
}
%%%

This also has a spurious staff in the second system, but black… ?

Yours, Simon

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


Re: Mid-piece NullVoice creating?

2015-09-10 Thread Simon Albrecht

Am 10.09.2015 um 14:02 schrieb David Kastrup:

Simon Albrecht  writes:


Am 10.09.2015 um 13:30 schrieb David Kastrup:

Here is a clue what is really happening.
Issue 4579, committed rather recently, tries explaining this phenomenon
somewhat more accurately than before and describes a remedy.

Sorry, but did I correctly figure out the remedy you describe?

%
music = {
   1
}

\score {
   {
 <<
   \new Staff \with { \override StaffSymbol.color = #red } <<
 \new NullVoice \music
 \new Voice \music
   >>
 >>
 \break
 \new GrandStaff <<
   \new Staff <<
 %\new NullVoice \music
 \new Voice \music
   >>
   \new Voice \music
 >>
   }
}
%%%

This also has a spurious staff in the second system, but black… ?

Well, \break is defined as an event, and events need a bottom context.
There no longer is one, so it creates its own one.  So you need
something like
<<
<< { \new Staff ... \break } >>
\new GrandStaff ...
or move the \break into the \new Staff somewhere.


That’s it. Thanks a lot for the explanations.

Yours, Simon

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


Re: OT: Beauty of programming languages

2015-09-10 Thread Simon Albrecht

Am 10.09.2015 um 15:00 schrieb Peter Bjuhr:



On 2015-08-26 22:10, Urs Liska wrote:

This thread makes me wonder: what's the average age of LilyPond users
>and
>developers?

Remind me in two weeks and I'll start a poll on Scores of Beauty ...


I send in this reminder not because I'm especially interested in ages, 
but it would be interesting to know more about stuff like editor usage 
and if LilyPond is used for original compositions or for engraving 
existing compositions.


Age: 22
I’m a student of church music, but very uncertain as to where (in music) 
I will end up :-)
I’ve been using LilyPond for roughly four years now, always through 
Frescobaldi.
The larger part of my typesetting work is existing music, though if I do 
arrangements and compositions myself I also typeset them with LilyPond.


Best,
Simon

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


Re: Part of Key signature in bracket

2015-09-10 Thread Simon Albrecht

Hello Andreas,

Am 10.09.2015 um 19:38 schrieb Andreas Stenberg:

Hi!

I'm editing an 18-th century piece with several voices and "movements" 
where the source; an early print, has a printing error for the first 
movement of the piece. In all the Voices for that movement the key is 
given as G-major when it obviously should be D- major as in the rest 
of the movements.


In the Baroque period it was still fairly common to allude to church 
modes in key signature, e.g.
– d ‘minor’ without a flat or { \key d \dorian } (also with other minor 
keys)

– e ‘minor’ without a sharp or { \key e \phrygian }.
From this point of view, I think (without knowing the exact context of 
course) it’s possible that it was not by mistake that the editor wrote { 
\key g \mixolydian }.


But this doesn’t impede the editorial decision to use two sharps in your 
print. (It might lead to confusion with ambiguous notes, though.)


Is there any way to get a bracket on the c- sharp in the key signature 
for D - major?


With LilyPond, all things are possible! It just depends on the amount of 
programming involved… In this case, the actual programming has already 
been done by David Nalesnik (kudos!) for the thread starting here 
<http://lists.gnu.org/archive/html/lilypond-user/2015-08/msg00373.html>: 
providing an alternative print routine for KeySignature (and 
KeyCancellation, which you’re likely not going to need), which allows 
individual handling of the accidentals.

I modified this such that it doesn’t do coloring, but parenthesizing.

Yours, Simon
\version "2.19.23"
% courtesy of David Nalesnik
% http://lists.gnu.org/archive/html/lilypond-user/2015-08/msg00414.html
%
% adapted for parenthesizing by Simon Albrecht

#(define key-signature-parenthesize `(
   ((0 . ,SHARP) . #t) ; C
  ))


#(define key-signature::special-print
   (lambda (grob)
 (let* ((inter (/ (ly:staff-symbol-staff-space grob) 2.0))
(mol empty-stencil)
(c0s (ly:grob-property grob 'c0-position))
(is-cancellation? (grob::has-interface grob 'key-cancellation-interface))
(pos empty-interval)
(overlapping-pos empty-interval)
(padding-pairs (ly:grob-property grob 'padding-pairs))
(fm (ly:grob-default-font grob))
(alist (ly:grob-property grob 'glyph-name-alist))) (display (ly:grob-property grob 'alteration-alist)) (newline)
   (let loop ((s (ly:grob-property grob 'alteration-alist))
  (stil mol)
  (last-glyph-name #f))
 (if (pair? s)
 (let* ((alt (if is-cancellation? 0 (cdar s)))
(glyph-name (ly:assoc-get alt alist)))
   (if (not (string? glyph-name))
   (begin
(ly:warning "No glyph found for alteration: ~a" alt)
(loop (cdr s) stil last-glyph-name))
   (let ((acc (ly:font-get-glyph fm glyph-name)))
 (if (equal? acc empty-stencil)
 (begin 
  (ly:warning "alteration not found")
  (loop (cdr s) stil last-glyph-name))
 (let ((column empty-stencil)
   (pos empty-interval))
   (let inner ((pos-list
(key-signature-interface::alteration-positions
 (car s) c0s grob)))
 (if (pair? pos-list)
 (let* ((p (car pos-list))
(pitch (car s))
(paren? (assoc-get pitch key-signature-parenthesize))
(acc
 (if paren?
 (parenthesize-stencil acc 0.065 0.4 0.4 0.1)
 acc)))
   (set! pos (add-point pos p))
   (set! column
 (ly:stencil-add column
   (ly:stencil-translate-axis acc (* p inter) Y)))
   (inner (cdr pos-list
 (let* ((padding (ly:grob-property grob 'padding 0.0))
(handle (assoc (cons glyph-name last-glyph-name) padding-pairs))
(padding
 (cond
  ((pair? handle) (cdr handle))
  ((and
(string=? glyph-name "accidentals.natural")
(not (interval-empty?
  (int

Minimum possible duration

2015-09-10 Thread Simon Albrecht

Hello,

 states (in 
the last sentence) that ‘the shortest notated duration supported by any 
scorewriter program is the 4096th note’ in Finale. Which, obviously, is 
not the truth.
At making a test file, I realised that in LilyPond there is a limit, but 
it’s only at a (2^31–1)th note; the log said:


scm/lily.scm:1058:21 <1>: Value out of range -2147483648 to 2147483647: 
1099511627776


:-)

Cheers, Simon
\version "2.19.25"
\paper { #(set-paper-size "a5") indent = 0 system-count = 4 }
#(ly:set-option 'point-and-click #f)

\relative {
  c''4096[-"1/4096 notess" c c c] \bar ""
  c8192[-"1/8192 notes" c c c] \bar ""
  c16384[-"1/16384 notes" c c c] \bar ""
  c32768[-"1/32768 notes" c c c] \bar ""
  c65536[-"1/65536 notes" c c c] \bar ""
  c131072[-"1/131072 notes" c c c] \bar ""
  c262144[-"1/262144 notes" c c c] \bar ""
  c524288[-"1/524288 notes" c c c] \bar ""
  c1048576[-"1/1048576 notes" c c c] \bar ""
  c1073741824[-"1/1073741824 notes" c c c]
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Minimum possible duration

2015-09-10 Thread Simon Albrecht

Am 10.09.2015 um 21:22 schrieb David Kastrup:

Simon Albrecht  writes:


Hello,

<https://en.wikipedia.org/wiki/Two_hundred_fifty-sixth_note> states
(in the last sentence) that ‘the shortest notated duration supported
by any scorewriter program is the 4096th note’ in Finale. Which,
obviously, is not the truth.
At making a test file, I realised that in LilyPond there is a limit,
but it’s only at a (2^31–1)th note; the log said:

scm/lily.scm:1058:21 <1>: Value out of range -2147483648 to
2147483647: 1099511627776

I rather doubt that the Midi file will be overly convincing.
Indeed, it’s a mess, and the note reverberates until the software 
crashes or is terminated. But layout works.


~ Simon

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


Re: Text centralized above a TextSpan

2015-09-14 Thread Simon Albrecht

Am 14.09.2015 um 14:34 schrieb BB:


Tried to compile with version 2.19.25

.../tmp/frescobaldi-6V3LoT/tmpI8U_qS/text-spanner-centered-text.ly:152:20 
<0>: In expression (ly:line-interface::line grob (caar exts) ...):


/tmp/frescobaldi-6V3LoT/tmpI8U_qS/text-spanner-centered-text.ly:152:20 
<1>: Unbound variable: ly:line-interface::line




Please reread David’s post: that’s functionality available only in 
v2.19.27, but there is a workaround. Though: why not get Lily 2.19.27?


Yours, Simon




On 14.09.2015 14:22, David Nalesnik wrote:

\version "2.19.27"

%% Adapted from 'justify-line-helper' in scm/define-markup-commands.scm.
#(define (distribute-text-spanner-stencils grob args extent padding)
"Return a stencil which spreads @var{args} along an extent
@var{extent}, with spaces filled by a line."
(let* ((orig-stencils
(map (lambda (a) (grob-interpret-markup grob a)) args))
   (stencils
(map (lambda (stc)
   (if (ly:stencil-empty? stc X)
   (ly:make-stencil (ly:stencil-expr stc)
 '(0 . 0) (ly:stencil-extent stc Y))
   stc))
  orig-stencils))
   (line-contents
(if (= (length stencils) 1)
(list point-stencil (car stencils) point-stencil)
stencils))
   (text-extents
(map (lambda (stc) (ly:stencil-extent stc X))
  line-contents))
   (te1 text-extents)
   ;; How much shift is necessary to align left edge of first
   ;; stencil with extent?  Apply this shift to all stencils.
   (text-extents
(map (lambda (stc)
   (coord-translate
stc
(- (car extent) (caar text-extents
  text-extents))
   ;; how much does the last stencil need to be translated for
   ;; its right edge to touch the end of the spanner?
   (last-shift (- (cdr extent) (cdr (last text-extents
   (word-count (length line-contents))
   ;; Make a list of stencils and their extents, scaling the
   ;; extents across extent. The right edge of the last stencil
   ;; is now aligned with the right edge of the spanner.  The
   ;; first stencil will be moved 0.0, the last stencil the
   ;; amount given by last-shift.
   (stencils-shifted-extents-list
(let loop ((contents line-contents) (exts text-extents)
(idx 0) (result '()))
  (if (null? contents)
  result
  (loop
   (cdr contents) (cdr exts) (1+ idx)
   (append result
 (list
  (cons (car contents)
(coord-translate
 (car exts)
 (* idx
   (/ last-shift (1- word-count)))
   ; Remove non-marker spacers from list of extents.  This is done
   ; so that a single line is drawn to cover the total gap rather
   ; than several. (A single line is needed since successive dashed
   ; lines will not connect properly.) TODO: seems broken!
   (stencils-extents-list-no-spacers
(let loop ((orig stencils-shifted-extents-list) (idx 0) (result 
'()))
  (cond
   ((= idx (length stencils-shifted-extents-list)) result)
   ; Ignore first and last stencils, which--if point stencil--
   ; will be markers.
   ((or (= idx 0)
(= idx (1- (length stencils-shifted-extents-list
(loop (cdr orig) (1+ idx)
  (append result (list (car orig)
   ; Remove spacers.  Better way to identify them than comparing
   ; left and right extents?
   ((= (cadar orig) (cddar orig))
(loop (cdr orig) (1+ idx) result))
   ; Keep any visible stencil.
   (else (loop (cdr orig) (1+ idx)
   (append result (list (car orig
   
   (padding (ly:grob-property grob 'padding 0.0))

   (padded-stencils-extents-list
(let loop ((orig stencils-extents-list-no-spacers) (idx 0) (result 
'()))
  (cond
   ((= idx (length stencils-extents-list-no-spacers)) result)
   ;; don't widen line markers
   ((= (cadar orig) (cddar orig))
(loop (cdr orig) (1+ idx)
  (append result (list (car orig)
   ;; right padding only if object starts line
   ((= idx 0)
(loop (cdr orig) (1+ idx)
  (append
   result
   (list (cons (caar orig)
   (coord-translate (cdar orig) (cons 0 padding)))
   ;; left padding only if object ends a l

Re: Text centralized above a TextSpan

2015-09-14 Thread Simon Albrecht

David,

This is tremendous! Thank you very much. This should definitely make 
it’s way into the official installation once it’s reasonably finished.


Yours, Simon

Am 14.09.2015 um 14:22 schrieb David Nalesnik:



On Sun, Sep 6, 2015 at 12:17 PM, David Nalesnik 
mailto:david.nales...@gmail.com>> wrote:




Hopefully another step forward!


Attached is an improvement.

2.19.27 has been released, and you need this version to get the full 
functionality here.  (There is provision for earlier versions--see 
note far down in the first function--but you'll only get solid lines, 
unless you're up for some heavy enhancement.)


The alignment of texts at the beginning and end is fixed, so you can 
left-align, right-align, translate, whatever, with predictable results.


You can spread texts over more than two lines.  Here, the algorithm is 
pretty simple, and is more of a placeholder.  Unfortunately, text can 
clump when a spanner starts close to the line end or ends close to the 
start. You can tweak the line distribution by adding spacers (""), as 
explained in one of the examples.  What's needed is an algorithm that 
looks for overlaps and shifts texts from first line forward, last line 
back as needed.  I've been pondering this.  Probably it will require 
creating a new property which specifies text count per line, so there 
isn't massive redundant calculation. On the TODO list.  At the moment, 
if I have to write another loop, I will scream :)


Anyway, enjoy!

David



___
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: Rendering cropped SVG

2015-09-14 Thread Simon Albrecht

Am 14.09.2015 um 18:28 schrieb poto...@posteo.de:

short exercises that don't fill a page


Forgot to add:
You can easily choose another paper format
\paper {
  #(set-paper-size "a5" 'landscape)
}
or set the paper width and height directly:
\paper {
  paper-width = 10\cm
  paper-height = 270\mm
}

For further reading and ‘ah! this is where to search the bunch of 
manuals’: 
 
and following sections.


Yours, Simon

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


Re: Rendering cropped SVG

2015-09-14 Thread Simon Albrecht
Please always use ‘Reply all’, including the list. That way others can 
chime in, follow the thread, and answers will be available from the archive.


Am 14.09.2015 um 21:06 schrieb poto...@posteo.de:
I'm aware that I can set the paper size manually. But I want the sheet 
to be cropped exactly where the last staff ends, and I don't want to 
set the paper size for each score individually.


I was looking at this page: 
http://lilypond.org/doc/v2.18/Documentation/usage/lilypond-output-in-other-programs#inserting-lilypond-output-into-other-programs


The command mentioned does exactly what I want for png, as I already 
noted in the first post:

lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts --pngDateiname.ly 


But there's no command for svg on the same manual page.


Another suggestion: try using lilypond-book-preamble.ly (to be found in 
INSTALL_DIR/lilypond/usr/share/lilypond/current/ly/), but with 'svg 
instead of 'eps in the fourth-last line.

And it always helps if you give an example file to work with.

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


Re: Rendering cropped SVG

2015-09-14 Thread Simon Albrecht
Only just did I see this e-mail has been rejected because the svg is too 
large. So – once more with only .ly…


Am 14.09.2015 um 20:35 schrieb Simon Albrecht:

Am 14.09.2015 um 18:28 schrieb poto...@posteo.de:

Hello,

I'd like to render my scores (only short exercises that don't fill a 
page) as .svg so I can include them on a website. For this, the 
images would have to be cropped without any white margins. I've 
searched the web for hours without finding a solution.


I tried lilypond -dbackend=svg test.ly <http://test.ly>, but this 
only renders the first system.


IIRC there is only one system in test.ly. -dbackend=svg should work 
just fine.



I also tried to include this:

\paper {
  indent = 0\mm
  line-width = 120\mm
  oddHeaderMarkup = ""
  evenHeaderMarkup = ""
  oddFooterMarkup = ""
  evenFooterMarkup = ""


These are not for margins, but for headers and footers, as their names 
say. Try the following:

%% zero-margin.ly 
\version "2.19.27"

\paper {
  right-margin = 0
  left-margin = 10
  top-margin = 0
  bottom-margin = 0
}

mus = \repeat unfold 64 \relative { c' d e f }

\score {
  \new StaffGroup \with { shortInstrumentName = "test" }
  <<
\mus
\mus
  >>
}


With that, I get the attached results.
If the left margin is 0 as well, the System_start_delimiter and 
instrument names will be off the page.
The svg seems OK to me, except for the missing embedded font, which we 
are trying to fix at the moment.


By the way: Searching the index of our Notation Reference manual for 
‘svg’ brings you directly to 
<http://lilypond.org/doc/v2.18/Documentation/notation/alternative-output-formats#index-SVG-output>.


HTH, Simon


\version "2.19.27"

\paper {
  right-margin = 0
  left-margin = 10
  top-margin = 0
  bottom-margin = 0
}

mus = \repeat unfold 64 \relative { c' d e f }

\score {
  \new StaffGroup \with { shortInstrumentName = "test" }
  <<
\mus
\mus
  >>
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Rendering cropped SVG

2015-09-15 Thread Simon Albrecht

Am 15.09.2015 um 20:22 schrieb poto...@posteo.de:

Thanks, that works. I set up a build system for Sublime (which has Lilypond 
syntax highlighting with the SubLilyPond package).

{
"shell_cmd": "lilypond -dno-point-and-click '$file_base_name.ly'; pdfcrop 
--margins 1 '$file_base_name.pdf' '$file_base_name.pdf'; pdf2svg '$file_base_name.pdf' 
'$file_base_name.svg'; rm -f '$file_base_name.pdf'; rm -f '$file_base_name.ps'",
"selector": "source.lilypond",
}

This will render and crop a pdf, convert it to svg and delete the pdf. However, 
I don't know why it won't remove the .ps file, or why it is created in the 
first place. Is there a way to prevent Lilypond from creating the .ps file?


Since LilyPond doesn’t have a proper PDF backend, first a .ps file is 
created, which is converted to .pdf afterwards. There is a program 
option to have the intermediate files deleted automatically: 
-ddelete-intermediate-files.


HTH, Simon

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


Re: Rendering cropped SVG

2015-09-15 Thread Simon Albrecht

Am 15.09.2015 um 20:32 schrieb poto...@posteo.de:

Unfortunately that didn't work, it still leaves a .ps file behind.


Huh. Normally it wouldn’t; please try to create a tiny example. Also, 
check the log messages; they should have something like


Converting to `document.pdf'...

Deleting `/tmp/lilypond-s634Nb'...

Success: compilation successfully completed


at the end – the middle of these lines is the deletion of the 
intermediate .ps file.


Yours, Simon




Am 15.09.2015 um 20:25 schrieb Simon Albrecht :

Am 15.09.2015 um 20:22 schrieb poto...@posteo.de:

Thanks, that works. I set up a build system for Sublime (which has Lilypond 
syntax highlighting with the SubLilyPond package).

{
"shell_cmd": "lilypond -dno-point-and-click '$file_base_name.ly'; pdfcrop 
--margins 1 '$file_base_name.pdf' '$file_base_name.pdf'; pdf2svg '$file_base_name.pdf' 
'$file_base_name.svg'; rm -f '$file_base_name.pdf'; rm -f '$file_base_name.ps'",
"selector": "source.lilypond",
}

This will render and crop a pdf, convert it to svg and delete the pdf. However, 
I don't know why it won't remove the .ps file, or why it is created in the 
first place. Is there a way to prevent Lilypond from creating the .ps file?



Since LilyPond doesn’t have a proper PDF backend, first a .ps file is created, 
which is converted to .pdf afterwards. There is a program option to have the 
intermediate files deleted automatically: -ddelete-intermediate-files.

HTH, Simon


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


Re: Rendering cropped SVG

2015-09-15 Thread Simon Albrecht

Am 15.09.2015 um 20:59 schrieb poto...@posteo.de:

My test file ist:

\version "2.18.2"
\pointAndClickOff
\relative {
c' d e f g f e d
c' d e f g f e d
c' d e f g f e d
}
\header { tagline = ##f }
\paper {
line-width=120\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f
}

And I use this command:
lilypond -dno-point-and-click -ddelete-intermediate-files test.ly 



The log says this:
»test.ly « wird verarbeitet
Analysieren...
Interpretation der Musik...
Vorverarbeitung der grafischen Elemente...
Ideale Seitenanzahl wird gefunden...
Musik wird auf eine Seite angepasst...
Systeme erstellen...
Layout nach »test.ps« ausgeben...
Konvertierung nach »./test.pdf«...
Kompilation erfolgreich beendet
Sometimes no .ps file is left behind, but most of the times it is (> 90%).


Oh, I’m sorry. I did my tests with v2.19.27, which uses a totally 
different mechanism here.
Non-deterministic behaviour is interesting. I didn’t see that (with only 
a few tests), but I can confirm the observation with the .ps file and 
get the same log output as you do, if I use v2.18.2. It’s fixed in 
recent development versions, so you might consider upgrading. The 
instability of these is rather small.


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


Re: Ties and repeats

2015-09-16 Thread Simon Albrecht

On 16.09.2015 12:03, Frank Wuest wrote:


I'd like to get something like \repeatTie with parentheses akin to cautionary 
accidentals.
Is there a way to accomplish this?


Have a look at 
.


HTH, Simon

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


Re: superimposing different lengths and ties across triplets

2015-09-16 Thread Simon Albrecht

On 16.09.2015 12:43, Erich Neuwirth wrote:

%% I need a tie between the second note of the first triplet and the first note 
of the second triplet,
%% and I need the notehead of the d (upper note at first position) to be a half 
note.
%% superimposing the half note and the triplet note gives the full head, not 
the hollow head.
%% Can this be accomplished also.

%% And thanls for the great help  am getting here.


%%
\version "2.19.27"

lower = \relative c' {
  \clef bass
  \key g \major
  \time 2/4
   << {\tuplet 3/2 {d,8 b' g'} \tuplet 3/2 {b,8 b g'}}\\
The following line should get a pair of {} to make the different items 
sequential, not simultaneous:

{ \shiftOnn \override NoteColumn.force-hshift = -0.5 2 }
It may work with simultaneous music ( << >> ) in this specific case, but 
you’ll be better off, have more legible code and fare safer using {}.



\shiftOnn \override NoteColumn.force-hshift = -0.5 2  >>
}



\score {
  <<

Whereas the following would not need any braces around \lower.

Yours, Simon

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


Re: Suppressing numbers on tupelos

2015-09-16 Thread Simon Albrecht

On 16.09.2015 14:13, David Kastrup wrote:

Erich Neuwirth  writes:


I am using only triplets in a score, and I would like to suppress all the 3s
next to the beams.
I probably should do somrething like

   \once \override TupletNumber.text = #()

but that does not work.
What will work?

Well, the question has been answered as is already.  But doesn't this
call for \time 6/8 or similar instead?


Likely not. In the 18th century at least, there are subtle differences 
(of which we know too little); a 2/4 time with only triplets and 6/8 
time can not be considered equivalent (e.g. in terms of tempo and 
stress). Besides, one doesn’t need to dot all the crotchets.
One might consider, if that be appropriate and convenient, using { \time 
2/4 \set Timing.measureLength = #(ly:make-moment 6/8) } or vice versa.


Yours, Simon

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


Re: Line numbers in editor window

2015-09-16 Thread Simon Albrecht

On 16.09.2015 18:05, David Kastrup wrote:

Urs Liska  writes:


Am 16.09.2015 um 17:39 schrieb Erich Neuwirth:

When compiling, error messages come with line numbers.
Is there a way of displaying the line numbers in the editor window?

of which editor?


The, debugging would be easier.

Indeed.
But still easier is having the editor configured to make use of
LilyPond's point-and-click feature, so you can click on the error
message (or on the result in the PDF) and have the editor jump to the
right place.

point-and-click is not related to error messages.  All that LilyPond
does with regard to error messages is formatting them in a standard way
so that if you run it from some IDE or at least somewhat compiler-aware
editor the error messages might be useful for navigation.


At any rate, Frescobaldi  allows to click the 
location in the error message and jumps to the code in question.


Yours, Simon

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


Re: Ties and repeats

2015-09-16 Thread Simon Albrecht



On 16.09.2015 12:45, David Kastrup wrote:

Frank Wuest  writes:


Hi everyone,

I'm currently transforming the bass part of a big band arrangement (8
pages, boo!)
into a more usable form. That means using a bunch of repeats with
alternatives, plus
ties across these alternatives.

Now I know that regular ties don't work from the end of an alternative
to the beginning
of the repeat, but I found \laissezVibrer to be good enough for me. It
would probably be useful
to add a pointer to that in the documentation on repeats.


I have a minor problem in one place where I have a tie from the end of
the first alternative
to the beginning of the repeat but no tie before the beginning of the repeat.


I'd like to get something like \repeatTie with parentheses akin to
cautionary accidentals.
Is there a way to accomplish this?

Well, if you include a rather horrific bug workaround, you can do this
with something like







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


Re: Chords and what they mean

2015-09-17 Thread Simon Albrecht

Hello Kaj,

On 17.09.2015 09:27, 70147pers...@telia.com wrote:
First I will declare, that I am not 100 percent sure this is a bug, 
but friends of mine, musicians, say it probably is. Also, as I am not 
an expert, I have tried to learn by searching on among others Wikipedia.


It is about chords, a few of them. It started when I should clean 
write a score from a manuscript. In one measure there were noted two 
chords, C5 and C. Obviously not the same, as they stood just beside of 
each other. A search on Wikipedia also told me, and this was also 
confirmed, the author's intention, that C5 means C(no 3), hence , 
while the chord C means . But LilyPond treats these two the 
same and produces the same notes. This is also clearly said e.g. in 
Appendices A.1 and A.2 of Notation Reference, as well as in the text 
part. However even if possibly a correct procedure, is it a correct 
practise?


Another such discrepancy is about Csus, which Wikipedia (and my 
friends) says is equivalent to Csus4, hence . But LilyPond 
produces , hence what should come from the notation C5 as in the 
previous paragraph.


So, what is the truth?


There are others who are more into the subject, but I may say:
There is no ‘truth’. With chord names, there are so many different 
conventions and fiercely defended convictions that it’s impossible to 
define a single ‘standard’ naming scheme. (Edit: just like the NR says)


Many things in the chords rendering may be overridden in LilyPond. In 
case you’re not aware yet, check out 
 
and perhaps the LSR . If that doesn’t cover your 
wishes, you may come back with a code example, I’d suggest.


HTH, Simon

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


Re: Chords and what they mean

2015-09-17 Thread Simon Albrecht

On 17.09.2015 13:30, lilyp...@andis59.se wrote:

On 2015-09-17 13:14, Brett Duncan wrote:


@Kaj, Lilypond's format for /inputting/ chords is described at
http://www.lilypond.org/doc/v2.18/Documentation/notation/chord-mode/
and I would suggest reading through this carefully to get a clearer 
understanding of the results you are seeing, particularly where 
Lilypond's format differs from the conventions that you are used to.



The link doesn't work.


Remove the terminal / and it works.
Yours, Simon
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Access grob name?

2015-09-17 Thread Simon Albrecht

Hello,

I’ve written a music function which applies some tweaks on dynamics to 
offset them. Unfortunately, it’s not possible to use the offset music 
function on X-offset, because it is a mutable property. Thus I have to 
add a displacement for DynamicText so that it is not aligned to its 
baseline, but to the ‘center’ like normally.
Now, it would help if the music function could find out by itself 
whether to apply this displacement, depending on which grob it is 
applied to. As an example (attached also):

%%
\version "2.19.27"

test =
#(define-music-function (ev) (ly:music?)
   (tweak 'color red ev))

{
  c''-\test \> g'-\test \f
}
%%
How can I modify the function so that only the DynamicText is colored, 
the Hairpin isn’t?


TIA, Simon
\version "2.19.27"

test =
#(define-music-function (ev) (ly:music?)
   (tweak 'color red ev))

{
  c''-\test \> g'-\test \f
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Access grob name?

2015-09-17 Thread Simon Albrecht

On 17.09.2015 14:20, David Kastrup wrote:

Simon Albrecht  writes:


Hello,

I’ve written a music function which applies some tweaks on dynamics to
offset them. Unfortunately, it’s not possible to use the offset music
function on X-offset, because it is a mutable property.

What does that mean?  Any relation to issue 4516 here?


Obviously. I try to work around the technical limitation that you 
described in your last comment there.

Sorry for describing a superficial point of view again:
1. I need to tweak Y-offset of e.g. DynamicText.
2. If I use \tweak, the default calculation is _replaced_ by the new 
value. This makes it unpredictable, because the resulting offset, 
relative to the position without a tweak, is not equal to the value 
which I used in tweaking.
3. Thus I’d like to use \offset, so my offset is _added_ to the value 
returned by the default calculation.


But IIUC, the latter is impossible (? currently?) because the 
calculation is done only after the \offset could be applied. Is that 
anywhere near correct?





Thus I have to add a displacement for DynamicText so that it is not
aligned to its baseline, but to the ‘center’ like normally.  Now, it
would help if the music function could find out by itself whether to
apply this displacement, depending on which grob it is applied to. As
an example (attached also): %% \version "2.19.27"

test =
#(define-music-function (ev) (ly:music?)
(tweak 'color red ev))

{
   c''-\test \> g'-\test \f
}
%%
How can I modify the function so that only the DynamicText is colored,
the Hairpin isn’t?

Uh, (tweak '(DynamicText color) red ev) maybe?  Seems rather
straightforward.


Oh, of course. My example was too simple then. Let’s say: I want to 
color all objects red, only DynamicText should be blue :-) Coined on 
offsets: Both need to be offset, but DynamicText needs an additional 
displacement.


Yours, Simon

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


Re: Access grob name?

2015-09-17 Thread Simon Albrecht

On 17.09.2015 14:51, David Nalesnik wrote:

Hi Simon,

On Thu, Sep 17, 2015 at 7:20 AM, David Kastrup <mailto:d...@gnu.org>> wrote:


    Simon Albrecht mailto:simon.albre...@mail.de>> writes:

> Hello,
>
> I’ve written a music function which applies some tweaks on
dynamics to
> offset them. Unfortunately, it’s not possible to use the offset
music
> function on X-offset, because it is a mutable property.

You can use \offset on DynamicText.X-offset.


Silly me.
Of course; the problem was that I overlooked the \version 2.19.23 in my 
test file, which is the /last/ version in which this does /not/ work. 
Since David K’s fix (thanks a lot!) for issue 4516, it has been working.

Sorry!




If you do need the name, try:

test =
#(define-music-function (ev) (ly:music?)
   (if (eq? (ly:music-property ev 'name) 'AbsoluteDynamicEvent)


And thanks for that, nevertheless.

Find attached what I’ve now got as a result, however intermediary it may 
prove. The example is of course far from any actual use case, but it 
demonstrates the functionality well.


Yours, Simon
\version "2.19.24"

off =
#(define-music-function
  (spec event)
  (pair? ly:music?)
  "
Shift grobs using X- and Y-offset, with outside-staff-priority unset by default.

Provides dedicated input modes for Dynamics in order to handle the tricky 
interaction with DynamicLineSpanner and both settings of outside-staff-priority.
"
  ;; default values
  (define item-x-off 0)
  (define item-y-off #f)
  (define span-y-off 0)
  (define inside-staff? #t)
  (define dynamic? #f)

  (define (spec-type? spec symbol-list)
(and (list? spec)
 (member (car spec) symbol-list)))

  ;; Apply tweak only if cond? is true
  (define (cond-tweak cond? prop val arg)
(if cond? (tweak prop val arg) arg))
  (define (cond-offset cond? prop offs item)
(if cond? (offset prop offs item) item))

  ;; differentiate between spec-types
  (cond
   ;; no further complications: proper pair for input
   ((not (list? spec))
(set! item-x-off (car spec))
(set! item-y-off (cdr spec)))
   ;; Offset DynamicText or Hairpin
   ;; input: three-element list '(spec-type x y)
    1. at the beginning of a DynamicLineSpanner
   ((spec-type? spec '(dynamic-line-spanner dls))
(set! dynamic? #t)
(set! item-x-off (second spec))
(set! span-y-off (third spec)))
    2. when a DynamicLineSpanner is already active
   ((spec-type? spec '(dynamic d))
(set! dynamic? #t)
(set! item-x-off (second spec))
(set! item-y-off (third spec))
;(format #t "item-y-off is ~a" item-y-off)
)
   (else (ly:warning "Cannot read specification for offset - using default 
values.")))

  (cond-tweak inside-staff? 'outside-staff-priority #f
(cond-tweak item-x-off 'X-offset item-x-off
  (cond-offset item-y-off 'Y-offset item-y-off
(cond-tweak
 (and dynamic? inside-staff?)
 '(DynamicLineSpanner outside-staff-priority)
 #f
 (cond-tweak dynamic? '(DynamicLineSpanner Y-offset) span-y-off 
event))\version "2.19.24"
\include "offII.ily"

\relative {
  \hideNotes
  \dynamicUp
  b'2-\off #'(dls 0 -1) \< 2-\off #'(d 0 0) \f\>
  2 2-\off #'(d 0 -.5) \<
  2\f 2-\off #'(dls 2 -2) \f
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Text centralized above a TextSpan

2015-09-20 Thread Simon Albrecht

On 19.09.2015 22:48, David Kastrup wrote:

However, (re-)using engravers for the "picking apart" bit in a context
without its own vertical axis group might be an interesting option.
Want several text spanners?  Use several contexts.


This reminds me: the ‘standard’ use case for this kind of text spanner 
is ri -- tar -- dan -- do or the like, i.e. actually a Tempo Spanner 
. It would make 
sense to have this in a separate context (TempoLine?) at the top of the 
system. However, as I already said in the issue, tempo spanners should 
correspond to MetronomeMarks in syntax, so this would require complete 
abandoning of the current \tempo syntax, wouldn’t it? Alternatively, we 
might retain the current method as is and add a new one with support for 
tempo spanners, entered in a manner alike to lyrics entering:


%
timeTrack = {
  \time 3/4
  Prestissimo2.
  \bar "||"
  \time 2/2
  Larghetto1*4
  ral2 -- len --
  tan -- do
  s1
  \bar "|."
}
music = \relative {
  c'4 e8 g c4
  e,2 fis4 gis
  a2 e
  c e4 c

  a2 a'4 g
  f2 g
  a h
  c1\fermata
}

\score {
  <<
\new TempoLine \timeTrack
\new Staff \music
  >>
}
%

Which looks promising, if you ask me…

Yours, Simon

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


  1   2   3   4   5   6   7   8   9   10   >