Menu

#5449 Chord names clean-up; no more Banter, exceptionsPartial or \powerChords.

Verified
push
Enhancement
2020-05-01
2018-12-17
No

Chord names clean-up; no more Banter, exceptionsPartial or \powerChords.

This rather large patch

  • removes the legacy code for unsupported non-Ignatzek chord names;
    that code hasn’t been working properly for nearly 15 years anyway, see
    https://lists.gnu.org/archive/html/lilypond-user/2008-08/msg00288.html

  • stores a version of this code, with minor corrections, as a
    self-contained snippet (for historical purposes mainly), both
    on the LSR (as an upgrade to snippet #102) and in a dedicated
    subsection of the Snippets doc page.

  • as a result, chord-generic-names.scm is no longer found in scm/
    and the chord-names-jazz.ly doc chart no longer includes any
    alternative chord naming systems (that were already broken anyway).

  • chordNamesExceptionsFull and chordNamesExceptionsPartial
    properties have been removed as well (both having no longer had
    any effect whatsoever for quite some time).

  • the main (and now only) chordNamesExceptions property def
    has been slightly updated for slightly neater glyphs and spacing,
    and so as to now include power chords by default; as a result,
    \powerChords is no longer needed, thereby solving any possible
    confusion with \germanChords and the like. (I can’t think of any
    case where users would explicitely type \chords{c:5} in order to
    get the same output as \chords{c} -- can you?)

  • the documentation has been updated as well; convert rules
    have been added (although these may be merged with previous
    2.21.0 rules once the release cycle gets back on track).

http://codereview.appspot.com/363880043

1 Attachments

Related

Issues: #3314
Issues: #5447
Issues: #5448

Discussion

  • Anonymous

    Anonymous - 2018-12-19

    Fails make.

    ...
    LILYPOND_VERSION=2.21.0 PDFTEX=pdfetex PDFLATEX=pdflatex /usr/bin/python -tt /home/james/lilypond-git/scripts/lilypond-book.py -I /home/james/lilypond-git/Documentation -I ./out -I /home/james/lilypond-git/build/Documentation/snippets/out -I /home/james/lilypond-git/Documentation/included -I /home/james/lilypond-git/Documentation/pictures -I /home/james/lilypond-git/Documentation -I /home/james/lilypond-git/input/regression --process='true -dbackend=eps --formats=ps,png,pdf -djob-count=4 -dinclude-eps-fonts -dgs-load-fonts --header=doctitle --header=doctitleca --header=doctitlecs --header=doctitlede --header=doctitlees --header=doctitlefr --header=doctitlehu --header=doctitleit --header=doctitleja --header=doctitlenl --header=doctitlezh --header=texidoc --header=texidocca --header=texidoccs --header=texidocde --header=texidoces --header=texidocfr --header=texidochu --header=texidocit --header=texidocja --header=texidocnl --header=texidoczh -dcheck-internal-types -ddump-signatures -danti-alias-factor=2 -dfont-export-dir=/home/james/lilypond-git/build/out-fonts -O TeX-GS' --output=./out --format=texi --loglevel=WARN  --skip-lily-check --lily-output-dir /home/james/lilypond-git/build/out/lybook-db --redirect-lilypond-output /home/james/lilypond-git/Documentation/snippets.tely
    langdefs.py: warning: lilypond-doc gettext domain not found.
    lilypond-book.py: error: file not found: legacy.itely
    
    /home/james/lilypond-git/./make/ly-rules.make:26: recipe for target 'out/snippets.texi' failed
    make[1]: *** [out/snippets.texi] Error 1
    make[1]: Leaving directory '/home/james/lilypond-git/build/Documentation'
    /home/james/lilypond-git/stepmake/stepmake/generic-targets.make:6: recipe for target 'all' failed
    make: *** [all] Error 2
    
     
    • Valentin Villenave

      Oh, indeed; I'd forgotten to git add a couple of new files in my uploaded patch. It should be fixed now.

       
  • Anonymous

    Anonymous - 2018-12-20

    Valentin,

    This still fails make in the same way.

    Are you testing on a clean tree?

    james@james-Zeus:~/lilypond-git$ grep -r "legacy.itely" *
    Documentation/snippets.tely:@include legacy.itely
    

    yet after applying your patch and looking for this file

    james@james-Zeus:~/lilypond-git$ find . | grep legacy
    ./Documentation/snippets/legacy.snippet-list
    ./Documentation/snippets/legacy-code.snippet-list
    ./Documentation/snippets/legacy-intro.itely
    

    The patch doesn't seem to include this missing itely file after all - either that or you need to rename the itely file to something else?

    Keep up the good work! ;)

    Regards

    James

     
    • Valentin Villenave

      Hi James,
      that’s odd; after your first report I’ve tested it with an entirely new git clone (just retested it now), and it builds without a hitch. legacy.itely is supposed to be generated from legacy-intro.itely, and that’s what happens here:

       valentin@smallstuff:/tmp/lilypond$ find -name legacy*
      ./Documentation/out/legacy.texi
      ./Documentation/out/legacy.itely
      ./Documentation/snippets/legacy.snippet-list
      ./Documentation/snippets/legacy-intro.itely
      

      What surprises me is that legacy-code.itely shouldn’t be present here (I used that name in the first patch set, but then shortened it to just legacy.itely).
      Have you tested the latest patch set? For example you can do

      $ wget https://codereview.appspot.com/download/issue363880043_40001.diff 
      $ git apply issue363880043_40001.diff ; rm issue363880043_40001.diff
      $ make ; make doc
      

      on a pristine branch.

       
      • Valentin Villenave

        Hi James, have you had a chance to give this patch another go? I’m hoping to move past the needs_work status if this turns out to be working as well as I think it now does.

         
  • Anonymous

    Anonymous - 2019-01-02
    • Attachments has changed:

    Diff:

    --- old
    +++ new
    @@ -0,0 +1 @@
    +Screenshot of patchset4.png (68.5 kB; image/png)
    
    • Needs: -->
    • Type: -->
     
  • Anonymous

    Anonymous - 2019-01-02

    Happy New Year Valentin,

    Same error, look at the Rietveld upload for patch set 4. There is still no legacy.itely file being uploaded there in your diff only legacy-code.itely. DId you forget to git add the file or remove the offending legacy-intro.itely? (i.e. what does git status show after you apply your own patch on clean master).

    See attached png just to show you that one us isn't going mad! ;)

     
  • Anonymous

    Anonymous - 2019-01-02

    Happy New Year Valentin,

    Same error, look at the Rietveld upload for patch set 4. There is still no legacy.itely file being uploaded there in your diff only legacy-code.itely. DId you forget to git add the file or remove the offending legacy-intro.itely? (i.e. what does git status show after you apply your own patch on clean master).

     
    • Valentin Villenave

      Greetings James and everybody,
      OK, new plan: my latest patch set doesn’t create a new doc section, but merely adds the relevant snippet (although quite long to be quoted verbatim) to the existing «Chords» snippet list. We’ll see if creating a new section is worth it later.
      https://codereview.appspot.com/363880043/#ps80001

      Hopefully this should make things a bit lighter and resolve any build problem you previously got stuck with; I’ve made sure that it passes make doc on my end, but at this point I’m not sure of anything :-)

      If it does happen to work, then we’ll be able to close not only this issue, but #5447 and #5448 as well!

       
  • Valentin Villenave

    Greetings James, a happy new year to you as well!

    Indeed, legacy.itely not being included is not a bug since this file is supposed to be created from legacy-intro.itely. As per your request, git status show only returns:

    nothing to commit, working tree clean

    However, you appear to have something left from my previous (buggy) patch set; could you check what git ls-files -o | grep -v -E "out|\.log|\.pyc" tells you? The only three files created by my latest patch in Documentation/snippets should be:

    Documentation/snippets/chord-names-alternative.ly
    Documentation/snippets/legacy-intro.itely
    Documentation/snippets/legacy.snippet-list
    You may want to remove any other file (for example legacy-code.itely), which should fix the problem.

    Here’s to hoping we can get this sorted out! :-)

     

    Last edit: Valentin Villenave 2019-01-02
  • Valentin Villenave

    [sorry for double-posting. In other news, SourceForge still sucks.]

     
  • Anonymous

    Anonymous - 2019-01-10

    Passes make, make check and a full make doc.

    Reg test diffs attached

     
  • Anonymous

    Anonymous - 2019-01-11
    • Patch: review --> countdown
     
  • Anonymous

    Anonymous - 2019-01-11

    Patch on countdown for Jan 14th

     
  • Anonymous

    Anonymous - 2019-01-14
    • Patch: countdown --> push
     
  • Valentin Villenave

    • labels: --> Fixed_2_21_0
    • status: Started --> Fixed
     
  • Anonymous

    Anonymous - 2019-01-15

    Chord names clean-up; no more Banter, exceptionsPartial or \powerChords.
    author Valentin Villenave valentin@villenave.net
    Mon, 14 Jan 2019 18:02:13 +0000 (19:02 +0100)
    committer Valentin Villenave valentin@villenave.net
    Mon, 14 Jan 2019 18:02:13 +0000 (19:02 +0100)
    commit 78225bc1b386e12dc1d03a5d2c7a017c0a52a22d

     
  • Federico Bruni

    Federico Bruni - 2020-05-01
    • status: Fixed --> Verified