Re: Implicit nonsense
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
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/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
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
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
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
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
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
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
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
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
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