Menu

#3299 dynamics, articulations etc. attached to spacers are wrongly aligned

Accepted
nobody
needs_work
Ugly
2015-11-01
2013-04-07
Anonymous
No

Originally created by: *anonymous

Originally created by: janek.li...@gmail.com
Originally owned by: janek.li...@gmail.com

\version "2.17.3"

\markup \justify {
  Dynamics, articulations etc. attached to spacer rests
  are positioned wrongly. Below the dynamics are applied
  at every quarter note, so they should be spread evenly,
  but they aren't:
}
\new Staff <<
  { a'2\f a'\f }
  { s4 s\f s s\f }
>>

\new Staff <<
  { a'2\p a'\p }
  { s4 s\p s s\p }
>>

\markup \justify {
  And here the turn was specified precisely after a quarter
  note skip, so it should be placed midway between the two
  halfnotes - but it doesn't appear so:
}
\new Staff <<
  { f'2 g'2 }
  { s4 s\turn }
>>

1 Attachments

Related

Issues: #3299

Discussion

1 2 > >> (Page 1 of 2)
  • Google Importer

    Google Importer - 2013-04-07

    Originally posted by: janek.li...@gmail.com

    \markup \justify {
      Here's why the dynamics and articulations are placed like this.
      Let's draw a grid on the staffline, representing the flow of
      time, with a line every quarter note:
    }

    \layout {
      \context {
        \Staff
        \consists "Grid_point_engraver"
        gridInterval = #(ly:make-moment 1/4)
      }
      \context {
        \Score
        \consists "Grid_line_span_engraver"
      }
    }
    <<
      { \hideNotes f'2 f' }
      { s4 s s s }
    >>

    \markup \justify {
      Now, notation rules say that the notes \bold shouldn't
      be centered on these gridlines - instead, their \italic
      left edges should be flush with the lines:
    }
    <<
      { f'2 f' }
      { s4 s s s }
    >>

    \markup \justify {
      The second thing is that an object attached to a spacer
      is centered on the horizontal position corresponding to
      the appropriate musical moment - unlike an object that
      is attached to a note (which is centered on that note):
    }
    \new Staff <<
      { e''2_\turn  e''2     }
      { s2          s2_\turn }
    >>

    \markup \justify {
      If we draw gridlines on the examples from the bugreport,
      everything should be clear now: objects attached to the
      notes are nicely centered on their NoteHeads, while object
      attached to spacers are centered on their PaperColumns,
      which are \bold empty - hence the uneven spacing:
    }
    <<
      \new Staff <<
        { a'2\f a'\f }
        { s4 s\f s s\f }
      >>
      { s4 s s s }
    >>

    <<
      \new Staff <<
        { a'2\p a'\p }
        { s4 s\p s s\p }
      >>
      { s4 s s s }
    >>

    <<
      \new Staff <<
        { f'2 g'2 }
        { s4 s\turn }
      >>
      { s4 s s s }
    >>

    \markup \justify {
      I know how the solution for this issue should look like;
      i'll post a solution in my alignment branch in a few days.
    }

    Labels: GSoC-LyricProject
    Owner: janek.li...@gmail.com

     
  • Google Importer

    Google Importer - 2013-04-07

    Originally posted by: janek.li...@gmail.com

    (No comment was entered for this change.)

    Blockedon: lilypond:3239

     
  • Google Importer

    Google Importer - 2013-04-07

    Originally posted by: janek.li...@gmail.com

    Whoah, Janek!  I've never seen such a nice illustrated explanation!
    ;P

     
  • Google Importer

    Google Importer - 2013-04-22

    Originally posted by: x.sche...@gmail.com

    Issue 1861 was "DynamicText attached to spacer rest not correctly
    aligned", now fixed "2.15.24" and verified.

    One should check whether:
    1. issue 1861 was correctly fixed;
    2. this issue is not a result of the fix of issue 1861;
    3. these issues and issue 3232 could not be fixed in a general way.

    Thanks.

     

    Related

    Issues: #1861
    Issues: #3232

  • Google Importer

    Google Importer - 2013-04-22

    Originally posted by: janek.li...@gmail.com

    > Issue 1861  was "DynamicText attached to spacer rest not correctly
    > aligned", now fixed "2.15.24" and verified.
    >
    > One should check whether:
    > 1.  issue 1861  was correctly fixed;

    That fix works, but it's not generic enough.  Basically, the fix consisted of adding a special-case function, used only for aligning of Dynamics in Dynamics context.  So, it was wrong because it created an exception instead of fixing the general algorithm; as for fixing the general algorithm, issue 3239 gives foundations for that.  Currently 3239 is waiting in the pipelines because development efforts focused on stable release.

    > 2. this issue is not a result of the fix of  issue 1861 ;

    no, it's not.

    > 3. these issues and issue 3232 could not be fixed in a general way.

    As far as i can see, they are separate. 3232 concers how springs that connect Columns are working, and this issue is about how the things are attached to given Columns, no matter what they are.

    I already have an idea how the solution for this issue would look like; i just need to have some spare time and sort out all interdependent patches i have.

    Anyway, thanks for providing some background :)

     

    Related

    Issues: #1861
    Issues: #3232
    Issues: #3239

  • Google Importer

    Google Importer - 2014-08-09

    Originally posted by: janek.li...@gmail.com

    (No comment was entered for this change.)

    Labels: Janek_alignment_changes

     
  • Google Importer

    Google Importer - 2014-08-27

    Originally posted by: janek.li...@gmail.com

    Issue 3299: better alignment with PaperColumn parent

    PaperColumns are the objects that define where a musical moment
    "happens" on the staff horizontally.  However, the noteheads aren't
    center-aligned on PaperColumns - according to notation rules they
    are left-aligned.  Because of that an object centered on a notehead
    is not actually centered on the PaperColumn, which results in a
    discrepancy between objects attached to NoteHeads and PaperColumns.

    This commit fixes that by introducing a placeholder extent which is
    used for aligning such grobs.

    http://codereview.appspot.com/132280043

    Labels: Patch-new
    Status: Started

     

    Related

    Issues: #3299

  • Google Importer

    Google Importer - 2014-08-28

    Originally posted by: dak@gnu.org

    In dynamics-empty.ly, the pedal release mark is no longer aligned with the corresponding dynamics.

     
  • Google Importer

    Google Importer - 2014-08-28

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

    Patchy the autobot says: Fails make

    Labels: -Patch-new Patch-needs_work

     
  • Google Importer

    Google Importer - 2014-08-28

    Originally posted by: janek.li...@gmail.com

    @David:
    pedal and dynamics aren't aligned when they are attached to notes, so i think it's good that they're not aligned here - makes things consistent.  But if you think this should be changed i'm open to suggestions (i.e. how the pedal should be positioned in your opinion?)

    @James:
    are you sure?  I checked on my machine (with and without configure --disable-optimising) and it compiled fine.

    Anyway, i really should start running patchy myself, but i don't have enough time now... :(

     
  • Google Importer

    Google Importer - 2014-09-12

    Originally posted by: janek.li...@gmail.com

    (No comment was entered for this change.)

    Labels: -Patch-needs_work Patch-new

     
  • Google Importer

    Google Importer - 2014-09-12

    Originally posted by: janek.li...@gmail.com

    Patchy the autobot says: passes tests.

    Labels: -Patch-new Patch-review

     
  • Google Importer

    Google Importer - 2014-09-13

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

    Patch on countdown for September 17th (just in case it hasn't been seen - Keith commented in Rietveld about the commit message)

    Labels: -Patch-review Patch-countdown

     
  • Google Importer

    Google Importer - 2014-09-17

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

    Patch counted down - please push ((just in case it hasn't been seen - Keith commented in Rietveld about the commit message)

    Labels: -Patch-countdown Patch-push

     
  • Google Importer

    Google Importer - 2014-09-19

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

    Patch counted down - please push

     
  • Google Importer

    Google Importer - 2014-09-25

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

    Patch counted down - please push

     
  • Google Importer

    Google Importer - 2014-09-29

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

    Patch counted down - please push

     
  • Trevor Daniels

    Trevor Daniels - 2015-09-29
    • labels: Janek_alignment_changes --> Janek_alignment_changes, BlockedOn 3979
    • Description has changed:

    Diff:

    
    
    • Needs: -->
     
  • Phil Holmes

    Phil Holmes - 2015-09-29

    I'm not convinced that the behaviour in the first example is wrong. If the 2 crochet spacers are replaced with a single minim spacer, alignment is correct. An is the crochet spacers are replaced with crochet notes, we see that the dynamics are aligned after the minim, on the second and fourth crochet, completely correctly. This is the same behaviour seen with the spacer rests.

     
  • Trevor Daniels

    Trevor Daniels - 2015-09-30

    I think Janek was comparing the spacing of notes and spacer rests. Compare these two examples, which might be expected to show the same output:

    \score {
      \new Staff <<
        { a'2\f a'\f }
        \\
        { s4 s\f s s\f }
      >>
    }
    
    \score {
      \new Staff <<
        { a'2\f a'\f }
        \\
        \stemUp \hideNotes
        { a'4 a'\f a' a'\f }
      >>
    }
    
     
  • Trevor Daniels

    Trevor Daniels - 2015-09-30

    ... and with ragged right ##f the dynamics almost line up. The difference seems to be the slight difference in attachment points between spacer rests and notes and their relative compressibility.

    \score {
      \new Staff <<
        { a'2\f a'\f }
        \\
        { s4 s\f s s\f }
      >>
      \layout {
        ragged-right = ##f
      }
    }
    
    \score {
      \new Staff <<
        { a'2\f a'\f }
        \\
        \stemUp \hideNotes
        { a'4 a'\f a' a'\f }
      >>
      \layout {
        ragged-right = ##f
      }
    }
    
     
  • Trevor Daniels

    Trevor Daniels - 2015-11-01

    Reverting to Status:Accepted as it is over a year since there was any progress on the patch.

     
1 2 > >> (Page 1 of 2)
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.