[JW Lua] metatools assignments

Joseph Weidinger jsphweid at gmail.com
Sun Nov 8 14:39:11 CET 2015


Thanks.  However, I did all of those things and it still does assign the
metakey. Here is the updated part + the rest of the relevant code in case
maybe it is part of a larger problem (?).

function makeBoldAbove(expressionText)
local ted = finale.FCTextExpressionDef()

-- actual text
stringObject = finale.FCString()
stringObject.LuaString = "^fontTxt(Times New Roman,4096)^size(14)^nfx(1)"
.. expressionText
ted:SaveNewTextBlock(stringObject)

-- description
local descriptionstr = finale.FCString()
descriptionstr.LuaString = expressionText -- get it from userinput also,
why not
ted:SetDescription(descriptionstr)

-- put into which category?
catdef = finale.FCCategoryDef()
catdef:Load(4) -- 4 is expressions
ted:AssignToCategory(catdef)

-- we will not use standard positioning
ted:SetUseCategoryPos(false)

-- here is the positioning data
ted:SetVerticalAlignmentPoint(finale.ALIGNVERT_ABOVE_STAFF_BASELINE_OR_ENTRY)
ted:SetVerticalBaselineOffset(-26)
ted:SetVerticalEntryOffset(36)
ted:SetHorizontalJustification(finale.EXPRJUSTIFY_LEFT)
ted:SetHorizontalAlignmentPoint(finale.ALIGNHORIZ_CLICKPOS)
ted:SetHorizontalOffset(0)
ted:SetBreakMMRest(false)


local ma = finale.FCMetatoolAssignment()
ma:SetMode(finale.MTOOLMODE_EXPRESSION)
ma:AssignTextExpressionDef(ted)
ma:SaveAsKeystroke(65)

ted:SaveNew()

return ted:GetItemNo()
end

local expressionID = makeBoldAbove("test") -- create it and get its new ID


On Sun, Nov 8, 2015 at 5:47 AM, Jari Williamsson <
jari.williamsson at mailbox.swipnet.se> wrote:

> Joseph,
>
> In addition to what Jan said:
> * Remove the call to SaveNew(), since it isn't needed. SaveNew() should
> only be used for classes that can save a list of objects to the same
> location. SaveAsKeyStroke() is the SaveAs method to use for metatool
> assignments.
>
> * Put the AssignTextExpressionDef before the save, otherwise the
> connection to the text expression def will not be saved to Finale.
>
>
> Best regards,
>
> Jari Williamsson
>
> On 2015-11-08 11:07, Jan Angermüller wrote:
>
>> As the online documentation says for AssignTextExpressionDef:
>> "The mode for the object must be set to MTOOLMODE_EXPRESSION *in
>> advance*. "
>>
>> So you need a SetMode before.
>>
>> Jan
>>
>> Am 08.11.2015 um 09:04 schrieb Joseph Weidinger:
>>
>>> I am creating a new text expression definition (ted) and that part
>>> works. However it won't assign the metakey "a" (which is 65 apparently)
>>>
>>> I try to do this:
>>> ~ ted defined and working great
>>>
>>> local ma = finale.FCMetatoolAssignment()
>>> ma:SaveAsKeystroke(65)
>>> ma:SaveNew()
>>> ma:AssignTextExpressionDef(ted)
>>>
>>> ted:SaveNew()
>>>
>>> Maybe it has something to do with set mode? I coculdn't get anything
>>> to work. Help appreciated! Thanks.
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>>
>
>
> _______________________________________________
> 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/20151108/fe5fecca/attachment-0002.html>


More information about the JWLua mailing list