Re: Strings as variable names

2016-01-04 Thread Sharon Rosner
> > Using the syntax with quotes is rather ugly, I agree.  But it is
> > nonetheless potentially useful for two reasons:
> > (1) it enables us to use numbers etc. in variable names

> Why would that be desirable?

Suppose you make an edition of the St Matthew Passion, in which you have a
few dozen parts (two orchestras and two choirs), and ~ 70-80 numbers
(depending on how you count). Numbering everything using roman numerals
would be a bit problematic, I'd say.

> But really, \"violin1" is so much more ugly than \violinI or if you must
> \violin_I.

It's a probably a matter of taste, but I think
\"68-choir/orchestra1/violino1" is much more readable and maintainable than
\choirLXVIIIorchestraIviolinoI. Personally I use variables this way and find
it much more natural than pretending we're back to classical Rome. And since
Lilypond supports this already, I don't really get why this should be
discouraged.

Sharon Rosner




--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Strings-as-variable-names-tp185113p185535.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


Re: Strings as variable names

2016-01-04 Thread Simon Albrecht

On 04.01.2016 08:02, Johan Vromans wrote:

On Sun, 3 Jan 2016 21:36:30 +0100
Simon Albrecht  wrote:


No, for the simple reasons that a) noone mentioned on the list there was
a tracker item and b) even though I know now, I have been unable to
find it.

May I kindly request mentioning the URL to the list?


You’ll find the link to the Rietveld issue therein.

Ah, thanks.

I was looking in https://code.google.com/p/lilypond/issues/ ...


Yeah, well… the current issue tracker state is quite uncomfortable. We 
intended to have sourceforge only as an interim solution for some weeks’ 
transition time (that’s why it’s not documented except in the CG), but 
it didn’t at all work out to set up our own Allura server (there was 
none to do it), so it’s kind of semi-permanent.


Yours, Simon

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


Re: guileV2 and Lilypond (was: Strings as variable names)

2016-01-04 Thread Menu Jacques
Hello Paul,

Thanks a lot for the informatin and links, things are much clearer to me now.

JM

> Le 3 janv. 2016 à 20:51, Paul Morris  a écrit :
> 
>> On Jan 3, 2016, at 11:14 AM, Menu Jacques  wrote:
>> 
>> A newbie question: what are the expected benefits and challenges of moving 
>> from guile 1.8.x to guile 2.y?
> 
> As I understand it, guile 2.0 introduced significant performance 
> improvements, mainly for compiled scheme, but since LilyPond interprets 
> scheme, and the scheme interpreter in guile 2.0 is actually slower than in 
> 1.8 (but faster in 2.2 than in 2.0)  …just how much of the performance 
> benefits LilyPond will enjoy remains to be seen.
> 
> One of the immediate benefits is just keeping up with the current guile 
> version distributed with gnu/linux distributions.  They don’t want to keep 
> including guile 1.8 just for LilyPond’s sake, so LilyPond could get dropped 
> from these distributions.
> 
> But the big story is the challenges -- mainly that guile 2.0 still has bugs 
> that need to be fixed for it to work reliably with LilyPond.
> 
> I recently saw this announcement about guile 2.1.1 the "first pre-release in 
> what will become the 2.2 stable series”:
> http://savannah.gnu.org/forum/forum.php?forum_id=8397
> 
> That led me to the redesigned guile website and their mailing list, where I 
> found a post that touches on the need for better LilyPond support in guile:
> http://lists.gnu.org/archive/html/guile-devel/2015-11/msg5.html
> 
> And this follow-up post that clearly lays out the current showstopper bug: 
> http://lists.gnu.org/archive/html/guile-devel/2015-11/msg00031.html
> 
> Maybe that sheds some light on this.  Clarifications and additions welcome.
> 
> -Paul
> 
> 
> 


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


Re: trying to attach lyrics to global variable in /score

2016-01-04 Thread Simon Albrecht

On 04.01.2016 03:29, David Wright wrote:

... but it does mean that you can't use \addlyrics, and dispense with
naming the context when not required (ie simple cases).


True, I deliberately left that one out, since it’s error-prone.

Yours, Simon

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


Staff customization question.

2016-01-04 Thread Hwaen Ch'uqi
Greetings All,

