Overview: Perfect Layout, v3.0051 beta, macOS/Windows

Perfect Layout v3.0 includes nearly 300 new features and improvements.
The chronological list of changes in the sub-versions 3.0007-3.0051 is available here.

What is new?

Page/Measure Layout:

-Linked part layout now includes automatic vertical staff/system spacing.

Image 1: Automatic Staff System Layout in Parts

-New feature: Messed up system staves in scroll view with staff distances beyond 1.000.000 EVPU which may lead to invisibility of all notation elements and other problems are reset
-New feature: If the last page in parts only has one (short) measure, it is moved to the previous staff when "Reflow Across Systems" is activated.
-New option (Gold only): "Optimize->Add Double Barline Preceding Key Changes" which was activated by default in previous versions of Perfect Layout can now be deactivated (in the Silver version it's always activated).
-Improved algorithm for detecting empty pages at the end of the score (which will be deleted)
-If the last system only has one measure, it's not shifted anymore to the previous system if it's a very dense notation.

Measure Numbers:

-Default measure number placement is now dependent on loose/tight spacing preset and number of bars
-New feature: Measure numbers centered in the middle of the measure colliding with notation elements below the staff are shifted further down
-New option "MMRests->Show Measure Range at Start of System". If the measure range is set to be shown only on at least x bars wide multi-measure rests, then it will still always show up below multi-measure rests at the start of the systen. Activated by default.
-New option for placement of measure numbers at system start:" Set to User-Defined Offsets"
-Measure numbers in the score on each measure below the bottom staff are now optimized to not collide with the notation symbols above.
This is done consistently over the whole score: they will all get the new vertical distance.
In the Gold edition the distance can be adjusted with the new option "Alignment->Measuren Numbers->On Collisions with Other Objects Below Bottom Staff Shift Down by" plus the value of "Alignment->Extra Collision Offset".
In the Silver edition the distance is only handled indirectly with the "Alignment->Extra Collision Offset" value. The default distance is 19 EVPU (=14 EVPU Vert. Distance + 5 EVPU Extra Offset).
This only affects measure numbers on a score below the bottom (!) staff.
Note: if there is no collision because the measure numbers are already very far below the staff, then they will keep their position. They will not be shifted upwards.
-If measure number regions are "misused" for other symbols (e.g. system dividers), these measure number regions are not set to new positions anymore.
-Improved metrics of centered measure numbers on 0-line staves
-If a measure number region uses identical position values for measure numbers at system start and for multiples, then the measure numbers at system start won't be changed anymore.
-In some cases improved measure number placement over curved group brackets in the score
-Improved detection of identical/similar measure number regions
-In some cases improved placement of measure number expressions above large time signatures
-As unlinked separate measure numbers are still not possible in JW Lua measure number shifts that affected other parts negatively were removed.
-The option "Keep Current Position" for placement of measure numbers at system start is now more strict: extra offset for curved group brackets are not added anymore, the vertical/horizontal offsets can't be changed and "Clear Individual Measure Number Positions and Visibility" is also deactived. This ensures that measure numbers at system start should now stay at their position. The old functionality is now available under "Set to User-Defined Offsets".
-Prefix and Suffix symbols are supported in measure number collision removal
-Improved automatic detection of measure number placement below the staff for automatically keeping the placement below staff if this is the default setting for the parts.
-Improved placement of wide, enclosed measure numbers at the start of the system in case of clef collisions
-In some cases improved placement of measure numbers at system start (for example below 1-line staves with the "Drumset" clef)
-On "extracted parts" files or scores with only one staff and no parts, the unused measure number regions that Perfect Layout generates for (linked) parts are automatically deleted.


-Two staff choir groups with only one lyrics line in the middle are moved closer together with the lyrics being in the center (similar to piano two staff groups). It only works if most of the bottom staff has no own lyrics, but shares the lyric from the top staff.
-Improved dynamics placement above the staff on lyrics staves
-Improved lyrics alignment when a lyrics section only has a "blank" syllable
-Improved lyrics placement on tall uppercase lyrics letters like ▄─Í╔╚ etc.
-The lyrics baseline is improved on wide ties that could would collide with the word extension line.
-Manually repositioned notes in two staff groups with lyrics are now correctly detected from both staves. If the manual repositioning is probably correct in one staff, it will be kept in the other staff too.
-Improved lyrics spacing in case of many font changes within a verse
-Fixed: In some cases an error message could occur on bracket and underscore symbols in lyrics texts.


-New feature: Chord symbols are automatically vertically aligned: three algorithms to select from.

Image 2a: Chords Before/After Perfect Layout v3.0

-If you add ABOVECHORD to the description text of an expression or an expression category, the expression will be placed above a chord. By default all expressions (except tempo and rehearsal expressions) are placed below chord symbols.
-The ABOVECHORD feature can also be used for creating priorities when placing two expressions at the same measure position. The tempo/rehearsal mark expressions will be placed on top, followed by the ABOVECHORD expression, followed by all other expressions.

Image 2b: The ABOVECHORD tag

-New option: "Keep Chords Below Staff" (activated by default). If chords are placed below a staff, they are not automatically put above the staff anymore if this is activated.
-Improved chord metrics calculation on chords not attached to note entries
-Chord symbols are not placed above text repeats symbols anymore.
-Chord symbols with fixed size fonts now have the correct metrics
-Improved chord metrics when the last element is a seven (i.e. reduced bottom width)
-Improved chord metrics on shifted notes and on chord clusters with seconds


-New feature: Arpeggio signs can now be automatically shifted before the accidental/note. In Gold only the distance is adjustable (in Silver and by default it is: 9 EVPU).
The new option is "Reset->Shift Arpeggio Articulations Before Note. Horizontal Distance: 9 EVPU".
If there is not sufficient space before the note, space will be added.
In dense measures the results are better when "Document Options->Music Spacing->Avoid Collisions of Articulations" is activated before running Perfect Layout.

Image 3: First measure sufficient space, second measure extra space added

-New feature: The function "Remove Duplicate Articulations" can now be deactivated ("Reset/Hide->Remove Duplicate Articulations"). In the Gold version it's also possible to define articulations which are to be excluded from the "Remove Duplicates" function ("Reset/Hide->Keep Duplicate Articulations".
-New option "Place Harmonics Articulations (Circles) Outside Tuplet Brackets" (Gold: on the Articulation tab/Silver: on the Tuplets tab). Use this option to define inside/outside tuplet bracket placement of the circle articulation.
-New Feature: The articulation property "Copy Main Symbol Horizontally" is now supported which leads to improved collision detection and staff alignment for example for trill extension articulations. However it's recommended to use custom smartlines for this purpose instead. They are more flexible.
-New option in Perfect Layout Gold: "Shift Fermatas on Bottom Staves of Two-Staff Groups Below the Staff". In Silver this is activated by default. Fermatas are only shifted below the staff in very simple scenarios (i.e. single layer, single voice, no cross staff notes).
-In some case the option "Place Harmonics Outside Tuplets" didn't save correctly
-Improved shifting of wiggle lines next to trill articulations when the articulations are shifted (however it's recommended to use trill smartshapes instead of articultion+wiggle lines as they are much easier to handle and to place correctly)
-Finale 26/27: in some cases of notes below the staff and two articulations above the staff improved vertical placement of articulations
-In some cases improved placement of breath mark comma articulations at the end of the measure (However it's recommended to use breath mark expressions instead, because they are not dependent of a note entry position)
-Improved articulation placement in a certain two-layer/two-voice scenario
-In Finale 26+ articulations that use the wrong stacking order because their IDs are in the wrong order in the Articulation Definitions dialog are kept as they are as it might be intentionally.
-Inside slur articulations on steep slurs are now also automatically created when the note has (additionally) a tremolo articulation
-Improved handling of piano fingering articulations (in more cases they are not moved at all)
-The "Reset/Hide->Hide Bow Marks in the Score" feature is now more intelligent: if a score includes many bow marks (>10 per string staff), then the bow marks are automatically hidden. It includes less, then they are kept.
-Automatic hiding of bow marks in the conductor score is now only activated by default if there are very many bow marks which probably are not required for the conductor. If there are only very few, but thus probably very important bow marks these are kept in the score.


-Improved adding of horizontal space in some note collisions, especially with accidentals
-Improved accidental/note collision handling on resized staves
-Improved accidental collision detection if straight flags are used
-Improved horizontal collision detection between notes and accidentals on note entries with multiple accidentals
-Improved note collision removal over multiple staves in measures with grace notes and accidentals
-Improved placement of notes on note/accidentals collisions when after inserting space the note flag at the end of the measure collides with the barline
-In some cases improved detection of note/accidental collisions.
-Horizontal movements of multiple accidentals are not performed on transposed staves with simplified keys (and "Display in Concert Pitch" deactivated) anymore as JW Lua sometimes returns false flat/sharp values
-Corrupt accidental modifications are now detected and ignored
-Improved metrics on manually adjusted accidentals that use a different font than the default accidental font
-RGP Lua only: automatic activation of "Document Options->Accidentals->Use cross-layer accidental positioning" when "Alignment of Multiple Horizontal Accidentals" is activated in Perfect Layout


-Dynamic expression on stems from cross staff notes are now shifted before the stem:

Image 4: Before/After Perfect Layout v3.0

-In some cases of dense piano parts improved placement of dynamics on beat 1 after hairpins in the previous measure
-Improved centering of dynamics between two staves on piano notation in parts
-Improved vertically centered placement of compound dynamics with expressive text in piano (two staff) notation (e.g. "piu" + "ff")
-Improved compound f + p detection, if both dynamic expressions are on the same beat together with a hairpin
-Improved placement of dynamics when three (!) dynamic expressions are attached to the same beat. However: To avoid ambiguities it's not recommended to attach three dynamics to the same beat.
-In some cases improved horizontal placement of compound dynamics ("sub.p") on scores that have differently resized staves.
-Improved horizontal placement of expressive text connected with dynamics (e.g. "f" + "espr.") on resized staves in parts.
-Improved support for dynamics in the wrong category (Miscellaneous) that are assigned to flexible staves (top staff, bottom staff)
-Improved placement of dynamics before note clusters with very low notes in case of more than one accidental on that cluster
-Improved placement of dynamic expressions on very low stemmed-down notes with tremolo articulations
-Improved placement of mf dynamics on (very) low notes below upstem notes (slightly further away).
-Improved placement of dynamics/hairpins centered between two piano staves in case of a technique text expression below the dynamics.
-Improved placement of dynamics/hairpins centered between two piano staves very low placed beamed rests (with "Extend Beams over Rests" activated)
-Improved detection of forte-piano dynamics built from two separate expressions
-Dynamics are not moved before a note anymore if they collide with a pedal articulation below the note
-Dynamics above the staff on beat 1 on a rest are not shifted to the end of the previous measure anymore. However in most cases it's not recommended to place dynamics on rests as this might be confusing for the player.
-Improved (non-)detection of compound "f"+"p" ("fp") dynamics when the first dynamic is assigned to a grace note on the same beat.
-Improved detection of compound sub./poco/pi¨ dynamic expression if the "sub." text expression is in the Dynamics expression category (instead of the Expressive Text or Technique Text category)
-Improved vertical alignment of dynamics in a rare combination of two voices plus articulations and dynamics.
-Dynamics on beat 1 assigned to the bottom staff in two staff groups (piano notation) where the top staff only includes a whole rest are now assigned to a new layer in the top staff. Otherwise they would appear centered below the whole rest in the middle of the bar.
-Improved text expression placement on piano (two staff) groups with a whole note in one hand and several notes in the other hand.
-Improved placement of dynamics on beat 2, if the hairpin starts at the end of the previous measure and (accidentally) ends on beat 1 instead of beat 2
-In some cases improved horizontal placement of dynamic expressions on rests before very low notes
-Improved placement of dynamic expressions on very low notes in two staff groups (e.g. piano notation), if the bottom staff is empty.
-Improved detection of compound "fp" dynamics if these are created with two dynamics ("f"+"p").
-Improved placement of dynamics above the staff before the end of the bar or before very high notes
-Improved horizontal placement of instrument numbers (e.g. 1., 1.+2.) if a dynamic expression is on the same beat
-In very rare cases (especially some with multi-layer note entries) improved placement of dynamics with attached hairpins
-In somes cases improved vertical dynamics/hairpins alignment
-In somes cases improved horizontal dynamics/hairpins alignment


-Improved placement of hairpins ending with dynamics on beat 1, if beat 1 is a long rest
-One case of connected cresc./dim. hairpins with improved vertical alignment
-One more cases of handling hairpins going beyond the last visible measure added
-Finale's hairpin opening width and tuplet default settings are not optimized anymore when the score is only selected partially
-Improved connection of niente expressions to hairpins in one case (niente expression at end of measure, followed by a rest and a new dynamic on the next beat 1)
-Automatic removal of hairpin on empty measures now also works on 2-staff piano groups
-One 1-line staves one more case for not creating diagonal hairpins was added
-In some cases improved spacing for hairpins in dense measures
-Improved alignment of hairpins with dynamics if the measure only has one long note, a hairpin ending somewhere in the middle of the measure and the dynamic attached to beat 1, but visually attached to the ending of the hairpin.
-In one case of hairpins/tie collisions on hairpins that span at least three systems improved vertical placement of the hairpin on the final system
-If a hairpin continues on the next page, the staff on the second page has a different position, but still the hairpin has the identical vertical page position as on the first page, in some cases the vertical hairpin alignment on the second page has been improved.
-Improved hairpin metrics in case of staff styles that hide expressions
-In some cases improved snapping of hairpins to dynamics if the hairpin ends on beat 1 and the dynamics is on the next beat
-In some cases improved snapping of hairpins to dynamics if the dynamic is connected to a very long note (at least dotted whole note)
-If only a system is selected, then hairpins from the last (unselected) measure from the previous system are not changed anymore.
-In some cases improved hairpin placement on slur collisions where only the hairpin has a system break
-In some cases improved placement of hairpins before dynamics on very low notes
-In one case improved placement of hairpins in very stretched measures if the hairpin ends close to the dynamics.


-Improved placement of two parallel glissando lines that start on the same pitch, but end on two different notes.
-Glissando lines that were accidentally connected to two notes although they visually only refer to one note (i.e. a glissando from undetermined start note to the end note) are now better placed
-When multiple glissando lines are attached to a chord and some of them are visually attached to the wrong note, these glissando lines are now ignored (as it is unclear what the composer wanted).
-Glissando lines below/above the staff are better taken into account for staff collisions and text expression placement


-New option (Gold only): "Optimize Slur Settings" now has a suboption to "Optimize Slur System Break Settings".
-Improved support for detecting collisions on slurs that start and end on cross-staff notes
-Improved slur metrics on end notes of slurs that have multiple inside articulations

Other Smartshapes:

-Ottava smartshapes that start on a rest are not horizontally aligned anymore, but kept at their starting position
-Custom smartshapes after the final barline that are used for visual effects are kept as they are
-Improved horizontal placement of custom lines above the staff at the end of a measure
-Improved handling of smartshapes that internally end beyond the last visible measure
-Improved metrics of "dashed/solid line up/down" smartshapes that are set to "Make Horizontal"
-Custom smart lines that are directly on the staff lines (and not above) don't get a barline offset anymore when colliding with the right bar line.
-Improved placement of custom smart lines below the staff at the right barline


-If "Optimize Tie Settings" is activated, then tie settings are now only updated if the plug-in is applied to the full document.
-Cross staff notes are not retied over the middle of a bar if this will break a complex beam structure.
-New feature: If the "Tie End" flag is not set on the first beat of a (second or higher) repeat ending, then it will be set automatically if the last note in the last measure before the first repeat ending is tied (available in v3.0021).

Image 5: Tie End Flags

-Improved collision detection of backwards tied notes in repeat endings.
-L.V. ties are not removed on resized notes any more as these could be cue notes from other instruments
-L.V. ties are not removed on notes before slash or one-/two bar repeat notation staff styles
-The option "Ties->Re-tie Notes Only if First Tied Note Starts After Beat 1" is now deactivated by default
-New suboptions (in Gold only) for "Re-tie Notes Which Cross the Middle of the Bar":
a) "Re-tie if it Yields More Dotted Notes" (activated by default)
b) "Re-tie if it Yields More Short Dotted Notes" (deactivated by default)
c) "Re-tie Simple Patterns (max. 3 Notes)" (deactivated by default)
The "Re-tie Simple Patterns" does not refer to patterns where the note durations are only exchanged. I.e. even if the option is deactivated a half note tied with a quarter note is automaticall changed to a quarter note with a half note if the half note crossed the middle of the bar.
In compound time signatures it behaves the other way round: more dotted notes becomes less dotted notes.
In Perfect Layout Silver/Silver400 the default values always apply.

