james <james.lilyp...@googlemail.com> writes: > On Oct 26, 2012, at 8:15 PM, Werner LEMBERG wrote: >> It would be very helpful to us if you can find some time to *exactly* >> point out what background knowledge you are missing. > > Knowing what you don't know is always difficult. However, here's an > example where the answer to my question was a bit above my level of > understanding. Granted, the question was a bit above my level of > understanding… > > On Sep 7, 2012, at 1:48 AM, David Nalesnik wrote: > >> Hi James, >> >> On Thu, Sep 6, 2012 at 5:00 PM, james <james.lilyp...@googlemail.com> wrote: >>> I don't really understand it, but I can modify the examples of how to >>> create custom dynamics to get what I want. >>> I have a document with several examples like: >>> rinforzamf = #( >>> make-dynamic-script ( >>> markup #:line ( >>> #:left-align >>> #:normal-text >>> #:whiteout >>> #:italic "rinforza" >>> #:hspace 0 >>> #:whiteout >>> #:dynamic "mf" >>> ) >>> ) >>> )
This is formatted in a way not corresponding with the actual function of parens in Scheme. You are not doing yourself a favor by pretending to be working with a different language. For one thing, the analogies evoked by your formatting fall down in more complex cases. For another, you will have a harder time communicating with other people, as they are unaccustomed to your way of speaking and vice versa. And probably not be sneezed at: convert-ly works by hand-crafted rules and pattern matching. It does not actually understand either LilyPond or Scheme. If you are writing in patterns different from the patterns everybody else uses, tools created for LilyPond users will often fail because of violated assumptions. At any rate, in LilyPond 2.16 you _can_ write the above as rinforzamf = #(make-dynamic-script #{ \markup \line { \left-align \normal-text \whiteout \italic "rinforza" \hspace #0 \whiteout \dynamic "mf" } #}) which is likely more accessible to further manipulation. >>> And a macro that left-aligns it: >>> leftalign = { \once \override Dynamics.DynamicText #'self-alignment-X = #-1 >>> } >>> >>> Heretofore, I've just been manually adding the \leftalign before the >>> \rinforzamf (for example). Is there a way to get both of these in one >>> command? In the current development version, actually myrinforzamf = \single\leftalign \rinforzamf would likely work fine for that purpose. In 2.16, you would have to write myrinforzaml = \tweak DynamicText #'self-alignment-X #-1 \rinforzamf In 2.14, it might work when leaving DynamicText off and placing a - before \tweak, but I am not sure about that. Perhaps it _does_ need David's solution. So in terms of end-user gobbledygook, from 2.14 to 2.16 to current development there is a definite decrease happening which you are choosing to cut yourself off from. > It's not the examples in the documentation, or at least, I understand > all of the documentation except for the introduction to scheme, which > is fine for me, since I don't use scheme. That should make you all that much happier for the developments that make it more and more possible to let _others_ meddle with Scheme and let you reap the results, including those (like \single and the more powerful forms of \tweak) that already made it into LilyPond. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user