lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Understanding how \tag works in \relative pitched music


From: David Kastrup
Subject: Re: Understanding how \tag works in \relative pitched music
Date: Sat, 09 Sep 2017 16:11:55 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

David Wright <address@hidden> writes:

[...]

>> >> Now make-relative is a convenient but quite heavy-handed macro.
>> >> There are situations where it fails, and then it does so
>> >> spectacularly.
>> >> 
>> >> The reason is that it allows creating a more natural "user
>> >> experience" by a totally unnatural and complex actual inner
>> >> operation that has to be defined individually for each music
>> >> function written by the programmer.
>> >
>> > Hey, programming's hard. Glad I'm retired.
>> 
>> It's not that programming is hard but that the concept of \relative
>> does not map well to music functions or other forms of rearranging
>> input since the user expectation with regard to \relative is focused
>> on input order rather than music expression internal order.
>> 
>> In fact, the mess \relative creates was such that issue 2240
>> (changing the music expression internals, various followup issues)
>> was necessary for fixing chord repetition in \relative mode, in order
>> to have issue 2263 for fixing the long-standing issue 1110.
>> 
>> Issue 2240 and all of the followup work took several months of work,
>> and \relative has intervened for additional work several times.  The
>> "Hey, programming is hard.  Glad I'm retired." attitude coupled with
>> the expectation that some sucker is going to do it because you won't
>> is actually pretty offensive considering on how little money I had
>> and have to get by for making such actually inherent problems mostly
>> go away.  What kind of retirement entitles you to have me and other
>> programmers make LilyPond work according to your expectations?
>
> I honestly hadn't realised that, when considering the design and
> documentation of a language construction, one should take into
> consideration the finances of a person who has decided to implement
> it.

[...]

> Now I'm retired, I'm happy to be a user of other people's software,
> and the programming I do is limited pretty much to scripting in bash
> and python on linux, for convenience rather than necessity. The
> pressure's off for me; what's wrong with that? I don't see why you
> should try to make me feel any shame in being retired.

You could stop the gloating.  I don't think you would like to get by
with the kind of payment I get for my programming, so expressing your
opinion that it's time for others to do the programming because you made
enough doing so to be able to retire is not exactly enjoyable to hear.

>> We have warnings in the manual exactly because users in general find
>> the interaction of \relative and the \tag-related commands
>> surprising.  If you lecture users on the same questions year after
>> year after, at some point you ask yourself where the point in being
>> right is when it is so much trouble.
>
> So much trouble for whom?

For the ones having to hand out the same information time and again.

>> So what do you think
>> 
>>     \fixed a'' { c d e f g a b c' }
>> 
>> should map to?
>
> Could, not should.
>
> \absolute { c'' d''' e''' f''' g''' a'' b'' c''' }

Where does the discontinuity between c'' and d''' come from?  You
probably mean

\absolute { c''' d''' e''' f''' g''' a'' b'' c'''' }

>> Maybe
>> 
>>     \absolute { c' d' e' f' g' a'' b'' c'' }
>> 
>> ?  So as the argument to \fixed rises, the result gets lower until the
>> octave jumps and then it gets higher?  That's sort-of discontinuous.
>> The continuous result would be
>> 
>>     \absolute { c'' d'' e''' f''' g''' a''' b''' c''' }
>> 
>> but you can't really make anybody cheer for that as a user interface
>> even though it would be logical.  So you are likely rooting for the
>> discontinuous approach.

I have no idea actually how either proposal of mine is supposed to make
any sense, so it seems like a concept rather hard to get right.  But
then neither does yours.

> Under a definition I described earlier, \fixed a'' { c d e f g a b c' }
> wouldn't be an octave scale, because the point in a written scale
> where a prime or comma needs to added or removed would be the
> transition between g-a, not b-c. So a scale on c'' would be written
>
> \fixed a'' { c d e f g a' b' c' }

That would be a scale on c''' since it would contain a''' .  See how
_confusing_ this scheme is?

You haven't managed to get a single example consistent/right, and
neither have I on first try.

That's what makes it a bad idea.

> (I've added the x here in case anyone were to read this paragraph later,
> in isolation from the above discussion.)
>
> \fixedx c'' { f, g, a, b, c   d   e   f   g   a   b   c'   d'   e'   f' }
> \absolute {   f' g' a' b' c'' d'' e'' f'' g'' a'' b'' c''' d''' e''' f''' }
>
>
> \fixedx a' { b, c, d, e, f, g, a  b  c   d   e   f   g   a'  b'  c'   d' }
> \absolute {  b  c' d' e' f' g' a' b' c'' d'' e'' f'' g'' a'' b'' c''' d''' }
>
>
> \fixedx fis' { b, c, d, e, f  g  a  b  c   d   e   f'  g'  a'  b'  c'   d' }
> \absolute {    b  c' d' e' f' g' a' b' c'' d'' e'' f'' g'' a'' b'' c''' d''' }
>

Better.

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]