Menu

#3729 If AccidentalSuggestion and a slur are attached to a note a warning is issued

Accepted
nobody
None
Defect
2014-05-20
2013-12-15
Anonymous
No

Originally created by: *anonymous

Originally created by: pkx1...@gmail.com

> On 12/12/13 22:17, Simon Albrecht wrote:
>> Hello,
>>
>> if both an AccidentalSuggestion and a slur are attached to a note, LilyPond places both as expected, but issues a warning about avoid-slur not being defined for AccidentalSuggestion. The appropriate solution would probably be to just insert a line (avoid-slur . around) [the latter probably being the adequate value] as a first entry for the definition of AccidentalSuggestion in define-grobs.scm .
>> Let me know if you need any examples of this.
>> Best regards
>>
>> Simon Albrecht

\version "2.17.95"

\relative { \set suggestAccidentals = ##t g'( a bes) }

The warning issued is the following:

C:/Dokumente und Einstellungen/Notebook/Eigene Dateien/Notensatz (lilypond)/Bugs in Minimal Example/issued or outdated/accidentalSuggestion and avoid-slur.ly:4:19: warning: Ignoring grob for slur: AccidentalSuggestion.  avoid-slur not set?
         g'( a
              bes)

I already tried the above described solution in define-grobs.scm and there is no warning.
The output is not affected in the present case, but might be in other cases where there would be a collision.

Regards,

Simon

Discussion

  • Google Importer

    Google Importer - 2013-12-22

    Originally posted by: dak@gnu.org

    Mike, Keith?  It would appear that avoid-slur is being ignored as long as outside-staff-priority is being set: in the following, removing the outside-staff-priority override will make the avoid-slur override irrelevant.

    Now the question is: if avoid-slur is made irrelevant by the outside-staff-priority setting anyway, why do we get a warning?  Perhaps it should be switched off in that case?

    Since it is generally extra-hard to figure out what avoid-slur does, maybe we should refrain from setting both outside-staff-priority _and_ avoid-slur on the same property?

    Should we warn when both are set?  Should we document them to be exclusive?

    It does not feel sane to make a setting that is going to get ignored just to switch off a warning that makes no sense.  Stuff is hard enough to understand anyway.

    Ideas?

    Cc: mts...@gmail.com k-ohara5...@oco.net

     
  • Google Importer

    Google Importer - 2013-12-22

    Originally posted by: dak@gnu.org

    Sorry, forgot the example:
    \relative { \override AccidentalSuggestion.avoid-slur = #'inside
            \override AccidentalSuggestion.outside-staff-priority = ##f
            \set suggestAccidentals = ##t e''( c' bes, c') }

     
  • Google Importer

    Google Importer - 2013-12-22

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

    It is strange that the slur code complains if it does not see an explicit avoid-slur='ignore setting on objects that neither affect nor respond to the placement of slurs.  Usually if you choose one method for placement of a graphical object, you do not need to give instructions for all the other methods you did not choose.

    Comment #1 gives a good argument that since AccidentalSuggestion uses the outside-staff-priority method to find is place, the appropriate setting for 'avoid-slur' would be 'ignore

    It seems wisest, though, to remove the code that generates warning.

    Cc: -k-ohara5...@oco.net

     
  • Google Importer

    Google Importer - 2014-05-20

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

    The same warning occurs for TrillPitchAccidental, where it makes even less sense.

    \relative c' {
    % OK
    \pitchedTrill d2\startTrillSpan ~ e d4. [r8]\stopTrillSpan

    % warning: Ignoring grob for slur: TrillPitchAccidental. avoid-slur not 
    set?
    % But the slur is nowhere near colliding with the trill pitch accidental!
    c4 ( \pitchedTrill d4\startTrillSpan e ~ d4. ) [r8]\stopTrillSpan
    }