Menu

#5224 Update EventChord to include a ChordSemantics event entry which captures input semantic information from chord mode and uses it to create chord names.

Started
None
needs_work
Enhancement
2019-04-08
2017-11-01
No

Update EventChord to include a ChordSemantics event entry which captures input semantic information from chord mode and uses it to create chord names.

Without these semantics, naming chords based only on their notes results in ambiguous naming:
Example: Cm7 no root and Eb both have the exact same notes, and so there is no way to differentiate between them, unless we capture the data from chord mode: { cm:7.1 } as opposed to { eb }

A new patchset has been loaded at

https://codereview.appspot.com/568650043

The original patchset can be found at

https://codereview.appspot.com/337870043

Discussion

1 2 > >> (Page 1 of 2)
  • Anonymous

    Anonymous - 2017-11-01
    • Description has changed:

    Diff:

    
    
    • Needs: -->
    • Patch: new --> needs_work
     
  • Anonymous

    Anonymous - 2017-11-01

    Charles,

    I don't understand the reason for the dozens of files that are changed in your patch. Why you also have added a 'README.md' file (we don't tend to do that), the documentation files that have changed seem to contain diffs that have nothing at all to do with the description of your patch at all.

    I wonder if you have made a mistake here and not rebased your changes against current master or are basing it off some other branch?

    I cannot test the patch as it is at the moment. Sorry.

    Please check.

     
  • Charles Winston

    Charles Winston - 2017-11-03

    Charles Winston's GSoC code: Chord Semantics

    http://codereview.appspot.com/337870043

     
  • Charles Winston

    Charles Winston - 2017-11-03

    Here is the updated patch with only the code I wrote in it. Sorry for the mistake! https://codereview.appspot.com/337870043

     
  • Anonymous

    Anonymous - 2017-11-04
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -3,4 +3,4 @@
     Without these semantics, naming chords based only on their notes results in ambiguous naming:
     Example: Cm7 no root and Eb both have the exact same notes, and so there is no way to differentiate between them, unless we capture the data from chord mode: { cm:7.1 } as opposed to { eb }
    
    -http://codereview.appspot.com/332090043
    +https://codereview.appspot.com/337870043
    
    • Needs: -->
    • Type: --> Enhancement
     
  • Anonymous

    Anonymous - 2017-11-04
    • Patch: new --> needs_work
     
  • Anonymous

    Anonymous - 2017-11-04

    This fails a make check

    Processing `./fd/lily-2f531b63.ly'
    Parsing...
    Renaming input to: `/home/james/lilypond-git/input/regression/predefined-fretboards.ly'
    warning: cannot find property type-check for `chord-semantics' (music-type?).  perhaps a typing error?
    
    Writing timing to fd/lily-2f531b63.profile...
    programming error: Parsed object should be dead: #<Lily_lexer (#<module 2af6562478e0>) >
    continuing, cross fingers
    

    The following reg tests throw errors during make check:

    /regression/fret-diagrams-string-thickness.ly
    /regression/predefined-fretboards.ly
    /regression/chord-changes.ly
    /regression/identifier-following-chordmode.ly
    /regression/fret-diagrams-string-frets.ly
    /input/regression/chord-changes-alternative.ly

     
  • Charles Winston

    Charles Winston - 2017-12-29

    Fixing errors with chord-semantics

    http://codereview.appspot.com/337870043

     
  • Anonymous

    Anonymous - 2017-12-30
    • Needs: -->
    • Patch: new --> needs_work
    • Type: --> Enhancement
     
  • Anonymous

    Anonymous - 2017-12-30

    This fails make check.

    It fails on a number of different reg tests but all with the same basic error.

    Example:

    /home/james/lilypond-git/input/regression/chord-names-lower-case-minor.ly'
    warning: cannot find property type-check for `chord-semantics' (music-type?).  perhaps a typing error?
    
    Writing timing to 77/lily-34d19eca.profile...
    programming error: Parsed object should be dead: #<Lily_lexer (#<module 2b102b5ce7c0>) >
    continuing, cross fingers
    

    and

    /home/james/lilypond-git/input/regression/fret-diagrams-fret-label.ly'
    warning: cannot find property type-check for `chord-semantics' (music-type?).  perhaps a typing error?
    
    Writing timing to 97/lily-43513982.profile...
    programming error: Parsed object should be dead: #<Lily_lexer (#<module 2b102b5c8ba0>) >
    continuing, cross fingers
    

    and

    /home/james/lilypond-git/input/regression/chord-semantics-bass.ly'
    warning: type check for `chord-step' failed; value `bass' must be of type `pair'
    warning: cannot find property type-check for `chord-semantics' (music-type?).  perhaps a typing error?
    
    Writing timing to d3/lily-efd6a06c.profile...
    programming error: Parsed object should be dead: #<Lily_lexer (#<module 2b102b5cc860>) >
    continuing, cross fingers
    

    etc.

     
  • Charles Winston

    Charles Winston - 2018-08-11

    Fixing errors in make doc.

    http://codereview.appspot.com/337870043

     
  • Anonymous

    Anonymous - 2018-08-12
    • Needs: -->
    • Patch: new --> needs_work
    • Type: --> Enhancement
     
  • Anonymous

    Anonymous - 2018-08-12

    Fails make check

    input/regression/chord-names-languages.ly'

    Parsing...
    Renaming input to: `/home/james/lilypond-git/input/regression/chord-names-languages.ly'
    warning: type check for `bass' failed; value `(#t . #t)' must be of type `boolean'
    /home/james/lilypond-git/build/out/share/lilypond/current/scm/chord-entry.scm:267:59: In procedure memoization in expression (if ba
    ss (write-me "base3: " bass) ...):
    /home/james/lilypond-git/build/out/share/lilypond/current/scm/chord-entry.scm:267:59: In file "/home/james/lilypond-git/build/out/s
    hare/lilypond/current/scm/chord-entry.scm", line 266: Missing or extra expression in (if bass (write-me "base3: " bass) (list (make
    -note-ev bass (quote bass) #t)) (quote ())).
    

    and

    input/regression/chord-name-entry.ly

    Parsing...
    Renaming input to: `/home/james/lilypond-git/input/regression/chord-name-entry.ly'Backtrace:
    In unknown file:
       ?:  0* [lilypond-main #]
    In /home/james/lilypond-git/build/out/share/lilypond/current/scm/lily.scm:
    1032:  1* (let* ((failed #)) (if (ly:get-option #) (begin #)) ...)
    1032:  2* [lilypond-all #]
    1045:  3  (let* ((failed #) (separate-logs #) (ping-log #) ...) (gc) ...)
    1057:  4* [for-each #<procedure #f #> #]
    In unknown file:
       ?:  5* [#<procedure #f (x)> "d9/lily-4b39608d.ly"]
    In /home/james/lilypond-git/build/out/share/lilypond/current/scm/lily.scm:
    1059:  6* (let* (# # #) (if separate-logs #) (if ping-log #) ...)
    1070:  7* [lilypond-file #<procedure #f (key failed-file)> "d9/lily-4b39608d.ly"]
    1105:  8  [catch ly-file-failed #<procedure #f ()> #<procedure #f (x . args)>]
    In unknown file:
       ?:  9* [#<procedure #f ()>]
    In /home/james/lilypond-git/build/out/share/lilypond/current/scm/lily.scm:
    1106: 10* [ly:parse-file "d9/lily-4b39608d.ly"]
    In unknown file:
       ?: 11* [construct-chord-elements #<Pitch c > #<Duration 1 > ...]
    In /home/james/lilypond-git/build/out/share/lilypond/current/scm/chord-entry.scm:
      31: 12* (let* (# # # # ...) (letrec # # # ...))
    In unknown file:
       ?: 13  (letrec (# # # ...) (set! root #) ...)
    In /home/james/lilypond-git/build/out/share/lilypond/current/scm/chord-entry.scm:
     176: 14* (set! complete-chord (if start-additions # #))
     177: 15* (if start-additions (interpret-additions base-chord flat-mods ...) ...)
     178: 16  [interpret-additions (# # # ...) (#<procedure sus-modifier #> #) ...]
        ...
      98: 17  [interpret-additions ((# # #) (# # #) (# # #)) (#<Pitch f' >) ...
     100: 18* [((modifier . #f) (root . #<Pitch c' >) (extension . 7) ...)]
    
     
  • Carl Sorensen

    Carl Sorensen - 2019-04-02
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -4,3 +4,7 @@
     Example: Cm7 no root and Eb both have the exact same notes, and so there is no way to differentiate between them, unless we capture the data from chord mode: { cm:7.1 } as opposed to { eb }
    
     https://codereview.appspot.com/337870043
    +
    +A new patchset has been loaded  at
    +
    +https://codereview.appspot.com/568650043
    
    • assigned_to: Charles Winston --> Carl Sorensen
    • Patch: needs_work --> new
     
  • Carl Sorensen

    Carl Sorensen - 2019-04-02
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -3,8 +3,11 @@
     Without these semantics, naming chords based only on their notes results in ambiguous naming:
     Example: Cm7 no root and Eb both have the exact same notes, and so there is no way to differentiate between them, unless we capture the data from chord mode: { cm:7.1 } as opposed to { eb }
    
    -https://codereview.appspot.com/337870043
    -
     A new patchset has been loaded  at
    
     https://codereview.appspot.com/568650043
    +
    +The original  patchset can be found at
    +
    +https://codereview.appspot.com/337870043
    +
    
     
  • Anonymous

    Anonymous - 2019-04-03
    • Patch: new --> review
     
  • Anonymous

    Anonymous - 2019-04-03

    Passes make, make check and a full make doc.

    Reg test diffs are here: https://nc-cluster02.yourownnet.cloud/index.php/s/YaYQnQs5Je7xc5Z

     
  • Anonymous

    Anonymous - 2019-04-06
    • Patch: review --> countdown
     
  • Anonymous

    Anonymous - 2019-04-06

    Patch on countdown for April 9th.

     
  • Carl Sorensen

    Carl Sorensen - 2019-04-06
    • Patch: countdown --> needs_work
     
  • Carl Sorensen

    Carl Sorensen - 2019-04-06

    There's still a warning with the 'bass property. I'll need to figure out what's going on with that.

     
  • Carl Sorensen

    Carl Sorensen - 2019-04-06

    Respond to Valentin and Paul

    http://codereview.appspot.com/568650043

     
  • Anonymous

    Anonymous - 2019-04-07

    Passes make, make check and a full make doc.

    Reg test diffs are here: https://nc-cluster02.yourownnet.cloud/index.php/s/dbixGjGjbRPe7bP

     
  • Anonymous

    Anonymous - 2019-04-07
    • Needs: -->
    • Patch: new --> review
    • Type: --> Enhancement
     
  • Carl Sorensen

    Carl Sorensen - 2019-04-08
    • Patch: review --> needs_work
     
1 2 > >> (Page 1 of 2)