On 2013-09-10 20:24, Darcy James Argue wrote:
> Let's say you have boxed rehearsal letters set up to show up above the
> top score staff and the Violin I staff in an orchestral score. And let's
> say you want to move ONLY the rehearsal letter above the top score staff, 
> ONLY in the score.

Here's a script that just moves the expression anchor. Unlink in parts 
prior to running the script. Works in JW Lua beta 0.04 and above.

I'm pasting it below, since I don't think this group can handle 
attachments. Let me know if you want me to e-mail it privately.


Best regards,

Jari Williamsson

---
function plugindef()
    -- This function and the 'finaleplugin' namespace
    -- are both reserved for the plug-in definition.
    finaleplugin.RequireScore = true
    finaleplugin.RequireSelection = true
    return "Move Expression Anchor", "Move Expression Anchor", "Moves 
the staff list's expression anchor without moving other expression."
end

local dialog = finenv.UserValueInput()
dialog.Title = "Move Expression Anchor"
dialog:SetTypes("Number", "Number")
dialog:SetDescriptions("Horizontal Offset (in EVPUs):",
"Vertical Offset (in EVPUs):")
local returnvalues = dialog:Execute()

if returnvalues == nil then return end
local xoffset = returnvalues[1]
local yoffset = returnvalues[2]
if xoffset == 0 and yoffset == 0 then return end

local region = finenv.Region()
for measnumber = region.StartMeasure, region.EndMeasure do
     local expressions = finale.FCExpressions()
     expressions:LoadAllForItem(measnumber)
     for expr in each(expressions) do
         if expr.StaffListID == 0 then goto continue end
         if expr.Staff ~= -1 then goto continue end
         expr.HorizontalPos = expr.HorizontalPos + xoffset
         expr.VerticalPos = expr.VerticalPos + yoffset
         expr:Save()
         ::continue::
     end
end
---


Best regards,

Jari Williamsson


_______________________________________________
Finale mailing list
[email protected]
http://lists.shsu.edu/mailman/listinfo/finale

Reply via email to