[JW Lua] JWLua Digest, Vol 88, Issue 12

Jacob Winkler jacob.winkler at mac.com
Thu Feb 10 16:12:32 CET 2022


Wow, that's awesome! I was excited about the prospect of adding some more customization using the RGP Lua configuration UI, but a standalone configuration is appealing, too. Bare minimum, a dedicated folder in the plug-ins would be pretty slick!

You're the best Robert!

On 2/10/2022 3:00:15 AM, jwlua-request at jwmusic.nu <jwlua-request at jwmusic.nu> wrote:
Send JWLua mailing list submissions to
jwlua at jwmusic.nu

To subscribe or unsubscribe via the World Wide Web, visit
http://jwmusic.nu/mailman/listinfo/jwlua_jwmusic.nu
or, via email, send a message with subject or body 'help' to
jwlua-request at jwmusic.nu

You can reach the person managing the list at
jwlua-owner at jwmusic.nu

When replying, please edit your Subject line so it is more specific
than "Re: Contents of JWLua digest..."


Today's Topics:

1. Changes coming in v0.61 (Robert Patterson)
2. Issues with JW Lua's playback function in FCTextExpressionDef
(Jan Angerm?ller)


----------------------------------------------------------------------

Message: 1
Date: Wed, 9 Feb 2022 11:14:06 -0600
From: Robert Patterson
To: "The JW Lua script plug-in."
Subject: [JW Lua] Changes coming in v0.61
Message-ID:

Content-Type: text/plain; charset="utf-8"

Besides some small bug fixes and additions, there are two significant
changes coming in 0.61 that you may want to know about in advance. The
first is the addition of a new class, FCPartStaffVoicing. This allows you
to view, add, modify, or delete staff voicing for a linked part.

The second will be of particular interest to a couple of you. (Jan
Angerm?ller and Jake Winkler I'm looking at you.) RGP Lua 0.61 will be
separately embeddable in its own folder. If you put a config file in the
same folder (with the name com.robertgpatterson.RGPPluginSettings.xml), RGP
Lua will read that config file instead of the one in the user's
preferences, and it will only display the scripts configured in that file.
Furthermore, there will be a new option in the xml (only editable with a
text editor) that suppresses the RGP Lua configuration UI. It allows you to
present your script(s) to the user as standalone plugins without displaying
the RGP Lua menu option.

I see this as particularly useful for Perfect Layout and the JetStream
Controller projects. I don't recommend it in general, but it will be there
for anyone to use. Here is a sample of what it might look like for Perfect
Layout:


Robert G. Patterson






Robert
-------------- next part --------------
An HTML attachment was scrubbed...
URL:

------------------------------

Message: 2
Date: Thu, 10 Feb 2022 10:57:46 +0100
From: Jan Angerm?ller
To: "The JW Lua script plug-in."
Subject: [JW Lua] Issues with JW Lua's playback function in
FCTextExpressionDef
Message-ID:
Content-Type: text/plain; charset="utf-8"; Format="flowed"

I have just noticed a severe issue which can mess up the expression
definitions.
I wrote a "Clone" function to copy&paste properties from one expression
definition to another and used the seemingly undangerous
ExecutableShapeID property like this:

DestinationExprDef.ExecutableShapeID=SourceExprDef.ExecutableShapeID

But this will not only copy the ExecutableShapeID, but also reset all
other playback values in that expression defintion - like key velocity,
tempo, etc.

So, for example, if your source and destination expressions were dynamic
expressions with the Key Velocity playback type and the destination used
"Key Velocity: 75", it will change to "Key Velocity: 0". But the code
line above will have no effect on the ExecutableShapeID as it is 0 in
both cases.

Robert, could you update this in the documentation?
Currently it only says:
"Setting the shape to 0 can be used to clear the use of executable shape."
But it seems to me like:
"Setting the shape to 0 clears ANY playback value - even if the
executable shape was not used at all."

And maybe add one line that assigning 0 to ExecutableShapeID will not
change the "Value" field, if UseExecutableShape is not activated.

Test code:
local textexprdef=finale.FCTextExpressionDef()
textexprdef:Load(1)
local textexprdef2=finale.FCTextExpressionDef()
textexprdef2:Load(2)
textexprdef2.ExecutableShapeID=textexprdef.ExecutableShapeID
textexprdef2:Save()

A few other things that I noticed that affect expression definitions and
playback and which might need attention:
1.) Get/SetPlaybackType() is listed as "Lua supported in 0.55", but it's
not supported yet.
2.) SetPlaybackController is supported, but GetPlaybackController is not
3.) Get/SetPlaybackKeyVelocity() are in Jari's framework, but not in JW
Lua?? (probably not needed if you use SetPlaybackController with the key
velocity type, but GetPlaybackController() isn't supported yet either)
4.) The documentation for SetPlaybackTempo doesn't mention very clearly
that it turns a non-tempo playback expression into a tempo playback
expression.
So it not only changes the tempo/duration value, but it seems to set a
flag internally that the new playback is a "EXPPLAYTYPE_TEMPO" type. I
had expected that I would have to call SetPlaybackType() additionally to
change this behaviour.

Jan
-------------- next part --------------
An HTML attachment was scrubbed...
URL:

------------------------------

Subject: Digest Footer

_______________________________________________
JWLua mailing list
JWLua at jwmusic.nu
http://jwmusic.nu/mailman/listinfo/jwlua_jwmusic.nu


------------------------------

End of JWLua Digest, Vol 88, Issue 12
*************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://jwmusic.nu/pipermail/jwlua_jwmusic.nu/attachments/20220210/d91cbb97/attachment.html>


More information about the JWLua mailing list