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

Issue 365840043: New feature: automatically invert chords or drop/raise chord notes (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
3 years, 10 months ago by Valentin Villenave
Modified:
3 years, 9 months ago
Reviewers:
japaipy, dan, dak, lfm, haberg-1
CC:
lilypond-devel_gnu.org
Visibility:
Public.

Description

New feature: automatically invert chords or drop/rise chord notes This feature was suggested and improved upon by Davide Bonetti, with some help from David K: https://lists.gnu.org/archive/html/lilypond-user/2019-01/msg00360.html Included here are three new commands: \dropNote, \riseNote and \invertChords, and a new Scheme function, move-chord-note. The first two commands take an integer that selects which note will be transposed one octave lower or higher within every chord in the music expression that follows, thus allowing for more sophisticated voicings (e.g. `drop 2’ and the like). If the argument is out of range (if there aren’t enough notes in the chord), it’s silently ignored and the chord’s left unchanged. \invertChords accepts both positive and negative integers, and inverts all chords accordingly (as in switching the root note’s position, not as in reversing intervals like \inversion does). These commands work with both explicitely-written chords and \chordmode-entered chords (only when printed on a staff though; ChordNames are not to be affected).

Patch Set 1 #

Patch Set 2 : Ugh. Should be "raise" rather than "rise". #

Patch Set 3 : Fix `make check’. #

Patch Set 4 : Rebase; thanks James :-) #

Total comments: 2

Patch Set 5 : Also set 'octavation so that voicings don’t modify the chord’s name #

Total comments: 3

Patch Set 6 : Address David’s comments. (Well, most.) #

Patch Set 7 : Rebase, and use rewritten function #

Patch Set 8 : Use sorted note list to select the correct note. #

Total comments: 1

Patch Set 9 : Handle chords larger than one octave. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+191 lines, -35 lines) Patch
M Documentation/changes.tely View 1 chunk +11 lines, -0 lines 0 comments Download
M Documentation/notation/chords.itely View 1 5 chunks +51 lines, -5 lines 0 comments Download
A input/regression/chord-voicings.ly View 1 2 3 4 5 6 7 8 1 chunk +45 lines, -0 lines 0 comments Download
M ly/music-functions-init.ly View 1 2 3 4 5 6 7 8 5 chunks +47 lines, -27 lines 0 comments Download
M scm/modal-transforms.scm View 1 2 3 4 5 6 7 8 2 chunks +37 lines, -3 lines 0 comments Download

Messages

Total messages: 36
Valentin Villenave
Ugh. Should be "raise" rather than "rise".
3 years, 10 months ago (2019-01-20 11:29:01 UTC) #1
Valentin Villenave
Fix `make check’.
3 years, 10 months ago (2019-01-21 16:59:37 UTC) #2
Valentin Villenave
Rebase; thanks James :-)
3 years, 10 months ago (2019-01-22 21:57:06 UTC) #3
dak
https://codereview.appspot.com/365840043/diff/60001/scm/modal-transforms.scm File scm/modal-transforms.scm (right): https://codereview.appspot.com/365840043/diff/60001/scm/modal-transforms.scm#newcode335 scm/modal-transforms.scm:335: (ly:music-transpose Shouldn't this also set/adjust the octavation property so ...
3 years, 10 months ago (2019-01-23 21:14:56 UTC) #4
Valentin Villenave
Also set 'octavation so that voicings don’t modify the chord’s name
3 years, 10 months ago (2019-01-23 21:45:16 UTC) #5
Valentin Villenave
That’s a great idea; I hadn’t considered it. I ought to add it to the ...
3 years, 10 months ago (2019-01-23 21:51:02 UTC) #6
dak
https://codereview.appspot.com/365840043/diff/80001/scm/modal-transforms.scm File scm/modal-transforms.scm (right): https://codereview.appspot.com/365840043/diff/80001/scm/modal-transforms.scm#newcode324 scm/modal-transforms.scm:324: (sorted (sort pitches ly:pitch<?))) Shouldn't you consider preexisting octavation ...
3 years, 10 months ago (2019-01-23 22:30:25 UTC) #7
Valentin Villenave
Address David’s comments. (Well, most.)
3 years, 10 months ago (2019-01-28 19:58:36 UTC) #8
Valentin Villenave
On 2019/01/23 22:30:25, dak wrote: > Shouldn't you consider preexisting octavation for sorting the pitches? ...
3 years, 10 months ago (2019-01-28 20:02:53 UTC) #9
dak
On 2019/01/28 20:02:53, Valentin Villenave wrote: > I can’t figure out how to make it ...
3 years, 10 months ago (2019-01-28 21:53:04 UTC) #10
dak
On 2019/01/28 21:53:04, dak wrote: > On 2019/01/28 20:02:53, Valentin Villenave wrote: > > > ...
3 years, 10 months ago (2019-01-29 16:51:23 UTC) #11
japaipy
On 2019/01/20 11:29:01, Valentin Villenave wrote: > Ugh. Should be "raise" rather than "rise".
3 years, 10 months ago (2019-01-30 08:20:43 UTC) #12
japaipy
3 years, 10 months ago (2019-01-30 08:42:10 UTC) #13
japaipy
On 2019/01/30 08:20:43, japaipy wrote: > On 2019/01/20 11:29:01, Valentin Villenave wrote: > > Ugh. ...
3 years, 10 months ago (2019-01-30 08:43:14 UTC) #14
Valentin Villenave
Rebase, and use rewritten function
3 years, 10 months ago (2019-01-30 09:03:07 UTC) #15
Valentin Villenave
On 2019/01/28 21:53:04, dak wrote: > Without any pointer to what you are having problems ...
3 years, 10 months ago (2019-01-30 09:20:14 UTC) #16
Valentin Villenave
Use sorted note list to select the correct note.
3 years, 10 months ago (2019-01-30 20:17:25 UTC) #17
dak
https://codereview.appspot.com/365840043/diff/130001/ly/music-functions-init.ly File ly/music-functions-init.ly (right): https://codereview.appspot.com/365840043/diff/130001/ly/music-functions-init.ly#newcode609 ly/music-functions-init.ly:609: (let loop ((num num) (music music)) Come to think ...
3 years, 10 months ago (2019-02-01 16:18:10 UTC) #18
Valentin Villenave
On 2019/02/01 16:18:10, dak wrote: > raising or lowering one chord note > by an ...
3 years, 10 months ago (2019-02-02 19:36:58 UTC) #19
dan_faithful.be
On Feb 2, 2019, at 14:36, v.villenave@gmail.com wrote: > Oh. Then this becomes a whole ...
3 years, 10 months ago (2019-02-02 20:37:16 UTC) #20
Valentin Villenave
On 2/2/19, Dan Eble <dan@faithful.be> wrote: > Isn’t the salient property of an inversion simply ...
3 years, 10 months ago (2019-02-02 20:51:55 UTC) #21
haberg-1_telia.com
> On 2 Feb 2019, at 20:36, v.villenave@gmail.com wrote: > > On 2019/02/01 16:18:10, dak ...
3 years, 10 months ago (2019-02-02 21:13:53 UTC) #22
dak
Hans Åberg <haberg-1@telia.com> writes: >> On 2 Feb 2019, at 20:36, v.villenave@gmail.com wrote: >> >> ...
3 years, 10 months ago (2019-02-02 21:44:22 UTC) #23
haberg-1_telia.com
> On 2 Feb 2019, at 22:44, David Kastrup <dak@gnu.org> wrote: > > Hans Åberg ...
3 years, 10 months ago (2019-02-02 22:46:32 UTC) #24
lfm_gmx.de
>> like when using invertChords on a c:11 chord for the fifth inversion. > > ...
3 years, 10 months ago (2019-02-02 23:04:56 UTC) #25
haberg-1_telia.com
> On 3 Feb 2019, at 00:04, Lukas-Fabian Moser <lfm@gmx.de> wrote: > > If I ...
3 years, 10 months ago (2019-02-02 23:25:27 UTC) #26
Valentin Villenave
Handle chords larger than one octave.
3 years, 10 months ago (2019-02-03 08:27:48 UTC) #27
Valentin Villenave
On 2019/02/02 20:37:16, dan_faithful.be wrote: > Isn’t the salient property of an inversion simply which ...
3 years, 10 months ago (2019-02-03 08:37:13 UTC) #28
lfm_gmx.de
> much like a suspended chord (the whole point of `drop n’ transformations > being ...
3 years, 10 months ago (2019-02-03 09:53:52 UTC) #29
haberg-1_telia.com
> On 2 Feb 2019, at 21:37, Dan Eble <dan@faithful.be> wrote: > > Isn’t the ...
3 years, 10 months ago (2019-02-03 10:10:52 UTC) #30
Valentin Villenave
On 2/3/19, Lukas-Fabian Moser <lfm@gmx.de> wrote: > This statement surprises me. I always thought of ...
3 years, 10 months ago (2019-02-03 10:36:08 UTC) #31
lfm_gmx.de
>> This statement surprises me. I always thought of 'drop n' (with 'drop 2' >> ...
3 years, 10 months ago (2019-02-03 11:14:44 UTC) #32
dan_faithful.be
On Feb 3, 2019, at 05:36, Valentin Villenave <v.villenave@gmail.com> wrote: > > BTW, there’s no ...
3 years, 10 months ago (2019-02-03 14:59:03 UTC) #33
Valentin Villenave
On 2019/02/03 14:59:03, dan_faithful.be wrote: > While it is true that this algorithm yields chords ...
3 years, 9 months ago (2019-02-07 19:49:43 UTC) #34
dan_faithful.be
On Feb 7, 2019, at 14:49, v.villenave@gmail.com wrote: > > That being said, no problem ...
3 years, 9 months ago (2019-02-08 03:48:31 UTC) #35
Valentin Villenave
3 years, 9 months ago (2019-02-14 22:12:03 UTC) #36
On 2019/02/08 03:48:31, dan_faithful.be wrote:
> So that it’s clear: I have no firm objection to \invertChords.  I just wanted
to
> make sure that the names were well explored.

OK then, pushed as
https://git.savannah.gnu.org/cgit/lilypond.git/commit/?id=0f5c0468117ae099164...

Thanks to everybody!

V.
Sign in to reply to this message.

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