ELF@X @8@x$x$X X $$$pp= ?A  4 =?=?A4p@>?<?D???4`D???4P0P0`P 9=?Q=?Q999Q=@Q99=@Q= @Q9D???4 000 0P0@` =@9<?0@0 0P0p000`@ 90p00`0 @ > ?< ?= ?B <?5 @ > ?< ?= ?B <?5 @ > ?< ?= ?B <?5 9 0 C@Z??4= ?= ?0 0 00`C ?G??4 = ?9 00 0 0`C ?5??4 = ?= ?00 00pC ?"??4 0 0pC ???4 0 09 C ???4 = ?= ?00 00pZ  C ?>?4 = ?000Z C ?>?4 = ?=?0000Z  C ?>?4 =?=?0p000 9 [ Z  Co?>m?4=?={?0`00p0 ZC[?>Y?4p=?=g?0P0p0`0  ZCg?>e?4`=k?0`00P C7?>5?4`=?=>0@0`0P0  ZC#?m>!?4`=?=?0@0`0P0  ZC?Y> ?4P=?=?000P0@0 Z 9 Q T U 99Pc9@h 9@h9 @h 99@c90h 9  h 9 h 9h9h9h 9h999 0@00000 JRSC d? >b?4 C j?>h?4 9 99000000p C b?=`?4 9 Q C f?=d?4 <V 0 0p0 0 0` 0 0 00 0 0# R<G?DS?=Q?4`0`00p "XRCN?=L?4p9`f0`000 9Pf0P000 0`0p0"  C 0?=.?4 9 pf9`f9Pf0`00P00p 2 !9 0V 9  f  V S Q  9 <!D>w=>4`0`00p "V 9pf0p0lV S Q  9  f  o<D>P=>4`00p"#C>#=>4C>=>4p<>0p0` R0`00pS =S 9 8V C ><>4 0 0 0Q 0 VVVQ00 R0ZS0XR0ZS0VQ00 PC;><9>4@99 fX9  fX9 f9 fV9f0@0P0 0P0`0PC>=>4`<>C>=>4@C>=>40000PP0@0P0<u>0@0P00P0P9<D><>40000`0@@"F<D><>40000`0@@".<sD=<=40000`0@@"<Q>D=m<=40000`0@@"  90` ;0` 90` 099900 0@0P#DRp<&>D=:<=400000@` "&<D=(<=400000@` " SpQ90P0p00@Sp90p00@Sp9V90`0p00@C=Y<=400PP Q0 @C=W<U<4P0P0@ 9RP)9!99"9!99"#C=9<a=4@C=3<g=40<=000 @RP0 0@00 2!99QSP#C=<:=4PC= <@=4@<=0@000SP<*D=;=4 0@00 2!9900"9!99"C\=;=4@CX=;=40<p=000 @SP0@000P0 90P ?;< ;O>;?;< ;O>;?;<;O>;?;?;<;O>;?;<;O>;=;>;?;;?;<;O>;?#;<;N>#;?%;< ;O>%;?';<";O>';?);<$;N>);?+;<&;O>+;?-;<(;O>-;?1; ?2;<-;O>2;?6;?7;<2;O>7;?;;?<;<7;O><;?>;<9;O>>;?F;<A;O>F;?J;<E;O>J;?L;<G;N>L;?N;<I;O>N;?R;<M;O>R;?T;<O;O>T;?V;<Q;N>V;?X;<S;O>X;?Z;<U;N>Z;?\;<W;O>\;?^;<Y;O>^;?`;<[;O>`;?b;<];O>b;?d;<_;N>d;?f;<a;O>f;?h;<c;N>h;?j;<e;O>j;?n;<i;O>n;?r;<m;O>r;?v;<q;O>v;?z;?{;u;?|;<w;O>|;?;<{;O>;?;<;O>;?;<;O>;?;<;O>;?;?;<;O>;?;<;O>;?;-?;<;O>;?;<;O>;?;n?;?;;?;?;?;<;O>;?;9 'define-markup-command-internal' harp-pedal'markup-lambda-worker'string?'guile'list'1.2'size'harp-pedal-details'0.5' thickness'instrument-specific-markup'harp-pedals-parse-string'harp-pedal-info'harp-pedal-check'chain-assoc-get' assoc-get' box-offset'0.8'ly:output-def-lookup'line-thickness' box-width'0.4' box-height'1.0'space-before-divider'space-after-divider'circle-thickness'circle-x-padding'0.15'circle-y-padding'0.2'ly:stencil-add'make-line-stencil'make-transparent-box-stencil'interval-widen'memv'make-filled-box-stencil' oval-stencil | o' ly:warning'G_'!Unhandled entry in harp-pedal: ~a'reverse'map' string->list'remove-whitespace ^ v -'>Harp pedal diagram contains ~a pedals rather than the usual 7.'JHarp pedal diagram does not contain a divider (usually after third pedal).'equal?'qHarp pedal diagram contains dividers at positions ~a. Normally, there is only one divider after the third pedal.$dl4hH@ pX(H H h  \   P t  ( D   <PH(L* * * * * * * "   `7A`7`7`7X `78" E EEE      !E  |>JqXXX  p*8"8"<$$pExMX Uk( z /XXp%X @8$8?$t&t P   8  8  h j h ``d4  ""'++""'++""'++   0  (048 H \ ` tx  ,;,>-;,5LB*H4ywyY \!* / $4,x,f),, wSh wh,[w  , w-%,  h,w $$Ptp  418 A h tZ,jXp`process-pedalbox-x-dimensionsbox-y-dimensionsdivider-stencilharp-pedals-parse-stringharp-pedal-infocheckharp-pedal-checkclosurenameboxargmoduleproctailvalrestunspecifiedlayoutpropsdefinition-stringsizeharp-pedal-detailsthicknesspedal-listdetailsdyline-widthbox-widthbox-hheightspacebeforedividerspaceafterdividercircle-thicknesscircle-x-paddingcircle-y-paddingfalsebox-y-dimensionsnfreeidxdivider-stencilprocess-pedalresultfinal-xstencilsremainingprev-xcircledspacekeypstencilpedal-stencilnew-prev-xxposcpedalspedalcountdividerpositionsinfonilvals(definition-string) Make a harp pedal diagram. Possible elements in @var{definition-string}: @table @code @item ^ pedal is up @item - pedal is neutral @item v pedal is down @item | vertical divider line @item o the following pedal should be circled (indicating a change) @end table The function also checks if the string has the typical form of three pedals, then the divider and then the remaining four pedals. If not it prints out a warning. However, in any case, it will also print each symbol in the order as given. This means you can place the divider (even multiple dividers) anywhere you want, but you'll have to live with the warnings. The appearance of the diagram can be tweaked inter alia using the size property of the TextScript grob (@code{\override Voice.TextScript.size = #0.3}) for the overall, the thickness property (@code{\override Voice.TextScript.thickness = #3}) for the line thickness of the horizontal line and the divider. The remaining configuration (box sizes, offsets and spaces) is done by the harp-pedal-details list of properties (@code{\override Voice.TextScript.harp-pedal-details.box-width = #1}). It contains the following settings: @code{box-offset} (vertical shift of the box center for up/down pedals), @code{box-width}, @code{box-height}, @code{space-before-divider} (the spacing between two boxes before the divider) and @code{space-after-divider} (box spacing after the divider). @lilypond[verbatim,quote] \markup \harp-pedal #"^-v|--ov^" @end lilypond Parse a harp pedals diagram string and return a list containing 1, 0, -1, #\o or #\|Perform some sanity checks for harp pedals (7 pedals, divider after third).guile.procprops.rodata.data.rtl-text.guile.frame-maps.dynamic.strtab.symtab.guile.arities.strtab.guile.arities.guile.docstrs.strtab.guile.docstrs.debug_info.debug_abbrev.debug_str.debug_loc.debug_line.shstrtab