Image 6: Re-tie Note Options


-Improved collision detection on clefs that don't use the default clef font
-When only one staff in one system is selected, then the previous measure could be affected in music spacing if the selected system started a clef change - although it was a outside the selected region. Fixed now.

Page Texts:

-New feature: The bottom margin on the first page is automatically adjusted if otherwise text elements (e.g. copyright text) would collide after stretching the system(s) on the first page to the page margin (Option "Systems->Auto-Adjust Bottom Margin for Colliding Page Texts on Bottom of First Page")
-Better detection of page texts that are not assigned to a measure (but to a page) that are used as movement names
-Improved bottom page text element detection on the first page in parts and adjusting the page bottom margin, if the system neither have a "Bottom Margin" greather than 0 nor a "Distance Between Systems" value greater than 0.
-System dividers (as page text elements) in the score are now handled correctly if they are not not hidden in parts, but appear on hidden pages from a part which turn to visible pages through the plug-in processing and system respacing.
-Support for system dividers with different font sizes on each page: if each page has a different page scaling and uses system dividers with different font sizes, these system dividers now keep their original font size. However for a good score look it's usually not recommended to use a different page scaling and differently sized system dividers on each page.
-Measure texts in the middle of a score with a very high vertical offset (>200 EVPU) are only taken into account for vertical spacing, if the vertical offset minus the text height is below 200 EVPU.
-New Feature: Hidden measure-attached texts are now supported in JW Lua and RGP Lua

