[JW Lua] Change System Margins after Double barline
Jari Williamsson
jari.williamsson at mailbox.swipnet.se
Wed Oct 30 16:26:53 CET 2013
Herbert,
I would do something like this. The "systems" collection loaded at the
start is for reference only - it's used to find out if a measure belongs
to a system. If measures are rearranged across systems during the
measure loop, that reference collection needs to be reloaded.
---
finale.FCStaffSystems.UpdateFullLayout()
systems = finale.FCStaffSystems()
systems:LoadAll()
allmeasures = finale.FCMeasures()
allmeasures:LoadAll()
for measure in each(allmeasures) do
if measure.Barline == finale.BARLINE_DOUBLE then
print ("Double barline found in measure ", measure.ItemNo)
for ss in each(systems) do
if ss:ContainsMeasure(measure.ItemNo) then
local nextsystem = finale.FCStaffSystem()
nextsystem:Load(ss.ItemNo + 1)
nextsystem.TopMargin = (80)
nextsystem.LeftMargin = (40)
nextsystem:Save()
end
end
end
end
---
Best regards,
Jari Williamsson
On 2013-10-30 14:56, Herbert van Essen wrote:
>
> Hi Jari et al,
>
> I try to change the left and top margins of a system after the measure
> that has a double barline.
> How should I load the right system after the measure with the double
> barline?
>
>
> allmeasures = finale.FCMeasures()
> allmeasures:LoadAll()
> for measure in each(allmeasures) do
> if measure.Barline == finale.BARLINE_DOUBLE then
> print ("Double barline found in measure ", measure.ItemNo)
> local ss = finale.FCStaffSystem()
> ss:Load(measure + 1)
> ss.TopMargin = (80)
> ss.LeftMargin = (40)
> ss:Save()
> end
>
> finale.FCStaffSystems.UpdateFullLayout()
> end
>
> Thanks very much!
>
> Herbert
>
>
> _______________________________________________
> JWLua mailing list
> JWLua at jwmusic.nu
> http://jwmusic.nu/mailman/listinfo/jwlua_jwmusic.nu
>
More information about the JWLua
mailing list