> ``` > \version "2.25.18" > > foo = > #(define-music-function () () > #{ > << > c'4 > \new Voice { g''4 } > >> > #}) > > { > \override Staff.NoteColumn.ignore-collision = ##t > c'4 \foo \stemUp \foo \stemDown \foo > } > ``` > > As can be seen, the `\new Voice` doesn't react to `\stemUp` and > `\stemDown`. Is there a way to fix this, maybe by 'cloning' all > properties of the `Stem` grob in the current `Voice` context to the > new one?
I could imagine that a solution looks like this pseudo-code: ``` foo = #(define-music-function () () (let* ((stem-props (get-props (current-context) 'Stem)) (stem-direction (assoc-get 'direction stem-props))) #{ << c'4 \new Voice \with { \override Stem.direction = #stem-direction } { g''4 } >> #})) { \override Staff.NoteColumn.ignore-collision = ##t c'4 \foo \stemUp \foo \stemDown \foo } ``` Is there something like `get-props` and `current-context` available? Werner