lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Add Modal transformations (issue4126042)


From: Trevor Daniels
Subject: Re: Add Modal transformations (issue4126042)
Date: Sat, 5 Feb 2011 11:28:33 -0000


Pal wrote Friday, February 04, 2011 5:11 PM

http://codereview.appspot.com/4126042/diff/3009/scm/modal-transforms.scm#newcode68
scm/modal-transforms.scm:68: (lambda (pivot-pitch pitch)
I'm afraid this is not a good interface, as there are inversions where
the pivot is between two notes.

e.g. with the scale { c g } I may want to invert
{ c4. c'8 g'4. g8 } to get { g4. g,8 c,4. c8 }.

Good point!

I see two ways out:
1. have a source-pitch and a target-pitch, like transposition
2. have a single pitch, which is not a pivot, but the image of the
starting pitch in the scale definition.

There is a third way, which I would prefer.  An inversion
can pivot around a note in the scale, as now, or around a
point between two adjacent notes in the scale, which is
missing from the current implementation.

I would suggest permitting the pivot to be either one
note, as now, or two notes, in which case the pivot is
a point between the two.

http://codereview.appspot.com/4126042/diff/3009/scm/modal-transforms.scm#newcode83
scm/modal-transforms.scm:83: (index pitch scale)))
With my suggestion 1. above these three lines could be written as

(+ (index target-pitch scale)
   (- (index source-pitch scale)
      (index pitch scale)))

With my suggestion your example would then be coded:

 \modalInversion { c g } {c g} { c4. c'8 g'4. g8 }

@Mike: do you see any problems with this?  Would you be
able to code this up?  I can fix the docs.

http://codereview.appspot.com/4126042/

Trevor





reply via email to

[Prev in Thread] Current Thread [Next in Thread]