Merging notes and shiftOn

2012-05-12 Thread Nick Payne
In the documentation on collision resolution 
(http://lilypond.org/doc/v2.15/Documentation/notation/multiple-voices#collision-resolution), 
it states: The \shiftOn command allows (but does not force) the notes 
in a voice to be shifted. When \shiftOn is applied to a voice, a note or 
chord in that voice is shifted *only* if its stem would otherwise 
collide with a stem from another voice, and only if the colliding stems 
point in the same direction. (the emphasis on *only* is mine).


However, in the example below, where I have to use shiftOff in the 
middle voice (to get the two F notes to merge) and shiftOn in the treble 
voice (to prevent the merged half notes from having their heads filled 
in), the two A half notes in the treble voice *are* being shifted, 
though from my reading of the sentence quoted above, the shift is not 
needed.


\version 2.15.38

treble = \relative c''' {
\shiftOn
a2 a
}

bass = \relative c' {
f2 f
}

middle = \relative c' {
\shiftOff f8[ c'] b c f,[ c'] b c
}

\score {
\new Staff {
\clef treble
\mergeDifferentlyHeadedOn

\context Voice = 1 { \voiceOne \treble }
\context Voice = 2 { \voiceTwo \bass }
\context Voice = 3 { \voiceThree \middle }

}
\layout { }
}
attachment: test.png___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: musicxml2ly

2012-05-12 Thread Martin Tarenskeen



On Sun, 8 Apr 2012, Martin Tarenskeen wrote:

The good news is that in many cases only a little editing of the .ly file is 
required to turn a bad conversion into a good one. For example, all lead 
sheets from Wikifonia that I have tried have the Chords printed below instead 
of above the staff.


I remember this had been fixed in one of the previous lilypond 2.15.x 
versions, but with musicxml2ly from Lilypond 2.15.37 I am still (again?) 
having this problem.


--

MT

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


Re: Merging notes and shiftOn

2012-05-12 Thread Nick Payne

On 12/05/12 16:06, Nick Payne wrote:
In the documentation on collision resolution 
(http://lilypond.org/doc/v2.15/Documentation/notation/multiple-voices#collision-resolution), 
it states: The \shiftOn command allows (but does not force) the notes 
in a voice to be shifted. When \shiftOn is applied to a voice, a note 
or chord in that voice is shifted *only* if its stem would otherwise 
collide with a stem from another voice, and only if the colliding 
stems point in the same direction. (the emphasis on *only* is mine).


However, in the example below, where I have to use shiftOff in the 
middle voice (to get the two F notes to merge) and shiftOn in the 
treble voice (to prevent the merged half notes from having their heads 
filled in), the two A half notes in the treble voice *are* being 
shifted, though from my reading of the sentence quoted above, the 
shift is not needed.


\version 2.15.38

treble = \relative c''' {
\shiftOn
a2 a
}

bass = \relative c' {
f2 f
}

middle = \relative c' {
\shiftOff f8[ c'] b c f,[ c'] b c
}

\score {
\new Staff {
\clef treble
\mergeDifferentlyHeadedOn

\context Voice = 1 { \voiceOne \treble }
\context Voice = 2 { \voiceTwo \bass }
\context Voice = 3 { \voiceThree \middle }

}
\layout { }
}


p.s. I have just found out that if I replace \shiftOn with \shiftOn 
\override NoteColumn #'force-hshift = #0, then the notes in the treble 
voice do not actually get moved, and I still get the correct merging of 
the notes in the other voices. However, it still seems that the 
documentation does not correctly describe how shiftOn actually behaves.


Nick

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


Re: musicxml2ly

2012-05-12 Thread Martin Tarenskeen



On Sat, 12 May 2012, Martin Tarenskeen wrote:




On Sun, 8 Apr 2012, Martin Tarenskeen wrote:

The good news is that in many cases only a little editing of the .ly file 
is required to turn a bad conversion into a good one. For example, all lead 
sheets from Wikifonia that I have tried have the Chords printed below 
instead of above the staff.


I remember this had been fixed in one of the previous lilypond 2.15.x 
versions, but with musicxml2ly from Lilypond 2.15.37 I am still (again?) 
having this problem.


Same with 2.15.38

--

MT


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


Re: Merging notes and shiftOn

2012-05-12 Thread Trevor Daniels

Nick Payne wrote Saturday, May 12, 2012 7:23 AM


