Menu

#2085 Overriding stencil of StringNumber leads to "programming error" messages

Verified
nobody
Ugly
2012-01-08
2011-12-07
Anonymous
No

Originally created by: *anonymous

Originally created by: idragos...@gmail.com
Originally owned by: Carl.D.S...@gmail.com

the awful spacing of input/regression/tablature-harmonic-functions.ly
let me to investigate, and it is apparently due to StringNumber being
set to transparent, meaning that it still occupies space.  I tried now
to do

\new Voice \with { \override StringNumber #'stencil = ##f }
{ \clef "treble_8"
e,1 | % check whether tab note head is restored
\harmonicByFret #12 e'4\1 ~
\harmonicByFret #12 e'4\1 (
\ottava #1
\harmonicByFret #7 e'4\1)
\harmonicByFret #5 e'8\1
\ottava #2
\harmonicByFret #4 < b\2 e'\1 >8 |
\harmonicByFret #3 < g\3 b\2 e'\1 >4
\harmonicByFret #2.7 < g\3 b\2 e'\1 >4
\harmonicByFret #2.3 < g\3 b\2 e'\1 >4
\harmonicByFret #2 < g\3 b\2 e'\1 >4 |
\ottava #0
}

instead (removing the New_fingering_engraver is not an option since it
is responsible for more than just string numbers), but I get programming
errors in return:

Interpreting music...
Preprocessing graphical objects...
programming error: cannot align on self: empty element
continuing, cross fingers
programming error: cannot align on self: empty element
continuing, cross fingers
programming error: cannot align on self: empty element
continuing, cross fingers
programming error: cannot align on self: empty element
continuing, cross fingers
programming error: cannot align on self: empty element
continuing, cross fingers
programming error: cannot align on self: empty element
continuing, cross fingers
programming error: cannot align on self: empty element
continuing, cross fingers
programming error: cannot align on self: empty element
continuing, cross fingers
programming error: cannot align on self: empty element
continuing, cross fingers
programming error: cannot align on self: empty element
continuing, cross fingers
programming error: cannot align on self: empty element
continuing, cross fingers
programming error: cannot align on self: empty element
continuing, cross fingers
programming error: cannot align on self: empty element
continuing, cross fingers
programming error: cannot align on self: empty element
continuing, cross fingers
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `test.ps'...
Converting to `./test.pdf'...
Success: compilation successfully completed

Compilation finished at Wed Dec  7 11:57:07

I think this should be made to work.

Discussion

  • Google Importer

    Google Importer - 2011-12-10

    Originally posted by: gra...@percival-music.ca

    (No comment was entered for this change.)

    Labels: Type-Ugly

     
  • Google Importer

    Google Importer - 2011-12-14

    Originally posted by: Carl.D.S...@gmail.com

    This is probably caused in New_fingering_engraver, in the position_scripts () function.

    To quote from the code:

    184   /*
    185     This is not extremely elegant, but we have to do a little
    186     formatting here, because the parent/child relations should be
    187     known before we move on to the next time step.
    188
    189     A more sophisticated approach would be to set both X and Y parents
    190     to the note head, and write a more flexible function for
    191     positioning the fingerings, setting both X and Y coordinates.
    192   */

    Thus, before we have checked whether or not any of the stencils are #f, we go ahead and put them in the grob structure.

    A simple workaround for this issue would probably be to check to see if the stencil property of the grob is #f before doing the positioning.

    The cleaner way would be to do the "more sophisticated" approach identified in the engraver code.

     
  • Google Importer

    Google Importer - 2011-12-15

    Originally posted by: dak@gnu.org

    Since not being able to override the stencils to ##f (the obvious way to switch off string numbers) without warning leads to sub-par spacing, and since parallel typesetting of string-less score and string-interpreting tablature is a standard technique, I consider this important to fix.

    Since I don't have mentionable engraver skills, if nobody else can be interested in this task, I would code the simple workaround probably some time this year.

    Since it is not my area of exercise, I would rejoice when somebody else did either version.

     
  • Google Importer

    Google Importer - 2011-12-15

    Originally posted by: Carl.D.S...@gmail.com

    I will try to get the simple fix done on Saturday.

     
  • Google Importer

    Google Importer - 2011-12-16

    Originally posted by: Carl.D.S...@gmail.com

    (No comment was entered for this change.)

    Owner: Carl.D.S...@gmail.com
    Status: Started

     
  • Google Importer

    Google Importer - 2011-12-17

    Originally posted by: lilypond...@gmail.com

    Patchy the autobot says: LGTM.

    Labels: Patch-review

     
  • Google Importer

    Google Importer - 2011-12-17

    Originally posted by: lilypond...@gmail.com

    Patchy the autobot says: LGTM.

    Labels: Patch-review

     
  • Google Importer

    Google Importer - 2011-12-17

    Originally posted by: Carl.D.S...@gmail.com

    Another solution is to \override 'stencil to 'point-stencil instead of #f.  This is described in the Learning Manual.

     
  • Google Importer

    Google Importer - 2011-12-18

    Originally posted by: dak@gnu.org

    There are a number of cases in the manuals where stencils are just cleared out with ##f.  That's reasonably straightforward to remember, and we should make it work either consistently, or not at all.  I don't think that we should make it generally equivalent to point-stencil (even though that may be one possibility) since a point stencil still is placed with appropriate padding with relation to other elements, and other elements are placed with appropriate padding with relation to the point stencil.

    For that reason, it seems to me that a point stencil would still be able to significantly alter the skyline of the object it is in.  And ##f should not do that.

     
  • Google Importer

    Google Importer - 2011-12-18

    Originally posted by: Carl.D.S...@gmail.com

    Issue 2118 has been merged into this issue.

    Cc: adam.spi...@gmail.com

     
  • Google Importer

    Google Importer - 2011-12-18

    Originally posted by: ColinPKC...@gmail.com

    (No comment was entered for this change.)

    Labels: -Patch-review Patch-countdown

     
  • Google Importer

    Google Importer - 2011-12-20

    Originally posted by: ColinPKC...@gmail.com

    Counted down to 20111219, please push

    Labels: -Patch-countdown Patch-push

     
  • Google Importer

    Google Importer - 2011-12-20

    Originally posted by: Carl.D.S...@gmail.com

    pushed as ab8c075..e8038c8  to staging

    Labels: -Patch-push fixed_2_15_23
    Status: Fixed

     
  • Google Importer

    Google Importer - 2011-12-30

    Originally posted by: k-ohara5...@oco.net

    (No comment was entered for this change.)

    Labels: -fixed_2_15_23 fixed_2_15_24

     
  • Google Importer

    Google Importer - 2012-01-08

    Originally posted by: ColinPKC...@gmail.com

    Compiled input/regression/tablature-harmonic-functions.ly with 2.15.24 and saw no programming error messages.

    Status: Verified

     
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.