Re: Implicit nonsense

2012-02-01 Thread Trevor Daniels

David Kastrup wrote Wednesday, February 01, 2012 7:00 AM


Trevor Daniels t.dani...@treda.co.uk writes:


David Kastrup wrote Tuesday, January 31, 2012 10:13 PM


Any suggestion of how to do the documentation part of issue 2263
differently?  That \new Voice sticks out like a wart.

From Documentation/notation/simultaneous.itely (as proposed):

Since nested instances of @code{\relative} don't affect one another,
another @code{\relative} inside of @code{\chordRepeats} can be used for
establishing the octave relations before expanding the repeat chords.
In that case, the whole content of the inner @code{\relative} does not
affect the outer one; hence the different octave entry of the final note
in this example.

@c Without \new Voice, implicit voice creation does the dumbest thing.
@lilypond[verbatim,quote]
\new Voice
\relative c'' {
 \chordRepeats #'(articulation-event)
 \relative c''
 { a-. c\prall e1\sfz c'4 q2 r8 q8-. } |
 q2 c |
}
@end lilypond


It's not unusual to have explicit contexts specified in the docs.  See
for example much of the vocal music section.  Usually,
though, we specify \new Staff, leaving the Voice context
implied, rather than the other way round.  That should work
here too, and would be more in accord with other @lilypond snippets in
the docs.


It would create two voices, meaning that if the user uses this construct
somewhere else, it would surprising effects, like not working with
\addlyrics or ties or whatever.


Ah, OK.  Let's keep the Voice then.


Lose the comment, though.


Why?  It keeps people from removing the \new Voice from the docs.


Well, let's make it more self-explanatory rather than a side-swipe.

An explicit Voice is necessary to avoid incorrect implicit Voice creation

Trevor 



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


Implicit nonsense

2012-01-31 Thread David Kastrup

What would you expect the following to do?

\new StaffGroup { \relative c' { \relative c' { c2 } c } }

I can't imagine _any_ situation where this behavior would make sense.

-- 
David Kastrup


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


Re: Implicit nonsense

2012-01-31 Thread Janek Warchoł
2012/1/31 David Kastrup d...@gnu.org:

 What would you expect the following to do?

 \new StaffGroup { \relative c' { \relative c' { c2 } c } }

 I can't imagine _any_ situation where this behavior would make sense.

+1

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


Re: Implicit nonsense

2012-01-31 Thread Trevor Daniels


David Kastrup wrote Tuesday, January 31, 2012 12:47 PM


What would you expect the following to do?

\new StaffGroup { \relative c' { \relative c' { c2 } c } }


It does pretty much what I expected, but then I have been explaining the 
drawbacks of implicit contexts for some years now.



I can't imagine _any_ situation where this behavior would make sense.


No, me neither, but leaving Voice contexts to be implied usually works well, 
eg with Staff rather than StaffGroup.


Trevor


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


Re: Implicit nonsense

2012-01-31 Thread David Kastrup
Trevor Daniels t.dani...@treda.co.uk writes:

 David Kastrup wrote Tuesday, January 31, 2012 12:47 PM

 What would you expect the following to do?

 \new StaffGroup { \relative c' { \relative c' { c2 } c } }

 It does pretty much what I expected, but then I have been explaining
 the drawbacks of implicit contexts for some years now.

 I can't imagine _any_ situation where this behavior would make sense.

 No, me neither, but leaving Voice contexts to be implied usually works
 well, eg with Staff rather than StaffGroup.

Sure, but why would the above imply _two_ voices?

-- 
David Kastrup


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


Re: Implicit nonsense

2012-01-31 Thread David Kastrup
Trevor Daniels t.dani...@treda.co.uk writes:

 David Kastrup wrote Tuesday, January 31, 2012 12:47 PM

 What would you expect the following to do?

 \new StaffGroup { \relative c' { \relative c' { c2 } c } }

 It does pretty much what I expected, but then I have been explaining
 the drawbacks of implicit contexts for some years now.

 I can't imagine _any_ situation where this behavior would make sense.

 No, me neither, but leaving Voice contexts to be implied usually works
 well, eg with Staff rather than StaffGroup.

