[JW Lua] Staff Styles

Emile Meuffels e.meuffels at gmail.com
Sun Oct 11 14:33:12 CEST 2020


Hi Robert,

Thank you for your advice. I now wrote a function which loads all the staff
styles in a document, creates new ones if the ones I need (which are
transpositions for different instruments which I created in separate
tables) are not there already and returns the staff style id for the new
staff style. I have added the code here as it might help somebody else.

What I'm still not able to do is to clear a staff style from the score.
Does anybody know how to do this?

Thanks!

Emile

function CreateStaffStyles()
    local staffstyledefs = finale.FCStaffStyleDefs()
    staffstyledefs:LoadAll()
    local newID = 0
    local createNew = true
    for ssd in each(staffstyledefs) do
        local myEFIXDistance = 1
        ssd.LineSpacing = myEFIXDistance
        local argString = finale.FCString()
        ssd:GetName(argString)
        if argString.LuaString == "Trumpet in B-flat" then createNew =
false end
        local myIDResult = ssd:GetItemNo()
        if createNew and myIDResult >= newID then newID = myIDResult end
    end
    staffstyledefs:SaveAll()

    if createNew then -- Create new staff styles
        local ssd = finale.FCStaffStyleDef()
        if ssd:Load(1) then
            ssd.AddToMenu = true
            local string = finale.FCString()
            for i = 1, #allinstruments do
                string.LuaString = allinstruments[i]
                ssd:SetName(string)
                ssd:SetUseNotationStyle(false)
                ssd:SetUseTransposition(true)
                ssd.TransposeInterval = interval[i]
                ssd.TransposeAlteration = keyalter[i]
                --local myIDResult = ssd:SetItemNo(22)
                local myBooleanResult = ssd:DeepSaveAs(newID+i)
            end
        end
    end
return newID end

Op zo 4 okt. 2020 om 15:49 schreef Robert Patterson <
robert at robertgpatterson.com>:

> Just because the name starts with the text "22" doesn't mean the staff
> style number is 22. Most likely the staff style has a different number in
> the new file. The most reliable way to find the correct number is to search
> the staff styles for the name you want.
>
> Also, I believe that assigning a staff style in this manner only assigns
> it in the current part or score. You should test this, at least. If you
> want it assigned in all, you'll have to cycle through the parts for the
> part(s) containing that staff.
>
> Finally, you might find my Enigma Text Dump plugin handy for figuring
> these things out. You can find a link in the Resources section of the
> ReadMe here <https://github.com/Nick-Mazuk/jw-lua-scripts#resources>.
>
>
>
>
>
> On Sun, Oct 4, 2020 at 8:35 AM Emile Meuffels <e.meuffels at gmail.com>
> wrote:
>
>> I have been experimenting with adding staff styles through JW Lua to
>> change the transposition of an instrument and I'm getting some results I
>> don't understand...
>>
>> My code is based on the example script on the Lua-site (where "style" is
>> a local decided by the program before):
>>
>>     local musicRegion = finale.FCMusicRegion()
>>     musicRegion:SetCurrentSelection()
>>     local startbar = musicRegion:GetStartMeasure()
>>     local endbar = musicRegion:GetEndMeasure()
>>     local ssa = finale.FCStaffStyleAssign()
>>     ssa.StyleID = style
>>     ssa.StartMeasure = startbar
>>     ssa.StartMeasurePos = 0
>>     ssa.EndMeasure = endbar
>>     ssa:SetEndMeasurePosRight()
>>     ssa:SaveNew(1)
>>
>> If I create a Staff Style and I name it "22. Transposition in G" and then
>> set the local "style" to 22, this script works as expected.
>> For the next step I created all the necessary staff styles and saved them
>> as a library. If I load the library in a new file, I can see the "22.
>> Transposition in G" staff style, but when I run the script, a staff style
>> is added, but this one doesn't transpose. It also doesn't show a name...
>>
>> Any idea how I can make this work?
>>
>> All the best,
>>
>> Emile
>> _______________________________________________
>> JWLua mailing list
>> JWLua at jwmusic.nu
>> http://jwmusic.nu/mailman/listinfo/jwlua_jwmusic.nu
>>
> _______________________________________________
> JWLua mailing list
> 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/20201011/84866d74/attachment.htm>


More information about the JWLua mailing list