[JW Lua] Octave Transposition
Martin Marris
mmarris at notecraft.com
Mon Dec 21 11:35:51 CET 2020
Hi Robert,
It works, and is very simple. I had noticed that FCNote property but because of its name, had assumed it had something to do with the horizontal displacement of noteheads in a chord, so had not bothered to read the definition.
Thank you!
Martin
From: JWLua <jwlua-bounces at jwmusic.nu> On Behalf Of Robert Patterson
Sent: Sunday, December 20, 2020 22:54
To: The JW Lua script plug-in. <jwlua at jwmusic.nu>
Subject: Re: [JW Lua] Octave Transposition
Octave transposition, along with any diatonic transposition, is simple. Just add or subtract the number of diatonic steps to/from FCNote::Displacement. For octaves it is 7 diatonic steps.
On Sun, Dec 20, 2020 at 4:42 PM Martin Marris <mmarris at notecraft.com <mailto:mmarris at notecraft.com> > wrote:
Quick correction:
>>…. using note:SetPitch().<<
I meant “SetString()” of course.
Martin
From: JWLua <jwlua-bounces at jwmusic.nu <mailto:jwlua-bounces at jwmusic.nu> > On Behalf Of Martin Marris
Sent: Sunday, December 20, 2020 21:34
To: jwlua at jwmusic.nu <mailto:jwlua at jwmusic.nu>
Subject: [JW Lua] Octave Transposition
After copy/pasting stuff I sometimes need to transpose the results by an octave, up or down.
I assumed this would be easy but several hours later I am stuck.
I tried three approaches:
* Using the scripts kindly provided by Nick Mazuk at https://github.com/Nick-Mazuk/jw-lua-scripts. But even after incorporating all of the “transposition” library functions directly into my script I could not get this to work. I always got an error message that “note” was a nil object even though I had directly assigned a value to “note.”
* A crude approach using MIDIKey, adding or subtracting 12. This did result in the correct pitches, but the wrong spellings: C ended up at B-sharp for example. (These errors happened only on transposing instruments.)
* Finally I tried an approach that parsed the note String and changed it. So for example, Bb4 would be programmatically changed to Bb3 or Bb5 and then set using note:SetPitch(). This worked OK on “C” instruments but yielded spectacularly wrong results on transposing instruments (off by a couple of octaves in some cases). I messed around with the “written pitch” parameter (the third property in the SetPitch method) but go nowhere.
Hmm.
Martin
_______________________________________________
JWLua mailing list
JWLua at jwmusic.nu <mailto:JWLua at jwmusic.nu>
http://jwmusic.nu/mailman/listinfo/jwlua_jwmusic.nu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://jwmusic.nu/pipermail/jwlua_jwmusic.nu/attachments/20201221/416eedfc/attachment.htm>
More information about the JWLua
mailing list