[gsharp-devel] Re: [gsharp-cvs] CVS gsharp

Christophe Rhodes csr21 at cam.ac.uk
Mon Jan 23 11:32:45 UTC 2006


"CVS User rstrandh" <rstrandh at common-lisp.net> writes:

> The conversion to allow Gsharp to deal with elements (and thus
> timelines) and measures of zero duration should now be complete.  Of
> course, there might still be some issues, since I haven't really
> tested it with elements of zero duration. 

Hi,

I'm afraid I get a floating point error when attempting to incorporate
zero-length keysignature elements.  The relevant parts of the
backtrace are below; this occurs just after the first insertion of a
zero-duration element.  I also attach the current diff: if instead of
returning 0 from DURATION (ELEMENT) I return 1/8 (or some such
non-zero quantity) things appear to work.

Cheers,

Christophe

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: keysig8.diff
URL: <https://mailman.common-lisp.net/pipermail/gsharp-devel/attachments/20060123/bb24e29e/attachment.ksh>
-------------- next part --------------

7: (SB-KERNEL:TWO-ARG-/ 0 0.0)
8: (GSHARP-DRAWING::MAKE-ELEMENTARY-ELASTICITY 0 0.0)
9: (GSHARP-DRAWING::COMPUTE-ELASTICITY-FUNCTIONS (#<GSHARP-MEASURE:MEASURE (1/4, 1.1486983) @ 0-0 {1002AD1291}>) #<GSHARP-MEASURE:MEASURE-COST-METHOD {1002B015B1}> #<GSHARP::GSHARP-PANE GSHARP::SCORE {1002D83121}>)
10: ((LAMBDA (GSHARP-MEASURE:MEASURES)) (#<GSHARP-MEASURE:MEASURE (1/4, 1.1486983) @ 0-0 {1002AD1291}>))
11: (GSHARP-MEASURE::NEW-MAP-OVER-OBSEQ-SUBSEQUENCES #<CLOSURE (LAMBDA (GSHARP-MEASURE:MEASURES)) {1002B01619}> [B :staves ([= :name "default staff" :clef [K :name :TREBLE :lineno 2 ]  :keysig #(:NATURAL :NATURAL :NATURAL :NATURAL :NATURAL :NATURAL :NATURAL) ] ) :segments ([S :layers ([_ :name "default layer" :staves ([= :name "default staff" :clef [K :name :TREBLE :lineno 2 ]  :keysig #(:NATURAL :NATURAL :NATURAL :NATURAL :NATURAL :NATURAL :NATURAL) ] ) :head [/ :bars ([| :elements NIL ] ) ]  :body [/ :bars ([| :elements ([% :xoffset 0 :notehead :FILLED :rbeams 0 :lbeams 0 :dots 0 :stem-direction :AUTO :notes ([N :pitch 35 :staff [= :name "default staff" :clef [K :name :TREBLE :lineno 2 ]  :keysig # ]  :head :FILLED :accidentals :NATURAL :dots 0 ] ) ]  [% :xoffset 0 :notehead :FILLED :rbeams 0 :lbeams 0 :dots 0 :stem-direction :AUTO :notes ([N :pitch 36 :staff [= :name "default staff" :clef [K :name :TREBLE :lineno 2 ]  :keysig # ]  :head :FILLED :accidentals :NATURAL :dots 0 ] ) ]  [# :xoffset 0 :staff [= :name "default staff" :clef [K :name :TREBLE :lineno 2 ]  :keysig #(:NATURAL :NATURAL :NATURAL :NATURAL :NATURAL :NATURAL :NATURAL) ]  :keysig #(:NATURAL :NATURAL :NATURAL :NATURAL :NATURAL :NATURAL :NATURAL) ] ) ] ) ]  :tail [/ :bars ([| :elements NIL ] ) ]  ] ) ] ) :min-width 17 :spacing-style 0.4 :right-edge 700 :left-offset 30 :left-margin 20 ] )
12: ((SB-PCL::FAST-METHOD GSHARP-DRAWING:DRAW-BUFFER (T BUFFER T T T)) #<unavailable argument> #<unavailable argument> #<GSHARP::GSHARP-PANE GSHARP::SCORE {1002D83121}> [B :staves ([= :name "default staff" :clef [K :name :TREBLE :lineno 2 ]  :keysig #(:NATURAL :NATURAL :NATURAL :NATURAL :NATURAL :NATURAL :NATURAL) ] ) :segments ([S :layers ([_ :name "default layer" :staves ([= :name "default staff" :clef [K :name :TREBLE :lineno 2 ]  :keysig #(:NATURAL :NATURAL :NATURAL :NATURAL :NATURAL :NATURAL :NATURAL) ] ) :head [/ :bars ([| :elements NIL ] ) ]  :body [/ :bars ([| :elements ([% :xoffset 0 :notehead :FILLED :rbeams 0 :lbeams 0 :dots 0 :stem-direction :AUTO :notes ([N :pitch 35 :staff [= :name "default staff" :clef [K :name :TREBLE :lineno 2 ]  :keysig # ]  :head :FILLED :accidentals :NATURAL :dots 0 ] ) ]  [% :xoffset 0 :notehead :FILLED :rbeams 0 :lbeams 0 :dots 0 :stem-direction :AUTO :notes ([N :pitch 36 :staff [= :name "default staff" :clef [K :name :TREBLE :lineno 2 ]  :keysig # ]  :head :FILLED :accidentals :NATURAL :dots 0 ] ) ]  [# :xoffset 0 :staff [= :name "default staff" :clef [K :name :TREBLE :lineno 2 ]  :keysig #(:NATURAL :NATURAL :NATURAL :NATURAL :NATURAL :NATURAL :NATURAL) ]  :keysig #(:NATURAL :NATURAL :NATURAL :NATURAL :NATURAL :NATURAL :NATURAL) ] ) ] ) ]  :tail [/ :bars ([| :elements NIL ] ) ]  ] ) ] ) :min-width 17 :spacing-style 0.4 :right-edge 700 :left-offset 30 :left-margin 20 ]  #<GSHARP-CURSOR:GSHARP-CURSOR {1002D7C5B1}> 20 100)
13: ((SB-PCL::FAST-METHOD GSHARP::DISPLAY-SCORE (GSHARP:GSHARP T)) #<unavailable argument> #<unavailable argument> #<unavailable argument> #<GSHARP::GSHARP-PANE GSHARP::SCORE {1002D83121}>)
14: ((SB-PCL::FAST-METHOD CLIM-INTERNALS::MEDIUM-INVOKE-WITH-POSSIBLE-DOUBLE-BUFFERING (T T CLIM-CLX::CLX-MEDIUM T)) #<unavailable argument> #<unavailable argument> #<unavailable argument> #<GSHARP::GSHARP-PANE GSHARP::SCORE {1002D83121}> #<CLIM-CLX::CLX-MEDIUM {1002D84FF1}> #<CLOSURE (LAMBDA NIL) {1002AAF989}>)
15: ((SB-PCL::FAST-METHOD CLIM:REDISPLAY-FRAME-PANE :AROUND (CLIM:APPLICATION-FRAME T)) #<unavailable argument> #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD CLIM:REDISPLAY-FRAME-PANE #)> :PV-CELL NIL :NEXT-METHOD-CALL #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION #> :PV-CELL NIL :NEXT-METHOD-CALL #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION #> :PV-CELL NIL :NEXT-METHOD-CALL NIL :ARG-INFO (2 . T)) :ARG-INFO (2 . T)) :ARG-INFO (2 . T)) #<GSHARP:GSHARP {1002D7D7D1}> #<GSHARP::GSHARP-PANE GSHARP::SCORE {1002D83121}> (:FORCE-P NIL))
16: ((SB-PCL::FAST-METHOD CLIM:MAP-OVER-SHEETS (T CLIM:BASIC-SHEET)) #<unavailable argument> #<unavailable argument> #<CLOSURE (LAMBDA (CLIM:SHEET)) {1002A5C269}> #<GSHARP::GSHARP-PANE GSHARP::SCORE {1002D83121}>)
17: ((SB-PCL::FAST-METHOD CLIM:MAP-OVER-SHEETS (T CLIM:BASIC-SHEET)) #<unavailable argument> #<unavailable argument> #<CLOSURE (LAMBDA (CLIM:SHEET)) {1002A5C269}> #<CLIM-EXTENSIONS:VIEWPORT-PANE "(Unnamed Pane)" {1002DCCA41}>)
18: ((SB-PCL::FAST-METHOD CLIM:MAP-OVER-SHEETS (T CLIM:BASIC-SHEET)) #<unavailable argument> #<unavailable argument> #<CLOSURE (LAMBDA (CLIM:SHEET)) {1002A5C269}> #<CLIM:SCROLLER-PANE "(Unnamed Pane)" {1002DCF6A1}>)
19: ((SB-PCL::FAST-METHOD CLIM:MAP-OVER-SHEETS (T CLIM:BASIC-SHEET)) #<unavailable argument> #<unavailable argument> #<CLOSURE (LAMBDA (CLIM:SHEET)) {1002A5C269}> #<CLIM:HRACK-PANE "(Unnamed Pane)" {1002E00BD1}>)
20: ((SB-PCL::FAST-METHOD CLIM:MAP-OVER-SHEETS (T CLIM:BASIC-SHEET)) #<unavailable argument> #<unavailable argument> #<CLOSURE (LAMBDA (CLIM:SHEET)) {1002A5C269}> #<CLIM:VRACK-PANE "(Unnamed Pane)" {1002E03A71}>)
21: ((SB-PCL::FAST-METHOD CLIM:MAP-OVER-SHEETS (T CLIM:BASIC-SHEET)) #<unavailable argument> #<unavailable argument> #<CLOSURE (LAMBDA (CLIM:SHEET)) {1002A5C269}> #<CLIM:VRACK-PANE "(Unnamed Pane)" {1002E06921}>)
22: ((SB-PCL::FAST-METHOD CLIM:MAP-OVER-SHEETS (T CLIM:BASIC-SHEET)) #<unavailable argument> #<unavailable argument> #<CLOSURE (LAMBDA (CLIM:SHEET)) {1002A5C269}> #<CLIM-INTERNALS::TOP-LEVEL-SHEET-PANE CLIM-INTERNALS::TOP-LEVEL-SHEET {1002D807C1}>)
23: (ESA:ESA-TOP-LEVEL #<GSHARP:GSHARP {1002D7D7D1}> :COMMAND-PARSER #<unused argument> :COMMAND-UNPARSER #<unused argument> :PARTIAL-COMMAND-PARSER #<unused argument> :PROMPT #<unused argument>)
24: (ESA:ESA-TOP-LEVEL #<GSHARP:GSHARP {1002D7D7D1}>)



More information about the gsharp-devel mailing list