lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem with remove bar number/ why I'm not upgrading to the new sta


From: David Kastrup
Subject: Re: Problem with remove bar number/ why I'm not upgrading to the new stable version
Date: Sat, 27 Oct 2012 12:07:48 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux)

james <address@hidden> 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 <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]