On 12/05/12 16:06, Nick Payne wrote:
In the documentation on collision resolution 
(http://lilypond.org/doc/v2.15/Documentation/notation/multiple-voices#collision-resolution), 
it states: The \shiftOn command allows (but does not force) the notes in 
a voice to be shifted. When \shiftOn is applied to a voice, a note or 
chord in that voice is shifted *only* if its stem would otherwise collide 
with a stem from another voice, and only if the colliding stems point in 
the same direction. (the emphasis on *only* is mine).


However, in the example below, where I have to use shiftOff in the middle 
voice (to get the two F notes to merge) and shiftOn in the treble voice 
(to prevent the merged half notes from having their heads filled in), the 
two A half notes in the treble voice *are* being shifted, though from my 
reading of the sentence quoted above, the shift is not needed.


\version 2.15.38

treble = \relative c''' {
\shiftOn
a2 a
}

bass = \relative c' {
f2 f
}

middle = \relative c' {
\shiftOff f8[ c'] b c f,[ c'] b c
}

\score {
\new Staff {
\clef treble
\mergeDifferentlyHeadedOn

\context Voice = 1 { \voiceOne \treble }
\context Voice = 2 { \voiceTwo \bass }
\context Voice = 3 { \voiceThree \middle }

}
\layout { }
}


p.s. I have just found out that if I replace \shiftOn with \shiftOn 
\override NoteColumn #'force-hshift = #0, then the notes in the treble 
voice do not actually get moved, and I still get the correct merging of 
the notes in the other voices. However, it still seems that the 
documentation does not correctly describe how shiftOn actually behaves.


You're right.  In your example the stems don't actually collide
because of the large vertical separation, but their note columns
still clash.  Perhaps we should change collide to align and
colliding to aligning in the text.  Maybe we need to add a
bit about force-hshift not being overridden too, which seems
a good work-around in this situation.

Ideally the code should be amended to test for a vertical
separation sufficiently large to avoid the stems overlapping,
in which case a shift would not be needed, and then the text
as written would be correct.

Trevor


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


Re: Dashed Stem

2012-05-12 Thread Urs Liska

Hi David, Hi Thomas,

thank you very much!
I'm increasingly fascinated by LilyPond - and this mailing list.
And I'll definitely have to learn how to write Scheme functions myself ...

With your suggestions I can really solve the problem at hand, so thanks.
What I especially like about the new solution is that it automatically 
uses the original Stem's thickness (so it's independent from overrides.


Maybe it would be nice to be able to use this more generally (as a 
\stemDashed command). But for this it shouldn't have a fixed number of 
dashes but rather a consistent dash pattern (independent from the Stem's 
length. Although I don't really understand the function, I assume that 
the original Stem's length is already used. So it should be quite simple 
to use this and calculate the dashes from that?
I don't expect to be able to apply such complex operations as curve's 
'dash-definition. But if one would use two variables that are defined in 
the function's file one could then redefine them in the music file.


But as said, for my actual task I can very well use it as it is and just 
decide upon the number of dashes manually.


Best
Urs

Am 12.05.2012 04:57, schrieb David Nalesnik:

Hi Harm,

I suggest the code below. It's very close to your own but it seems to
avoid the problems.


When I tried your code out, the same problems happened for me!  I 
concluded that this is an issue with the viewer in LilyPondTool, and 
sure enough, when I view PDF with external PDF-viewer, the problem 
disappears, and I see all 20 line segments with both your version and 
mine too.


Certain aspects of your rewrite are clearer than mine--thank you!

Best,
David


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


LilyPond wins LoMuS 2012!

2012-05-12 Thread m...@apollinemike.com
Hey LilyPond users,

I have an exciting piece of news to share with you.  LilyPond won LoMuS 2012, 
one of the most prestigious awards in the open source community for musical 
software.

http://concours.afim-asso.org/

All of you should be very proud, as your work with LilyPond helps those who 
develop the program make it a better piece of software.

Tweet the news far and wide!  It would be wonderful if the community of users 
grew as a result of this award.

Cheers,
Mike

Begin forwarded message:

 From: Thierry Coduys thierry.cod...@le-hub.org
 Subject: LoMus 2012
 Date: 12 mai 2012 12:15:03 HAEC
 To: m...@mikesolomon.org
 
 Dear Mike,
 
 The jury wishes to congratulate you on your LilyPond open source software, 
 that won the First Prize at the LoMus 2012 contest.


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


Re: LilyPond wins LoMuS 2012!

2012-05-12 Thread Thomas Morley
2012/5/12 m...@apollinemike.com m...@apollinemike.com:
 Hey LilyPond users,

 I have an exciting piece of news to share with you.  LilyPond won LoMuS
 2012, one of the most prestigious awards in the open source community for
 musical software.

 http://concours.afim-asso.org/

 All of you should be very proud, as your work with LilyPond helps those who
 develop the program make it a better piece of software.

 Tweet the news far and wide!  It would be wonderful if the community of
 users grew as a result of this award.

 Cheers,
 Mike

 Begin forwarded message:

 From: Thierry Coduys thierry.cod...@le-hub.org
 Subject: LoMus 2012
 Date: 12 mai 2012 12:15:03 HAEC
 To: m...@mikesolomon.org

 Dear Mike,

 The jury wishes to congratulate you on your LilyPond open source software,
 that won the First Prize at the LoMus 2012 contest.



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


Wow! Congratulations!

-Harm

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


Re: LilyPond wins LoMuS 2012!

2012-05-12 Thread Janek Warchoł
On Sat, May 12, 2012 at 1:41 PM, m...@apollinemike.com
m...@apollinemike.com wrote:
 Hey LilyPond users,

 I have an exciting piece of news to share with you.  LilyPond won LoMuS
 2012, one of the most prestigious awards in the open source community for
 musical software.

Congratulations!!

Janek

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


Re: Dashed Stem

2012-05-12 Thread David Nalesnik
Hi,

On Sat, May 12, 2012 at 3:05 AM, Urs Liska li...@ursliska.de wrote:

  Hi David, Hi Thomas,

 thank you very much!
 I'm increasingly fascinated by LilyPond - and this mailing list.
 And I'll definitely have to learn how to write Scheme functions myself ...

 With your suggestions I can really solve the problem at hand, so thanks.
 What I especially like about the new solution is that it automatically
 uses the original Stem's thickness (so it's independent from overrides.

 Maybe it would be nice to be able to use this more generally (as a
 \stemDashed command). But for this it shouldn't have a fixed number of
 dashes but rather a consistent dash pattern (independent from the Stem's
 length. Although I don't really understand the function, I assume that the
 original Stem's length is already used. So it should be quite simple to use
 this and calculate the dashes from that?
 I don't expect to be able to apply such complex operations as curve's
 'dash-definition. But if one would use two variables that are defined in
 the function's file one could then redefine them in the music file.


I've come up with a simpler variant which makes use of the 'dashed-line
function.  (I didn't use this initially because I couldn't figure out how
to get the roundedness of the line segments to match the ordinary stem's
and also because I wanted to ensure a full-length dash at top and bottom.)

These functions require two arguments: one for the length of the dash and
one for the length of the spaces in between.  Setting values might require
some trial and error.  Some combinations won't fit the length of the stem
such that a segment appears at its end.

See what you think!

\version 2.15.38

#(define (dashed-stem on off)
  (lambda (grob)
(let* ((stencil (ly:stem::print grob))
   (X-ext (ly:stencil-extent stencil X))
   (Y-ext (ly:stencil-extent stencil Y))
   (width (interval-length X-ext))
   (len (interval-length Y-ext)))

  (ly:output-def-set-variable! (ly:grob-layout grob) 'blot-diameter
0.08)

  (ly:stencil-translate
(ly:make-stencil
  `(dashed-line ,width ,on ,off 0 ,len 0))
(cons 0 (interval-start Y-ext))

dashedStem =
#(define-music-function (parser location on off) (number? number?)
#{
  \once \override Stem #'stencil = #(dashed-stem on off)
#})


\relative c'' {
  \dashedStem #0.5 #0.75
  c
  \dashedStem #0.5 #0.5
  c
  \dashedStem #0.25 #0.5
  c
  \dashedStem #0.25 #0.25
  c
}



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


Re: Dashed Stem

2012-05-12 Thread David Nalesnik
On Sat, May 12, 2012 at 7:32 AM, David Nalesnik david.nales...@gmail.comwrote:

I've come up with a simpler variant which makes use of the 'dashed-line
 function.  (I didn't use this initially because I couldn't figure out how
 to get the roundedness of the line segments to match the ordinary stem's
 and also because I wanted to ensure a full-length dash at top and bottom.)


Hmmm,  Setting 'blot-diameter like I did actually affects regular stems and
the newly-drawn stems not at all...  So I guess the earlier method is the
way to go.  (That is, unless there is a way to change the rounding of the
'dashed-line stencil, or if such things really don't matter!)  Those
functions using 'round-filled-box could be tailored to match the
capabilities of 'dashed-line.

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


Re: Dashed Stem

2012-05-12 Thread David Nalesnik
Hi again,


 Hmmm,  Setting 'blot-diameter like I did actually affects regular stems
 and the newly-drawn stems not at all...


So remove this line if you use the newer function:
 (ly:output-def-set-variable! (ly:grob-layout grob) 'blot-diameter 0.8)

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


Tab stems won't show up when using TabVoice

2012-05-12 Thread Choan Gálvez

Hi there.

I'm working on the transcription of some of my ukulele arrangements, 
which will be published both as Staff only / Staff + TabStaff / TabStaff 
only.


In order to get a useable TabStaff only output, I need to set 
`\tabFullNotation` in order to show rhythms, etc.


And I've just discovered that the stems won't show up when using 
TabVoice -- it doesn't matter if the voices are implicit, explicit or 
just one explicit voice.


% Example - Tab stems won't show up when using TabVoice
\version 2.15.38

myNotes = { g' e' c' g }
myVoiceA = { e'8 d'8 c'4 e' c' }
myVoiceB = { c g c g }
myVoices = {  \myVoiceA \\ \myVoiceB   }
myMusic = {
  \myNotes
  \myVoices
}


\new TabStaff {
  \tabFullNotation
  \myNotes
  % stems are not shown when two implicit voices appear
  \myVoices
  
% stems are not shown either when two explicit voices appear
\new TabVoice {
  \voiceOne
  \myVoiceA
}

\new TabVoice {
  \voiceTwo
  \myVoiceB
}
  
  
% stems are not shown when _one_ explicit voice appear
\new TabVoice {
  \myVoiceA
}
  
  % everything fine again
  \myNotes
}
% End example

This problem exists in 2.14.2 too.

Should we call this a bug?

Best.
--
Choan Gálvez

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


Ukulele string tunings

2012-05-12 Thread Choan Gálvez

Hi.

Current tunings for tenor and baritone ukulele are string reversed. From 
`ly/string-tunings-init.ly`:


%% ukulele tunings
\makeDefaultStringTuning #'ukulele-tuning \stringTuning g' c' e' a'
\makeDefaultStringTuning #'ukulele-d-tuning \stringTuning a' d' fis' b'
\makeDefaultStringTuning #'tenor-ukulele-tuning \stringTuning a' e' c' g
\makeDefaultStringTuning #'baritone-ukulele-tuning \stringTuning e' b g d

Those two last tuning should be g c' e' a' and d g b e' respectively.

In addition, I'd say those two tunings are weirly named -- from the same 
file, all guitar tunings are named `guitar-something`, all banjo tunings 
`banjo-something`.


As I haven't find any report about the wrong definitions, I think it's 
be safe to assume that no one is using them and it would be ok to rename 
them.


I'd suggest rewriting them as:

\makeDefaultStringTuning #'ukulele-linear-tuning \stringTuning g c' e' a'
\makeDefaultStringTuning #'ukulele-baritone-tuning \stringTuning d g b e'

or alternatively, remove them.

What do you think?

Best.
--
Choan Gálvez


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


Re: Ukulele string tunings

2012-05-12 Thread David Kastrup
Choan Gálvez choan.gal...@gmail.com writes:

 Current tunings for tenor and baritone ukulele are string
 reversed. From `ly/string-tunings-init.ly`:

 %% ukulele tunings
 \makeDefaultStringTuning #'ukulele-tuning \stringTuning g' c' e' a'
 \makeDefaultStringTuning #'ukulele-d-tuning \stringTuning a' d' fis' b'
 \makeDefaultStringTuning #'tenor-ukulele-tuning \stringTuning a' e' c' g
 \makeDefaultStringTuning #'baritone-ukulele-tuning \stringTuning e' b g d

 Those two last tuning should be g c' e' a' and d g b e' respectively.

 In addition, I'd say those two tunings are weirly named -- from the
 same file, all guitar tunings are named `guitar-something`, all banjo
 tunings `banjo-something`.

But those are not tenor or baritone tunings of a ukulele, but rather
tunings of the tenor or baritone ukulele.  Namely different instruments.
So there is some consistency after all:
instrument-tuningvariant-tuning
Not sure whether this reason is good enough.

 As I haven't find any report about the wrong definitions, I think it's
 be safe to assume that no one is using them and it would be ok to
 rename them.

Indeed this would seem to indicate that a convert-ly rule would not need
to accompany such a change.

 I'd suggest rewriting them as:

 \makeDefaultStringTuning #'ukulele-linear-tuning \stringTuning g c' e' a'
 \makeDefaultStringTuning #'ukulele-baritone-tuning \stringTuning d g b e'

 or alternatively, remove them.

 What do you think?

Not sure about the renaming.  Of course, strings need to get reversed.
It would appear that this had been wrong in any version of the file.  I
seem to remember, however, that LilyPond is not overly skilled dealing
with non-increasing string pitches, so the standard ukulele would likely
not be fabulously supported either.

-- 
David Kastrup


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


Re: LilyPond wins LoMuS 2012!

2012-05-12 Thread Francisco Vila
2012/5/12 m...@apollinemike.com m...@apollinemike.com:
 Hey LilyPond users,

 I have an exciting piece of news to share with you.  LilyPond won LoMuS
 2012, one of the most prestigious awards in the open source community for
 musical software.

 http://concours.afim-asso.org/

 All of you should be very proud, as your work with LilyPond helps those who
 develop the program make it a better piece of software.

 Tweet the news far and wide!  It would be wonderful if the community of
 users grew as a result of this award.


Bravo! Is there any linkable notice in the web?

-- 
Francisco Vila. Badajoz (Spain)
www.paconet.org , www.csmbadajoz.com

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


Re: LilyPond wins LoMuS 2012!

2012-05-12 Thread David Nalesnik
On Sat, May 12, 2012 at 6:41 AM, m...@apollinemike.com 
m...@apollinemike.com wrote:

 Hey LilyPond users,

 I have an exciting piece of news to share with you.  LilyPond won LoMuS
 2012, one of the most prestigious awards in the open source community for
 musical software.


Congratulations!!  What an honor!

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


Re: Ukulele string tunings

2012-05-12 Thread Choan Gálvez

On 5/12/12 16:08 , David Kastrup wrote:

Choan Gálvezchoan.gal...@gmail.com  writes:


Current tunings for tenor and baritone ukulele are string
reversed. From `ly/string-tunings-init.ly`:

%% ukulele tunings
\makeDefaultStringTuning #'ukulele-tuning \stringTuningg' c' e' a'
\makeDefaultStringTuning #'ukulele-d-tuning \stringTuninga' d' fis' b'
\makeDefaultStringTuning #'tenor-ukulele-tuning \stringTuninga' e' c' g
\makeDefaultStringTuning #'baritone-ukulele-tuning \stringTuninge' b g d

Those two last tuning should beg c' e' a'  andd g b e'  respectively.

In addition, I'd say those two tunings are weirly named -- from the
same file, all guitar tunings are named `guitar-something`, all banjo
tunings `banjo-something`.


But those are not tenor or baritone tunings of a ukulele, but rather
tunings of the tenor or baritone ukulele.  Namely different instruments.


Yes. And no. The most common tuning for ukuleles --soprano, concert and 
tenor-- is g' c' e' a' (C reentrant tuning).


The one which is currently defined as `tenor-ukulele-tuning` is used in 
soprano, concert and baritone too: g c' e' a' (C linear tuning).


And the most used tuning for tenor ukuleles is g' c' e' a' (currently 
ukulele-tuning, that's fine).


The `baritone-ukulele-tuning` is used --as far as I know-- only in 
baritone sized instruments, as the pitches are too low to sound nice in 
small instruments. But... there is an A linear tuning for baritone too.


I'd use the following naming strategy:

* Start with ukulele-
* Use pitch- when the tuning is other than the common C tuning (C6)
* Use linear- when the tuning is linear instead of the more common 
reentrant tuning

* Finish with tuning.

So, we'd have:

ukulele-tuning g' c' e' a'
ukulele-linear-tuning g c' e' a' (currently tenor-ukulele-tuning)
ukulele-d-tuning a' d' fis' b'
ukulele-g-linear-tuning d g b e' (currently baritone-ukulele-tuning)

Those are the most used tunings. The not-so-common tunings can be left 
out, just like they are now.


FYI, I use too:

f' bes d' g' (that would be ukulele-bes-tuning)
d' g b e' (that would be ukulele-g-tuning)
e a cis' fis' (that would be ukulele-a-linear-tuning)




So there is some consistency after all:
instrument-tuningvariant-tuning
Not sure whether this reason is good enough.


As I haven't find any report about the wrong definitions, I think it's
be safe to assume that no one is using them and it would be ok to
rename them.


Indeed this would seem to indicate that a convert-ly rule would not need
to accompany such a change.


I'd suggest rewriting them as:

\makeDefaultStringTuning #'ukulele-linear-tuning \stringTuningg c' e' a'
\makeDefaultStringTuning #'ukulele-baritone-tuning \stringTuningd g b e'

or alternatively, remove them.

What do you think?


Not sure about the renaming.  Of course, strings need to get reversed.


Should I open an issue about the reversing?


It would appear that this had been wrong in any version of the file.  I
seem to remember, however, that LilyPond is not overly skilled dealing
with non-increasing string pitches, so the standard ukulele would likely
not be fabulously supported either.


It is not. But that's something I can deal (and do deal) with... and a 
starting point for maybe a hundred posts more ;)


Best.
--
Choan Gálvez

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


Re: Ukulele string tunings

2012-05-12 Thread Phil Holmes
- Original Message - 
From: Choan Gálvez choan.gal...@gmail.com

To: lilypond-user@gnu.org
Sent: Saturday, May 12, 2012 3:30 PM
Subject: Re: Ukulele string tunings


On 5/12/12 16:08 , David Kastrup wrote:


 Not sure about the renaming.  Of course, strings need to get reversed.



Should I open an issue about the reversing?


No - please follow http://lilypond.org/bug-reports.html



--
Phil Holmes 



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


Re: Ukulele string tunings

2012-05-12 Thread David Kastrup
Choan Gálvez choan.gal...@gmail.com writes:

 On 5/12/12 16:08 , David Kastrup wrote:
 Choan Gálvezchoan.gal...@gmail.com  writes:

 Current tunings for tenor and baritone ukulele are string
 reversed. From `ly/string-tunings-init.ly`:

 %% ukulele tunings
 \makeDefaultStringTuning #'ukulele-tuning \stringTuningg' c' e' a'
 \makeDefaultStringTuning #'ukulele-d-tuning \stringTuninga' d' fis' b'
 \makeDefaultStringTuning #'tenor-ukulele-tuning \stringTuninga' e' c' g
 \makeDefaultStringTuning #'baritone-ukulele-tuning \stringTuninge' b g d

 Those two last tuning should beg c' e' a'  andd g b e'  respectively.

 In addition, I'd say those two tunings are weirly named -- from the
 same file, all guitar tunings are named `guitar-something`, all banjo
 tunings `banjo-something`.

 But those are not tenor or baritone tunings of a ukulele, but rather
 tunings of the tenor or baritone ukulele.  Namely different instruments.

 Yes. And no. The most common tuning for ukuleles --soprano, concert
 and tenor-- is g' c' e' a' (C reentrant tuning).

 The one which is currently defined as `tenor-ukulele-tuning` is used
 in soprano, concert and baritone too: g c' e' a' (C linear tuning).

 And the most used tuning for tenor ukuleles is g' c' e' a'
 (currently ukulele-tuning, that's fine).

 The `baritone-ukulele-tuning` is used --as far as I know-- only in
 baritone sized instruments, as the pitches are too low to sound nice
 in small instruments. But... there is an A linear tuning for
 baritone too.

 I'd use the following naming strategy:

 * Start with ukulele-
 * Use pitch- when the tuning is other than the common C tuning (C6)
 * Use linear- when the tuning is linear instead of the more common
 reentrant tuning
 * Finish with tuning.

I find linear weird.  But it is not relevant what _I_ find weird if
that is what Ukulele players associate with it.

Programmers of LilyPond rarely know all the instruments that they are
writing support for.  If you have a development version of LilyPond
checked out, I would suggest preparing a patch/issue using git-cl.
Otherwise, submitting a careful proposal to the bug list should get your
issue added to the bug database, but it will depend on someone picking
it up to get a fix created.  So proposing a patch yourself will speed up
the process and make sure that the code corresponds best with what you
consider useful for your instrument.

-- 
David Kastrup


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


Re: Regarding horizontal shifts.

2012-05-12 Thread Janek Warchoł
Hi Hwaen,

On Fri, May 11, 2012 at 7:01 PM, Hwaen Ch'uqi hwaench...@gmail.com wrote:
 Greetings All,
          In this snippet, the second arpeggio overlaps with the preceding
 cross-staff notation. How may I best solve this? Ideally, I should
 like to shift the second half of the measure to the right. Has the
 solution something to do with padding? My efforts thus far have not
 yielded anything fruitful.

Overriding arpeggio's X-extent (i.e. telling LilyPond that it should
be wider) should do the trick, but unfortunately doesn't.  I think
this is a bug; LilyPond doesn't recognize that the last note/chord
before the arpeggio is in the upper staff.  A workaround is to insert
something into the bottom voice of the bottom staff and hide it (even
when it's hidden, Lily will consider it when calculating spacing).
I hope this explanation is clear.
Here's an example of such workaround:

\score{
 \new PianoStaff
   \set PianoStaff.connectArpeggios = ##t
   \new Staff = up{
 \key c \minor \time 2/4 \clef treble \relative{
   
 {
   c4\arpeggio d\arpeggio
 }
 \\
 {
   r16 g, es \change Staff = down \voiceOne g, c \change Staff =
up \voiceTwo g' es r c g f \change Staff = down \voiceOne g, c d
\change Staff = up \voiceTwo c' g f
 }
   
 }
   }
   \new Staff = down{
 \key c \minor \time 2/4 \clef bass \relative{
   
 {
   s2
 }
 \\
 {
   c,, c'4\arpeggio d d'\arpeggio
 }
 {
   s8. \hideNotes r16 \unHideNotes
 }
   
 }
   }
 
}

hope this helps,
Janek

PS you should be using \voiceOne instead of \stemUp.  The latter
doesn't result in proper placement of articulations and other things.

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


Overrides galore for contemporary-minded folk

2012-05-12 Thread m...@apollinemike.com
Hey all,

Some more new music coming your way!  And, like the previous works I sent to 
the list, this one has many overrides.  As always, you are all welcome to 
e-mail me about whatever hacks you find interesting and I'll pass along the 
code.

http://www.ensemble101.fr/scores/j-sho.pdf
http://www.youtube.com/watch?v=L8wcNM1KlEc
http://soundcloud.com/ensemble101/j-sho

All free, all the time!

Cheers,
MS


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


Re: Overrides galore for contemporary-minded folk

2012-05-12 Thread James
Mike,

On 12 May 2012 17:42, m...@apollinemike.com m...@apollinemike.com wrote:
 Hey all,

 Some more new music coming your way!  And, like the previous works I sent to
 the list, this one has many overrides.  As always, you are all welcome to
 e-mail me about whatever hacks you find interesting and I'll pass along the
 code.

 http://www.ensemble101.fr/scores/j-sho.pdf

Actually I am slightly disappointed, where's the fauna indicators?

I was hoping for chickens or ducks this time - I like ducks (actually
Eider ducks make a wonderful sound - especially so if you are British
and of a certain age[1]).

James

[1] http://en.wikipedia.org/wiki/Frankie_Howerd

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


Re: Overrides galore for contemporary-minded folk

2012-05-12 Thread m...@apollinemike.com

On 12 mai 2012, at 19:10, James wrote:

 Mike,
 
 On 12 May 2012 17:42, m...@apollinemike.com m...@apollinemike.com wrote:
 Hey all,
 
 Some more new music coming your way!  And, like the previous works I sent to
 the list, this one has many overrides.  As always, you are all welcome to
 e-mail me about whatever hacks you find interesting and I'll pass along the
 code.
 
 http://www.ensemble101.fr/scores/j-sho.pdf
 
 Actually I am slightly disappointed, where's the fauna indicators?
 
 I was hoping for chickens or ducks this time - I like ducks (actually
 Eider ducks make a wonderful sound - especially so if you are British
 and of a certain age[1]).
 
 James
 

I opted for flora this time to change things up a bit :)

Cheers,
MS



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


Re: Dashed Stem

2012-05-12 Thread David Nalesnik
OK!  This should do it.

Those functions using 'round-filled-box could be tailored to match the
 capabilities of 'dashed-line.


The rewrite combines both of the approaches above: it uses
'round-filled-box for the stencil, and allows you to specify the length of
the dashes and the spaces in between the dashes.  The trade-off is that you
may need to play around with the values to get the stem to end with a dash,
or to end with a dash which isn't cut off too much.

I incorporated the alterations that Harm made because I think they make the
code clearer.

I imagine the function build-pos-list could be done more elegantly, but at
least it works.  Any suggestions for doing this more artfully are welcome!

Thanks,
David

\version 2.15.38

%#(set-global-staff-size 30)

#(define (make-round-filled-box x1 x2 y1 y2 blot-diameter)
  (ly:make-stencil (list 'round-filled-box (- x1) x2 (- y1) y2
blot-diameter)
   (cons x1 x2)
   (cons y1 y2)))

#(define (build-pos-list len on off)
  (let ((lst '(0)))

(define (helper)
  (let ((bottom (+ (car lst) on)))
(if ( bottom len)
(begin
  (set! lst (cons bottom lst))
  (let ((top (+ (car lst) off)))
(if ( top len)
(begin
  (set! lst (cons top lst))
  (helper))
(set! lst (cons len lst)
  (set! lst (cons len lst)
   (helper)
   (reverse lst)))

#(define (dashed-stem on off)
  (lambda (grob)
(let* ((blot (ly:output-def-lookup (ly:grob-layout grob)
'blot-diameter))
   (stencil (ly:stem::print grob))
   (X-ext (ly:stencil-extent stencil X))
   (thickness (interval-length X-ext))
   (Y-ext (ly:stencil-extent stencil Y))
   (len (interval-length Y-ext))
   (new-stencil empty-stencil)
   (factors (build-pos-list len on off)))

(define (helper args)
  (if (= 2 (length args))
  (begin
(set! new-stencil
  (ly:stencil-add
new-stencil
(ly:stencil-translate-axis
  (make-round-filled-box (/ thickness -2) (/ thickness 2)
 (car args) (cadr args)
 blot)
  (interval-start Y-ext)
  Y)))
 (helper (cddr args)))
   new-stencil))

(if (or (zero? on) (zero? off))
stencil
(helper factors)

dashedStems =
#(define-music-function (parser location on off) (number? number?)
#{
  \override Stem #'stencil = #(dashed-stem on off)
#})


\relative c'' {
  \dashedStems #0.5 #0.4
  c d e f,,
  a'8 g' f' g,
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Dashed Stem

2012-05-12 Thread David Kastrup
David Nalesnik david.nales...@gmail.com writes:

 OK!  This should do it.

 
 Those functions using 'round-filled-box could be tailored to match
 the capabilities of 'dashed-line.
 
 

 The rewrite combines both of the approaches above: it uses
 'round-filled-box for the stencil, and allows you to specify the
 length of the dashes and the spaces in between the dashes.  The
 trade-off is that you may need to play around with the values to get
 the stem to end with a dash, or to end with a dash which isn't cut off
 too much.

 I incorporated the alterations that Harm made because I think they
 make the code clearer.

 I imagine the function build-pos-list could be done more elegantly,
 but at least it works.  Any suggestions for doing this more artfully
 are welcome!

I don't really understand the function, but maybe something like

(define (build-pos-list len on off)
  (let helper ((lst '()) (next 0) (on on) (off off))
(if ( next len)
(helper (cons next lst) (+ next on) off on)
(reverse! lst (list len)

will do.  No idea whether this should have an even number of elements
always or not.

-- 
David Kastrup


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


Re: Regarding horizontal shifts.

2012-05-12 Thread Hwaen Ch'uqi
On 5/12/12, Janek Warchoł janek.lilyp...@gmail.com wrote:
 Hi Hwaen,

 On Fri, May 11, 2012 at 7:01 PM, Hwaen Ch'uqi hwaench...@gmail.com wrote:
 Greetings All,
  In this snippet, the second arpeggio overlaps with the preceding
 cross-staff notation. How may I best solve this? Ideally, I should
 like to shift the second half of the measure to the right. Has the
 solution something to do with padding? My efforts thus far have not
 yielded anything fruitful.

 Overriding arpeggio's X-extent (i.e. telling LilyPond that it should
 be wider) should do the trick, but unfortunately doesn't.  I think
 this is a bug; LilyPond doesn't recognize that the last note/chord
 before the arpeggio is in the upper staff.  A workaround is to insert
 something into the bottom voice of the bottom staff and hide it (even
 when it's hidden, Lily will consider it when calculating spacing).
 I hope this explanation is clear.
 Here's an example of such workaround:

 \score{
  \new PianoStaff
\set PianoStaff.connectArpeggios = ##t
\new Staff = up{
  \key c \minor \time 2/4 \clef treble \relative{

  {
c4\arpeggio d\arpeggio
  }
  \\
  {
r16 g, es \change Staff = down \voiceOne g, c \change Staff =
 up \voiceTwo g' es r c g f \change Staff = down \voiceOne g, c d
 \change Staff = up \voiceTwo c' g f
  }

  }
}
\new Staff = down{
  \key c \minor \time 2/4 \clef bass \relative{

  {
s2
  }
  \\
  {
c,, c'4\arpeggio d d'\arpeggio
  }
  {
s8. \hideNotes r16 \unHideNotes
  }

  }
}
  
 }

 hope this helps,
 Janek

 PS you should be using \voiceOne instead of \stemUp.  The latter
 doesn't result in proper placement of articulations and other things.


Yes, this works beautifully! And thank you for the general tip.
Hwaen Ch'uqi

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


Re: Dashed Stem

2012-05-12 Thread David Nalesnik
On Sat, May 12, 2012 at 1:39 PM, David Kastrup d...@gnu.org wrote:


 I don't really understand the function, but maybe something like

 (define (build-pos-list len on off)
   (let helper ((lst '()) (next 0) (on on) (off off))
(if ( next len)
(helper (cons next lst) (+ next on) off on)
(reverse! lst (list len)

 will do.  No idea whether this should have an even number of elements
 always or not.


Thank you, David.  This works like a charm!

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


Re: Ukulele string tunings

2012-05-12 Thread Choan Gálvez

Hi.

On 5/12/12 16:51 , David Kastrup wrote:

Choan Gálvezchoan.gal...@gmail.com  writes:


On 5/12/12 16:08 , David Kastrup wrote:

Choan Gálvezchoan.gal...@gmail.com   writes:


In addition, I'd say those two tunings are weirly named -- from the
same file, all guitar tunings are named `guitar-something`, all banjo
tunings `banjo-something`.


But those are not tenor or baritone tunings of a ukulele, but rather
tunings of the tenor or baritone ukulele.  Namely different instruments.


Yes. And no. The most common tuning for ukuleles --soprano, concert
and tenor-- isg' c' e' a'  (C reentrant tuning).

The one which is currently defined as `tenor-ukulele-tuning` is used
in soprano, concert and baritone too:g c' e' a'  (C linear tuning).

And the most used tuning for tenor ukuleles isg' c' e' a'
(currently ukulele-tuning, that's fine).

The `baritone-ukulele-tuning` is used --as far as I know-- only in
baritone sized instruments, as the pitches are too low to sound nice
in small instruments. But... there is an A linear tuning for
baritone too.

I'd use the following naming strategy:

* Start with ukulele-
* Use pitch- when the tuning is other than the common C tuning (C6)
* Use linear- when the tuning is linear instead of the more common
reentrant tuning
* Finish with tuning.


I find linear weird.  But it is not relevant what _I_ find weird if
that is what Ukulele players associate with it.


Low G tuning is more common among players than C linear tuning. For 
other pitches, I'd say the common term is D with low fourth. And 
Baritone tuning is more common than G linear tuning.


But, there's no consensus --nor it is needed. Unfortunately, it's 
impossible to extract a naming estrategy from the most common names, and 
that's why I made my proposal.


But, I'd rather left the renaming out than abusing other users with my 
(not so) highly opinionated terms -- I'll keep them for my include files.




Programmers of LilyPond rarely know all the instruments that they are
writing support for.  If you have a development version of LilyPond
checked out, I would suggest preparing a patch/issue using git-cl.


Done. Just the reversing of the chords.



Otherwise, submitting a careful proposal to the bug list should get your
issue added to the bug database, but it will depend on someone picking
it up to get a fix created.  So proposing a patch yourself will speed up
the process and make sure that the code corresponds best with what you
consider useful for your instrument.


:)

Best.
--
Choan Gálvez
http://choangalvez.nom.es/

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


Re: Ukulele string tunings

2012-05-12 Thread David Kastrup
Choan Gálvez choan.gal...@gmail.com writes:

 On 5/12/12 16:51 , David Kastrup wrote:
 Choan Gálvezchoan.gal...@gmail.com  writes:

 On 5/12/12 16:08 , David Kastrup wrote:
 Choan Gálvezchoan.gal...@gmail.com   writes:

 In addition, I'd say those two tunings are weirly named -- from the
 same file, all guitar tunings are named `guitar-something`, all banjo
 tunings `banjo-something`.

 But those are not tenor or baritone tunings of a ukulele, but rather
 tunings of the tenor or baritone ukulele.  Namely different instruments.

 Yes. And no. The most common tuning for ukuleles --soprano, concert
 and tenor-- isg' c' e' a'  (C reentrant tuning).

 The one which is currently defined as `tenor-ukulele-tuning` is used
 in soprano, concert and baritone too:g c' e' a'  (C linear tuning).

 And the most used tuning for tenor ukuleles isg' c' e' a'
 (currently ukulele-tuning, that's fine).

 The `baritone-ukulele-tuning` is used --as far as I know-- only in
 baritone sized instruments, as the pitches are too low to sound nice
 in small instruments. But... there is an A linear tuning for
 baritone too.

 I'd use the following naming strategy:

 * Start with ukulele-
 * Use pitch- when the tuning is other than the common C tuning (C6)
 * Use linear- when the tuning is linear instead of the more common
 reentrant tuning
 * Finish with tuning.

 I find linear weird.  But it is not relevant what _I_ find weird if
 that is what Ukulele players associate with it.

 Low G tuning is more common among players than C linear
 tuning. For other pitches, I'd say the common term is D with low
 fourth. And Baritone tuning is more common than G linear tuning.

 But, there's no consensus --nor it is needed. Unfortunately, it's
 impossible to extract a naming estrategy from the most common names,
 and that's why I made my proposal.

 But, I'd rather left the renaming out than abusing other users with my
 (not so) highly opinionated terms -- I'll keep them for my include
 files.

When in doubt rather pick names that you are likely to find written on
score parts than in music theoretical papers.

While one usually would want a somewhat good reason to _change_ some
names, you quite aptly observed that it is unlikely that the current
names have been in use, as they don't work.  So you can pick the best
names from scratch without needing to consider what is there already,
but the best names should be what musicians and composers for that
instrument are used to, not what appeals to your personal aesthetics
best.

I did not want to suggest that the existing names are good in that
regard: I don't know the naming practices for the instrument family.

-- 
David Kastrup


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