Tempo/Rehearsal Mark Expressions:

-In rare cases improved vertical placement of above staff text expressions (especially over chords)
-In some cases improved placement of tempo text expressions over hidden bow marks in the score.
-Tempo/rehearsal mark expressions on hidden staves that are visible in the score on the staff below (for whatever reason) are now taken correctly into account for staff spacing and alignment
-Improved placement of rehearsal marks in case of multiple collisions with stems, articulations and other expressions.
-If tempo/rehearsal marks have very different horizontal offsets in score and parts, then in some cases they will now have improved placement in the parts.
-Improved placement of rehearsal marks over barlines on tied upstem notes that cross the barline
-Improved vertical placement of two tempo/rehearsal mark text expressions in some cases
-In some cases improved horizontal placement of rehearsal/tempo expressions on beat 1 if the note has a slur from the previous measure
-Duplicate tempo/rehearsal expressions are not only detected and removed on the top staff, but also on other staves.
-In some cases improved placement of rehearsal marks on collisions with text repeat symbols
-Faster sorting of vertical text expression order
-In some cases rehearsal marks at the beginning of a system which starts with an over slur from the previous system get an improved vertical position
-Improved placement of rehearsal marks between two chord symbols
-Rehearsal/tempo mark expressions with chord symbols in the same measure, but without collisions are placed vertically better in some cases
-Improved placement of rehearsal marks over the barline that have a very low horizontal offset (below -200 EVPU)
-Improved vertical placement of multiple text expressions on the same measure position
-Improved placement of text expressions above barlines in some (rare) cases of multi-measure rests with measure ranges.
-Fixed: In very rare cases an error could occur when deciphering page text elements (this only occured once in an old score from Finale 2001 which also had other problems).

