Quickstart: Thanks a lot for installing the Perfect Layout plug-in.
How to Use Perfect Layout
PLEASE READ THIS TUTORIAL.If you use the plug-in for the first time and are curious about how your old Finale® documents will look with the plug-in, don't grab a manually optimized document from your archive, but take a raw and unoptimized older version of the document instead. If you don't archive these, you may find some in your Finale® automatic backup folder.Already manually optimized documents will sure get some optimizations through the plug-in, but other manual movements might be removed or solved differently.
THERE ARE CRITICAL OPTIONS TO CHOOSE THAT THE PLUGIN CANNOT CHECK ITSELF.
The power and time-saving element of Perfect Layout lies in processing completely unoptimized documents.
We recommend testing the plug-in on the first run with the "Perfect Layout demo file" as this is an unoptimized, short and complex test file which also creates all necessary font metrics files.By default it is stored in
c:\program files (x86)\Elbsound.studio\Perfect Layout\Docs and Test Files\ES Perfect Layout Demo.musx
Manual and User Dialog Settings This is still the v1.1 manual, the v1.2 manual will published soon.
The complete manual which includes all web pages is available here. There are also some international editions of the manual.
Note: These were translated automatically from the English version and only give a rough translation of the full content. But hopefully it is fully understable.
If you have any suggestions for "automatic improvements" (like word ABC is always translated wrong and could be easily replaced by another word), please let us know.
English PDF or as web page
French PDF or as web page
German PDF or as web page
Italian PDF or as web page
Polish PDF or as web page
Spanish PDF or as web page
User Dialog TabsYou can click on the tabs (see red mark) to navigate through this online help system.
If you work in a different metrics system, the plug-in will show converted values according to your selected system.
Unfortunately these values cannot directly be read through the plug-in, so you may have to adjust them manually.
You can ignore this tab if ...
(1) ... your document uses Finale's default slur contour settings (this is usually the case)
(2) ... your score doesn't use shape articulations for trills (e.g. a trill combined with an accidental as a shape articulation)
If you haven't changed these settings - most users probably haven't -, skip this step.Unfortunately the Perfect Layout plugin currently can't read these values automatically.
To get the settings open SmartShape->Slur Contour and write down the Height and Inset settings for all four span widths (short, mediumm, long, extra long).
Then run the plug-in and enter these values by clicking on the "Enter Slur Settings from SmartShape->Slur Contour" button.
These values will automatically be saved in your plug-in .ini file and only need to be entered again when they change.
In most cases users don't have to change anything here.
These articulations currently are not detected automatically.
If you don't use shape articulations, skip this step and just leave the fields as they are.
Optimize Finale's Defaults
The plug-in can update Finale's settings for slurs, ties, hairpins, tuplets and spacing.
Slur values are only updated in the Smart Shape Options menu, not in the Placement or Contour menu.
These values are hard-coded in the plug-in and result from many years of Finale® expertise.
Still it's possible that they don't fit your personal needs, so you can switch off these settings individually. As JW Lua doesn't allow slur modification, it's also possible that some slurs still have little collisions with notes as there are no all-purpose settings for slurs.
For better readability it is recommended to have different values for each type. The plug-in will apply these thicknesses:
Stem Line: 2,65 EVPU
Staff Line: 2,96 EVPU
Ledger Line: 4,00 EVPU
(Thin) Bar Line: 3,82 EVPU
For better quality the plug-in will also set the Curves Resolution to 127 (from Document Options->Lines and Curves).
The "Double barline preceding key changes" feature will also be enabled automatically.
It's currently not implemented to switch off these features.
The default placement for tuplets is the stem side.
But there are situations where it makes more sense to place them via the "Above" or "Below" method.
In order not to overwrite these above/below tuplets with the default settings, the option "Copy Default Settings Also on Explicit 'Above' or 'Below' Tuplets" is unchecked by default.
If many alternating, complex or ambiguous time signatures are used, it is also possible to turn off "Optimize Rests".
Consolidated rests (i.e. rests in multiple layers that are merged to one visible rest) are by default excluded from the rest optimization algorithm (Option: "Exclude Consolidated Rests from Rest Optimization").
The "Force consolidated rests" option creates consolidated rests if non-consolidated rests are in the score. This is especially interesting on MusicXML imported documents as they don't conserve Finale's consolidated rests feature. If the plug-in detects a MusicXML imported document, this feature is automatically activated in the user dialog and needs to be deactivated manually, if unwanted.
You can force a full respacing by checking "Always Apply Music (Re-)Spacing to Full Document Before Processing".
This option makes sense if the part layout is still "raw" and multi-measure rests haven't been created either.
If you have applied music spacing to the document or if "Automatic Music Spacing" in Finale's preferences had been switched on (it must be switched off before running the plugin! See here), you don't need to check this option.
By default it's unchecked.
If chord symbols are found and there is at least one measure with three chords or an overlapping of chords is very likely (e.g. chords at end of measure or wide chord suffices), a (re-)spacing is always performed, when the option "Always Respace If Chords Found" is selected.
When the spacing settings are optimized, a (Re-)spacing is only applied to the document if "Force Full Document Respace If Major Spacing Settings Change" is checked.
It is selected by default.
Other situations where the spacing may change are described in the overview.
The baseline position is the vertical offset from the middle of the staff lines.
This will update the placement and alignment of all existing expressions. Expressions from other categories will be corrected, so that they stay at the original position.
While the "Below Staff Baseline Position" affects expressive text and dynamics expressions, the "Above Staff Baseline" mainly affects tempo marks, rehearsal marks and tempo alterations.
For the Perfect Layout plugin the baseline always means the closest position to the staff line. If there is a collision, the expression will be horizontally or vertically shifted, but never closer to the staff.
There is only one exception: dynamics are shifted slightly closer to the staff, if the "Shift Dyn. Expressions Up If Lowest Element is Staff Line" is selected in the "Express." tab.
Usually the plug-in first removes any manual adjustments, then looks for collisions and, should it detect any, moves the expression away from the colliding object.
If the horizontal offsets of the expressions are huge, then it is unlikely that a clear zero position was intended by the engraver. In this case manual (horizontal) adjustments are not removed.
The thresholds for "huge offsets" can be set in "Reset Horizontal Position of Dynamics Until Maximum Horizontal Offset" and "dito., Max. Horizontal Resset Offset for Whole or Dotted Notes".
Dynamic expressions in staves with lyrics are very often placed above the staff, these are currently not taken into account for alignment.
The option "Reset Vertical Position of Dynamics and Expressive Text on Notes With Lyrics" is switched off by default. If selected, dynamics above the staff will suddenly appear below the staff line if they were taken from the default dynamics category and it is still set to below baseline.
Some expressions usually only appear in the parts, to not mess up the conductor's score. These expressions must be placed in a user-defined category containing the keywords defined in "Hide Expressions in Score with Category Keyword(s)".
E.g. if you name the expression category "In Parts Only" and enter the keywords "part,only", then the plug-in will hide all expressions from categories with names that includes these keywords.
Image 1: Category "In Parts Only"
It is highly recommended to keep the option "Reset Vertical Position of Note Articulations, Fermatas, Bows and Ornaments" selected.
Only recognized articulations are reset, i.e. shape articulations or articulations with unknown music symbols are not reset, except for those shape articulations that are explicitly defined in the Perfect Layout settings (e.g. up/down bow shape articulation).
Articulations that are usually aligned manually (e.g. arpeggio) are not reset by default (see option "Also on 'Position: Manually' Articulations").
Certain articulations can be automatically hidden in the score. This might make sense for bow marks, breath mark commas or certain shape articulations (e.g. brass fingering).
These can be selected in "Hide These Articulations in Score Only".
By default, only bow marks are selected.
This helps detecting wrong notes in playback or even wrong ties.
If the tie was correct, it also looked correct without the extra accidental. But if the accidental is revealed by the plugin, it will look wrong.
This option is more important if you work with playback. It is not recommended to use it, if you work without playback.
Image 2: Left: Original, Right: Hidden accidental revealed
By default manual slur adjustments are removed, while manual curve adjustments are not because they are very often "hand-made" to illustrate a more complex behaviour.
The option "Move Single Pitch Notes on One-Line Percussion Staves Onto Staff Line" is required for 1-line percussion staves where the notes are not centered on the staff line.This occurs from time to time in older documents or when imported through MusicXML.
This feature only becomes active when only one pitch ("Single pitch") is used throughout the staff. It will not do anything for example to two-note conga or bongo staves.
But there are, of course, scenarios where this option should better be switched off (especially in contemporary notation).
Image 3: Left: Original, Right: Start position set to horizontal offset 0.
Image 4: Left: Original, Right: After vertical reset
If this option is unchecked, the multi-measure rest style will not be changed.
The number of empty bars for hiding/showing measure ranges can be set twice:
a.) Absolute: "Always Hide Measure Range If Less Than X MMRest Bars". By default it's set to 3.
b.) Relative: "Hide Measure Range If Less than X Adjacent MMRest bars" also takes into account measures before and after this multi-measure rest. By default this is set to 10.
For example two multi-measure rests of 3 and 8 measures each will show the range (3+8=11), but a single 8 measure MMRest will not show the range (see image 1).
The measure range can be activated by selecting "Show Measure Number Range on MM Rests", but it currently can't be hidden if it is already visible.
Image 1: Adaptive Measure Range Visibility on Multi-Measure Rests: Visible if at least 10 adjacent measures and after double bar lines.
The sub-option "dito., But Only If No Notes Follow Until End" allows to hide tempo alterations at the end of the file if no notes follow until end. This is usually "safe" for the player.
This sub-option is activated by default.
Image 2: Some Multi-Measure Rest Settings
Alternatively Finale splits the multi-measure rest and adds an extra empty measure with the tempo mark.While this may be more clear in some cases, it might be easier to read if the symbol was visible at the end of the multi-measure rest (see image 3 last line).To activate this feature select "Show Right-Aligned Tempo Marks on MMRests".
Make sure the expressions are right-aligned, attached near the end of the measure and are set to "Break MM Rest".
Image 3: Tempo Marks at the End of Multi-Measure Rests
The Perfect Layout plugin offers to show the chords on all staves in the score, or on one or on two (Option: "Show Chords in Score Only on Staff").
This only affects the score. In the parts all chord symbols will be visible.
By default Finale® chords have a horizontal offset of 12 EVPU. This can be changed to any value ("Set All Chords to Horizontal Pos X").Changing this value might improve the look on handwritten/jazz fonts which otherwise might have an odd offset.
If the part doesn't have a page text object with the part name, the group name will not be hidden.
The plugin makes sure that these groups don't interfere with other groups or other group brackets and in doubt it won't add a bracket.
It usually looks better if only placed on the top staff or only few staves. The "Show Repeat Brackets and Texts" option solves this.
a.) Align each expressions individually (closest to the staff)
b.) Align all expressions per system on the best fitting line (above all other objects)
c.) Align all text expressions on the best fitting line, but keep rehearsal marks close to the staff (Option "Per System/Skip Rehearsal Marks")
This option can selected differently for the score and the parts.
Individual alignment gives more vertical space for other objects and works better in narrow part pages.Alignment per system is usually better readable, but requires more space.
Top (a): Individual alignment (close to the note/staff)
Middle (b): Alignment on the best fitting line
Bottom (c): Alignment of the text expressions. Rehearsal marks are close to the notes/staff.
An "Extra Vertical Collision Offset" can be set here (Default: 5 EVPU). This value is added to all vertical offsets on the expression, articulation and hairpin tab and makes it easier to generally increase the vertical distances of two objects. Don't forget to also adjust the "Below Staff Baseline Position" and/or the "Vertical Entry Offset" on the "Optimize" tab in order to adjust the general placement of dynamics and expressive text.
The Silver edition allows six predefined values (-3, 0, 5, 10, 15 or 20 EVPU), while the Gold edition is fully flexible.
Image 2: Extra Vertical Collision Offset: -2, +5 and +15 EVPU
The "Harmonize Offsets and Aligment of Rehearsal and Tempo Marks" option harmonizes the offsets in the Rehearsal Marks, Tempo Marks and Tempo Alteration categories which improves their horizontal and vertical alignment.
The overall vertical alignment of hairpins, dynamics and expressive text on a system is done in a complex algorithm which takes into account many vertical and horizontal positions and distances and tries to create a visually balanced and pleasing look.
The options for the algorithm are:
a.) Vertically Align Dynamic Expressions Only If Connected by Hairpins: self-explanatory (see image 3 below)
b.) Smoothen Vertical Alignment of Hairpins and Dynamic Expressions: If selected, the vertical alignment algorithm is run twice. This usually leads to more hairpins and dynamics being on the same vertical position and thus look smoother.
In the parts where there is usually more vertical space available and where readability is much improved by dynamics and hairpins being on the same vertical position, it makes sense to align close dynamics also if unconnected and to smoothen the vertical alignment.
In the score these options usually are selected the other way round. These are also the default settings.
Single dynamics on very low notes are usually not taken into account for overall vertical alignment (see the fff and the ff in image 2 above).
Top: All dynamics are aligned, also if unconnected.
Bottom: Only those dynamics are aligned that are connected by a hairpin.
The Perfect Layout offers vertically staff-centered alignment of dynamics and hairpins in combination with automatic best staff distance calculation.
To activate this feature check "Center Dynamics and Hairpins Between Two-Staff Groups".
The feature is still in beta state, but already delivers very good results most of the time - even if there is not much vertical space available.
Don't forget to uncheck "Hide Measure Numbers" in the rehearsal mark expression to actually see measure numbers next to rehearsal marks.
To fine-tune the placement of measure numbers, you can also change the horizontal and vertical offsets at system start manually. By default these values are created automatically ("Automatically Set Measure Number Offsets at Start of System").
To avoid collisions with group brackets, you can check "Extra Vertical Offset for Curved Group Brackets". It moves measure numbers on top of a group bracket slightly upwards and below the bracket slightly downwards.
Image 4: Extra vertical offset for curved group brackets
In general it is recommended to use narrow fonts for measure numbers at system start (e.g. Arial Narrow) - especially when the piece has more than 100 measures (i.e. 3 digits).
Other recommended fonts for measure numbers are available here: serif and sans serif fonts.
Here are some of the options:
1: Reh.Mark: Left Edge, Left-Aligned / Measure Number: Left Edge, Left-Aligned, Above
2: Reh.Mark: Left Edge, Centered / Measure Number: Centered over Clef
3: Reh.Mark: Centered over Clef / Measure Number: Left Edge, Right-Aligned, Below
4: Reh.Mark: Centered over Time-Signature / Measure Number: Centered over Clef
Other options are "At Music Start" and "After Time Signature".
Unfortunately the JW Lua plug-in interface doesn't support creating new staff baselines for lyrics.
So if a Finale document doesn't have any manually adjusted staff baseline for lyrics, the alignment won't work.
Here is the description what you have to do before running the plug-in.
The available distance options are:
Vertical Distance to Lowest Note
Vertical Distance Between Multiple Lyrics Lines
Extra Distance to Bottom Staff Line (if all notes are only above the bottom staff line)
The lyrics alignment is rather limited. It only takes into account the note bottom positions (including articulation) and fixed offset if a note has a slur.The exact slur data is currently not taken into account which might lead to collisions.
Image 6: Automatic Multi-Verse Alignment with the Perfect Layout Plugin
Tuplet brackets on lyric staves are automatically moved on top of the staff to avoid collisions (measure 1).
In the last measure the slur collision is removed, but the distance to the slur is slightly too small which is a result of the fixed slur offset. This will be fixed in a future release.
Layers and Cues
The option "Remove Unnecessary Use of Layers 2-4" is checked by default.
If no cue notes were found, then these options ("Dedicated Cue Note/Lyrics Layer") cannot be set.
The plug-in processes cue texts created with Finale's "Add Cue Notes" plug-in like "Fl." or "Trb.1" if they are placed in a dedicated expression category. To detect this expression category it looks if the category names include the keyword listed in the option "Keyword for Categories with Cue Expressions" (set to "cue" by default).
Image 1: Cue expressions category
If the option "Scale Cue Expression with Note Entry" is selected, then the cue expression will get be reduced like the note entry (activated by default).
The same goes for Finale®'s other default categories:
1.) Dynamics/Niente Circle: Keep dynamics only in a category with the keyword "Dynamics" (or Dynamik or dynamiques or dinamiche from the international editions of Finale). It's also possible to combine words like "Percussion dynamics" or "Above Staff Dynamics" - as long as the main keyword is found.
2.) Expressive Text: Expressive text expressions are partially taken into account in alignment. Especially in combination with dynamics or hairpins on the same measure position the expression will be aligned horizontally and/or vertically.
3.) Rehearsal Marks/Tempo Marks/Tempo Alterations: Elements in these categories are taken into account for vertical and horizontal alignment above the staff. Rehearsal Marks can also be placed at different positions at the beginning of a staff (see alignment tab).
4.) Technique Text: Expressions in this category are not vertically/horizontally aligned!
5.) "Cue"-Keyword (user-defined): see Layer/Cues tab.
6.) "In Parts Only"-Keyword (user-defined): see Reset/Hide tab.
If you use expressions with numbers only, the plug-in can move them into the Rehearsal Marks category, if these options are checked.Numbers with rectangular expressions can be automatically moved (Option "Move Number Expressions with Non-Circular Enclosure to Rehearsal Mark Category"). Numbers with circular enclosures are typically fingerings and will not be moved automatically.
Measure number expressions can also be moved automatically: the plug-in compares the expression number with the measure that the expression is used in and if it fits, it will be moved (Option "Move Measure Number Expressions to Rehearsal Marks Category").
For best alignment use as less expressions in one measure position as possible.
E.g. "più f" or "pp sub." should be a single expression. The horizontal alignment (not centered as in standard dynamics, but left- or right-aligned) is automatically applied in these cases.
The same goes for tempo marks and rehearsal texts:
If you have for example the four above staff lines "M" (=Letter M), "Andante", "q=100" and "Verse" don't use four expressions on top of each other, but only two: use the rehearsal mark M plus a single expression for the text.
The Perfect Layout plug-in has a few cases where multiple expressions are aligned correctly, but it becomes difficult if it is more than two of the same type.
If you have imported a document through MusicXML, it performs an automatic category assignment if the whole score is processed with the Perfect Layout plug-in:If the plug-in detects typical keywords, it suggests to move the expressions to the corresponding category.
This works very good with dynamic expressions and also with a few standard expressions from the other categories. But especially if you use less common or foreign texts, the automatic category detection does not work.In this case it is important that you move the expressions to the correct category before applying the plug-in. Otherwise not all features will work.
Usually the opaque feature is not required for rehearsal marks after applying Perfect Layout, as the plug-in will remove all collisions anyway.Nevertheless it's possible to fine-tune this feature by the selection list which includes
"Remove If Most Expressions Are Opaque" and
To optimize the look some dynamic symbols (mf, sf, rf, f) can get reduced offsets which better fits their skyline.
Image 1a (Left) Ouside Slur Articulation, 1b (Right) Inside Slur Articulation
On tuplet brackets it's possible to automatically place ornament articulations outside tuplet brackets (Option: "Place Ornaments Ouside Tuplet Brackets").
While standard note articulations (staccato, accent, dot, tenuto, etc.) are automatically placed inside the tuplet bracket, fermatas and bow marks are automatically placed outside.
Image 2: Before and after the Perfect Layout plug-in (ornaments outside tuplet brackets)
You can select a connectiona) to measure position 0 in the next measure or
b) to the end of the previous measure.
Solution a) is optimized for playback, but has the drawback that hairpins over systems can't be separated from the end of system barline.
Solution b) is visually optimized, but doesn't work fully optimized with Finale's cresc./diminuendo playback.
In solution b) the hairpins ALWAYS end before the barline.
If solution a) is selected, it's possible to specify where the hairpins should visually end: to avoid/allow collisions with the barline.
This selection can be made for the parts, for the score and for piano (two staff) groups.
Image 1 lists a view options.
Image 1: The hairpin connection options
Option: "Move Hairpins on Dynamics with Express. Text After Dynamics/After Expressive Text".
Expressive text expressions that start somewhere in the middle of the hairpin are moved below the hairpin (e.g. "molto" in image 3).
Image 2: The hairpin connection options
Image 3: Hairpin and "molto" text (with end hairpin before barline option)
Image 4: A gap between connected or overlapping hairpins is automatically inserted (width: 33 EVPU by default)
(Note: the niente circle has been automatically shifted to the end of the note)
It's also possible to only keep it, if it is connected to a final dynamic expression (image 5c).
The same option is available for start notes.
Image 5: Hairpins and rests at the end
For niente hairpins create an expression in the Dynamics category and use an O, 0, o, ° from a text font or an 0 or o from any of the supported music fonts as the symbol.Make sure to activate the "Enclosure" property. You don't need to fine-tune the enclosure - the plug-in will do this for you (but unfortunately JW Lua doesn't allow the activation of the Enclosure field, so this needs to be done manually).The opaque enclosure is required to make sure that there is no tip of the hairpin visible after the niente.
Instead of the "o" symbol you can also use the music symbol "n" or the text "niente" or "quasi niente".
For exponential hairpins the symbols from the November2 and the DSE Music Symbols fonts are supported. Again create an expression with these symbols and place it in the Dynamics category.
This video shows how it looks in the score:
Video: Exponential and Niente Hairpins
In contemporary notation however there may be situations where hairpins should occur in "empty" measures, especially if it's a graphical or other note-less notation.In this case you should uncheck "Shorten Right End of Hairpins If They End On An Empty Measure".
In the Silver Edition this option is on the "Alignment" tab.
Image 6: Hairpin start and end points after applying the plug-in (with end hairpin before barline option)
If the start/end of the hairpin is further away from the next note, it depends on the context whether the plug-in snaps the hairpin to the closest note.Only if the plug-in is sure that this is what was originally intended and if "Allow Snap To Closest Note, Rest or End of Measure" is checked, then it might snap.
The plug-in takes into account the horizontal distance between the objects, dynamics and also hairpins on other staves in the same measure, so that, if possible, all hairpin are treated equally.
In doubt the hairpin will not be changed. So when entering the hairpin, it is best to not create ambiguous layouts as in image 7.
Image 7: Where should the hairpin end on the left image? On beat 3, 4 or even on beat 1 of the next measure?
On the right image it's obvious.
Note: Finale has a problem with the end of the closed side of a hairpin on screen which doesn't match the end position of the hairpin in print (PDF or paper).The plug-in takes this into account and always calculates the offsets for print only. I.e. should there still be a collision of a hairpin with a dynamic on-screen, do a print to PDF or paper first to check if it isn't that bug.
Only in very rare cases the plug-in doesn't solve this bug.
a) the vertical position of a hairpin in relation to a connected dynamic is set in "Center of Dyn. Expression" (13 EVPU by default on a hairpin opening width of 28 EVPU).
Image 8: Vertical relation of hairpin and dynamics
b) On very low notes it's possible to have hairpins closer to slurs and ties to save space (Option: "Slur/Tie (Very Low Notes)").
The threshold for very low notes is set in the field below ("Very Low Note Threshold", 80 EVPU by default, i.e. ca. 3 ledger lines below the staff).
Image 9: Hairpins on very low notes can have smaller distances
Image 1a (Left): Original; 1b (Right): Slur Prolongation
Case 1b) is standard notation in most cases. Exceptions which should not be prolonged are for example string staves with very many tied notes or guitar staves where the legato slur might be mixed up with a hammer-on/pull-off slur.These exceptions are deactivated by default.
Notes tied over many measures or with many ties should not be prolonged either. The default maximum span is three measures or three ties (Option: "Only If Tied Measure Span and Number of Ties is Less or Equal than X Measures").
Image 2a (Left): Original; 2b (Right): Open Tie Removed
Usually glissandi are note-attached smartshapes or tab slides.
By selecting "Handle Solid Lines as Glissando" or "Handle Dashed Lines As Glissando" it's also possible to use measure-attached smartshapes as glissandi.
As this option is unselected by default, it's not available in the Silver edition.
Note: If selected, the algorithm currently assumes that all solid and/or dashed lines are glissandi. So use with caution.
Otherwise for example dashed crescendo lines might be turned into a vertical glissando line.
Measure Counting Measure counting expressions are shown by default on one-bar repeat and slash style measures if there are at least three adjacent measures of the same style (see image 2).Repeat brackets are automatically taken into account (see image 1). In second endings the counting restarts by 1.You can select to show them on "All Staves" or on "Percussion Staves Only".
It's also possible to show the numbers only every xth measure.
The minimum number of repeat/slash measures to show the measure counting can also be set in "Minimum Number of Repeat/Slash Measures to Show Counting".
Measure counting can be hidden in the score ("Show Measure Counting Expressions in Score"). They are hidden by default.
Or measure counting can be deactivated completely (Uncheck "Add Measure Counting Expressions").
In the first measure of a new counting region, you can additionally show the range. ("Show Measure Counting Range in First Measure").
Image 1: Slash measure counting
Image 2: One-bar repeat measure counting
This algorithm is currently only applied to the score (not to the parts). But if the score actually is a part (i.e. a single staff), then it will also be applied, but in a less sophisticated way (full page span and non-collision only, but not fully visually balanced).
Porting this function to the parts will be a major task for future updates.
Image 1: The score balancing algorithm on an overstuffed page
The algorithm works on overstuffed pages as well as on pages with lots of free space.The plug-in starts by creating the maximum condensed score and then inserts space for a good visual balance.
If there is way too much space, it won't stretch the page until the bottom page margin, but keep a portion free at the bottom of the page.
In general you should always get good results with the default score balancing settings of the plug-in. Should you not be happy with the result or would like to have access to more spacing parameters which are currently hidden to the user, please contact our support team: we might fine-tune our default settings for the future.
The current options for vertical spacing are:
a.) Max. Distance between Staves (Default: 470 EVPU)
Usually you will not get this distance between two staves as probably your page will not have that much space. But in case that there is so much space it will be limited to 470 EVPUs, unless only "a bit more" is required to fill the full page.
b.) Standard Distance Between Two-Staff Groups (Default: 280 EVPU)
If there is for example a piano part on the staff system, it should not have a distance of 470 EVPU as the other single staves. Instead they should be aligned a bit tighter. 280 EVPU has proved to be a good value for typical piano or harp staves.
c.) Multiple systems on a page are automatically spaced too. The extra space that is added between staves and/or systems can be controlled via the "Staff/System Distance" slider.The more you move the slider to the right the more space is inserted between staff systems.
d.)The extra space for groups within a system is controlled via the "Extra Distance Before/After Staff Groups" slider.
The more you move the slider to the right the more extra space is inserted before and after groups.
By default these sliders are set to auto-detection: an algorithm automatically sets good default spacing values for standard score types like single staff, piano, piano + solo, duo, piano + duo, small ensemble or large ensemble.
e.) Reserve Distance Between Top and Bottom System Margin (Default: 120 EVPU)
After the score balancing algorithm the bottom system margin will be reduced by this value to allow easy manual shifting of the systems if still necessary.
f.) Min. Vertical Distance on Reflow Systems Across Pages (Default: 14 EVPU)
If "Reflow Systems Across Pages" is activated in the Finale preferences, Perfect Layout will re-arrange the systems across the pages and improve the layout. This "Min. Vertical Distance" value defines the minimum distance between two systems.Usually you will never encounter this exact distance between systems in the end, as there is nearly always more space available on a page.
This is more a guide value that defines the general density of a page: the higher the value, the less number of systems will appear on a page.
E.g. the value 0 EVPU creates very dense parts, while a value of 50-70 EVPU generates a very loose vertical spacing.
Note: The whole staff/system spacing algorithm is a very complex system which takes into account many parameters for a good visual balance, so we found these sliders to be a good and easy-to-use compromise.
Alignment at the page bottom:
You can select different alignment techniques for the bottom of the page. In this case alignment means "snap an element to the bottom page margin". That is also why it is important to set the bottom page margin to your needs before running the Perfect Layout plug-in.
The option "Fix Staff System Bottom Margin (Auto-Detect Lowest)" looks at all score pages, finds the lowest element at the bottom staff and uses the distance of this element to the bottom staff line as the "fix bottom margin".This guarantees that all staff lines of the bottom staff system align over all pages and that no element goes below the bottom page margin line. This default option works best in most cases.
If the bottom staff has very different distances to the bottom staff line (e.g. in modern piano works), it may work better to select the "Lowest Element On Bottom Staff" algorithm which aligns the lowest elements on all pages (and not the bottom staff line).
Both options are combined in the default option "Auto-Detect (Fix Staff System Bottom Margin or Lowest Element)": if the bottom margin is huge and very different on each page (e.g. contemporary piano scores), the "Lowest Element" algorithm is select, otherwise the "Fix Staff System Bottom Margin (Auto-Detect Lowest)".
Other options are:
"Fix Staff System Bottom Margin": same as above, but the distance is not auto-detected and can be entered manually.
"Bottom Staff Line": this option aligns the bottom staff line with the bottom page margin which means that all elements below the bottom staff line appear below the bottom page margin. It's the same as a "Fix Staff System Bottom Margin" with a value of 0 EVPU.
Note: the score balancing algorithm needs to take into account each Finale object (except page texts). Unfortunately JW Lua doesn't support all object properties yet, so the algorithm has some minor restrictions.
Currently unsupported or only partially supported objects are for example measure text objexts, graphic objects, chord suffix heights, mid-measure clefs, glissando lines, enclosed objects, staff names, lyrics baselines, complex cross staff notes, shape articulations, ledger lines, modified ties and smartshapes that span more then two systems.
To still support some of these objects dummy values are used which already lead to better results.
If the algorithm detects this word at the beginning of a system, it will move the system down by the given value (120 EVPUs by default). If there is not enough space on the page, the score balancing algorithm will probably decrease the distance.
IT IS NOT RECOMMENDED THOUGH! Especially if one doesn't use the Perfect Layout plug-in on a daily basis, it is very likely that one forgets to do some of the preparations before running the plug-in.
If you have bypassed the main dialog, you can reset it either
1.) by deleting its .ini-file. It is located in the same folder as the Finale® configuration files (typically C:\Users\USERNAME\AppData\Roaming\MakeMusic\Finale) and is called "JALAYOUG.ini". Simply delete the JALAYOUG.ini file and restart the plug-in. Then the main dialog will reappear.
2.) by changing the value BypassMainDialog in the mentioned .ini-file from true to false.
If you don't want to see the progress bar, you can also kill the two AutoHotKey tasks (AutoHotKey Unicode 64-bit and AutoHotKey Unicode 64-bit (2)) in Window's task manager.
Attention: You have to maximize the Finale® window manaully if you kill the tasks and probably you won't notice when the plug-in has finished.
Image 1: The two AutoHotKey tasks created from within the Perfect Layout plug-in
Usually you don't have to consult this log file. But it may be interesting if you have a corrupt Finale® file and try to repair it with the Perfect Layout plug-in or if you are new to the plug-in and want learn a bit more of what it does.
The option "Open Log File After Processing" is unselected by default.
More about the log file can be found in the FAQ.
You can also check manually by clicking the "Check for Updates Now!" button.
Loading and Saving the configurationThe plug-in always loads the last used settings when it starts and saves the current settings when the dialog is closed with "Ok".
If you click on "Cancel" instead, the last saved settings file remains unchanged.
To restore the factory settings, select "Factory Settings" at the bottom of the dialog and click on "Load".
To reload the last saved settings (e.g. if you have changed some settings, but now have changed your mind), select "Last Saved Settings" and click on "Load".
To load or save your own settings, select "User File" and click on "Load" or "Save as".
Other Features More features of the Perfect Layout plug-in are listed in the Overview section.
As these are so basic for every music score, they can't be switched off.
Image 1: EXCLUDE in the description text
(MacOS is not supported in the first release, but is to be supported in the next release)
Make sure to have the "Configuration Files" folder set to Finale®'s default "Configuration Files" or "Konfigurationsdateien" (German version) as the Perfect Layout plug-in doesn't detect other configuration folders at the moment.
This value can be set in Edit->Preferences->Folders->Configuration Files.
The user won't see JW Lua when using the Perfect Layout.
It appears in Finale's plug-in folder and everything is installed automatically with the installer.
Image 6: After the installation the plug-in automatically appears in Finale's Elbsound JW Lua plug-in folder.
No manual adjustments have to be made in Finale® after the installation.
The installation takes about 3-9 minutes dependent on the computer speed and the number of components installed.It is highly recommended to install all components to have access to all plug-in features.
Look for "license key" in the email.
If it is not installed, only .ttf (true type) fonts are supported.
The installation has finished when the screen says: "Click Finish to Exit the Perfect Layout Plugin Wizard." - then click on "Finish" and start Finale®.
Don't interrupt the installation process with a process kill through the task manager or a computer reset (use the "Back" button or the right top corner "x" instead). Otherwise your plug-in activation may get corrupted and you will probably have to contact our support.
Internet access is also required for updating the plug-in and for deactivating it.
The file can usually be found in C:\Program Files (x86)\Elbsound.studio\Perfect Layout.
The uninstallation process usually takes about one to five minutes.
During the uninstallation you must explicitly confirm that you also want to uninstall AutoHotKey and Node.js. Otherwise they won't be uninstalled.
By default for Finale 25 it's located at c:\program files\Finale\Plug-ins\Elbsound JW Lua.
The blackened areas are different dependent on the Finale and plug-in version.
By default it's located at c:\program files (x86)\Elbsound.studio\Perfect Layout.
The ending of the JALAYOU... files is different on the Gold/Silver editions.
For Finale 2014/2014.5 the following entries should exist:
For Finale 25 the following entry should exist:
For Finale 26 the following entry should exist:
If you open the Windows tools Regedit, it should look like this:
Image : Finale 2014.5 Registry Entry
Image 2: Finale 25 Registry Entry
You can also test if these entries exist, by opening the Windows console ("cmd") and typing:
reg query HKLM\SOFTWARE\MakeMusic\Finale\InstallPath /reg:64
reg query HKLM\SOFTWARE\WOW6432Node\MakeMusic\Finale2014.5\InstallPath /reg:32
This is how it should look for a working installation in Finale 2014.5 and Finale 25:
Image 3: Finale Registry Entries in the Windows Console
(Note: the folder names can, of course, be different on your installation. They must direct to the folder with the Finale.exe file.)
You can add these entries manually through the Windows console ("Cmd"), through "Regedit" or by re-installing Finale. For more info please contact our support.
Unfortunately this doesn't work - probably because of a problem with Windows font cache.
You need to restart Windows before reinstalling the plug-in and the Elbsound Music Font Package. Otherwise the fonts may not be registered correctly.
If you have problems with installed/uninstalled fonts, another solution is to remove the Windows font cache file (c:\windows\system32\fntcache.dat).If you delete this file and restart Windows, it will be recreated which also very often fixes font issues on Windows.
If you have a license key that allows activation on two computers, you need to make sure that you use the identical licensee name and email address in the license key dialog in the installer.You also need to make sure that your computers are in the same network and thus use the same IP address base.
This is usually only the case if you perform both installations within a short time frame as the IP address may change from time to time (dependent on your network).
If you do both installations within an hour, it usually should work. If you do them on different days, it's very likely that it won't work - but it depends on your network settings. In this case you have to uninstall the first installation, and then re-install both installations within the allowed time frame again.
Make sure to first have one installation fully completed (i.e. installer finished), before you start the second installation. It doesn't work if you run the two installations at the same time.
1.) Uninstall your current version (e.g. Silver 400).
If you have activated two installations ("Two Activation License"), make sure to have both versions uninstalled.
2.) Tell us that you have uninstalled it (send us a mail via our contact form or use our support email address).
3.) We will check it in our activation datebase and then remove your old license key from the database
4.) Then we will send you the new license key for the upgrade edition (e.g. Silver)
5.) Download your new installer. The link is in your purchase receipt email.
6.) Run the downloaded installer, enter the new license key and activate the new edition (e.g. Silver).
The old license key (e.g. from Silver400) is not valid anymore after this procedure (i.e. neither for a Silver400 installation, nor for a Silver upgrade installation).
We always try to send you the license key as fast as possible. But please keep in mind that this is no automated process. You may have to wait until the next business day until you receive the license key.
Please also check your spam folder if you haven't received the license key within two business days.
The updater tool checks if new updates for the plug-in or its other components are available in the online repository and will automatically install them, if you wish to.You need to close all Finale® programs before updating the files.
The plug-in can automatically check if a new update is available (Option "General->Automatically Check for Plug-in Updates").To save time this check is not performed each time you run the plug-in, but only from time to time.
If you want to check it yourself, you can click the "Check for Updates Now!" button on the General settings page.
The maintenancetool.exe is also used for uninstalling the plug-in.
Here is a real-time video of the update process:
Video: How to update Perfect Layout in one minute
Interestingly online virus checkers like virustotal.com don't list a Kaspersky alert, so it may also have to do with some special user settings.
You can either avoid the update process and uninstall and re-install the new software instead, or - at your own risk - deactivate Kaspersky during the update process.
If the maintenancetool.exe has been quarantined and is no longer available, you need to reinstall the plug-in. An automatic update is not possible anymore.
a.) Use a fast PC! Recommended are overclocked PCs above 4,0 GHz. They don't need to have many cores, the plug-in (and Finale®) can only use one core. Not recommended are energy-saving variable speed laptop processors (like Intel's N4200) that operate on a very low basic frequency (e.g. 1.10 GHz): see speed comparison.
b.) Fine-tuning the plug-in settings:
If you want to experiment with the plug-in's settings on a larger score, test it on a reduced score first. Remove all linked parts and in the score keep only the first page (or the first two pages), save again with a new file name. Now experiment with the plug-in in this reduced document. This usually only takes a few seconds or at least less than a minute. If you have the right settings, load the original file and apply the plug-in again.
c.) Running the plug-in:
- Follow the "How to Use" guide and don't do any unnecessary manual adjustments before running the plug-in.
- Finale® creates linked parts by default. If you don't use them, delete the parts before running the plug-in. This will decrease the processing time about 40%.
- If you have expression libraries with more than 500 or even 1000 expressions, it is recommended to delete all unused expression definitions. (Go to "Show All" in Expression Designer dialog and then select all (!) an click on "Delete". When asked "One or more of these itemes is currently in use in the score. Are you sure you want these items removed?" click on "No". This will only remove the unused expressions.)
- If you have a really huge score at Finale's internal limit (like 29.000 frames, 150.000 entries=e.g. 60 staves with 1200 measures each plus linked parts) or apply the plug-in to a corrupted Finale file, it might be helpful to run the plug-in overnight.
- If you run the plug-in on multiple instances of Finale® at the same time (e.g. 2014, 2014.5, v25), this slows down processing slightly (ca. 10%).
- MacOS: If possible, don't use Finale 25/MacOS: the processing speed of the MacOS version of Finale 25 is considerably slower than Finale 2014, 2014.5 and v26. On Windows Finale v25 is NOT slower.
- Clear your temporary files folder from time to time (e.g. c:\windows\temp and/or c:\Users\XXXX\AppData\Local\Temp). If you have 40.000 files in your temp folder, then the plug-in becomes slower.You can also create a dedicated temporary files folder for Finale (Edit->Preferences->Folders->Temporary Files).
- If you have openend Finale® some time ago (maybe a day or even longer), the plug-in processing can be much faster if you close Finale® and restart it before running the plug-in (up to 30% faster).
- While waiting for the plug-in's results, you can do other stuff on your computer. If you have installed other versions of Finale, you can use them.
Windows 10, Laptop (from 2017, 8 GB, 1.1 GHz, N4200 CPU -> very slow):
Finale® 2014.5 JW Lua plug-in processing time: 31,6 seconds
Windows Vista, Laptop (from 2009, 3 GB, 2,5 GHz, P9500, AMD Radeon 3400):
Single-threaded benchmark: 1145
Finale® 2014.5 JW Lua plug-in processing time: 16,8 seconds
Windows 10, PC (from 2013, 32 GB, 3.3 GHz, i3960, AMD Radeon 5450):
Single-threaded benchmark: 1928
Finale® 2014.5 JW Lua plug-in processing time: 12,6 seconds
Windows 10, Laptop (from 2017, 32 GB, 4.4 GHz, i8700, NVidia GTX 1060):
Single-threaded benchmark: 2815
Finale® 2014.5 JW Lua plug-in processing time: 7,1 seconds
The processing speed for Finale® 25/Windows is the same.
Note: Finale 25/MacOS is MUCH slower than Fin2014/2014.5/MacOS.
If the plug-in had been programmed in C++ (Finale's programming language), we assume that this task would have taken less than 1 second on any of these computers.
So we had to use JW Lua, a plug-in interface for Finale® designed by Jari Williamsson which is based on the programming language Lua.JW Lua is a fantastic platform. But if the Perfect Layout plug-in had been developed directly in Jari Williamsson's Finale C++ framework, it probably would have been 20-100 times faster.
Hopefully MakeMusic will change their policy in the future, so that also the processing speed becomes "perfect".
a.) General checks which take quite some processing time are independent on the selected region (like an installed fonts check, creating font metrics files or checking for expression categories)
b.) The plug-in never only works on one measure, but also analyzes the surrounding measures and staves.
c.) The larger and more complex a score, Finale® seems to become exponentially slower.
d.) Especially the page update function takes a lot of time on large scores: it can take more than a minute - and this is called several times.
(This is also the reason why calling the plug-in on a part is much faster than calling it on a single staff in an orchestra score.)
e.) The plug-in is not yet fully optimized for sub-regions.
So processing one measure in a huge score might take more than 10 seconds, while the same measure in a small score takes less than a second.
Just restart Finale® and the plug-in will be fast again.
The first time the plug-in is applied, the estimation isn't that good as it doesn't know yet how fast the computer is.The more the plug-in is used the more exact the estimation will be as it compares each time the estimation with the resulting time and updates its factors.The larger the score, the better the estimation. For only a few selected measures, the estimation is usually not very good.
Attention: this is technique is a bit advanced, so take your time in reading this short tutorial.
There are several ways to achieve this:
1.) JW Lua has its own batch processing function.
2.) Write your own JW Lua script that loads documents (for example in one folder) and applies the plug-in.
3.) Finale Script can also call Perfect Layout as it is available in Finale's plug-in menu structure.
We will describe the first solution ("JW Lua") here.
a.) Select the correct plug-in settingsFirst you need to make sure that the correct plug-in options are selected.
You can't select different settings for each file - all will use the same settings.
So run the plug-in on a short test document (e.g. a single staff default file, so that you don't have to wait too long) and set all Perfect Layout options as you need them for the batch processing. The settings are automatically saved when you apply the plug-in and will appear again the next time you call the plug-in.
But ALSO SAVE THESE SETTINGS MANUALLY by selecting "Save As": you need to restore your settings later after the batch processing has been finished.
b.) Hide the user dialogsBatch processing means processing without any interruption through user dialogs. So you need to hide all user dialogs first.
(1) Gold Edition
In the Gold edition it's easy: go to the "General" tab and check "Bypass All Warning Dialogs", "Bypass All Plug-in Cancel Dialogs" and "Bypass Main Dialog".
JW Lua's own batch processing function doesn't save the files after processing.To have this automated check on the "General Settings" tab "Save Document Automatically After Prcoessing with 'PL' ending".This step should be done DIRECTLY AFTER you have saved all other settings with "Save as" in the previous step. Then click on "ok" to fix these settings internally (and start the plug-in).
(2) Silver Edition
In the Silver edition this feature is officially not supported, but you can hack it at your own risk:
Open the Perfect Layout settings file JALAYOUB.ini (Silver400) or JALAYOUH.ini (Silver) in your Finale configuration folder (e.g. for Finale 2014 it is c:\users\YOURNAME\appdata\roaming\MakeMusic\Finale 2014.5).Then search for the entries "BypassAllPluginCancelDialogs", "BypassAllWarningDialogs", "BypassMainDialog" and "SaveDocToPL" and set their value to "true" (instead of "false"). Then save the file.
c.) Run the batch processing1.) Open all the files that you want to have processed in Finale.
2.) Instead of calling ES Perfect Layout in Finale's plug-in menu, click on JW Lua in the same menu folder and go to the "Explorer" tab.
3.) In the tree "Menu" select ES Perfect Layout, then click on "Run Multi..." (see image 3a).
4.) In "Selected Regions" select "Always Select Full Document as a Region" (in batch processing mode the plug-in always processes the whole document).
5.) Click on "All" to select and process all files, then click on "Run" (see image 3b).
Now all files will be processed.
d.) Restore the user dialogsDelete the settings file JALAYOUB.ini (Silver400) or JALAYOUH.ini (Silver) in your Finale configuration folder (e.g. for Finale 2014 it is c:\users\YOURNAME\appdata\roaming\MakeMusic\Finale 2014.5).If the .ini file is missing, the plug-in will create a new one with the default settings.If you have made a copy of your settings file, you can also either rename it to JALAYOUB/JALAYOUH.ini or load it when you run the plug-in the next time.
Image 3a: Batch Processing with JW Lua
Image 3b: Select the files for batch processing
Finale might crash during the batch processing: we have been using batch processing on a daily basis now for three years for testing the plug-in with our ca. 11.000 Finale test documents.It's likely that after some time, a Finale crash will occur. We assume that it has to do with a missing memory garbage collection that we can't influence.This crash can occur at any time. It seems to depend on the complexity, size and number of files: the smaller the files, the more will be processed.Our experience with our own JW Lua batch processing script is that up to ca. 2500 files can be processed, if they are rather small (less than 200kB).But only very few (ca. 10-30) can be processed if they are huge (>5 MB).
If such a crash occurs, it doesn't mean that your original document can't be processed. Just remove the files that have already been processed and start the batch processing again. It will ALWAYS work like this.
The Perfect Layout plug-in creates hairpins that look correct when printed to PDF, but which might look faulty in Finale®.
Image 2 Left: The hairpin goes through the niente expressions (Finale® View).
Right: The hairpin stops below the niente expressions (PDF View).
Image 3 Left: The hairpin has a soft tip (Finale® View).
Right: The hairpin has an angular tip (PDF View).
There are however five cases where this can happen:
a.) the dynamic expressions were placed in the wrong expression category (e.g. "Miscellaneous" instead of "Dynamics")
b.) the hairpin and/or the expression are attached to other measure positions than what they visually seem to be attached to ("ambiguous assignment").
c.) the dynamics use an unsupported music font
d.) the font annotation files are missing for the music font of the dynamic expression
e.) the dynamics are applied as articulations instead of expressions
f.) the dynamics/hairpins are placed on a staff with lyrics
The first problem (a) is automatically fixed by the plug-in, if the whole document is selected in "Score View" when applying the plug-in.
The second problem (b) is automatically solved in many cases, but not in all (see image 4).
Image 4: Ambiguous assignment of hairpins and expressions: the expressions are both attached to the left note, while the hairpin's start and end points are both connnected to the right note
Problem c) can be solved by only using supported music fonts (see Supported Music Fonts).
Create the missing font annotation files to solve problem d) (Preferences->Edit->Font Annotation, then select the font and click on Auto Annotate All and then Save).
Always use expressions to apply dynamics (problem e) - never use articulations for this.
Collision removal on staves with lyrics (problem f) is more difficult and currently not implemented in Perfect Layout. Why? Because there is no standard way of solving the dynamic/hairpin/lyrics collisions.Sometimes the dynamics are placed on top of the staff (which is currently not taken into account for collision removal at all). Sometimes the dynamics are place before, below or above the notes.We plan to have an automatic solution available for version 2.0 of the plug-in. Until then you unfortunately need to solve dynamic collisions on lyrics staves on your own.
Unfortunately it's not possible to hide this window, so it might look a bit irritating at first.
The window is used for example for reading the font metrics.
Image 5: Several black window pop up during the initialization of the plug-in
However some situations were reported that involved several instances of different Finale® versions being open at the same time (Finale® 2014, 2014.5 and 25) and running several Perfect Layout plug-ins and one plug-in terminates unexpectedly.
Sometimes warning messages for missing fonts also didn't make the window reappear.
Should you notice an unexpectedly long processing time (e.g. the progress bar doesn't change for several minutes), simply maximize the Finale® window manually by clicking on the Finale® symbol in the task list at the bottom of your screen.
The advantages of JW Lua compared to the original Finale® PDK are:
- easy to learn
- easy access to all Finale® functions
- it doesn't need any other software for running the programs in Finale® (compiler, software development kit, etc.)
- simple Finale® plug-ins can be written within a few minutes
- platform compatible (MacOS/Windows)
- as the original Finale® PDK isn't available anymore to the public, this is currently the only way to develop plug-ins for Finale®.
The disadvantages are:
- it is very slow
- the programming language is limited, so operating system functions are difficult to access and make complex development difficult.
Image 6: JW Lua development window
Interface docs: http://www.finaletips.nu/frameworkref/annotated.php
JW Lua Mailing List: http://jwmusic.nu/mailman/listinfo/jwlua_jwmusic.nu
Free Plug-in Scripts: https://elbsound.studio/jw-lua-scripts.php
Image 7: JW Lua Open File
Navigate to your Finale® program folder and go to the sub-folder Plug-ins\JW Lua
(e.g. C:\Program Files\Finale25\Plug-ins\JW Lua or c:\Program Files\Finale 2014\Plug-ins\JW Lua).Then select "ES Perfect Layout (for Menu).lua" and click on "Open" ("Öffnen" in the image below).
Image 8: Select the file and click on "Open"
Start the plug-in script by clicking on Run script or press Alt-R.
Image 9: Starting the script
The major steps are called:
- Initialization (e.g. Preparation for the user dialog)
- Checking Expression Categories
- General Preparation (e.g. Font metrics creation, font availability, check for invalid or weird smart shape connections, etc.)
- Preparing and Resetting Parts (e.g. calculation of the start metrics, reset/hide/clear the start positions, MMRest reation, rest minimization)
- Processing Parts (e.g. remove collisions, vertical and horizontal alignment and do most of the other features)
- Optimizing Systems Distances (Staff and system balancing)
- Finalization (e.g. checks that no staves have disappeared or were accidentally shifted to the next page)
The progress bar is increased after each task that has been completed.
It doesn't take into account that some function take much longer than others.
For example "Processing Parts" has about 100 sub tasks: while some take only a few milliseconds, others may need a few seconds or even minutes.
As the progress bar is not connected directly to Finale® (but through AutoHotKey and some .log files), it has a delay of up to 0.5 seconds.
In Finale® 2014/2014.5 the progress bar can also show a red alert message when there is a huge probability that the file is too big for processing under 32bit. If the Perfect Layout crashes a bit later, then you need Finale® 25 to process the file with the Perfect Layout plug-in.
The plug-in has a few rules dedicated to "2-staff systems" used for example in piano, harp or accordeon notation.
But it only works if the system is detected correctly. To be detected:
a.) The two staves must be grouped (Staff->Group and Bracket->Add Bracket, will be automatically added when creating it through the Score Manager or the Document Setup Wizard)
b.) You need to either give it the proper instrument name in the score; or the proper group name; or the proper staff name or abbreviation; or a piano group bracket together with the same MIDI channel; or the proper instrument ID or playback sound (see image 10).
Make sure these are given to both staves.
If a) and any of b) is detected, the rules will apply automatically.
Image 10: Score Manager
Image 11: The left dynamic expression is not automatically centered, the right one is
The plug-in only corrects the layout, if it is very likely that this is what the engraver wanted.
In the left image it's a bit unclear, if the mf was supposed to be below the first or the second note, although it's attached to the second.
The Perfect Layout only centers the expression, if the horizontal offset is below the thresholds defined in the Reset/Hide settings of the plug-in:
a.) Reset Horizontal Position of Dynamics Until Maximum Horizontal Offset: the default value is 57 EVPU.
b.) dito., Max. Horizontal Reset Offset for Whole or Dotted Notes: the default value is 85 EVPU.
To check the current offset, right-click on the expression, select Edit Expression Assignment and look at the horizontal offset value.
(In the left image below the horizontal offset is -60 EVPU, so it was 3 EVPU above the threshold.)
However they are included in other collision detection processes: e.g. the vertical alignment of tempo marks or the vertical staff spacing takes them into account.
The same goes for tuplet numbers and alurs.
As slurs currently can't be changed through the JW Lua interface, it would only be possible to automatically shift tuplet brackets, but not to correct the slurs.
- Optimize->Always Apply Music (Re-)Spacing to Full Document Before Processing
- Optimize->Always Respace If Chords Found
from time to time (ca. every 100-1000 call of the plug-in) the measure number region preparation function crashes for a yet unknown reason.It's listed as a JW Lua bug. Should Finale® crash, please check the log file of the plug-in which can be found in the Finale® configuration folder (e.g. C:\Users\XXX\AppData\Roaming\MakeMusic\Finale 2014).
The plug-in creates two log files:
JALAOUX.log: Includes the texts for the progress bar
ES Perfect Layout.log: Includes a more detailed description of what the plug-in has done including warning messages.
If the last entry in "ES Perfect Layout.log" is "Checking Measure Number Regions", then the known measure number region bug has occured.Simply restart Finale® and run the plug-in again. It won't crash again unless the Finale® document was indeed corrupted.
BTW, this is a reason why you must always save a Finale® document before running any plug-in.
Should the last entry be different, please contact support to let them analyze the crash. The problem can probably only be fixed if you also submit the Finale® document.
But the plug-in provides a log file which includes those items where it detected problems, discovered untypical mistakes or where it moved items (expressions, articulations, hairpins) more than "just a little bit".
The log file can be found at Finale®'s configuration folder (e.g. C:\Users\XXX\AppData\Roaming\MakeMusic\Finale 2014). The file is named "ES Perfect Layout.log".
This is the log file of the ES Perfect Layout Demo.musx document.
Note: Normally there is less info in the log file, but the ES Perfect Layout Demo document includes many critical scenarios, so there are more warning messages than usually.
Initialization, Elapsed time: 0.07
Current Document Filename:D:\eigene dateien\musik\jw lua\page layout test3.musx
File name: D:\eigene dateien\musik\jw lua\page layout test3.musx, Elapsed time: 1.66
Initialization, Elapsed time: 0.00
The current settings are:
Reflow Measures: Only Within Systems
Reflow Systems Across Pages: Deactivated
Manual Positioning is set to: Incorporate
Starting Dialogs, Elapsed time: 1.07
Creating Staff Style: BlankNtnWRests -OthNotes -Art -Expr -Lyr -SmaSh -OthLyr...
Checking Expression Categories, Elapsed time: 0.00
General Preparations, Elapsed time: 0.00
Dialogs finished, Elapsed time: 0.00
Preparation and Resetting started, Elapsed time: 0.00
Font metrics file must be created for Helvetica
Loading the font 'Helvetica'... not successful. Using the metrics from the font 'Arial' instead.
Font metrics file must be created for Times
Expression changed from measure 54/4096 to measure 55/0 (Staff: 1/"Violin I ").
Duplicate identical Expression 7 deleted in measure 54 position 0 in staff "Violin I " (ExprID:7).
Layer 2 moved to layer 1 in staff "Violin I "(1), measure 9.
Layer 2 moved to layer 1 in staff "Violin I "(1), measure 7.
Hairpin vertical line removed in measure 5, position 0 (Staff 1 "Violin I "). Its start and end points were connected to the same measure position.
Slur replaced with tie in part 0/Score, staff 1/"Violin I ", measure 23 (Slur item number: 3188).
Preparation finished, Elapsed time: 0.00
Resetting score and parts, Elapsed time: 0.00
Preparing and Resetting Part: 0 (Score, Staff: 1 / "Violin I ", Slot: 1, Measures:1-79), Elapsed time: 0.01
Articulation removed from rest: ID 1 in measure 18 position 2048 staff 1/"Violin I ".
Articulation removed from rest: ID 3 in measure 32 position 2048 staff 1/"Violin I ".
'Open tie' removed in measure 13 position 1024 in staff "Violin I ".
Expression 3 on staff 1 ("Violin I ") was attached beyond measure duration (old position measure 6 / 5000 EDUs). It is now assigned to measure 6 / 4032 EDUs.
Duplicate articulation removed in measure 19 position 1024 staff 1/"Violin I ".
Duplicate articulation removed in measure 32 position 0 staff 1/"Violin I ".
Preparing and Resetting Part: 0 (Score, Staff: 67 / "Drum Set", Slot: 2, Measures:1-79), Elapsed time: 0.00
Expression moved (Function 3) from measure 9/384 to measure 9/0 (Staff: 1/"Violin I ").
The expression 3 has changed its horizontal position by -58 EVPUs (see measure 28/4032/Staff: 1/"Violin I "). Please check that it is and/or was placed correctly.
The expression 51 has changed its horizontal position by -147 EVPUs (see measure 79/0/Staff: 67/"Drum Set"). Please check that it is and/or was placed correctly.
Preparing and Resetting Part: 1 (Violin I , Staff: 1 / "Violin I ", Slot: 1, Measures:1-79), Elapsed time: 0.01
Measure reflow performed over systems for part 1: Violin I .
Preparing and Resetting Part: 2 (Drum Set, Staff: 67 / "Drum Set", Slot: 1, Measures:1-79), Elapsed time: 0.00
Measure reflow performed over systems for part 2: Drum Set.
Reset finished, Elapsed time: 0.00
Processing score and parts, Elapsed time: 0.00
Processing Part: 0 (Score,Staff: 1 / "Violin I ", Slot: 1, Measures:1-79), Elapsed time: 0.32
Stunted slur removed in part 0/Score, staff 1/"Violin I ", measure 5 (Slur item number: 3192).
Slur over identical tie removed in part 0/Score, staff 1/"Violin I ", measure 7 (Slur item number: 3196).
Duplicate slur removed in part 0/Score, staff 1/"Violin I ", measure 35 (Slur item number: 3206).
DC/DS repeat element in measure 61 moved by 49 units.
Coda/Segno repeat mark in measure 39 moved by -89 units.
The dynamic expression 3 has changed its horizontal position by -53 EVPUs (see measure 6/4032/Staff: 1/"Violin I "). Please check that it is and/or was placed correctly.
The dynamic expression 2 has changed its horizontal position by -67 EVPUs (see measure 9/3008/Staff: 1/"Violin I "). Please check that it is and/or was placed correctly.
The dynamic expression 3 has changed its horizontal position by -49 EVPUs (see measure 19/4032/Staff: 1/"Violin I "). Please check that it is and/or was placed correctly.
The dynamic expression 36 has changed its horizontal position by 72 EVPUs (see measure 40/0/Staff: 1/"Violin I "). Please check that it is and/or was placed correctly.
The dynamic expression 33 has changed its horizontal position by 64 EVPUs (see measure 56/0/Staff: 1/"Violin I "). Please check that it is and/or was placed correctly.
The dynamic expression 7 has changed its horizontal position by -51 EVPUs (see measure 56/4032/Staff: 1/"Violin I "). Please check that it is and/or was placed correctly.
The dynamic expression 7 has changed its horizontal position by -51 EVPUs (see measure 59/4032/Staff: 1/"Violin I "). Please check that it is and/or was placed correctly.
Very short hairpin found. Probably not enough space in measure 9, part "Score", staff "Violin I ". (Smartshape saved: true)
Very short hairpin found. Probably not enough space in measure 12, part "Score", staff "Violin I ". (Smartshape saved: true)
Very short hairpin found. Probably not enough space in measure 50, part "Score", staff "Violin I ". (Smartshape saved: true)
Very short hairpin found. Probably not enough space in measure 56, part "Score", staff "Violin I ". (Smartshape saved: true)
Processing Part: 0 (Score,Staff: 67 / "Drum Set", Slot: 2, Measures:1-79), Elapsed time: 0.00
Congruent hairpin deleted in part 0/Score, staff 67/"Drum Set", measure 59, measure pos 1024.
Optimizing System Distances..., Elapsed time: 0.00
Part finished., Elapsed time: 0.00
Processing Part: 1 (Violin I ,Staff: 1 / "Violin I ", Slot: 1, Measures:1-79), Elapsed time: 0.12
Text repeat element in measure 61 is set to right justification, but currently aligned with the left barline. Please check the justification settings for optimal layout.
Coda/Segno repeat mark in measure 39 moved by -89 units.
Very short hairpin found. Probably not enough space in measure 50, part "Violin I ", staff "Violin I ". (Smartshape saved: true)
Very short hairpin found. Probably not enough space in measure 56, part "Violin I ", staff "Violin I ". (Smartshape saved: true)
Very short hairpin found. Probably not enough space in measure 59, part "Violin I ", staff "Violin I ". (Smartshape saved: true)
Optimizing System Distances..., Elapsed time: 0.00
Part finished., Elapsed time: 0.00
Processing Part: 2 (Drum Set,Staff: 67 / "Drum Set", Slot: 1, Measures:1-79), Elapsed time: 0.08
DC/DS repeat element in measure 61 moved by 49 units.
Coda/Segno repeat mark in measure 39 moved by -89 units.
Optimizing System Distances..., Elapsed time: 0.00
Part finished., Elapsed time: 0.00
Part Processing finished, Elapsed time: 0.05
Finalization, Elapsed time: 0.00
Plugin Processing Time: 14.56 seconds
Close progress bar, Elapsed time: 0.01
Some pages need more vertical space to avoid colliding staves or to insert enough space between staff systems (Page: 1). If possible, try reducing the page scale or staff height and run the plugin again.
Plugin Processing Time:0m:17s, Elapsed time: 2.49
Plugin finished, Elapsed time: 0.00
It is recommended though to run it in "Score View" first with the whole document selected, because some main functions are only activated if the whole document is processed (e.g. expression category fixes, MusicXML improvements on expressions, some multi-measure rest unifications).
If the plug-in is run in "Score View", the selected region in the parts will always be processed too.
If the plug-in is run in "Parts" mode, the selected region in the score will not be processed.
Which means: if changes are required in the "Score" that are linked to the "Parts", the change will not be made!
For example: if a hairpin is attached to measure position 0 (=first beat) in both score and parts, and the plug-in would like to snap it to a dynamic expression on beat 2, this will not happen if the plug-in is run in "Parts View" as the link would be destroyed.If the plug-in is run in "Score View", the snap would happen and also occur in the parts, so that there the change is still linked.
The plug-in was not designed for use on an already manually optimized score that makes extensive use of custom smart lines or contemporary notation.
It will save you more time if you run it before doing any manual optimizations (see How to Use the Plug-in).
Especially on Windows there are some old format fonts (.fon) like Courier, System or Roman. These are not supported by the plug-in. Please don't use them.
It's possible that the font is still not detected as Finale has an unusual way of using font names: it's different than in other standard Windows software (see our article Font Names in Finale).
This is especially true for font names using name extensions like "... LT Std", "... MT Pro", " BT" or font weights that Finale doesn't support ("Medium", "Thin", "Black", etc.).
Not finding the font files may also lead to long start-up times of the plug-in (with the message: Creating font annotation files...).
In this case please contact our support team. We will try to support your font in the next plug-in update.
Silver400/Gold400 allow 400 measures and 36 (visible) staves.
For processing larger documents you need the full Silver/Gold edition.
Also see overview of plug-in editions.
You will probably not get identical results when applying multiple times: the horizontal and vertical spacing might be slightly different.
But don't forget: you will always get the best results when the plug-in is applied to the score and thus also to the parts.
It's not recommended to run the plug-in on the score only, then generate the parts and then run the plug-in on the individual parts. Because all functions that would break linked score/part elements (like hairpins, expressions) are not activated when applied to a part only.
2.) Check that the pages don't have page breaks which prevents measure shifting.
To do this select the Page Layout tool right-click on the staff system and click on "Delete Page Break" if available.
Please also read the section on the Reflow settings in the "How to Use"-tutorial.This is a very powerful and important feature for the plug-in as it allows the plug-in to automatically layout completely unlayouted parts with one click.
But this only works with the settings from 1.).
if you want your system and measure layout untouched, uncheck "Reflow Systems Across Pages" and set "Reflow Measures" to "Only Within Systems" before applying the plug-in.
If you only use the font files in other notation software (e.g. Capella, Sibelius), ignore the warning message too.
If you have never used these fonts before in Finale, but wish to use them now or later, just ignore the warning message.
In other words the warning message is only relevant, if you have already used the mentioned fonts in older Finale documents, because when re-opening these documents it is possible that Finale displays wrong symbols if the MacSymbolFonts.txt entry has changed.
But it is a reversible process: if you select yes the MacSymbolFonts.txt will be automatically updated. Should you encounter any symbol problems later in older documents that use these fonts, you can simply remove the added font name manually from MacSymbolsFonts.txt later.
Finale®'s MacSymbolFonts.txt file includes a list of music fonts for Finale's internal font handling. The program uses a different font encoding when a font is on the list. Fonts can have several encodings. This means for example if you select the character 138, a different symbol appears if the font is in MacSymbolFonts.txt or if not.
Very often fonts have several encodings (e.g. for MacOS and for Windows) and not all of them fully work in Finale® (on MacOS and/or on Windows), so one has to test which encoding works best.
This also depends on how you work, what fonts you use and what you need:
While Windows is more tolerant regarding the selected encoding, MacOS very often requires the font name to be added to MacSymbolFonts.txt.
So if a Finale® document is to be exchanged between MacOS and Windows, it is recommended to have matching MacSymbolFonts.txt files.
Note: Unicode fonts (=fonts with more than 255 symbols like Aruvarb or November2) must never be added to MacSymbolFonts.txt, as MacSymbolFonts.txt automatically limits the number of available symbols top 256.
The Perfect Layout plug-in currently only supports one type of encoding for each music font. That's why you will get an error message if MacSymbolFonts.txt doesn't match the encoding that the plug-in requires.
The plug-in will automatically update MacSymbolFonts.txt if it is not compatible. After the update a restart of Finale is necessary.
When the MacOS version of the Perfect Layout plug-in is released, the recommended font encodings might slightly change to guarantee best compatibility between MacOS and Windows.
In general it is save to just follow the suggestions of the Perfect Layout plug-in regarding MacSymbolFonts.txt.
But attention must be paid if you have manually adjusted font annotation files that don't mark the glyph borders, but have user-defined borders that don't match the glyph borders (for whatever reason ... usually this is not recommended and not necessary):these font annotation files are not compatible with a changed encoding and need to be recreated.
More than 300 of the supported fonts/font families can be seen in the highly recommended Elbsound Music Font Comparison tool.
What does "supported music font" mean?
First the plug-in needs to know if a font is a music font, a chord font, a symbol font or a text font.The plug-in currently knows more than 1200 of these font names (see font list here) and assumes that every unknown font is a text font.
For some tasks of the plug-in it is also important to understand what a symbol from the font means (i.e. the semantics).A fermata requires a different handling than a dynamic symbol.
The plug-in uses both the expression category names and/or the "description of the music symbol" for its detection.
About 1200 symbols from more than 470 music and chord fonts are described in the plug-in's music font database.
If a symbol is not described, it might be excluded from some of the plug-in's tasks.
There are however a few commercial music fonts that are officially not supported yet as we didn't get free samples in time to include them.But they will probably work as well as they are all (nearly) Maestro-compatible.
- Font Shop's Urtext fonts,
- the hadnwritten fonts by NorFonts,
- the MTF fonts by Music Type Foundry.
If your music font is not supported yet, but Maestro-compatible, it is very likely that the plug-in will work without problems.If you want other music fonts to be supported, please contact support. For a small fee it is possible to include your font in the next release.
To select the correct font, please type the name manually as in this animation:
It costs about half as much as a regular Finale® update, but has more than 100 features which is much, much more than a regular Finale® update - maybe as much as five or more updates.
Perfect Layout is a professional tool for professionals. Professionals calculate in working hours.
It will save you about 10-25% of your Finale working time (many users even reported more than 25%!) and usually creates a more balanced output than you could achieve manually in that time.
So if you save eight hours per week for layout tasks (with a 20,- Eur per hour rate - which is still pretty low), even the Gold version of the plug-in has already paid off after less than one month of usage.
Perfect Layout is not comparable with any other existing Finale® plug-in. It is a "one-click" solution for optimizing scores and parts at the same time with more than 100 features, more than 700 internal options, more than 300.000 lines of code and support for more than 470 music fonts.It also fixes many long-term problems of Finale® and features many new "intelligent" algorithms for automatic score and parts preparation.
Don't forget plug-ins for music software are a niche market and professional plug-ins for notation software are an even smaller niche market.
A good comparison for the price are "Sampling Libraries".
Professional sampling libraries cost between ca. 400,- Eur and 5.000,- Eur (e.g. VSL Symphonic Cube).
The host software usually costs much less (for example 100,- Eur for Plogue Bidule or Cubase LE).But it requires the plug-ins (=sample libraries) to be used professionally.
So it might look better (or worse - just as you prefer it) if you switched off "Stacking" and set "Slur Interaction: Auto inside/outside" to "Ignore" before applying the plug-in.
Also make sure to select "Keep Positioning" of articulations when opening a document from a previous version of Finale®. If you select "Enhance" instead, some articulations might not be fixed.
Here is a PDF comparison of a pre-Finale 26 document imported into Finale 26 and processed with the plug-in: once with "Enhance Positioning" selected, once with "Keep Positioning".
Features of "Perfect Layout" for Finale® Perfect Layout includes more than 100 automated layout processes for Finale® like:
-collision removal of most music symbols
-automatic alignment of expressions, articulations, hairpins, lyrics and many smart shapes
-automatic visual balancing and collision removal of staves and systems in score and extracted parts
-improval of MusicXML imported files and old Finale files from the 90s (including automatic expression category assignment and alignemnt correction)
-automatic repeated measure numbering for percussion/drum staves
-automatic rest splitting and merging according to the time signature
The plug-in works both as a "1-click solution" with many intelligent algorithms that automatically set the best parameters as well as with a very flexible and versatile user dialog with more than 200 parameters in the Gold edition. A full feature list with references to the before/after images below is available at the bottom of this page.
The images below show a few before and after the plug-in comparison.
More before/after examples are available in the Example and Video section.
Feature Overview with Before/After Images
The red and blue measure numbers were added afterwards to the image to help identifying the measures.
Image 2: Automatic score balancing
Image 3: The Perfect Layout User Interface (for details see here)
, expressions, barlines and repeat brackets (below staff only). (mm.4, 6, 9, 15, 19, 29/30, 43, 55,etc.)
- Removes collision of (standard) articulations with (one!) other articulation on top of the staff, with slurs (only if connected with start or end note of slur), ties and dynamic expressions. (mm.1, 2, 4, 7, 35, 37 / m.1)
- Removes collision of dynamic expressions with slurs, ties, repeat brackets, notes, accidentals and barlines (below staff only). (mm.6, 22, 23, 24, 28, 51, 52, 54, 56, 59)
- Removes collision of trill line smartshapes with up/down bow articulations. (m.37)
- Removes collision of text repeats and notes, articulations and multi-measure rest numbers (on top of the staff only). (m.61)
- Removes collision of ottava and trill lines (not custom line trills) with notes, accidentals and articulations (on top of the staff only). (m.23)
- Removes collision of rehearsal mark letters, rehearsal mark texts and tempo mark text expressions with notes, articulations and left-aligned chord symbols. (mm.4, 25-38, 58)
- Removes collision of voice 1 note with voice 2 articulation. (m.25)
- Removes collision of Voice1/Layer1 dynamic expressions with Voice2/Layer2 notes). (m.25)
- Removes collision of glissando lines with accidentals and augmentation dots (together with optimized vertical alignment). (m.40)
- Tremolo articulations on whole notes are corrected. (m.59)
- Not all slur parameters are currently supported, unsymmetric slurs may still have tiny collisions.
Each collision system just checks the collisions of two individual elements. It is not a general collision avoidance system that checks all surrounding elements and calculates the best spacing solution. In most cases this system works fine, but from time to time there are situations where the suggested solution is not the optimum.
- Hairpins and dynamic expressions below the staff are aligned vertically (expressive text in conjunction with dynamic expressions also). Vertical alignment is reset after a few measures, a certain distance and on each new system. (mm.3/4, 8-10, 12-14, 15-16, 24-30 and more)
- Dynamic expressions and expressive text on the same measure position are aligned horizontally and vertically. (m.53)
- Adjacent hairpins and dynamic expressions are connected with a small visual gap in between. (mm.6, 9, 10, 12 and more)
- Moves dynamic expressions slightly up on systems with slash staff style measures where no other object goes below the bottom staff line. This reduces unnecessary space e.g. on drumset parts with lots of slash notation. (mm.63)
- Moves dynamic expression up on slash staff style measure with invisible very low notes. (mm.65)
- Positions dynamics expressions in the centre below the note. (mm.1, 3 and more)
- Corrects vertical alignment of hairpins with line breaks (i.e. two alignments necessary). (mm.14/15)
- Dynamic expressions attached to very low notes and shifted left and upwards are kept on that position and will not be centered below the note to avoid very low dynamics. It doesn't work the other way round yet: centered dynamics on very low notes are kept on the centered position and will not be shifted left and upwards. (m.32)
- Alignment of expressions is content-dependent (e.g. pp and mf get a reduced vertical offset value compared to fff, so that the actual distance to a note or articulation is identical).
- Corrects wrong horizontal position of a niente hairpin expression under a rest. (m.68)
- Tempo marks, tempo alterations and rehearsal marks are aligned horizontally. (mm.4-7)
- Tempo marks, tempo alterations and rehearsal marks can be aligned vertically.
Two different modes are available:
a) minimum distance to staff (each mark is aligned individually)
b) align according to highest offset (all marks are vertically aligned according to the highest mark). (mm.25-38)
- Centered "più ff" expressions become quasi right-aligned. (m.59)
- Centered "ff sub." expressions become quasi left-aligned (same for poss., s(i)empre, espr., secco, etc.). (m.40)
- Moves expressions connected to a centered "real" whole rest to other layers' notes on measure position 0 if available. (m.49)
- Numbers from the Finale "Number Repeated Measures" plugin are centered. (m.45)
- Moves an expression that is assigned to "All Layers" to another layer if layer 1 is invisible. Otherwise Finale doesn't do a correct vertical alignment. (m.58)
- Moves dynamic expression from the end of the measure to next measure's position 0 if it either has a huge horizontal offset to the right or if the note on measure position 0 is tied backwards. (m.54/55)
- Slurs at line breaks which end with high notes will be re-aligned, for example when a run with a slur ends on the next system (This feature is implemented, but only works on manually adjusted slurs because of a JW Lua bug). (m.14)
- Harp glissando optimization can be achieved with the Elbsound Harp Glissando plugin (mm.40)
- Can remove multi-measure rests in measures that have non-MM breaking expressions and/or hairpins. (mm.14/15)
- Removes multi-measure rests in parts if the measures have changed after the first MM rest creation. (mm.51/52)
- Moves multi-measure rest numbers slightly down on 1-line staff measures. (mm.73-75)
- Shows/hides measure number ranges below multi-measure rests if the multi-measure rest has a defined length. (hidden mm.41-42, shown mm.72-77)
- Updates all multi-measure rests to the current style from the multi-measure rest document settings (e.g. change from shape to symbol). (m.72)
- Updates the settings of measure number ranges to valid values (centered, below, square brackets)
- GP (=Generalpause) expressions are detected and split MM rests. (m.42)
- If a multi-measure rest ends with a clef change, then the MM rest will be reduced in size to avoid collision between the MM rest and the clef. (m.42)
- A measure number group below the MM rest will also be shifted slightly to the right to match the new position. (m.42)
- Moves hairpins that are attached to rests to note before, otherwise the Finale 2014 hairpin playback doesn't work correctly. (m.13)
- Lets hairpins start slightly right to a note/rest and lets them end slightly before a note/rest. (mm.4, 13, 9, 10 and more)
- Shortens hairpins that end on measure position 0 of the next system to end on the last beat of the last measure of the previous system, in order to avoid hairpin line breaks (but for optimal playback this should not be done, it's just for visual reasons)
- Automatically resets hairpin horizontal break offset to 0, so that they align with measure start and measure end. (mm.14/15)
- Support of "niente" hairpins: automatic connection of hairpin with any niente ("o") text expression or a niente text ("niente" or "quasi niente") (currently restricted to one niente hairpin per measure). (mm.66 and 67)
- Can auto-connect to the next/previous note if it is close enough. (m.34)
- Hairpins can be made horizontal. (m.34)
- Hairpins can be resized to the default opening width. (m.13)
- Hairpins that start on measure position 0 before the note can be reset to a horizontal offset of 0. (m.3)
- Hairpins that end on a rest are shortened to the start of the rest (if not followed by a note with a dynamic expression). (m.13)
- Hairpins that end in the middle of an empty measure are shortened to the end of the previous measure. (mm.59/60)
- Moves articulation on high-pitched grace notes from below staffline to above the note. (m.59)
- Combinations of two symbol staccato/tenuto plus accent articulations are correctly aligned on articulations above the notes (not supported below the note yet).
- Creates inside slur articulations if necessary for collision with steep slurs (but not if there are multiple articulations on that note). (m.12)
- Changes certain shape articulations with helpful descriptions in the shape definition to character articulations.
For example, different staccato dot articulations may have a shape symbols of their duration, i.e. 30%,50%,75%, etc. The shape is great for the score/playback creation process, but for printing it will be reverted to the staccato dot character. (m.39)
- Puts tuplets over one line (percussion) staves on top in order to avoid collision with dynamics on bottom. (m.43)
- Optimized tuplet and/or default values from the tuplet preferences can be applied to all tuplets. (m.33)
- Tuplets on extreme notes can be moved on top of the notes instead of staying on the stem side. (m.60)
- Tuplet brackets on quarter note tuplets (and higher) can be hidden (turned off by default).
- Nested tuplets are split: the main tuplet will be on the stem side, the sub tuplet on the note side.
- Splits fake tuplets where the first half of a tuplet is a regular note (e.g. dotted eight note plus three 16th notes in a 8th note triplet become eighth note plus three 16th notes in a 16th note tuplet). (m.55)
- Optimize tuplet numbers: if the tuplet number doesn't match the longest/shortest note duration, it can be adjusted (e.g. 6 16th notes with a tuplet number 3 (i.e. 3 8th notes), get a new tuplet number 6). (m.58)
- Missing tuplet brackets are added if it simplifies reading (e.g. within a group of beamed notes without secondary beam breaks).
- Moves typically left-aligned text repeats to the left border of the measure (Coda, Segno, etc.). (m.39)
- Unifies vertical offset of all text repeats.
- Repeat brackets will horizontally (not vertically yet!) aligned with their starting/ending measure.
- Moves a system starting with a "Coda" rehearsal mark slightly down in extracted parts. (mm.62-71)
- Fixes the distance between multiple lyric baselines of the same type (unless multiple different lyrics types and numbers occur in one measure). (m.5)
- Removes vertical offset from manually adjusted syllables. (m.5)
- Removes invalid syllables.
- Removes invalid lyric flags.
- Sets slash style measures to time signature spacing. (mm.21, 63-67)
- Sets slash style measures with visible offbeat notes in other layers to note spacing.
- Removes uneven slash measure spacing caused by non-hidden, but invisible notes. (mm.21, 64)
- Apply music spacing to full score (turned off by default).
- Adaptive spacing for chord symbol collisions: measures with chord collisions are set to "Avoid chord" collisions in spacing, others are set to not use it. (mm.13, 14, 34)
- Reduces the measure width in blank notation style, slash and repeat style measures with individual values for minimum measure widths.
- Adaptive spacing for blank notation and repeat styles measures: if the staff is very crowded, these special measures will be squeezed more. (m.11)
- If a measure holds a preparation clef for the next measure, the measure will be broadened and extra space at the end added if there is a collision with a note entry or a slash symbol (from the slash staff style) in that measure. (mm.24, 48)
- Inserts additional beat chart elements to measures if necessary for improved spacing (e.g. in a measure with one whole note, but several hairpins or expressions: (m.56))
- Clears manual positioning of articulations, dynamic expressions, rehearsal marks and tempo expressions. (m.24, 52 and more)
- Removes unneccessary articulations on rests (e.g. if staccato dots were copied to rests with the explode function. Allowed articulations like a fermata remain.). (m.18, 32)
- Removes duplicate articulations of the same kind on the same note (resulting for example from staff implode). (m.32)
- Removes duplicate (nearly) identical expressions at the same position. (m.54)
- Removes duplicate (nearly) identical hairpins at the same position. (m.59)
- Removes duplicate (nearly) identical slurs. (m.35)
- Corrects dynamic expression placement at the beginning of a pickup measure.
- Non-opaque expression enclosures with line width 0 will be removed.
- Right-aligned multi-measure rest breaking expressions are duplicated and also stored in measure 1 of the multi-measure rest, so that they don't disappear anymore at the end of the mm rest.
- Separated "f" and "p" dynamics on a note will be connected to "fp". (m.48)
- Resets manual accidental shifts (turned off by default).
- Unisons are slightly separated.
- Warning message is issued when the pickup measure is set to a value less than 32 EDUs (which may result in undesired symbols being displayed).
- Apply optimized tie preference settings. (m.61)
- Apply optimized slur preference settings.
- Measure numbers on measures with "space before music" (i.e. key or time sig changes) can be shifted to the left to appear directly above/below the barline (instead of at the beginning of the music). (m.16, 68)
- Removes (unnecessary) accidentals from backwards tied notes. (m.51)
- Sets tempo marks, tempo alterations and rehearsal marks to "break multi-measure rests".
- Tempo alterations can be optionally be hidden under multi-measure rests.
- Tempo alterations are hidden at the end of a piece, if no note entries follow.
- Can optionally hide tempo alterations in MM rests (turned off by default).
- Split three beamed eighth notes in pickup measure to one eighth note plus two beamed eighth notes.
- Removes 'open ties' (i.e. tie starts that don't have a corresponding tie end). Laisser-vibrer staves like harp, timpani, cymbals or vibraphone are ignored. (m.13)
- Close hairpins are "connected" with a gap. (mm.63-68)
- Assigns noteID to entry-based glissando lines that are connected with a note, but have no noteID.
- Sets vertically moved rests to standard position if it is a one-layer and one-voice measure. (m.7)
- Detects text expressions assigned to invalid categories and moves them to "Miscellaneous".
- Invalid expressions are deleted (i.e. if the expression ID doesn't exist anymore).
- Certain smart lines will be placed at a fixed vertical position on top of a staff (for example Fill-in-------¬ on drumset staves). They will also be aligned with right before the barline if they are close. (m.66)
- Deletes empty pages at the end of a part. (m.68-71 - not visible)
- Corrects expressions that are connected to a slightly wrong measure position (e.g. Pos 32 instead of 0) to the correct position (this occurs especially in older Finale documents). (m.9)
- All single grace notes get slashes. (m.59)
- All single grace notes become 8th notes, all multiple grace notes become 16th notes.
- Rests are checked if they match the time signature and otherwise splitted/merged and the measures respaced (not in measures with the different notation styles as in m.49). (mm.23, 50, 51, 57, 61)
- Invalid composite time sigs that are actually non-composite time sigs are included in the rest check for time signature matching.
- Rebar is optionally possible (same as Utilites->Rebar, turned off by default because of its side effects on quantization)
- Measures can optionally be padded with rests if incomplete (turned off by default, in order not to pad layers that are incomplete on purpose)
- Removes stunted slurs that start and end on the same note/position. (m.5)
- Removes hairpins that start and end on the same note/position. (m.5)
- Deletes invisible articulations with invalid articulation definitions (i.e. those articulation definitions that were already deleted).
- Expressions that were assigned beyond measure duration (e.g. position 4096 EDUs in a 3072 EDUs measure) are corrected and assigned to the best fitting note position where they are currently visible. (ff in m.6 was actually assigned to measure 7)
- Manual adjustments of slurs can be removed. (m.24)
- Accidentally flipped hairpins that start and end in the same measure are corrected.
- Accidentally flipped ties are corrected if there are no voice2 entries and no entries in other layers (only if the FlipTie flag is used, not with the Special flag). (m.54)
- Accidentally flipped/frozen stems are corrected if there are no voice2 entries and no entries in other layers. (m.31)
- Voice2Launch flags are reset if there is no voice2 on that beat. This also corrects the direction of wrong stems and slurs. (m.8: the wrong flag results in an upsidedown stem)
- Corrects messed up measure number region indices.
- Removes slurs that double ties. (m.7)
- Replaces slurs with ties if slurs were applied accidentally. (m.23)
- Dynamic expressions which are assigned to non-dynamic categories are automatically shifted to 'Dynamic Expressions'. (f in m.12)
- Typical expressive text expressions which are assigned to non-expressive text categories are automatically shifted to 'Expressive Text'. (legato in m.52)
- Typical tempo mark text expressions which are assigned to non-tempo mark categories are automatically shifted to 'Tempo Marks'.
- Typical tempo alteration text expressions which are assigned to non-tempo alteration categories are automatically shifted to 'Tempo Alterations'. (A tempo in m.79)
- Measure number expressions which are assigned to the "Miscellaneous" category can be shifted to "Rehearsal Marks".
- Slurs can be updated from on/off to automatic engraver slur. (m.38)
- Slurs not connected to the end note of a series of tied notes will be connected to the end note (except for grace note slurs). (m.59)
- Invalid invisible slurs (attached only to one entry instead of two) are deleted.
- Wrong SmartShape flags in measures are cleared.
- Wrong Expression flags in measures are cleared.
- Wrong Special flags in note entries are cleared.
- Wrong Articulation flags in note entries are cleared.
- Manual positioning of notes can be cleared. (m.5)
- Group brackets can be automatically added on groups with at least 3 staves (and bracket set to none).
- Moves entries that were accidentally placed on layers 2-4 to layer 1. Cue notes, non-playback layers, or notes under alt notation staff styles are not moved. (m.7,9)
- Hairpins with a start or end measure position greater than the acutal measure duration are reset to the measure duration.
- Hairpins that end after the last measure are reset to end in the last measure.
- Horizontal custom smart lines are forced to be horizontal. If you don't want that feature, uncheck "Horizontal" in the custom smart line definition. (m.66)
- Cue note instrument texts move below the staff. (m.11)
- Cue note instrument texts are connected with the first note of the cue (instead of rests). (m.11)
- Assigns cue note instrument text to the same layer as the cue note, so that they have a reduced size as the cue note. (m.11)
- Hides "cue notes only"-measures in the score and applies an "Blank Notation with Rests" staff style. (m.11)
- Hides "100% sized"-cue notes that were only created to have 100% sized lyrics with a "Blank Notation: Layer X" staff style.
- Cue note text expressions (e.g. "(Fl.)") without notes can now break multi-measure rests. (m.68)
- If an "empty" pick-up measure holds a cue note clef change only, the width of the measure will be fixed so that the clef is displayed correctly
(i.e. this is necessary if a part starts with a clef followed by a cue note clef which can only be handled with an empty extra measure)
- Hairpins, custom line and trills can be hidden in cue measures (m.11)
- Hides unnecessary group names that are also part names (e.g. Piano or Harp).
- Hides chord symbols on selected staves in the score, but shows them in the parts (to reduce complexity in the score). (m.63)
- Hides rehearsal mark texts that have the same text as the lyrics in that measure. (m.5)
- Hides all expressions in the score that are only to be shown in page view (e.g. harp tuning or solo markings) based on user-defined expression categories. (m.16)
- Hides instrument-specific articulations in the score that are only to be shown in the parts to reduce complexity of the score (e.g. up/down bow). (m.1, m.1)
- Adds automatic measure counting to slash measures (every xth measure and after double barlines). (m.63-67)
- Add automatic measure counting to one-bar repeat measures (every measure, optionally in parts only (see m.45)). (m.44-46)
- All the functions mentioned above can be switched on/off and have many parameters.
- The plugin uses the same font database as the House Style Changer and recognizes music symbol and glyph spacing from more than 300 music fonts. (mm.24, 30, 51, 52)
- The installer currently doesn't support Windows user folders with unicode characters (i.e. the folder c:\users\.....\). At the moment only symbols from Windows-1252 encoding are supported (i.e. allowed are Western European symbols like äôáèüß, but not letters like ǧȒʥԖש).
- No support for scores with staff dependent time signatures.
- GPOS tables in OpenType fonts are currently not supported by our font engine (e.g. vertical glyph placement as in the Figurato font currently leads to wrong metrics in the plug-in)
- Diagonal hairpins are only partially supported.
- Non left-aligned chords are only partially supported in collision detection.
- The chord styles Solfeggio, Nashville and Roman are not yet supported in collision detection (the plugin always assumes one of the CDEFGA(BH)-standards).
- Enclosures are not supported yet for all collision types, but they are supported for rehearsal mark expressions.
- Cross-staff smartshapes are not supported for collision detection.
- The activated option "Allow Horizontal Split" in the measure dialog is only partially supported. It's not very recommended to use this feature anyway, because not even Finale supports it fully. It's recommended to fake a measure split with two measures, fake time signature settings and a hidden right barline.
- Dynamics on cross-staff notes in two-staff groups (e.g. piano) are only partially corrected in placement.
- Not all cross-staff scenarios are yet supported for optimal staff/system balancing.
- No support for non-smart (=old-style) word extensions. These can not be detected correctly in JW Lua. Please activate "Use Smart Word Extensions" in the Lyrics->Word Extension dialog.
- Invisible measure texts are detected as visible (JW Lua bug). This might lead to weird shifts of rehearsal marks or to unbalanced staff spacing.
- Some fonts will work better on Windows/MacOS if they are/are not added to MacSymbolFonts.txt. The plug-in font database currently only supports the state that works better on Windows. As a result the plug-in might require to update the MacSymbolFonts.txt file, if it doesn't find the correct fonts listed.
- Multi-measure rests are be automatically created/validated. But as this may affect the system layout, it's possible that systems end up on different pages than before or that extra pages are added somewhere in between. Automatic MMRest creation should be avoided if the part has systems with different number of staves (e.g. hidden staves) and many empty measures that would be consolidated to a multi-measure rest. This would massively influence the part layout. In this case create the multi-measure rests manually before calling the plugin and adjust the measure layout to your needs.
- The left/right metrics of consolidated rests are not always calculated correctly (JW Lua or Finale plugin SDK bug). The best result appears when the active layer in Finale is layer 1.
- In custom line definitions the values in the "Line Adjustments" group (Start H, Continue H, End H, V) can not be read by JW Lua. If possible, set them to 0, otherwise the lines may align wrong.
- Rests in very ambiguous time signatures are not corrected (e.g. 11/4).
- Chord spacing not fully correct in measures that have all of the following properties: slash/repeat style, overlapping chords, more notes than chord positions and not notes on all chord positions.
- Tracking (of text elements) is not calculated 100% correctly.
- Diagonal hairpins that cross staff lines are made horizontal.
- System/staff balancing doesn't work optimally if the pages have different scaling percentages. - Finale's tool palettes are sometimes resorted by the minimization and maximization of the Finale Windows. We are still looking for a solution to this phenomenon.
- Automatic staff system balancing works best when all pages have the same page scaling, system scaling and staff scaling. Should they not match, it is not guaranteed that the result over all pages is fully convincing.
- When clicking on "Undo" and then on "Redo" after having run the plug-in, JW Lua or the Finale PDK has a bug that may lead to a different page layout or even systems vanishing in the score. It's possible to use undo/redo, but use it with care - i.e. check the page layout is still ok.
- The staff stem setting "Always Up" and "Always Down" cannot be detected (JW Lua bug). This can lead to stems being falsely flipped.
- Fingering articulations are only supported in articulation stacking if they have a horizontal offset of 0.
- Stacked hairpins (one above the other) are currently not handled correctly and might be placed on top of each other.
- Hairpins are vertically aligned to dynamics, expressive text, articulations, slurs, ties, notes and the staff line. Other symbols (e.g. custom lines) between hairpin and the staff line are currently not taken into account.
- Graphics attached to measures are currently not supported by JW Lua. So they are not taken into account for collision detection.
- Expressive text as custom smart lines (e.g. cresc. - - - -) is currently not automatically aligned with dynamics.
- Accidentals as expressions are not taken into account for collisions.
- Ottava lines and custom smart lines may collide with slurs (currently only an approximation for 'over' slurs is taken into account. Under slurs are not taken into account.).
- Glissando smartshapes are not connected correctly to the notes, if their custom smart lines use an offset ("Start H" and "End H" values). JW Lua doesn't support reading this offset.
- Collision detection of rehearsal marks, tempo marks and tempo alterations only works reliably if there are at maximum two expressions per measure at the same measure position.
- The clef slots are assumed to be used as in the Finale default document (i.e. slot 1=violin clef, slot 4=bass clef, etc.).
- JW Lua doesn't allow the detection of full or short barline in 1-line staves, so they are both aligned identically.
- Three stacked articulations (e.g. downbow, fermata and accent) are not included in collision removement.
- Lyrics baseline optimization currently only works for lyrics below the staff.
- All staff systems on a page should have the same Staff Height value.
- Document options for tie placement currently can't be read through the plugin interface, so the plugin always assumes Finale's standard values tie positionings.
- Tie alterations that affect the tie metrics are currently not supported, i.e. collisions might occur. The functionality is supported by the Finale PDK, but currently not implemented yet in JW Lua.
- Collision of articulations with ties on top of the staffline is currently not supported yet, but also occurs rather seldom.
- Pickup duration detection is unstable: if a pickup measure is created with the "Use a different time signature for display" method and the second measure has a completely different time signature, the pickup is only detected if one of the first measures has at least one rest. (JW Lua bug: it has limited support for "Use a different time signature".)
- Automatic shape detection is currently switched off in Finale 2014 as JW Lua currently crashes Finale when examining shape instructions (i.e. down/up bow shapes are not detected as valid articulations for collision detection).
- As shape expressions are hardly supported, molto crescendo "end of hairpin" expressions are only detected if they are text expressions, not shape expressions.
- Shape articulations and expressions are currently not supported for collision detection.
- The articulation "inside slur" capability of Finale 26 is currently not supported by JW Lua. The plug-in automatic inside/outside slur feature only works up to Finale 25.
- Time signatures with decimals are currently not supported by JW Lua (e.g. .625/2 for a 5/16 time signature with one beaming group).
- JW Lua currently doesn't support updates of the Vertical Baseline Offset on shape expressions. This may lead to displaced expressions when they are baseline dependent and the baseline offset has changed.
- Automatic detection of shape articulations is only supported in Finale 2014.5 and Finale 25 (not Finale 2014).
- The few supported shape articulations (like "Up+Down Bow") must be designed "on baseline" (they must not cross below the baseline). Otherwise the stacked articulation collision doesn't work.
- Because of a Finale bug with the "Slur Tips Avoid Staff Lines" option, there may be collisions with slurs in rare cases that appear on the screen only. But: when printing the document to a printer or to PDF, the collisions are not visible.
- Hairpins that appear on three staff systems in a row are only checked for collision on the first row.
- Slur collisions are only detected correctly for slurs without line break or for the first system of slurs with a linebreak (i.e. slur collisions after the linebreak are only estimated very roughly or not taken into account at all, because of a JW Lua or Finale PDK bug).
- When an alert message dialog is clicked, Finale may lose the window focus (This is a known JW Lua bug). Simply click on the Finale window to get the focus back.
- Dynamic expressions might get close to steep beams. Those beams are currently not included in collision detection.
- You must not specify a different configuration folder name and directory other than Finale's default ("Configuration Folder" or "Konfigurationsdateien"). Otherwise the directory will not be detected and the plug-in doesn't work.
- The superscript command is not yet supported in collision detection and niente alignment.
- Rest optimization is currently not activated on slash and repeat style measures with multiple layers.
- Document default fonts (from the Document Options->Fonts menu) are only partially supported if they are set to "Fixed" size (which they usually aren't).
- Resized staff systems have not been fully tested yet (-> planned for future update). If possible, use other scaling options like staff height or page percentage.
- Only partial support yet for individually resized staves.
- The plug-in has many optimizations for two-staff groups, like piano notation. These do not always work on three staff groups (e.g. a piano in contemporary three staff notation).
- User-defined font annotation files are currently not supported. Only the original font metrics are used. This can lead to incorrect metrics and thus collisions or too big distances if the Finale document loads user-defined FAN files.
- Staves that don't have 1- or 5 staff lines are only partially supported in spacing/collision optimizations.
- The values from the Smart Shape Placement menu are currently not accessible from JW Lua. So the plugin assumes the default values.
- An OTF/TTF font file must be available on the hard disk for font metrics analyzation in OS registered font directory, otherwise the metrics are not available.
- Priorization: manually adjusted tremolo articulations may be messed up when the connected note entry has illegal flags (like Special or Voice2Launch). So note entry flag correction has a higher priority than tremolo articulation placement. So it's recommended to run for example the JW Yada Yada plugin after having run the Perfect Layout plugin.
- The plugin has not been tested with the international versions of Finale and might not fully work in these because of different keywords. If you notice a difference, please contact us.
- Windows Powershell must be installed (usually is in Windows)
- minimum 4 GB RAM, for huge orchestra scores exceeding about 20.000 frame assignments 8-12 GB RAM and Finale 25/64bit are required, otherwise the plugin may run out of memory.
- About 70-100 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 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.
- Internet connection for accessing the online documentation.
- The faster the processor speed, the faster the plugin (see this comparison). The plugin is single-threaded, so multiple cores do not speed up the processing.
- Data Privacy: For the activation and license validation of the software the following data will be stored on our servers: serial number, registration name, registration email address, number of activations and deactivations, date of activation. During the activation process an anonymous computer ID will also be transferred, but not stored.