Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(19524)

Issue 321250043: Implementing Chord Semantics as a part of the EventChord structure,

Can't Edit
Can't Publish+Mail
Start Review
Created:
6 years, 9 months ago by chazwins6
Modified:
6 years, 9 months ago
Reviewers:
pkx166h, Dan Eble, carl.d.sorensen
CC:
lilypond-devel_gnu.org
Visibility:
Public.

Description

Implementing Chord Semantics as a part of the EventChord structure, and using semantics to create a chord name with the Chord Name Engraver

Patch Set 1 #

Total comments: 10
Unified diffs Side-by-side diffs Delta from patch set Stats (+541 lines, -91 lines) Patch
A input/regression/chordtest-additions.ly View 1 chunk +18 lines, -0 lines 0 comments Download
A input/regression/chordtest-all.ly View 1 chunk +17 lines, -0 lines 0 comments Download
A input/regression/chordtest-alterations.ly View 1 chunk +18 lines, -0 lines 0 comments Download
A input/regression/chordtest-basic.ly View 1 chunk +18 lines, -0 lines 0 comments Download
A input/regression/chordtest-bass.ly View 1 chunk +18 lines, -0 lines 0 comments Download
A input/regression/chordtest-extensions.ly View 1 chunk +21 lines, -0 lines 0 comments Download
A input/regression/chordtest-inversions.ly View 1 chunk +18 lines, -0 lines 0 comments Download
A input/regression/chordtest-removals.ly View 1 chunk +19 lines, -0 lines 0 comments Download
A input/regression/chordtest-sus.ly View 1 chunk +17 lines, -0 lines 0 comments Download
M lily/chord-name-engraver.cc View 6 chunks +31 lines, -1 line 4 comments Download
M ly/engraver-init.ly View 1 chunk +1 line, -0 lines 0 comments Download
M scm/chord-entry.scm View 8 chunks +242 lines, -85 lines 5 comments Download
M scm/chord-ignatzek-names.scm View 4 chunks +94 lines, -4 lines 0 comments Download
M scm/define-context-properties.scm View 1 chunk +2 lines, -0 lines 1 comment Download
M scm/define-event-classes.scm View 1 chunk +2 lines, -1 line 0 comments Download
M scm/define-music-types.scm View 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 3
Dan Eble
I reviewed the C++ file. I believe others are more qualified to review the patch ...
6 years, 9 months ago (2017-07-06 21:57:23 UTC) #1
pkx166h
I've created a tracker issue for this so that it gets entered into the patch ...
6 years, 9 months ago (2017-07-08 11:35:14 UTC) #2
Carl
6 years, 9 months ago (2017-07-18 18:39:49 UTC) #3
Looks generally good to me.  It's not yet complete, so I don't think it's a
candidate for pushing yet.  But I think you've got the right stuff in and are
moving forward well.

Good job!

https://codereview.appspot.com/321250043/diff/1/lily/chord-name-engraver.cc
File lily/chord-name-engraver.cc (right):

https://codereview.appspot.com/321250043/diff/1/lily/chord-name-engraver.cc#n...
lily/chord-name-engraver.cc:99: SCM name_proc = get_property
("chordSemanticsNameFunction");
On 2017/07/06 21:57:23, Dan Eble wrote:
> 1. Should chordSemanticsNameFunction be included in the list at the bottom of
> this file? (I think so.)

chordSemanticsNameFunction should definitely be included as a property that is
read.

https://codereview.appspot.com/321250043/diff/1/lily/chord-name-engraver.cc#n...
lily/chord-name-engraver.cc:103: // Ugh, we created a grob, now we better
populate it.
On 2017/07/06 21:57:23, Dan Eble wrote:
> If this was not expected, then as a user, I would like to see lilypond emit a
> warning.

I agree.

https://codereview.appspot.com/321250043/diff/1/scm/chord-entry.scm
File scm/chord-entry.scm (right):

https://codereview.appspot.com/321250043/diff/1/scm/chord-entry.scm#newcode93
scm/chord-entry.scm:93: (interpret-additions (cons (make-chord-entry-from-pitch
(car mods))
To let you fit on an 80-column line, you may wish to move  (cons down to the
next line and indent it two spaces.  The other arguments to interpret additions
would then align with (cons

https://codereview.appspot.com/321250043/diff/1/scm/chord-entry.scm#newcode163
scm/chord-entry.scm:163: ;; TODO: this omits 3 in power chord. Change to only do
so if lead-mod is null.
Nice to note this; please make sure to add the extra clause in the if here.

https://codereview.appspot.com/321250043/diff/1/scm/chord-entry.scm#newcode206
scm/chord-entry.scm:206: (set! complete-chord (map (lambda (x)
(chord-pitch-transpose x root))
Maybe the name chord-pitch-transpose should be changed, since two things are
happening in that function:  1) The proper pitches are being created (using
ly:pitch-transpose) and
2) The given chord steps are being added.

Maybe make-chord-step or just chord-step

(set! complete-chord (map (lambda (x) (chord-step x root)) complete-chord)

seems to be a bit clearer to me.  As it is, I wondered why you created your own
transpose function instead of using ly:pitch-transpose.  And then I saw it was
because the chord has both pitches and steps now.

https://codereview.appspot.com/321250043/diff/1/scm/chord-entry.scm#newcode309
scm/chord-entry.scm:309: ;; chord modifiers change the pitch list.
maybe change the comment to say chord modifiers change the pitch list and the 
chord steps?

https://codereview.appspot.com/321250043/diff/1/scm/chord-entry.scm#newcode349
scm/chord-entry.scm:349: (maj . , maj7-modifier)
I thought you were going to adjust this so maj was not maj7.  That way c:5 could
be power chord, and c:maj could be major triad.  c:maj7 would be a major 7.

Is this plan gone now?

https://codereview.appspot.com/321250043/diff/1/scm/define-context-properties...
File scm/define-context-properties.scm (right):

https://codereview.appspot.com/321250043/diff/1/scm/define-context-properties...
scm/define-context-properties.scm:202: (chordSemanticsNameFunction ,procedure?
"The function that converts
Should be "A" function, not "The" function, IMO.  See the parallel with
chordNoteNamer
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b