[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: hairpin on a single note
From: |
Mika Kuuskankare |
Subject: |
Re: hairpin on a single note |
Date: |
Fri, 5 Mar 2010 12:10:12 +0200 |
On 5.3.2010, at 3:14, craigbakalian wrote:
>
>> I'd like to notate a crescendo on a single note or chord, ie, c4\<\!
>> which by design does not seem to work.
>> Is there an easier way of doing that than using spacer rests?
>>
>> regards,
>>
>> Mika Kuuskankare
>
> The easiest way to do this is c4 \expressivo
>
> but you may not like the results, then you have to use spacer rests.
>
> Craig Bakalian
>
>
Yes, it's not quite what I'm after. This is what I could come up with:
%%%%%%% SNIPPET STARTS %%%%%
scresc = #(define-music-function (parser location startDyn endDyn) (string?
string?)
(make-music
'TextScriptEvent
'direction
-1
'text
(markup
#:line
(#:dynamic
startDyn " "
#:postscript
"-3.5 0.5 moveto 0.0 1.0 lineto stroke -3.5 0.5
moveto 0.0 0.0 lineto stroke"
#:dynamic
endDyn))))
{
\textLengthOn
\scresc "pppp" "ffffff"
< c'' e g>1
\textLengthOff
\textLengthOn \scresc "fp" "fz" g2 ^"Questo pezzo si deve trattare..."
\textLengthOff
r2
c1\< g2\!
}
%%%%%%% SNIPPET ENDS %%%%%%
It almost there and I could even live with this. The only setback is that I
need to use \textLengthOn/Off to get the spacing right and while this is not
maybe a big problem there could be situations like in the measure 2....
Could one of the Scheme people tell me if there's a way of doing this more
intelligently? Like, requesting the extent of the note and fitting the
expression in that space, maybe with the possibility of defining a minimum
extent?
best,
Mika Kuuskankare