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

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

Can't Edit
Can't Publish+Mail
Start Review
Created:
7 years, 1 month ago by Valentin Villenave
Modified:
7 years 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".
7 years, 1 month ago (2019-01-20 11:29:01 UTC) #1
Valentin Villenave
Fix `make check’.
7 years, 1 month ago (2019-01-21 16:59:37 UTC) #2
Valentin Villenave
Rebase; thanks James :-)
7 years, 1 month 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 ...
7 years, 1 month ago (2019-01-23 21:14:56 UTC) #4
Valentin Villenave
Also set 'octavation so that voicings don’t modify the chord’s name
7 years, 1 month 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 ...
7 years, 1 month 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 ...
7 years, 1 month ago (2019-01-23 22:30:25 UTC) #7
Valentin Villenave
Address David’s comments. (Well, most.)
7 years, 1 month 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? ...
7 years, 1 month 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 ...
7 years, 1 month 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: > > > ...
7 years, 1 month 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".
7 years, 1 month ago (2019-01-30 08:20:43 UTC) #12
japaipy
7 years, 1 month 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. ...
7 years, 1 month ago (2019-01-30 08:43:14 UTC) #14
Valentin Villenave
Rebase, and use rewritten function
7 years, 1 month 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 ...
7 years, 1 month ago (2019-01-30 09:20:14 UTC) #16
Valentin Villenave
Use sorted note list to select the correct note.
7 years 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 ...
7 years 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 ...
7 years 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 ...
7 years 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 ...
7 years 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 ...
7 years 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: >> >> ...
7 years 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 ...
7 years 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. > > ...
7 years 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 ...
7 years ago (2019-02-02 23:25:27 UTC) #26
Valentin Villenave
Handle chords larger than one octave.
7 years 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 ...
7 years 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 ...
7 years 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 ...
7 years 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 ...
7 years 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' >> ...
7 years 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 ...
7 years 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 ...
7 years 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 ...
7 years ago (2019-02-08 03:48:31 UTC) #35
Valentin Villenave
7 years 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