Why would you want to have the above end up in _two_ different voices?
If you write

\new Staff { \relative c' { \relative c' { c2~ } c } }

the tie just disappears.  So I can't say this works well with Staff
rather than StaffGroup.

-- 
David Kastrup

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


Re: Implicit nonsense

2012-01-31 Thread Trevor Daniels


David Kastrup wrote Tuesday, January 31, 2012 2:31 PM



Trevor Daniels t.dani...@treda.co.uk writes:


No, me neither, but leaving Voice contexts to be implied usually works
well, eg with Staff rather than StaffGroup.


Why would you want to have the above end up in _two_ different voices?
If you write

\new Staff { \relative c' { \relative c' { c2~ } c } }

the tie just disappears.  So I can't say this works well with Staff
rather than StaffGroup.


usually.  You wouldn't usually have nested \relative's.

Implicit contexts are important for getting newbies off the ground.
But I agree the implementation is deficient.

Trevor


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


Re: Implicit nonsense

2012-01-31 Thread David Kastrup
Trevor Daniels t.dani...@treda.co.uk writes:

 David Kastrup wrote Tuesday, January 31, 2012 2:31 PM


 Trevor Daniels t.dani...@treda.co.uk writes:

 No, me neither, but leaving Voice contexts to be implied usually works
 well, eg with Staff rather than StaffGroup.

 Why would you want to have the above end up in _two_ different voices?
 If you write

 \new Staff { \relative c' { \relative c' { c2~ } c } }

 the tie just disappears.  So I can't say this works well with Staff
 rather than StaffGroup.

 usually.  You wouldn't usually have nested \relative's.

Any suggestion of how to do the documentation part of issue 2263
differently?  That \new Voice sticks out like a wart.

From Documentation/notation/simultaneous.itely (as proposed):

Since nested instances of @code{\relative} don't affect one another,
another @code{\relative} inside of @code{\chordRepeats} can be used for
establishing the octave relations before expanding the repeat chords.
In that case, the whole content of the inner @code{\relative} does not
affect the outer one; hence the different octave entry of the final note
in this example.

@c Without \new Voice, implicit voice creation does the dumbest thing.
@lilypond[verbatim,quote]
\new Voice
\relative c'' {
  \chordRepeats #'(articulation-event)
  \relative c''
  { a-. c\prall e1\sfz c'4 q2 r8 q8-. } |
  q2 c |
}
@end lilypond


-- 
David Kastrup


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


Re: Implicit nonsense

2012-01-31 Thread Trevor Daniels


David Kastrup wrote Tuesday, January 31, 2012 10:13 PM


Any suggestion of how to do the documentation part of issue 2263
differently?  That \new Voice sticks out like a wart.

From Documentation/notation/simultaneous.itely (as proposed):

Since nested instances of @code{\relative} don't affect one another,
another @code{\relative} inside of @code{\chordRepeats} can be used for
establishing the octave relations before expanding the repeat chords.
In that case, the whole content of the inner @code{\relative} does not
affect the outer one; hence the different octave entry of the final note
in this example.

@c Without \new Voice, implicit voice creation does the dumbest thing.
@lilypond[verbatim,quote]
\new Voice
\relative c'' {
 \chordRepeats #'(articulation-event)
 \relative c''
 { a-. c\prall e1\sfz c'4 q2 r8 q8-. } |
 q2 c |
}
@end lilypond


It's not unusual to have explicit contexts specified in the docs.  
See for example much of the vocal music section.  Usually,

though, we specify \new Staff, leaving the Voice context
implied, rather than the other way round.  That should work
here too, and would be more in accord with other @lilypond 
snippets in the docs.  Lose the comment, though.


Trevor


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


Re: Implicit nonsense

2012-01-31 Thread -Eluze


Trevor Daniels wrote:
 
 
 David Kastrup wrote Tuesday, January 31, 2012 2:31 PM
 
 
 Trevor Daniels t.dani...@treda.co.uk writes:
 
 No, me neither, but leaving Voice contexts to be implied usually works
 well, eg with Staff rather than StaffGroup.
 
 Why would you want to have the above end up in _two_ different voices?
 If you write
 
 \new Staff { \relative c' { \relative c' { c2~ } c } }
 
 the tie just disappears.  So I can't say this works well with Staff
 rather than StaffGroup.
 
 usually.  You wouldn't usually have nested \relative's.
 
why not  - while composing or just copying you might include a sequence you
have written into a variable…


 Implicit contexts are important for getting newbies off the ground.
 But I agree the implementation is deficient.
 
what exactly is deficient?!

the right container for this is neither the StaffGroup nor a Staff, it's
simply a Voice!

and putting the whole stuff in an implicit or explicit Voice context there
is no problem at all.

Eluze
-- 
View this message in context: 
http://old.nabble.com/Implicit-nonsense-tp33235869p33240042.html
Sent from the Gnu - Lilypond - Dev mailing list archive at Nabble.com.


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


Re: Implicit nonsense

2012-01-31 Thread Trevor Daniels


Eluze wrote Tuesday, January 31, 2012 10:58 PM


Trevor Daniels wrote:


David Kastrup wrote Tuesday, January 31, 2012 2:31 PM


Trevor Daniels t.dani...@treda.co.uk writes:


No, me neither, but leaving Voice contexts to be implied usually works
well, eg with Staff rather than StaffGroup.


Why would you want to have the above end up in _two_ different voices?
If you write

\new Staff { \relative c' { \relative c' { c2~ } c } }

