Re:Chords and what they mean

2015-09-21 Thread mskala
On Sun, 20 Sep 2015, Flaming Hakama by Elaine wrote:
> However, if you view lilypond as a notation program,
> then the practical question becomes,
> if I want to print a certain chord symbol,
> what to I write for the input
> (and do I need to customize the chord symbol for that note set)?

Excellent point.  All this talk of chords on the list inspired me to try
to add chord names to one of my microtonal pieces.  There didn't seem much
point feeding the actual music (which is entered as note sets, not chord
names) into \chords , but I figured if I could find the right input to
produce each symbol I wanted, then I could just give \chords a sequence of
those inputs.

That didn't work very well - not only did my changed note names screw
things up, but I even found one case where as far as I can tell, two
identical inputs produced two different chord symbols.  This was a Bb7
harmonic chord, which in one case printed as B\flat\super{7 5} and in
another as B\flat\super{7 5 8} with as far as I can tell *identical* note
sets described by identical input.  I'll try to come up with a minimum
working example if this is of interest.

What seems like it would be most useful for me would be to forget about
LilyPond's chord-naming translation from note sets to symbols, and just
use markup to add symbols of my choice wherever I want them.  So that
raises the question:  what's the easiest or cleanest way to place markup
so that it will look like chord symbols, typically appearing above the
staff at the start of a bar, but a little after the barline, not right
above it?  Would it work to code it as some modified kind of rehearsal
marks, or maybe lyrics?

> You would "suspend" the third, but then play a 3rd anyway?
> Since the 5 is in every C chord (except augmented or diminished),
> why would "sus" have anything to do with 5?

Bear in mind that the original meaning of "suspend" here was not "remove,"
"raise," or "lower"... it came from classical harmony where a note from
the previous chord would continue into the new one so that it would end up
as the second or fourth of the new chord.  Then you'd remove the third of
the new chord so it wouldn't clash with the suspended note.  It's really
the *presence* of the second or fourth, and possibly only in the context
where that note was in the previous chord, that makes the chord a
suspended chord.  It's not the absence of the third; the third is not the
thing that's being suspended.  And so if we're using that definition of
suspension, a chord with just the root and fifth, such as might be written
C5 , is not suspended.  I realize this is not necessarily the current
usage of the term.

-- 
Matthew Skala
msk...@ansuz.sooke.bc.ca People before principles.
http://ansuz.sooke.bc.ca/

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


Re: Chords and what they mean

2015-09-21 Thread Brett Duncan

On 21/09/15 4:44 PM, David Kastrup wrote:


It's really a case of diminuishing returns.  The change for x:5 is
definitely affecting the logic of LilyPond, but arguably that can of
worms has been opened with x:13 already.  x:5 is more important, but
it's also a lot more likely to be used as basic building block, like in
x:5.8.  About x:5, I definitely feel ambiguous.  In contrast, x:sus does
not have all that much logic hinging on it: it's previous behavior is
really "cute" in a programmer's sense of the word more than anything
else.  Other modifiers also introduce "personalized" behavior (cf
c:dim7) and people are unlikely to have used it much, exactly because
x:sus is musically not anything suggesting a powerchord.

Maybe x:1.5 is tolerable enough.  At any rate, the proposed x:5 is quite
analogous to the existing x:13.  Your proposals for c:4 and c:2 would
require opening yet another scheme while the chords already have a
musically sound name x:sus4 (now also x:sus) and x:sus2.  So the
threshold for x:2 and x:4 seems yet higher than that for x:5.


To be clear, I'm not proposing anything, simply pointing out that 
\chordmode produces some other less-than-obvious results that a "naive" 
user might stumble upon. How they should be handled, I'm not exactly 
sure. I'm tempted to suggest that they should return an error, and the 
user has to clearly specify whether they want an add4 or a sus4. But 
that's just a passing thought.


Brett

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


Re:Chords and what they mean

2015-09-21 Thread Blöchl Bernhard

Am 21.09.2015 08:14, schrieb msk...@ansuz.sooke.bc.ca:


...  It's not the absence of the third; the third is not the
thing that's being suspended.


You are correct. With removing the third you eliminate the character of 
the "chord" as major or minor to avoid clashes etc. to suspend ... And 
it is not a "chord" any longer but a necessary prerequisite for the 
technique of "suspension" as you described. (And may be one adds an 
additional tone for suspension...) But it has become synonyme for the 
technique of removing the third and everybody will interpret any "sus" 
with this implication irrespective of music theory.



And so if we're using that definition of
suspension, a chord with just the root and fifth, such as might be 
written

C5 , is not suspended.  I realize this is not necessarily the current
usage of the term.


If c:sus is a simple way to get C5 and I like it better than c^3, why 
should not one use it? The syntax of Lilypond is "music notation for 
everyone" and not ( I think it is not planed to be ) a map of music 
theory. To map music theory you need "rule based programs" or the 
methods of "artificial intelligence" and do not forget that taste and 
theory of music will change.


And let me add: Why should not a 5 "chord" suspend in your sense or 
transit to a new tonality?


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


Re: Chords and what they mean

2015-09-21 Thread Johan Vromans
On Mon, 21 Sep 2015 08:55:33 +0200
Blöchl Bernhard  wrote:

> What seems like it would be most useful for me would be to forget about
> LilyPond's chord-naming translation from note sets to symbols, and just
> use markup to add symbols of my choice wherever I want them.  So that
> raises the question:  what's the easiest or cleanest way to place markup
> so that it will look like chord symbols, typically appearing above the
> staff at the start of a bar, but a little after the barline, not right
> above it?

You'll lose the ability to transpose.

-- Johan

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


Re: Chords and what they mean

2015-09-21 Thread David Kastrup
Brett Duncan  writes:

> On 21/09/15 7:48 AM, Flaming Hakama by Elaine wrote:
>> Modifying the input syntax such that c:5 means  seems ill-advised.
>
> I was thinking much the same, until I read something that David
> Kastrup wrote:
>> I think it is not an outlandish expectation, once you see how a:maj and
>> a:dim and a:min work, to have c:sus turn out a recognizable suspended
>> chord rather than a power chord (which is anything but a suspended
>> chord).  It's not hard to learn c:sus4 for sure.  But anything that
>> works according to naive expectations without causing other problems
>> leaves more time to learn more important things.
>
> Given that sus and power chords are fairly commonly used, removing a
> potential stumbling block for the 'naive' user does not seem
> unreasonable.
>
> This does raise the question of other "naive" constructions. I have
> seen on some contemporary music charts notations like C2 and C4, which
> apparently meant Cadd2 and Cadd4 respectively (except in one case,
> where Cadd4 did not sound right, and only after hearing a recording
> did it become clear that the chord was a Csus4).
>
> Currently, LP's \chordmode interprets c:2 to be the chord , and
> outputs a chord name of Csus2. It interprets c:4 as  and
> outputs a chord name of C4 sus4 3 (!)
>
> But to what extent should the the "naive" user be catered for?

It's really a case of diminuishing returns.  The change for x:5 is
definitely affecting the logic of LilyPond, but arguably that can of
worms has been opened with x:13 already.  x:5 is more important, but
it's also a lot more likely to be used as basic building block, like in
x:5.8.  About x:5, I definitely feel ambiguous.  In contrast, x:sus does
not have all that much logic hinging on it: it's previous behavior is
really "cute" in a programmer's sense of the word more than anything
else.  Other modifiers also introduce "personalized" behavior (cf
c:dim7) and people are unlikely to have used it much, exactly because
x:sus is musically not anything suggesting a powerchord.