Measure Counting Expressions:

-New option "Restart Measure Counting on Time Signature Changes" added to the measure counting options (activated by default).
-Improved vertical placement of measure counting expressions of slash staff styles on 1-line staves.
-When only single measures or tiny regions were selected and slash or repeat staff styles were applied to large regions, then the measure counting feature is turned off to avoid wrong counting.
-If a one-bar staff style follows directly after a slash staff style (not good practice), then only one measure counting expression will be added (not two).

Other Expressions:

-Improved vertical placement of opaque Technique Text expressions
-In one case improved placement of Technique Text expressions on collision with a note with a flat accidental (no movement to the right, only downwards)
-New Feature:New option "Shift Expressions on Right Barline Collisions to the Left (If Enough Space and Only Rests Before)" (in Silver on the Alignment tab, in Gold on the Expressions tab). Technique text and other (non-tempo/rehearsal mark) expressions that are taken into account for vertical correction (i.e. "Snap Expressions to Symbols" activated) are shifted to the left if they would otherwise collide with the right barline. This is only done when there is sufficient space to the left and when there are only rests before the note where the expression is attached.
-Improved collision handling on technique text expressions that collide with multi-measure rest numbers
-In some cases improved placement of Expressive Text expressions in old Finale documents that use "Vertical Click Position" alignment
-Improved detection of multiple line expressions on expressions with hidden text
-Technique Text expressions that collide only collide a little bit with the barline or that are very short (4 letters) are now shifted before the barline if the barline collision feature is activated
-Corrupt (=empty) expression definitions are cleared and replaced with a valid expression with no text
-New option "Shift Expressions on Right Barline Collisions to the Left (If Enough Space and Only Rests Before)" (in Silver on the Alignment tab, in Gold on the Expressions tab). Technique text and other (non-tempo/rehearsal mark) expressions that are taken into account for vertical correction (i.e. "Snap Expressions to Symbols" activated) are shifted to the left if they would otherwise collide with the right barline. This is only done when there is sufficient space to the left and when there are only rests before the note where the expression is attached.
In Gold the distance to the barline is adjustable with the option "Expression to Barline Distance".
By default and in Silver the barline distance is set to 16 EVPU.