I am currently writing a piece involving the pat hwaing (circle drum).
It consists of 21 pitched drums. I have figured out how to create an
eleven-line staff;  the number of lines and spaces exactly corresponds
to my needs. Is there a way to create a specific calibration of pitch
to line/space where the lowest and highest notes align with the lowest
and highest lines? The intervals are not entirely uniform. The pitches
are as follows:

g2 b2 c3 e3 f3 g3 b3 c4 e4 f4 g4 a4 b4 c5 d5 e5 f5 g5 a5 b5 c6

Any help would be greatly appreciated!

Hwaen Ch'uqi

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


Re: Ossia with dashed span bars

2016-01-04 Thread MarcM
the   \Staff \RemoveEmptyStaves  makes it easy to place the ossia.

BTW, why use statements like<< \FourOssia >>  when  \FourOssia works as
well ?







--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Ossia-with-dashed-span-bars-tp185371p185537.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


Re: A twelve tone matrix engraver

2016-01-04 Thread Caio Giovaneti de Barros


Oh I understand now. Indeed this can be very useful for (at least) 
having the 12 tone rows displayed in a more human readable way, mixing 
sharps and flats. Maybe it can help in having the input row as pitches 
instead of numbers. I'll see what I can come up with in the next days. 
These objects are excellent!


On 03-01-2016 11:31, David Kastrup wrote:

Caio Giovaneti de Barros  writes:


On 02-01-2016 16:18, David Kastrup wrote:

It might also be worth taking a look at the facilities provided by
issue 4702
 to see
how (or whether) they would have helped here.

Do you think you could write some small example of what those
functions do? I didn't understand how they are used. One thing that I
really wanted is an automatic way for the software to decide what
notes should be flat and what should be sharp, even if it's not
perfect. Currently my code only outputs sharps and to be honest this
is not very natural to read (pun intended).



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


Re: Strings as variable names

2016-01-04 Thread Sharon Rosner
> > And most programming languages have it.
>
> Uh what?  Bourne shells can interpolate variables (written with $ rather
> than \ by the way) into _double_-quoted strings.  Maybe some other
> shells can.

> But what _programming_ languages allow interpolating into quoted strings?

Um, let's see: Ruby, PHP, Javascript (as of ES6), Swift, Scala, C#, Perl. Ah
yes I forgot, Perl is not a _real_ programming language ;-)

Sharon



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Strings-as-variable-names-tp185113p185529.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


Re: turn off tab double half note stems

2016-01-04 Thread Paul Morris
> On Jan 3, 2016, at 3:11 PM, Marc Hohl  wrote:
> 
> I am responsible for the double stems in tablature, but I did not invent them 
> ;-)
> 
> AFAIK, there is no common standard for tablature with stems.
> 
> I found the double-stemmed variant in some examples and found it quite
> more readable as – for instance – circles drawn around the fret numbers to 
> indicate half or whole notes (this looks even more ugly with chords).

Good to know, thanks.  Double stems seem like as good a way to indicate half 
notes in tablature as any.

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


Re: Staff customization question.

2016-01-04 Thread Paul Morris
> On Jan 4, 2016, at 8:48 PM, Hwaen Ch'uqi  wrote:
> 
> Is there a way to create a specific calibration of pitch
> to line/space where the lowest and highest notes align with the lowest
> and highest lines? 

Briefly, here’s a small hint: setting “staffLineLayoutFunction” in the Staff 
context to a custom scheme procedure is a way to do this.  Try searching the 
LSR for examples of how this is done.

Cheers,
-Paul


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


Re: A twelve tone matrix engraver

2016-01-04 Thread David Kastrup
Caio Giovaneti de Barros  writes:

> Oh I understand now. Indeed this can be very useful for (at least)
> having the 12 tone rows displayed in a more human readable way, mixing
> sharps and flats. Maybe it can help in having the input row as pitches
> instead of numbers.

Converting pitches into numbers should just be ly:pitch-semitones which
has existed for eternities.  There is also ly:pitch-tones which becomes
useful when you are juggling with microtonalities and thus have to work
with exact rationals.  ly:pitch-semitones always converts to integers
and thus loses the fine distinctions.

-- 
David Kastrup

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


Re: A twelve tone matrix engraver

2016-01-04 Thread Hans Åberg