Maybe x:1.5 is tolerable enough.  At any rate, the proposed x:5 is quite
analogous to the existing x:13.  Your proposals for c:4 and c:2 would
require opening yet another scheme while the chords already have a
musically sound name x:sus4 (now also x:sus) and x:sus2.  So the
threshold for x:2 and x:4 seems yet higher than that for x:5.

-- 
David Kastrup

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


Re: Text centralized above a TextSpan

2015-09-21 Thread David Kastrup
Simon Albrecht  writes:

> 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 "|."
> }

More like

timeTrack = \lyricmode {
  \time 3/4
  Prestissimo2.
  \bar "||"
  \time 2/2
  Larghetto1*4
  ral2 -- len --
  tan -- do
  \skip 1
  \bar "|."
}

namely with some small changes bringing it back into the embrace of
currently supported syntax.

-- 
David Kastrup

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


Re: proportional notation problem

2015-09-21 Thread Urs Liska


Am 22.09.2015 um 00:51 schrieb Neil Thornock:
> See the two attached images for my problem spot.
>
> I'd like something more like the Finale output, but no matter what
> combination of proportional notation options I try, it won't budge. It
> seems like the ledger lines are too greedy.
>
> Also, I have no idea how to get the flats in the lower voice to appear
> *before* the *previous* note of the top voice, which seems to me like
> a more elegant solution in this case.
>
> Any advice? I can't figure this out.

Which LilyPond version are you using. Particularly the last beat reminds
me of a spacing issue that has been greatly improved in a (maybe not so)
recent version.

Urs

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

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


Re: How to correctly compile the Messiah from Neuvar's Site.

2015-09-21 Thread Michael Gerdau
> I am needing help correctly compiling Handel's Messiah from the following
> website:
> 
> http://nicolas.sceaux.free.fr/index.php/2009/06/20/40
> 
> When I get into the scores.ily and attempt to just compile them I get so
> many errors:

Have you tried to convert-ly these files ?
They have been written for 2.13.8 according to the website.

It seems at least some files lack a version statement. Actually I have
found not one such statement but I did not check all files.

So you need to insert
\version "2.13.8"
at the top of each file (*.ly and *.ily) and then apply convert-ly to
all of them.

Look up convert-ly in the manual under
http://www.lilypond.org/doc/v2.18/Documentation/usage/updating-files-with-convert_002dly

Frescobaldi provides an interface to convert-ly

> Am I even compiling his .ily files correctly as I have never compiled .ily
> files? Forgive me if I should already know how to do this. I typically
> use Frescobaldi to compile all my lily files. Thanks so much!

*.ily are by convention files supposed to be included by other ly files.
Nothing special about them. you could use any other name (and include
that).

HTH,
Michael
-- 
 Michael Gerdau   email: m...@qata.de
 GPG-keys available on request or at public keyserver

signature.asc
Description: This is a digitally signed message part.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Subdivide beams in triplets

2015-09-21 Thread Nick McManus
Hi all,

I'm having some trouble achieving subdivided beams in this particular 
example:

\version "2.18.2"

\relative c''{
  \set subdivideBeams = ##t
  \set baseMoment = #(ly:make-moment 1 8)
  \tuplet 9/4 {a16 bes a bes c bes c d c}
}

I would like to achieve a set of 9 semiquavers (16th notes) with the beam 
subdivided every three notes.  How do I go about this?

Thanks,

Nick McManus


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


RE: Subdivide beams in triplets

2015-09-21 Thread Mark Stephen Mrotek
Nick,

Try changing the 9/4 to 3/2. Does that work?

Mark

-Original Message-
From: lilypond-user-bounces+carsonmark=ca.rr@gnu.org
[mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org] On Behalf Of
Nick McManus
Sent: Monday, September 21, 2015 9:53 PM
To: lilypond-user@gnu.org
Subject: Subdivide beams in triplets

Hi all,

I'm having some trouble achieving subdivided beams in this particular
example:

\version "2.18.2"

\relative c''{
  \set subdivideBeams = ##t
  \set baseMoment = #(ly:make-moment 1 8)
  \tuplet 9/4 {a16 bes a bes c bes c d c} }

I would like to achieve a set of 9 semiquavers (16th notes) with the beam
subdivided every three notes.  How do I go about this?

Thanks,

Nick McManus


___
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


syntactic equivalent for if __name__ == '__main__' in lilypond

2015-09-21 Thread Mike Solomon
Hey all,

I’m developing a score where I’m including a lot of smaller .ily files into a 
bigger one and I often want to compile these .ily files by themselves.  
Currently, I’m following the pattern of creating a new .ly file for the 
individual compilation, but that results in jostling between files and 
sometimes I get lost in the workflow.  Is there a pattern à la python 
equivalent to something like.

%% foo.ily

foo = \relative c’ {
  a4 b c d
}

if __name__ == ‘__main__’
  \new Staff \foo

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


Re: Subdivide beams in triplets

2015-09-21 Thread Pierre Perol-Schneider
Hi Nick,

Here you go:

\version "2.18.2"

%% Solution 1
\relative c''{
  \set subdivideBeams = ##t
  \set baseMoment = #(ly:make-moment 1 8)
  \tweak text #"9"
  \tuplet 3/2 %% or 6/4
  { a16[ bes a bes c bes c d c] }
}

%% Solution 2
\relative c''{
  \tuplet 9/4 {
a16 bes
\set stemLeftBeamCount = #2
\set stemRightBeamCount = #1
a
\set stemLeftBeamCount = #1
\set stemRightBeamCount = #2
bes c
\set stemLeftBeamCount = #2
\set stemRightBeamCount = #1
bes
\set stemLeftBeamCount = #1
\set stemRightBeamCount = #2
c d c
  }
}

Cheers,
Pierre

2015-09-22 7:00 GMT+02:00 Mark Stephen Mrotek :

> Nick,
>
> Try changing the 9/4 to 3/2. Does that work?
>
> Mark
>
> -Original Message-
> From: lilypond-user-bounces+carsonmark=ca.rr@gnu.org
> [mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org] On Behalf Of
> Nick McManus
> Sent: Monday, September 21, 2015 9:53 PM
> To: lilypond-user@gnu.org
> Subject: Subdivide beams in triplets
>
> Hi all,
>
> I'm having some trouble achieving subdivided beams in this particular
> example:
>
> \version "2.18.2"
>
> \relative c''{
>   \set subdivideBeams = ##t
>   \set baseMoment = #(ly:make-moment 1 8)
>   \tuplet 9/4 {a16 bes a bes c bes c d c} }
>
> I would like to achieve a set of 9 semiquavers (16th notes) with the beam
> subdivided every three notes.  How do I go about this?
>
> Thanks,
>
> Nick McManus
>
>
> ___
> 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


How to correctly compile the Messiah from Neuvar's Site.

2015-09-21 Thread Michael Dykes
Hi,

I am needing help correctly compiling Handel's Messiah from the following 
website:

http://nicolas.sceaux.free.fr/index.php/2009/06/20/40

When I get into the scores.ily and attempt to just compile them I get so many 
errors: 