Image 7: Option "Shift Expressions on Right Barline Collisions to the Left"
-Improved handling of invalid/corrupt text expressions
-In some cases improved horizontal placement of technique text expressions on beat 1
-In some cases improved vertical alignment of technique text expressions before dynamics
-Improved handling of expressions in parts that are far, far away from their (0,0) original attachment point (like 1000 EVPU to the right and 500 EVPU to the top). These are kept where they are.
-Improved vertical/horizontal placement of bracket-only expressions (expressions that only have bracket symbols with space in between) that include another expression in its middle.
-Additional "5 staff line"-expressions for clef changes on 1-line staves at system end are not added anymore if the "Display Courtesy Clef at End of Staff System" option is deactivated.
-Improved cue text expression placement on two staff piano notation if the top staff is empty.
-Invalid expressions with the ID "-1" in a corrupt Finale document don't throw an error message anymore, but are deleted.
-Pedal expressions that collide with dynamics are now shifted below them if there are no other pedal expressions/articulations in that measure
-Resorted text expression creation in the code to reduce number of text expression definition accesses to make the code slightly faster
-Expressive text above the staff next to dynamics will vertically align better in some cases
-RGP Lua only: if the document uses niente hairpin expressions, but has no expressions with enclosures, you won't see a warning message anymore as RGP Lua can create new enclosures.


