Oups, answered the wrong post, sorry…

JM

> Le 19 nov. 2019 à 09:43, Jacques Menu <imj-muz...@bluewin.ch> a écrit :
> 
> Hello Steve,
> 
> Maybe starting this way:
> 
> \version "2.19.83"
> 
> {
>   % initial shared music
>   c'1 e |
> 
>   % the two alternatives
>   \override Staff.StaffSymbol.line-count = 0
>   \stopStaff \startStaff
>   \hide Staff.BarLine
>   <<
>     \new Staff {
>       \hide Staff.Clef
>       \hide Staff.KeySignature
>       \hide Staff.TimeSignature
>       d' a' d'' |
>     }
>     \new Staff {
>       \hide Staff.Clef
>       \hide Staff.KeySignature
>       \hide Staff.TimeSignature
>       g' b' e'' |
>     }
>   >>
>   \override Staff.StaffSymbol.line-count = 5
>   \stopStaff \startStaff
>   \undo\hide Staff.BarLine
> 
>   % next shared music
>   ais' bes' |
> }
> 
> <PastedGraphic-2.tiff>
> 
> and then force a barline at the end of measure 2, move the two alternative 
> staves fragments higher, and remove the dangling lines at the left of the two 
> alternatives?
> 
> JM
> 
>> Le 19 nov. 2019 à 02:23, Steve Cummings <o...@seldenhouse.com 
>> <mailto:o...@seldenhouse.com>> a écrit :
>> 
>> Though I remain baffled by Scheme and its use in LilyPond, my hope is to 
>> build one or more functions/procedures that would transpose input music and 
>> for each chord display the transposed chord's note names, with control over 
>> the way the names are represented (as in Cb or F# instead of ces and fis). 
>> 
>> Here, I'm just asking for help with one part of the function-to-be: how to 
>> turn notes in LilyPond music into note names as text (schematic of the 
>> complete imagined function below).
>> 
>> Here's what I've tried so far, in LilyPond 2.19.8x, based closely on working 
>> procedures found on this list. Once this is running right for single notes 
>> I'll (hope to) get it to loop through all input music. 
>> 
>> #(define-scheme-function
>> (pitchin)
>> (ly:music?)
>> (let* (
>>     (note-datum (car (ly:music-property pitchin 'elements)))
>>     (pitch-datum (ly:music-property note-datum 'pitch))
>>     (out-notename (ly:pitch-notename pitch-datum)))  
>> #{  \markup 
>>     \bold 
>>     $out-notename 
>> #}   
>> ))
>> I get "syntax error, unexpected NUMBER_IDENTIFIER" on the $out-notename line 
>> when calling notenamer with a note wrapped in braces, as in:
>> 
>> \notenamer {a}
>> 
>> Without the braces around the music,  the error is "In procedure car in 
>> expression (car (ly:music-property pitchin #)): Wrong type (expecting pair): 
>> () 
>> 
>> Results are the same if I do "define-music-function" instead of 
>> "define-scheme-function." 
>> 
>> Many thanks for your attention and help,
>> Steve
>> 
>> PS: I have a working NoteNames reformatter but it seems to require listing 
>> in a substitution table the specific notes of each and every chord in each 
>> transposition. A custom function would allow display of the chord note names 
>> in a columnar stack so if these markups were used as text scripts they 
>> wouldn't either take too much space or collide with the names of adjacent 
>> notes. Alternatively, chord note names could be placed beneath ChordNames.
>> 
> 

Reply via email to