[JW Lua] Change System Margins after Double barline

Herbert van Essen hpvanessen at gmail.com
Tue Nov 5 21:45:09 CET 2013


Hello Jari,

I know you're very busy but this thing is driving me crazy while it must be
very simple.
I try to get a pagebreak after a final barline:

local region = finale.FCMusicRegion()
region:SetCurrentSelection()
selectedmeasures = finale.FCMeasures()
selectedmeasures:LoadRegion(region)


for measure in each(selectedmeasures) do
    if measure.Barline == finale.BARLINE_FINAL
    then
       print ("Double barline found in measure ", measure.ItemNo)
                    local m = finale.FCMeasure(measure.ItemNo +1)
                    --m:Load()
                    m.PageBreak = true
                    m:Save()
        end
end
selectedmeasures:SaveAll()

What am I doing wrong here?

Kind regards,
Herbert


2013/11/5 Herbert van Essen <hpvanessen at gmail.com>

> Hello Jari,
>
> I tried also the "nextsystem.BottomMargin ="
> It differs from the actual setting a factor 96!
> And the "nextsystem.RightMargin ="  is working very strange.
> Is this not working or am I missing something?
>
> Kind regards,
>
> Herbert
> 2013/10/30 Jari Williamsson <jari.williamsson at mailbox.swipnet.se>
>
>> 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
>>>
>>>
>>
>>
>> _______________________________________________
>> 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/20131105/b5235512/attachment.htm>


More information about the JWLua mailing list