\paper { ragged-right = ##f } dynamicsX = #(define-music-function (parser location offset) (number?) #{ \once \override DynamicText #'X-offset = $offset \once \override DynamicLineSpanner #'Y-offset = #0 #}) dynamicsXY = #(define-music-function (parser location offsetX offsetY) (number? number?) #{ \once \override DynamicText #'X-offset = $offsetX \once \override DynamicLineSpanner #'Y-offset = $offsetY #}) dynamicsInside = #(define-music-function (parser location offsetX shiftY height) (number? number? number?) #{ \once \override DynamicText #'X-offset = $offsetX \once \override DynamicLineSpanner #'Y-offset = #0 \once \override DynamicText #'Y-extent = #(cons $shiftY $height ) \once \override DynamicLineSpanner #'Y-extent = #(cons $shiftY $height ) \once \override DynamicText #'extra-offset = #(cons 0 $shiftY ) #}) dynamicsAllInside = #(define-music-function (parser location offsetX shiftY) (number? number?) #{ \once \override DynamicText #'X-offset = $offsetX % \once \override DynamicLineSpanner #'Y-offset = #0 \once \override DynamicText #'Y-extent = #(cons 1 -1) \once \override DynamicLineSpanner #'Y-extent = #(cons 1 -1) \once \override DynamicText #'extra-offset = #(cons 0 $shiftY ) #}) { \dynamicUp b''2\f \dynamicsX #-3 b''2\f \dynamicsXY #-3 #-16 b''2\f b''2 \break b''2\f \dynamicsInside #-3 #-4 #-2 b''2\f % I want to vertically place the following two \f at the same vertical staff % position, i.e. they should start between the topmost and the second % staff line. Using offsets, this doesn't work, as each note requires a % different offset! \dynamicsAllInside #-3.5 #-2.75 b''2\f \dynamicsAllInside #-3.5 #-2.75 g''2\f \break } #(ly:set-option 'debug-skylines #t)