Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-22 Thread Paul Morris
> On May 21, 2015, at 2:36 AM, k-ohara5...@oco.net wrote:
> 
> I'm proposing to push a \fixed c' {} that always takes a reference
> pitch, as in the current patch.
> 
> It costs nothing to leave \absolute in place for those who have learned
> it, but it is simplest to document instead the equivalent \fixed c
> {...}.
> 
> That gives us the benefit of less typing and keeps options open for
> behavior of \fixed if we skip the reference pitch.

I’m fine with this proposal.  (I’d be fine with either \octave or \fixed for 
the name, FWIW.)

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-21 Thread David Kastrup
Wols Lists  writes:

> On 21/05/15 07:36, k-ohara5...@oco.net wrote:
>> I'm proposing to push a \fixed c' {} that always takes a reference 
>> pitch, as in the current patch.
>
> So the behaviour is different from \relative, which doesn't have to
> have a reference pitch. :-(
>> 
>> It costs nothing to leave \absolute in place for those who have
>> learned it, but it is simplest to document instead the equivalent
>> \fixed c {...}.
>> 
>> That gives us the benefit of less typing and keeps options open
>> for behavior of \fixed if we skip the reference pitch.
>> 
> But it probably means more code, and more learning ... (and more
> confusion for users)

We've been going in circles over the sensible arguments already, so how
about not adding non-sensical ones?  "it probably means more code"?
What kind of wishy-washy argument is that?  "more learning"?  How is
that even applicable for any new _optional_ feature, and how does it
differ from any other new optional feature and how would that differ
from any _other_ implementation of this feature?

> If \fixed takes an optional (defaults to c') reference pitch then the
> underlying code will be the same.

"defaults to c'"?  So that \absolute { ... } and \fixed { ... } would be
one octave apart?  That's going to decrease confusion?

Seriously.

I don't think that this is in line for further arguments.  If at all,
it's up for a vote.  The arguments are trotted out well enough already,
it's just the conclusions that differ.

-- 
David Kastrup

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-21 Thread Wols Lists
On 21/05/15 07:36, k-ohara5...@oco.net wrote:
> I'm proposing to push a \fixed c' {} that always takes a reference 
> pitch, as in the current patch.

So the behaviour is different from \relative, which doesn't have to
have a reference pitch. :-(
> 
> It costs nothing to leave \absolute in place for those who have
> learned it, but it is simplest to document instead the equivalent
> \fixed c {...}.
> 
> That gives us the benefit of less typing and keeps options open
> for behavior of \fixed if we skip the reference pitch.
> 
But it probably means more code, and more learning ... (and more
confusion for users)

If \fixed takes an optional (defaults to c') reference pitch then the
underlying code will be the same.
> 
> https://codereview.appspot.com/235010043/
> 
Cheers,
Wol


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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-20 Thread k-ohara5a5a

I'm proposing to push a \fixed c' {} that always takes a reference
pitch, as in the current patch.

It costs nothing to leave \absolute in place for those who have learned
it, but it is simplest to document instead the equivalent \fixed c
{...}.

That gives us the benefit of less typing and keeps options open for
behavior of \fixed if we skip the reference pitch.


https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-20 Thread David Kastrup
Paul Morris  writes:

>> On May 20, 2015, at 12:35 PM, Werner LEMBERG  wrote:
>> 
>>> (3. A mostly-trivial poetic bonus: regular and relative are easy to
>>> remember as a pair because the alliteration of them both starting
>>> with “re".)
>> 
>> Bonus?  Only native English speakers think along such lines, I
>> reckon :-)
>> 
>> I strongly vote against \regular in this context.  It's far too easy
>> to confuse it with \relative.
>
> :-) Fair enough, at least it did occur to me that this cuts both ways
> and could be seen as a negative.
>
> If not “regular” then maybe there's something else along the lines of
> "the default entry mode” as with plain {…}.  \default is already
> taken…  I guess there's \standard but I don’t suppose it would fare
> any better than \regular.

There are words like \static or \moored or \tethered which better match
the semantics.  But that's mostly for native English speakers rather
than those whose familiarity with English stems predominantly from a
vocabulary of computing terms.  So it's more important to get a
linguistic opposite of "relative" than a perfectly descriptive term.

-- 
David Kastrup

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-20 Thread pls

On 20.05.2015, at 20:19, Werner LEMBERG  wrote:

> 
>> Except you're doing a ghoti Bernard Shaw on our sentence structure.
>> German declines its articles, so you can tell subject and object by
>> article, in English we have to do it by position *relative to the
>> verb*.

Schweine fressen die Menschen!

Which one’s the subject and which one’s the object? Well, it depends! ;)

> 
> German has other niceties, like
> 
>  der gefangene Flohthe prisoned flea
>  der Gefangene flohthe prisoner escaped
> 
> look at the case :-)




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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-20 Thread Paul Morris

> On May 20, 2015, at 12:35 PM, Werner LEMBERG  wrote:
> 
>> (3. A mostly-trivial poetic bonus: regular and relative are easy to
>> remember as a pair because the alliteration of them both starting
>> with “re".)
> 
> Bonus?  Only native English speakers think along such lines, I
> reckon :-)
> 
> I strongly vote against \regular in this context.  It's far too easy
> to confuse it with \relative.

:-)  Fair enough, at least it did occur to me that this cuts both ways and 
could be seen as a negative.

If not “regular” then maybe there's something else along the lines of "the 
default entry mode” as with plain {…}.  \default is already taken…  I guess 
there's \standard but I don’t suppose it would fare any better than \regular.

Anyway, we already have some good options on the table.  I guess you can’t 
fault us for not considering all the possibilities, and at least there’s 
agreement that this is a useful feature.  

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-20 Thread Anthonys Lists

On 20/05/2015 19:19, Werner LEMBERG wrote:

Except you're doing a ghoti Bernard Shaw on our sentence structure.
German declines its articles, so you can tell subject and object by
article, in English we have to do it by position *relative to the
verb*.

German has other niceties, like

   der gefangene Flohthe prisoned flea
   der Gefangene flohthe prisoner escaped

look at the case :-)


 Werner


Das Zeit fliegt wie ein Pfeil, Fruchtfliegen mocht Bananen ...

I hope I've translated it right, as the original is

Time flies like an arrow, fruit flies like a banana.

Cheers,
Wol

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-20 Thread Werner LEMBERG

> Except you're doing a ghoti Bernard Shaw on our sentence structure.
> German declines its articles, so you can tell subject and object by
> article, in English we have to do it by position *relative to the
> verb*.

German has other niceties, like

  der gefangene Flohthe prisoned flea
  der Gefangene flohthe prisoner escaped

look at the case :-)


Werner

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-20 Thread David Kastrup
Wols Lists  writes:

> On 20/05/15 18:18, David Kastrup wrote:
>> James  writes:
>> 
>>> However [English] is a very forgiving language, you can really mangle
>>> our sentence structure and we'll still know what you mean ;)
>> 
>> Uh no?
>> 
>> "The dog bites the man" has a different meaning from "The man bites the
>> dog" whereas in German "Der Hund beißt den Mann" and "Den Mann beißt der
>> Hund" have the same unambiguous meaning.  Star War's Yoda's speech
>> patterns would not be particularly distinctive in German.  "Den Mann zu
>> beißen der Hund sich nicht entbrechen konnte" is still almost pristine
>> even though "Den Mann zu beißen konnte der Hund sich nicht entbrechen"
>> would be slightly less archaic though not staggeringly so.
>> 
> Except you're doing a ghoti Bernard Shaw on our sentence structure.
> German declines its articles, so you can tell subject and object by
> article, in English we have to do it by position *relative to the verb*.
>
> "Bites the man the dog" is weird but unambiguous because we haven't
> messed up the declension rules.

"Beißt den Mann der Hund" is _also_ possible, but it is a setup.  It is
proper German when followed by a consequence: "Beißt den Mann der Hund,
gibt es Ärger."  It can be used as a standalone sentence in a story
setup as well.  While that is not really "proper German" but rather
Yiddish, it is commonly employed in German jokes (probably because
Germans don't have germane humour and consequently no high German joke
architecture): "Kommt ein Pferd in den Saloon.  Sagt der Barkeeper:"

-- 
David Kastrup

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-20 Thread Wols Lists
On 20/05/15 18:18, David Kastrup wrote:
> James  writes:
> 
>> However [English] is a very forgiving language, you can really mangle
>> our sentence structure and we'll still know what you mean ;)
> 
> Uh no?
> 
> "The dog bites the man" has a different meaning from "The man bites the
> dog" whereas in German "Der Hund beißt den Mann" and "Den Mann beißt der
> Hund" have the same unambiguous meaning.  Star War's Yoda's speech
> patterns would not be particularly distinctive in German.  "Den Mann zu
> beißen der Hund sich nicht entbrechen konnte" is still almost pristine
> even though "Den Mann zu beißen konnte der Hund sich nicht entbrechen"
> would be slightly less archaic though not staggeringly so.
> 
Except you're doing a ghoti Bernard Shaw on our sentence structure.
German declines its articles, so you can tell subject and object by
article, in English we have to do it by position *relative to the verb*.

"Bites the man the dog" is weird but unambiguous because we haven't
messed up the declension rules. If you just swapped the noun in German I
guess either (in this case) you *would* mess up the meaning, or because
you have gender rules you'd end up with nonsense.

Cheers,
Wol

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-20 Thread David Kastrup
James  writes:

> However [English] is a very forgiving language, you can really mangle
> our sentence structure and we'll still know what you mean ;)

Uh no?

"The dog bites the man" has a different meaning from "The man bites the
dog" whereas in German "Der Hund beißt den Mann" and "Den Mann beißt der
Hund" have the same unambiguous meaning.  Star War's Yoda's speech
patterns would not be particularly distinctive in German.  "Den Mann zu
beißen der Hund sich nicht entbrechen konnte" is still almost pristine
even though "Den Mann zu beißen konnte der Hund sich nicht entbrechen"
would be slightly less archaic though not staggeringly so.

-- 
David Kastrup

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-20 Thread Wols Lists
On 20/05/15 18:05, James wrote:
> /slaʊ/ the town of Slough in the Thames Valley of England
> 
Come friendly bombs ...

> :)
> 
> Also reminds me of this:
> 
> https://en.wikipedia.org/wiki/Ghoti
> 
> I always show this to my non-native English speaking colleagues to show
> them how ridiculous English can be sometimes.
> 
> However it is a very forgiving language, you can really mangle our
> sentence structure and we'll still know what you mean ;)
> 
> James
> 
Thing is, English is not a pure language, it's a mongrel mess of
anglo-saxon, norman french, latin, norse, and heaven knows what else. If
you want a coop o' char, that's indian!

I gather someone has created a "text to speech" engine and, if you
exclude all the exceptions to handle foreign immigrant words, you only
need about 30 rules to cope with a 50,000 word vocabulary (in
comparison, a normal person has a regular vocabulary of about 6,000
words and typical total vocabulary of about 20,000 iirc).

Cheers,
Wol

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-20 Thread James



On 20/05/15 17:50, David Kastrup wrote:

Werner LEMBERG  writes:


(3. A mostly-trivial poetic bonus: regular and relative are easy to
remember as a pair because the alliteration of them both starting
with “re".)

Bonus?  Only native English speakers think along such lines, I
reckon :-)

The pronunciations of cough, bough, though, tough, plough are easy to
remember since they are conveniently different.


Off topic I know but

Note that "slough" has three pronunciations according to meaning:

/sluː/ (as in, "slogging through a slough of mud")[1]
/slʌf/ (as in "to slough off")
/slaʊ/ the town of Slough in the Thames Valley of England

:)

Also reminds me of this:

https://en.wikipedia.org/wiki/Ghoti

I always show this to my non-native English speaking colleagues to show 
them how ridiculous English can be sometimes.


However it is a very forgiving language, you can really mangle our 
sentence structure and we'll still know what you mean ;)


James

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-20 Thread David Kastrup
Werner LEMBERG  writes:

>> (3. A mostly-trivial poetic bonus: regular and relative are easy to
>> remember as a pair because the alliteration of them both starting
>> with “re".)
>
> Bonus?  Only native English speakers think along such lines, I
> reckon :-)

The pronunciations of cough, bough, though, tough, plough are easy to
remember since they are conveniently different.

-- 
David Kastrup

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-20 Thread Werner LEMBERG
> (3. A mostly-trivial poetic bonus: regular and relative are easy to
> remember as a pair because the alliteration of them both starting
> with “re".)

Bonus?  Only native English speakers think along such lines, I
reckon :-)

I strongly vote against \regular in this context.  It's far too easy
to confuse it with \relative.


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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-20 Thread David Kastrup
Paul Morris  writes:

> Another thought, how about the name \regular?

I don't find that any better than any previous proposal.  \relative is
not irregular.

> 2. “regular” also refers to the consistency or regularity of the
> octave indications in this entry mode, as contrasted with relative
> mode — the regularity where ,,, ,, , ’ ’’ ’’’ each refers to the same
> octave within the {…}.  As in this dictionary definition of “regular”:
> "arranged in or constituting a constant or definite pattern,
> especially with the same space between individual instances”.

That definition is the same as "equidistant", not as "with fixed
meaning" or "not depending on the previous note".

> And I’d say its descriptiveness or intuitiveness is at
> least as good as \fixed, maybe better.  Worth considering.

I don't like \fixed but consider \regular even more arbitrary.  At any
rate, we pretty much figured out that we won't get an unanimous decision
on the details of this proposal's naming choice.  Even though we seem to
have more or less reached agreement that the facility itself would be a
nice addition to LilyPond's input toolbox.

-- 
David Kastrup

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-20 Thread Paul Morris
Another thought, how about the name \regular?  It works in two senses:

1. Instead of contrasting relative and absolute the contrast is between 
relative and plain "{…}" entry, which is LilyPond's default, standard, or 
“regular” mode of note entry.  So \regular makes it explicit that the notes are 
entered in the regular entry mode rather than the relative one.

2. “regular” also refers to the consistency or regularity of the octave 
indications in this entry mode, as contrasted with relative mode — the 
regularity where ,,,  ,,  ,  ’  ’’  ’’’ each refers to the same octave within 
the {…}.  As in this dictionary definition of “regular”:  "arranged in or 
constituting a constant or definite pattern, especially with the same space 
between individual instances”.