error: unknown escaped string: `\instrumentName'

error: unrecognized string, not in text script or \lyricmode

etc.

So, I thought I should go into the file folder marked "common" and start 
compiling there. It was going fine until I got to the file marked 
"layout.ily" and then I get the error message:

error: GUILE signaled an error for the expression beginning here

the expression being:

#(define-public *paper-size* (make-parameter 'a4))

Am I even compiling his .ily files correctly as I have never compiled .ily 
files? Forgive me if I should already know how to do this. I typically use 
Frescobaldi to compile all my lily files. Thanks so much!


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


Re: idea for fretboard-diagram chords

2015-09-21 Thread bart deruyter
hi,

I think things like adding \set chordShape #a would only be good in barré
cases.

I suggested the string as basis because of all the chords that are not
based on the basic chords, and in different positions as well, with a root
on different strings, often found in Jazz.
I've looked at the link Patrick showed. These are indeed based on basic
chord shapes but again, these don't offer a solution for chords out of the
basic chord shape range.

In the mean time, I'm already working on a list :-p, I'll put them on
github when I've got something worth to look at :-)

grtz,

Bart

http://www.bartart3d.be/
On Twitter 
On Identi.ca 
On Google+ 

2015-09-19 9:14 GMT+02:00 pls :

> Marc Hohl  writes:
>
> > Am 18.09.2015 um 08:40 schrieb bart deruyter:
> >> Hi all,
> > [...]
> >> For inversions one might choose a number based on the n'th note of a
> >> chord, for example 2 as the second note from the root note, which in the
> >> case of c:m would result in a ees as the lowest note and display a
> >> fretboard diagram accordingly.
> >>
> >> \invertedChords = \chordmode{
> >> \setrootString #'6
> >> \set inversion #'2
> >> c4:m
> >> }
> >>
> >> I think this can be used for other instruments too.
> >>
> >> What do you think? Can this be achieved? Is it a good idea to implement,
> >> good enough for a feature request? :-) .
> >
> > I like the idea, perhaps enlarged by a \set chordShape command.
> > Most chord shapes may be derived from either an open C, A, G or E
> > chord voicing.
> >
> > \set chordShape #'A
> > c4:maj7
>
> This is the basic idea of
> https://github.com/Philomelos/lilypond-predefined-fretboards. Here are
> some test files:
> https://github.com/Philomelos/lilypond-predefined-fretboards/tree/master/EADGBE/test
> .
>
> hth
> patrick
>
> ___
> 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: OT: Beauty of programming languages

2015-09-21 Thread Urs Liska


Am 21.09.2015 um 12:13 schrieb bart deruyter:
> My turn :-)
>

Very interesting thoughts, thank you!

Urs

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


Re: Text centralized above a TextSpan

2015-09-21 Thread David Nalesnik
On Mon, Sep 21, 2015 at 8:17 AM, Simon Albrecht 
wrote:

> On 21.09.2015 15:04, David Nalesnik wrote:
>
>> Hi,
>>
>> On Sat, Sep 19, 2015 at 7:09 PM, David Nalesnik > > wrote:
>>
>>
>> OK, I see.  Using \lyricmode would be a user-friendly way to
>> specify markups/strings, connectors/no connectors, and relative
>> spacing of texts through attached durations (making the use of
>> spacers--somewhat awkward to handle--unnecessary).
>>
>>
>> Here's a preliminary experiment with using \lyricmode as an input device
>> for text spanner details.  It could easily be incorporated into the larger
>> function, but I've pared this down to ask a question.
>>
>> Is it possible to avoid needing to type \lyricmode when calling \test?
>>
>
> David K. will be able to answer this, but I may say: it’s possible to omit
> the {} around \lyricmode {} which already makes it nicer, and then typing
> \lyricmode has its advantages: it’s easier to understand, and easier to
> highlight syntax correctly.
>
>
Definitely softens the blow!  (While we're here--though it doesn't affect
the user--I should have omitted the "parser location" from the extractTexts
function.  New tricks, old dog.)

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


Re: OT: Beauty of programming languages

2015-09-21 Thread bart deruyter
My turn :-)

I'm 40, started using lilypond a couple of years ago, I think in 2012, not
sure actually.

I play guitar as first instrument and teach it in non-traditional schools,
mainly because I don't have the qualifications on paper and now it's too
late/expensive/time_consuming to get one.

I use lilyond not only for the quality of the output but also because it is
so feature rich. I mean, a lot is very hard to achieve or not achievable
with other open source tools and the open source element is important for
me.

The fact that there seem to be very few 20-ish people (or none, I didn't go
through the entire list here) using lilypond does not surprise me.
And this is in my opinion not because of the way lilypond works
(text-based).

Teaching guitar to younger people and older people shows a clear difference
between their interests which could be extrapolated to much more (such as
choosing lilypond).
Younger people want to see results, without knowing how or what's behind
it. I give them a song to study, tabs, sheet music, whatever, and they're
happy with it.
The attitude from older people is more like "what is happening there... "
or, "why do you this or that." (both in technique as in background theory
of the song).

And I don't think it's because of the "age". I think it is because of what
people are used to. Now there's an app for everything. With a tap or a
click on a button people get "something" without understanding the
background. There's a tool for everything and more important, there's no
need to understand it. And if they want to understand it they find a link
to a wikipedia page :-)

People from an earlier period have known the time when dragging a picture
from explorer into word was not possible yet. They (I, or we) had to think
about clicking on the right buttons, and to memorise it I had to understand
the purpose, or the reason behind the button to import an image into word.

Now I've seen countless times people dragging a picture into word and press
the printer button without even thinking that word is not ment for printing
photo's, nor thinking about the quality setting in the printer dialogue.
But they are happy with it, because they have their photo on paper and
that's all they want, not a professional photo print.

Similarly: lilypond. You have to think about what you do with it, you have
to know the reason and the idea's behind the program itself to be able to
use it properly. Most  (younger)  people these days don't need professional
quality sheet music in the first place, they just want some result, no
matter how bad the image quality is, as long as they can read the music,
it's fine.
So why bother learning it?

The older way of thinking is not a bad thing of course, I prefer it too :-)
. In the case of lilypond, I learned a lot about music terminology, chord
construction, instrument specific techniques and signs simply because I
needed to find it in the documentation.

For example, for some signs I knew what they looked like, and what they
meant, but not the right word for it (probably a language issue too, most
of the web is English, and I'm Dutch, so confusion can kick in with a heavy
beat). What I mean is that software with a big learning curve makes  you
learn about more then the software alone. It makes people think in a
certain way and creates bridges between different subjects (e.g. the entire
list of emails about the e:5 chord, what it means, should mean, might mean,
now outputs, shout output, etc..  )

And to get on-topic again, this also makes a program language a beauty :-p.

grtz,

Bart


http://www.bartart3d.be/
On Twitter 
On Identi.ca 
On Google+ 

2015-09-18 16:03 GMT+02:00 zzk :

> Here I come, 50's :)
>
> Instruments: keyboards and acoustic guitar.
>
> Started using Lilypond in combination with Sublime Text 2 in 2013 to
> typeset
> my own music, after getting frustrated with Sibelius. I have learned about
> Lilypond through Steinberg's blog on their new notation software.
>
> Currently considering to change my workflow to Frescobaldi / Sublime Text
> combo. Frescobaldi has some fantastic features, but I find Sublime Text to
> be faster and more flexible for text entry, and it also supports the
> Lilypond's syntax.
>
> Zoran
>
>
>
> --
> View this message in context:
> http://lilypond.1069038.n5.nabble.com/Way-to-flatten-nested-include-s-tp179946p181300.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: Polyphonic repeats with lyrics (and rests)

2015-09-21 Thread Simon Albrecht

Hi David,

On 19.09.2015 06:18, David Wright wrote:

I noticed some erroneous alto lyrics invading recent CPDL editions of
Farmer's Fair Phyllis. I think the cause was some overenthusiastic
factoring of the lyrics using tagging. So I thought I'd run up a copy
myself, producing folded/unfolded scores from one source file.

However I found, like others, that repeat barlines and voltas popped up
all over the place as soon as I entered the lyrics into the correct
structure. The Notation reference manual is not much help because none
of its examples involves either rests or more than one vocal line.

While none of the workarounds I've found on the web does the job
satisfactorily, I think it's unduly pessimistic to say, "Unfortunately
there is no clear recipe for entering lyrics and repeats which will
work in all circumstances, as all the suggestions are work-arounds due
to there being no well-defined interface in LilyPond for handling
repeats in lyrics."
http://lists.gnu.org/archive/html/lilypond-user/2015-03/msg00866.html


It isn’t unduly pessimistic, but realistic. The ‘right’ example you gave 
is pretty good except that it doesn’t work with \lyricsto. However it 
still does not offer a good way to have different texts for the 
different repeats – I think that’s what Trevor meant by speaking of a 
‘well-defined interface’. Such an interface would need to

– be straightforward in entering
– work with \lyricsto
– allow using the same text for all repeats (using \repeat volta {} 
\alternative {{}{}})
or different text, with simple consecutive lyrics entry and automated 
fitting into the repeat structure (at least that’s how I figure it), or 
with a \repeat lyrics {} command, or something else.
– print braces {} around text lines for different repeats, and 
vertically center-align neighbouring lyrics without repeat (within one 
stanza this is commonly found in hymns in the Bar form; for complex 
multiple-stanza layouts see e.g. Distler, Mörike-Chorliederbuch on 
IMSLP). Perhaps \repeat stanza {} might be introduced. Automatic 
printing of stanza numbers?


So this is a really large topic, and until we have someone able and 
willing to design and implement such a feature, we are bound to workarounds.


As I said, you gave a good example there and it may well make sense to 
include it as a ‘docs’ LSR snippet. You might have a look at the 
Contributor’s Guide (via ) for that.


Yours, 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-21 Thread David Nalesnik
Hi,

On Sat, Sep 19, 2015 at 7:09 PM, David Nalesnik 
wrote:

> David,
>
> On Sat, Sep 19, 2015 at 3:48 PM, David Kastrup  wrote:
>
>> David Nalesnik  writes:
>>
>> > (As an aside: I must say that David's suggestion of using lyrics
>> > produces miraculous results without the hundreds and hundreds of lines
>> > of new code!  Don't want a connector line?  Don't write a hyphen.
>> > Etc.)
>>
>> Actually, we might have had some miscommunication.  I was not really
>> suggesting using a lyrics context, just \lyricsmode as a user interface.
>> The idea was more or less to pick the music expression apart and then
>> let your code do the work.
>>
>>
> OK, I see.  Using \lyricmode would be a user-friendly way to specify
> markups/strings, connectors/no connectors, and relative spacing of texts
> through attached durations (making the use of spacers--somewhat awkward to
> handle--unnecessary).
>
>

Here's a preliminary experiment with using \lyricmode as an input device
for text spanner details.  It could easily be incorporated into the larger
function, but I've pared this down to ask a question.

Is it possible to avoid needing to type \lyricmode when calling \test?

Thank you,
David


  \version "2.19.27"

#(define (get-text elt)
   (ly:music-property elt 'text))

#(define (extract-texts lst result)
   (cond
((null? lst) result)
((not (null? (get-text (car lst
 (extract-texts
  (cdr lst)
  (append result (list (get-text (car lst))
((ly:music-property (car lst) 'elements)
 (append
  (extract-texts (ly:music-property (car lst) 'elements) result)
  (extract-texts (cdr lst) '(
(else (extract-texts (cdr lst) result

extractTexts =
#(define-scheme-function
  (parser location lst)
  (ly:music?)
  (extract-texts
   (extract-named-music lst '(LyricEvent))
   '()))

test =
#(define-music-function (arg) (ly:music?)
   (let ((texts (extractTexts arg)))
 ;(display texts) (newline)
 #{
   \override TextSpanner.bound-details.left.text = #(car texts)
   \override TextSpanner.bound-details.right.text = #(last texts)
 #}))


{
  \test { \lyricmode { \markup { \with-color #red ri }4 -- tar -- dan -- do
} }
  c'1\startTextSpan
  d'1\stopTextSpan
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Violin notation advice requested

2015-09-21 Thread Marcos Press
Hi!

>From my experience as violinist wich I still are :) I can say that:

- The lower information is an alternative. Wich you use depending on your
likes on interpretation. Basically, because the same note in different
position and string sounds quite... diferent.
- Digits for Finguers.
- Roman numbers for Strings.
- In doble stops, it is normal to have the upper digit for the upper note
and the lower for the lowers note ;) but these are writted toguether, not
up and down the system but in the same line one over the other in a
fraction way (like the time signature)

In your image of the Bach violin concert, you pass over a 3 and 1 fingering
posibility after the reharshal mark C at the b note.
What it sais is that you can play the b note at the II string with finger 1
wich gives you the note in first position, or you can play it with the 3
finger over the III string arriving to the 3º position.
Since it had not string indication, one can be crasy enough to try and play
with finger 1 on the III string ;) wich gives you the 5th position,
probably a nice sound and probably an awfull way back to confort :) Just
for fun!
There are plenty of posibilities.

It seams that the editor, aparently in a way of trying a clear view
(because he didn't had Lilypond) decide to omit the number of the string,
so it doesn't overlapp with the p (piano) symbol.

Except that its indicated in the symbol index at the begining of the score
that Roman numbers are positions (wich could be the case of an educational
method book for practicing position changing), Roman numbers are for
Strings. I - e; II - a; III - d; IV - g.

Hopes it helps.

Marcos
Sorry my writting ;P

2015-09-19 22:50 GMT+02:00 Ralph Palmer :

> On Sat, Sep 19, 2015 at 2:34 PM, Chris Yate  wrote:
>
>> No, It's quite common to indicate the string by Roman numerals. Printed
>> music would hardly ever indicate position, but it is normal to see either
>> "sul G" or "IV".
>>
> Actually, I have occasionally seen (and used on scores, myself) Roman
> numeral designation of position. I find it confusing when I see Roman
> numerals for strings; I much prefer "G" or "sul G". Less ambiguous to me.
>
> All the best,
>
> Ralph
>
> --
> Ralph Palmer
> Brattleboro, VT
> USA
> palmer.r.vio...@gmail.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: Text centralized above a TextSpan

2015-09-21 Thread Simon Albrecht

On 21.09.2015 15:04, David Nalesnik wrote:

Hi,

On Sat, Sep 19, 2015 at 7:09 PM, David Nalesnik 
> wrote:



OK, I see.  Using \lyricmode would be a user-friendly way to
specify markups/strings, connectors/no connectors, and relative
spacing of texts through attached durations (making the use of
spacers--somewhat awkward to handle--unnecessary).


Here's a preliminary experiment with using \lyricmode as an input 
device for text spanner details.  It could easily be incorporated into 
the larger function, but I've pared this down to ask a question.


Is it possible to avoid needing to type \lyricmode when calling \test?


David K. will be able to answer this, but I may say: it’s possible to 
omit the {} around \lyricmode {} which already makes it nicer, and then 
typing \lyricmode has its advantages: it’s easier to understand, and 
easier to highlight syntax correctly.


Yours, Simon

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


Re: proportional notation problem

2015-09-21 Thread Neil Thornock
Thanks Simon. Sample code:

\transpose c c' { << {
 16 q q q q q q q q q q q \times 2/3 { q8 q q }
} \\ {
 \times 2/3 { des'4 des'8 } \times 2/3 { b8\rest 8 q }
\times 2/3 { q q q } q q
} >> }


On Mon, Sep 21, 2015 at 5:07 PM, Simon Albrecht 
wrote:

> On 22.09.2015 00:51, Neil Thornock wrote:
>
>> See the two attached images for my problem spot.
>>
>> I'd like something more like the Finale output, but no matter what
>> combination of proportional notation options I try, it won't budge. It
>> seems like the ledger lines are too greedy.
>>
>> Also, I have no idea how to get the flats in the lower voice to appear
>> *before* the *previous* note of the top voice, which seems to me like a
>> more elegant solution in this case.
>>
>> Any advice? I can't figure this out.
>>
>
> It seems you’ve found a super difficult case.
> Can you please post the LilyPond code you used for the second image (<
> http://lilypond.org/tiny-examples.html>)?
>
> Yours, Simon
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: proportional notation problem

2015-09-21 Thread Andrew Bernard
Hi Neil.

That can’t be the way to do it, even though it works. In pure principle, it’s 
way too much code complexity for the simplicity required. Just plain inelegant. 
Playing with your example, it is clear that lilypond is doing its maximum best 
to avoid a collision between the ledger lines and the accidentals of the note 
group in question. I tried using proportional notation on the example, but for 
me, it never really gets these issues right, no matter what duration you choose 
for the moment. Lilypond is so skilful at avoiding collisions that it always 
seems difficult to get it to behave otherwise. In the New Complexity School 
style music  I engrave, this issue comes up all the time, and the composer I 
work with is a stickler for the proportional notation being right, so I have a 
similar interest in this issue.

List gurus, what is the proper way to achieve the desired spacing in this case?

Andrew


On 22/09/2015, 10:59, "Neil Thornock" 
 wrote:

\new StaffGroup <<
 \new Staff { \overrideProperty 
Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 20) 
(alignment-distances . (0))) \transpose c c' { \voiceOne 16 q q q 
q16*1/2 \hideNotes c16*1/2 \unHideNotes q16 q q q q q q \times 2/3 { q8 q q } } 
}
 \new Staff \transpose c c' { \times 2/3 { des'4 des'8 } \times 2/3 { 
b8\rest 8 q } \times 2/3 { q q q } q q }
>>

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


Re: proportional notation problem

2015-09-21 Thread Simon Albrecht

On 22.09.2015 00:51, Neil Thornock wrote:

See the two attached images for my problem spot.

I'd like something more like the Finale output, but no matter what 
combination of proportional notation options I try, it won't budge. It 
seems like the ledger lines are too greedy.


Also, I have no idea how to get the flats in the lower voice to appear 
*before* the *previous* note of the top voice, which seems to me like 
a more elegant solution in this case.


Any advice? I can't figure this out.


It seems you’ve found a super difficult case.
Can you please post the LilyPond code you used for the second image 
()?


Yours, Simon

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


proportional notation problem

2015-09-21 Thread Neil Thornock
See the two attached images for my problem spot.

I'd like something more like the Finale output, but no matter what
combination of proportional notation options I try, it won't budge. It
seems like the ledger lines are too greedy.

Also, I have no idea how to get the flats in the lower voice to appear
*before* the *previous* note of the top voice, which seems to me like a
more elegant solution in this case.

Any advice? I can't figure this out.

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


Re: proportional notation problem

2015-09-21 Thread Neil Thornock
HACK-O-MATIC! I don't like it. But it works.

\new StaffGroup <<
 \new Staff { \overrideProperty
Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 20)
(alignment-distances . (0))) \transpose c c' { \voiceOne 16 q q q
q16*1/2 \hideNotes c16*1/2 \unHideNotes q16 q q q q q q \times 2/3 { q8 q q
} } }
 \new Staff \transpose c c' { \times 2/3 { des'4 des'8 } \times 2/3 {
b8\rest 8 q } \times 2/3 { q q q } q q }
>>


On Mon, Sep 21, 2015 at 5:12 PM, Neil Thornock 
wrote:

> Thanks Simon. Sample code:
>
> \transpose c c' { << {
>  16 q q q q q q q q q q q \times 2/3 { q8 q q }
> } \\ {
>  \times 2/3 { des'4 des'8 } \times 2/3 { b8\rest 8 q }
> \times 2/3 { q q q } q q
> } >> }
>
>
> On Mon, Sep 21, 2015 at 5:07 PM, Simon Albrecht 
> wrote:
>
>> On 22.09.2015 00:51, Neil Thornock wrote:
>>
>>> See the two attached images for my problem spot.
>>>
>>> I'd like something more like the Finale output, but no matter what
>>> combination of proportional notation options I try, it won't budge. It
>>> seems like the ledger lines are too greedy.
>>>
>>> Also, I have no idea how to get the flats in the lower voice to appear
>>> *before* the *previous* note of the top voice, which seems to me like a
>>> more elegant solution in this case.
>>>
>>> Any advice? I can't figure this out.
>>>
>>
>> It seems you’ve found a super difficult case.
>> Can you please post the LilyPond code you used for the second image (<
>> http://lilypond.org/tiny-examples.html>)?
>>
>> Yours, Simon
>>
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: proportional notation problem

2015-09-21 Thread Urs Liska


Am 22.09.2015 um 01:12 schrieb Neil Thornock:
> Thanks Simon. Sample code:
>
> \transpose c c' { << {
>  16 q q q q q q q q q q q \times 2/3 { q8 q q }
> } \\ {
>  \times 2/3 { des'4 des'8 } \times 2/3 { b8\rest 8 q }
> \times 2/3 { q q q } q q
> } >> }
>

\override LedgerLineSpanner.length-fraction = 0.1
or similar values will at least separate the ledger lines.

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


Re: syntactic equivalent for if __name__ == '__main__' in lilypond

2015-09-21 Thread Urs Liska


Am 22. September 2015 07:31:12 MESZ, schrieb Mike Solomon 
:
>Hey all,
>
>I’m developing a score where I’m including a lot of smaller .ily files
>into a bigger one and I often want to compile these .ily files by
>themselves.  Currently, I’m following the pattern of creating a new .ly
>file for the individual compilation, but that results in jostling
>between files and sometimes I get lost in the workflow.  Is there a
>pattern à la python equivalent to something like.
>
>%% foo.ily
>
>foo = \relative c’ {
>  a4 b c d
>}
>
>if __name__ == ‘__main__’
>  \new Staff \foo
>
>Cheers,
>MS

Maybe this can give you a start? 
https://git.openlilylib.org/bfsc/das-trunkne-lied/blob/master/library/ly/makescore/compile-segment.ily

Best
Urs

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

-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

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


Re: Text centralized above a TextSpan

2015-09-21 Thread David Kastrup
David Nalesnik  writes:

> Definitely softens the blow!  (While we're here--though it doesn't
> affect the user--I should have omitted the "parser location" from the
> extractTexts function.  New tricks, old dog.)

In Germany, there is a sort of New Year's Eve tradition of broadcasting
(and viewing) a two-person sketch "Dinner for One" where a butler serves
"Miss Sophie" and her traditional guests all of which have passed away
since the tradition started and are substituted for by the butler who,
having to do the toasts for every missing party, becomes inebriated
rather speedily.

As a running gag, whenever the butler serves a new dish or drink, he
stumbles on the head of a tiger pelt, cursing it.  Near the end of the
sketch, he just walks past the head, to the surprise of everybody
including himself as stumbling over it has become part of the routine.

parser location.

-- 
David Kastrup

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


Re: Ancient tab, letters alignment.

2015-09-21 Thread David Kastrup
Pierre Perol-Schneider  writes:

> Hi List,
>
> I need to get an ancient tab with a standard markup alignment instead of
> the default vertical one.
> Unfortunately, this code has no effect:
>
> \version "2.18.2"
>
> #(define-public
>   (my-fret-letter-tablature-format context string-number fret-number)
>  (let ((labels (ly:context-property context 'fretLabels)))
>   ;; changed from make-vcenter-markup
>   ;; has no effect:
>   (make-simple-markup
>(cond
> ((= 0 (length labels))
>  (string (integer->char (+ fret-number (char->integer #\a)
> ((and (<= 0 fret-number) (< fret-number (length labels)))
>  (list-ref labels fret-number))
> (else
>  (ly:warning "No label for fret ~a (on string ~a); only ~a fret labels
> provided"
>  fret-number string-number (length labels))
>".")

[...]

> Any idea?

I'll create a patch making this less hard-wired.  I'm not sure about
what our default should be, however.

I checked some lute tablature I had here as part of a partitura in order
to see what alignment is appropriate.  Good grief.  In the lute tab, the
letters were not crossing the staff lines but were _above_ them.
Alignment was definitely _centered_ vertically rather than on a
baseline.  Except for the letters on the top line: those were either
baseline-adjusted, or bottom-aligned (hard to say but probably the
latter).  Good grief.  I certainly hope that this tab (1953) was not
representative.

-- 
David Kastrup

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


Re: Text centralized above a TextSpan

2015-09-21 Thread David Nalesnik
On Mon, Sep 21, 2015 at 8:41 AM, David Kastrup  wrote:

> David Nalesnik  writes:
>
> > Here's a preliminary experiment with using \lyricmode as an input device
> > for text spanner details.  It could easily be incorporated into the
> larger
> > function, but I've pared this down to ask a question.
> >
> > Is it possible to avoid needing to type \lyricmode when calling \test?
>
> No.  Music functions don't get to choose the syntactic mode of their
> arguments.  It would be rather tricky to figure out when to switch back
> and forth without causing tokens to be lexed in the wrong mode due to
> lookahead.
>
>
I was initially worried that the presence of the word "lyric" would be a
potential source of confusion for a user--who is not entering lyrics, after
all.  But if we're going to use lyricmode, the command is a useful
reminder.  And, really, the improvement over the arcane entry of my last
posted version is huge, so who cares about those extra characters.

I'm attaching a rewrite of the code which allows an easy mix of
markups/strings and interprets hyphens as connectors.  Now there's no need
for a TextSpanner.connectors property.

Duration info is easily available, as are skips.  I'm unsure at the moment
how to use this info, though: whether there is more to be gleaned than
simply using durations as a guide to relative spacing, whether using this
info to position texts relative to notes is possible--or desirable.

This version also gives equal space between texts, promised earlier but not
delivered.  (This justification looks immensely better when long texts are
mixed with short.)

DN

%%%
\version "2.19.27"

 FUNCTIONS TO INCLUDE 

%% CUSTOM GROB PROPERTIES

% Taken from http://www.mail-archive.com/lilypond-user%40gnu.org/msg97663.html
% (Paul Morris)

% function from "scm/define-grob-properties.scm" (modified)
#(define (cn-define-grob-property symbol type?)
   (set-object-property! symbol 'backend-type? type?)
   (set-object-property! symbol 'backend-doc "custom grob property")
   symbol)

% For internal use.
#(cn-define-grob-property 'text-spanner-stencils list?)

% user interface
#(cn-define-grob-property 'text-spanner-line-count number-list?)

% How much space between line and object to left and right?
% Default is '(0.0 . 0.0).
#(cn-define-grob-property 'line-X-offset number-pair?)

% Vertical shift of connector line, independenf of texts.
#(cn-define-grob-property 'line-Y-offset number?)

#(define (get-text-distribution text-list line-extents)
   ;; Given a list of texts and a list of line extents, attempt to
   ;; find a decent line distribution.  The goal is to put more texts
   ;; on longer lines, while ensuring that first and last lines are texted.
   ;; TODO: ideally, we should consider extents of text, rather than
   ;; simply their number.
   (let* ((line-count (length line-extents))
  (text-count (length text-list))
  (line-lengths
   (map (lambda (line) (interval-length line))
 line-extents))
  (total-line-len (apply + line-lengths))
  (exact-per-line
   (map (lambda (line-len)
  (* text-count (/ line-len total-line-len)))
 line-lengths))
  ;; First and last lines can't be untexted.
  (adjusted
   (let loop ((epl exact-per-line) (idx 0) (result '()))
 (if (null? epl)
 result
 (if (and (or (= idx 0)
  (= idx (1- line-count)))
  (< (car epl) 1))
 (loop (cdr epl) (1+ idx)
   (append result (list 1.0)))
 (loop (cdr epl) (1+ idx)
   (append result (list (car epl)

 ;; The idea is to raise the "most roundable" line's count, then the
 ;; "next most roundable," and so forth, until we account for all texts.
 ;; Everything else is rounded down (except those lines which need to be
 ;; bumped up to get the minimum of one text), so we shouldn't exceed our
 ;; total number of texts.
 ;; TODO: Need a promote-demote-until-flush to be safe, unless this is
 ;; mathematically sound!
 (define (promote-until-flush result)
   (let* ((floored (map floor result))
  (total (apply + floored)))

 (if (>= total text-count)
 (begin
  ;(format #t "guess: ~a~%~%~%" result)
  floored)
 (let* ((decimal-amount
 (map (lambda (x) (- x (floor x))) result))
(maximum (apply max decimal-amount))
(max-location
 (list-index
  (lambda (x) (= x maximum))
  decimal-amount))
(item-to-bump (list-ref result max-location)))
   ;(format #t "guess: ~a~%" result)
   

Re: Polyphonic repeats with lyrics (and rests)

2015-09-21 Thread David Wright
Quoting Simon Albrecht (simon.albre...@mail.de):
> On 19.09.2015 06:18, David Wright wrote:
> >I noticed some erroneous alto lyrics invading recent CPDL editions of
> >Farmer's Fair Phyllis. I think the cause was some overenthusiastic
> >factoring of the lyrics using tagging. So I thought I'd run up a copy
> >myself, producing folded/unfolded scores from one source file.
> >
> >However I found, like others, that repeat barlines and voltas popped up
> >all over the place as soon as I entered the lyrics into the correct
> >structure. The Notation reference manual is not much help because none
> >of its examples involves either rests or more than one vocal line.
> >
> >While none of the workarounds I've found on the web does the job
> >satisfactorily, I think it's unduly pessimistic to say, "Unfortunately
> >there is no clear recipe for entering lyrics and repeats which will
> >work in all circumstances, as all the suggestions are work-arounds due
> >to there being no well-defined interface in LilyPond for handling
> >repeats in lyrics."
> >http://lists.gnu.org/archive/html/lilypond-user/2015-03/msg00866.html
> 
> It isn’t unduly pessimistic, but realistic. The ‘right’ example you
> gave is pretty good except that it doesn’t work with \lyricsto.

Nor \addlyrics. It seems to me (not looking at the code) that, in
their search for notes to attach syllables to, both these commands
could keep a tally of rests they've skipped over in order to then
"push" the repeat mark back to the place where it belongs (which the
\relative { ... } section knows all about). That's all *I'm* after.

> However it still does not offer a good way to have different texts
> for the different repeats – I think that’s what Trevor meant by
> speaking of a ‘well-defined interface’.

I think that's further than anyone in the thread was suggesting,
though you might have read that into it. After all, it's a common
construction, I imagine. But if the words are different, then it's not
strictly a repeat, so fold/unfold doesn't apply as things stand.

You can set different words to a repeated section in the same manner
as setting multiple stanzas (like a hymn) with null voices etc if
required, but you can't then unfold it. I guess that's what you might
want to do.

> Such an interface would need
> to
> – be straightforward in entering
> – work with \lyricsto
> – allow using the same text for all repeats (using \repeat volta {}
> \alternative {{}{}})
> or different text, with simple consecutive lyrics entry and
> automated fitting into the repeat structure (at least that’s how I
> figure it), or with a \repeat lyrics {} command, or something else.
> – print braces {} around text lines for different repeats, and
> vertically center-align neighbouring lyrics without repeat (within
> one stanza this is commonly found in hymns in the Bar form; for
> complex multiple-stanza layouts see e.g. Distler,
> Mörike-Chorliederbuch on IMSLP). Perhaps \repeat stanza {} might be
> introduced. Automatic printing of stanza numbers?
> 
> So this is a really large topic, and until we have someone able and
> willing to design and implement such a feature, we are bound to
> workarounds.

I agree, but I would say that that is a different animal, and I would
hate the difficulty of doing all that design to stand in the way of
the much simpler problem (I think) of making \lyricsto and \addlyrics
do what \new Lyrics \lyricmode does perfectly correctly for lyrics
which are, like the music, strictly repeated.

The bigger problem would also, if I understand it fully, have to apply
to the music as well as the lyrics. I don't have an example to hand,
but you can imagine a piece where the "repeated" section is, say,
forte and then piano. Unfolding this is easy for the (now different)
lyrics where you've added the dynamics as if stanza numbers, but now
you've got to tell the accompanying parts by unfolding "f, repeat p"
into "f" and "p". Treating dashed slurs, anybody?

> As I said, you gave a good example there and it may well make sense
> to include it as a ‘docs’ LSR snippet. You might have a look at the
> Contributor’s Guide (via ) for
> that.

Thanks; I'll take a look at that (and I'll stop hyphenating Now -- I).

Cheers,
David.

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


Re: Polyphonic repeats with lyrics (and rests)

2015-09-21 Thread Simon Albrecht

On 21.09.2015 19:04, David Wright wrote:

Quoting Simon Albrecht (simon.albre...@mail.de):

On 19.09.2015 06:18, David Wright wrote:

I noticed some erroneous alto lyrics invading recent CPDL editions of
Farmer's Fair Phyllis. I think the cause was some overenthusiastic
factoring of the lyrics using tagging. So I thought I'd run up a copy
myself, producing folded/unfolded scores from one source file.

However I found, like others, that repeat barlines and voltas popped up
all over the place as soon as I entered the lyrics into the correct
structure. The Notation reference manual is not much help because none
of its examples involves either rests or more than one vocal line.

While none of the workarounds I've found on the web does the job
satisfactorily, I think it's unduly pessimistic to say, "Unfortunately
there is no clear recipe for entering lyrics and repeats which will
work in all circumstances, as all the suggestions are work-arounds due
to there being no well-defined interface in LilyPond for handling
repeats in lyrics."
http://lists.gnu.org/archive/html/lilypond-user/2015-03/msg00866.html

It isn’t unduly pessimistic, but realistic. The ‘right’ example you
gave is pretty good except that it doesn’t work with \lyricsto.

Nor \addlyrics.


addlyrics is known to be unreliable and messy in all but the most simple 
situations, but it might use the same mechanism as lyricsto here.



  It seems to me (not looking at the code) that, in
their search for notes to attach syllables to, both these commands
could keep a tally of rests they've skipped over in order to then
"push" the repeat mark back to the place where it belongs (which the
\relative { ... } section knows all about). That's all *I'm* after.


I can’t comment on internals, as I know them too little. But you’re 
welcome send a feature request to bug-lilyp...@gnu.org, including a 
concise example of what you think is wrong now, and how it should behave 
instead.


Yours, 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-21 Thread David Kastrup
Johan Vromans  writes:

> On Mon, 21 Sep 2015 11:00:13 +0200
> David Kastrup  wrote:
>
>> Johan Vromans  writes:
>> > It is easy to instruct LilyPond that a chord of form  must be
>> > shown as minor (e.g., Cm), but can I do the other way around? E.g.,
>> > define a 'foo' so that X:foo means  or whatever notes I want?
>> 
>> Possible but obscure.  Take a look at the \powerChords command which
>> does exactly that (but should be the default in my opinion as the
>> behavior without it is not useful).
>
> Maybe I do not get the full meaning of \powerChords, but all it seems to do
> is print the chord name for a:1.5 as A5. What I was looking for is a way to
> define that, for example, 
>
>   a:five  ->  -> A5
>
> So it is the *input* side I'd want to change.

Ah, ok.

It would be something like

#(set!
  default-chord-modifier-list
  (acons 'five (lambda (pitches)
 (remove-step (pitch-step (ly:make-pitch 0 2 0)) pitches))
 default-chord-modifier-list))

to do that.  Again in the "possible but obscure" ballpark.  And you
probably need to pull in the definitions of remove-step and pitch-step
from scm/chord-ignatzek-names as well.

-- 
David Kastrup

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


Re: Ancient tab, letters alignment.

2015-09-21 Thread Simon Albrecht

On 21.09.2015 17:52, David Kastrup wrote:

Pierre Perol-Schneider  writes:


Hi List,

I need to get an ancient tab with a standard markup alignment instead of
the default vertical one.
Unfortunately, this code has no effect:

\version "2.18.2"

#(define-public
   (my-fret-letter-tablature-format context string-number fret-number)
  (let ((labels (ly:context-property context 'fretLabels)))
   ;; changed from make-vcenter-markup
   ;; has no effect:
   (make-simple-markup
(cond
 ((= 0 (length labels))
  (string (integer->char (+ fret-number (char->integer #\a)
 ((and (<= 0 fret-number) (< fret-number (length labels)))
  (list-ref labels fret-number))
 (else
  (ly:warning "No label for fret ~a (on string ~a); only ~a fret labels
provided"
  fret-number string-number (length labels))
".")

[...]


Any idea?

I'll create a patch making this less hard-wired.  I'm not sure about
what our default should be, however.

I checked some lute tablature I had here as part of a partitura in order
to see what alignment is appropriate.  Good grief.  In the lute tab, the
letters were not crossing the staff lines but were _above_ them.
Alignment was definitely _centered_ vertically rather than on a
baseline.  Except for the letters on the top line: those were either
baseline-adjusted, or bottom-aligned (hard to say but probably the
latter).  Good grief.  I certainly hope that this tab (1953) was not
representative.


I don’t have much experience with tabs, but can reference some historic 
prints:
London 1613 

Rome 1616 

Breitkopf 1760 



In case it be of help.

Yours, 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-21 Thread David Nalesnik
On Mon, Sep 21, 2015 at 11:13 AM, David Nalesnik 
wrote:

>
>
> I'm attaching a rewrite of the code which allows an easy mix of
> markups/strings and interprets hyphens as connectors.  Now there's no need
> for a TextSpanner.connectors property.
>
>
I should mention that spacers need their own hyphen so the line is
continued:

 \addTextSpannerText \lyricmode { ral -- "" -- len -- tan -- do }


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


Re: Text centralized above a TextSpan

2015-09-21 Thread David Nalesnik
On Mon, Sep 21, 2015 at 9:09 AM, David Kastrup  wrote:

> David Nalesnik  writes:
>
> > Definitely softens the blow!  (While we're here--though it doesn't
> > affect the user--I should have omitted the "parser location" from the
> > extractTexts function.  New tricks, old dog.)
>
> In Germany, there is a sort of New Year's Eve tradition of broadcasting
> (and viewing) a two-person sketch "Dinner for One" where a butler serves
> "Miss Sophie" and her traditional guests all of which have passed away
> since the tradition started and are substituted for by the butler who,
> having to do the toasts for every missing party, becomes inebriated
> rather speedily.
>
> As a running gag, whenever the butler serves a new dish or drink, he
> stumbles on the head of a tiger pelt, cursing it.  Near the end of the
> sketch, he just walks past the head, to the surprise of everybody
> including himself as stumbling over it has become part of the routine.
>
> parser location.
>
>
Hastening the end of the sketch? ;)
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Text centralized above a TextSpan

2015-09-21 Thread David Kastrup
David Nalesnik  writes:

> Here's a preliminary experiment with using \lyricmode as an input device
> for text spanner details.  It could easily be incorporated into the larger
> function, but I've pared this down to ask a question.
>
> Is it possible to avoid needing to type \lyricmode when calling \test?

No.  Music functions don't get to choose the syntactic mode of their
arguments.  It would be rather tricky to figure out when to switch back
and forth without causing tokens to be lexed in the wrong mode due to
lookahead.

-- 
David Kastrup

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


Re: Text centralized above a TextSpan

2015-09-21 Thread David Kastrup
Michael Gerdau  writes:

>> Hastening the end of the sketch? ;)
>
> For those not knowing this classic, here is a YT link of not too good
> quality but which does transport the important parts:
> https://www.youtube.com/watch?v=NDqD0Dz_J-M

Ah, the Swiss recording.  It's rather condensed.  I'd rather go for one
of the versions recorded for German TV.  Of course, viewers in Germany
itself will be blocked from seeing those versions but they probably know
them by heart anyway.

-- 
David Kastrup

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


Re: Text centralized above a TextSpan

2015-09-21 Thread Michael Gerdau
> Hastening the end of the sketch? ;)

For those not knowing this classic, here is a YT link of not too good
quality but which does transport the important parts:
https://www.youtube.com/watch?v=NDqD0Dz_J-M

Kind regards,
Michael
-- 
 Michael Gerdau   email: m...@qata.de
 GPG-keys available on request or at public keyserver

signature.asc
Description: This is a digitally signed message part.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Chords and what they mean

2015-09-21 Thread Johan Vromans
On Mon, 21 Sep 2015 11:00:13 +0200
David Kastrup  wrote:

> Johan Vromans  writes:
> > It is easy to instruct LilyPond that a chord of form  must be
> > shown as minor (e.g., Cm), but can I do the other way around? E.g.,
> > define a 'foo' so that X:foo means  or whatever notes I want?
> 
> Possible but obscure.  Take a look at the \powerChords command which
> does exactly that (but should be the default in my opinion as the
> behavior without it is not useful).

Maybe I do not get the full meaning of \powerChords, but all it seems to do
is print the chord name for a:1.5 as A5. What I was looking for is a way to
define that, for example, 

  a:five  ->  -> A5

So it is the *input* side I'd want to change.

Together with a chordNameException

  1-\markup {"5"}

This would give me all I want to handle every fancy chord combination I can
dream.

-- Johan

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


Ancient tab, letters alignment.

2015-09-21 Thread Pierre Perol-Schneider
Hi List,

I need to get an ancient tab with a standard markup alignment instead of
the default vertical one.
Unfortunately, this code has no effect:

\version "2.18.2"

#(define-public
  (my-fret-letter-tablature-format context string-number fret-number)
 (let ((labels (ly:context-property context 'fretLabels)))
  ;; changed from make-vcenter-markup
  ;; has no effect:
  (make-simple-markup
   (cond
((= 0 (length labels))
 (string (integer->char (+ fret-number (char->integer #\a)
((and (<= 0 fret-number) (< fret-number (length labels)))
 (list-ref labels fret-number))
(else
 (ly:warning "No label for fret ~a (on string ~a); only ~a fret labels
provided"
 fret-number string-number (length labels))
   ".")


\layout {
  \context {
\Score
tablatureFormat = #my-fret-letter-tablature-format
  }
}

\new TabVoice
  \relative {
e' f fis g gis a ais b
  }


%% or even when deleting 'vcenter-markup':
#(define-public
  (my-fret-letter-tablature-format-bis context string-number fret-number)
 (let ((labels (ly:context-property context 'fretLabels)))
  ;; delete make-vcenter-markup
  ;; has no effect:
   (cond
((= 0 (length labels))
 (string (integer->char (+ fret-number (char->integer #\a)
((and (<= 0 fret-number) (< fret-number (length labels)))
 (list-ref labels fret-number))
(else
 (ly:warning "No label for fret ~a (on string ~a); only ~a fret labels
provided"
 fret-number string-number (length labels))
   "."

\layout {
  \context {
\Score
tablatureFormat = #my-fret-letter-tablature-format-bis
  }
}

\new TabVoice
  \relative {
e' f fis g gis a ais b
  }

Any idea?

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


Re: Chords and what they mean

2015-09-21 Thread Johan Vromans
On Mon, 21 Sep 2015 08:55:33 +0200
Blöchl Bernhard  wrote:

> If c:sus is a simple way to get C5 ...

It is easy to instruct LilyPond that a chord of form  must be shown
as minor (e.g., Cm), but can I do the other way around? E.g., define a
'foo' so that X:foo means  or whatever notes I want?

-- Johan
 

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


Re: Chords and what they mean

2015-09-21 Thread David Kastrup
Johan Vromans  writes:

> On Mon, 21 Sep 2015 08:55:33 +0200
> Blöchl Bernhard  wrote:
>
>> If c:sus is a simple way to get C5 ...
>
> It is easy to instruct LilyPond that a chord of form  must be shown
> as minor (e.g., Cm), but can I do the other way around? E.g., define a
> 'foo' so that X:foo means  or whatever notes I want?

Possible but obscure.  Take a look at the \powerChords command which
does exactly that (but should be the default in my opinion as the
behavior without it is not useful).

-- 
David Kastrup

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


Re: Chords and what they mean

2015-09-21 Thread mskala
On Mon, 21 Sep 2015, Johan Vromans wrote:
> > What seems like it would be most useful for me would be to forget about
> > LilyPond's chord-naming translation from note sets to symbols, and just
> > use markup to add symbols of my choice wherever I want them.  So that

> You'll lose the ability to transpose.

That's true, but transposition was already not working well for me.

-- 
Matthew Skala
msk...@ansuz.sooke.bc.ca People before principles.
http://ansuz.sooke.bc.ca/

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