This is an old revision of the document!
This page contains a detailed description of the finaleplugin
properties that can be set in the plugindef() function. Normally these values are set by using the Plug-in Def dialog box in JW Lua.
If this is set to true
, the script will not execute if a selection region isn't available for the current document. Instead, a user alert will display with information that the user should first select a region. Example:
finaleplugin.RequireSelection = true
If this is set to true
, the script will not execute if a part is viewed for the current document. Instead, a user alert will display with information that the user should first switch to the score view. Example:
finaleplugin.RequireScore = true
If this is set to true
, the script will run in “sandbox mode”. After the script has run, any saves made to Finale's database are automatically rolled back, so such a script will never do any permanent edits to a document. This might be useful for example when creatin diagnostic scripts, or during development to check that the script syntax will work. Example:
finaleplugin.NoStore = true
The full name of the author. Example:
finaleplugin.Author = "John Smith"
One-line copyright string. Example:
finaleplugin.Copyright = "Copyright (c) John Smith, 2013"
The version number of the current plug-in. Examples:
finaleplugin.Version = 1.01
or
finaleplugin.Version = "1.5.2"
or
finaleplugin.Version = "1.01, build 14"
The tags that would categorize the plug-in script. Each tag is separated by a spaces and/or commas, and each category name is case insensitive and can contain the characters a-z only. A category name is used to filter the scripts that should be displayed in a JW Lua file folder (which helps the user to organize the scripts based on each script's functionality). The categories in the table below are considered to be “standard categories” and should be used whenever possible:
Tag | Description |
---|---|
Articulation | Affects character or shape articulations. |
Chord | Affects chords. |
Debug | Debug-only tasks for developers. |
Development | Tasks aimed at script development. |
Diagnose | Diagnostics tasks. |
Expression | Affects text or shape expressions. |
Layout | Layout tasks. |
Lyric | Affects lyrics. |
Measure | Affects measures (such as measure attributes). |
MIDI | Affects MIDI data. |
Note | Affects notes entries. |
Page | Affects pages. |
Percussion | Affects percussion notation. |
Playback | Affects playback. |
Pitch | Affects note pitches. |
Region | Tasks that require region selections. |
Rest | Affects rests. |
Report | Report-only tasks. |
Smartshape | Affects smart shapes. |
Staff | Affects staves. |
System | Affects staff systems. |
Tempo | Affects tempo (notated or playback). |
Test | Plug-ins for test purposes. |
Text | Affects text blocks. |
UI | Contains a user interface. |
Example:
finaleplugin.CategoryTags = "Page, Layout"
The release date (in any text format). Example:
finaleplugin.Date = "July 28, 2013"
Longer description of the plug-in and user instructions. The string can contain multiple lines. Example:
finaleplugin.Notes = [[ This plug-in hides all rests in the selected region. Select the region before running the plug-in. ]]
Revision history text that might be of interest to an end user. The string can contain multiple lines. Example:
finaleplugin.RevisionNotes = [[ July 26, 2013: Version 1.00 July 28, 2013: Version 1.01 ]]
An URL to the script's home page. Example:
finaleplugin.AuthorURL = "http://www.theurl.com"
The contact e-mail to the author. Example:
finaleplugin.AuthorEmail = "john.smith@theurl.com"
A unique identifier that is specific to the plug-in. This is required if the plug-in should be shared through the JW Lua repository. The id is case insenitive and can contain the characters abcdefghijklmnopqrstuvwxyz0123456789_.-
. Suggested identifiers are a author.pluginname syntax, or a true GUID. Examples:
finaleplugin.Id = "johnsmith.hiderests"
or
finaleplugin.Id = "742d0ea0-c109-4b81-87ae-d059f27cb028"
Example:
finaleplugin.ParameterTypes = [[ Number Boolean ]]
Example:
finaleplugin.ParameterDecriptions = [[ Resize (in percent) Resize relative ]]
Example:
finaleplugin.ParameterLists = [[ nil Yes, No ]]
Example:
finaleplugin.ParameterInitValues = [[ nil true ]]