[JW Lua] JWLua Digest, Vol 34, Issue 4

Robert Wildling robertwildling at gmail.com
Tue May 10 11:15:32 CEST 2016


I try using this:
print("Descr.: ", txtExprDef:GetDescription() )

to get the Description of an item in the "Miscelaneous" category, but get
an error:
[string "--------..."]:43: bad argument #1 to 'GetDescription' (FCString
expected, got table)

I do not understand, why a get method needs an argument? Why is there a
FCString parameter necessary? And how can I retrieve the value of the
description field of a expression tool item?

Thanks!


> Thank you, Jan!
>
> That's actually exactely the way I try to get my fingers wet... but when
> getting to description, I get these examples:
>
> -- Process single item:
> local ted = finale.FCTextExpressionDef()
> if ted:Load(1) then
>    -- ('argString' must be defined here)
>    ted:GetDescription(argString) -- No return value
> end
>
> -- Process a collection of items:
> local textexpressiondefs = finale.FCTextExpressionDefs()
> textexpressiondefs:LoadAll()
> for ted in each(textexpressiondefs) do
>    -- ('argString' must be defined here)
>    ted:GetDescription(argString) -- No return value
> end
> textexpressiondefs:SaveAll()
>
>
> And I am confused, because GetDescription needs an argument, even though I
> need it to read what is there already... or how do I have to understand the
> "argString" usage?
> >
> > Hi Robert,
> >
> > Welcome to the list. As far as I know, there is no direct way to list all
> > expressions in a category (there would probably need to be a
> Class-Function
> > for something like that). The way to go forward is to load all
> > TextEpressionDefs and look at each one of them to see if it?s attached to
> > the Misc-category:
> >
> > --------
> > function IsMiscCategory(inputExpressionDef)
> >   local allCategories = finale.FCCategoryDefs()
> >   allCategories:LoadAll()
> >   for thisCategory in each(allCategories) do
> >     if thisCategory.ID == inputExpressionDef.CategoryID then
> >       local categoryName = thisCategory:CreateName()
> >       print(categoryName.LuaString)
> >       if categoryName.LuaString == "Miscellaneous" then return true end
> >     end
> >   end
> >   return false
> > end -- function IsRehearsalCategory(inputExpression)
> >
> > local miscExpressions = {}
> >
> > -- This handles all TextExpression
> > -- In case you also need ShapeExpressions use
> > -- local exprdefs = finale.FCShapeExpressionDefs()
> > -- and repeat the process
> >
> > local exprdefs = finale.FCTextExpressionDefs()
> > exprdefs:LoadAll()
> > for exprdef in each(exprdefs) do
> >   if IsMiscCategory(exprdef) then
> >         miscExpressions[#miscExpressions + 1] = exprdef.ItemNo
> >   end
> > end
> >
> > print(#miscExpressions) -- Number of all Misc Expressions
> > --------
> >
> > I hope this helps.
> > All the best,
> >
> >
> > Bart Visser
> >
> >
> >
> > > Op 8 mei 2016, om 18:37 heeft Robert Wildling <
> robertwildling at gmail.com>
> > het volgende geschreven:
> > >
> > > Hi,
> > >
> > > this is my first post and also my first day with JW Lua from a
> developer
> > point of view. Quite amazing, what can be done with it!
> > >
> > > Currently I would like to adapt the awesome DoubleStaffMMR Lua script
> > that is somewhere out the in the forums. Whenever this plugin is applied,
> > it creates one (and only one!) MultiMeasureRest number to a
> 2-staff-system
> > instruments, hiding the default settings (which make a MMR appear twice).
> > >
> > > The numbers are created as text expressions saved in the
> "Miscellaneous"
> > category. The disadvantage of this plugin is that it creates a number for
> > each measure, not checking whether a number already exists as a text
> > expression. So I would like to fetch all the data that can be found in
> the
> > "Miscellaneous" category, check against the "Description" field (where is
> > says "DoubleStaffMMR_[number]") and use the existing item, or only then
> > create a new item.
> > >
> > > That's the theory. Now for the practical part: How do I fetch all items
> > from the "Miscellaneous" category?
> > >
> > > Thanks for any tips!
> > >
> > > Greetings,
> > > Robert
> > > _______________________________________________
> > > JWLua mailing list
> > > JWLua at jwmusic.nu
> > > http://jwmusic.nu/mailman/listinfo/jwlua_jwmusic.nu
> >
> > Thank you for your script, Bart Visser! That is extremly helpful!!!
> >
> > At the moment I am struggeling with getting the text of the Description
> > field (of a Expression Tool item). The "JW Lua" Class Browser offers a
> > GetDescription(argString) method (without a return value?), but it
> > obviously needs a string to do something. Instead, I need to read and
> > return the Description in order to compare it to another string...
> >
> > local str = finale.FCString()
> > str.LuaString = [a variable from somewhere else like "DoubleStaffMMR5"]
> >
> > ... and now?
> >
> > Any hint would be most welcome!
> > Thanks!
> >
> >
> >
> > 2016-05-08 18:37 GMT+02:00 Robert Wildling <robertwildling at gmail.com>:
> >
> > > Hi,
> > >
> > > this is my first post and also my first day with JW Lua from a
> developer
> > > point of view. Quite amazing, what can be done with it!
> > >
> > > Currently I would like to adapt the awesome DoubleStaffMMR Lua script
> > that
> > > is somewhere out the in the forums. Whenever this plugin is applied, it
> > > creates one (and only one!) MultiMeasureRest number to a 2-staff-system
> > > instruments, hiding the default settings (which make a MMR appear
> twice).
> > >
> > > The numbers are created as text expressions saved in the
> "Miscellaneous"
> > > category. The disadvantage of this plugin is that it creates a number
> for
> > > each measure, not checking whether a number already exists as a text
> > > expression. So I would like to fetch all the data that can be found in
> > the
> > > "Miscellaneous" category, check against the "Description" field (where
> is
> > > says "DoubleStaffMMR_[number]") and use the existing item, or only then
> > > create a new item.
> > >
> > > That's the theory. Now for the practical part: How do I fetch all items
> > > from the "Miscellaneous" category?
> > >
> > > Thanks for any tips!
> > >
> > > Greetings,
> > > Robert
> > >
> > -------------- next part --------------
> > An HTML attachment was scrubbed...
> > URL: <
> >
> http://jwmusic.nu/pipermail/jwlua_jwmusic.nu/attachments/20160510/adb929a1/attachment-0001.html
> > >
> >
> > ------------------------------
> >
> > Message: 4
> > Date: Tue, 10 May 2016 10:55:08 +0200
> > From: Jan Angerm?ller <jan at angermueller.com>
> > To: "The JW Lua script plug-in." <jwlua at jwmusic.nu>
> > Subject: Re: [JW Lua] get all items of "Expression Tool"
> > Message-ID: <b9e7b7fc-913a-6809-9e29-493ff5af31a1 at angermueller.com>
> > Content-Type: text/plain; charset="windows-1252"; Format="flowed"
> >
> > Hi Robert,
> >
> > you should use the JW Lua class browser, the online class documentation
> > and the examples that Jari put on his website to find this out.
> >
> > The online class documentation starts here:
> > http://www.finaletips.nu/frameworkref/annotated.html
> > So you browse to FCTextExpressionDef and search for "Description" and
> > you will have your solution.
> >
> > The same result can be found in the JW Lua class browser:
> > Go to FCTextExpressionDef and enter "Description" in the Properties
> > and/or Methods search fields. Then you'll even get a sample code.
> >
> > Best,
> > Jan
> >
> >
> >
> > Am 10.05.2016 um 10:44 schrieb Robert Wildling:
> > > Thank you for your script, Bart Visser! That is extremly helpful!!!
> > >
> > > At the moment I am struggeling with getting the text of the
> > > Description field (of a Expression Tool item). The "JW Lua" Class
> > > Browser offers a GetDescription(argString) method (without a return
> > > value?), but it obviously needs a string to do something. Instead, I
> > > need to read and return the Description in order to compare it to
> > > another string...
> > >
> > > local str = finale.FCString()
> > > str.LuaString = [a variable from somewhere else like "DoubleStaffMMR5"]
> > >
> > > ... and now?
> > >
> > > Any hint would be most welcome!
> > > Thanks!
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > *Robert Wildling*
> > > G?llnergasse 19/30 || A-1030 Vienna
> > > ph: +43 676 6089613
> > > @: robertwildling at gmail.com <mailto:robertwildling at gmail.com>
> > >
> > > 2016-05-08 18:37 GMT+02:00 Robert Wildling <robertwildling at gmail.com
> > > <mailto:robertwildling at gmail.com>>:
> > >
> > >     Hi,
> > >
> > >     this is my first post and also my first day with JW Lua from a
> > >     developer point of view. Quite amazing, what can be done with it!
> > >
> > >     Currently I would like to adapt the awesome DoubleStaffMMR Lua
> > >     script that is somewhere out the in the forums. Whenever this
> > >     plugin is applied, it creates one (and only one!) MultiMeasureRest
> > >     number to a 2-staff-system instruments, hiding the default
> > >     settings (which make a MMR appear twice).
> > >
> > >     The numbers are created as text expressions saved in the
> > >     "Miscellaneous" category. The disadvantage of this plugin is that
> > >     it creates a number for each measure, not checking whether a
> > >     number already exists as a text expression. So I would like to
> > >     fetch all the data that can be found in the "Miscellaneous"
> > >     category, check against the "Description" field (where is says
> > >     "DoubleStaffMMR_[number]") and use the existing item, or only then
> > >     create a new item.
> > >
> > >     That's the theory. Now for the practical part: How do I fetch all
> > >     items from the "Miscellaneous" category?
> > >
> > >     Thanks for any tips!
> > >
> > >     Greetings,
> > >     Robert
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > 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/20160510/a2be370f/attachment.html
> > >
> >
> > ------------------------------
> >
> > Subject: Digest Footer
> >
> > _______________________________________________
> > JWLua mailing list
> > JWLua at jwmusic.nu
> > http://jwmusic.nu/mailman/listinfo/jwlua_jwmusic.nu
> >
> >
> > ------------------------------
> >
> > End of JWLua Digest, Vol 34, Issue 3
> > ************************************
> >
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://jwmusic.nu/pipermail/jwlua_jwmusic.nu/attachments/20160510/d317f1ea/attachment.html
> >
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> JWLua mailing list
> JWLua at jwmusic.nu
> http://jwmusic.nu/mailman/listinfo/jwlua_jwmusic.nu
>
>
> ------------------------------
>
> End of JWLua Digest, Vol 34, Issue 4
> ************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://jwmusic.nu/pipermail/jwlua_jwmusic.nu/attachments/20160510/952bd5da/attachment.htm>


More information about the JWLua mailing list