> On 3 Jan 2016, at 13:21, Caio Giovaneti de Barros  
> wrote:
> 
> One thing that I really wanted is an automatic way for the software to decide 
> what notes should be flat and what should be sharp, even if it's not perfect. 
> Currently my code only outputs sharps and to be honest this is not very 
> natural to read (pun intended).

There is no such general method, as E12 is incompatible with the standard staff 
notational system. (The latter has two generators, the pure 5th and the octave, 
whereas  E12 only has one.)

But if there is a key, one can choose the notes of the major and minor scales 
in that key. In key A, that is A Bb B C C# D E# E F F# G G#. Another way to 
describe it: the note of the key plus five 5ths below and 6 above.

It corresponds to a way to choose a meantone tuning for the standard piano 
keyboard. So it might have other uses, as well.



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


Lilypond takes up vertical space for empty staves

2016-01-04 Thread Mike Solomon
Hey all,

In the sort-of-minimal example below, Lily is taking up staff space on the 
first and second system when she shouldn’t.  Is there any way to get her to not 
account for the empty staves instead of leaving that space?

Cheers,
MS

*

\version "2.17.0"

marksLollipop = {
 \time 5/6
 \tempo "With urgency" 4=200
 s2. s4*1/3 | \break
 \time 9/20
 \bar ".|:" s4 s4*4/5 | \bar ":|."  \break 
 \time 5/8
 s4. 
 s4 | 
 \time 4/4
 s1 | 
 \time 4/4
 s1 | 
 \time 1/32
 s32
 \time 4/4
 % wish to welcome you, to
 % munchkin land
 s1 \bar "|."
}

sopranoLollipop = \relative c''' { \autoBeamOff
 a2. r4*1/3 |
 a4 r4*4/5
 a4. 
 a4 | 
 a1 |
 \noBreak
 r2.. b64 r32. r16 |
 \noBreak
 s32
 s1
}

mezzoLollipop = \relative c''' { \autoBeamOff
 a2. r4*1/3 | % we represent the lollipop guild
 a4 r4*4/5 % the lollipop guild
 a4. % the lollipop 
 a4 | % guild
 a1 | % and in the name of the
 \noBreak
 r2.. b64 r32. r16 |
 \noBreak
 s32
 s1
}

ossiaOne = \relative  c'' {
 \stopStaff
 s2. s4*1/3 | % we represent the lollipop guild
 s4 s4*4/5 % the lollipop guild
 s4. % the lollipop 
 s4 | % guild
 s1 | % and in the name of the
 \startStaff
 \noBreak
 r2..^"OSSIA" b64 r32. r16 |
 \stopStaff
 \noBreak
 s32
 s1
}

ossiaTwo = \relative  c'' {
 \stopStaff
 s2. s4*1/3 | % we represent the lollipop guild
 s4 s4*4/5 % the lollipop guild
 s4. % the lollipop 
 s4 | % guild
 s1 | % and in the name of the
 \startStaff
 r2.^"OSSIA'S OSSIA" b64 r8... |
 \stopStaff
 s32
 s1
}

%%% SCORE