(3. A mostly-trivial poetic bonus: regular and relative are easy to remember as 
a pair because the alliteration of them both starting with “re".)

Since \regular doesn’t have the “absolute pitch" connotations of \absolute it 
doesn’t present the same cognitive dissonance when its notes are shifted in 
relation to a reference octave (with an optional argument).  And I’d say its 
descriptiveness or intuitiveness is at least as good as \fixed, maybe better.  
Worth considering.

\relative { c'' g' e c }
\regular { c'' g'' e'' c'' }
\regular c'' { c g e c }

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-18 Thread k-ohara5a5a

On 2015/05/17 22:06:10, Trevor Daniels wrote:

> ... I'd prefer
> the syntax and options [of \absolute] to parallel those of
> \relative.  That is, an optional prefix pitch to indicate
> the starting octave, and taking the starting octave from
> the first contained note if the prefix is omitted.


I looked at this again.
We would need to write code to find the first pitch, for the general
case like
  \absolute <<{g'4 f e2} {b, c d}>>
The corresponding finding of the first pitch in \relative comes out
naturally from the code (in C, mostly) that makes each pitch reference
the previous pitch.

The meaning changes when the contents are re-ordered
  \absolute <<{b, c d} {g'4 f e2}>>
and freedom to re-arrange music was a significant motivation to get away
from \relative.

Also, the first pitch of a natural segment of music is quote often at
one end of the range of that segment, so not in the most convenient
octave.
\absolute { \partial 4 g4 | c'4. b8 c'4 e'4
| d'4. c'8 d'4 e'8 d'8 | c'4. c'8 e'4 g'4 | a'2. r4 }

So I don't think we will regret passing up this behavior when the
reference pitch is omitted.  Nevertheless, we could have \fixed always
use a reference pitch.


https://codereview.appspot.com/235010043/diff/140001/Documentation/learning/common-notation.itely
File Documentation/learning/common-notation.itely (right):

https://codereview.appspot.com/235010043/diff/140001/Documentation/learning/common-notation.itely#newcode1521
Documentation/learning/common-notation.itely:1521: c4 \fixed c'' { f g }
c
   c'4 \fixed c { f'' g'' } c |
   c4 \fixed c'' { f g } c
because optional arguments confuse simple-minded people like me, and
"\fixed c" is still easier to type than "\avsolute"

This patch leaves \absolute in place, documented automatically in
section A.19 by its doc-string.

https://codereview.appspot.com/235010043/diff/140001/Documentation/notation/pitches.itely
File Documentation/notation/pitches.itely (right):

https://codereview.appspot.com/235010043/diff/140001/Documentation/notation/pitches.itely#newcode112
Documentation/notation/pitches.itely:112: The reference pitch after
@code{\fixed} is optional.
On 2015/05/17 21:09:13, dak wrote:

I really hope you mean @code{\fixed c} here,

I did.

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-18 Thread David Kastrup
Paul Morris  writes:

>> On May 18, 2015, at 5:13 AM, Joram  wrote:
>> 
>> shifting the octave is *not* absolute. So the input
>> \absolute c'' { c' } for c''' is a contradiction in itself.
>> That’s why I strongly recommend not to use \absolute for some kind of
>> non-absolute notation.
>
> +1, and especially with new users in mind.
>
> I agree with David that two commands are better than three here, and
> so I think replacing \absolute with the new \fixed is the best
> solution (scheme “d” in David’s list).
>
> In terms of assessing trade-offs I’d be willing to help document
> \fixed (as the new \absolute) if that is a significant factor.  I
> think it would be worth the effort.  \fixed could well become the
> generally preferred entry mode.  \absolute hasn’t been around that
> long (2.18 was the first stable that had it), and its use case is
> probably not all that common (I think people tend to prefer either
> relative or absolute entry and not use both).  The convert-ly rule
> would be easy.
>
> If we can’t come to a consensus I’m not opposed to taking this to a
> user list discussion and vote.  In the interest of focusing that
> effort, at this point is anyone advocating for “\octave”?

It makes some sense for a split scheme retaining \absolute and with
\octave having a non-optional argument:

\absolute { c'' g' }
\octave c'' { c g, }

It becomes unreadable with optional argument left off:

\octave { c'' g' }
\octave c'' { c g, }

We've had people complain that they'd like do see \absolute '' or
\absolute x'' rather than \absolute c'' because they don't like to see a
notename involved in the reference.

\octave c'' presumably will stress that just the octave of the reference
pitch is taken.

So I think there is a case for \relative/\absolute/\octave pitted
against \relative/\absolute/\absolute and \relative/\fixed/\fixed.  It
is backwards compatible and more descriptive than the alternatives as
long as its pitch argument is mandatory.

-- 
David Kastrup

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-18 Thread Paul Morris
> On May 18, 2015, at 5:13 AM, Joram  wrote:
> 
> shifting the octave is *not* absolute. So the input
> \absolute c'' { c' } for c''' is a contradiction in itself.
> That’s why I strongly recommend not to use \absolute for some kind of
> non-absolute notation.

+1, and especially with new users in mind.

I agree with David that two commands are better than three here, and so I think 
replacing \absolute with the new \fixed is the best solution (scheme “d” in 
David’s list).

In terms of assessing trade-offs I’d be willing to help document \fixed (as the 
new \absolute) if that is a significant factor.  I think it would be worth the 
effort.  \fixed could well become the generally preferred entry mode.  
\absolute hasn’t been around that long (2.18 was the first stable that had it), 
and its use case is probably not all that common (I think people tend to prefer 
either relative or absolute entry and not use both).  The convert-ly rule would 
be easy.  

If we can’t come to a consensus I’m not opposed to taking this to a user list 
discussion and vote.  In the interest of focusing that effort, at this point is 
anyone advocating for “\octave”?  

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-18 Thread Wols Lists
On 17/05/15 23:06, tdanielsmu...@googlemail.com wrote:
> On 2015/05/17 21:09:13, dak wrote:
> 
>>   At any rate, if we were to retain both \fixed and \absolute,
> 
> I strongly prefer just two input modes, \relative and \absolute, but
> as I said right at the beginning:

Seonded. With absolute taking an optional octave offset.

Actually, although I suspect it can't be done, I notice a lot of the
examples have been using "\abolute x''" - any chance of forcing absolute
to actually take an "x" (rather than, as I suspect was the case, "x" was
a place holder for "any note")? I really don't like the idea of using a
note to mean an octave offset - it just jars ...

Cheers,
Wol

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-18 Thread Joram
Hi David, hi all,

>> it might not be obvious to strangers to the Helmholtz pitch notation
>> system [1], but shifting the octave is *not* absolute.
> 
> LilyPond does not really employ the Helmholtz pitch notation system.

I know. I intended to write that the LP notation is close to the
Helmholtz notation. But it does not matter for my point: shifted octaves
are not absolute. A c'' ("2-gestrichenes c") is a c'' and not a c.
\absolute c'' \music != \music.

> \absolute c'' is proposed as a notational convenience.
> 
> Nobody complains that \absolute \transpose c es { c d e } 

That's a different case. The music { c d e } is here obviously
transposed by a command that is called like this. \absolute sounds like
the music expression is in absolute octaves – but it is not then.

>> That’s why I strongly recommend not to use \absolute for some kind of
>> non-absolute notation.
> 
> Well, that's one argument based on personal associations.

First of all, based on the meaning of the word absolute.

I also see your point about few additional commands.

a) - d) is a good overview. I never used \absolute and I don't know
where I would need it. For backwards compatibility I like a), the best
solution in my opinion is d). And yes, it's difficult.

Cheers,
Joram

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-18 Thread David Kastrup
Joram  writes:

> Hi,
>
> it might not be obvious to strangers to the Helmholtz pitch notation
> system [1], but shifting the octave is *not* absolute.

LilyPond does not really employ the Helmholtz pitch notation system.  We
write c, instead of C and c,, instead of C with a subscripted I and c,,,
instead of C with a subscripted II.

While Helmholtz discusses the absolute and relative character of _keys_
(mentioning that the tunings of bowed string instruments and brass
instruments are based on some natural intervals), I don't see him using
"absolute" in respect to octaves (cf "Die Lehre von den Tonempfindungen
als physiologischer Grundlage für die Theorie der Musik", 37MB scanned
PDF at
http://www.ubka.uni-karlsruhe.de/indexer-vvv/wasbleibt/27162822>
and a few text extracts at
http://www.kilchb.de/rein_helmholtz.html>).

> So the input \absolute c'' { c' } for c''' is a contradiction in
> itself.

Shrug.  What LilyPond deems "\relative" bears no relation whatsoever to
"relativity" in any known notational system.  So I don't see the point
in obsessing about an optional modification of "\absolute" input.

\absolute c'' is proposed as a notational convenience.

Nobody complains that \absolute \transpose c es { c d e } is a
contradiction in itself since it does not refer to the absolute key c
\major.

> That’s why I strongly recommend not to use \absolute for some kind of
> non-absolute notation.

Well, that's one argument based on personal associations.  I don't say
that it is invalid, but we are talking about a tradeoff here.  Another
argument is that we don't want to introduce too many different commands
for what amounts to a consistent variation on one concept.  Basically we
have to decide between the following schemes:

a)
\relative { c'' g' e c }
\relative f { c'' f' e c }
\relative c'' { c g' e c }
\absolute { c'' g'' e'' c'' }
\fixed c { c'' g'' e'' c'' }
\fixed c'' { c g e c }

b)
\relative { c'' g' e c }
\relative f { c'' f' e c }
\relative c'' { c g' e c }
\absolute { c'' g'' e'' c'' }
\fixed { c'' g'' e'' c'' }
\fixed c { c'' g'' e'' c'' }
\fixed c'' { c g e c }

c)
\relative { c'' g' e c }
\relative f { c'' f' e c }
\relative c'' { c g' e c }
\absolute { c'' g'' e'' c'' }
\absolute c { c'' g'' e'' c'' }
\absolute c'' { c g e c }

d)
\relative { c'' g' e c }
\relative f { c'' f' e c }
\relative c'' { c g' e c }
\fixed { c'' g'' e'' c'' }
\fixed c { c'' g'' e'' c'' }
\fixed c'' { c g e c }

Of course, plus the variations you get when replacing \fixed with
yet-another option like \octave.

So basically the question is whether to work with three commands instead
of the previous two, whether to retire the previous \absolute
altogether, and whether, when working with three commands, whether the
octave reference "c" should be optional, making \absolute redundant.

Personally, I am strongly of the opinion that neither working with (and
documenting) three commands (as well as the introduced notational and/or
conceptual redundancy) nor retiring the preexisting \absolute are worth
the trouble and amount of nitpickishness they cause.  Whatever we arrive
at, someone™ will need to document the resulting options in the manuals
and answer questions coming up on the user lists.

All of that is a _tradeoff_ rather than an absolute argument.  Which is
why it is unlikely we'll arrive at a consensual decision which is why I
proposed putting it up for vote on the user list.

-- 
David Kastrup

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-18 Thread Joram
Hi,

it might not be obvious to strangers to the Helmholtz pitch notation
system [1], but shifting the octave is *not* absolute. So the input
\absolute c'' { c' } for c''' is a contradiction in itself.
That’s why I strongly recommend not to use \absolute for some kind of
non-absolute notation.

Cheers,
Joram


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


Am 18.05.2015 um 03:12 schrieb k-ohara5...@oco.net:
>> I strongly prefer just two input modes, \relative and \absolute,

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-17 Thread k-ohara5a5a

On 2015/05/17 22:06:10, Trevor Daniels wrote:


I strongly prefer just two input modes, \relative and \absolute,


Okay.  I won't split the job to complement \relative between two
functions.  That leaves the question of what to name the one function.


The proper name for this would be \absoluteWithFixedOctaveOffset


Remember the point Carl and Paul pointed out, that if we write 'Baa Baa
Black Sheep' as
  \absoluteWithFixedOctaveOffset c'' {g,4 g, d d e e d2}
then the input is not what they consider 'absolute mode' because the
octaves are not absolute, but relative to a fixed octave ''.

I see now that David considers the input accepted by \fixed as in this
patch as a variant of 'absolute mode', just "absolute mode with a
different octave".   The choice of reference octave makes the input mode
seem not very 'absolute' -- until you compare it to LilyPond's
\relative.

Carls's and Paul's objections were not vehement, but they seem relevant
to newcomers to LilyPond.  (Also, I can type 'fixed' faster.)  So, I'm
taking the position of "put up or shut up": confirm that the concept of
"absolute mode" in the docsis consistent with merging \fixed into
\absolute, or poll the -user mailing list, or be content.


https://codereview.appspot.com/235010043/diff/140001/Documentation/learning/common-notation.itely
File Documentation/learning/common-notation.itely (right):

https://codereview.appspot.com/235010043/diff/140001/Documentation/learning/common-notation.itely#newcode1431
Documentation/learning/common-notation.itely:1431: the note on the
bottom staff of the bass clef.
^

https://codereview.appspot.com/235010043/diff/140001/Documentation/notation/pitches.itely
File Documentation/notation/pitches.itely (right):

https://codereview.appspot.com/235010043/diff/140001/Documentation/notation/pitches.itely#newcode172
Documentation/notation/pitches.itely:172: absolute octave mode.  Which
choices are meaningful?
^

https://codereview.appspot.com/235010043/diff/140001/Documentation/notation/pitches.itely#newcode882
Documentation/notation/pitches.itely:882: @code{\relative} block.}
^

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-17 Thread tdanielsmusic

On 2015/05/17 21:09:13, dak wrote:


  At any rate, if we were to retain both \fixed and \absolute,


I strongly prefer just two input modes, \relative and \absolute, but
as I said right at the beginning:


... I'd prefer
the syntax and options [of \absolute] to parallel those of
\relative.  That is, an optional prefix pitch to indicate
the starting octave, and taking the starting octave from
the first contained note if the prefix is omitted.


That is then consistent, easy to explain and understand, and provides
all the functionally we need (retaining the option to add the
transposing
cuteness at some point in the future if we wish.)

Trevor


https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-17 Thread dak


https://codereview.appspot.com/235010043/diff/140001/Documentation/notation/pitches.itely
File Documentation/notation/pitches.itely (right):

https://codereview.appspot.com/235010043/diff/140001/Documentation/notation/pitches.itely#newcode112
Documentation/notation/pitches.itely:112: The reference pitch after
@code{\fixed} is optional.
On 2015/05/17 19:07:05, Keith wrote:

Rather than the optional pitch, we could document the other name
"The function @code{\absolute} is shorthand for @code{\fixed c'}


I really hope you mean @code{\fixed c} here, or things will be really
messed up.  At any rate, if we were to retain both \fixed and \absolute,
I don't think it makes sense to give either \absolute or \fixed an
optional argument: it should always be \absolute without pitch, and
\fixed with pitch then.

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-17 Thread David Kastrup
"Keith OHara"  writes:

> The two functions \fixed and \relative each convert user input into
> absolute pitches.

So does \absolute.  Which was its primary raison d'être.

> \relative applies octave marks relative to the previous pitch; \fixed
> adds octave marks to those of a fixed pitch.
>
> The primary function of the music-function \absolute is to write a
> stretch of absolute pitches within \relative, but the primary function
> of \fixed will be to choose the fixed octave from which entered octave
> marks count.

There is no difference.

> I switched the name in the patch from \absolute to \fixed when I made
> the function skip over any enclosed \relative section.  The docs say
> the starting pitch in \relative is an absolute pitch, and I didn't
> want to start making the distinction of "absolute octaves" versus "the
> octave established by the enclosing absolute"

\absolute x'' would be absolute input mode with a different octave, not
transposed absolute mode.

> so I made the change
> \absolute c'' {c e g \relative c, {c e g} } => c''4 e'' g'' c' e' g'
> \fixed c'' {c e g \relative c, {c e g} } => c''4 e'' g'' c, e, g,

That does not make sense at all.  Just because your first implementation
of \absolute did something different (and I suggested to change that)
does not mean that fixing its behavior requires changing its name.
There is no precedent of \absolute c'' being associated with anything
else merely because it showed different behavior in the first review.

> For some reason I find the word 'fixed' easier to type than 'absolute'

At least _this_ reason is not absurd.  It's not compelling to me,
however, so I'd prefer to see a vote on it.

-- 
David Kastrup

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-17 Thread k-ohara5a5a


https://codereview.appspot.com/235010043/diff/140001/Documentation/notation/pitches.itely
File Documentation/notation/pitches.itely (right):

https://codereview.appspot.com/235010043/diff/140001/Documentation/notation/pitches.itely#newcode112
Documentation/notation/pitches.itely:112: The reference pitch after
@code{\fixed} is optional.
Rather than the optional pitch, we could document the other name
"The function @code{\absolute} is shorthand for @code{\fixed c'} used to
ensure that the pitches within @code{\absolute} remain unchanged, even
if the @code{\absolute} is inside @code{\relative}, discussed next."

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-17 Thread Keith OHara

On Sun, 17 May 2015 04:58:22 -0700,  wrote:


The proper name for this would \absoluteWithFixedOctaveOffset, but
that's too long and the acronym is similarly uninspiring.  All three of
the proposed options appear in this name, so the question is, "Which
alludes most memorably to the actual function?".  At the risk of going
round in circles, on reconsidering in this light, I rather favour
retaining \absolute.  The other terms are modifiers to the primary
function; the offset is both apparent and optional, "absolute" is used
in the text and is an established concept.



The word "absolute" is established in the docs and in the user community to mean the method of 
entering pitches where octave marks ' and , count octaves from the "small octave" of Helmholtz 
notation, so the octaves are indicated against an absolute reference.  As Carl pointed out, a function that 
applies an octave offset changes that reference, so is different from "absolute".

The two functions \fixed and \relative each convert user input into absolute 
pitches.
\relative applies octave marks relative to the previous pitch; \fixed adds 
octave marks to those of a fixed pitch.

The primary function of the music-function \absolute is to write a stretch of 
absolute pitches within \relative, but the primary function of \fixed will be 
to choose the fixed octave from which entered octave marks count.

I switched the name in the patch from \absolute to \fixed when I made the function skip over any 
enclosed \relative section.  The docs say the starting pitch in \relative is an absolute pitch, and 
I didn't want to start making the distinction of "absolute octaves"  versus "the 
octave established by the enclosing absolute" so I made the change
  \absolute c'' {c e g \relative c, {c e g} } => c''4 e'' g'' c' e' g'
  \fixed c'' {c e g \relative c, {c e g} }   =>  c''4 e'' g'' c, e, g,

For some reason I find the word 'fixed' easier to type than 'absolute'

I started looking ahead at further documentation, and found \fixed more natural
https://codereview.appspot.com/235010043/diff/120001/Documentation/learning/tutorial.itely
but I backed away from adding anything to the Tutorial because \relative is 
enough to learn there.

BTW, I started replacing @lilypond[relative=2] with complete examples
  https://codereview.appspot.com/237340043/
I replaced with explicit \relative, but the patch set is a quick way to skim 
the examples in the Learing Manual where we chose to hide the '\relative' and 
imaging how \fixed or \absolute might work.


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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-17 Thread tdanielsmusic

On 2015/05/17 10:44:36, dak wrote:


Well, I remain unenthused about the new name.  Maybe get a vote on the

user

list, with options \absolute x'', \fixed x'', \octave x''?  I think

those were

pretty much the terms mentioned significantly more than once.


The proper name for this would \absoluteWithFixedOctaveOffset, but
that's too long and the acronym is similarly uninspiring.  All three of
the proposed options appear in this name, so the question is, "Which
alludes most memorably to the actual function?".  At the risk of going
round in circles, on reconsidering in this light, I rather favour
retaining \absolute.  The other terms are modifiers to the primary
function; the offset is both apparent and optional, "absolute" is used
in the text and is an established concept.

Trevor


https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-17 Thread dak

On 2015/05/17 09:56:01, Trevor Daniels wrote:

On 2015/05/17 07:36:01, Keith wrote:
> On 2015/05/15 06:12:38, lemzwerg wrote:
> > Given that we are currently producing development
> > releases, I suggest that this gets implemented,
> > then we simply wait a few months so that people can
> > test it in real life, and then we do a final decision.
>
> If we don't come back with another patch, the current patch will

become final

by
> default, but I do think it is a useful choice.
>
> The addition to Learning Manual: Common Notation gives us some idea

of the

extra
> complexity of documentation that comes with \fixed.  A similar

change to this

> section was suggested a few years ago at
>

http://lists.gnu.org/archive/html/lilypond-user/2008-08/msg00384.html


I'm content with this conclusion.  I might even try using \fixed ;-)


Well, I remain unenthused about the new name.  Maybe get a vote on the
user list, with options \absolute x'', \fixed x'', \octave x''?  I think
those were pretty much the terms mentioned significantly more than once.

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-17 Thread tdanielsmusic

On 2015/05/17 07:36:01, Keith wrote:

On 2015/05/15 06:12:38, lemzwerg wrote:
> Given that we are currently producing development
> releases, I suggest that this gets implemented,
> then we simply wait a few months so that people can
> test it in real life, and then we do a final decision.



If we don't come back with another patch, the current patch will

become final by

default, but I do think it is a useful choice.



The addition to Learning Manual: Common Notation gives us some idea of

the extra

complexity of documentation that comes with \fixed.  A similar change

to this

section was suggested a few years ago at
http://lists.gnu.org/archive/html/lilypond-user/2008-08/msg00384.html


I'm content with this conclusion.  I might even try using \fixed ;-)

Trevor


https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-17 Thread k-ohara5a5a

On 2015/05/15 06:12:38, lemzwerg wrote:

Given that we are currently producing development
releases, I suggest that this gets implemented,
then we simply wait a few months so that people can
test it in real life, and then we do a final decision.


If we don't come back with another patch, the current patch will become
final by default, but I do think it is a useful choice.

The addition to Learning Manual: Common Notation gives us some idea of
the extra complexity of documentation that comes with \fixed.  A similar
change to this section was suggested a few years ago at
http://lists.gnu.org/archive/html/lilypond-user/2008-08/msg00384.html


https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-14 Thread lemzwerg

The best choice seems to be \fixed, both for the good fit
of the meaning of the word to the command, and because it
is relatively easy to type.  If we allow its reference
pitch to be optional, then the relatively new command
\absolute is the same as \fixed with no reference pitch,
and we can document \fixed briefly where we had documented
\absolute.


Sounds sensible to me.  Given that we are currently producing
development releases, I suggest that this gets implemented, then we
simply wait a few months so that people can test it in real life, and
then we do a final decision.

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-14 Thread k-ohara5a5a

On 2015/05/12 13:11:52, paul_paulwmorris.com wrote:

> On May 7, 2015, at 9:16 PM, Dan Eble  wrote:
>
> \octave sounds like it should be a function returning the octave of

a note.

It does not sound like an entry mode.



Yes, after further thought it’s probably better to go with something

that

clearly sounds like an entry mode, like \fixed (or \absolute).


I see now that before version 2.12 \octave was used for what is now
\octaveCheck
This seems to have done something related, but subtly different, within
\relative{}

The best choice seems to be \fixed, both for the good fit of the meaning
of the word to the command, and because it is relatively easy to type.
If we allow its reference pitch to be optional, then the relatively new
command \absolute is the same as \fixed with no reference pitch, and we
can document \fixed briefly where we had documented \absolute.

https://codereview.appspot.com/235010043/
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-12 Thread Paul Morris
> On May 7, 2015, at 9:16 PM, Dan Eble  wrote:
> 
> \octave sounds like it should be a function returning the octave of a note.  
> It does not sound like an entry mode.

Yes, after further thought it’s probably better to go with something that 
clearly sounds like an entry mode, like \fixed (or \absolute).

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-10 Thread Keith OHara

On Sun, 10 May 2015 00:25:18 -0700,  wrote:


On 2015/05/09 23:58:22, Keith wrote:


It is a bit of an inconvenience that
\relative skips over \transpose, and I suspect \relative has this
feature so that we do not get rising octaves in
\relative c \transpose c c' {c c c c}


We could change that if desired.


Good point, but the change is probably too disruptive of old scores.



   \fixed c'' { c  e g c \transpose c d {c4 e g c}}
=>  c'' e'' g'' c'' { d'' fis'' a'' d'' }


The question is rather what happens when writing \transpose c c' in the
middle.  In that case I'd expect, like discussed for \relative, to have
the transposition temporarily reversed before applying the \fixed, and
then transpose back again.


For \absolute c'  or  \fixed c'  there is no need for special effort.
These operations commute with transpose.
  \fixed c' { c4 e g c \transpose c d' {c4 e g c}}
  =>  c'4 e'4 g'4 c'4 { d''4 fis''4 a''4 d''4 }


https://codereview.appspot.com/235010043/



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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-10 Thread dak

On 2015/05/09 23:58:22, Keith wrote:


I had seen this selective application as a feature specific to

\relative.  Most

music functions apply to all the music in their argument, but

\relative skips

over any \relative or \transpose.  It is a bit of an inconvenience

that

\relative skips over \transpose, and I suspect \relative has this

feature so

that we do not get rising octaves in
\relative c \transpose c c' {c c c c}


We could change that if desired.  We just need to record the
transposition difference when doing \transpose and make the
relativization hook for \transpose temporarily revert the transposition.
 As long as no alteration normalization interferes (and I think we moved
this out, right?), this kind of stuff can be done reliably.


Maybe we want selective application of the offset octave.  \absolute

inside

\absolute can be useful. For example if a violin spends some time in

7th

position
\absolute c'' { c e g c \absolute c' {c e g c}}
  => c'' e'' g'' c'' { c''' e''' g''' c''' }


I think if we are talking "absolute" here, one can expect to use
\absolute c''' instead.


It would also be reasonable to enter these pitches using a function

\fixed that

skips over any inner \fixed
\fixed c'' { c e g c  \fixed c''' {c e g c}}


That would be the behavior I expect irrespective of the name.


If we move music around, taking it inside or outside of an \absolute

that works

like \transpose,
   \absolute c'' { c4 e g c \relative c' {c e g c}}  => starts with c''

ends with

c


No, too messy.  The whole point of having \absolute in the first place
was to have something impervious to \relative.  Remember that you cannot
distinguish this from

part = \relative c' { c4 e g c }

\absolute c'' { c4 e g c \part c }


If we make a fixed-octave mode that skips over music written in other

modes,

then only the innermost mode counts
   \fixed c'' { c4 e g c  \fixed c''' {c e g c}}  => starts with c''

ends with

c'''
c4 e g c  \fixed c''' {c e g c}}   =>   starts with c ends with

c'''


Either way seems useful to me.


If you want to transpose, transpose.  But we are now talking about an
input mode, and \absolute { ... } is intentionally impervious to
\relative.  So it does not make sense to start introducing
half-impervious stuff when writing \absolute c' { ... } or however we
want to name it.


   \fixed c'' { c  e g c \transpose c d {c4 e g c}}  =>  c'' e'' g''

c'' { d''

fis'' a'' d'' }


The question is rather what happens when writing \transpose c c' in the
middle.  In that case I'd expect, like discussed for \relative, to have
the transposition temporarily reversed before applying the \fixed, and
then transpose back again.

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-09 Thread k-ohara5a5a

I tried out a some of these suggestions.

On 2015/05/03 16:42:02, Trevor Daniels wrote:

a continuous scale would be \relativeOctave { c, d e f g a b c' d e f

...}.

I like that the octave marks indicate transitions to the next octave
where octaves run CDEFGAB, because that is consistent with usual
Helmholtz pitch notation, as opposed to using octave marks to indicate
intervals greater than three scale-steps.  It is subtly different from
\relative in a way that makes it hard to switch from one way of thinking
to the other.

This goes in an entirely different direction than the patch here,
becuase each pitch depends on the previous to determine its octave.
This patch is for people who want to enter pitches in a way that does
not depend on the order of their entry.

On 2015/05/03 21:02:44, Trevor Daniels wrote:

On 2015/05/03 20:25:22, dak wrote:
> I just angle for something useful to do with \absolute f.



I'm not too keen on creating Easter eggs


It seems that anything useful we could do with \absolute f  is better
done with \transpose c f.

I suggest that \absolute x' do the same thing as \transpose x x' and we
simply say the reference pitch determines the default octave in
Helmholtz notation from which ' and , indicate pitches in higher or
lower octaves when needed, and use \absolute c'' in the manual.


On 2015/05/06 14:48:30, c_sorensen wrote:

The new function isn't absolute mode, because we don't specify the

octave

of the pitch.  Instead, it's relative mode, but relative to a fixed

pitch.

  So I think it shouldn't be called absolute, but rather something like
\relative-fixed.  If we wanted to be more explicit, we might consider
changing \relative to \relative-sequential, defining this new function

as

\relative-fixed, and still keeping absolute as a mode if we aren't

using

one of the relative modes.


\relative is well-established to mean "the default octave for a pitch is
the one closest in scale-steps to the previous pitch" so we might use
simply \fixed to mean "the default octave for a pitch is fixed"

On 2015/05/06 18:45:08, dak wrote:

One functional point of the original \absolute is that of being
impervious to enclosing \relative statements.  \octave does not have
this connotation: it's easier to wonder with "\octave" how it will
interact/combine with \relative.


On 2015/05/07 11:38:16, dak wrote:
[ ... fixed ... ]

Most of those (apart from \nonrelative) are not really an obvious
alternative pair to \relative.


and also \fixed.  'fixed' and 'relative' are a nice pair that describe
how the default octave is determined in the corresponding entry methods.
  The word \fixed implies that it will be impervious to an enclosing
\relative.

On 2015/05/07 11:38:16, dak wrote:

Now here is a monkey wrench I see in connection with the currently
proposed code: any of \relative and \absolute can be nested in one
another without affecting the other: the outer input mode will just

skip

over any of the inner modes as if it wasn't there.



I had seen this selective application as a feature specific to
\relative.  Most music functions apply to all the music in their
argument, but \relative skips over any \relative or \transpose.  It is a
bit of an inconvenience that \relative skips over \transpose, and I
suspect \relative has this feature so that we do not get rising octaves
in
   \relative c \transpose c c' {c c c c}

Maybe we want selective application of the offset octave.  \absolute
inside \absolute can be useful. For example if a violin spends some time
in 7th position
   \absolute c'' { c e g c \absolute c' {c e g c}}
 => c'' e'' g'' c'' { c''' e''' g''' c''' }
It would also be reasonable to enter these pitches using a function
\fixed that skips over any inner \fixed
   \fixed c'' { c e g c  \fixed c''' {c e g c}}

If we move music around, taking it inside or outside of an \absolute
that works like \transpose,
  \absolute c'' { c4 e g c \relative c' {c e g c}}  => starts with c''
ends with c
c4 e g c \relative c' {c e g c}=> starts with c ends with c''
then all the pitches shift by the same amount upon relocation.

If we make a fixed-octave mode that skips over music written in other
modes, then only the innermost mode counts
  \fixed c'' { c4 e g c  \fixed c''' {c e g c}}  => starts with c'' ends
with c'''
   c4 e g c  \fixed c''' {c e g c}}   =>   starts with c ends with c'''

Either way seems useful to me.
Either method of octave-offset can apply to transposed music, with no
bad surprises
  \fixed c'' { c  e g c \transpose c d {c4 e g c}}  =>  c'' e'' g'' c''
{ d'' fis'' a'' d'' }



https://codereview.appspot.com/235010043/diff/80001/ly/music-functions-init.ly
File ly/music-functions-init.ly (right):

https://codereview.appspot.com/235010043/diff/80001/ly/music-functions-init.ly#newcode55
ly/music-functions-init.ly:55: (make-music 'UnrelativableMusic 'element
music))
The skipping over of enclosed \relative is done differently than
\relative does it.  Each type of mu

Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

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

> most of this has been discussed already:
>
>>   So when I'm entering my music in the bass clef I
>> would possibly do something like
>>
>> \absolute -1 { c d' e' b }
> Using a number as the first optional argument was discussed already.

Yes and no.  It was the original proposal.  It is not uncommon to have a
wildly diverging discussion and finally settle back on the original
proposal again.  But I'm not convinced that this was the case here.

Personally, I don't like mathematics in note input too much.

>> which simply shifts everything down one octave. That then also saves any
>> explanation about what [obligatory pitch] means. Does it have to be a
>> new reference C? What happens if you said, for example, e'? Does that
>> get understood by lily as c' - shift everything an octave? Or does it
>> mean "the note above e' absolute is entered as f', the note below is
>> entered as d"? Specifying the shift as a number makes it clear that it's
>> relative to the default c', and that's it.

> We had all this already.

Indeed.  It might help to read the original Rietveld discussion.

> It would be a mess to allow for notes other than c, so we definitely
> won’t be doing that.

At least we will not move the octave break around.

> I’m not sure why using a number wasn’t really considered,
> though. Probably for analogy to the other music entry modes?

That's part of it.

-- 
David Kastrup

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-08 Thread Wols Lists
On 08/05/15 22:08, Simon Albrecht wrote:
> Hello Wol,
> 
> most of this has been discussed already:

As I realised ... my email client threads, but somebody else's clearly
breaks threads so I didn't see them initially. Using a note just feels
wrong to me ... (and we use numbers elsewhere, like \times :-)

Cheers,
Wol

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-08 Thread Simon Albrecht

Hello Wol,

most of this has been discussed already:

Am 08.05.2015 um 20:40 schrieb Wols Lists:

On 07/05/15 16:19, Paul Morris wrote:

On May 7, 2015, at 10:43 AM, Paul Morris  wrote:

  \relative [optional pitch] { ...
  \absolute [no pitch] { ...
  \octave [obligatory pitch] { …

The downside with this is that \absolute is really just a subset of the 
functionality of \octave, but they have different names.  \octave c {… is the 
same as \absolute {…

Here's another possibility with just two modes:

   \relative [optional pitch] {…}
   \octave [obligatory pitch] {…}

And then just use \octave c {…} instead of \absolute {…}.

In most cases one would simply use plain {…} for absolute-entry and would only 
need to use \octave c {…} when embedding inside \relative {…}.

(Hmmm… I think I prefer this approach over the others.)


My first reaction on seeing all this was "why are we using a pitch?"
Doesn't lily store notes internally as a duplet of an octave and a
pitch? (forgive me if I'm wrong, that's what I remember from my dabbling).
The entry for ly:make-pitch in 
 
has an explanation on the pitch data type in Lilypond, which comprises 
three numbers. Only the last one (for alteration) is optional. Even more 
so, as David K. pointed out, it’s not possible to represent a 
stand-alone octave mark like ,, in scheme, so it has to be a complete 
pitch with note.


So I'd be inclined to have just the two modes ...

\relative [optional pitch] {...}
[\absolute [optional octave offset]] {...}

and obviously then \absolute would be optional too unless you're using
the octave offset.
Without \absolute, a music expression will be affected by any enclosing 
relative. This is why \absolute was introduced (not so long ago), to 
avoid any such influences.

  So when I'm entering my music in the bass clef I
would possibly do something like

\absolute -1 { c d' e' b }

Using a number as the first optional argument was discussed already.

which simply shifts everything down one octave. That then also saves any
explanation about what [obligatory pitch] means. Does it have to be a
new reference C? What happens if you said, for example, e'? Does that
get understood by lily as c' - shift everything an octave? Or does it
mean "the note above e' absolute is entered as f', the note below is
entered as d"? Specifying the shift as a number makes it clear that it's
relative to the default c', and that's it.
We had all this already. It would be a mess to allow for notes other 
than c, so we definitely won’t be doing that.
I’m not sure why using a number wasn’t really considered, though. 
Probably for analogy to the other music entry modes?


Yours, Simon

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-08 Thread Wols Lists
On 07/05/15 16:19, Paul Morris wrote:
>> On May 7, 2015, at 10:43 AM, Paul Morris  wrote:
>>
>>  \relative [optional pitch] { ...
>>  \absolute [no pitch] { ...
>>  \octave [obligatory pitch] { …
>>
>> The downside with this is that \absolute is really just a subset of the 
>> functionality of \octave, but they have different names.  \octave c {… is 
>> the same as \absolute {…
> 
> Here's another possibility with just two modes:
> 
>   \relative [optional pitch] {…}
>   \octave [obligatory pitch] {…}
> 
> And then just use \octave c {…} instead of \absolute {…}.
> 
> In most cases one would simply use plain {…} for absolute-entry and would 
> only need to use \octave c {…} when embedding inside \relative {…}.
> 
> (Hmmm… I think I prefer this approach over the others.)
> 
My first reaction on seeing all this was "why are we using a pitch?"
Doesn't lily store notes internally as a duplet of an octave and a
pitch? (forgive me if I'm wrong, that's what I remember from my dabbling).

So I'd be inclined to have just the two modes ...

   \relative [optional pitch] {...}
   [\absolute [optional octave offset]] {...}

and obviously then \absolute would be optional too unless you're using
the octave offset. So when I'm entering my music in the bass clef I
would possibly do something like

   \absolute -1 { c d' e' b }

which simply shifts everything down one octave. That then also saves any
explanation about what [obligatory pitch] means. Does it have to be a
new reference C? What happens if you said, for example, e'? Does that
get understood by lily as c' - shift everything an octave? Or does it
mean "the note above e' absolute is entered as f', the note below is
entered as d"? Specifying the shift as a number makes it clear that it's
relative to the default c', and that's it.

Cheers,
Wol

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-07 Thread Dan Eble
On May 7, 2015, at 11:19 , Paul Morris  wrote:
> 
> Here's another possibility with just two modes:
> 
>  \relative [optional pitch] {…}
>  \octave [obligatory pitch] {…}
> 
> And then just use \octave c {…} instead of \absolute {…}.
> 
> In most cases one would simply use plain {…} for absolute-entry and would 
> only need to use \octave c {…} when embedding inside \relative {…}.
> 
> (Hmmm… I think I prefer this approach over the others.)

\octave sounds like it should be a function returning the octave of a note.  It 
does not sound like an entry mode.
— 
Dan


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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-07 Thread Paul Morris
> On May 7, 2015, at 10:43 AM, Paul Morris  wrote:
> 
>  \relative [optional pitch] { ...
>  \absolute [no pitch] { ...
>  \octave [obligatory pitch] { …
> 
> The downside with this is that \absolute is really just a subset of the 
> functionality of \octave, but they have different names.  \octave c {… is the 
> same as \absolute {…

Here's another possibility with just two modes:

  \relative [optional pitch] {…}
  \octave [obligatory pitch] {…}

And then just use \octave c {…} instead of \absolute {…}.

In most cases one would simply use plain {…} for absolute-entry and would only 
need to use \octave c {…} when embedding inside \relative {…}.

(Hmmm… I think I prefer this approach over the others.)

-Paul


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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-07 Thread Paul Morris
> On May 7, 2015, at 7:38 AM, d...@gnu.org wrote:
> 
>> I agree about a name change since absolute doesn't really describe
>> this entry mode very well.
> 
>> What if \absolute were changed to something less, well, absolute?
>> Something along these lines, just to brainstorm a bit:
> 
>> \fixed
>> \constant
>> \consistent
>> \regular
>> \anchored
>> \nonrelative
>> \invariable
>> \steady
>> \uniform
> 
> Most of those (apart from \nonrelative) are not really an obvious
> alternative pair to \relative.  

To me there’s enough of a contrast to work.  I don’t think they need to be an 
exact/obvious pair.


> If we take an extra form, \octave seems
> like a pretty well-fitting name as long as its argument is mandatory.
> 
> That would leave us with
> 
> \relative [optional pitch] { ...
> \absolute [no pitch] { ...
> \octave [obligatory pitch] { ...
> 
> If we write about this, we then have "relative pitch entry", "absolute
> pitch entry", "octave-shifted pitch entry".
> 
> Now here is a monkey wrench I see in connection with the currently
> proposed code: any of \relative and \absolute can be nested in one
> another without affecting the other: the outer input mode will just skip
> over any of the inner modes as if it wasn't there.
> 
> The current code proposal for \absolute x' or \octave x' does not have
> that property.  Fixing that is reasonably straightforward: first you
> transpose all the music, then you do an extract-typed-music on all music
> of relative-octave-music type and transpose them right back.
> 
> Once we do that, we have a proper independent input mode of its own, and
> we no longer have something strictly equivalent to a \transpose command.

This makes sense.  (But do we really have three independent modes or just two?  
See below...)


> I'd still prefer just merging the \octave functionality into \absolute
> and have just two modes to explain.

I also prefer having just two modes to explain.  Kindly allow me to make the 
case for my proposal by discussing the others on the table:


  \relative [optional pitch] { ...
  \absolute [no pitch] { ...
  \octave [obligatory pitch] { …

The downside with this is that \absolute is really just a subset of the 
functionality of \octave, but they have different names.  \octave c {… is the 
same as \absolute {…  And one could let \octave {... be the same as \absolute 
{…  (Except for points raised about the name “octave” — it doesn’t contrast 
with “relative" and doesn’t work as well without an argument.)  So do we still 
need \absolute here?  Do we need three separate modes?  Especially since plain 
{…} gives you absolute entry, as long as it’s not embedded inside \relative 
{…}. 


  \relative [optional pitch] { ...
  \absolute [optional pitch] { …

Here we have only the two modes, but the point was made that “absolute” no 
longer describes very well what this mode has become because the pitches are no 
longer absolute but relative to the reference octave.  


It seems what’s needed is a name that describes the new entry mode, and letting 
the current \absolute just be a subset of the new mode, as it will be 
functionally:

  \relative [optional pitch] { ...
  \fixed [optional pitch] { …

Here the new mode is named something that avoids the issues with “absolute” and 
“octave”.  What was \absolute is now simply the new mode without an argument.

Another way to put this: if we were designing this from scratch, would we 
create a separate “octave” and “absolute” mode?  If we went with just two modes 
would we call the second one “absolute”?

-Paul




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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-07 Thread dak

Paul Morris  writes:


On May 6, 2015, at 10:48 AM, Carl Sorensen 

wrote:


So, I think I'm in favor of the proposal, but with a name change away

from

\absolute.



I agree about a name change since absolute doesn't really describe
this entry mode very well.



What if \absolute were changed to something less, well, absolute?
Something along these lines, just to brainstorm a bit:



\fixed
\constant
\consistent
\regular
\anchored
\nonrelative
\invariable
\steady
\uniform


Most of those (apart from \nonrelative) are not really an obvious
alternative pair to \relative.  If we take an extra form, \octave seems
like a pretty well-fitting name as long as its argument is mandatory.

That would leave us with

\relative [optional pitch] { ...
\absolute [no pitch] { ...
\octave [obligatory pitch] { ...

If we write about this, we then have "relative pitch entry", "absolute
pitch entry", "octave-shifted pitch entry".

Now here is a monkey wrench I see in connection with the currently
proposed code: any of \relative and \absolute can be nested in one
another without affecting the other: the outer input mode will just skip
over any of the inner modes as if it wasn't there.

The current code proposal for \absolute x' or \octave x' does not have
that property.  Fixing that is reasonably straightforward: first you
transpose all the music, then you do an extract-typed-music on all music
of relative-octave-music type and transpose them right back.

Once we do that, we have a proper independent input mode of its own, and
we no longer have something strictly equivalent to a \transpose command.

I'd still prefer just merging the \octave functionality into \absolute
and have just two modes to explain.

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-07 Thread pls

On 06.05.2015, at 20:43, David Kastrup  wrote:

> Werner LEMBERG  writes:
> 
>>> Probably the best name is \octave, which was used for something
>>> similar
>>> until version 0.1.19
>>> 
>>>\octave c'' {c4 e g c e g c'1}
>> 
>> Sounds OK for me.
> 
> Huh.  I like the contrast \relative/\absolute better.  Particularly,
> I like a sensible default when one leaves off the pitch.

> 
> Neither \octave { bes, c d e f } nor \octave c { c' bes as g } or
> \octave c'' { c' bes as g } seem particularly convincing.  I like
> \absolute { bes, c d e f } \absolute c { c; bes as g } \absolute c'' {
> c' bes as g } better.

Me too!  I don’t see the need for an additional \octave-command.  We change 
octave positions in relative mode as well as in absolute mode by adding octave 
marks.  In my opinion it wouldn’t alter the “absoluteness” of absolute mode if 
it were possible to change the octave position for the whole expression (e.g. 
\absolute c’’ {c’}).  It would just be another handy shortcut for 
transposing/octavating expressions in absolute mode (instead of having to 
add/remove individual octave marks).

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-07 Thread David Kastrup
Dan Eble  writes:

> On May 6, 2015, at 14:43 , David Kastrup  wrote:
>> 
>> Neither \octave { bes, c d e f } nor \octave c { c' bes as g } or
>> \octave c'' { c' bes as g } seem particularly convincing.
>
> +1
>
>> \absolute c { c; bes as g } \absolute c'’ { c' bes as g }
>
> After further thought, and with respect, “meh."  \transpose is
> effective, mostly obvious, and doesn’t require explaining away things
> like a pitch parameter with no effect that must be a c.
>
> Is there anything stopping a user who wants a shorthand for \transpose
> c X \absolute from defining one?

Frescobaldi, Emacs, and other readers of the source code will not be
used to his shorthand then and there will be no examples of it in the
manuals.

Something like "Lilypond supports relative octave note entry where each
note's octave is relative to the previous pitch, and it is easy for the
user to define his own note entry commands where note's octaves are
specified relative to some fixed pitch" is not exactly giving similar
weight to two modes of entry.

That's basically all.  We don't force people to define their own
shorthands for a lot of other things or expect them to spell stuff out:
that's more like a MusicXML approach than a LilyPond one.

-- 
David Kastrup

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-06 Thread Paul Morris
> On May 6, 2015, at 10:48 AM, Carl Sorensen  wrote:
> 
> So, I think I'm in favor of the proposal, but with a name change away from
> \absolute.

I agree about a name change since absolute doesn't really describe this entry 
mode very well.  

What if \absolute were changed to something less, well, absolute?  Something 
along these lines, just to brainstorm a bit:

\fixed
\constant
\consistent
\regular
\anchored
\nonrelative
\invariable
\steady
\uniform

(ok probably not some of those…)

Something like that would work well with an argument — the reference octave the 
input is fixed to, constant in relation to, etc. — and would still make sense 
without an argument.  It would keep it to just two entry modes.  It would sound 
more like an entry mode than \octave does, and retain the parallel/contrast 
with relative and the sense of “being impervious to enclosing \relative 
statements” that David mentions.

At any rate, although you can achieve this with \transpose there’s something 
nice (semantically) about using transpose only for actual transposition 
purposes and not having to use it for note entry purposes.

-Paul


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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-06 Thread Dan Eble
On May 6, 2015, at 14:43 , David Kastrup  wrote:
> 
> Neither \octave { bes, c d e f } nor \octave c { c' bes as g } or
> \octave c'' { c' bes as g } seem particularly convincing.

+1

> \absolute c { c; bes as g } \absolute c'’ { c' bes as g }

After further thought, and with respect, “meh."  \transpose is effective, 
mostly obvious, and doesn’t require explaining away things like a pitch 
parameter with no effect that must be a c.

Is there anything stopping a user who wants a shorthand for \transpose c X 
\absolute from defining one?
— 
Dan


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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-06 Thread Simon Albrecht

Hello,

I’d also vote for the three-ways distinction relative/absolute/octave as 
put by Trevor.


Am 06.05.2015 um 20:43 schrieb David Kastrup:

Werner LEMBERG  writes:


Probably the best name is \octave, which was used for something
similar
until version 0.1.19

 \octave c'' {c4 e g c e g c'1}

Sounds OK for me.

Huh.  I like the contrast \relative/\absolute better.  Particularly,
I like a sensible default when one leaves off the pitch.

Neither \octave { bes, c d e f } nor \octave c { c' bes as g } or
\octave c'' { c' bes as g } seem particularly convincing.

With octave, I’d consider it most intuitive/easy to use to
– only allow octaves of c in the first argument
– have it default to \octave c { … } (which would be equivalent to 
absolute).

Do I get that right?

   I like
\absolute { bes, c d e f } \absolute c { c; bes as g } \absolute c'' {
c' bes as g } better.

The name \octave fits nice verbally when the first note (even better,
all notes) can be entered without octave mark.  However, that is not
generally the case.
How does that matter? Off the top of my head, I would interpret \octave 
as a command to set the ‘reference octave’ for a music expression. 
You’re right, the form \octave {} without first argument (as put above) 
isn’t straightforward to read, it would require being used to it. 
Perhaps it’s easier to use \absolute in that case.

One functional point of the original \absolute is that of being
impervious to enclosing \relative statements.  \octave does not have
this connotation: it's easier to wonder with "\octave" how it will
interact/combine with \relative.
I would expect it to be exactly as impervious as absolute. If this is 
documented clearly, I see no grounds for ambiguity.


Yours, Simon

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-06 Thread David Kastrup
Werner LEMBERG  writes:

>> Probably the best name is \octave, which was used for something
>> similar
>> until version 0.1.19
>> 
>> \octave c'' {c4 e g c e g c'1}
>
> Sounds OK for me.

Huh.  I like the contrast \relative/\absolute better.  Particularly,
I like a sensible default when one leaves off the pitch.

Neither \octave { bes, c d e f } nor \octave c { c' bes as g } or
\octave c'' { c' bes as g } seem particularly convincing.  I like
\absolute { bes, c d e f } \absolute c { c; bes as g } \absolute c'' {
c' bes as g } better.

The name \octave fits nice verbally when the first note (even better,
all notes) can be entered without octave mark.  However, that is not
generally the case.

One functional point of the original \absolute is that of being
impervious to enclosing \relative statements.  \octave does not have
this connotation: it's easier to wonder with "\octave" how it will
interact/combine with \relative.

-- 
David Kastrup

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-06 Thread Joram
Hi,

me too, I would not call it absolute then, because the octaves inside
this command are note absolute anymore. Am I right that the proposal is
an easier way of writing \transpose c  { } ?
Why not just advertise \transpose c c' in the docs? I would consider it
clear and short enough.

And I would not change the names of \relative but rather invent a new
one (like \octavate – just as a (non-convincing) example from the top of
my head), if at all.

Cheers,
Joram

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-06 Thread tdanielsmusic

On 2015/05/06 15:57:21, wl_gnu.org wrote:

> Probably the best name is \octave, which was used for something
> similar
> until version 0.1.19
>
> \octave c'' {c4 e g c e g c'1}



Sounds OK for me.




 Werner


So is this proposing three entry modes:

  \relative  (unchanged)
  \absolute  (unchanged)
  \octave(as proposed here)?

I'd not object to that.

Trevor


https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-06 Thread Werner LEMBERG

> Probably the best name is \octave, which was used for something
> similar
> until version 0.1.19
> 
> \octave c'' {c4 e g c e g c'1}

Sounds OK for me.


Werner

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-06 Thread k-ohara5a5a

On 2015/05/06 09:58:25, pacovila wrote:


I love \relative mode because it fits perfectly with a certain kind of
content. But if relative mode didn't exist, people would be much more
efficient using clever combinations of \transpose and sequential
expressions.


Even though \relative does exist, I use \transpose c c'' {}

\relative {} works for me on short segments of music with a singable
melody, which I think are the "certain kind of content" you mention.

I think \relative is over-used because it was given a short name and
documented to be used for note-entry.  If we have a reasonable way to
enter music with explicit octaves, then people will more likely use
\relative  where it is helpful, without feeling they need to use it
where it causes problems.


On 2015/05/06 14:48:30, c_sorensen wrote:


So, I think I'm in favor of the proposal, but with a name change away

from

\absolute.



Probably the best name is \octave, which was used for something similar
until version 0.1.19

\octave c'' {c4 e g c e g c'1}


https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-06 Thread Carl Sorensen


On 5/5/15 11:10 PM, "Keith OHara"  wrote:

>On Mon, 04 May 2015 23:58:12 -0700, Valentin Villenave
> wrote:
>
>> Speaking as someone who regularly gives LilyPond initiation seminars
>> for adults and children, the hardest part is explaining to them why
>> \relative mode is not on by default.
>
>What if they didn't have to type all those 's in absolute mode ?
>You might not need to explain relative mode at all.
>
>It was hard for me to remember when in \relative I needed g' to get a G5
>but later in a very similar circumstance the same pitch is spelled g
>
>   \relative {r2 c'4 c | g' g a a | g2 f4 f | e4 e d d | c2 g'4 g
>| f4 f e e | e4 d g g | f4 f e e | e4 d c c
>| g' g a a | g2 f4 f | e4 e d d | c2 r }
>
>   \absolute c' {r2 c4 c | g g a a | g2 f4 f | e4 e d d | c2 g4 g
>| f4 f e e | e4 d g g | f4 f e e | e4 d c c
>| g g a a | g2 f4 f | e4 e d d | c2 r }
>
>
>If the melody crosses above and below C
>
>   \relative {c''4 c e8 c g4 | g8 g16 g g8 g e'4 c
>| c4 c e8 c g4 | g8 g16 g g8 g c2
>| c8 c c e g e c4 | g8 g' g, g' e4 c
>| c8 c c e g e c4 | g8 g' g, g' c,2 }
>
>then absolute mode needs a lot of octave marks, but all the pitches that
>sound low get consistently a low octave mark
>
>   \absolute c'' {c4 c e8 c g,4 | g,8 g,16 g, g,8 g, e4 c
>| c4 c e8 c g,4 | g,8 g,16 g, g,8 g, c2
>| c8 c c e g e c4 | g,8 g g, g e4 c
>| c8 c c e g e c4 | g,8 g g, g c2 }

I've been lurking on this discussion, because I didn't have strong
feelings one way or another.  And now I think I finally understand the
issue.

In thinking about writing docs, we have absolute mode and relative mode.
In absolute mode, we explicitly specify the intended octave of the pitch.
In relative mode, the octave of the pitch is determined by the
relationship with the previously interpreted (or parsed, I'm not exactly
sure) note.

The new function isn't absolute mode, because we don't specify the octave
of the pitch.  Instead, it's relative mode, but relative to a fixed pitch.
 So I think it shouldn't be called absolute, but rather something like
\relative-fixed.  If we wanted to be more explicit, we might consider
changing \relative to \relative-sequential, defining this new function as
\relative-fixed, and still keeping absolute as a mode if we aren't using
one of the relative modes.

In the context of the music I engrave, I think that \relative-fixed is
much better than \relative(-sequential).  I also think that it would
resolve most of the cut and paste issues that Kieren has identified,
because the music can easily be pasted anywhere with the only requirement
being that the fixed baseline pitch must be written.

So, I think I'm in favor of the proposal, but with a name change away from
\absolute.

Thanks,

Carl


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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-06 Thread Francisco Vila
2015-05-05 8:58 GMT+02:00 Valentin Villenave :
> On Mon, May 4, 2015 at 12:25 PM,   wrote:
>> This kind of addition would likely get
>> the most useful feedback from people *teaching* LilyPond.  We don't have
>> a lot of those unless you count "batch teachers", namely documentation
>> writers.
>
> Paco would be the obvious person to ask. (Hi Paco!)
>
> Speaking as someone who regularly gives LilyPond initiation seminars
> for adults and childrens, the hardest part is explaining to them why
> \relative mode is not on by default.

Hi, yes, I'm here. Honestly you now qualify better for someone
teaching LIlyPond. I had groups of twenty-something students for some
years a time ago and I'd like very much to retake that duty anytime
soon.  From that experience I'd say that among beginners, a lot of
confussion  would be created from more commands that do the same with
slightly different syntax and do not add anything really new.

I love \relative mode because it fits perfectly with a certain kind of
content. But if relative mode didn't exist, people would be much more
efficcient using clever combinations of \transpose and sequential
expressions.

What I hate about \relative is having to check manually the correct
octave of something you entered supposedly once and forever, which
tends to kill the main advantage of the whole text approach: its
roubstness.  True robustness would mean changing the last note of an
expression and never expect this changed the octave of the  next whole
expression.

\relative is very comfortable and some students expect other aspects
to be equally comfortable, like expecting an e flat in { \key c \minor
c d e } just like FinaleSibelius does. Compared to that, \relative is
a heaven to explain.

What I find to be a heaven is the collection of pitch and rhythm tools
of Frescobaldi. One can always enter the music in relative mode and
convert it to absolute afterwards. Great!

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

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-05 Thread Keith OHara

On Mon, 04 May 2015 23:58:12 -0700, Valentin Villenave  
wrote:


Speaking as someone who regularly gives LilyPond initiation seminars
for adults and children, the hardest part is explaining to them why
\relative mode is not on by default.


What if they didn't have to type all those 's in absolute mode ?
You might not need to explain relative mode at all.

It was hard for me to remember when in \relative I needed g' to get a G5 but 
later in a very similar circumstance the same pitch is spelled g

  \relative {r2 c'4 c | g' g a a | g2 f4 f | e4 e d d | c2 g'4 g
   | f4 f e e | e4 d g g | f4 f e e | e4 d c c
   | g' g a a | g2 f4 f | e4 e d d | c2 r }

  \absolute c' {r2 c4 c | g g a a | g2 f4 f | e4 e d d | c2 g4 g
   | f4 f e e | e4 d g g | f4 f e e | e4 d c c
   | g g a a | g2 f4 f | e4 e d d | c2 r }


If the melody crosses above and below C

  \relative {c''4 c e8 c g4 | g8 g16 g g8 g e'4 c
   | c4 c e8 c g4 | g8 g16 g g8 g c2
   | c8 c c e g e c4 | g8 g' g, g' e4 c
   | c8 c c e g e c4 | g8 g' g, g' c,2 }

then absolute mode needs a lot of octave marks, but all the pitches that sound 
low get consistently a low octave mark

  \absolute c'' {c4 c e8 c g,4 | g,8 g,16 g, g,8 g, e4 c
   | c4 c e8 c g,4 | g,8 g,16 g, g,8 g, c2
   | c8 c c e g e c4 | g,8 g g, g e4 c
   | c8 c c e g e c4 | g,8 g g, g c2 }


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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-05 Thread David Kastrup
Valentin Villenave  writes:

> On Mon, May 4, 2015 at 12:25 PM,   wrote:
>> This kind of addition would likely get
>> the most useful feedback from people *teaching* LilyPond.  We don't have
>> a lot of those unless you count "batch teachers", namely documentation
>> writers.
>
> Paco would be the obvious person to ask. (Hi Paco!)
>
> Speaking as someone who regularly gives LilyPond initiation seminars
> for adults and childrens, the hardest part is explaining to them why
> \relative mode is not on by default. (So, no matter how, \absolute
> would not come until later on, and \absolute [^c] even later.)
> That being said, I definitely see the value of an explicit \absolute
> mode and I really like what you’re proposing, but in this case we’d
> definitely need to strongly advise people to use \absolute only with
> some c pitch.
>
> You said:
>
>>> I find it awkward when \absolute c'' and \absolute g'' mean exactly
>>> the same thing.  But it's not like I could not live with it.
>
> Well, OTOH: \relative c' { f g a b } and \relative d' { f g a b } _do_
> mean the same thing.

That's like the difference of an item priced at 15.3cent or 15.4cent.
In a total bill, this may make a difference after rounding, or not.
Which does not mean that it never makes a difference.

> The second one will not be transposed one tone higher.
>
> \transpose as a separate command will always be the easiest thing to
> explain, however. (It’s also one of the simplest yet most impressive
> features for newcomers.)

But it's more of a musical feature than a music entry syntax feature.
So using it for music entry has a bit of a "hack" feeling.

Since we've had several users with large amounts of scores under their
belt express the opinion that in the long run absolute mode worked
better for them, I think I like the idea of putting it on more of an
equal footing.  Which was the idea behind providing argument-less
\absolute in

commit 3615ec4b93b0229650c9f6dccc91aa1a74cb3796
Author: David Kastrup 
Date:   Sun Mar 24 14:56:35 2013 +0100

Issue 3271: Provide \absolute music function to complement \relative

From its documentation string:

Make @var{music} absolute.  This does not actually change the
music itself but rather hides it from surrounding @code{\\relative}
commands.

which appeared in version 2.17.15.  But in practice, shifting the octave
will likely be a frequent simplification (even though it does have an
effect on cut&paste).

-- 
David Kastrup

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-04 Thread Valentin Villenave
On Mon, May 4, 2015 at 12:25 PM,   wrote:
> This kind of addition would likely get
> the most useful feedback from people *teaching* LilyPond.  We don't have
> a lot of those unless you count "batch teachers", namely documentation
> writers.

Paco would be the obvious person to ask. (Hi Paco!)

Speaking as someone who regularly gives LilyPond initiation seminars
for adults and childrens, the hardest part is explaining to them why
\relative mode is not on by default. (So, no matter how, \absolute
would not come until later on, and \absolute [^c] even later.)
That being said, I definitely see the value of an explicit \absolute
mode and I really like what you’re proposing, but in this case we’d
definitely need to strongly advise people to use \absolute only with
some c pitch.

You said:

>> I find it awkward when \absolute c'' and \absolute g'' mean exactly
>> the same thing.  But it's not like I could not live with it.

Well, OTOH: \relative c' { f g a b } and \relative d' { f g a b } _do_
mean the same thing. The second one will not be transposed one tone
higher.

\transpose as a separate command will always be the easiest thing to
explain, however. (It’s also one of the simplest yet most impressive
features for newcomers.)

Cheers,
Valentin.

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-04 Thread dak


k-ohara5...@oco.net writes:


On 2015/05/03 20:25:22, dak wrote:

On 2015/05/03 16:42:02, Trevor Daniels wrote:



I find it awkward when \absolute c'' and \absolute g'' mean exactly

the same

thing.  But it's not like I could not live with it.  But I still

would

recommend

just using c to keep one's options for possible later changes.  And

not have too

much choice without associated meaningful difference.



The new patch (awkwardly) has \absolute c'' and \absolute g'' mean
exactly the same thing.
My reason for that was to present less of a surprise if someone used
\absolute g'' {g ...} wanting to start on G5, i.e., g''.


Well, yes this seems like something people would tend to do in analogy
to some \relative convention.  And yes, the expectation would likely be
the same as with \absolute c''.  And it's not like \transpose is not
around when one wants it.


A few times people brought up \transpose c c' {...} as a useful method
of music entry, but people went on to suggest other entry methods that
didn't seem to me to be any easier


https://lists.gnu.org/archive/html/lilypond-user/2003-10/msg00332.html

https://lists.gnu.org/archive/html/lilypond-user/2013-03/msg00494.html


In a thread complaining about \relative, I suggested the \absolute 3

{}

variant, also without much interest.


Well, it's always hard to raise enthusiasm for something that does not
actually offer anything new (\transpose exists).  The people on the
mailing lists are not beginners.  This kind of addition would likely get
the most useful feedback from people *teaching* LilyPond.  We don't have
a lot of those unless you count "batch teachers", namely documentation
writers.

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-03 Thread lemzwerg

I also favour

  \absolute c'' { ... }

in Keith's original interpretation.  However, I suggest to document
somewhere that only letter `c'  is supported.


https://codereview.appspot.com/235010043/diff/60001/ly/music-functions-init.ly
File ly/music-functions-init.ly (right):

https://codereview.appspot.com/235010043/diff/60001/ly/music-functions-init.ly#newcode38
ly/music-functions-init.ly:38: by the nubmer of octave marks on
@var{pitch}.  Wrapping as
s/nubmer/number/

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-03 Thread k-ohara5a5a

On 2015/05/03 16:42:02, Trevor Daniels wrote:


a continuous scale would be \relativeOctave { c, d e f g a b c' d e f

... }.

The c' resets the octave.  This doesn't work so well for a melody

oscillating a

tone or two above and below a c, of course, but it does avoid multiple

''' and

,,,.


This allows an entry method that is somewhere between \relative and
\absolute

I tried it a little, and find that I like it better than current
\relative, but not as much as
  \transpose c c, {\clef bass c d e f g a b c' d' e' f' ... }

I always know if the next pitch I am typing is in the high- mid- or low
octave of an instruments' range, but somehow cannot remember the octave
of the previous pitch that I typed.  (Well, I can remember the previous
note while entering a scale, but not in more complicated cases.)

I'm proposing \absolute c'' {}  because the only complaint I hear about
absolute entry is the repeated ' characters, but I don't see anyone
using \transpose c c'' {} to simplify the typing.

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-03 Thread k-ohara5a5a

On 2015/05/03 20:25:22, dak wrote:

On 2015/05/03 16:42:02, Trevor Daniels wrote:



I find it awkward when \absolute c'' and \absolute g'' mean exactly

the same

thing.  But it's not like I could not live with it.  But I still would

recommend

just using c to keep one's options for possible later changes.  And

not have too

much choice without associated meaningful difference.


The new patch (awkwardly) has \absolute c'' and \absolute g'' mean
exactly the same thing.
My reason for that was to present less of a surprise if someone used
\absolute g'' {g ...} wanting to start on G5, i.e., g''.

\absolute c'  has no meaningful difference to \transpose c c'  except
being shorter, and less scary.  Making it incapable of 'transposing'
keeps it less scary.


This indeed warrants some more opinions.  Anybody want to ask on the

user list?

A few times people brought up \transpose c c' {...} as a useful method
of music entry, but people went on to suggest other entry methods that
didn't seem to me to be any easier
 https://lists.gnu.org/archive/html/lilypond-user/2003-10/msg00332.html
 https://lists.gnu.org/archive/html/lilypond-user/2013-03/msg00494.html

In a thread complaining about \relative, I suggested the \absolute 3 {}
variant, also without much interest.

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-03 Thread k-ohara5a5a

Reviewers: dak, lemzwerg, Trevor Daniels, Dan Eble, pwm,

Message:
On 2015/05/03 08:20:03, Trevor Daniels wrote:

I'd prefer the syntax and options to parallel those of
\relative.  That is, an optional prefix pitch to indicate
the starting octave, and taking the starting octave from
the first contained note if the prefix is omitted.  That
would then become an attractive alternative to \relative.


I thought about this, but
1) \absolute { f'' g'' } is already documented to mean {f'' g''}
2) in contrast to \relative, which defines an order of the pitches
anyway (order of appearance in a depth-first search of the music
expression) and which needs a concept of a starting pitch so it had
might as well be the first pitch,
  aa = \new Voice { \voiceOne r2 c''2}
  bb = \new Voice { \voiceTwo c,4 e g c}
  \new Staff \relative << \aa \bb g4 >>
a goal of \absolute was to allow re-ordering of contents without
changing the pitches.


Description:
absolute pitch entry: accept an offset octave; issue 4366

Please review this at https://codereview.appspot.com/235010043/

Affected files (+23, -5 lines):
  A input/regression/relative.ly
  M ly/music-functions-init.ly


Index: input/regression/relative.ly
diff --git a/input/regression/relative.ly b/input/regression/relative.ly
new file mode 100644
index  
..a1dfed55d7a796b91b0f391c42eb4975115772fb

--- /dev/null
+++ b/input/regression/relative.ly
@@ -0,0 +1,12 @@
+\header {
+  texidoc = "Notes are entered using absolute octaves,
+or octaves relative to the previous note."
+  }
+\version "2.19.20"
+
+\new Staff {
+  \relative c'' { c4 g c e g1 }
+  \absolute c'' { c4 g, c e g1 }
+  \clef bass \absolute c { c4 g, c e g1 }
+  \absolute { c4 g, c e g1 }
+}
Index: ly/music-functions-init.ly
diff --git a/ly/music-functions-init.ly b/ly/music-functions-init.ly
index  
cbba26a65256a366e3c2793cebb641e91d18266b..22e1a2dccb6417e6672bb9259d04224130946796  
100644

--- a/ly/music-functions-init.ly
+++ b/ly/music-functions-init.ly
@@ -32,12 +32,18 @@
 %% TODO: using define-music-function in a .scm causes crash.

 absolute =
-#(define-music-function (parser location music)
-   (ly:music?)
-   (_i "Make @var{music} absolute.  This does not actually change the
-music itself but rather hides it from surrounding @code{\\relative}
+#(define-music-function (parser location pitch music)
+   ((ly:pitch?) ly:music?)
+   (_i "Make @var{music} absolute, optionally raised or lowered
+by the nubmer of octave marks on @var{pitch}.  Wrapping as
+@samp{RelativeOctaveMusic} hides it from surrounding @code{\\relative}
 commands.")
-   (make-music 'RelativeOctaveMusic 'element music))
+   (let ((m (if pitch
+(ly:music-transpose
+music
+(ly:make-pitch (1+ (ly:pitch-octave pitch)) 0 0))
+music)))
+ (make-music 'RelativeOctaveMusic 'element m)))

 acciaccatura =
 #(def-grace-function startAcciaccaturaMusic stopAcciaccaturaMusic



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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-03 Thread nine . fierce . ballads

On 2015/05/03 20:25:22, dak wrote:

I still would recommend
just using c to keep one's options for possible later changes.  And

not have too

much choice without associated meaningful difference.


This is wise.


https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-03 Thread paulwmorris

On 2015/05/03 20:04:28, dak wrote:


There is no such thing as '' or s'' as a recognizable element in

LilyPond's

syntax and there is not even a tangible representation of it in

Scheme.  I don't

think that such a feature warrants both messing with the parser as

well as

introducing new Scheme entities.  So at least for me, those proposals

are

non-starters.


Good points.  I was only thinking about what might be best from a user's
perspective and hadn't considered feasibility.  I agree that this
wouldn't warrant such invasive changes.  (Although, it's too bad this
won't work since only the octave is relevant in Keith's patches...  I
haven't thought through the other proposals on the table.)

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-03 Thread tdanielsmusic

On 2015/05/03 20:25:22, dak wrote:


Again: I don't think that this was Keith's proposal.  And I am pretty

sure that

none of my suggestions was Keith's proposal either: I just angle for

something

useful to do with \absolute f.


It wasn't Keith's proposal, you're right, I rather ran on ahead.
Keith's suggestion was to add a simple single octave offset.  Maybe just
this is the right thing to do after all.  It's easy, effective, simple,
non-scary, and maximises benefit/effort.

I'm not too keen on creating Easter eggs - I've spent a fair fraction of
the last several years documenting things previously hidden so ordinary
users could benefit too.


https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-03 Thread dak

On 2015/05/03 16:42:02, Trevor Daniels wrote:


Yes, in Keith's and my model \relative sets a starting pitch,

\absolute would

set a starting octave only, and pitches thereafter are relative to the

octave of

the previous note.


That's not really "absolute".  It's a different mode of relative.  I
very much doubt that this was Keith's proposal unless he corroborates
that.  And then I'll suspect someone is impersonating him.


So the input notes are always in a clearly defined octave.
Perhaps a better name for this mode of entry would be \relativeOctave.


This would be as complex to implement as the normal \relative.  I have
my reservations about how useful people would find this in practice.


> Now I actually like the idea of using \absolute bes' for entering a

trumpet in

> audible pitch using an input scale of { c d e f g ... }.  That's a

concept

> different from \transpose c' bes' { ... } or \transpose c bes' which

primarily

> suggest a connection between _printed_ pitch and audible pitch (like
> \transposition does) rather than _input_ pitch and printed pitch.



A nice idea (your original suggestion was too cute indeed to register

as meaning

this to my old brain ;)  But it does rather muddy the concept of an

absolute

pitch, which is enshrined in >10 years of manuals.


Well, the whole point of giving \absolute an argument was to modify the
interpretation of "absolute" and thus is all about muddying it.  This is
more about choosing the right balance between mud and convenience.

I find it awkward when \absolute c'' and \absolute g'' mean exactly the
same thing.  But it's not like I could not live with it.  But I still
would recommend just using c to keep one's options for possible later
changes.  And not have too much choice without associated meaningful
difference.


> I do realize that \relative only ever touches the octave, and it

seems to make

> little sense to have \absolute f turn { c, d, e, f g a b c d e f'

... } into

one
> continous scale even though it would only touch the octave (like

relative) and

> allow using as few octave marks as possible for a given tessitura.



No, a continuous scale would be \relativeOctave { c, d e f g a b c' d

e f ... }.

  The c' resets the octave.  This doesn't work so well for a melody

oscillating a

tone or two above and below a c, of course, but it does avoid multiple

''' and

,,,.


Again: I don't think that this was Keith's proposal.  And I am pretty
sure that none of my suggestions was Keith's proposal either: I just
angle for something useful to do with \absolute f.


I wouldn't oppose it.  Indeed, the two possibilities could exist

together,

depending on the presence or absence of a prefix pitch.  \absolute

bes' { ... }

transposes the input; \absolute { ... } works like \relativeOctave.


Uh, we _have_ \absolute { ... } already.  And it does not work anything
like the \relativeOctave you describe and it would be a really bad idea
to change that.

\absolute x' { ... } should be a variation or parameterization on what
\absolute { ... } does.  Just like with \relative.


Just some thoughts.  We need some other views I think.


Well yeah.  This is more or less in brainstorming phase.  I think Keith
has a point that people generally don't cherish using \transpose just
for making octave entry easier.  More often than not, it is used in the
context of some actually transposing instrument.

Maybe making \absolute transpose anything but octaves makes it scary
again.  But if we only document it in relation to c, nobody needs to
know.

This indeed warrants some more opinions.  Anybody want to ask on the
user list?

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-03 Thread dak

On 2015/05/03 16:27:58, pwm wrote:

On 2015/05/03 13:23:15, Dan Eble wrote:
> If people don't like numbers (I'm with you) are there any other

feasible ways

to
> indicate an octave only?  Maybe bare ''' and ,,,?  Maybe with an

unpitched

name?
>
> \absolute '' { a b c }
> \absolute s'' { a b c }



I was thinking along the same lines.  It's simpler for users if they

can

indicate the (absolute) octave using ' and , in the way the always do.

 It would

be easy to see that the following would be the same:



   \absolute '' { a b c }
   \absolute s'' { a b c }
   \absolute { a'' b'' c'' }


There is no such thing as '' or s'' as a recognizable element in
LilyPond's syntax and there is not even a tangible representation of it
in Scheme.  I don't think that such a feature warrants both messing with
the parser as well as introducing new Scheme entities.  So at least for
me, those proposals are non-starters.

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-03 Thread tdanielsmusic

On 2015/05/03 09:02:51, dak wrote:


However, I _think_ that your comment would suggest \absolute f'' { f

... to be

the same
as \absolute { f'' ...


Correct


whereas I suggested making \absolute f'' { f ... the same
as \absolute { bes'' ...



Now there _is_ a difference between \relative c and \relative f.  With

what I

guess from your proposal, \absolute c and \absolute f would be the

same.  And so

would be \absolute b.


Yes, in Keith's and my model \relative sets a starting pitch, \absolute
would set a starting octave only, and pitches thereafter are relative to
the octave of the previous note.  So the input notes are always in a
clearly defined octave.  Perhaps a better name for this mode of entry
would be \relativeOctave.  I'll use this later to be clear what I mean.


Now I actually like the idea of using \absolute bes' for entering a

trumpet in

audible pitch using an input scale of { c d e f g ... }.  That's a

concept

different from \transpose c' bes' { ... } or \transpose c bes' which

primarily

suggest a connection between _printed_ pitch and audible pitch (like
\transposition does) rather than _input_ pitch and printed pitch.


A nice idea (your original suggestion was too cute indeed to register as
meaning this to my old brain ;)  But it does rather muddy the concept of
an absolute pitch, which is enshrined in >10 years of manuals.


I do realize that \relative only ever touches the octave, and it seems

to make

little sense to have \absolute f turn { c, d, e, f g a b c d e f' ...

} into one

continous scale even though it would only touch the octave (like

relative) and

allow using as few octave marks as possible for a given tessitura.


No, a continuous scale would be \relativeOctave { c, d e f g a b c' d e
f ... }.  The c' resets the octave.  This doesn't work so well for a
melody oscillating a tone or two above and below a c, of course, but it
does avoid multiple ''' and ,,,.


  But while
that would also be a consistent possibility, I don't think having e be

a higher

pitch than f is going to win us a lot of sympathies.


No, e would never be higher than f in \relativeOctave.


I prefer the transposing interpretation.


I wouldn't oppose it.  Indeed, the two possibilities could exist
together, depending on the presence or absence of a prefix pitch.
\absolute bes' { ... } transposes the input; \absolute { ... } works
like \relativeOctave.

Just some thoughts.  We need some other views I think.

Trevor


https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-03 Thread paulwmorris

On 2015/05/03 13:23:15, Dan Eble wrote:

If people don't like numbers (I'm with you) are there any other

feasible ways to

indicate an octave only?  Maybe bare ''' and ,,,?  Maybe with an

unpitched name?


\absolute '' { a b c }
\absolute s'' { a b c }


I was thinking along the same lines.  It's simpler for users if they can
indicate the (absolute) octave using ' and , in the way the always do.
It would be easy to see that the following would be the same:

  \absolute '' { a b c }
  \absolute s'' { a b c }
  \absolute { a'' b'' c'' }

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-03 Thread nine . fierce . ballads

If people don't like numbers (I'm with you) are there any other feasible
ways to indicate an octave only?  Maybe bare ''' and ,,,?  Maybe with an
unpitched name?

\absolute '' { a b c }
\absolute s'' { a b c }


https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-03 Thread dak

On 2015/05/03 08:20:03, Trevor Daniels wrote:

I'm in favour of a change like this, but I'd prefer
the syntax and options to parallel those of
\relative.  That is, an optional prefix pitch to indicate
the starting octave, and taking the starting octave from
the first contained note if the prefix is omitted.  That
would then become an attractive alternative to \relative.


It would seem that our proposals are on one page regarding \absolute c''
{ c ...

However, I _think_ that your comment would suggest \absolute f'' { f ...
to be the same
as \absolute { f'' ... whereas I suggested making \absolute f'' { f ...
the same as \absolute { bes'' ...

Now there _is_ a difference between \relative c and \relative f.  With
what I guess from your proposal, \absolute c and \absolute f would be
the same.  And so would be \absolute b.

Now I actually like the idea of using \absolute bes' for entering a
trumpet in audible pitch using an input scale of { c d e f g ... }.
That's a concept different from \transpose c' bes' { ... } or \transpose
c bes' which primarily suggest a connection between _printed_ pitch and
audible pitch (like \transposition does) rather than _input_ pitch and
printed pitch.

I do realize that \relative only ever touches the octave, and it seems
to make little sense to have \absolute f turn { c, d, e, f g a b c d e
f' ... } into one continous scale even though it would only touch the
octave (like relative) and allow using as few octave marks as possible
for a given tessitura.  But while that would also be a consistent
possibility, I don't think having e be a higher pitch than f is going to
win us a lot of sympathies.  I prefer the transposing interpretation.

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-03 Thread tdanielsmusic

I'm in favour of a change like this, but I'd prefer
the syntax and options to parallel those of
\relative.  That is, an optional prefix pitch to indicate
the starting octave, and taking the starting octave from
the first contained note if the prefix is omitted.  That
would then become an attractive alternative to \relative.


https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-03 Thread lemzwerg

Nice!  However, I second David's concern: Please use

  \absolute 

instead of

  \absolute 

https://codereview.appspot.com/235010043/

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


Re: absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-02 Thread dak

On 2015/05/03 06:28:43, dak wrote:

https://codereview.appspot.com/235010043/diff/1/ly/music-functions-init.ly

File ly/music-functions-init.ly (right):



https://codereview.appspot.com/235010043/diff/1/ly/music-functions-init.ly#newcode36

ly/music-functions-init.ly:36: ((integer?) ly:music?)
Why use a number here instead of a pitch?



Just \absolute could be \absolute c, and I see no particular problem

with having

\absolute f { c d e f } be the same as
\absolute { f g a bes }.  If you find that too cute, one can just

document the

cases with note name c.


Just "\absolute" could be "\absolute c", ...

I was not proposing to use "c," as reference, that would be weird.

https://codereview.appspot.com/235010043/

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


absolute pitch entry: accept an offset octave (issue 235010043 by k-ohara5...@oco.net)

2015-05-02 Thread dak


https://codereview.appspot.com/235010043/diff/1/ly/music-functions-init.ly
File ly/music-functions-init.ly (right):

https://codereview.appspot.com/235010043/diff/1/ly/music-functions-init.ly#newcode36
ly/music-functions-init.ly:36: ((integer?) ly:music?)
Why use a number here instead of a pitch?

Just \absolute could be \absolute c, and I see no particular problem
with having
\absolute f { c d e f } be the same as
\absolute { f g a bes }.  If you find that too cute, one can just
document the cases with note name c.

https://codereview.appspot.com/235010043/

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