2016-10-28 1:46 GMT+02:00 Thomas Morley <thomasmorle...@gmail.com>: > 2016-10-27 13:40 GMT+02:00 David Kastrup <d...@gnu.org>: >> >> This concerns << ... \\ ... \\ ... ... >> >> >> If we have more than one voice, voices are assigned in order: >> >> 1/2, 1/2/3, 1/2/3/4, 1/2/3/4/5, 1/2/3/4/5/6 ... >> >> while the documentation is quite explicit that, ordered from top to >> bottom, assignments should be more like >> >> 1/2, 3/1/2, 3/1/2/4, 5/3/1/2/4, 5/3/1/2/4/6 ... >> >> namely keeping the small voice numbers for the inner voices. Now I am >> sort of afraid that changing this is likely to end pretty disruptive to >> existing scores. Even though I don't know how many really use the >> original ordering unchanged as well as intentionally. >> >> Thoughts? >> >> -- >> David Kastrup > > > I remember the time I was a lilypond-starter, I was pretty confused > about the order... > > I'd vote for doing it better even if it breaks previous user codes. > Ofcourse we should document all thoroughly and ofcourse there will be > some complaints on the list, which needs to be adressed. > We did things like that before, I remember the change with the bar-lines ... > > my 2 cents, > Harm
I'd wish more users would participate in this discussion. To make it more visible I coded a small snippet annotating some info to NoteHeads in << .. \\ .. \\ ... ... ... >>-constructs. Output attached. I attach the coding as well, if someone is interested, though be aware it's not fully elaborated, just enough for purpose. HTH, Harm
atest-46.pdf
Description: Adobe PDF document
\version "2.19.49" %% creates a StringNumber-grob, which then prints info about context/voiceXxx annotateVoiceInfo = #(lambda (ctx) (make-engraver (acknowledgers ((note-column-interface engraver grob source-engraver) (let ((nhds (ly:grob-array->list (ly:grob-object grob 'note-heads))) (stem (ly:grob-object grob 'stem)) (stem-dir-shift-list ;; obviously incomplete.. '(((1 . 0) "One") ((-1 . 0) "Two") ((1 . 1) "Three") ((-1 . 1) "Four") ((1 . 2) "Five") ((-1 . 2) "Six") ((1 . 3) "Seven") ((-1 . 3) "Eight")))) (for-each (lambda (nh) (let ((new-grob (ly:engraver-make-grob engraver 'StringNumber '()))) (ly:grob-set-parent! new-grob Y nh) (ly:grob-set-property! new-grob 'side-axis Y) (ly:grob-set-property! new-grob 'direction UP) (ly:grob-set-property! new-grob 'X-offset 7) (ly:grob-set-property! new-grob 'stencil (grob-interpret-markup new-grob (markup #:fontsize -3 #:vcenter #:normal-text (format #f " This context has the id: \"~a\", with settings equal to: \\voice~a" (ly:context-id ctx) (car (assoc-get (cons (ly:grob-property stem 'direction) (ly:grob-property grob 'horizontal-shift)) stem-dir-shift-list '("-none" . ""))))))))) nhds)))))) \layout { \context { \Voice stringNumberOrientations = #'(right) \consists \annotateVoiceInfo } } %% needed for third example, see NR voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice) voiceSix = #(context-spec-music (make-voice-props-set 5) 'Voice) voiceSeven = #(context-spec-music (make-voice-props-set 6) 'Voice) { <>^"In the order the Docs advice, iiuc" << c'''2 \\ c' \\ g'' \\ e' \\ e'' \\ g' \\ c'' >> <>^"Ordered as descending pitches" << c'''2 \\ g'' \\ e'' \\ c'' \\ g' \\ e' \\ c' >> <>^"Ordered as descending pitches with custom voiceXxx-settings" << c'''2 \\ { \voiceThree g'' } \\ { \voiceFive e'' } \\ { \voiceSeven c'' } \\ { \voiceSix g' } \\ { \voiceFour e' } \\ { \voiceTwo c' } >> }
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user