-Tuplet brackets are not put on the other side on very high/low notes if these include ties or slurs (in previous versions it was only slurs)
-New default setting for the "Put Tuplet Numbers on Notes Far Above the Staff on Top (And Vice Versa) and Add Brackets": it will add brackets if there are at least three ledger lines and the tuplet is not surrounded by small steps.
-The feature "Put Tuplet Numbers on Notes Far Above the Staff on Top (And Vice Versa) and Add Brackets" has been fine-tuned a little bit more. It now looks even more at the surrounding notes to decide whether tuplet brackets are to be added or not.
-Improved metrics on tuplets using the "Full Bracket Duration" option
-Improved calculation of tuplet brackets below notes in some cases
-In some cases improved placement of tuplet brackets over tied notes
-Tuplet brackets on slash notation are automatically set unvisible when the tuplet notes are hidden behind the slashes

Multi-Measure Rests:

-If the only element of a measure is a hidden rest and custom smart line, then the measure will not be consided for multi-measure rest creation anymore.
-Multi-measure rest numbers from the SMuFl range now have the correct vertical metrics.
-When only some measures were selected in a part which included a multi-measure rest with a dynamic expression (!) at the end of the system, then in some cases the dynamic would be shifted to the beginning of the system. Fixed now.
-In some cases of new multi-measure rest creation improved measure metrics


-Improved horizontal placement of text repeat symbols with inconsistent justification values
-Less collisions with repeat brackets in parts
-In some cases improved vertical placement of text repeat symbols from staff lists
-Fixed: When only a few measures were selected, an error could occur in some cases of repeat text definitions.

System/Staff Spacing:

-Vertical system/staff spacing reworked with many improvements
-Vertical staff/system spacing now supports scores where each page has different page heights, bottom or top page margins.
-Vertical system optimization now supports totally collapsed staves with a negative "Space Between Systems" value
-New feature: The option Systems->Adjust Top System Margin to Max. Position of Top Staff in Parts is not automatically activated by default anymore when there are page text elemens below the top page margin (which would then collide with the systems).
-New option "Alignment->Exclude Large or Far Away Text Expressions from Vertical Staff Alignment (unless FORCEINCLUDE added)". While in previous versions this feature was always activated, it's now possible to ALWAYS include these large or far away expressions in vertical spacing by deactivating this option. This is especially helpful for musical theatre/opera scores with lots of large text inserts.
When activated only those large/far away text expressions are included in spacing where the text FORCEINCLUDE has been added to the description field in the Expression Designer dialog (see FORCEINCLUDE and EXCLUDE command in "Quickstart: How to use").
-When activating/deactivating the "Optimize Staff/System Distances" on some scores you will now get a message to restart the plug-in, as some system processing may already have been performed before changing the feature (which can't be undone) or because some processing needs to be done before the main dialog of the plug-in. In that case just re-run the plug-in and confirm everything with "Ok". The settings from your plug-in setup have been saved before re-running the plug-in.
-Better automatic vertical staff spacing on scores with two systems per page: very large empty areas between the two systems are now automatically reduced if it looked better to give slightly more space to the staves.
-In some cases on piano notation there will now be larger vertical staff distances on very low hairpins between the staves.
-If the very last measure is a single coda measure, then it will not be automatically shifted at the end of the previous system.
-Vertical spacing between systems now also works correctly if a staff system uses huge negative "Distance Between Systems" values
-Improved vertical staff system spacing in some cases that use a very small page scaling (e.g. 10%) and a large staff system scaling (e.g. 170%).
-Small text elements attached to measures/staves, but vertically visible on other staves (because of high vertical offsets) are now better taken into account for vertical staff alignment
-Improved vertical spacing if a part has many completely empty systems (hidden with a staff style).
-Vertical staff/system optimization in parts now also works correctly if "Resize Vertical Space" was deactivated on the systems
-If the first page with systems in a part has a different (usually larger) page bottom margin than the following pages and "Systems->Align Page Bottom Margin with..." is set to the default value (Auto-Detect: Fixed/Lowest), then the last system on the first page will be aligned better with the page bottom margin.
-Improved vertical staff/system spacing in some cases of three systems per page with at least four staves
-Improved vertical staff distance on piano systems with cross staff notes when beams come very close to the upper staff.
-Improved vertical system spacing on parts with only few systems (that don't span the full page)
-Improved vertical system spacing if a two-staff system has both staves superimposed.
-Improved vertical spacing in some case of staves that are hidden in some systems
-Improved vertical spacing in some case of staves that are hidden in the score and used in parts only
-When coda systems in parts started with a multi-measure rest, then in some cases the systems were not shifted down. Fixed now.
-The "Shift Coda Systems Down" feature now also works in linked parts
-Improved detection of two staves at identical positions (on top of each other, e.g. in piano notation): in case of rounding problems these are now also detected if they have a +/-1 EVPU system distance.
-In some cases improved vertical staff spacing with hidden staves in the score
-When activating/deactivating the "Optimize Staff/System Distances" on some scores you will now get a message to restart the plug-in, as some system processing may already have been performed before changing the feature (which can't be undone) or because some processing needs to be done before the main dialog of the plug-in. In that case just re-run the plug-in and confirm everything with "Ok". The settings from your plug-in setup have been saved before re-running the plug-in.
-In vertical staff/system spacing the last system on a page is not moved to the next page anymore (which could happen only in very rare cases, especially cases when the staff height in a system was not at 100% in parts).
-Improved detection of "two staff groups" (e.g. piano notation)
-In some cases slightly faster vertical system spacing in parts
-Fixed: When running the system/staff optimization only one some pages (and not all pages), then in some cases the bottom staff wasn't accurately placed according to the selected "Align Page Bottom Margin with" setting.
-Fixed: When "Optimize Staff Systems" was deactivated and the average staff system bottom margin was above 220 EVPU, then in some cases the staff system layout was still affected by PL.


-New Feature: "Empty" note shape modifications (i.e. where no features are activated) are deleted
-Improved rest metrics in some multi-voice scenarios
-Improved metrics calculation of the inner side of beams
-Improved detection of unnecessary freeze stem flags under tuplets and under slurs
-In some cases improved horizontal placement of unison notes on two layers

Note/Measure Spacing:

-New feature: Horizontal collision removal of dotted stem-up notes colliding with stem-down notes one second below.

Image 8: Dotted Note Collisions

-Improved measure spacing in measure 1 if the staff default clef is different than the actual clef and measure 2 is empty.
-Improved measure spacing on wide text expressions when a multi-measure rest follows in the next measure and the expressions collides with text expression in the measure after the multi-measure.
-Improved metric calculation of whole note chords
-Improved note spacing on multiple note layers in percussion notation


-New Gold option for rest optimization: "Keep Beamed 16th Note / 8th Rest / 16th Note Pattern" (see Gould, Behind Bars p.163). In the Silver version this feature is activated by default.
-New option "Also Optimize Rests on Dashed Barlines, Ticks or No Barlines at All" (deactivated by default). If activated, then rest optimization is also performed on measures with dashed barlines, ticks or without barlines.
-Rest optimization now supports more composite time signatures that are usually written in a more simple way, e.g. (3+3/8)=6/8
-In one case improved rest splitting on tuplets

Staff Properties/Staff Styles:

-Detection of hidden notes when the staff settings (not the staff style settings) are set to use slash notation
-Improved detection of alternate notation staves that don't use staff styles
-New option "Also Add Double Barline If More Than One Key Signature Changes are Found" added. In previous version Finale's "Double Barline Preceding Key Signature Changes" was automatically activated when exactly one key signature change was found. Now it's also possible to activate it automatically when multiple key signature changes were found (Deactivated by default).

Time Signatures:

-Support for fractional time signatures: If irrational time signatures are used (e.g. 0.375/1), Perfect Layout doesn't crash anymore. Note: JW Lua can't read these time signatures, so please don't use them. For 0.375/1 write 3/8.
-If the current staff is the bottom staff of the staff system, large time signatures are now also taken into account for vertical spacing if they are attached to the previous or the penultimate staff, but have their bottom margin below the current staff
-Support for 0/4 as "Display Time Signature"
-Fixed: The plug-in doesn't crash anymore on composite fractional time signatures including a "+" sign (e.g. (4+0.5)/4).


-Improved font metrics if a font has kerning tables with multiple sub tables
-More music fonts are automatically recognized by Perfect Layout
-Added better font file name support for some music fonts (i.e. detection of the font instead of weird file names)
-Improved log message on font annotation file creation
-Exponential hairpin symbols are now also supported from the music fonts: Norfolk Special Std, Opus Special, Opus Special Std
-Support for Scherzo/Scherzo Std fonts
-Updated font database (few additions to the new Finale SMuFl fonts)
-Improved font detection on fonts using "-Roman" as name extension
-Improved .otf font detection on macOS and Windows
-Windows: The font annotation file is now also included for the optional Bach font
-Windows: In rare cases Perfect Layout didn't recognize Node.js as the Node.js environment variable was not set correctly. The new installer now sets the environment variable and doesn't depend on the Node.js feature anymore.

New Installer on Windows

The Windows installer has been completely rewritten and uses a new installer system.
The plug-in registration and activation is now the same as on macOS:
it's done directly in the plug-in and not in the installer anymore.
It's also possible to quickly deactivate the plug-in on the General tab of the plug-in.
Reactivation only takes a few seconds. You just to need to run the plug-in again (see this tutorial video).

Like on macOS it's now possible to run the installer again and again. It will overwrite the current installation and thus make it easy to install updates.
Of course, the quick "self-update" of the plug-in is still available too.
Note: you need internet access when running the plug-in for checking/registering the license.


-New feature: Spanish has been officially added to the supported user dialog languages

-The Silver edition now also has the "Bypass Empty Staves" option on the General tab which can speed up the processing time in some cases. By default this is activated.
-Improved log messages
-Improved support for mirror measures: in some cases wrong note metrics were calculated. In general it's not recommended to use mirror measures in Finale.
-Improved warning message about a missing internet connection. The warning messages now mentions that sometimes the firewall prevents access to the internet.
-Running the plug-in on a non-selected region means that the plug-in will process the full document. In extremely rare cases (like errors in other Finale plug-ins directly before running Perfect Layout) Perfect Layout did nothing as it thought nothing at all should be processed. Fixed now.
-Added a detailed list of Finale document options that change through Perfect Layout (https://elbsound.studio/perfect-layout/optimize.php#go-to-optimize8)
-"Invalid slur" message is not shown in the log anymore if only a partial region was selected and the slur was partially attached to a measure outside the selected region
-Warning message added when many staves from measure 1 to the last measure are selected, but not all: was this intended or should it have been the selection of the full document?
-Improved detection of "full score selected"
As some features of Perfect Layout only work if the full document is selected and some users have accidentally selected the visible staves only, the warning message should help to avoid this problem.
-The warning message in the log file "Text repeat element in measure 54 is set to left justification, but currently (nearly) aligned with the right barline." (and vice versa with left) is not shown anymore on staves where the text repeat element is hidden because of a text repeat stafflist.
-Improved support for hybrid SMuFl/non-SMuFl fonts (e.g. November2, Aruvarb) in Finale 27.
-The "Download Updates" page on the Elbsound.studio website now automatically detects the operating system
-Windows: The automatic update now makes sure that the downloaded user language files don't conflict with Windows' virtual store feature.
-Support for scores where the top staff is hidden and used in the parts only (in previous editions Perfect Layout issued a warning message and cancelled the processing)
-Updated PDF manual
-The Safari/macOS browser appended a .txt file ending when downloading the additional .lua files from the homepage. Fixed now.
-Some browsers automatically appended a .zip file extension to the .exe installer.
-Translation improved in the registration dialog: in non-English languages some English words occured.
-Improved Italian translation
-Improved support for preventing the "QXPScriptingAddition.osax" error on some older maOS installations.
-macOS: The quickstart tutorial in the browser only pops up at the end of the installation when the plug-in is installed for the first time.
-Making Perfect Layout compatible with RGP Lua (Part 1): changing dialog styles
-Making Perfect Layout compatible with RGP Lua (Part 2): Fin25/Fin26 version number corrections, changing dialog styles, updating articulation functions
-Making Perfect Layout compatible with RGP Lua (Part 3): articulation metrics and tie setting fixes
-Making Perfect Layout compatible with RGP Lua (Part 4): solving more issues with articulations in RGP Lua/Fin26+
-Making Perfect Layout compatible with RGP Lua (Part 5): Improved compatibility with RGP Lua on grace notes with articulations
-Making Perfect Layout compatible with RGP Lua (Part 6): The "Stack Automatically" option is now detected in JW Lua.

System requirements:

  • Finale® 2014, 2014.5, v25, v26, v27 for 64bit Windows 7, 8, 10, 11 or MacOS (tested in 10.13 - 12.x, according to some users also working in 10.11/10.12)
  • Minimum 4 GB RAM, for huge orchestra scores exceeding about 20.000 frame assignments 8-12 GB RAM and Finale® v25, v26 or v27 are required, otherwise the plug-in may run out of memory.
  • About 150 MB of free hard drive space, plus space for the font annotation files dependent on the number of fonts that are installed
  • For the installation/(de-)activation you need a user with administration rights
  • Internet connection during the installation and update process, and an email address to receive the activation code or an installed email program to request the activation code.
  • MacOS (v2.x+) and Windows (v3.x+): an internet connection is required during the processing of the plug-in for checking the activation
  • MacOS only: You need to give system permission to use the Terminal app and System Events for displaying the plug-in's progress bar (optional)
  • Windows only: Powershell must be installed (it is installed by default on Windows unless the user has removed it manually)
  • The faster the processor speed, the faster the plug-in (see this comparison). The plug-in is single-threaded, so multiple cores do not speed up the processing.
  • Data Privacy: For the activation and license validation of the software some data will be stored on our servers. For more info read Data Privacy at Elbsound.studio and the EULA