the tie just disappears.  So I can't say this works well with Staff
rather than StaffGroup.


usually.  You wouldn't usually have nested \relative's.

why not  - while composing or just copying you might include a sequence 
you

have written into a variable…


Implicit contexts are important for getting newbies off the ground.
But I agree the implementation is deficient.


what exactly is deficient?!


It can introduce spurious Staff contexts, as here.


the right container for this is neither the StaffGroup nor a Staff, it's
simply a Voice!

and putting the whole stuff in an implicit or explicit Voice context there
is no problem at all.


Exactly; but that wasn't the point of the discussion.
David was trying to create a snippet for the docs,
which do not (normally) specify all the contexts
explicitly.

Trevor


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


Re: Implicit nonsense

2012-01-31 Thread David Kastrup
Trevor Daniels t.dani...@treda.co.uk writes:

 David Kastrup wrote Tuesday, January 31, 2012 10:13 PM

 Any suggestion of how to do the documentation part of issue 2263
 differently?  That \new Voice sticks out like a wart.

 From Documentation/notation/simultaneous.itely (as proposed):

 Since nested instances of @code{\relative} don't affect one another,
 another @code{\relative} inside of @code{\chordRepeats} can be used for
 establishing the octave relations before expanding the repeat chords.
 In that case, the whole content of the inner @code{\relative} does not
 affect the outer one; hence the different octave entry of the final note
 in this example.

 @c Without \new Voice, implicit voice creation does the dumbest thing.
 @lilypond[verbatim,quote]
 \new Voice
 \relative c'' {
  \chordRepeats #'(articulation-event)
  \relative c''
  { a-. c\prall e1\sfz c'4 q2 r8 q8-. } |
  q2 c |
 }
 @end lilypond

 It's not unusual to have explicit contexts specified in the docs.  See
 for example much of the vocal music section.  Usually,
 though, we specify \new Staff, leaving the Voice context
 implied, rather than the other way round.  That should work
 here too, and would be more in accord with other @lilypond snippets in
 the docs.

It would create two voices, meaning that if the user uses this construct
somewhere else, it would surprising effects, like not working with
\addlyrics or ties or whatever.

 Lose the comment, though.

Why?  It keeps people from removing the \new Voice from the docs.

-- 
David Kastrup

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