LGTM, considering the lame programming language you had to use. At first it looked like ...
12 years, 4 months ago
(2011-12-05 06:00:05 UTC)
#2
LGTM,
considering the lame programming language you had to use.
At first it looked like you were shortening the extra-spacing-height
symmetrically above and below, but then I converted to a real man's programming
language and all became clear.
http://codereview.appspot.com/5434104/diff/1/scm/output-lib.scm
File scm/output-lib.scm (right):
http://codereview.appspot.com/5434104/diff/1/scm/output-lib.scm#newcode408
scm/output-lib.scm:408: (define-public
(pure-from-neighbor-interface::account-for-span-bar grob)
Golly gee! Is this how you have to loop over a pair in this language? Scheme
must be for losers. I'm glad I use more powerful languages like FORTRAN77.
IF .NOT.has-span-bar(UP)
esh(UP) = min(esh(UP), 1.01)
ENDIF
IF .NOT.( has-span-bar(DOWN).AND.allow-span-bar )
esh(DOWN)= max(esh(DOWN), -1.01)
ENDIF
http://codereview.appspot.com/5434104/diff/1/scm/output-lib.scm File scm/output-lib.scm (right): http://codereview.appspot.com/5434104/diff/1/scm/output-lib.scm#newcode408 scm/output-lib.scm:408: (define-public (pure-from-neighbor-interface::account-for-span-bar grob) On 2011/12/05 06:00:05, Keith wrote: > ...
12 years, 4 months ago
(2011-12-05 07:52:44 UTC)
#4
http://codereview.appspot.com/5434104/diff/1/scm/output-lib.scm
File scm/output-lib.scm (right):
http://codereview.appspot.com/5434104/diff/1/scm/output-lib.scm#newcode408
scm/output-lib.scm:408: (define-public
(pure-from-neighbor-interface::account-for-span-bar grob)
On 2011/12/05 06:00:05, Keith wrote:
> Golly gee! Is this how you have to loop over a pair in this language? Scheme
> must be for losers. I'm glad I use more powerful languages like FORTRAN77.
>
> IF .NOT.has-span-bar(UP)
> esh(UP) = min(esh(UP), 1.01)
> ENDIF
> IF .NOT.( has-span-bar(DOWN).AND.allow-span-bar )
> esh(DOWN)= max(esh(DOWN), -1.01)
> ENDIF
No, this is just Mike's entry for the obfuscated programming contest. This
actually is just
(define-public (pure-from-neighbor-interface::account-for-span-bar grob)
(let* ((esh (pure-from-neighbor-interface::extra-spacing-height grob))
(hsb (ly:grob-property grob 'has-span-bar))
(ii (interval-intersection esh (cons -1.01 1.01)))
(if (pair? hsb)
(cons (car (if (and (cdr hsb)
(ly:grob-property grob 'allow-span-bar))
esh ii))
(cdr (if (car hsb) esh ii)))
ii))))
Putting a loop here is plain insanity since it contains just two iterations, and
with quite different code in them.
Le Dec 5, 2011 à 8:52 AM, dak@gnu.org a écrit : > > http://codereview.appspot.com/5434104/diff/1/scm/output-lib.scm > ...
12 years, 4 months ago
(2011-12-05 08:07:17 UTC)
#5
Le Dec 5, 2011 à 8:52 AM, dak@gnu.org a écrit :
>
> http://codereview.appspot.com/5434104/diff/1/scm/output-lib.scm
> File scm/output-lib.scm (right):
>
> http://codereview.appspot.com/5434104/diff/1/scm/output-lib.scm#newcode408
> scm/output-lib.scm:408: (define-public
> (pure-from-neighbor-interface::account-for-span-bar grob)
> On 2011/12/05 06:00:05, Keith wrote:
>> Golly gee! Is this how you have to loop over a pair in this language?
> Scheme
>> must be for losers. I'm glad I use more powerful languages like
> FORTRAN77.
>
>> IF .NOT.has-span-bar(UP)
>> esh(UP) = min(esh(UP), 1.01)
>> ENDIF
>> IF .NOT.( has-span-bar(DOWN).AND.allow-span-bar )
>> esh(DOWN)= max(esh(DOWN), -1.01)
>> ENDIF
>
> No, this is just Mike's entry for the obfuscated programming contest.
Winner for 2 straight years and running!
> This actually is just
>
> (define-public (pure-from-neighbor-interface::account-for-span-bar grob)
> (let* ((esh (pure-from-neighbor-interface::extra-spacing-height grob))
> (hsb (ly:grob-property grob 'has-span-bar))
> (ii (interval-intersection esh (cons -1.01 1.01)))
> (if (pair? hsb)
> (cons (car (if (and (cdr hsb)
> (ly:grob-property grob 'allow-span-bar))
> esh ii))
> (cdr (if (car hsb) esh ii)))
> ii))))
>
>
I'll test this out after I push the hairpin patch, which does some finagling
with has-span-bar.
Cheers,
MS
Issue 5434104: More nuanced BarLine extra-spacing-height to allow tighter horizontal spacing
(Closed)
Created 12 years, 4 months ago by MikeSol
Modified 12 years, 4 months ago
Reviewers: pkx166h, Keith, mike_apollinemike.com, dak
Base URL:
Comments: 2