\score {
 \new ChoirStaff <<
   \new Staff \with { instrumentName = \dortyName %shortInstrumentName = #"M."
} <<
 \new Voice = "sopranoLollipop" { << { \numericTimeSignature
   \sopranoLollipop
 } {
   \marksLollipop
 } {
   \nothing
 }>> }
>> 
\new StaffGroup \with { \override SystemStartBracket.stencil = ##f }  <<
   \new Staff = "ossiaTwo" \with {
   \remove "Time_signature_engraver"
   \hide Clef
   fontSize = #-3
   \override StaffSymbol.staff-space = #(magstep -3)
   \override StaffSymbol.thickness = #(magstep -3)
 }
 { \ossiaTwo }
   \new Staff = "ossia" \with {
   \remove "Time_signature_engraver"
   \hide Clef
   fontSize = #-3
   \override StaffSymbol.staff-space = #(magstep -3)
   \override StaffSymbol.thickness = #(magstep -3)
 }
 { \ossiaOne }

   \new Staff = "mezzy" \with { instrumentName = \ttoName %shortInstrumentName 
= #"E."
} <<
 \new Voice = "mezzoLollipop" { << { \numericTimeSignature
   \mezzoLollipop
 } {
   \nothing
 } >> }
>> 
>> 
>> 
 \layout {
\context {
\Staff
 \override VerticalAxisGroup.remove-first = ##t
 }
 }
}



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


Re: Lilypond takes up vertical space for empty staves

2016-01-04 Thread Mike Solomon
Answered my own question - the problem in the real example came from using 
spacer rests instead of multi-measure rests.
Sorry for the noise!
~Mike

> On Jan 4, 2016, at 6:12 PM, Mike Solomon  wrote:
> 
> Hey all,
> 
> In the sort-of-minimal example below, Lily is taking up staff space on the 
> first and second system when she shouldn’t.  Is there any way to get her to 
> not account for the empty staves instead of leaving that space?
> 
> Cheers,
> MS
> 
> *
> 
> \version "2.17.0"
> 
> marksLollipop = {
> \time 5/6
> \tempo "With urgency" 4=200
> s2. s4*1/3 | \break
> \time 9/20
> \bar ".|:" s4 s4*4/5 | \bar ":|."  \break 
> \time 5/8
> s4. 
> s4 | 
> \time 4/4
> s1 | 
> \time 4/4
> s1 | 
> \time 1/32
> s32
> \time 4/4
> % wish to welcome you, to
> % munchkin land
> s1 \bar "|."
> }
> 
> sopranoLollipop = \relative c''' { \autoBeamOff
> a2. r4*1/3 |
> a4 r4*4/5
> a4. 
> a4 | 
> a1 |
> \noBreak
> r2.. b64 r32. r16 |
> \noBreak
> s32
> s1
> }
> 
> mezzoLollipop = \relative c''' { \autoBeamOff
> a2. r4*1/3 | % we represent the lollipop guild
> a4 r4*4/5 % the lollipop guild
> a4. % the lollipop 
> a4 | % guild
> a1 | % and in the name of the
> \noBreak
> r2.. b64 r32. r16 |
> \noBreak
> s32
> s1
> }
> 
> ossiaOne = \relative  c'' {
> \stopStaff
> s2. s4*1/3 | % we represent the lollipop guild
> s4 s4*4/5 % the lollipop guild
> s4. % the lollipop 
> s4 | % guild
> s1 | % and in the name of the
> \startStaff
> \noBreak
> r2..^"OSSIA" b64 r32. r16 |
> \stopStaff
> \noBreak
> s32
> s1
> }
> 
> ossiaTwo = \relative  c'' {
> \stopStaff
> s2. s4*1/3 | % we represent the lollipop guild
> s4 s4*4/5 % the lollipop guild
> s4. % the lollipop 
> s4 | % guild
> s1 | % and in the name of the
> \startStaff
> r2.^"OSSIA'S OSSIA" b64 r8... |
> \stopStaff
> s32
> s1
> }
> 
> %%% SCORE
> 
> \score {
> \new ChoirStaff <<
>   \new Staff \with { instrumentName = \dortyName %shortInstrumentName = #"M."
> } <<
> \new Voice = "sopranoLollipop" { << { \numericTimeSignature
>   \sopranoLollipop
> } {
>   \marksLollipop
> } {
>   \nothing
> }>> }
>>> 
> \new StaffGroup \with { \override SystemStartBracket.stencil = ##f }  <<
>   \new Staff = "ossiaTwo" \with {
>   \remove "Time_signature_engraver"
>   \hide Clef
>   fontSize = #-3
>   \override StaffSymbol.staff-space = #(magstep -3)
>   \override StaffSymbol.thickness = #(magstep -3)
> }
> { \ossiaTwo }
>   \new Staff = "ossia" \with {
>   \remove "Time_signature_engraver"
>   \hide Clef
>   fontSize = #-3
>   \override StaffSymbol.staff-space = #(magstep -3)
>   \override StaffSymbol.thickness = #(magstep -3)
> }
> { \ossiaOne }
> 
>   \new Staff = "mezzy" \with { instrumentName = \ttoName %shortInstrumentName 
> = #"E."
> } <<
> \new Voice = "mezzoLollipop" { << { \numericTimeSignature
>   \mezzoLollipop
> } {
>   \nothing
> } >> }
>>> 
>>> 
>>> 
> \layout {
> \context {
> \Staff
> \override VerticalAxisGroup.remove-first = ##t
> }
> }
> }
> 
> 
> 
> ___
> 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 takes up vertical space for empty staves

2016-01-04 Thread Thomas Morley
Hi Mike,

2016-01-04 18:12 GMT+01:00 Mike Solomon :
> Hey all,
>
> In the sort-of-minimal example below, Lily is taking up staff space on the 
> first and second system when she shouldn’t.  Is there any way to get her to 
> not account for the empty staves instead of leaving that space?
>
> Cheers,
> MS
>
> *
>
> \version "2.17.0"
>
> marksLollipop = {
>  \time 5/6
>  \tempo "With urgency" 4=200
>  s2. s4*1/3 | \break
>  \time 9/20
>  \bar ".|:" s4 s4*4/5 | \bar ":|."  \break
>  \time 5/8
>  s4.
>  s4 |
>  \time 4/4
>  s1 |
>  \time 4/4
>  s1 |
>  \time 1/32
>  s32
>  \time 4/4
>  % wish to welcome you, to
>  % munchkin land
>  s1 \bar "|."
> }
>
> sopranoLollipop = \relative c''' { \autoBeamOff
>  a2. r4*1/3 |
>  a4 r4*4/5
>  a4.
>  a4 |
>  a1 |
>  \noBreak
>  r2.. b64 r32. r16 |
>  \noBreak
>  s32
>  s1
> }
>
> mezzoLollipop = \relative c''' { \autoBeamOff
>  a2. r4*1/3 | % we represent the lollipop guild
>  a4 r4*4/5 % the lollipop guild
>  a4. % the lollipop
>  a4 | % guild
>  a1 | % and in the name of the
>  \noBreak
>  r2.. b64 r32. r16 |
>  \noBreak
>  s32
>  s1
> }
>
> ossiaOne = \relative  c'' {
>  \stopStaff
>  s2. s4*1/3 | % we represent the lollipop guild
>  s4 s4*4/5 % the lollipop guild
>  s4. % the lollipop
>  s4 | % guild
>  s1 | % and in the name of the
>  \startStaff
>  \noBreak
>  r2..^"OSSIA" b64 r32. r16 |
>  \stopStaff
>  \noBreak
>  s32
>  s1
> }
>
> ossiaTwo = \relative  c'' {
>  \stopStaff
>  s2. s4*1/3 | % we represent the lollipop guild
>  s4 s4*4/5 % the lollipop guild
>  s4. % the lollipop
>  s4 | % guild
>  s1 | % and in the name of the
>  \startStaff
>  r2.^"OSSIA'S OSSIA" b64 r8... |
>  \stopStaff
>  s32
>  s1
> }
>
> %%% SCORE
>
> \score {
>  \new ChoirStaff <<
>\new Staff \with { instrumentName = \dortyName %shortInstrumentName = #"M."
> } <<
>  \new Voice = "sopranoLollipop" { << { \numericTimeSignature
>\sopranoLollipop
>  } {
>\marksLollipop
>  } {
>\nothing
>  }>> }
>>>
> \new StaffGroup \with { \override SystemStartBracket.stencil = ##f }  <<
>\new Staff = "ossiaTwo" \with {
>\remove "Time_signature_engraver"
>\hide Clef
>fontSize = #-3
>\override StaffSymbol.staff-space = #(magstep -3)
>\override StaffSymbol.thickness = #(magstep -3)
>  }
>  { \ossiaTwo }
>\new Staff = "ossia" \with {
>\remove "Time_signature_engraver"
>\hide Clef
>fontSize = #-3
>\override StaffSymbol.staff-space = #(magstep -3)
>\override StaffSymbol.thickness = #(magstep -3)
>  }
>  { \ossiaOne }
>
>\new Staff = "mezzy" \with { instrumentName = \ttoName 
> %shortInstrumentName = #"E."
> } <<
>  \new Voice = "mezzoLollipop" { << { \numericTimeSignature
>\mezzoLollipop
>  } {
>\nothing
>  } >> }
>>>
>>>
>>>
>  \layout {
> \context {
> \Staff
>  \override VerticalAxisGroup.remove-first = ##t

%% add
\RemoveEmptyStaves

>  }
>  }
> }



Cheers,
  Harm

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