Perfect Layout - Online Manual


  • Quickstart: How to use Perfect Layout
  • Settings
  • Do first
  • Optimize
  • Reset hide
  • Multi-Measure Rests
  • Chords
  • Groups
  • Alignment
  • Layers cues
  • Tuplets
  • Expressions
  • Articulations
  • Hairpins
  • Slurs ties
  • Counting
  • Systems
  • General
  • Load save
  • Other features
  • FAQ (Frequently Asked Questions)
  • Overview
  • Version History

  • Date:Sun, 24 Oct 21 15:27:42 +0200

    How to Use Perfect Layout

    Thanks a lot for installing the Perfect Layout plug-in.


    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.
    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.
    When you start with this test file, just answer all dialogs with "ok" / "yes". By default the test file is stored in
    Windows: c:\program files (x86)\\Perfect Layout\Docs and Test Files\ES Perfect Layout Demo.musx
    MacOS: /Library/Application support/ Layout/Docs and Test Files/ES Perfect Layout Demo.musx

    More info on "How to use Perfect Layout" in the following sections.
    Get this document in printable format.

    Lua is a very slow programming language - more than 20 times slower than standard C++ (which Finale® uses) and more than 60 times slower than what modern parallel programming allows for example on a quad core processor.
    As MakeMusic, the creators of Finale®, did not want the plug-in to be published in fast C++, we unfortunately had to stick to Lua with its speed limitations. Hopefully MakeMusic will change its policy in the future, so we can make the plug-in much faster and even more pleasing to use.

    Therefore it is recommended to use a fast computer which means a very high GHz processing frequency. It doesn't need to be a new chip or a multicore processor as Lua only use one core, only the processing frequency counts.Recommended are (overclocked) frequencies above 4,0 GHz. A comparison of some computers and how they perform with the Perfect Layout plug-in can be found here ("Do I need a faster computer for the plug-in?" in the FAQ).
    When running the plug-in for the very first time, it takes longer until the main dialog appears because some font metrics files are created in the background.
    If you have many text fonts installed (especially huge unicode fonts), the metrics file creation process can take more than a minute (even 20 minutes if you have very, very many text fonts installed and use a slow computer). It's also possible that you will see a few black windows pop up during that process.

    The external progress bar and auto-minimize window function is also limited on the first run as it is possible that some popup windows with questions appear. After the first run the plug-in is much faster as this process only has to be done once.
    The Silver400/Gold400 edition are limited 400 measure and 36 (visible) staves. The plug-in won't work if your score is above that limit.
    Enter all notation symbols as Finale® places them by default.
    Don't waste time in manually correcting the placement of hairpins, custom lines, expressions or articulations.That's what the plug-in is for.
    But make sure that the symbols were not placed ambiguously.Otherwise the Perfect Layout plug-in might not optimize the symbol's layout as it is not clear which beat or which symbol it was originally intended to connect to.

    Example 1:

    Image 1:
    Left: Unclear on which beat the hairpin should end
    Right: It should end at the end of the measure

    Example 2:

    Image 2: Finale's placement options are very flexible, but sometimes it is difficult to detect if a placement was intended or is faulty.
    Left: Overlapping connection points. Was the hairpin intended to be in the first measure or in the second measure on beat 1? Why is mf connected to beat 3?
    Right: Clear placement

    Rule 1:
    The plug-in will only change the placement of symbols, if it is very likely that the new position was originally intended.
    (In other words: If in doubt, leave it out.)

    The good news is:
    The plug-in already has many rules for detecting and automatically fixing these scenarios.

    For example a little offset or a little overlap usually is no problem, as in these examples:

    Image 3: Overlapping hairpins that are connected to the same measure position are automatically corrected by the plug-in and horizontally optimized (at the start, the middle and the end).

    Image 4: Overlapping unambiguous expressions are automatically corrected.

    Image 5: Overlapping expressions and hairpins are automatically corrected.

    Rule 2:
    The clearer you place symbols, the better they are automatically optimized by the plug-in.
    Don't be overprecise, that's the job of the plug-in.

    Recommendations for optimizing your Finale® default document:
    1.) Smart Shapes: Turn on "SmartShape->Snap When Attaching to Beats"
    2.) Expressions: For a more uniform look it is recommended to have all expressions in an expression category that uses the "Category Positioning" instead of individual positioning settings.This is especially recommended for dynamic expressions, tempo marks and tempo alterations as these symbols are usually on the below or above baselines and vertically aligned.
    3.) Articulations: Optimize the default placement of articulations as this is where the plug-in usually moves the articulations - except when there are collisions.
    E.g. if you want to have an articulation appear below the note, don't use the placement "Position: Above Note" and move it manually below, but use "Position: Place Below".
    If necessary, you need to create duplicate articulations with different placement settings.

    Things to avoid:
    - Having two dynamics at the same measure position (except f p which becomes fp).
    - Having dynamics between hairpin start and end points (unless this is what you want).
    - Having dynamics and hairpins overlap and/or connect internally different than visually (as in image 2 above).
    Before applying the plug-in make sure all measures in the score and in the parts are on the staff system for the final version.Why? Because the vertical alignment of expressions and hairpins may be different, if a measure is shifted to another system.The horizontal alignment and spacing might also be handled differently if the measure layout changes.

    If you have several staff systems per page, make sure you have them on the correct page as the staff and system spacing will beoptimized (i.e. snap to bottom margin, no collision between staves and systems) during processing and several staff systems will have less space available than only one.

    Should you want to change the measure layout afterwards, this is, of course, possible. But you should check the vertical alignment of expressions and hairpins.It is possible to re-apply the plug-in on single (or multiple) pages, staves or measures. But this is never as good as running the plug-in on the full document as not the whole document data is taken into account.

    For example:
    When you select a staff on a system (i.e. measure 10-13) in the score and process it with the plug-in, it will look good afterwards. But as the plug-in at the same time also processes the data in the linked part, it might worsen the measures in the part if the staff system in the part has other measures that had not been not selected (e.g. measures 9-16).
    Of course, you can run the plug-in this way, you only need to be aware to check the parts afterwards.
    If you have activated "Automatic Music Spacing" (Preferences->Edit->Automatic Settings->Automatic Music Spacing), skip this step.

    The plug-in assumes that you have updated the music spacing before running the plug-in.
    Unless you have "Automatic Music Spacing" activated, you should manually apply music spacing before runnning the plug-in (Utilities->Music Spacing->Apply ...).
    Though the plug-in has a few spacing relevant correcting features (like note collision, chord collision, not enough space between hairpins and dynamics, etc.), it doesn't change the whole music spacing by default.
    However there are three scenarios where music spacing is applied to some measures or even the full document:
    a.) if the parts have many empty measures and the automatic creation of multi-measure rests implies a new layout,
    b.) if measures have certain note layer / second collisions, chord collisions and/or slash, blank or repeat staff styles,
    c.) if the plug-in option "Optimize -> Apply Music Spacing to Full Document Before Processing" is selected.

    See also 15.): The "Reflow Measures" settings from the preferences are taken into account when respacing.
    If you use linked parts - BTW, highly recommended as they are automatically processed by the plug-in together with the score -, you only need to one thing before running the plug-in:
    after the part creation through "Document->Manage Parts->Generate Parts", parse through all parts and optimize their measure layout as described in 5.)
    System spacing is currently only performed in the score and in extracted parts (but not in the linked parts -> this will be added in one of the next updates), so you don't need to have the systems on the correct page.
    It makes more sense to do this after the symbol layout has been optimized by the plug-in.

    The recommended workflow is that no other manual adjustments are done in the parts at this stage.
    Because some manual adjustments might be removed by Perfect Layout, so you would have to do them twice.
    However it's no problem for the plug-in if you do any manual adjustments before applying the plug-in.
    But it will probably save you more time if you do them after running the plug-in.

    Excursus: Handling of Score and Parts in the Perfect Layout plug-in
    Finale® has the "Edit Score" mode and the "Edit Parts" mode.
    But what if a Finale® document ("Score") is actually an individual instrument part ("Part"), i.e. if it only has one staff?
    The Perfect Layout plug-in automatically treats a "score" that has only one staff or a two staff-grouped system (e.g. piano) as a "part".
    Certain "only in parts"-features or part-dependent parameters are automatically activated in this case.
    Unfortunately it's not possible to automatically switch off music spacing through the JW Lua plug-in interface, so you need to do it manually.
    It is important to switch it off, because otherwise the spacing corrections of the plug-in may be automatically removed after the plug-in has finished.
    Make sure to have "Accidentals->Use cross-layer accidental positioning" in Finale's document options activated. Otherwise the accidental alignment won't work or even lead to colliding accidentals.
    Unfortunately this is a setting that JW Lua can't activate on its own. So you must do it manually. By default this option is activated in Finale 2014-27.
    Only Finale documents originally generated in older Finale versions (before 2014) have this option deactivated by default.

    Image: "Accidentals->Use cross-layer accidental positioning" must be activated
    Finale's own pickup setup leads to many problems, especially in spacing.
    It's very recommended (and standard among Finale powerusers) to fake the pickup measure instead with Finale's "Use a Different Time Signature for Display" feature.
    To convert your old-style pickup measure, go to Document->Pickup Measure and click on "Clear Pickup".
    Then open the time signature tool for the pickup measure, select the pickup duration in the "Number of Beats"/"Beat Duration" section, then click on "More Options", activate "Use a Different Time Signature for Display" and set the "Display" values to the correct time signature value (see image below for 4/4).

    After the conversion make sure to re-enter rests, re-assign staff styles, chords and/or expressions if they have disappeared.

    Image: How to setup a quarter note pickup measure in 4/4
    An automatic horizontal and vertical alignment of music and text symbols is only possible, if the plug-in knows what the symbol means.

    Perfect Layout uses three ways to achieve this:
    a.) It includes a music font database with about 1000 music symbols from more than 450 music fonts, so it can decipher most of the music symbols.
    b.) It analyzes the names of the expression categories.
    c.) It compares the contents of text expressions with a few standard texts like pizz., rit., a2, cresc., etc. and suggests to move expressions to the corresponding category if necessary.

    The better the expressions are assigned to the default categories, the better the alignment will be.
    In other words:
    Put dynamics expressions into the "Dynamics" category and tempo marks into "Tempo Marks" etc.
    It doesn't matter whether there are multiple "Dynamics" or "Tempo Marks" categories or just one.
    User-defined expression categories with the same key words as the default categories (e.g. "Dynamics for Vocal", "Rehearsal Marks 2") are recognized too.

    The plug-in supports to two special user-defined expression categories:
    a.) "Cues": put all text expressions here that go together with cue notes or that are just cue texts like "Fl.1", "Perc.", "Vln.2+Vla.", etc.
    b.) "In Parts Only": put all text expressions here that shall only be visible in the parts. The plug-in will hide them in the score.
    The name of these special categories can be adjusted in the plug-in's settings.

    Image 7: "Cues" category

    Image 8: "In Parts Only" category

    Only very standard texts like pizz., rit., a2, crescendo, a tempo, etc. are automatically moved by Perfect Layout into the correct category, if necessary.
    For example if your document uses tempo expressions like "Very fast, like running", these are, of course, not automatically detected by Perfect Layout and must be moved manually to the correct expression category before applying the plug-in.
    If niente circle expressions are not used in the score, skip this step.

    Niente hairpins in Finale® are usually constructed with a "circle" expression and a hairpin.
    The Perfect Layout plug-in automatically connects them visually.
    To improve the look, the niente expression should have an opaque enclosure, so that the hairpin is not visible through the circle.

    The plug-in automates this process and has three requirements:
    a.) The circle can be an "o", "O" or "0" symbol from any text font or a "o" symbol from any supported music font.
    b.) The expression must be located in the "Dynamics" category.
    c.) Select any (!) enclosure in the expression designer dialog (unfortunately it's not possible to this through a plug-in). Don't click on "Edit" or specify the enclosure settings. This will be done automatically by the plug-in. Just select an enclosure like "Square" or "Circle" (see image 7). Then click on ok.

    Image 9: Enclosure "Square" selected

    Image 10: Before and after running the plug-in
    The square enclosure is automatically reduced to the size of the niente circle.
    Perfect Layout includes many automatic optimizations for MusicXML imported documents or old Finale documents. The main function is automatic expression category assignment and automatic alignment of the expressions.
    However this only works if the plug-in is 100% sure that an expression belongs to a certain expression category or needs a certain alignment.
    This works fine for simple expressions like "a tempo", "arco" or all dynamic expressions.But it becomes difficult on ambiguous text expressions that could be either tempo marks, tempo alterations or expressive text.

    Our suggestion: if your score only uses the "standard" text expressions, just run the plug-in without changing any expression category assignments manually.
    In other cases you could try what happens in the plug-in without manually correcting the expression category assignment.Should you notice that some text expressions don't get a proper placement, you could undo the plug-in, correct the expression category assignment manually and then run it again.

    Note: If you correct the expression category assignment manually, you usually get a better placement if you select to "Use ... Category Positioning" (see image 11a).

    Image 11a: "Use Tempo Marks Category Positioning" in the Expression Designer dialog
    There may be situations where you have placed expressions in the score that the plug-in should not move at all.
    For example in very dense scores, technique or dynamic expressions might need a very special placement in order for the systems to fit on the page. Should you notice that the plug-in doesn't perform a good placement by itself, you can exclude expressions from plug-in processing.

    Note: if you have expressions that should be exluded at some places, but not everywhere, you need two expression definitions. Duplicate the original expression definition first and use the EXCLUDE expression only where required.

    The opposite is the command FORCEINCLUDE: if you have huge text expressions far above/below the staff, they are ignored by default for vertical alignment and/or vertical spacing.
    If you add FORCEINCLUDE to the description text, they will be included although this might result in huge vertical staff distances.

    Example: To exclude an expression simply add EXCLUDE to the description in the Expression Designer dialog:
    Image 11b: Adding EXCLUDE to the description

    A third option is to add ALLOWSHIFTRIGHT to text expressions (probably used on technique text expressions) to allow that they are shifted to the right of dynamics on the same measure position.

    Sometimes a shift to the right is performed automatically, even without ALLOWSHIFTRIGHT:
    Expressive text expressions are always shifted to the right.
    If the start point of the expression didn't become unclear through the shift to the right, then the expression would also be shifted automatically.
    In image 11c adding ALLOWSHIFTRIGHT is necessary, as the short 8th notes otherwise make the start point unclear.
    Note: It might be better if you put the technique expression above the staff, if there are no other expressions, to make the start point even more clear.
    For more examples of multi-expression collisions see here.

    Image 11c: Without (left) and with ALLOWSHIFTRIGHT text

    Starting from PL v2.2.3 it's also possible to add EXCLUDE, FORCEINCLUDE, ADDEXTRASPACE or ALLOWSHIFTRIGHT to the expression category name. This will apply to all expressions in that category.

    Image 11d: EXCLUDE in category name
    The Perfect Layout plug-in reminds the user to run other layout plugins like Patterson Beams (Beam Optimization) or JW Yada Yada (Tremolo/Beam/Stem Optimization).
    These should be run before the Perfect Layout plug-in as they influence the final layout, vertical spacing and collisions.
    Running them afterwards can introduce new collisions or result in an unbalanced staff spacing.

    If you have a huge document which uses "real whole rests" in thousands of measures instead of Finale's default whole rests (which are only visible, but no real note entries), then it is recommended to run Finale's own "Change to Default Whole Rests" plug-in before running Perfect Layout.This is much (!) faster than the JW Lua implementation which may take several minutes on huge scores.
    On smaller scores, like 100 measures and 20 instruments, it doesn't make a big difference.
    Usually there is no reason to use "real whole rests" in Finale, that's why Perfect Layout optimizes them to the default setting.
    The "Reflow Measures/Systems" settings in Finale's own preferences are crucial for Perfect Layout's measure and system layout!So please set the "Reflow Measures" options according to your needs before running the plug-in. If required, also add page breaks to the document.

    When the document spacing is changed by the plug-in, it will use these reflow settings.
    Except when only "Do Not Reflow" is selected: "Do Not Reflow" is temporarily overridden with "Only Within Systems" - otherwise the plug-in doesn't make sense.

    "Only Within Systems" means that any spacing changes will only affect the measures on the same systems, but not the other systems. So all measures will remain in their system and not jump to the next system.

    Selecting "Reflow Across Systems" can lead to measures being moved to another system and "Reflow Systems Across Pages" even moves full systems to the next page if there is enough space.

    Dependent on the quality of your manual measure layout (see above), either of these options may be the best solution:
    If you have already created a manual measure layout (i.e. making the correct page turns, etc.), then "Only Within Systems" and not "Reflow Systems Across Pages" is probably the best setting.

    If you have created a measure layout for each system, but no page layout, then "Only Within Systems" AND "Reflow Systems Across Pages" is the way to go.

    If you have a few systems that are already locked, "Across Systems (Maintain System Locks)" might be your choice.

    If your linked parts have many empty measures and don't have multi-measure rests yet, it is recommended to have "Reflow Systems Across Pages" and "Across Systems (Remove System Locks)" activated, so that the measure layout is completely redone in the parts.

    Note: If you use "Across Systems" with the plug-in, it will automatically reset the reflow setting at the end of the processing to "Only Within Systems". Otherwise the document layout would be destroyed too easy after the processing.

    Image 11c: Finale's Reflow Measures settings under Preferences->Edit
    Please set the "Manual Positioning" option in Document Options->Music Spacing according to your needs.

    If it is set to "Clear" or "Ignore" the manual positioning might be removed. If it is set to "Incorporate", the manual positioning will be kept unless there are collisions.
    Of course, it's possible to run the plug-in both in "Concert pitch" and in "Transposed Pitch" mode.
    However, before running the plug-in, you should adjust the score and the parts to the pitch that you want to use later at print time.
    Otherwise the vertical/horizontal alignments and music spacing adjustments created by the plug-in may not fit optimally if you change the display mode later (e.g. because more accidentals require more space, because of very low notes, because of other key signatures, etc.).

    If you still want to change the pitch mode after running the plug-in, you can, of course, do it.
    If necessary, it's possible and recommended to run the plug-in again - either on the full score or on selected parts only.
    The automatic system and staff balancing forces the systems to stretch until the page bottom margin.So you need to set a good value bottom margin now. You can change it later for alignment of page text objects.Now it is only needed as a marker for bottom of the staves.

    In the plug-in settings you have three alignment options:
    a.) Align the page bottom margin with the bottom staff line.
    b.) Align the page bottom margin the lowest element on the bottom staff.
    c.) Align the page bottom margin with the bottom staff line plus a fixed margin.

    The plug-in doesn't perform any collision detection with page text elements and systems.
    Very often the first page of the score has a large copyright notice at the bottom.
    In this case the bottom margin of the first page must be set above the copyright notice, so it will mark the lowest position of the system.The first bottom margin will also be above the bottom margins of the following pages (see image 14).
    When changing the bottom margin by mouse, make sure to select "Adjust Current Page Only" on the first page (by right-clicking the mouse). Then the other bottom margins will remain unchanged.

    Image 14: The systems will be aligned to the bottom margin of a page
    If you use Finale 26, you should pay attention to the new Finale 26 features "articulation stacking" and "slur collisions with articulations".As MakeMusic hasn't release the Finale 26 plug-in software yet (and thus JW Lua hasn't been updated to these new features), these new features can't be detected by the plug-in.
    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.

    Don't forget that new documents created with Finale 26 are NOT compatible with Finale 25 anymore (not in general, but the articulation placement will be messed up when you load the document in a previous Finale version). This doesn't have to do with plug-ins, but with the new articulation feature and the way Finale saves articulations.So if you plan to use the document in Finale 25 or Finale 2014, don't create it with Finale 26, but with Finale 25.
    Before running any plug-in always make sure to save the Finale® document file for the unlikely case of an abrupt termination of the plug-in or even a crash of Finale®.

    A termination of the plug-in usually comes with this error message:

    Image 12: Plugin Termination Error

    Please contact support should this occur. Usually this can be fixed quite easily, but it requires sending in the Finale® document to find out where exactly the error has occured.

    Five types of crashes are known of which three are relevant for the Perfect Layout plug-in:
    a.) If the plug-in is run in Finale® 2014/2014.5, it can crash in "huge" scores because of a limited 32bit memory.
    Unfortunately we haven't found out yet what the exact limit for a "huge" score crash is.
    The smallest files that crashed Finale® were about 1,5 MB of size, held about 50 or more staves and typically at least 300 measures.
    But there have also been many files of more than 4 MB in size, about 40 staves and 200 measures that didn't crash Finale® 2014. So it's probably not the file size, but the number of staves, measure and note entries that leads to the crash ("Frames" in Finale's statistics dialog).
    How to prevent this: these crashes don't occur in Finale® 25 / 64 bit.
    b.) Corrupt Finale® documents can crash the plug-in. In our beta tests this occured only in Finale® documents that also crashed other third party plugins or Finale's own plugins. So it seems to be a Finale® problem.
    c.) Every now and then (about every 100.-200. plug-in call without closing Finale®) the plug-in crashes Finale® because of a "Measure Number Region" error. It seems to be a bug in the JW Lua PDK, but it hasn't been located yet. In this case simply restart Finale® and rerun the plug-in - it won't occur again.
    d.) The JW Lua plug-in interface has a few known cases where it can crash Finale®. Neither of them is implemented in the Perfect Layout plug-in, so this shouldn't occur.
    e.) Yet unknown crashes might occur. Not very likely, but not impossible.
    In case of a crash, restart Finale® and try to run the plug-in again - most probably it was the "Measure Number Region" crash which occurs irregularly. Should Finale® crash again, please contact our support.
    It is recommended to run the plug-in on the full document in "Edit Score" mode as only this activates all features and also processes all parts.You can either manually select the full document before running the plug-in or select nothing which will automatically select all. The plug-in can be run in Scroll or Page View.

    There are two ways to start the plug-in:
    1.) Standard: Click on Plug-ins->JW Lua->ES Perfect Layout.

    Image 13: Starting the plug-in

    2.) Within JW Lua: this is described here.

    Features that will only work in full document mode:
    - System and staff balancing (also works if a full page is selected)
    - Optimization of expression default positions and default categories (e.g. for MusicXML import)
    - Expression baseline changes
    - Updates on measure number ranges in multi-measure rests
    - Invalid slur deletion
    - Fixing weird top staff margins after staff deletion

    The plug-in will remind the user of all tasks listed above (1. - 11.) by default.
    It is possible to turn off these reminder dialogs (General->Bypass All Warning Dialogs)
    But it is highly recommended to keep them in as it is very likely that one has forgotten one or two things before running the plug-in.
    Should you notice that other plug-in parameters might work better or that you had forgotten anything before running the plug-in, you can undo it and rerun it with new parameters.

    It is also possible to run the plug-in multiple times.
    When running the plug-in multiple times with same parameters (well, that doesn't make sense, but anyway...), the results are usually not identical, but in general they do not improve the layout a second time.Especially hairpins might change their start or end position a second time when called twice, so that they move further away from their original position which isn't known anymore in the second call.
    The staff and system spacing is very likely to change when the plug-in is applied multiple time as already tiny deviations in the layout might result in small changes in the spacing algorithm. This is due to the iterative approach in the spacing algorithm.

    Clicking on Undo/Redo for a fast before/after comparison of the plug-in is possible, but unfortunately it does not always work well when a lot of respacing has been done by the plug-in.
    There is also a known bug, where page breaks in parts may lead to staff systems disappearing in the score when clicking on "Redo".
    For a yet unknown reason (we assume a bug in the Finale® PDK or the JW Lua PDK) the page layout is sometimes not updated when calling "Redo", so the spacing will get messed up on "Redo".
    If the spacing hasn't been changed much, undo/redo works fine.
    If any manual adjustments are still required, now the time has come.
    It's also possible to re-apply the plug-in on selected areas, if any manual adjustments were made that could be improved by a selective rerun.
    The following Finale® preferences and document options will change through the plug-in:
    If the measure reflow option "Edit->Preferences->Across Systems (Remove System Locks)" was activated, it will become "Across Systems (Maintain System Locks)" to not destroy the layout that the plug-in has created.
    Read more about solving "Measure Reflow" issues in the Perfect Layout FAQ.

    If the document option "Multi-Measure Rests->Update Automatically" was activated, it will be turned off to keep the new multi-measure rest layout.

    Don't forget to reset the Finale® preferences according to your needs for other documents!
    Finale® doesn't save "Edit->Preferences"per Finale® document, but only globally. So you may have to adjust these values for your next document.

     Manual and User Dialog Settings

    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 Tabs

    You can click on the tabs (see red mark) to navigate through this online help system.
    In the plug-in many options also have preview images which pop up if you click on the little button next to the option (from v2.023+).

    Perfect Layout: Settings
    DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
  • Do First
  • Optimize
  • Reset / Hide
  • Multi-Measure Rests
  • Chords
  • Groups
  • Alignment
  • Layers/Cues
  • Tuplets
  • Expressions
  • Articulations
  • Hairpins
  • Slurs/Ties
  • Counting
  • Systems
  • General
  • Load/Save
  • Other Features
  • All distance values in the screen shots are shown in EVPUs (Finale's internal measurement system).
    If you work in a different metrics system, the plug-in will show converted values according to your selected system.

     Do First

    Perfect Layout: Settings Do First DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Do First DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    Note: The settings on this tab are important for correcting slur and trill shape articulations.
    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 your document uses user-defined slur contour settings (i.e. not Finale's default settings), you need to manually enter these settings here.
    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.
    If your document uses trill shape articulations, i.e. "Trill with Flat", "Trill with Sharp" and/or "Trill with Natural", then select the shapes here by clicking on the "Select Shape" buttons.
    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

    Perfect Layout: Settings Optimize Finale's Defaults DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Optimize Finale's Defaults DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    In the "Optimize" section you can select which document options should be changed to the plug-in's optimized values.
    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.
    The plug-in will also automatically update the staff line, stem line, bar line and ledger line thicknesses unless you have changed them manually to values where the thicknesses are not equal.
    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.
    When the tuplet default settings are updated, Finale® doesn't automatically update the existing tuplets.If you want to have the tuplet settings copied to each tuplet, select "Copy Default Settings to Tuplets".If "Optimize Tuplet Settings" is selected, the settings are always copied to the existing tuplets.
    In the Silver edition the default settings are always copied to the existing tuplets, as "Copy Default Settings to Tuplets" can't be deactivated.

    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.
    The "Optimize Rests" option enables the algorithm for better rest splitting (e.g. dotted quarter in 6/8, etc.). In scores Perfect Layout also analyzes other staves to detect for example if a 5/4 time signature is split to 2+3 or 3+2.
    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.

    Image 1: Allow Combined Rests at Beginning of Beat in Compound Meters if Preceded by Rests

    Image 2: Allow Combined Rests at Beginning of Beat in Compound Meters if NOT Preceded by Rests

    Image 3: Keep Combined Rests at Offbeat in Compound Meter Unless Followed By Rests
    (Note: this option doesn't combine rests, but only keeps already combined rests if these were manually created by the user)

    Image 4: Allow Dotted Rests in Compound Meters
    (Only affects rests below beat duration)

    Image 5: Allow Dotted Rests in Simple Meters
    (Only affects rests below beat duration)

    Image 6: Keep 16th Note/8th Rest/16th Note Pattern (available in v3.0)
    When the grace note optimization is activated (it is by default), the following two corrections are done on grace notes:
    - Single grace notes are converted into slashed eighth note grace notes
    - Multiple grace notes are converted to 16th note grace notes
    This feature can only be deactivated in the Gold version of Perfect Layout.

    In the spacing section you can also select when a full document (re-)spacing has to take place.
    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.
    You can adjust the baseline position and the baseline and the offsets for dynamics and expressive text ("Vertical Entry Offset" and "Baseline Offset"). The Baseline Position is the vertical offset from the middle of the staff lines.
    The default values in Perfect layout are:
    97 EVPU (Above Staff Baseline), -134 EVPU (Below Staff Baseline), 11 EVPU Baseline Offset, -66 EVPU Entry Offset.
    These four values are written directly into the corresponding slots in Finale (see images 7 and 8).
    If you deactivate this option, Perfect Layout will use the baseline/offset settings from your document.

    Image 7: Expression baseline settings in Finale controlled via the four triangles
    (Above: 97 EVPU / Below: -134 EVPU by default)

    Image 8: The baseline/vertical entry offset values are written into the Dynamics/Expressive Text categories

    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.


    Perfect Layout: Settings Reset/Hide DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Reset/Hide DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    In general, the Perfect Layout plug-in aligns dynamic and expressive text expressions below the staff both horizontally and vertically.
    Tempo and rehearsal marks, along with tempo alterations are aligned above the staff both horizontally and vertically.
    All other expressions are left untouched.

    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 large, it is unlikely a clear zero position was intended by the engraver. In this case manual (horizontal) adjustments are not reset. The thresholds for these "extended offsets" can be set in "Reset Horizontal Position of Dynamics Until Maximum Horizontal Offset" and "dito., Max. Horizontal Reset Offset for Whole or Dotted Notes".

    Dynamic expressions in staves with lyrics are very often placed above the staff.
    Dynamic expressions placed above the staff are not taken into account by the plug-in and are not aligned.
    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"

    Just as expressions articulations positions are usually first set to the vertical default position and then tested for collisions.
    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.
    Note: Bow marks are only hidden on string instruments. So make sure to use a recognizable instrument name, a string instrument ID or a string sound.
    The option "Reveal Accidentals on False Tied Notes" shows accidentals that were forgotten to add and only disappeared because of Finale's function to automatically hide accidentals if a note is tied.
    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
    It is recommended to let the plug-in remove all manual slur adjustments by selecting "Reset Manual Slur Adjustments". Otherwise slur optimizations may not work.
    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.
    To remove faulty manual note positions that were created accidentally, the Perfect Layout plugin has the option to do this automatically according to Finale's settings from Document Options.If the option "Automatic According to 'Manual Positioning' from Document Options" is selected, then it will either clear or keep manual adjustments of notes dependent on the 'Manual Positioning' setting from Finale's document options.

    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 (see image 3).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.

    Image 3: "Single Pitch Notes" on the percussion staff line (activated) and above the staff line (deactivated)

    By default flipped stems in one-layer measures without slurs are corrected by Perfect Layout. With the option "Remove Flipped Stems Also on Slurred Notes" you can also activate this feature for notes under slurs.
    The option "Reset Left Start Point Offset of Lines That Start on Beat 1" is helpful for most custom lines as it is difficult to place them with a horizontal offset 0 on first try.
    But there are, of course, scenarios where this option should better be switched off (especially in contemporary notation).

    Image 4: Left: Original, Right: Start position set to horizontal offset 0.
    "Clear Manual Vertical Lyrics Positioning" removes all manual adjustments. They appear especially in imported MusicXML files.

    Image 5: Left: Original, Right: After vertical reset

    The option "Always Hide Empty Staves in Parts" was meant for multi-staff percussion instruments where the parts had to be optimized because of many empty staves.
    The option "Keep All Instruments on First Staff System in Parts" makes sure that at least on the very first staff system all instruments are visible (for example, if it's a percussion part with multiple instruments).
    If you want to exclude staves from hiding, make sure to deactivate "Allow Hiding When Empty" in Finale's Staff Attributes dialog.

    Parts that only have a two staff isntrument (e.g. piano or harp) are currently excluded from this feature. If you want to optimize the staff systems of your piano part, you must do it manually.

     Multi-Measure Rests

    Perfect Layout: Settings Multi-Measure Rests DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Multi-Measure Rests DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    Perfect Layout can automatically (re-)create multi-measure rests in parts. It can do it both on documents where multi-measure rests have already been created and those where they have not been created at all or only partially.
    The more multi-measure rests are created, the more there is a need to reflow the measures across systems.
    While in music theatre scores it's common to always have a certain number of measures per line, in classical score it's more common to put more music on a line and on a page.
    Perfect Layout supports these different needs by giving several measure reflow options as shown in the next images.
    Image 1 is the default look before running Perfect Layout. Images 2-5 use different Perfect Layout multi-measure rest and reflow settings (from Finale's Preferences->Edit->Measure Reflow).

    Image 1: A part before running Perfect Layout

    Image 2: Preferences-Edit->Reflow Measures->Across Systems (Remove System Locks) activated

    Image 3: MMRests->Automatic Reflow If the Number of MM Rests Has Significantls Changed activated, Preferences-Edit->Reflow Measures->Across Systems (Maintain System Locks) or Only Within Systems activated

    Image 4: MMRests->Maintain System Breaks activated, Preferences-Edit->Reflow Measures->Across Systems (Maintain System Locks) or Only Within Systems activated

    Image 5: MMRests->Maintain System Locks activated, Preferences-Edit->Reflow Measures->Across Systems (Maintain System Locks) or Only Within Systems activated
    You can choose to apply the "Classical Look" to multi-measure rests by selecting "Force Classical Look". That means: classical rest symbols and also multi-measure rest symbols in 1-bar measures (see image 6 below). By default this option is unchecked.
    If this option is unchecked, the multi-measure rest style will not be changed.

    Image 6: Default Look / Classical Look
    The measure number range (e.g. [24-34]) below a multi-measure rest can be very helpful for the player. But it should not include unnecessary information either. So it makes sense to not show it on every multi-measure rest, but only on the longer ones and for example after each double bar line (Option: "Show Measure Rang After Double Bar Lines").
    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 7).

    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 7: Adaptive Measure Range Visibility on Multi-Measure Rests: Visible if at least 10 adjacent measures and after double bar lines.
    To faciliate reading you can select to hide tempo alterations in multi-measure rests: select "Hide Tempo Alterations in MM Rests". Depending on the content, this may be appropriate or not. This option is unchecked by default.
    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 8: Some Multi-Measure Rest Settings
    Right-aligned tempo marks in the last measure of a multi-measure are typically being swallowed by Finale's multi-measure rest creation algorithm.
    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 9 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 9: Tempo Marks at the End of Multi-Measure Rests


    Perfect Layout: Settings Chords DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Chords DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    For better readability of a conductor's score it's possible to show chord symbols only on selected staves.For example if a jazz band score has chord symbols on the piano, electric guitar, electric bass and vocal staff, it make senses to limit their visibility to the piano and/or e-guitar staff. This will give you more vertical space on the page.
    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.
    The chord default position can be automatically changed to "Left"-aligned - recommended for better readability and checked by default.

    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.


    Perfect Layout: Settings Groups DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Groups DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    By default the plug-in hides group names in parts. E.g. on a piano part the "Piano" name left to the staff lines (=group name) will be hidden, so that only the part name is visible.
    If the part doesn't have a page text object with the part name, the group name will not be hidden.

    Image 1: Hide group names in parts
    For better readability group brackets are can be automatically added to staff groups with at least three staves (Option: "Add Group Brackets on Groups with at Least 3 Staves").
    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.

    Image 2: Add group brackets to groups of at least three staves

    When importing old or MusicXML documents, the repeat brackets and repeat text elements often show up on every staff.
    It usually looks better if only placed on the top staff or only few staves. The "Show Repeat Brackets and Texts" option solves this.


    Perfect Layout: Settings Alignment DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Alignment DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    The Perfect Layout has two algorithms for placement of tempo and rehearsal expressions above the staff:
    a.) Align each expressions individually (closest to the staff)
    b.) Align all expressions per system on the line of best fit (above all other objects)
    c.) Align all text expressions on the line of best fit, 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.

    Image 1:
    Top (a): Individual alignment (close to the note/staff)
    Middle (b): Alignment on the best line of best fit
    Bottom (c): Alignment of the text expressions. Rehearsal marks are close to the notes/staff.
    Some general options for expression, articulation and hairpin alignment can be set on this tab:
    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 easy 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 has eight predefined values (-9, -6, -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
    Note: If there is enough space before the fff in measure 1 and the fff would be placed below the "Express.->Very Low Note Threshold Below Staff Line" value, Perfect Layout will automatically move it before the first note (not below).

    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.) Even out 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 even out 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).

    Image 3:
    Top: All dynamics are aligned, also if unconnected.
    Bottom: Only those dynamics are aligned that are connected by a hairpin.

    While dynamics and hairpins and single staves are aligned with a certain distance to the lowest object above them, on two staff groups like in piano notation they are usually centered between the lowest object from above and the highest object from below.As is single staves they still have to be connected to adjacent dynamics/hairpins in a musical and visually balanced way.
    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.

    In order to avoid collisions of rehearsal marks and measure numbers, you can easily select their placement in "Place Rehearsal Marks at Start of System" and "Place Measure Numbers at Start of System".Of course, it is also possible to keep the original position.
    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:

    Image 5:
    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".
    Perfect Layout supports automatic vertical alignment of lyrics in relation to the lowest notes, articulations, slurs or ties.
    Tuplet brackets on lyric staves are automatically shifted onto the top of the staff to avoid collisions (measure 1).

    The adjustable vertical distance options are:
    Vertical Distance to Lowest Note
    Distance Between Multiple Lyrics Lines
    Distance to Bottom Staff Line
    (if all notes are only above the bottom staff line)

    If you have hairpins below the staff, there are also four options for handling lyrics collisions with hairpins:
    1.) Keep HP Position / Allow Collision with Lyrics
    2.) Keep HP Position / Move Lyrics Down
    3.) Move Hairpins Below Lyrics
    4.) Move Hairpins Below Notes
    On the Perfect Layout Gold version these options are available on the Hairpins tab.

    Image 6: Automatic Multi-Verse Alignment with the Perfect Layout Plugin
    Perfect Layout can do a few auto-corrections on horizontal accidental placement with the option "Horizontal Alignment of Multiple Accidentals":
    a.) Accidentals are moved closer together if there is sufficient vertical space. This depends on the accidental shape and also included parentheses (Image 7).
    The amount of overlap can be controlled with "Horizontal Distance of Several Non-Colliding of Parenthesized Accidentals".
    b.) Gaps between notes and accidentals on chords with seconds will be reduced (Image 8 - supported from Perfect Layout v2.42)

    Make sure to have "Accidentals->Use cross-layer accidental positioning" in Finale's document options activated (see Quickstart: How to use).

    Image 8: Overlapping accidentals

    Image 9: Reduced gaps on chords with seconds

     Layers and Cues

    Perfect Layout: Settings Layers and Cues DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Layers and Cues DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    If your document uses linked parts with "Specify Vocing" and "Selected Notes Only", please activate the option in the Perfect Layout dialog.
    Unfortunately JW Lua can't read these settings automatically. In these cases Perfect Layout runs slightly slower as it is more difficult to detect which notes appear in which part.
    The plug-in can move all notes that were accidentally inserted in upper layers to layer 1. It doesn't do it when the layer has different playback attributes or if it contains resized notes (probably cue notes).
    The option "Remove Unnecessary Use of Layers 2-4" is checked by default.
    The following before/after images give an overview of Perfect Layout's cue text and cue note features (Image 1: score look, images 2-5: part look).
    The Finale documents of these cue examples can be downloaded from the example page (Example 5).

    Image 1: Cue texts and cue notes in the score before/after applying Perfect Layout.

    Image 2: Timpani part: A two-layer cue with non-fixed lyrics size text font on layer 4 and melody cue on layer 3.

    Image 3: Glockenspiel part: a single layer cue with fixed lyrics font size on layer 3.

    Image 4: Perucssion part: a single layer cue with melody only, hairpin will be hidden for simplification.

    Image 5: Drum Set part: cue text only which automatically breaks the multi-measure rest in the part as it was part of the "cue" expression category.

    All cue options in detail

    The Perfect Layout plug-in has a few functions dedicated to cue notes and cue texts.During initalization of the plug-in it tries automatically detect the "Cue Note Layer" and, if used, a "Cue Lyrics Layer w/Hidden Notes" (which some use for lyrics scaling).
    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 6: 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).
    It's possible to let Perfect Layout hide some symbols in cue measures: hairpins and custom lines are hidden by default (Option: "Hide Hairpins and Custom Lines In Cue Measures").In the Gold edition you can also automatically hide trills (Option: "Hide Trills in Cue Note Measures", deactivated by default).


    Perfect Layout: Settings Multi-Measure Rests DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Multi-Measure Rests DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    The following before/after images give an overview of Perfect Layout's tuplet features.
    The Finale documents of these tuplet examples can be downloaded from the example page (Example 4).

    Image 1: Before applying Perfect Layout

    Image 2: After applying Perfect Layout

    Image 3a: Tuplet brackets before applying Perfect Layout

    Image 3b: Tuplet brackets added on ambiguous beamed notation with the default settings of Perfect Layout (v2.023)

    Tuplet options in detail

    "Put Tuplet Brackets on Ambiguous Tuplets" adds tuplet brackets on beamed notes when the tuplet doesn't start on the first note of the beamed group and thus is difficult to read.

    Image 4: Left: Original, Right: Added Brackets

    Another tuplet feature which can't be unselected is automatic secondary beam break insertion as in image 5:

    Image 5: Left: Original, Right: Added secondary beam break

    "Put Tuplet Brackets on Unsymmetrics Tuplets" adds tuplet brackets to unsymmetrics tuplets (i.e. if the duration of the notes is different from left to right than from right to left).In these cases it might be difficult to decipher the reference duration of the tuplet.

    Image 6: Left: Original, Right: Added brackets only to unsymmetric tuplet to not mix it up with a 16th note tuplet

    "Increase Tuplet Number If Max. Note Duration Is Shorter" changes the tuplet number for better readability if it doesn't match the note durations.I.e. six 16th notes with a "3" tuplet number would be transformed into a "6".

    Image 7: Left: A five 8th note tuplet with 16th notes becomes a ten 16th notes tuplet

    For better readability tuplets on extreme low or high notes can get their brackets on the note side (instead of the stem side).
    Check "Put Tuplet Brackets on Notes Above Staff Position X on Top" for that feature. X is the minimum note position where this feature is activated:
    1 means the first ledger line, 2 the space between the first and the second ledger line, 3 the second ledger line and so on.
    By default this option is selected and affects notes on the second ledger line and above.
    This feature always works on tuplets above and below the staff.
    To switch off this feature, set the value to a very high value (e.g. 30 instead 3).

    Image 8:
    Left: Original, Right: Tuplets on extreme notes are put on the note side and get brackets (X=3)

    For better readability Perfect Layout can simplify or even remove tuplets in case of duplets:
    "Remove Tuplet Symbols From Duplets" removes the tuplet bracket/number from duplets and converts the note durations (see measures 1 and 3 in image 9).
    "Simplify "Half" Duplets" removes one half of a tuplet if the remaining note would be "one half of a duplet" and the other half would be easier to read (see measures 4 and 5 in image 9).
    Note: On the Silver edition of Perfect Layout these two options are available as one combined option only.

    Image 9:
    Top: Duplets before applying Perfect Layout
    Bottom: After Perfect Layout m.1 and m.3 were converted through the Remove Tuplet Symbols From Duplets option.
    Measure 4 and 5 were converted through the Simplify "Half" Duplets option.
    Measure 2 has not been changed, because it wouldn't have been much easier to read without the tuplet symbols.

    On tuplets that start or end with rests Finale often creates angular tuplet brackets which not always look so pleasing.
    Perfect Layout offers several options to flatten these tuplet brackets:
    a) Keep as it is
    b) Flatten if Above Minimum Angle
    c) Flatten if Above Minimum Angle or All Outbound Tuplets
    d) Flatten All Tuplets that Start or End with Rests
    The minimum angle is adjustable (6° by default).
    Outbound tuplets means all tuplet brackets that have their highest offset over the starting or ending rest

    All of these flattening options are showcased in this video:
    Video: Flattening Tuplet Brackets


    Perfect Layout: Settings Expressions DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    The silver edition has no expression tab.

    Overview of the dynamics and hairpin features:

    More info on these images available on the examples page or in the zoomable PDF.
    There are many scenarios where multiple expressions on the same measure position or colliding horizontally can occur. Perfect Layout can handle many, but not all of these cases yet.
    The following two images show a before/after Perfect Layout look demonstrating some multi-expression cases (created with v2.023). It's also available as a real-time video and as a Finale document for download.

    Image 1: Handling Multiple Expressions (before Perfect Layout)

    Image 2: Handling Multiple Expressions (after Perfect Layout)

    To prevent expression collisions please note:
    1.) If possible, don't stack more than two Rehearsal/Tempo expressions (see m.10 in image 2).
    Workaround: Create a mulit-line expression instead of several single line expressions (as in m.4).

    2.) Don't put several Technique Text expressions on the same side of the staff (see m.2 beat 1).
    Workaround: Put one expression below, one above (m.2 beat 2) or attach them to different measure positions.

    3.) If you put Technique Text expressions after or onto a dynamic expression, make sure it is still clear to the reader on which beat the technique is to be applied (see con sord. m.10-15).
    If placed after the dynamic on short notes (m.15), it may be unclear. In this case it might look better, if placed above the staff.
    You could also add ALLOWSHIFTRIGHT to the expression's description text: in that case the text expression would automatically be shifted to the right of the dynamic (see description here).

    4.) As an exception of 3.) PL moves text expressions with an italic font style behind dynamics as it assumes that these are actually Expressive Text expressions which are clear enough to the read, even if placed after the dynamics.

    5.) If 1.), 2.), 3.) and 4.) is not possible, then place your expression manually before running the plug-in and add EXCLUDE to its description text in the Expression Designer dialog.
    Perfect Layout will then omit the expression. Beware that this also may affect other occurences of the expression in the score.
    In this case: duplicate the expression and create one expression with and one without the EXCLUDE mark.
    More about the EXCLUDE and INCLUDE tag can be found in the "How to use"-document.

    6.) If a Rehearsal/Tempo Mark mark on beat 1 collides with a rehearsal letter in the next measure, Perfect Layout can broaden the measure and even move other measures to the next system (see m.3 for broadening and m.6 for moving to the next system).
    Make sure to have "Preferences->Edit->Reflow Measures->Across Systems" and maybe even "Across Pages" activated, otherwise this feature might not work properly if there is not sufficient free space for broadening the measure.

    7.) Tempo Alteration expressions attached after beat 1 may collide with rehearsal letters/mark in the next measure (see m.8/9).
    Perfect Layout doesn't remove this collision by default (by shifting the the rehearsal letter up), because a manual/individual solution looks better in most of these cases.
    Nevertheless this feature (Shift Rehearsal Letters Up on Tempo Expression Collisions) can be activated on the "Alignment"-tab (as of PL v2.023).

    8.) Two dynamic expressions "f" and "p" on the same measure position are horizontally aligned to "fp" (m.8).
    If you require the rarely used "pf", please create it as a single expression.

    9.) Dynamics together with "expressive text"-custom smart lines (e.g. "f" + "cresc. - - - - - - -") are currently not aligned automatically by Perfect Layout yet.
    Workaround: Use expressive text expressions ("cresc.") instead.
    This is on our to do-list for on one of the upcoming updates.

    10.) When running Perfect Layout on an old or MusicXML-imported Finale documents, make sure to apply it at least the first time to the full document.
    Perfect Layout optimizes many expression default positions, especially in old/MusicXML documents.
    But this function is only activated when running the plug-in on the full document as otherwise inconsistencies may occur.
    "Old" means in this case created before Finale 2014.
    To get the best results with the Perfect Layout plug-in it's important to use Finale®'s expression categories correctly.
    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").

    Note 1:
    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.

    Note 2:
    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.
    Compound dynamics like poco pp, sub ff. or molto f require extra attention because they are often so wide that their placement may be ambiguous (image 3).

    Image 3: Ambiguous dynamics - does it start on beat 1 or beat 2?

    Note: For subito expressions it is recommended to always use "f sub." instead of "sub. f" or "subito f" which usually makes it more clear in the score by default.
    More examples of non-recommended subito use are in m.3 in image 5 further down.

    Image 4: sub. f and subito f are difficult to read; f sub. is clear

    Perfect Layout offers three options for horizontal placement of these compound dynamics (for examples see image 5 below).
    In PL Gold you find this option on the Expressions tab, in PL Silver on the Alignment tab.

    1.) Align to the Center of the Dynamics Symbol (default option)
    Based on the suggestions by Gould in Behind Bars this algorithm always centers the expression under the dynamics symbol if the expression starts with a text (like poco, molto, sub.).On barline collisions an opaque background is automatically added.

    Note: Make sure to have any expression in the expression dialog that already uses any enclosure.
    In Finale enclosures/opaque backgrounds can only be copied and modified from existing expressions, but not created automatically if no expression uses an enclosure.There will be a warning message if Perfect Layout hasn't found any expression with an enclosure.

    2.) Align to the Center of the Full Expression and Don't Break Barlines
    This option prefers align to the center of the full expression and prevents barline collisions by shfiting the expression away from the barline.
    Although this style has been frequently used in previous centuries and handwritten scores it often leads to ambiguous placement of dynamics (see m.2 below in image 5).Please use this option with care or switch to option 3 ("Flexible") which prevents ambiguous placement in most cases.

    3.) Align: Flexible
    This option is a combination of 1. and 2. It allows crossing barlines by adding opaque backgrounds to prevent ambiguous placement.
    If the bar is not ambiguous (e.g. a wide dynamics under a whole note, m.6 in image 5), then it will be shifted away from the barline.
    If there is enough space, it will align to the center of the dynamics symbol (e.g. m.4 in image 5).
    Otherwise it will align to the center of the full expression.

    Image 5: Overview of the options for compound dynamics placement
    You can remove the opaque background from rehearsal and tempo marks/alterations with the option "Remove 'Opaque' from Reh./Tempo Marks".
    Usually the opaque feature is not required for rehearsal marks after applying PL, as the plug-in will remove all collisions anyway. Nevertheless it's possible to fine-tune this feature by the selection list which includes
    "Don't Remove",
    "Remove If Most Expressions Are Opaque" and
    "Always Remove".
    If the lowest element on a measure or staff is above the lowest baseline, the dynamic expressions can be shifted upwards (Option: "Shift Dyn. Epxressions Up by XXX If Lowest Element is Staff Line").By default Perfect Layout will search the whole system for the lowest element. If "For Lowest Element Only Look at Expression's Measure" is selected, it will only analyze the measure of the expression for the lowest element.

    Also check "Alignment->Align Dynamic Expressions Only If Connected by Hairpins". If this is not activated (which is by default in parts), it may lead to dynamics being vertically aligned which override the "Shift up" value.

    Image 6:
    Left Measure: Default placement of dynamics at baseline
    Right Measure: "Shift up by 6 EVPU" and "For Lowest Element Only Look at Expression's Measure" activated
    You can set the vertical distance of dynamic expressions to many other notation elements.
    To optimize the look some dynamic symbols (mf, sf, rf, f) can get reduced offsets which better fits their skyline.
    You can set the vertical distance of expressive text expressions to slurs and ties.


    Perfect Layout: Settings Articulations DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    The silver edition has no articulations tab.
    The vertical distances of articulations to other articulations (=stacked), to tuplet brackets and tuplet numbers and to slurs can be set in this dialog tab.In the Express. tab it's also possible to set the articluation to expression distances.
    The Perfect Layout plug-in can automatically create "inside slur"-articulations - if otherwise the aticulation would be placed far above a slur.The "inside slur" articulation will be created if the vertical articulation offset exceeds the value from "Vertical Offset Before Articulation is Always Shifted Inside Slur" (default: 45 EVPU).

    Image 1: "Inside steep slur"-articulations

    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)


    Perfect Layout: Settings Hairpins DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    The hairpin settings in the Silver edition are on the Alignment and the Optimize tab.
    The Perfect Layout plug-in differentiates between the actual end connection of a "hairpin over the barline" and the visual connection.
    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

    Hairpins can either start directly after a starting dynamics or after the expressive text expression (see image 2).
    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)
    If hairpins are connected on a measure position, you can specify the gap between them (Option: "Gap Between Connected Hairpins").
    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)
    If a hairpin is connected over a rest to an end note, it's possible to keep it or to have it reduced to the end of the previous note (see image 5).
    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
    The automatic connection of expontential and niente expressions with hairpins is supported.

    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, VintageGHMA, VintageECP1 and the DSE Music Symbols fonts are supported. Again create an expression with these symbols and place it in the Dynamics category.
    Don't activate the "Enclosure" property for exponential expressions!

    This video shows how it looks in the score:
    Video: Exponential and Niente Hairpins

    In standard notation hairpins usually end at the last note or rest before the empty measure.
    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: Option "Shorten Right End of Hairpins If They End on an Empty Measure"
    The exact start and end offset of an hairpin on a note or a rest is automatically calculated by the plug-in (see image 7).

    Image 7: 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 8.

    Image 8: 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.
    Many distances for optimized hairpin placement can be set. While most options are self-explaining, a few need a note:
    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 9: 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 10: Hairpins on very low notes can have smaller distances


    Perfect Layout: Settings Slurs/Ties DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Slurs/Ties DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    The Perfect Layout plug-in can automatically extend slurs on tied notes until the end note (see image 1).

    Image 1a (Left): Original; 1b (Right): Slur Extension

    Case 1b) is standard notation in most cases. Exceptions which should not be extended 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 extended 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").
    The plug-in removes 'open' ties (i.e. ties not connected to an end notes, also called 'l.v.' ties) by default unless they belong to an instrument that actually can play 'l.v.' (e.g. harp, cymbals, glockenspiel, etc.).

    Image 2a (Left): Original; 2b (Right): Open Tie Removed
    To visually emphasize the middle of the bar, Perfect Layout re-ties notes which cross the middle of the bar by default unless there are symbols (articulations, expressions, hairpins, etc.) assigned to the removed measure position which would then become invalid or unclear (e.g. measure 3 in image 3).
    There is also the option to only re-tie notes if the first tied note starts after beat 1 (activated by default).
    In odd time signatures (e.g. 5/4) there will be no re-tieing.
    Note: Perfect Layout never adds extra notes. This means: not all cases of falsely tied notes are corrected (e.g. measure 5 in image 3).

    Image 3: The re-tie settings of Perfect Layout
    m.1: Only re-tied if "...After Beat 1" is deactivated
    m.2: Always re-tied by Perfect Layout
    m.3: Never re-tied by Perfect Layout because otherwiese the hairpin on beat 4 would become unclear.
    m.4: Always re-tied by Perfect Layout
    m.5: Never re-tied by Perfect Layout because otherwiese the hairpin on beat 4 would become unclear.
    Glissandi are aligned horizontally and vertically to not collide with notes, note dots and/or accidentals.
    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.
    Trill lines, brackets, ottava lines and custom smart lines that include the hidden keyword "PUTONTOP" are taken into account for vertical collision removal above the staff (not below!).

    The keyword "PUTONTOP" can be added to any of the five text fields (Left Start, Left Continuation, etc.) in the Smart Line Designer dialog.Just type in the word (no spaces), then select it and apply the hidden text style (Text->Style->Hidden).
    The smart line then might look like in image 3 (dependent on the text fields that you select): no more collision with the tuplet bracket and the slur.

    Image 4: Custom Smart Line with Hidden "PUTONTOP" Text

    Image 5: "PUTONTOP" in the text dialog

    JW Lua cannot read the fields from the Line Adjustments group in the Smart Line Designer dialog.
    Workaround: If possible, don't use these values, as they may lead to collisions.


    Perfect Layout: Settings Counting DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Counting DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General

    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


    Perfect Layout: Settings Systems DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Systems DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    The Perfect Layout plug-in includes two complex algorithms for creating a non-colliding and visually balanced look of the staff systems.
    The algorithms are only applied to the score (linked parts will be supported in v3.x). But if the score actually is an extracted part (i.e. a single staff or an extacted part), then it will also work.

    Image 1: The score balancing algorithm on an overstuffed page

    The main 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 second algorithm (Option: "Systems->Optimize System Distances Only and Keep Staff Distances") tries to preserve the original staff layout, by only adjusting those staff distances where the staves are actually colliding vertically.
    Video: Automatic System Optimization by Only Adjusting the Colliding Staves and Preserving Most of the Layout

    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 Space 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 Space" 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.
    This value is more relevant to (extracted) parts with lots of systems per page (see for example this demo video).
    On conductor's scores with only one or two systems per page, this is not relevant as there is usually no reflow of systems across pages.

    g.) Force Spread to Page Bottom Margin
    While the Max. Distance Between Staves value (470 EVPU by default) usually defines the maximum distance between staves, this value can be overridden by activating Force Spread to Page Bottom Margin.This gives so much space between staves until the system(s) are stretched until the page bottom margin(see image 2).

    Image 2:
    Left: By default 470 EVPUs maximum distance between staves
    Right: Force Spread to Page Bottom Margin activated

    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.

    The coda system is automatically shifted down for better readability (Option: "Shift Coda System Down").The algorithm looks for repeat elements or text expressions with the user-defined keyword ("Coda" by default).
    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.


    Perfect Layout: Settings General DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings General DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    The user dialogs are currently available in English, French, Polish and German. We also working on translations to Japanese, Italian and Spanish.
    There are also three files (UserLanguage1English.txt (UTF8-encoded), UserLanguage1German.txt (UTF8-encoded)) and UserLanguage2.txt (ANSI-encoded) which can be edited manually to support other languages.

    These language files are installed automatically through the installer and can be edited on Windows in:
    c:\Program Files (x86)\\Perfect Layout\UserLanguage1.txt
    on MacOS in:
    /Library/Application Support/ Layout/UserLanguage1.txt

    To apply the changes to the plug-in, you just need to restart the plug-in (no need to restart Finale).

    Note: Some text messages use variables, these are written within % symbols (e.g. %MEASURE%).
    It's allowed to have them in upper or lower case and also to have a blank space after the first % (e.g. % measure% instead of %MEASURE%).
    Some translation programs (like Google) automatically convert %MEASURE% to % MEASURE%.
    If you have completed a translation and want to share it with other users, please let us know. We can include it as a new language option in the next update.

    Known issues:
    1.) If you edit the text files, make sure to not change the order of the lines or to add extra line breaks at the end of a line or between two messages. Otherwise the text elements might be used at the wrong position.
    2.) Please check that the length of the translated text element matches the available space in the dialog. Should you encounter problems, please contact us, and we might have to change the element width in the dialog.
    3.) On Windows UTF8 elements in pop-up dialog elements seem to get a wrong encoding. On MacOS it works fine.
    It is recommended to bypass empty staves during processing. This will slightly increase the processing speed.By default this is set to "bypass".
    The dialogs and warning messages of the Perfect Layout plug-in can be bypassed for example to allow batch processing.
    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.
    It's possible to bypass AutoHotKey (i.e. to not show the progress bar and to not minimize Finale®), but it is not recommended as it massively slows down the processing of the plug-in.
    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

    The plug-in creates a log file that includes the current progress of the plug-in and actions that might be interesting to the user (e.g. detected problems, expressions that were moved to a new measure position, etc.).
    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.
    The plug-in can automatically check for updates. Though it is recommended, it is deactivated by default for data privacy reasons (GDPR).
    You can also check manually by clicking the "Check for Updates Now!" button.


    Perfect Layout: Settings General DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings General DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General

    Loading and Saving the configuration

    The 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 1 (Loose Spacing)" or "Factory Settings 2 (Tight Spacing)" at the bottom of the dialog and click on "Load".
    The two factory settings are identical except that in the tight spacing all symbols are vertically placed closer together.
    For the difference between tight and loose spacing have a look at the interactive Perfect Layout demo for the two presets.

    Image 1: Loading presets

    There is also a third preset "Deactivate All Settings" which leads to a setup where all options are optimized to do no changes to the score and parts. Starting with this preset you can use the plug-in features more selectively.Starting with PL v2.24 there is also a new option on the General tab "Deactivate All Other Features" which deactivates all of Perfect Layout's other features which currently can't be accessed through the user dialog.
    Note: the hairpin/dynamics and articulation alignment still cannot be deactivated completely, because it is so interwoven in the whole program code that one cannot live without the other.

    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.
    You can exclude expressions individually from alignment by adding the keyword EXCLUDE to the description text in the expression designer dialog. This can be helpful if you need an unusual placement of an expression which at the same should be taken into account for visual score balancing.

    Similar to the "EXCLUDE" feature, you can add "FORCEINCLUDE" to the description text of an expression and it will be included even if it is huge and far above/below a staff. By default these expressions would not be taken into account for vertical alignment and/or spacing.

    Image 1: EXCLUDE in the description text

    When clicking on the tiny buttons next to the user dialog options a pop-up preview image will appear in your web browser.
    Unfortunately JW Lua doesn't support embedded images in the user dialog, so this is the only option to have images connected with the user dialog.

    Image 2: Preview image button



    Double-click the PerfectLayoutSetup.exe file to start the installation. The installation software will guide you through the installation process.
    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.
    A video of the Windows installer is available here.

    MacOS: (example for the Gold edition. Replace Gold with Silver or Silver400 on other editions.)
    Double-clicking the PerfectLayoutGold.dmg will mount the Perfect Layout installer disk image.
    Then double-click Perfect Layout Gold vX.XX.pkg and you will be guided through the installation.
    A video of the MacOS installer is available here.

    You will receive the license key in the order confirmation email from the online shop (from "share-it!").
    Look for "license key" in the email.
    Note: it's not included in the PDF invoice, but only in the email text.

    The license key is in the format XXXXXXXXXXXXXXXX (digits and letters mixed).
    If it looks like this: 9999-9999-9999-9999 (digits + hyphens), it's the activation code (not the license key).

    The activation code will be sent to you via email after clicking "Submit License Key" in the plug-in registration dialog.
    The activation code is in the format 9999-9999-9999-9999 (digits only!).You can delete the activation code email after activation. It's not relevant after the activation anymore:
    these codes are one-time-only and are different every time you install the plug-in.

    Image: Email with activation code.

    The update code is included in the purchase confirmation email when purchasing an update (e.g. v1.0 to v2.0).The update code must be entered on the Download Updates web page to update your account to the new plug-in version.
    After your account has been updated, the update code becomes invalid and can be deleted.
    When installing the update (e.g. v1.x to v2.0), you again need the (original) license key from your very first purchase in the registration/activation dialog of the plug-in.
    The update code is ONLY for the software download on the web page, not for the plug-in.

    The update code is in the format XXXXXXXXXXXXXXXX (digits and letters mixed).

    Your activation code is in the format 9999-9999-9999-9999 (digits only!).
    The update code and license key are in the format XXXXXXXXXXXXXXXX (digits and letters mixed)

    If your code includes any letters, it's not the activation code, but probably the license key.

    The license key must not be deleted as it is required for all installations. Also for updates (e.g. v1.0 to v2.0).The update code and activation code can be deleted after their first usage. They are one-time-only.

    Node.js is required for reading the metrics of .otf (open type) fonts.
    If it is not installed, only .ttf (true type) fonts are supported.
    Perfect Layout v2.x requires at least Node.js version 14.16.1.
    Older versions of Perfect Layout worked with version 12.x.

    To check if Node.js works correctly, open cmd.exe on Windows (type in CMD in start menu)
    or Terminal app on macOS, then type node and press Enter.
    If everything is installed correctly, you should see a "Welcome to Node.js" message.

    The installation of all components takes about 1 - 5 minutes (Windows) and up to 1 minute on MacOS.

    The Windows 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.

    If you get this error message, make sure that your Finale plug-in doesn't use unicode characters.
    JW Lua has a problem with unicode characters in file names.

    If possible, always use the English default folder names like:
    Windows: c:\Program Files\MakeMusic\Finale 26\Plug-ins
    macOS: /Library/Application support/MakeMusic/Finale 26/Plug-ins

    Finale and/or JW Lua don't like network drives either.
    Try to avoid network ressources (\\NetworkPC\FinaleDoc.musx).
    There is another FAQ article on this topic.

    Image: Error message "No such file or directory"

    Yes. It is required to activate and register the plug-in and to download the Finale® plug-in interface "JW Lua" which is not included in the package.
    Internet access is also required for updating the plug-in and for deactivating it.
    Use the maintenancetool.exe with administration rights (Right-click with the mouse and select "Run as Admin"). See "How do I install an update of the plug-in".
    The file can usually be found in C:\Program Files (x86)\\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.

    These seven files must be in the Finale/Plug-ins/Elbsound JW Lua folder after installation on Windows.
    By default the full folder name is c:\program files\Finale\Plug-ins\Elbsound JW Lua (for Finale 25).
    The blackened areas are different dependent on the Finale and plug-in version.

    These three files must be in the Finale/Plug-ins/Elbsound JW Lua folder after installation on MacOS.
    By default the full folder name is /Library/Application Support/MakeMusic/Finale/Plug-ins/Elbsound JW Lua.
    The blackened area depends on the Finale and plug-in version.

    This is how the MacOS Layout folder should look after the installation.
    By default the full folder name is /Library/Application Support/ Layout.

    This is how the Windows Layout folder should look after the installation.
    By default the full folder name is c:\program files (x86)\\Perfect Layout.
    The ending of the JALAYOU... files is different on the Gold/Silver editions.

    Perfect Layout generates up to 6 files in Finale's user folder. The folder is typically located in:
    Windows: c:\users\YOURNAME\appdata\roaming\makemusic\finale 26 (or other Finale version)
    MacOS: ~/library/application support/makemusic/finale 26
    Each Finale version has its own folder. So the files are available - and can be different! - in each Finale version.

    None of these files are necessary to run Perfect Layout.
    If they are missing, the installer or the plug-in itself will (re-)generate them.

    The files in detail:
    1.) jwpluginstorage.xml: this file determines Finale's plug-in menu name of Perfect Layout and also other JW plug-ins. It also stores the location of the plug-in. If this file is missing or corrupt, the plug-in will not appear in Finale's plug-in menu.
    If you delete this file manually, all user settings from any JW plug-ins will be deleted. The file will recreate itself once the plug-in was used, but still your original settings are gone, if you delete it.
    Note: this file is only generated from within the Elbsound installer (!), not from running the plug-in.
    2.) JALAYOUX.ini (the X letter depends on your plug-in edition): this file stores the last used user settings of Perfect Layout
    3.) JALAYOUX.log or JALAYOUX64.log: this log file stores all progress bar text messages from the last usage of the plug-in
    4.) ES Perfect Layout.log: this second log file gives more detailed feedback about the last processed file. It is automatically opened at the end of the processing.
    5.) LastFANFileCheck.txt: stores info about when the last update or font check has been performed
    6.) ESFontFileNames.txt: stores info about the available fonts and font locations on your system

    In Finale's subfolder Font Annotation, the Elbsound plug-ins also generate their own font annotation files with the file extension .f2n.
    These font annotation files are currently recreated each time after you have run the full installer to make sure the font annotation files have the latest format.
    The installer only detects Finale versions if they are correctly registered in the Windows registry.
    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.
    Did you uninstall the Elbsound package or the plug-in right before you started the installer?
    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.
    In general you can activate the plug-in on only one computer.
    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).
    We recommend to do both installations within a short time frame (like a few hours). If there are several days between the two installations, it's very likely that it won't work - but it depends on your network settings. If your network never changes its IP address at all ("static IP address"), then there won't be no problems with the two installations.
    If the installation fails because of a change in the IP address, you have to uninstall the first installation, and then re-install both installations within the allowed time frame again.
    If you uninstall the plug-in completely, make safety copies of your settings file if you have changed the default settings (i.e. JALAYOUX.ini in your Finale configuration folder).

    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.

    LAN and WLAN:
    One user has reported that it didn't work when one computer used LAN and one WLAN.
    In his configuration it only worked when both computers were connected to his LAN.
    The reason was that one network used IPv4 addresses and the other one IPv6 addresses.
    Usually LAN and WLAN share the same IP base, but this could be a solution if you still have installation problems.

    Please also read the next section "Common error codes -18, 83, 84, 85, 86 from second computer activations explained" if you have these error messages during the installation on the second computer.
    If you have a two activation license, the following error messages can occur during the installation:

    Error -18:
    You have tried to activate an update, but your (old) license key is not yet valid for that update.
    E.g. if you have bought v1.0 and now try to install v2.x, you will get this error message.
    Please purchase the "v1.x to v2.x" update.
    Then register the update code to make your old v1.x license key valid for v2.x.
    Then install the v2.x update.
    (Same for other version number changes, v3, v4, v5, etc.)

    Error 83:
    The plug-in has already been activated on this computer. You may get this message when you try run the installer a second time on this computer and your original installation is broken (e.g. because of a re-installation of Windows or another severe crash).Please try to uninstall the plug-in from this computer and then try to reinstall. Should it still not work, please contact support.

    Error 84:
    The name or email address for your second activation doesn't match the email address in the database from your first activation.
    Please make sure to use the same email address and retry. Please check your old emails for the email address you used when activating the plug-in on the first computer.
    Should you still can't recover the correct email address, please contact

    Error 85:
    The name/company name for your second activation doesn't match the name/company name in the database from your first activation.
    Please make sure to use the same name and retry. Please check your old emails for the name you used when activating the plug-in on the first computer.
    Should you still can't recover the correct name, please contact

    Error 86:
    The IP address of your second activation doesn't match the IP address from your first activation.
    Please read the FAQ section "How can I activate the plug-in on a second computer?".
    Make sure that your computer has internet access. Otherwise the deactivation is not possible.

    Go to your Layout folder.
    By default this is: c:\program files (x86)\\perfect layout
    Then run the maintenancetool.exe located in that folder, select to "Remove all components". Then click on ok and start the uninstallation/deactivation process.
    When the uninstallation is finished, you have to cancel the maintenancetool.exe.

    Start the plug-in in Finale. Go to the "General" tab and click on Deactivate. Then cancel the plug-in. This short video shows how to do it - including (re-)activation:
    Video: How to deactivate and reactivate Perfect Layout on macOS

    If you have started Finale by double-clicking on a Finale document that is hosted on a network address (e.g.\FinaleDoc.musx or \\NetworkPC\FinaleDoc.musx), then JW Lua On Windows has problems.

    Please close Finale and restart it regularly by clicking on the Finale app and opening the Finale document from within Finale. Then run the plug-in again.

    If you get this message on MacOS, please contact support.

    Perfect Layout is automatically installed in Finale 2014, 2014.5, 25 and 26 - but only once for each version.So if you have installed for example multiple instances of Finale 26 (e.g. a German and an English version, or v26.2 and 26.3), you need to install the plug-in manually in some versions.

    If you have installed Finale 2014, Finale 25, Finale v26.0 and Finale 26.3 on your computer, you probably only need to install the plug-in manually in either Finale 26.0 or Finale 26.3 (dependent on which is registered correctly).

    Here is how to do it:
    1.) Make sure you have run the Perfect Layout installer on your computer
    2.) Find the main Finale 64bit-version (i.e. Finale 25 or Finale 26) where the plug-in has been installed correctly (i.e. where it appears in the Finale plug-in menu).
    3.) MacOS only (on Windows skip this step): Run the plug-in in this main Finale version by selecting the plug-in in Finale's plug-in menu and register/activate the plug-in.
    4.) Open MacOS Finder or Windows Explorer and go to the plug-ins folder of your main Finale version.
    In Finale 26 this is probably /Library/Application Support/MakeMusic/Finale 26/Plug-ins or c:\program files\MakeMusic\Finale 26\Plug-ins.
    5.) Copy the full Elbsound JW Lua folder and paste it into the Plug-ins folder of each of your other Finale 64bit versions where it has not been installed automatically.

    Example on MacOS:
    If you had /Library/Application Support/MakeMusic/Finale 26/Plug-ins/Elbsound JW Lua and /Library/Application Support/MakeMusic/Finale 26.3/Plug-ins before,then you should also have /Library/Application Support/MakeMusic/Finale 26.3/Plug-ins/Elbsound JW Lua afterwards.

    Make sure this new folder contains these files:

    Image A: Windows: Necessary files in Plug-ins Folder

    Image B: MacOS: Necessary files in Plug-ins Folder

    6.) Now open your new Finale version (e.g. 26.3 in the example above) and add the plug-in to Finale's plug-in menu. This also shown in this 1 minute real-time video:
    Video: How to manually add Perfect Layout to your Finale plug-in menu

    Adding the plug-in entry to Finale's plug-in menu:
    7.) Open JW Lua in your Finale plug-in menu (it's available in the folder that you selected during the installation, e.g. Elbsound JW Lua).
    8.) In the JW Lua plug-in click on the Development tab.

    9.) Click on the "..." (three dots) button at the left bottom, then click on "Add" and select your Finale Elbsound JW Lua plug-ins folder (e.g. /Library/Application Support/MakeMusic/Finale 26.3/Plug-ins/Elbsound JW Lua or c:\program files\MakeMusic\Finale 26.3\Plug-ins\Elbsound JW Lua).
    10.) Click on OK and change to the Manager tab of the JW Lua plug-in.

    11.) Click on [Menu] in Plug-in Groups
    12.) Click on New... in Items in Groups
    13.) Select "ES Perfect Layout (for Menu).lua" in your Finale/Plug-ins/Elbsound JW Lua folder from step 9 above.
    14.) Close the JW Lua plug-in by clicking on the "Close" button at the right bottom and then close Finale.
    Note: Only closing Finale will save the changes to JW Lua.

    Repeat the steps 2.-14. for the Finale 32bit-version (i.e. Finale 2014 or Finale 2014.5).

    The Elbsound and JW Lua files used in Finale 2014 and Finale 2014.5 are identical (32bit).
    The Elbsound and JW Lua files used in Finale 25 and Finale 26 are identical (64bit).
    So if you need for example files for Finale 26, you can also use the Elbsound Finale 25 files.

    If you have installed Finale 2014, 2014.5 and Finale 25, then install Perfect Layout and then install Finale 26, Perfect Layout will not be available in Finale 26 unless you install it manually as described above or run the installer again.
    No, this is not possible. The installer wipes out other Perfect Layout installations in the same folder.
    This can have several causes:

    1.) Did you install Finale 27 after you have installed Perfect Layout?
    When you already had a previous version of Finale (e.g. Finale 26) with Perfect Layout, you need to re-install Perfect Layout to make sure it also appears in the plug-in menu of Finale 27.

    2.) When applying Perfect Layout to a Finale 27 score with the new SMuFl fonts (e.g. "Finale Maestro"), it doesn't work. Please try the following four solutions:
    a) Make sure to have at least v2.47 of Perfect Layout installed. The version number is visible in the top title of Perfect Layout's user dialog.

    Image 1: Version number of Perfect Layout

    b) Windows: Make sure to have the component "Node.js" installed with the automatic plug-in installer (see image 2 below). If you deactivate Node.js during the installation, Perfect Layout won't work with OTF fonts like Finale Maestro.
    Perfect Layout v2.x requires at least Node.js version 14.16.1. In previous versions Perfect Layout used version 12.x - this doesn't work anymore. If you have an older version of Node.js installed, please re-install Perfect Layout (on Windows you need to uninstall first).
    You can also download Node.js 14.16.1 directly and install it:
    Windows version
    macOS version
    c) Should Perfect Layout still have problems with SMuFl fonts, rescan for new fonts. Go to the "General" tab of the plug-in and click on "Rescan Installed System Fonts->Rescan now!".
    d) Go to your Finale user folder (Windows: c:\users\YOURNAME\appdata\roaming\makemusic\finale 27, macOS: ~/library/application support/makemusic/finale 27) and delete the file "ESFontFileNames.txt". Perfect Layout will automatically rescan all fonts the next time it starts.
    e) Check that your Finale 27 MacSymbolFonts.txt file doesn't include the new SMuUFl font names.

    If you want to check if Node.js is correctly installed, please open Windows command (cmd.exe), and type node. It should look like this:

    Image 2: Node.js 14.16.1 available on Windows
    Windows 7 is not supported by Microsoft anymore. We try to support it as long as no new severe issues come up, but we highly recommend to update to Windows 10 for general security reasons.

    To be able to use our plug-ins on Windows 7, please make sure that you have Windows 7 Service Pack 2 (="Convenience Rollup") and all the latest updates installed. Otherwise Windows' PowerShell which is used by the Perfect Layout installer might not work as expected.

    Also please always use the latest Perfect Layout Windows installer. The last Windows 7 updates require at least Perfect Layout v2.0042.

    Should you still get the "-1756/No Internet Connection Available" message, please install the "Windows Management Framework 5.1" update which installs PowerShell version 5.1 and gives support to TLS12 (the Transport Layer Security protocol required for accessing some https files).
    This official Microsoft update KB3191566 is available here.
    Make sure to select the correct version which depends on if you have Windows 7 32-bit (File: or Windows 7 64-bit (File:

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

  • We have tested the French edition of Finale® 2014 and the German edition of Finale® 25 and both worked fine. So we assume that the other versions will do too.
    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.

    No, it isn't. The plug-in was developed with JW Lua, but it can be used like and feels like any other Finale plug-in. The user won't see JW Lua when using Perfect Layout.
    The plug-in appears in Finale's plug-in menu and everything is installed automatically with the installer.
    It has many options though, so it might take some time to get acquainted with all features and options.
    But the plug-in is also designed for "one-click usage". So you should already get good results with the defaultsettings if you follow the workflow suggested in the Quickstart: How to Use-document.

    Image 6: After the installation the plug-in automatically appears in Finale's Elbsound JW Lua plug-in folder.


    To get the new license key please

    1.) Uninstall (Windows) or deactivate (MacOS) your current version (e.g. Silver 400).
    If you have activated two installations ("Two Activation License"), make sure to have both versions uninstalled. For more information on uninstalling/deactivating the plug-in see thread below on uninstallation/deactivation.
    a.) To deactivate the plug-in on MacOS, start the plug-in in Finale, go to the "General" tab and click on "Deactivate", then click on "Cancel".

    Image 1: MacOS Deactivation

    b.) To uninstall the plug-in on Windows, start the maintenancetool.exe in your Layout folder (probably c:\program files (x86)\\perfect layout).
    Then select "Remove all components", click "Next" and on the next page click "Uninstall".

    Image 2a und b: Windows Uninstallation

    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.

    If you are eligible for a free update, skip to step 2.

    1.) Purchase the update through our online shop.
    The purchase confirmation mail includes an Update Code. This is required on the download page to update your account to the new major version (e.g. from v1.0 to v2.0). It is only required once for that purpose.
    Once your account is set to the new major version (e.g. v2.0), subsequent downloads of intermediate updates (v2.x) don't require the update code anymore, but only the license key.
    Your old v1.x license key is still valid after the update wherever you are asked for the license key - also in a v2.x or v3.x version.

    2.) Open the Elbsound download page in your browser

    3.) Enter your "Update Code" (something like XAHZ96DGS4EL6CMXEGF) included in your update purchase confirmation email together with your original license key (from your old version v1.x) and your registered email address to download the new installer.
    Make sure to select the correct version (Silver400, Silver, Gold).
    If you are eligible for a free update, because you bought a plug-in shortly before the update came out, leave the update code field free as your user account already has been updated automatically.

    If you are on MacOS, just run the new installer like any of our plug-in updates without deactivating the previous Perfect Layout version. The installer overwrites the previous version. Done.

    On Windows you need to uninstall the previous version first before installing the update as the installers are only valid for one main version number. Here is how to install a v1.x to v2.0 update on Windows:

    4.) Make a safety copy of your last saved settings file if these settings are important for you (JALAYOUX.ini in c:\users\YOURNAME\appdata\MakeMusic\Finale ...\JALAYOUX.ini, X can be H, B or G dependent on your version) and if you haven't already saved your settings to a user file.
    It's possible that the deinstallation deletes your last saved settings file (dependent on the version your current v1.x installation).
    5.) Uninstall the old plug-in version by running maintenancetool.exe typically found in c:\program files(x86)\\perfect layout and selecting "Remove all components".
    6.) If you're using the plug-in with a two activation license on two computers, please make safety copies of your last saved settings and uninstall the plug-in on both computers before running the new installation.
    7.) Run the new installer that you downloaded. Make sure to use your old license key (from v1.x) when you're asked for the license key in the new version (e.g. v2.x). Your license key doesn't change through an update!
    8.) If you have made safety copies of the last saved settings, then restore these settings. Don't delete your old copy - just in case of any problems.
    9.) When you open Finale and start the plug-in, it displays the new version number in its title on the main user dialog.
    10.) If you have two activation licenses, run the new installer on the second computer and restore the settings (as described in 7. + 8.).

    There are three methods to install an intermediate update.
    Either you use Perfect Layout's automatic update installation (1), or you start the update manually in the plug-in (2) or you (re-)run the installer (3). These are described below.
    For updates that change the main version number (e.g. v1.x to v2.x), please read the section above ("How do I update a plug-in from v1.x to v2.0?").

    (1) Automatic Update
    The automatic update download and installation is shown in the video below.
    If you just confirm the automatic installation when you're asked to, everything will happen automatically.
    There is no need to cancel Finale. You just have to restart the plug-in after the update has finished.

    Note: this update method only updates the plug-in in the current Finale version. If you have multiple Finale versions installed, you have to use this process in each Finale version.Only if you use method (3), Perfect Layout will be updated in all Finale versions at the same time.
    Video: Automatic Update Installation (Windows and macOS)

    (2) Manual Update in the Plug-in
    If you want to use Perfect Layout's update function manually, go to the General tab of the plug-in and click on "Check for Updates Now!".

    (3) Update through the installer
    Just run the new installer. It will update any existing installation.

    New updates can be installed through the maintenancetool.exe file in the folder (typically: c:\programme (x86)\\Perfect Layout\maintenancetool.exe).Make sure that you start the maintenance tool with admin rights (right-click the file with the mouse and select "Run as Administrator").

    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 with maintenancetool.exe on Windows:
    Video: How to update Perfect Layout in one minute

    Some users have reported "false positive" alerts from Kaspersky Total Security during the installation of an update. Kaspersky is informed about this issue, but hasn't fixed it yet.
    Interestingly online virus checkers like 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.

    Processing Speed

    Lua is a fast script language, but it is unfortunately much slower than optimized and compiled programming languages like C++.Here are a few tips for comfortable working with the Perfect Layout plug-in:

    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 "Quickstart: 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%) But if you run it on multiple instances at the same time to fine-tune your settings, it might help you to get your desired results faster.
    - 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, v26 and v27. 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.
    No, you don't. But it is more fun on a fast computer. The number of CPU cores doesn't matter. Only the GHz frequency counts.Here you can see how fast the Perfect Layout plug-in performed on the "ES Perfect Layout Demo.musx":

    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.
    MakeMusic (the makers of Finale®) have decided to not give the Finale® PDK (which is needed for development of Finale plug-ins) to new developers like the three known developers (Jari Williamsson, Robert Patterson and Tobias Giessen) still have access to the PDK.
    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".
    There are four reasons for this behaviour:
    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.
    There seems to be a little memory leak in the JW Lua PDK, in the Finale® PDK or in Finale.
    Just restart Finale® and the plug-in will be fast again.
    The main dialog shows a rough estimation of the plug-in processing time:

    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.

    One way to save lots of time with Perfect Layout is to do "batch processing". For example if you have a huge score and many extracted parts and you want to process it overnight, this is the solution.
    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 settings

    First 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 dialogs

    Batch 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 processing

    1.) 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 dialogs

    Delete 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.

    MacOS specific

    Perfect Layout uses for showing the progress bar of the plug-in, "Image Events" for detecting a multi-screen setup and "System Events" for detecting the screen resolution for correct placement of the progress bar.An external progress bar is necessary as Finale is a single-core software and it's not possible through JW Lua to update a progress bar over a longer period including text descriptions for the current state.
    On the first use of the plug-in you may get a warning message about and System Events wanting to access something (as in the images 11a and 11b below).
    Please allow this if you want to have the progress bar working by clicking on OK and/or Open System Preferences.

    If you don't allow this, Perfect Layout will also work, but dependent on your MacOS and Finale version you probably will not see a progress bar.
    The progress bar script that is run on is located in /Library/Application Support/ Layout/ and its code is readable.

    Note: it's possible that the messages below look different or don't pop up at all on other MacOS versions and/or on other Finale versions.Finale versions before 26 didn't have this accessability issue.

    Image 11a: One of the Access Warning Messages

    Image 11b: One of the Access Warning Messages

    Image 11c: One of the Access Warning Messages

    Image 11d: One of the Access Warning Messages

    Image 11e: One of the Access Warning Messages

    Image 11f: One of the Access Warning Messages
    As far as we know, yes. But currenty tests have only been made on Intel processors, not on the M1 chip.
    A video of Finale 26 on Big Sur including testing of many plug-ins is available here (not made by, but by Finale Superuser).
    The Perfect Layout section starts at about 1h 2 minutes.
    Video: Does Finale/JW Lua/Perfect Layout work on Big Sur?

    Usually the first time the plug-in runs, you are being asked to confirm if you want to auto-close the Terminal window which shows the progress of the plug-in.There you should select "Yes".

    If you want to change this behaviour later, go to
    Terminal -> Preferences -> Profiles -> (Select a Profile) -> Shell
    on "When the shell exits" chose "Close the window"
    on "Ask before closing" chose "Never".

    Either selection should work.


    This is an old Finale® bug.
    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).

    Usually this not should occur (so if you encounter this, please contact support).
    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.

    Known Issues

    A user has reported that Perfect Layout doesn't work on Windows if he starts Finale by double-clicking on a Finale document that is hosted on a Samba share.It seems to have to do with the working directory being set differently by Finale when you double-click on a file.

    start Finale regulary (by clicking on the Finale app) and open the Finale document through Finale's Open File dialog.


    The Lua programming language is very limited and many functions required to run the plug-in are not accessible through Lua, but through the Microsoft Windows console (the "Black Window").
    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.

    On MacOS these black windows are not visible.

    Image 5: Several black window pop up during the initialization of the plug-in

    The Finale® window is minimized during the processing as otherwise the automatic redraw functions of Finale® would slow down the plug-in processing dramatically (about 3 times slower).

    Usually this should not occur.
    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.

    No, as in every standard software you will only get the compiled binary which can not be edited.

    JW Lua is a free plug-in development environment for Finale® developed by Jari Williamsson.It uses the original Finale® plug-in development kit (PDK) and gives an interface to develop plug-ins in the programming language Lua.
    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

    More info:
    Interface docs:
    JW Lua Mailing List:
    Free Plug-in Scripts:
    Open JW Lua (Plug-ins->JW Lua->JW Lua) and click on the "Development" tab (see image 6 above).Then click on the file name (left to Plug-in Def...) and select <Open...>.

    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 progress bar shows the progress of the plug-in.

    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.

    I have noticed unoptimized or faulty expression positions and/or the vertical staff spacing is too wide.
    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.) ditto., 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.)
    Technique text expressions are currently only partially part of the collision removal process, because it is more difficult to define their best position. Usually they don't have such a fixed position as for example dynamic expressions have.Hopefully they will be included in a future release.
    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.

    A collision detection for these symbols is currently not supported by the plug-in.
    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.

    Yes, this is possible.If you apply the Perfect Layout plug-in after the Realbook Plug-in, make sure the following options are unchecked - otherwise the spacing and/or measure layout might get messy:
    - Optimize->Always Apply Music (Re-)Spacing to Full Document Before Processing
    - Optimize->Always Respace If Chords Found

    There are two known scenarios where this can occur:

    1.) 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.
    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.

    BTW, this is a reason why you must always save a Finale® document before running any plug-in.

    2.) If you have huge scores (like 600 measures, 50 staves, 50 linked parts or more), you must run the plug-in in Finale 25 or Finale 26 (i.e. with 64 bit).
    If you run it in Finale 2014 or 2014.5 (32bit), it's possible that there is a memory limit problem with JW Lua which can lead to a crash. This doesn't occur in 64bit.

    No, as this is very likely to be more than 100.000 items in a huge score which would be difficult to read.
    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

    Starting ProgressBar
    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 MinimizeFinaleWindow
    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

    The plug-in can be applied both in "Score View" and in "Parts View".
    It is very much recommended though to run the plug-in the first time in "Score View" 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).
    Running the plug-in on the score also makes sure that all inconsistencies between score and parts are removed. Especially older Finale files sometimes have inconsistencies.

    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.

    However it's safe to run the plug-in in "Parts" mode, even if the plug-in has not been applied to the score before. But the plug-in will have slightly less features.

    Which means: if changes are required in the "Score" that are linked to the "Parts", the change will not be made if you run the plug-in in parts only - to avoid inconsistencies.
    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 the change would still be linked correctly between score and parts. Then just run the plug-in on this single part.

    A common use case for running the plug-in in "Parts view" only is for example if you did some changes to a part at the very end of the processing (after Perfect Layout has been applied to the score and all parts).

    In huge scores (or probably only in Finale® documents that are buggy?) Finale® seems to create a massive amount of temporary undo files. So many that temp folder is full (65536 files).We haven't found out yet what Finale® element causes this behaviour. From our 9000 test files this occured in three cases (all files from the same client).

    Although the plug-in will still improve such a score (especially expression and hairpin alignment), it is very likely that it will also remove some manual optimizations.
    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 Quickstart: How to Use the Plug-in).
    Make sure that the font file is available in OTF or TTF format and that it is installed in c:\windows\fonts.
    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.
    The OK button is not clickable when the Finale document is larger than the plug-in edition allows:
    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.
    Yes. It's also possible to apply it to the full score/parts first, and after some minor adjustment apply it to single measures or staves.
    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.
    1.) Please check Finale's Preferences->Edit and look at the reflow settings.Make sure "Reflow Systems Across Pages" is checked (for moving systems) and set "Reflow Measures" to "Across Systems (Remove System Locks)" (for moving measures).
    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.
    3.) There is also a JW Lua script that can remove all page breaks with one click.
    You can download the script here. If you need help on how to use the JW Lua script "RemoveAllPageBreaks", please read this (external) "Getting Started with JW Lua" tutorial.

    Please also read the section on the Reflow settings in the "Quickstart: 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 Finale's font encoding settings don't match Perfect Layout's settings, it will display this warning message:

    Image: MacSymbolFonts.txt warning message

    If you don't use the fonts from the warning message in Finale at all, just ignore the warning message and select yes.
    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.
    If your accidentals become like this (i.e. the bottom accidental colliding with the notehead in the right image):

    this may be the result of a very old Finale file (created before 2004).
    To fix this go to Document Options->Accidentals and activate "Use cross-layer accidental positioning" before running Perfect Layout.
    The plug-in supports nearly all main music fonts (more than 470).
    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.
    These are:
    - 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.

    Finale sometimes only shows musical symbols from a font in their font selection lists instead of the real font name:

    To select the correct font, please type the name manually as in this animation:

    In two cases JetStream seems to have problems when adding hairpins that span over more than one measure to a Finale document (as of 20th January 2021).
    While the hairpins visually look fine after adding them through JetStream, they are internally stored critically - and can lead to problems when changing the measure layout of the (second) hairpin measure in Finale or when applying Perfect Layout: the hairpins can suddenly appear above the staff or even in the previous measure. The JetStream team is already working on a fix.

    Quick Workaround:
    Problem 1:
    If you only have hairpins below the staff in your score, there is a simple fix for the "above the staff" problem:
    select the whole document and go to Plug-ins->JW Change->Hairpins->Vertical Position , then uncheck "Relative" and set "Vertical" to -144 EVPU. This moves ALL hairpins below the staff.
    If you then apply Perfect Layout, the "JetStream"-hairpins will not appear above the staff anymore.

    The information about this JetStream behaviour was not confirmed by, but only reported to us by a client.
    The JetStream team was informed by us and confirmed that they will have a look at this issue.

    Problem 2:
    There is probably no workaround for the "move to the previous measure" problem, except: don't use Perfect Layout, don't change the measure layout in the second (or third) hairpin measure and don't change the time signature as this might influence the (visual) placement of the hairpins.
    We recommend to wait for an update of JetStream.
    We don't know which hairpins are affected by this. In the document that we received from a client, this second problem only affected a cresc. hairpin over several measures directly connected with a dim. hairpin. These were internally not assigned to the measure in which they were visible, but to the previous measure at a beat position beyond the time signature (e.g. at beat 6 in a 4/4 measure).
    For most users the Silver400 edition is the best choice.
    It costs about half as much as a regular Finale® update, but has more than 100 powerful features which is much, much more than a regular Finale® update - maybe as much as five or more updates.

    With Perfect Layout you can easily create scores with a professional look. Professionals calculate in working hours.
    80% of our v2.0 beta users reported that Perfect Layout saved them 20% or more of their overall Finale working time. One third even reported that it saved them more than 25% of their time (see image below from the v2.0 beta test survey from January 2021).
    And the plug-in creates a more balanced output than you could achieve manually in that time.
    So if you save one day 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 200 options in the user dialog, more than 700 internal parameters which cover all options, distances, movements, etc, more than 300.000 lines of code and support for more than 470 music fonts.It also fixes very many long-term problems of Finale® and features many new "intelligent" algorithms for automatic score and parts preparation.

    And 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.

    In general yes. Only the new Fin26 functions (articulation stacking and slur collision with articulations) currently can't be detected with the recent JW Lua release.
    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".
    Write us a mail and let us know what you would like to see in the next update of the Perfect Layout plug-in.

     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

    Perfect Layout: Feature Overview

    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)

    Feature Overview

    - Removes collision of hairpins with slurs, ties, notes, articulations (except with articulations between the start/end note of top slurs)
      , 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.
      - Expressions and hairpins are aligned horizontally and vertically, and, if necessary, corrected in its measure position according to a great number of (notation) rules that try to achieve a visually balanced, musically clear and collision-free look.
      - 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)
      - Creates multi-measure rests in score and parts if they had not been created automatically yet. (mm.41/42 and (mm.62-71)
      - 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)
      - Hairpins are connected, if possible, to adjacent note entries or notes with dynamic expressions for optimal playback. (mm.4, 6, 9, 10, 12 and more)
      - 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)
      - Puts articulations on rhythmic and slash notation measures on top of the staff (except for those marked as "Below Note") (mm.19-22)
      - 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 on notes with lyrics on top in order to avoid collision with lyrics on bottom. (m.18)
      - 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 right-aligned text repeats to the right border of the measure (D.C., D.S., Fine, etc.). (m.61)
      - 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.
      (mm.39, 61)
      - 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)
      - Adds 5-line staff symbol at the end of a measure if it is a 1-line staff measure followed by a 5-lines staff with a new clef. (m.48)
      - 1-line staves have different distance values or baselines than 5-Line staves (for example dynamics can come closer to the staff line). (mm.43-48)
      - Minimizes the distance between the top lyrics baseline and lowest note and articulation. (mm.5, 17-18)
      - 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.
      - Broadens measures with condensed hairpins to improve the hairpins visually. (m.12)
      - 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))
      - Relinks all expressions, articulations and hairpins from the parts with the score before further processing (older Finale documents can have expressions attached to different beats in score and part which might confuse the alignment). (m.39)
      - 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 notes get all stems down/up depending on the placement of the whole measure rest. (m.11)
      - 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)
      - All measures with notes on a certain layer are set to blank notation on that layer (for example to remove playback only layers or playback for cue notes). (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)
      - The plugin runs over the score AND all linked parts in one go, making different adjustments in the parts and score (e.g. vertical alignment of dynamics/hairpins has different results on the score and the parts as their staff systems include different measures).
      - 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)
      These issues can't be fixed because of limitations in JW Lua or Finale, or they will be fixed in a future update.

      - 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).
      - 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. Should you notice any problems, please let us know, so that we can support them.
      - Staves or staff styles with line spacing other than the default 24 EVPU are not fully supported yet which may lead to collisions or unoptimized spacing.
      - 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 multi-measure rest 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 is 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.
      - 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.
      - System/staff balancing doesn't work optimally if the pages have different scaling percentages.
      - 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/measure spacing 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.
      - Manually positioned hairpins on lyrics staves are not placed optimally yet.
      - 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 (Page graphics aren't taken into account either, as page elements aren't taken into account in general).
      - 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.
      - 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 good 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 removal.
      - 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 for 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).- Automatic detection of shape articulations is only supported in Finale 2014.5, 25, 26 and above.
      - 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.
      - 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.
      - For all features to work with cross-staff notes, make sure to have the staves grouped. Cross-staff notes in non-grouped staves are not always detected correctly.
      - 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 and last system.
      - 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 and/or make sure all staff systems have the same scaling.
      - 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.
      - A ttf, ttc, otf, dfont or suit 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 all international versions of Finale and might not fully work in these because of different keywords. If you notice a difference, please contact us.

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


      ;Version History
      ;v2.5700 2021-10-22
      -The staff spacing sometimes didn't work if one staff had multiple lyrics verses and required a very wide distance to the staff below. Fixed now.
      -MacOS only: French and Spanish didn't appear in the language selection menu. Fixed now.

      -No more warning message if a font is missing on the computer, if the text expression is hidden.
      -Shape expressions now stay at their position if the expression baseline has changed and the expression placement is not baseline-dependent.
      -Improved PDF manual
      -Windows: Improved font detection for some fonts where the font name is very different to the font file name
      -Slight increase in processing speed on large scores
      -Improved staff spacing on staves that have lyrics only on some systems, but not on all.
      -Improved detection of fully hidden measures with only coda signs on them.
      -When you start the plug-in for the first time, you are now asked if you want to receive the Elbsound email newsletter with information about Perfect Layout updates or product releases.

      ;v2.5600 2021-10-06
      -When FORCEINCLUDE was added to a large text expression, in one case it was still not included in the vertical staff spacing. Fixed now.
      -The options "Alignment->Exclude Rehearsal and Tempo Marks in User-Defined Categories from Alignment" and ""Alignment->Shift Rehearsal Letters up on Tempo Expression Collisions from Previous Measure" were accidentally disabled when the "Align Rehearsal and Tempo Marks Vertical" algorithm changed. Fixed now.
      -"Fake" pickup measures were not detected correctly (i.e. measures that use a different time-signature for display instead of Finale's own pickup tool) if the time signature was hidden on the staff in measure 1. Fixed now.
      -Silver version only: The two values from "Tuplets->On 8th Notes..." were not correctly loaded when "clicking on Load: Last Saved Settings". Fixed now.

      -No more warning messages in the log file when loading a user-defined settings file
      -Hairpins ending at a right repeat bracket are not prolonged to a dynamics in the next measure
      -Niente hairpins (with a niente expression) at the same ending position as a hairpin without the niente symbol are now better aligned horizontally.
      -The language selection names are now always in the original language.
      -Improved handling of very low note dynamics on measure position 0 if previous measure also has a very low hairpin
      -Improved detection of "General pause" expressions
      -macOS: the restores its original position after the Perfect Layout progress bar has been closed.
      -Added two more scenarios for improved splitting of multi-measure rests on breaking (tempo) expressions assigned to the middle of a bar
      -Added one scenario of automatically moving a measure in parts to the next system on colliding wide tempo expressions between two measures
      -Added one scenario of moving a dynamic on a rest to the first note in that measure (if the previous measures are empty)

      ;v2.5500 2021-10-05
      -When the music font of the line character of a glissando smart shape was not installed and the font was not used anywhere else in the Finale document, an error message could appear. Fixed now.
      -Silver/Silver400 version: When loading the settings from a user-defined file, an error message could occur.

      -Improved detection of "large" time signatures
      -Improved placement of tempo expressions after large time signatures, when these expressions appear on multiple staves.
      -Improved vertical spacing calculation on chamber scores with a piano instrument.
      -Flipped stem flags on beamed groups are not removed anymore if a slur or tuplet starts from that group and ends on another beamed group with the same stem direction

      ;v2.5300 2021-09-28
      -In very rare cases an articulation with tie collision with a minor overlap of about 1-2 EVPU was not detected because of a rounding error. Fixed now.
      -If there was a MusicXML imported expression was in a Dynamics category and the expression only consisted of the Space symbol (so the expression actually looked empty), then in some cases (if certain placement options were set) an error message could occur. Fixed now.

      -Improved metrics of natural accidentals (for better collision detection and vertical staff spacing)
      -Improved handling of pickup measures with slash staff styles
      -Improved horizontal spacing of slash staff style measures in some cases
      -The "Invalid Accidental or Tie" message is now only shown once for each entry (and not for each note pitch)
      -When an accidental is revealed through corrected tie flags, the measure will now automatically be respaced
      -Improved glissandi placement when the end note has a shifted stem
      -Improved spacing if notes on multiple layers don't have noteheads, but only stems
      -Improved PDF manual
      -Improved detection of invisible noteheads
      -In some cases improved niente placement when the hairpin starts between two notes
      -Improved metrics of tuplets starting with beamed(!) rests when "Extend Beams Over Rests" is activated
      -In some cases improved placement of technique text expressions (if there is some free space to the right)
      -"Alignment->Shift Rehearsal Letters up on Tempo Expression Collisions from Previous Measure" now works both on tempo alteration AND tempo mark expressions
      -Slightly improved vertical dynamics placement centered between two (piano) staves in very narrow situations.

      New Features:
      -Gold: New option "Reset/Hide->Accidentals->Reveal Accidentals on Notes with False 'Tie End' Attribute". If the 'Tie End' attribute is set, then accidentals are hidden. Perfect Layout keeps the accidentals hidden unless this option is activated. In general it's not recommended to hide accidentals like this, but it may occur especially through MusicXML import. Deactivated by default.
      -Gold: New option "Reset/Hide->Accidentals->Keep Visible Accidentals on End Notes of Tie". Usually there are no accidentals visible before the end note of a tie. But if they were made visible on purpose (with the "Freeze Accidental" flag set), then Perfect Layout keeps them like this. If deactivated, they will be removed. Activated by default.

      ;v2.5200 2021-09-27
      -In some cases improved horizontal accidental alignment on chords with two or three accidentals
      -Improved dynamic placement if placed on a rest in piano notation

      ;v2.5100 2021-09-24
      -If the time signature "Space After" or "Space Before" value is different for score and parts in Finale's document options, Perfect Layout will now use the "parts" value in parts (and not the score value anymore).
      -In some cases hidden playback-only staves that were neither used in the score nor in the parts influenced the layout. Fixed now.

      -Improved handling of fretboards in vertical staff spacing
      -A staff named Mallets or Chimes or using the mallets or chimes instrument type is now automatically recognized as a "laisser vibrer" instrument.
      -Rest entries with rest displacement offsets beyond 100 are converted to hidden rests which also improves the rest optimization function
      -Grace note slashes are not added to eighth grace notes anymore if these don't have stems
      -Improved slur metrics on slurs where the start and the end note are connected to different layers and where the slur measure includes multiple layers
      -In some cases improved glissando smartshapes if they end on notes with accidentals or if they span multiple systems
      -Slightly improved placement of technique text expressions that are close to articulations
      -In some cases improved placement of MusicXML-imported dynamics below lyrics staves
      -Improved note entry metrics on notes where the stem has been modified to be invisible by reducing its size to nearly zero.

      New Features:
      -Gold version: Vertical lyrics alignment can now be deactivated.

      ;v2.5000 2021-09-11
      -When cue lyrics were hidden through a staff style in the score, then in some cases they would still be included in the vertical staff layout optimization. Fixed now.
      -If a dynamic was attached twice to the identical position (once to "All Layers", once to a hidden layer), then in rare cases Perfect Layout would take these two dynamics as one dynamic and keep only the hidden dynamic. Fixed now.
      -In some cases enclosed measure numbers at system start where slightly moved to the right in the score. Fixed now.
      -On extracted parts in rare cases the last system was moved to an extra page (instead of staying on the last page), because of a rounding error. Fixed now.
      -The arpeggio symbol 0xf700 in the new Finale SMuFl fonts is now detected correctly
      -In rare cases an error message could occur on dynamics in measures without notes. Fixed now.
      -In very rare cases the dedicated cue lyrics layer was detected falsely. Fixed now.

      -If the new Finale 27 SMuFl fonts were accidentally added to MacSymbolFonts.txt, then an error message is issued.
      -Improved vertical staff spacing on "hidden" staves that only include smartshapes or texts, but no notes, stafflines and barlines.
      -Improved processing speed on huge scores (> 1500 measures)
      -Improved handling of falsy smartshapes on 1-line staves that are assigned to the identical measure position at the end of the previous measure, but visible in the next measure.
      -Improved articulation placement in some multi-voice/multi-layer scenarios where the "Freeze Stem" flag is activated
      -Detection of "Fake Multi-Voice Scenarios" where multiple note entry layers are used, but no overlapping notes occur, because of hidden entries. If detected, then the articulation placement will be corrected as though it were be no multi-voice/layer setup.
      -Improved PDF manual
      -Added new fonts to the list of known music fonts (GrooveMM,TheCopyistMM,RhapsodyMM)
      -Dynamics between connected hairpins on whole notes on beat 4 (from 4) are not shifted to the very end of the measure anymore
      -Expressions that are visible above "two staff groups" (e.g. piano), but are assigned to bottom staff, are now re-assigned to the top staff
      -Improved vertical staff spacing on staves with hidden (cue) notes with lyrics
      -Improved dynamics placement on very low notes if the previous note was a stem-down grace note below the staff.
      -Tempo/rehearsal expressions are not moved anymore above measure numbers that are far above the staff.
      -Measure numbers at start of system below staff on the top staff in a full orchestra score (not recommended) are not moved above staff anymore if "Extra Offset for Curved Group Brackets" is activated.
      -Improved vertical staff spacing if a staff in a system is nearly empty and has no elements below the bottom staff line
      -Improved hairpin/dynamics placement if the start-/endpoints of the hairpin are connected to the same measure position (one more scenario to the known scenarios added)
      -macOS: Node.js updated to v14.16.1 (same version as on Windows).
      -If the top staff of a system in multi-staff score is empty and the second one isn't, then it will get an improved vertical distance in some cases (slightly larger than before).
      -If the measure number at start of system distance is set to "Keep as it is", then the "Extra Offset For Curved Group Brackets" is now automatically calculated according to the actual measure number position (and not a fixed vertical offset anymore).
      -macOS: Installer issues a warning message for the Japanese version of Finale 26/27 if it uses the Katakana plug-in folder name which has to be renamed to the English "Plug-ins" for JW Lua.
      -Improved algorithm for detecting empty staves if not all staff attributes are set to "Hidden"
      -Improved French and Spanish translation and Spanish user dialog
      -More preview images

      New features:
      -Open glissandi (without end notes) on harp or other two staff groups are now incorporated in vertical staff spacing

      ;v2.4900 2021-08-24
      -When a measure number region was used with "Use Score Settings in Linked Parts" and an enclosure activated, then in some cases the enclosures disappeared in the parts or the enclosures in the parts changed their shape. Fixed now.
      -If a measure accidentally includes a tuplet with a duration wider than the measure duration, then rest optimization in the tuplet will not be performed anyore.

      -The algorithm for deciding the staff distance on "Always Hide Empty Staves in Parts" has been improved.
      -Improved metrics on chord symbols over one-bar or slash staff style measures with hidden notes.
      -Improved detection of custom lines connected with expressions. (Though not recommended: if possible use custom lines with text instead of connecting expressions with lines).
      -Improved measure counting algorithm when using one-bar repeats on chord changes directly after a double barline.
      -macOS: the internal update download uses a slightly different command which might increase the download speed on some macOS versions
      -Improved tuplet metrics mainly on tuplets with starting or ending with a rest
      -Improved PDF manual
      -Improved Spanish and Japanese translation
      -Improved metrics on enclosures with large negative height and width values. It's still not recommended to use large negative enclosure distance values as they do not always produce the correct metrics. Usually it's possible to get the same enclosure look with positive values. So please use these if possible.
      -Spanish is now automatically activated on Spanish operating systems.
      -macOS: Installer stability improved

      New Feature:
      -Gold: New option "Show Measure Counting Also on Staves with Chords" (deactivated by default and thus not available in Silver). If you want to have measure counting also on chord symbols (e.g. each chord symbol change starts a new repeat counter, if one-bar or slash staff style notation is applied), you now have to activate this option. In previous versions measure counting was always present on chord symbols.

      ;v2.4800 2021-08-20
      -When "Always Hide Empty Staves in Parts" was activated and a part included a piano two staff group plus other staves on top, then in some cases Perfect Layout would hide empty staves and change the staff distances although it was a piano group which should be left unchanged through the "Always Hide..." option. Fixed now.

      -The algorithm for deciding the staff distance on "Always Hide Empty Staves in Parts" has been improved.
      -The staff name "Hits" is now recognized as a percussion instrument.

      ;v2.4700 2021-08-11
      -In a rare case an expression on a hidden staff could cause an error message. Fixed now.
      -In rare cases hairpins on two staff groups (piano, harp) were moved above the staff.
      -If "Optimize Staff/System Distances" was deactivated, then in dynamics on piano staves were sometimes not correctly centered (when the score uses lots of hidden staves).
      -When using linked parts with "Specify Voicing" settings and grace notes, in some cases this could influence the spacing in the score and lead to note/accidental collisions in the score. Fixed now.
      -No more "Invalid slur found" warnings over slash or repeat staff style measures.

      -The warning message "Recommended font ... not installed" is not shown anymore in the log file as it is not relevant to Perfect Layout, but only to other Elbsound plug-ins.
      -The "single arpeggio symbol" from slot 0xe15b in the Elbsound "FIN"-fonts is now recognized as a standard arpeggio symbol.
      -Improved dynamic expression baseline settings on jazz fonts
      -If the chord font is not installed on the computer and a measure includes an invalid chord flag, then the plug-in won't cancel anymore.
      -Articulations on grace notes within tuplets don't influence the creation of a tuplet bracket anymore.
      -Added new warning message if you have purchased an upgrade or discount version and try to install before your license key has been manually unlocked.
      -Improved slur metrics on "Extra Long Span" slurs
      -Tuplet brackets are not added "to note side" on extreme notes anymore if an adjacent tuplet has slurs and thus wouldn't get tuplet brackets on the note side
      -Improved automatic vertical staff spacing settings for vocal+piano scores
      -Improved lyrics metrics on 1-line staves
      -Improved Spanish translation
      -Improved system/staff balancing if the page height is much larger than the system size

      ;v2.4600 2021-07-15
      -On scores with lots of hidden staves (probably more than 30) in rare cases the vertical score balancing lead to a vanishing of the "Distance Between Systems Space" above of the top system of a page.
      -If a multi-movement piano score includes an identical part with a different system layout, page texts with movement names assigned to pages could occur on the wrong place in the score. Fixed now. However it is very much recommended to not use page texts assigned to pages for movement names, but texts assigned to measures to avoid this confusion when parts are used.
      -On complex trills constructed through custom smart lines and many "baselines" changes in text area in some cases the trill line was still vertically placed with collisions. Fixed now.

      -Expressions colliding with measure-centered measure numbers below staff are not moved beyond the measure numbers anymore
      -Trill custom lines with long texts fields (up to 14 letters) are now correctly recognized. In previous version the limit was 9 letters. Usually 8 letter should be sufficient for long texts like "tr 1/2". Try to avoid to unnecessary spaces or a complex layout of these symbols.

      ;v2.4500 2021-07-14
      -In very rare cases an error message could occur when using expressions with non-existing symbols from a music font.
      -When a grace note was attached to voice 2 to instead of the voice 1 note directly (don't do that as there is absolutely no reason for it), in some cases the metrics from a tie above the staff were calculated wrong which could lead to tempo marks colliding with the tie.

      -More cases of horizontal accidental alignment on chords with seconds are supported
      -Improved PDF manual

      ;v2.4400 2021-07-12
      -macOS: the 5-staff line symbol didn't show up correctly, if the Kodaly font was added to MacSymbolFonts.txt. Fixed now.

      -The fonts Bach, Kodaly and Bach4JP are now set to be non-MacSymbolFonts.txt fonts. On Windows this didn't make a difference, but on macOS Finale seems to have weird problems with these fonts in MacSymbolFonts.txt mode.
      -The German version of Finale uses different default folders than all other international versions. Unfortunately JW Lua can't access the configuration files settings, so it's always a little guess if it's the correct folder. The detection algorithm has been made more stable now. As users have reports German Finale installations where both the original folder "Configuration Files" and the German Folder "Konfigurationsdateien" have been present, make sure to check this and delete unnecessary configuration files folders. Otherwise Perfect Layout's font engine might not work correctly as it depends on the MacSymbolFonts.txt file.

      ;v2.4300 2021-07-10
      -When using a translation of Perfect Layout (and not the English original) a certain "Font missing" error message would sometimes show weird symbols. Fixed now.

      -Windows: On slow internet connections better detection of available plug-in updates.

      ;v2.4200 2021-07-07
      -MacOS: Internal update made more stable. The error message 9 and 12 should usually not occur anymore.
      -When the accidental font was different than any other used music font in that document, an error message could occur. Fixed now.
      -On very badly formatted MusicXML documents an error message could occur (The document where this happened used multiple expressions (!) for each chord (each letter one expression) and some of them were also assigned to the wrong staff and different measure positions - probably the result from an OCR software). Fixed now.
      -In very rare cases an error message could occur on hidden hairpins below ties. Fixed now.
      -In very rare cases a staff overlap could occur on colliding note with accidentals. Fixed now.

      -Better detection of "Number" expressions and their usage (e.g. fingering, fret/string numbers, measure numbers, rehearsal numbers etc.).
      -Measure number placement below tablature staves with 6 lines
      -Added more music fonts to the list of known music fonts
      -Improved Spanish translation
      -Improved glissandi positioning when using the "Solid Line" tool instead of the Tab Slide or Glissando tool
      -Empty measures followed by invisible measures are not merged into one large multi-measure rest, but now only the empty measures are taken into account.
      -If a rehearsal letter plus two rehearsal/tempo texts were attached to the same measure position, in some cases the rehearsal texts now get an improved horizontal position.
      -Improved horizontal placement on multiple accidentals if the accidental font has a right margin (e.g. Opus Std)

      New features:
      -Gold: New option added to the Alignment tab: "Move Rehearsal and Tempo Expressions in Piano Staves from Between Staves to Above Group". If expressions in these categories were assigned below the top staff although the category default alignment is "Above Staff", then these expressions will be moved to above the staff. This feature had already been in before, but can now be deactivated in the Gold version.
      -Accidental placement on chords with seconds is horizontally improved - though not in all cases yet (see )

      ;v2.4100 2021-06-30
      -The automatic plug-in updater on Windows sometimes left a new folder inside the Finale plug-in folder. Fixed now.

      -Improved spacing of lyrics on slash staff style measures with hidden notes
      -In some cases improved vertical placement of very wide rehearsal/tempo marks that span multiple measures
      -Improved vertical alignment between two piano staves if an expressive text is visually connected with a dynamic expression
      -Improved Spanish translation

      ;v2.4000 2021-06-25
      -In rare cases (if the measure in the staff below has word extension smart shapes) a hairpin with a tie/slur collision was not corrected. Fixed now
      -In rare cases there could be an error message on MusicXML imported documents using one of Finale's hide notes staff style when exporting the document to MusicXML
      -Correct measure number placement in first measure if "Measure Number at Start of Staff System" is set to alignment "Center" and "Every 1 measure measures beginning with measure 1" is activated too.

      -Scores with lots of pages (typically more than 50) are drastically improved in processing speed (up to 100%).
      -Improved Spanish translation
      -Better distance of lyrics under 1-line slash staff style notation
      -Improved placement of some hairpins before low notes with articulations below
      -Finale 27 support: time signature glyphs are now taken from the unicode block in SMuFl documents
      -Finale 27 support: the macOS progress bar now displays Fin27 instead of Fin26.
      -Improved spacing of lyrics on slash staff style measures with hidden notes

      New features:
      -New option on the "Reset/Hide" tab: "Make Nearly Horizontal Custom Lines Horizontal". This feature had been implemented and active before. Now it's also possible to deactivate it.
      -Finale 27 support: the new Finale SMuFl fonts are supported by Perfect Layout

      ;v2.2302 2021-06-04
      -macOS: The "PDF" button which opens the PDF manual didn't work on some OS versions. Fixed now.
      -Windows: The LastFANFileCheck.txt file wasn't saved if the Windows user folder included utf8 letters. Fixed now.

      -On "jazz" style fonts the vertical minimum distance between two accidentals is automatically set to 7 (instead of 6), if it was less than 7.
      -macOS: If the "progress bar script" has been completely removed from the hard disk, you won't see a terminal warning message anymore.
      -A few updates to the user dialog for the translations
      -The f2n metrics file format has been slightly updated to be more stable and read faster.
      -Improved detection of rehearsal marks below the staff that should not be moved above the staff
      -In some cases improved repositioning of MusicXML imported expressions
      -Improved Spanish and Polish translation

      New features:
      -The EXCLUDE, FORCEINCLUDE, ADDEXTRASPACE or ALLOWSHIFTRIGHT feature for expressions now also works in expression category names. E.g. when you add EXCLUDE to the category names, all expressions from this category will be excluded from re-positioning.
      -"Self-update": The update feature now doesn't require external software anymore. It works directly within the plug-in. After the plug-in has updated itself, you just need to restart the plug-in. Finale doesn't need to be restarted. Note: this new update feature only updates the plug-in in the Finale version in which it was started. So if you have multiple Finale versions installed, you have to update it in each version separately or run the standard update tool as before (mainentenancetool.exe on Windows or the full installer on macOS).
      If the major plug-in version number changes (e.g. v2.x to v3.0) on Windows, you also still have to use the original update tool maintenancetool.exe and an do a full uninstall first, before installing the new version.

      ;v2.2200 2021-05-26
      -On grouped piano staves dynamic expressions with the "EXCLUDE" tag are not centered vertically anymore.

      -Tempo/rehearsal marks with the "EXCLUDE" tag are not taken into account anymore for broadening measures if they are wider than the measure they are in
      -The "Grace Note Index" for dynamic expressions is reset to 0 on notes with few preceding grace notes to keep the dynamic correctly vertically placed below the main note.
      -Improved Spanish translation, adjustments for the Spanish user dialog
      -Improved PDF manual (3 pages overview with dynamics/hairpin features)

      ;v2.2100 2021-05-25
      -In some cases on piano/harp staff groups (2 or 3 staves) where only one staff is visible dynamics on very low notes were not placed before the note, but below. Fixed now.
      -If only a short measure region was selected, in rare cases fermata articulations in adjacent measures were also vertically corrected although they were not within in the selected region. Fixed now.
      -Fixed an error message that could appear in very rare cases on percussion parts where 5-line expressions where added on clef changes from 1-line notation to 5-line notation.
      -If the reflow settings "Only within measure"+"Reflow Across Systems" were selected and the plug-in was only run on one system, other system bottom margins could have been affected too. Fixed now.

      -If a system includes a single staff only from a piano staff group, the staff on that system is now handled as a single staff and not as a group anymore. This influences a few features.
      -Improved horizontal placement of empty measures with slash staff style where the hairpin ends directly on the barline
      -The slur/tie/accidental to dynamic expression vertical distance offset values in the Tight Spacing preset were reduced a bit more
      -Measure position correction on dynamic expressions that were attached slighlty after a note that are also connected with a hairpin that starts on the same note
      -"molto", "poco" and other expressive texts below hairpins are now taken into account when centering dynamics/hairpins on group piano staves
      -Improved two scenarios of centering hairpins/dynamics between grouped piano staves
      -Improved metrics of beamed cross staff stem-up notes that start a beam group which don't have frozen stems
      -Improved Spanish translation
      -Improved PDF manual
      -Improved stability of Windows installer
      -Improved detection of old Finale documents from the 90s
      -Improved support for individually resized staves with expressions connected with hairpins
      -Improved conversion of some "Top note" dynamic expressions from old Finale documents

      ;v2.2010 2021-05-20
      -If a score has many different page percentages, then in very rare cases the last pages could need a manual "Redraw Update" after running the plug-in's system/staff vertical spacing function. Fixed now.

      -New music fonts added to the list of known fonts
      -Added more words to the list of known "expressive text" and "percussion instrument" texts (for automatic detection)
      -32nd grace notes are not converted to 16th grace notes anymore if they precede a 16th note.
      -More preview images
      -Improved vertical placement in some cases of two rehearsal/tempo marks at the same measure position
      -Some improvements to the user dialog texts
      -Improved detection of tempo mark expressions
      -Finale 26: in some cases improved vertical placement of two outside staff articulations above the staff
      -Improved glissandi placement on some cases of entry-based glissandi from a cross staff note to a non-cross staff note

      New features:
      -Gold: The feature "Optimize grace notes" can now be deactivated (activated by default). The grace note optimization which had already been included in the previous versions is described here:

      ;v2.2000 2021-05-03
      -If there was a file access error during the processing of PL, an error message about the language not being available could occur. Fixed now.
      -In very rare cases system break offset of slurs with different start/end staves were reset. Fixed now.
      -If groups are different in parts and score (i.e. one staff in score, two staves in parts), then an error message could appear. Fixed now.
      -No more horizontal collision between a rehearsal letter and a very short tempo mark if they on a multi-measure rest.
      -When applying Perfect Layout to a full part only and PL has not been applied to the score before, then it in rare cases the expression assignment in other parts could be affected. Fixed now.
      -Extremely short multi-measure rests (just as wide as the MM rest number) in measures with clef changes at the end were sometimes shortened even more, so that the symbol became unreadble. Fixed now.
      -macOS: The "Staff lines" symbol from the Bach font did not work in Finale. Replaced with the same symbol from Kodaly font now.
      -On very small page scalings (less than 40%) in some cases accidentals were not detected correctly for collision removal.
      -Custom accidental collisions now also take into account the custom accidental vertical offset value

      -The "Put Tuplet Brackets on Extreme Notes on Note Side" feature was improved: the algorithm now intelligently searches the surrounding notes, if it is necessary to add tuplet brackets or if less extreme tuplets are close. This avoids quickly alternating visibility of tuplet brackets.
      -Improved Italian and Spanish translation
      -A few changes to the user dialog and log messages
      -Added a few music and text fonts to the list of known fonts
      -Improved snapping of dynamic expressions to beats in old Finale documents where "beat snapping" wasn't available yet
      -Manually adjusted slurs over several staves are not reset anymore
      -Hairpin collisions of l.v. ties at the end of a measure are now also detected if the following measure is empty
      -Improved horizontal placement of glissando lines behind dottes notes if the staff distance on a harp group was extremely wide (and later reduced by PL)
      -In some cases improved metrics on ties with system breaks
      -Finale 26 only: improved expression placement below articulations
      -Improved macOS installer
      -"5-staff lines"-expressions put on clef changes from 1-line staves to 5-line staves are now also recognized if they don't use the Perfect Layout format
      -macOS: Error message "Domain /Library/Preferences/ does not exist" in the Terminal progress bar was eliminated which occured only on some systems.
      -Improved PDF manual
      -Fermata expressions on empty measures now also break multi-measure rests if they are non-"Break MM Rest" expressions.
      -Addition of 10 SMuFl fonts to the font symbol database (Leland, Leland Text, AloisenU, Aloisen GrooveU, LS Iris, MuseJazz, MuseJazz Text, Ekmelos, Sebastian, Sebastian Text)
      -Support for all 37 known SMuFl fonts from
      -Accidental articulations before notes are not taken into account anymore on tuplet bracket collisions
      -Improved placement auto rehearsal marks in the middle of a system if the system starts with an overslur from the previous system
      -Improved break offset detection on slurs
      -Improved slur metrics after system breaks
      -In some cases improved placement of two tempo/rehearsal marks on top of each other
      -Improved metrics calculation of grace note accidentals
      -Improved handling of tempo expressions on multiple staves
      -In some cases improved slur/hairpin collision removal
      -Improved placement of rehearsal marks over (non-slur) smart shapes
      -Improved placement of rehearsal marks over (non-slur) dotted notes in the previous measure
      -Improved placement of rehearsal marks over multi-measure rest numbers which are placed on the staff lines (and not above)

      -Improved placement of dynamics on very low notes with accidentals if followed directly by a hairpin
      -Improved MusicXML import/conversion of some expressions above the staff
      -Improved detection and metrics calculation of key signature changes
      -Improved version number detection of font files
      -Updated Node.js software for reading OTF fonts
      -Windows: new digital signature
      -Dynamics on rests in measure 1 are moved to the first note (if not more than two rests)
      -Improved snapping of dynamics that are not attached to entries to the next note entry
      -Slight processing speed improval on documents with lots (>500) of expression definitions
      -Manually repositioned whole rests in non-4/4 measures followed by invisible rests (to fill up the measure) are not reset to position 0 anymore
      -When run on a single part only, the global measure number placement is not changed anymore
      -Improved metrics calculation on some enclosed expressions
      -Finger indications as expressions over the two bottom lines of the staff are not moved anymore below the staff
      -When clicking the "Check for updates now!" button in the user dialog, you will be directed to the updater file (maintenancetool.exe) on Windows and to the download web page on macOS.
      -Improved metrics calculation for expressions and articulations with "underline" style
      -Articulations which use both shape and character types are now supported for collision detection
      -Improved vertical system spacing
      -Custom noteheads and custom accidentals are now taken into account on "dynamics with accidental" collisions

      New features:
      -New second factory preset: "Tight Spacing". While the original factory preset has a rather loose vertical spacing, the new factory preset offers a much tighter vertical spacing. Note: As Gold and Silver have different options for fine-tuning distances/spacing, the result is slightly different in Gold and Silver.
      -Collisions of two articulations (e.g. Accent+Tenuto, Accent+Staccato) under tuplet brackets can now be now handled
      -Gold: New option "Hairpins->Hairpin to Stem Distance" (default 16 EVPU).
      -If some (at least 18%) dynamic expressions are not set to use category position, but the others are, then a user dialog pops up which allows to harmonize all dynamics to use category positioning. In previous version this was only possible if ALL dynamics were not set to use category position.
      -New "PDF" button next to the help button: opens the PDF manual of Perfect Layout.
      -New expression skylines for better vertical spacing on expressions with single small height peaks, like a tempo equation with a stem being much higher than all other elements
      -"Tuplet with tie collisions" if tuplet is on note-side are now avoided

      ;v2.1100 2021-04-10
      -In some cases the 8va alignment algorithms "Move slightly to the Left" and "Center 8va Symbol over Notehead" didn't work on whole notes. Fixed now.

      -More preview images
      -If "Optimize Tuplet Settings" and "Shift Tuplet Numbers Onto Staff If No Brackets" are activated, then the default value for vertical tuplet distance is set to 24 EVPU (was: 28 EVPU in previous versions).
      -Added LS Iris to the list of known music fonts
      -A few user dialog and translation improvements
      -Improved Italian translation
      -Improved metrics calculation on small enclosures of fonts with huge ascenders/descenders (e.g. Maestro)
      -Improved metrics calculation on non-rectangle enclosures
      -Improved vertical placement of ottava and custom smart shapes
      -Improved metrics for custom smart lines where the initial left text has a horizontal offset
      -Improved detection of movement names as page texts on documents with many empty pages
      -Initialization time on Windows reduced by up to one second
      -Dynamics above the staff on resized lyrics staves are not repositioned anymore.

      ;v2.1000 2021-04-06
      -When loading the "Deactivate All" preset, the measure number placement was not set to "Keep current position". Fixed now.
      -If "Clear Individual Measure Number Positions" was manually deactivated in very rare cases of multi-measure ranges and hidden measure numbers within the same measure number region, the measure number was sometimes shown although it was manually hidden before. Fixed now.
      -If "Align Page Bottom Margin with: Bottom Staff Line" and "Optimize System Distances Only and Keep Staff Distances" were both selected (these are both not the default settings), then "Align Page Bottom Margin with: Lowest Element On Staff" was performed instead. Fixed now.
      -If "Optimize System Distances Only and Keep Staff Distances" was selected, then on extracted parts or single staff scores an error message could appear. Fixed now.
      -In rare cases on bars with slash staff styles and composite time signatures containing no notes an error message could occur. Fixed now.
      -macOS: in the installer umlauts and accents on lower case letters in the registration name do not lead to disappearing letters anymore

      -Slightly improved processing speed (on large documents only)
      -Rewritten compound dynamics handling (e.g. poco f, molto f, pp sub.): more options and better placement

      -Improved and faster detection of compound dynamics (e.g. molto f or ppp il più piano possible), any texts are now supported

      -Improved vertical placement of "up bow" articulations at the end of a tie or a slur (slightly closer to the slur)
      -A few improvements to tie/articulation collision removal
      -A few improvements to slur/articulation collision removal
      -"Clear Manual Slur Adjustments" algorithm has been improved: adjusted slurs on grace notes (which occur often) are not reset anymore.
      -Improved placement of technique expressions over custom lines
      -A few user dialog and translation improvements
      -Improved Italian and Spanish translation
      -Improved installation dialogs
      -Dynamics on time signatures with more than 32768 EDUs (i.e. more than 32 quarter notes) are now better supported.
      -Dynamics on long grace note passages are now kept on the grace note and not moved to the first non-grace note anymore (see Gould, Behind Bars, page 131)
      -On invisible bars (no staff lines, no notes, no time signatures) repeat texts, expressions with coda symbols or rehearsal/tempo mark expressions below the top staff line are not moved anymore above the staff.
      -Improved algorithm for drum pattern recognition for starting slash measure counting ranges with 2 instead of 1, if the previous measure started with a pattern and a double bar.
      -Improved algorithm for vertical hairpin/dynamics (non-)alignment on systems
      -On two "connected" hairpins on a note the gap now uses a better centering algorithm, if the gap value is much higher than the notehead width.
      -Improved detection for the automatic activation of the "Always (Re-)Apply Music Spacing" option
      -More flexible horizontal positioning of measure counting expressions in case of collisions
      -Added more music fonts to the list of known music fonts and more text fonts to the list of known text fonts
      -Improved barline detection between staves on groups with partially hidden staves
      -Better support for a single tablature notation staff with 4, 5 or 6 staff lines (instead of multieple single line tablature staves)
      -Number+X expressions in the first measure of a system (e.g. "3x" for playing the repeated pattern three times) are not put at the beginning of a system anymore, but kept at their horizontal position.

      New features:
      -Articulations above the staff at the start or end of ties are now vertically corrected
      -New feature "Reset->Horizontal Alignment of 8va SmartShapes" with 6 selectable options added
      -New option "Left-Align Lines with Accidentals Instead of Notes" added
      -New option "Align Compound Dynamics (molto f, poco f, più f)" with two selectable options "To the Center of Dynamics Symbol" or "Flexible: Left-justified or centered". In previous versions the "poco f" placement style was to always center the dynamics symbol below the note and to put the "poco" text before (regardless of collisions with barlines). However this placement style is not recommended by Gould in "Behind Bars" as it may lead to an ambiguous start of the expression. But as this was common in practice in previous centuries, we have now added this option.
      -Gold version only: new feature "Shift Tuplet Numbers Onto Staff If No Brackets (Deactivates 'Avoid Staff')" added. Deactivated by default (and so it's also deactived in the Silver version)
      -Gold version only: the functions "Shift Tuplets on 1-line Staves above Staff", "Shift Tuplets on Rhythmic Notation above Staff", "Shift Articulations on Rhythmic/Slash Notation Above Staff" and "Avoid Collisions Between Chords" that were already available and activated since version 1 can now also be deactivated (activated by default).
      -Gold version only: "Reset Manual Slur Adjustments" received a new sub-option: "Also Reset Manual Slur Adjustments on Grace Notes". This is deactivated by default (and also in the Silver version). As slur adjustments often occur on grace notes, these are not automatically reset.

      ;v2.0310 2021-03-04
      -Updates to the German, English and French user dialogs
      -Support for exponential hairpins from November2 if the expression uses the Bold style (resulting in a hairpin thickness of 4.3 EVPU)
      -If a score has slash counting staff styles and PL adds measure counting expressions, these expressions will not be visible in parts, if the part doesn't have the slash staff style on that measure.
      -More collision removal of technique expressions colliding with measure number counting expressions.
      -For corrupt Finale documents where Finale accidentally shows one staff twice and hides another staff, a few fixes were added which otherwise resulted in error messages.
      -Improved "On Last Page Don't Spread to Page Bottom If Very Much Space" algorithm for piano scores where there is only one system less on the last page than other the other pages.
      -Horizontal hairpins above the staff which internally have wrong negative y endpoint values are now automatically repaired.
      -The dynamics/hairpins centering algorithm for piano 2-staff groups has been slightly improved.

      ;v2.0300 2021-03-01
      -In rare cases measure numbers under every xth measure were reset even if "Reset->Clear Individual Measure Number Positions" was deactivated. It's highly recommended though to always have this option activated as Finale's measure number regions sometimes have invalid IDs or inconsistencies and this can only be fixed automatically by the plug-in if the "Clear..." option is activated.

      -A few improvements to the German user dialog
      -Added more music fonts to the list of known music fonts
      -In very rare cases improved horizontal hairpin alignment with dynamic expressions when running the plug-in directly on a part, and the end of the hairpin and the dynamic expression are both on the last measure position and the (short) hairpin also starts slightly before the dynamic expression.
      -Improved hairpin width if November2 font is used and the exponentational cresc. symbol from November2 is used (2,5 EVPUs).
      -The hairpin width is now ALWAYS automatically updated if exponentational cresc./dim. symbols are used and "Optimize Hairpin Settings" is activated.

      ;v2.0290 2021-02-26
      -The German version wasn't accessible in the last update. Fixed now.
      -Tremolo articulations on whole notes were sometimes not vertically aligned correctly. Fixed now.

      -Some updates to the Japanese and Polish translation
      -On German OS the German language is now selected by default.
      -Improved "Open Tie" detection on cue notes
      -Improved clef hiding on cue notes
      -Rehearsal mark letters above the top staff AND below the bottom staff are now kept like this (and not forced above staff anymore)
      -Improved 2nd voice detection for articulation placement on the opposite side
      -Improved vertical placement of two technique text expression where there is a third technique expression on the same measure position with a "hidden only" text style
      -Improved hairpin start/ending if the hairpin starts/ends on a note that also has a duplicate hidden note on the same measure position (e.g. for playback reasons).
      -Improved vertical alignment of multiple rehearsal mark letters on one system if the whole system only has empty measures and multiple key signature changes
      -Improved placement of rehearsal marks on beat 1 if the previous measure ends with a very high note and the current measure only has notes slighty above the staff.
      -Slightly improved connection of exponential hairpin expressions with hairpins
      -Exponential hairpins expressions (symbols 254/255) are now also supported from the VintageGHMA and VintageECP1 font

      New feature:
      -On 1-line percussion staves cue key signatures from cue notes that are on a 5-line staff are also hidden in the score.

      ;v2.0280 2021-02-18
      -Niente expressions after hairpins above lycrics staves were not correctly attached to the hairpin end. Fixed now.
      -If an expressive text was accientallly placed above the staff (instead of below) and the same measure position had a niente expression and a hairpin start below the staff, then the niente expression wasn't vertically connected correctly to the hairpin. Fixed now.

      -Some updates to the Japanese translation

      ;v2.0270 2021-02-17
      -In extremely rare cases an error message could occur in MusicXML imported documents on two hairpins with contrary directions that are separated through a barline. Fixed now.
      -Japanese version only: The language selection dialog before the main user dialog now works correctly.

      -Time signatures above the staff (not large time signatures) are slightly better included in vertical staff spacing.
      -A few optimizations for the Polish and Japanese user dialogs

      ;v2.0260 2021-02-16
      -Some preview images only opened on Windows. JW Lua seems to have a different URL calling on Windows and macOS. Fixed now.
      -Polish version showed an error message

      -License key activation after eligibility checking automated. Users of discount editions and upgrades will receive their license key faster.

      ;v2.0250 2021-02-14
      -"Three staff"-piano groups are now detected correctly as piano groups, if they share different different MIDI channels, but two staves were created as 2 staff piano group and the third one added later and all three staves are grouped with a piano bracket.
      -More preview images
      -Improved "On Last Page Don't Spread to Page Bottom If Very Much Space" algorithm
      -A few improvements to the user dialog
      -Improved detection of rehearsal mark expressions in wrong expression categories
      -Windows: Support for unicode texts in pop-up elements in the user dialog. Required for Japanese and Polish language support. On macOS this was already working.

      New features:
      -Overlapping technique texts on different measure positions are now taken into account for collision detection if one is much wider than the other one. The smaller expression is put closer to the staff.
      -Beta support for new user dialog languages: Japanese, Italian, Spanish, Polish
      -Detection of text expressions connected with smartshape lines with hooks. It's still recommended though to use custom smart lines with text (e.g. cresc.- - - - - or rit. - - - - - - - - -) which are more clear to understand for the plug-in than separate expression/smartshape combinations.

      ;v2.0240 2021-02-08
      -In very rare cases an error message could occur on hidden resized staves. Fixed now.

      -Improved error message for the -1756 error on Windows 7: please read our FAQ on solving this error message.
      -Some improved user dialog texts
      -Some updates to the online documentation
      -More preview images added

      ;v2.0230 2021-02-01
      -In rare cases (in huge documents) an empty line with only a number appeared somewhere in the middle of the log file. Fixed now.
      -If the augmentation dot font was not installed on the computer, then an error message would appear (Bug introduced in v2.020). Fixed now.

      -Improved metrics calculation of word extension endpoints
      -Improved handling/alignment of serpent segno expressions
      -Improved handling of dynamics with technique/expressive text expression collisions
      -Improved vertical alignment of multiple outlier rehearsal/tempo mark expressions with different negative values below the baseline
      -Improved duplet handling
      -Improved adding of secondary beam breaks beamed tuplet notes (more cases are now detected)
      -Improved detection of tuplets where tuplet brackets must be visible (for better readability)
      -macOS: Warning message added if the previous edition of Perfect Layout wasn't correctly deactivated before installing a new (upgrade) edition.
      -Added more fonts to the list of known music fonts
      -Improved collision handling on hairpins with horizontal tuplet brackets/tuplet number collisions (i.e. if the tuplet is at the very ending of the hairpin)
      -Added one case for improved priority detection for vertical placement of Tempo Alterations and combined Tempo Marks with rehearsal texts.
      -Some improved user dialog texts

      New features:
      -"Preview Images" are added to many dialog options. By clicking the little button left to the option the browser will show a preview image: usually with the left side of the image being the deactivated option, and the right activated. This update includes images for the "Tuplets" tab.
      -8 new options have been added to the Tuplets tab. Apart from the new preview images the default setting of Perfect Layaout on numerous tuplets is demonstrated in two images in the Tuplets section (
      6 new sub-options affect the "Put Tuplet Brackets on Ambiguous Tuplet" option:
      1.) Also Add Brackets if Tuplet is Separated Through Secondary Beam Breaks or Different Number of Beams
      2.) Also Add Brackets on Symmetric Tuplets with Sec. Beam Breaks Where the Number of Notes Equals the Tuplet Number
      3.) Also if Multiple Simple Identical Tuplets are Beamed Together
      4.) On 8th Notes Before/After Beamed Triplets only if Distance to First Tuplet Note is Less Than
      5.) On 8th Notes Before/After Other Beamed Tuplets only if Distance to First Tuplet Note is Less Than
      6.) Also Add Secondary Beam Breaks Before/After Beamed Tuplets (Gold version only, activated by default in the Silver version)
      7.) In the Gold version the tuplet option "End Stem-Side Tuplet Brackets on Downstemmed Beamed Notes on the Stem" controls the right horizontal end point of tuplet brackets on downstemmed beamed notes. Some users prefer it to align with the stem instead of the right edge of the notehead.
      8.) In the Gold version the duplet option from the Tuplets tab was splitted into two options:
      "Remove Tuplet Symbols From Duplets" and "Simplify 'Half' Duplets" (see images on for details)
      -Serpent segnos don't collide with notes anymore (Measure: "Space Before" or "Space After" are increased on collisions)
      -New option: "Alignment->Shift Rehearsal Letters Up on Tempo Expression Collisions From Previous Measure" (deactivated by default). If a very wide tempo alterations starts on beat 3 and overlaps with the rehearsal letter in the next measure, there is no "best solution" that is always valid. In many cases it might look better to broaden the measure to avoid the overlap. In some cases it might look to better to move the rehearsal letter up.
      -Wide (technique) text expressions on the same measure position as dynamics will be shifted to the right of the dynamics, even if this might look a bit unclear with the following note, when the description text of the expression includes ALLOWSHIFTRIGHT (for details see example image and description here: )
      -New option on the Systems tab: "On Last Page Don't Spread to Page Bottom If Very Much Space". This will deactivate the spreading of the systems to the page bottom, if there are only few very systems on the last page and there is still lots of free space. The plug-in then tries to get a similar vertical spacing as on the previous pages.

      ;v2.0220 2021-01-19
      -In very rare cases an error message could occur in the measure number vertical offset calculation. Fixed now.

      -Improved French translation
      -Improved handling of dynamic collisions with barlines
      -Improved horizontal placement of dynamics with the word "molto" (e.g. molto f).
      -Improved detection of movement name page texts
      -Correction of falsy hairpin endpoints that JetStream can create

      New feature:
      -New Option "On Hairpins Below Staff Over Lyrics ..." added. You can either keep the current placement of hairpins on lyrics staves, move them below the notes (slurs + ties) or move them below the lyrics.
      -Collision of dynamics with large time signatures from other staves are detected and corrected

      ;v2.0210 2021-01-16
      -Many updates to the German, English and French user language
      -All log texts are now included in the German and French translation (except those that trigger the progress bar)
      -One more error message added to the Windows installer
      -Added more example images to the online documentation
      -The contents of the PDF manual now links to the correct page (and not one page before)
      -New PDF manual included (15 more pages)

      ;v2.0202 2021-01-08
      -Rehearsal letter expressions which don't have "Use category positioning" activated and have EXCLUDE added to their description are not set to "Use category positioning" anymore if "Harmonize Offsets and Placement of Rehearsal and Tempo Marks" is activated.
      -If a MusicXML imported document contained two text expressions with identical text, but different default placements, an error message could occur in rare cases.

      -A few changes to the user dialog texts and functionality
      -A few updates to the German and French user language
      -Improved two activation license installer for combined IPv4/IPv6 networks
      -Improved rest optimization for 6/4 and 9/4 time signatures that are internally written as 2 x 1536 EDU / 3 x 1536 EDU
      -Cue text expressions are not changed in expression position settings if EXCLUDE is added to the description
      -Added a few example images to the online documentation

      ;v2.0200 2020-12-29
      -Windows installer: one error message added
      -A few changes to the user dialog texts
      -Although Perfect Layout warns that independent time signatures are not supported by the plug-in and can lead to several issues, a few issues have been solved now. But still it is not recommended to use Perfect Layout on scores with independent time signatures.

      New features:
      -New option "General->Select Language".
      -Added user-defined language support
      -Added German user interface (with manual translation), not all warning messages and log-texts are translated yet, but most of the common messages.
      -Added French user interface (with automated translation, not verified yet!), no translatation of the parameter-dependent warning messages yet.
      While the German language support is already hard-coded into the plug-in, there are two user-defined font files (UserLanguage1.txt and UserLanguage2.txt) which can be edited by the user. They are automatically installed in the Elbsound program folder (Windows typically: c:\program files (x86)\\Perfect Layout, macOS typically: /library/application support/ Layout).
      When editing these language files, make sure to not add additional line breaks into the file. Otherwise the lines may not be assigned correctly.

      ;v2.0100 2020-12-18
      -A few user dialog improvements
      -Improved a very low note expression scenario where the previous measure ends with a hairpin

      ;v2.0094 2020-12-12
      -In rare cases tempo/rehearsal marks placed before a staff were moved even if they had the EXCLUDE mark.
      -In some cases dynamics on low notes with articulations above the staff on slash staff style measures were unnecessarily moved before the note.
      -If "Harmonize Offsets and Alignment of Rehearsal and Tempo Marks" was activated, in some cases EXCLUDE marks were also affected. Fixed now.
      -In rare cases an error message could occur on articulations on cross staff notes that appeared on the top staff in piano notation, but that were attached to the bottom staff.
      -The independent time signature detection didn't work in some cases, so the warning message didn't pop up. Fixed now.

      -The slur contour dialog now displays the slur inset values correctly in percent.
      -Improved vertical placement of multiple rehearsal/tempo marks over large time signatures
      -Improved horizontal/vertical placement of multiple rehearsal/tempo marks over rehearsal/tempo marks that use the EXCLUDE mark.
      -macOS: a few user dialog improvements
      -When clicking on "Load Factory Settings" in some cases the title message of the user dialog didn't show "Factory Settings Loaded"
      -The registration page on the webpage now cuts off blank spaces at the beginning and the end in the registration form. They sometimes appear through copy&paste.
      -The system spacing option "Optimize System Distances Only and Keep Staff Distances" now takes into account vertical collisions on staves. I.e. if a vertical collision is detected somewhere, then the distance staff at the collision is increased.
      -Corrected two typos in warning messages
      -The international PDF manuals (Spanish, Italian, German, Polish, French) have been updated (see Still it is an automated Google translation. Only the German version uses a semi-automatic translation.

      New features:
      -On measures with independent time signatures 'Open tie' removal is now supported.

      ;v2.0092 2020-12-11
      -In some cases the barline width was not calculated correctly (about 2 EVPU difference). This could effect the horizontal distance of dynamics from the barline.

      -One more case added for automatically flattening tuplet brackets on tuplets starting with rests added.
      -Short dynamics (f, p) on very low notes on beat 1 are moved before the note, even if they would appear partially under the barline, if there is still lots of space at the end of the previous measure.
      -Windows: Better installer warning messages for the v2.0 update.

      ;v2.0090 2020-12-10
      -Added more music fonts to the list of known music and symbol fonts (Leland).
      -Improved rest optimization on pick up measures

      ;v2.0080 2020-12-09
      -Improved placement of dynamics on very low notes in piano notation, if the bottom staff at the same has a high note and there is enough space before the note.
      -Improved finding of average center position for dynamics in piano notation, if one dynamic is a very low note expression
      -Fermata expressions in the dynamics category are now ignored and only taken into account for metric calculations for spacing. Semantically they should be in any other expression category like tempo alterations or technique text.

      ;v2.0070 2020-12-08
      -In rare cases better horizontal alignment of two tempo/rehearsal expressions in one measure, if one expression is attached to the time signature and one to the start of the music and they don't overlap
      -Better vertical placement of rehearsal/tempo expressions in some cases of collisions with grace notes
      -Improved stacking of rehearsal/tempo texts

      ;v2.0060 2020-12-02
      -In some cases on percussion staves with multi-layer scenarios combined rests were moved down from center 2 or 3 steps.
      -When using Finale's pick-up measure value it was altered in rare cases, if the pick-up consisted of triplets only. This lead to slightly too wide pick-up measures.
      -When slash measure counting was activated, Perfect Layout also displayed a counting number on the last measure of the group, even if the slashes were only on the first half of the last measure. Fixed now.
      -macOS: some old music fonts (e.g. Vivace) were listed on macOS with a "Medium" extension (i.e. Vivace Medium) and thus not correctly recognised by the plug-in. Fixed now.

      -If a repeat pattern starts one bar before a double bar line, then repeat counting expressions will now start after the double bar line with (1) (and not before the double bar line).
      -A warning message in the .log file is issued when the pick-up measure duration doesn't match the actual note length and all warning dialogs are bypassed.
      -Improved detection of key signature naturals if "Cancel Outgoing Key Signatures" was deactivated in Finale's preferences and the key signature changed to C Major.
      -Mixed (ambiguous) articulations that include an accidental (e.g. for trills) are treated as an accidental articulation and not automatically reset in their positioning
      -Improved vertical placement of some accidental articulations (above grupettos)
      -Improved placement of dynamics placed at the end of the previous (empty) measure before a lyric note on beat 1 in the next measure
      -If the plug-in is NOT applied to the full document, then the measure number positions won't change automatically anymore.
      -macOS: Improved support for more .dfont type fonts. All .f2n files from .dfont fonts will be re-created with this update. If you still have problems with old dfonts, please let us know or convert these fonts to true type (.ttf) fonts which the plug-in can handle fine.

      New feature:
      -Similar to the "EXCLUDE" feature for excluding expressions in the vertical staff spacing and vertical alignment, you can now add "FORCEINCLUDE" to the description text of an expression and it will be included even if it is huge and far above/below a staff. By default these expressions are not taken into account for vertical alignment and/or spacing.
      More info:
      -macOS: Support for fonts from .dfont files that are not Windows-compatible (i.e. without an OS/2 table).

      ;v2.0056 2020-11-29
      -macOS: User dialog improved on the 'Systems' tab

      ;v2.0052 2020-11-25
      -The Reset->Move Note/Stem Side Articulations to Opposite Side on Multi-Layer Entries option wasn't saved correctly to the settings file.

      -In rare cases improved vertical staff spacing on some cross-staff scenarios that were entered in the top staff with the beam visible upon the bottom staff (and vice versa)
      -Technique expressions over shape articulations are not placed vertically close to the note anymore (and possibly overlapping with the shape articulation), but kept on their vertical position.
      -The slur contour values on the "Do First" tab are now shown in the selected unit (not always EVPUs as before)
      -Improved detection of clef changes in measure 1
      -Improved handling of text repeat staff lists in case of top staves that hide text repeats
      -One more case added for moving articulations in multi-layer scenarios one the other side of the note.
      -Improved two layer note collision handling on wide noteheads as in EngraverFontSet
      -Improved horizontal placement of some compound dynamics like "mf cresc."
      -Improved vertical placement of mf, sf, pf and rf expressions on multi-layer scenarios under stem down notes (closer to the note)
      -"Systems" tab: improved user dialog
      -The default value in "Optimize->Optimize Tie Settings" for "Ties->Avoid staff lines by" was changed to 11 EVPUs.
      -Improved: Added a warning message when using the "Deactivate All" preset.

      ;v2.0050 2020-11-19
      -In some cases systems of 3-staff groups (e.g. organ notation) were not aligned at the bottom page margin.
      -In very rare cases wrong accidentals were detected on instrument staff styles with transpositions because of a rounding error which might be Finale or JW Lua related.

      -Detection of 3-staff organ groups where only the first two staves are connected with a piano bracket
      -Improved vertical staff spacing for 3-staff organ groups where only the first two staves are connected with a piano bracket

      ;v2.0048 2020-11-15
      -Measure counting expressions were sometimes added twice if the plug-in was applied multiple times. This bug has been introduced some versions ago. Fixed now.
      -In rare cases of two nearly congruent groups (a 2-staff group with brackets + a 3 staff-group without brackets) additional group brackets were added. Fixed now.

      -Better detection of existing counting range expressions, e.g. (1-5)
      -Grammar improvement to the user dialog
      -macOS: Improved installer dialog on high resolution screens

      New Feature:
      -New option "MMRests->Maintain System Locks on Empty Measure for MM Rest Creation":
      the automatic multi-measure rest creation stops and breaks a new multi-measure rest if the locked system ends with several empty measures, even if these empty measure continue on the next system. This feature is helpful, if you haven't generated multi-measure rests in parts yet, but already have layouted measures per system in the parts (e.g. in musical theatre scores with often 4-bars per line or 4-bar multi-measure rests).
      Note: this option is not active when "MM Rests->Automatic Measure Reflow If the Number of MM Rests Has Significantly Changed" is activated.
      -New option "MMRests->Maintain System Breaks on Empty Measure for MM Rest Creation" (Gold version only, deactivated by default). Same as before, but this time MM Rests will also end on system breaks that are not locked.
      -New option "Counting->Set Repeat Staff Style Measure Width to ..." (Gold version only, deactivated by default). It forces the width of one/two bar repeat staff style measures to a fixed measure width value. In the deactivated default state, the more flexible and powerful function that was already available in previous versions of Perfect Layout works: it only reduces the width of repeat style measures on very dense systems that require more space for the notes.

      ;v2.0046 2020-11-15
      New Feature:
      -"Counting->Include Brackets". By default this was activated in the last versions. Now you can deactivate and get a simple 4 expression instead of a (4) when counting repeat/slash measures.

      ;v2.0044 2020-11-12
      -In rare cases an error message could occur on right barline aligned custom smart lines on hidden measures. Fixed now.
      -macOS: The automatic update detection didn't open the URL to download the update when clicking on 'Yes'. Fixed now.
      -In rare cases an error message could occur if the plug-in was first applied to the score, then a second time to a part which has a very dense vertical spacing.

      -Improved metrics for some custom smart lines after a system break
      -Improved multi-measure rests on measures with hidden notes only
      -Updates in the slur/ties documentation and dialog.

      ;v2.0042 2020-11-11
      -In some cases custom smart lines after a system break were not correctly included in vertical staff/system spacing.
      -Windows 7 (only): If the PowerShell default security protocol was set to Tls10 instead of the modern Tls12, the plug-in and/or the installer could have problems connecting to the internet for the registration. Fixed now. Make sure to have the Microsoft update KB3191566 "Windows Management Framework 5.1" installed as described in the FAQ:

      ;v2.0040 2020-11-07
      -Windows: the Windows progress bar now display UTF8 encoded staff names correctly.
      -If a staff was completely hidden (collapsed) both in the score and in the parts (and the part was thus completely empty without any staff system), this could lead to too big vertical distances between other staves in the score. Fixed now.
      -If a modified notehead used a missing font, then in some cases JW Lua would return wrong note metrics. Fixed now.

      -In some cases dynamics with hairpins followed by a rest were vertically aligned with following dynamics although "Alignment->Align Dynamic Expressions Only If Connected By Hairpins" was activated.
      -Improved metrics for some notes within groups (especially cross staff)

      New Feature:
      -"Systems->Change System Distance Only": Keep the vertical staff distances and only changes the vertical distance between the systems to align with page margins.
      -Silver: The option "Tuplets->Put Tuplet Brackets On Notes Far Above the Staff on Top (And Vice Versa)" can now be deactivated in Silver. In Gold this was already possible in previous versions.

      ;v2.0030 2020-11-05
      -macOS: In rare cases a font error message could occur when using mixed music/text fonts (like Broadway Copyist Text) with a "Bold Italic" style in expressions.
      -Windows: in rare cases (sometimes in batch processing or when working with multiple Finale versions at the same time) the progress bar file didn't close properly.

      -Improved placement of reh./tempo texts on measures with rehearsal letters, if "Alignment->Per System (On the Best Fitting Line / Skip Rehearsal Marks)" was selected
      -Added two more demo files for testing the tuplet settings to the Docs and Test Files folder

      ;v2.0020 2020-11-03
      -macOS: in certain two screen setups on macOS it was possible that the first user dialog was invisible. This is fixed now. As this seems to be a JW Lua bug, it is recommended in the Gold version to not disable the warning dialogs in General->Bypass All Warning Dialogs if you have this invisible dialog issue. As the Silver version doesn't have that option it is not affected.
      -If the plug-in was performed on a selection of measures only, in some cases the lyrics optimization was partially performed on the previous staff system.
      -In rare cases custom smart lines on hidden measures could lead to an error message.

      -Gold version: The "Set 'Start Numbering At' to 2 Measures" for multi-measure rests can now be deactivated.
      -macOS: Improved Installer
      -Lyrics baseline optimization is also performed if the individual vertical offset of a note entry is above 120, but the lyrics baseline is still below the staff.

      New Features:
      -Support for "Start Numbering At" values in multi-measures rests above 2.

      ;v2.0009 2020-11-02
      -Improved detection of staves on which "Laisser Vibrer" ties are not allowed
      -If a repeat text is assigned to "Top Staff" only and the staff attributes are set to hide text repeats, it is now included in horizontal alignment.

      New Feature:
      -A new preset "Deactivate All" which can be loaded by clicking "Load" was added.
      Note: This doesn't deactivate all features of Perfect Layout, but only those features that can be deactivated through the user dialog. Especially in the Silver version not everything can be controlled through this. Even in the Gold version some "main" functionality (dynamics/hairpin placement and multi-articulation collisions) can currently not be switched of as it is not part of the user dialog functionality. Still this gives a much faster way to apply the plug-in more selectively.

      ;v2.0007 2020-11-01
      -Improved user dialogs for expression category changes

      ;v2.0005 2020-10-31
      -macOS: The .log file didn't show up automatically at the end of the processing.

      -Faster and better detection of slurs on extreme note tuplets
      -Improved horizontal spacing possibilites on very wide tempo/reh. expressions over multi-measure if the system has several multi-measure rests
      -If the last cue note has an open tie, the tie is not removed any more

      ;v2.0003 2020-10-26
      -A deactivation problem could occur on two activation licenses.
      -In some cases above staff dynamics on lyrics staves were moved below the staff
      -In some cases improved metrics calculation if instrument changes occur that use different key signatures
      -In some cases measure numbers were hidden when measure number ranges on multi-measure rests were added.
      -'Open ties' (l.v.) were falsely detected if the last tied note of a measure was followed by a hidden note.
      -The newsletter subscribe function in the Windows installer now works again.
      -No more measure counting expressions "(1)" on one-bar repeats with chord changes on every bar
      -If page texts were used as movement names, but assigned to a page (and not a measure) and the placement was visible above different measures in score and parts, then in rare cases an error could occur. Fixed now.

      -Independent alerts for new update availability for the macOS and the Windows version.
      -Improved collision detection on slurs with line breaks that end far above or below the staff if the slur "Lift" setting is activated.
      -Improved macOS installer stability (better file mode handling, simplified user dialog).
      -macOS: Some user dialog corrections
      -Improved note spacing on multi-layer collisions with accidentals
      -Improved note spacing on multi-layer collisions with second intervals
      -Improved metrics of note flags
      -Slightly improved overall processing speed on large scores
      -Improved collision detection with chords
      -Improved collision removal on staccato and staccatissimo articulations with tuplet brackets
      -Improved vertical spacing on systems with very short hairpins
      -Improved vertical spacing on empty staves with measure numbers
      -Improved vertical spacing in some cases if the Scale System" value is above 100%.
      -Improved collision detection on slurs with very short hairpins on the same system
      -Improved collision detection in one case of rehearsal mark at system start on top of measure numbers
      -If a measure startet with 1-line notation and ended with 5-line notation (and vice versa), it was possible that dynamics were not correctly aligned vertically in some cases.
      -macOS: Progress bar now displays correctly on multi-monitor setups with negative window coordinates
      -Less class constructions and thus better memory performance on batch processing
      -Chords are now only set to "Left Alignment" if the full document is selected (not on partial selections anymore)
      -Improved vertical lyrics spacing when there are (at least) three different types of lyrics on one staff system and some measures consists of one lyrics type and the other measures consist of (at least) two other lyrics types.
      -Improved vertical spacing for staves with individual line spacing different from the 24 EVPU default.
      -Support for the measure setting: Time Signature Always Hide
      -Improved "wrong expression category" detection on reh./tempo marks and alterations if these expressions occur on multiple staves and not only the top staff
      -Improved placement of measure numbers with enclosures at system start
      -No more vertical (re-)placement of repeat texts if there are multiple repeat elements in the same measure
      -Improved connection of hairpins that end in the previous measure with dynamics on beat 1
      -Two branches of Perfect Layout do now exist for Windows users: v1.x and v2.x. All Mac beta users have been transfered to v2.x.
      -No more horizontal reset of left-/right-aligned coda symbols if they have a huge offset
      -Improved detection of rehearsal mark collision with curved group brackets if there are multiple brackets that start on that staff
      -The "brackets of tuplets with extreme high/low notes are not put on note side if the start tuplet note has a slur" check is now also performed on the other notes of the tuplet.
      -No more duplicate warnings on repeat texts set to right/left alignment, but placed at the opposite barline.
      -Improved detection of page texts as movement titles

      New Feature:
      -macOS only: New option "General->Show progress bar on screen number X" to change the screen on which the progress bar will appear in multi-screen setups.

      ;v2.00-1.8602 2020-09-23
      -In some cases dynamics moved before very low notes could collide with accidentals on upper notes. Fixed now.

      ;v2.00-1.8600 2020-09-17
      -Lyrics baselines were sometimes not correct if the system started with a slur from the previous system.
      -"Under" slurs on slurs with system breaks were sometimes not detected correctly after the system break which could lead for example to wrong lyrics baselines.
      -Tuplet numbers are now taken into account for custom line collisions above the staff
      -Custom smart line texts with fixed sizes are now detected correctly
      -Custom smart lines that are nearly congruent (everything identical except a tiny horizontal or vertical differences of less than 20 EVPU) are not removed as duplicates anymore to allow for example parallel lines close together.
      -If "Display in Concert Pitch" and "Keep Octave Transposition in Concert Pitch was activated, then vertical collisions with notehead-attached smart lines were sometime not detected correctly.
      -The update download on Safari/macOS (on is not be blocked anymore by the window pop-up blocker.

      -The vertical distance between Rehearsal Marks and measure numbers is now also controlled via Express.->Min.Vertical Distances Between Rehearsal/Tempo Marks and ... -> Other Symbols
      -The default values of multi-measure rests are not copied over manually adjusted multi-measure rests in parts anymore if "MMRests->Create MM Rests in Parts" is deactivated.
      -Improved vertical alignment if there are multiple reh./tempo mark expressions on top of each other and more reh./tempo mark expressions on that system that need to be aligned and the multiple expression block has a huge distance to the top of the system.
      -If only a few measures were selected, then in some case lyrics baseline optimization was not performed if a staff system only included word extensions, but no lyrics.
      -Custom smart lines that end at the at end of measure and collide with their right text with a system barline are slightly shortened, so that they end right before the barline.
      -Notes with a beat position behind the next barline are not taken into account anymore for automatic clearing of the manual note position.
      -Custom smart lines that are set to "Make Horizontal", but also to "Maintain Angle" and have different start and endpoint vertical offsets are now made horizontal over the system break.
      -Installer includes updated PDF manual

      New Feature:
      -The window title now displays the last loaded file name, the loading of the factory settings and the unsaved state.
      -Improved and simplified macOS registration/activation dialog
      -macOS installer now allows to change the Finale plug-in menu name
      -macOS installer is now compatible with multi-user accounts on that computer, but for security reasons the plug-in needs to be added to Finale's plug-in menu manually on other user accounts. See
      -Non-standard user-defined custom smart lines (e.g. for contemporary notation) can be included in "above the staff collision detection with notes" by adding a hidden text into one of the 5 text fields in the custom smart line definition. Just add "putontop" with the hidden text style. More info see:

      ;v2.00-1.8510 2020-09-08
      -Hairpins below grace notes only could lead to wrong spacing.
      -If the document use straight flags, then no error message is shown if the non-straight flag symbol is not set

      -Improved vertical spacing in some cases of cross staff tuplets starting or ending with rests
      -Improved vertical spacing on cross-staff glissandi with cross-staff notes
      -Very, very low rests on two-staff groups (piano notation) that are visible on the bottom staff, but are placed in the top staff without being cross staff are not taken into account for vertical staff spacing anymore
      -On macOS the progress bar is now also visible on the very first run of the plug-in (on Windows it isn't)
      -Installer includes updated PDF manual

      ;v2.00-1.8500 2020-09-03
      -The download link for the PDF manual was broken. Fixed now.

      -Minor horizontal collisions of articulations with tuplet numbers will now be solved with a little shift left/right of the tuplet number instead of adding a bracket and moving the tuplet awway from the articulation.
      -Improved placement of rehearsal/tempo marks in some cases of two collisions (one at the end of the previous measure, one at the start of the next measure).
      -Improved placement rehearsal/tempo marks if slurs were in previous measures
      -Improved placement rehearsal/tempo marks over cancel key signatures
      -Finale 26/macOS improved performance of the progress bar on multi-screen setups.
      -Installer includes updated PDF manual

      ;v2.00-1.8400 2020-09-02
      -Finale 26/macOS sometimes had problems showing the progress bar. Fixed now.
      -Finale 26/macOS: The time out error message in the progress bar is now hidden

      -Improved guessing of metrics on symbols of non-installed fonts.
      -Improved vertical centering of hairpins in piano notation
      -Improved collision removal of arpeggio articulations with other articulations
      -macOS: The test and demo files in the folder /library/application support/ Layout/Docs and Test Files/ are now writeable.

      ;v2.00-1.8300 2020-09-01
      -In rare cases of a certain type of invalid font files and error could occur. Fixed now.
      -In some cases PL would unnecessarily change the rests in tuplets.
      -The download button on the update download web page was not enabled in some cases. Fixed now.

      -Improved installer stability (macOS)
      -Glissandi lines that are misused as trills are now better detected.

      ;v2.00-1.8200 2020-08-19
      -When the non-Maestro compatible key signature font is not installed on the computer, the plug-in will now cancel and not crash anymore with an error message.
      -In very rare cases an error message could occur on dynamic expressions below notes colliding with accidentals.

      -Better rounding in the user dialog if switching the measurement units back and forth to EVPUs (macOS and Windows use different rounding functions in Finale)
      -Gaps between two connected hairpins are added even if an expressive text expression connects the two hairpins
      -Better detection of non-Finale text font styles (i.e. semibold, condensed, etc.)
      -Improved installer (macOS)
      -Improved reading of .ttc font collections

      ;v2.00-1.8100 2020-08-17
      -Dynamics attached to rests before notes with lyrics are not moved to the notes with lyrics, but remain on the rests
      -In some cases first page text elements above the top staff were moved onto the staff. Fixed now.
      -In some cases underline or strikeout fonts could lead to an error message. Fixed now.
      -Rehearsal marks break multi-measure rests even if the "Hide Tempo Alterations If No Notes Follow" option is activated
      -Lyrics part staff groups with two staves only and piano playback are not detected as "piano notation" any more
      -The "Hide shape list" is partially generated automatically (e.g. detection of bow shapes). From this version on it is only automatically stored in the .ini settings if the shapes are changed manually. Otherwise automatically detected articulation shapes which are not present in the next score might lead to unexpected articulation placement.
      -If notes from layers above layer 1 (=x) are moved to layer 1, then expressions explicitely assigned to layer x are now re-assigned to layer 1
      -Enclosed technique expressions get the correct vertical distance to the nearest element (was 3 EVPU too close)
      -In documents where no music spacing has been applied to the parts, in some cases note positions were reset to 0 even if music spacing in the document options was set to "incorporate Manual Positioning". Fixed now.

      -Improved expression conversion from old documents ("Top Note" aligned dynamic expressions are not moved below the staff anymore)
      -A piano group consisting of four staves is also allowed for detecting a "part" instead of a "score"
      -Improved chord spacing in two staff groups (piano notation)
      -Improved tie and slur metrics on jazz fonts
      -Rehearsal/tempo mark expressions marked with EXCLUDE are not taken into account for aligning rehearsal/tempo mark expressions any more
      -Less warning messages on missing recommend fonts
      -Single note measures get an adaptive music spacing below the minimum measure width.
      -Improved placement of dynamics before notes on very low tied notes
      -Improved placement of reh./tempo marks on multi-measure rest measures: if there is only a small overlap with the multi-measure rest number, then the expression will be shifted slightly to the left
      -Old Finale documents can have invalid font tags (e.g. nfx(9999), size(0)). These are handled better now.
      -Better detection of duplicate shape definitions
      -Better detection of tempo expressions with unknown text symbols
      -Measure counting over double barlines with the option "Restart Repeat Bar Measure Counting On Double Barlines" activated now yields the correct partial counting until the first double barline in the very first measure (and not the full measure range)
      -Measure counting over double barlines with the option "Restart Repeat Bar Measure Counting On Double Barlines" activated now counts until the last repeat bar if only 2 or 3 repeat bars follow the last double barline.
      -"Right Barline" aligned expressions which are usually assigned to measure position 0 are internally reassigned to measure position "end of last beat".
      -Improved collision detection on reh./tempo mark collisions with right barline aligned expressions from the previous measure
      -Improved vertical placement of reh./tempo marks if they collide with non-reh./tempo mark expressions in the after next measure
      -Slurs that are horizontally moved far away from the original point (>250 EVPUs) are not reset anymore when Remove Manual Slur Adjustments is activated
      -Rehearsal/tempo mark collisions with other expressions are now better detected (if they were not colliding, but only had a very small distance)
      -Improved metrics on f dynamics with jazz style fonts
      -Improved rest optimization
      -Staff positions are calculated faster
      -Tempo expressions are detected faster
      -Tempo/rehearsal marks slighty next to beat 1 (<96 EDUs) are moved onto beat 1 unless the work includes very short notes. This often occured in older Finale files from the 90s.
      -Added more music fonts to the list of known music and symbol fonts
      -Added more text fonts to the list of known text fonts
      -More consistent capitalization of words in the user dialog
      -Corrected typos in dialog
      -Solid/dashed lines are not detected as note glissandi if placed outside the system
      -Improved detection of outliers if rehearsal/tempo marks are to be aligned vertically
      -Improved collision removal on tempo/rehearsal marks over tied notes
      -Improved collision removal on tempo/rehearsal marks over whole notes with accidentals
      -Improved collision distances on backward tied notes at the beginning of a system
      -Improved categorization of text expressions with mixed music symbol and text fonts
      -Improved vertical distance of multiple rehearsal mark/tempo expressions
      -Warning message on old Finale documents to activate "Document Options->Accidentals->Use cross-layer accidental positioning". Otherwise accidentals may overlap after the plug-in.

      New Features:
      -The measurement unit can be changed in the user dialog.
      -New option in Gold edition: "Hide Counting in First Measure" (deactivated by default and in Silver). If activated it will skip the (1) on the first repeat symbol measure and will start to display repeat counting on repeat measure 2.
      - New option "Delete Reh./Tempo Expressions in Misc. Category From Staves Not Included On Staff List" (activated by default). In previous versions this feature used to be included too, but it could not be deactivated. Now it can be switched off. This feature is mainly important for old or imported Finale files where tempo marks often appear in the Miscellaneous category instead of the Tempo/Rehearsal categories. These expressions should usually be only visible on the staves from the tempo marks staff list and not on every staff.
      - New Option "Exclude Ambiguous Time Signatures From Rest Optimization" (deactivated by default). In time signatures like 5/4, 7/4 it is sometimes difficult to predict the correct sub beats. To keep the rests in these measure as they are, but still to have rest optimization in the standard signatures (4/4, 3/4, etc.), activate this option.
      - New Option "Vertical Threshold for Outlier Expressions not to be Placed on the Best Line". This value is now adjustable. The default value (which was also a fixed value in previous versions) is 66 EVPU. The larger the value the further the tempo/rehearsal mark expressions will align vertically above the staff if the expressions are far apart. If the expressions are vertically further apart than the threshold value, they will not align vertically.
      -If ADDEXTRASPACE is added to the description field of a non-tempo/non-rehearsal expression or to the category name of an expression, then extra space is added to the measure that holds this expression (on beat 1 only!) if it has a horizontal collision (as in tempo/rehearsal marks). Note: If reflow is set to "Only within systems", this feature will probably not work as there is usually not enough space on a system for widening the measures so much. As with tempo/rehearsal marks this feature works best if the reflow settings are set to "Reflow measure across systems" and "Reflow systems across pages".
      If the expression is not on beat 1, no extra space will be added.

      ;v2.00-1.8050 2020-07-08
      -macOS: Improved installer
      -macOS: Improved progress bar placement

      ;v2.00-1.8047 2020-07-06
      -In some cases (e.g. MusicXML imported documents) pedal and fermata expressions were not taken into account in collision removal
      -Collisions of custom smart lines over tied whole notes were sometimes noted detected. Fixed now.
      -If notes at the end of a measure are tied to a target measure (which is not the next measure) and an ending repeat bracket starts in the next measure, then in some cases the ties were removed as "invalid laissez vibrer ties". Fixed now.

      -Improved vertical system/staff balancing on scores where the system top margins alter and don't match the global page format system top margin settings at all.
      -Tuplet brackets over extreme high/low notes are note added anymore if these note
      -Added more text and music fonts to the list of known fonts
      -Pedal expressions are taken into account for collision removal if they collide, but they are not moved closer to the lowest entry if they are far away (in order to not loose connection with another pedal marking)
      -Improved placement of a "sempre" expression in connection with dynamics
      -Better real whole rest removal in MusicXML imported documents on measures that includes tempo or rehearsal marks
      -Improved collision detection of tuplet numbers on multi-voice/multi-layer scenarios, if the tuplet numbers have a global offset.
      -Faster calculation of clef change detection
      -The download webpage now ignores blank spaces at the end of the form entries.
      -Added more warning messages in the log file for invalid smartshapes
      -Faulty multi-measure rests that cover notes in parts are removed
      -Correct vertical of three articulations on a note if one articulation is a laissez vibrer or arpeggio symbol.
      -Improved warning message on invalid slurs (not "Measure 0" anymore)
      -Horizontally flat glissando/shake/trill lines are now also aligned vertically if they start on a note with an invalid articulation flag
      -Horizontally flat glissando/shake/trill lines are now also aligned vertically if they start on a note with a "standard" accent articulation that usually is placed directly on top of the note (staccato dot, marcato, tenuto, etc.)
      -Improved rests minimization when rests are connected to expressions
      -Custom smart lines that span multiple systems are not adjusted in non-selected measures if only some (other) measures of the smart line are selected before running the plug-in.
      -macOS: Node.js updated to v12.18.2. Otherwise macOS doesn't allow the digital signature of the software.
      -macOS: No more problems with the plug-in progress bar if Finale is started on a second monitor
      -macOS: The tabs on the main user dialog also used to react sometimes when clicking far below the tab name

      New Feature:
      -New option added: "Keep 'Always Flat' Tuplet Brackets Flat". Even if "Optimize Tuplet Settings" is activated and the default tuplet settings are copied to each tuplet the "Always Flat" value will not be overwritten, if it was set to 'Always Flat' for an individual tuplet bracket. (Activated by default)
      -Basic collision removal on text expressions with key signatures (no cancel outgoing signatures supported yet)

      ;v2.00-1.8045 2020-06-21
      -macOS: Installer error fixed ("Missing files")
      -In rare cases a slur that started and ended on cross staff notes, could lead to an error message. Fixed now.
      -Niente expressions on a hidden staff could lead to an error message. Fixed now.

      ;v2.00-1.8043 2020-06-17
      -Measure numbers at the beginning of a staff system don't change the font any more (this only occured in rare cases)
      -"Use Specific Voicing With Selected Notes" wasn't load from the factory settings
      -In very rare cases an invalid composite time signature could lead to an error message. Fixed now.
      -Dashed slurs will not be replaced with ties anymore if they connect the same note pitch.
      -Niente circles above the staff are not shifted horizontally or below the staff anymore if there is a multi-layer scenario with both hairpin below and above the staff.
      -macOS: Font suitcases without a .suit file extension (i.e. with no extension) are now supported (e.g. Finale Percussion and Finale Mallets in Catalina)
      -In rare cases measure numbers at the bottom of a system were not taken into account for vertical system balancing. Fixed now.
      -Correct vertical lyrics distance if three or more verses are used on top of each other.
      -Empty tab staves next to occupied tab staves are now used correctly in vertical system spacing (this already worked fine until v1.7104).
      -Above staff lyrics don't influence the below staff lyrics placement anymore
      -If lyrics were used both above and below a staff, then the vertical system/staff balancing was not correct. Fixed now.
      -Lyrics placement was not correct if a lyrics note included two slurs: above and below.
      -Improved detection of a few collision cases if a note includes both an over and an under slur.
      -In rare cases multiple chord collisions on a slash style measure (without notes) with many other chord collisions on the same system staff could lead to even worse chord collisions. Fixed now.
      -Sometimes end measure clef collisions with notes in linked parts were not detected correctly. Fixed now.
      -Rest optimization of resized rests (less than 100%) could lead to new non-resized rests. Fixed now.
      -"Glasses" symbols as articulations are not removed anymore if assigned to rests

      -Centered measure numbers below mm rests are now hidden, if the document also displays measure ranges below mm rests.
      -Improved rest optimization measures using hidden composite time signatures: 2+2+2+2/8 or 1+1+1+1/4 becomes 4/4; 2+2/8 or 1+1/4 becomes 2/4; and 2+2+2/8 or 1+1+1/4 becomes 3/4.
      -Improved vertical placement of smart shapes over cross staff notes.
      -Improved rest handling in 6/16, 12/16 and 3/8 measures.
      -Improved vertical system balancing on scores with system scaling below 100%.
      -In some cases improved vertical/horizontal alignment of several tempo/rehearsal marks at the same measure position
      -Improved vertical system/staff spacing for some cases that include both mixed staff resizing and system resizing.
      -Improved vertical placement of custom smart shapes and ottava/trill lines on some collisions both with slur and ties.
      -Two new example files are included as download links in the Docs and Test Files folder.
      -Improved placement of very low dynamics on multi-slur scenarios
      -More music and text fonts are now known to the plug-in
      -Glissando lines are now included in vertical system/staff spacing.
      -Improved slur collision removal at the beginning of a system
      -Improved vertical spacing on slurs across staves that were not detected as grouped staves
      -Improved detection of piano groups, even if the group name and staff names are inconsistent and no playback instrument is used
      -Faster calculation of clef changes on multi-measure rests
      -Improved clef/note collision removal on scores/parts that require re-spacing
      -Clef changes in the middle of a multi-measure rest (and not only at the ending) are now taken into account for collsions of clefs with multi-measure rest symbols
      -Improved measure number detection in (jazz) scores that only have a clef in the first measure of the very first system
      -Glissando lines are now taken into account for vertical placement of tempo/rehearsal marks.
      -Improved collision detection of tempo/rehearsal mark expressions and slurs above the staff
      -Improved collision detection of tempo/rehearsal mark expressions when the last measure ends with a trill or custom shape above the staff
      -Improved precision on lyrics with slur/tie collisions
      -macOS: Progress bar now also starts immediately at the very first run of the plug-in (that is different on the Windows version where it only starts immediately on the second run)
      -macOS: the "How to use Perfect Layout" online document is opened at the end of the installation.
      -macOS: in Fin25/Fin26 the font annotation and plug-in folders are now correctly read
      -macOS: Improved installer

      New Feature:
      -The Gold edition has a new option "General->Bypass All Missing Font Warning Dialogs" (deactivated by default and in Silver edition).
      -The Gold edition has a new option "Also Update Bracket Appearance If 'Always Use Specified Shape' Is Selected" (activated by default and in Silver edition). This was the default behaviour in previous version. If this option is deactivated now, the original bracket style will be maintained on tuplets with the "Always Use Specified Shape" option.
      -Four new options (Silver: three new options) added for advanced rest splitting/merging in compound time
      "Allow Dotted Rests On Beats In Compound Meters"
      "Allow Combined Rests At Beginning Of Beat In Compound Meters If Preceded By Rests"
      "Allow Combined Rests At Beginning Of Beat In Compound Meters If NOT Preceded By Rests"
      "Keep Combined Rests At Offbeat In Compound Meters Unless Followed by Rests"
      -New option: "Restart Repeat Staff Style Measure Counting On Double Barlines". Activated by default.
      -Collisions of end of measure clef changes with cross staff notes are now also detected
      -Comma/Breath Mark/Caesura articulations that collide with barlines between grouped staves are detected and the comma is moved slightly before the barline

      ;v2.00-1.8039 2020-05-19
      -Correct detection of dynamics with hairpin and "poco" text below (compared to poco dynamics followed by hairpin).
      -Inclusion of Finale Mallets, Finale Percussion, Finale Alpha Notes and FinalFiguredBass in MacSymbolFonts.txt (if missing)
      -If all user dialogs were deactivated (Gold version) and only one or two staves were selected, an error message would appear sometimes. Fixed now.
      -Corrected font metrics creation for GoldenAgeText font which internally uses the name GoldenAge. But it's highly recommended not to use the font name GoldenAge as it is ambiguous: the font GoldenAgeTitle has the same family font name GoldenAge, so it's not sure if the correct font metrics file is read.

      -"Remove manual slur adjustments" is not performed anymore on slurs that were (probably accidentally) assigned over two staves, but which appear to be connected only to one staff
      -Improved placement of custom smart line symbols over slurs
      -The SMuFl U-e541 symbol is now recognized for niente hairpins
      -Improved detection of bold, italic and bold italic fonts with international (translated) names
      -Beamed notes 32th notes (and smaller) are not split with secondary beam breaks if the first note has a beam modification
      -Improved rest splitting in compound meters (e.g. in 6/8 a quarter rest is split into two 8th rests if it starts after the beat)

      New Feature:
      -In the Gold edition it's now possible to have "Optimize Tuplet Settings" activated, but to change the default setting "Don't Avoid Staff". By default (and in the Silver edition) it always changes to "Avoid Staff" if "Optimize Tuplet Settings" is activated.

      ;v2.00-1.8035 2020-05-14
      -'zsh' problem on macOS/Catalina solved
      -Only the progress bar 'Terminal' window is brought to the foreground (not other Terminal windows)

      -Added more fonts to the list of known music fonts
      -Better hairpin connection on stem down notes in multi-layer scenarios where a hairpin starts and ends on that note
      -Better vertical dynamics positioning on piano group staves if a dynamic is assigned to the empty top staff while the bottom staff has a note with an articulation.
      -Improved placement of rectangle-enclosed rehearsal mark expression with enclosure options set to none.
      -Improved vertical placement of dynamics on low voice2 notes that don't have a voice1 note at the same beat
      -Improved horizontal placement of dynamics and expressive text at the end of a measure if the expression text ends far beyond the next barline
      -Much faster processing speed for system distance optimization in scenarios with lots of space between the staves

      ;v2.00-1.8031 2020-05-12
      -No more crashes when invalid .suit font file format was detected (macOS)
      -No more zsh warning on macOS/Catalina
      -Corrected folder detection on macOS
      -macOS/Silver400: "Standard Output File Is Closed" error fixed.
      -No crash anymore when text expressions have combinations of Japanese and European fonts with the forbidden U-3000 unicode symbol (this seems to be a JW Lua bug).

      -Less tuplet brackets are added on cross staff scenarios.
      -Improved dialog for plug-in activation on macOS
      -The macOS installer can now automatically close open Finale Windows before the installation.
      -Improved handling of UTF8 characters in some disk read/write scenarios
      -dynamics on a cross staff notation that are assigned to a whole rest (i.e. with a negative horizontal offset) are re-assigned to another layer to keep on position 0

      New features:
      -On cross staff tuplets without brackets, the Gold version now has an option to add extra brackets (deactivated by default).
      -"Chinese Unicode Safety Mode" added (in the General tab). If the plug-in crashes, because it detects the forbidden U-3000 unicode symbol (this seems to be a JW Lua bug), then you should activate this mode. The side effect is that all text elements from the "File Info" in the "Score manager" are not expanded anymore in text blocks. Usually this should be no problem.

      ;v2.00-1.8027 2020-05-04
      -Corrected detection of key signature changes on staves with independent key signatures.
      -Corrected detection of time signature changes on staves with independent time signatures.
      -Corrected calculation of clef symbols with "Transpose Keys" in scores that are set to display in concert pitch.
      -An error message could appear in linked parts with "Specify Voicing" and "Seleted Notes" when the notes had prolonged stems. Fixed now.
      -In some case mid-clef changes lead to extra space added at the end of the previous measure. Fixed now.
      -If reflow measures was activated in a rare case the last page(s) of the score could have the wrong page size.
      -In rare cases (time signature change followed by an empty measure with a hidden rest and a dynamic on that hidden rest and a preceding hairpin) the dynamic expression was correctly aligned horizontally. Fixed now.
      -If the only visible staff on a system changes from 5- to 1-line through measure reflow and system restructuring, the measure range under a multi-measure rest might have received the wrong vertical offset. Fixed now.
      -Automatic "Double Barline Preceding Key Signature" feature now works correctly if only new transposing instruments lead to a changed key signature change
      -On macOS the MacSymbolFonts.txt wasn't read correctly. Fixed now.
      -On macOS expressions with text over multiple lines are now corrctly placed.
      -In rare cases the key change detection didn't work in large orchestra scores. Fixed now.

      -Massive boost of processing speed on the metrics calculation in huge scores: ca. 1,5-2x faster on Windows, ca. 3-6x faster on macOS (but still macOS is slower than Windows).
      -Improved processing speed in the "General Preparations" functions
      -Reduction of unnecessary layers now also works on laisser vibrer notes that are followed or preceded by an empty measure.
      -Improved "Two-Staff-Group" detection. On strings groups violin groups that use a piano-like sample name are not separated any more from other string instruments in the vertical staff spacing.
      -Improved chord collision detection
      -Updated necessary MacSymbolFonts.txt assignments. Some fonts for macOS require to be added to MacSymbolFonts.txt.
      -Tested on macOS Mojave (Finale 26)
      -Tested on macOS Catalina (Finale 26)
      -The macOS installer is now digitally signed.
      -Left-justified coda symbols that were aligned close to the right barline are now also kept at the right barline if they are slightly further away from the barline, but still far away from the left barline (and vice versa).
      -Much faster clef change calculation
      -Improved vertical staff/system spreading when "Max. Distance Between Staves" is set to less than 470 EVPU.
      -Improved a few text layout problems in the user dialogs
      -Improved metrics in key signatures on instruments that use "Simplify key" transposition settings
      -The macOS installer was changed from "bundle" to a "flat" type installer.
      -Improved vertical staff distance on curved group brackets if a staff is part of several groups with different brackets

      New features:
      - Added new options "Re-Tie Notes Over Center Of Bar" and "Re-Tie Notes Only If First Note Starts After Beat 1" (in the Ties tab, both activated by default). These features makes sure that a tie over the center of a bar should indicate the beats. Thus a dotted half-note plus an eighth note in a 4/4 signature would become a half note plus a dotted quarter note by default. The "Re-Tie Notes Over Center Of Bar" feature was already included in previous versions, but is now available as a selectable option in the user dialog.

      ;v2.00-1.7106 2020-03-31
      - "New Update Available" message now includes the version number of the new update.
      - macOS: The "New update available" dialog now automatically opens the update download page from

      --------- End of Version 1.x

      ;v1.7104 2020-03-30
      - In rare cases a hidden hairpin could cause an error message. Fixed now.
      - In some cases lyrics were moved to far below the staff if the staff ended with a slur and a hyphen. Fixed now.
      - Updated necessary MacSymbolFonts.txt assignments. Some fonts for macOS require to be added to MacSymbolFonts.txt.

      -macOS: A few improvements to the progress bar
      -macOS: Improvements to the installer
      -macOS: Improved font detection and metrics creation

      ;v1.7000 2020-03-27
      -Tied note clusters over the middle of a measure are not corrected anymore if not all notes are tied.
      -Silver version: in some cases hidden staves were counted as visible staves and the Silver limit of 36 staves was detected although the staves were hidden.

      -macOS: Improved installer
      -macOS: Improved progress bar functionality

      ;v1.6900 2020-03-26
      - Improved lyrics placement when one staff system includes a measure with multiple verses and another measure with a single verse with a different verse number

      ;v1.6800 2020-03-25
      - Rehearsal letters in old Finale documents from the early 90s are now better converted to Finale's standard rehearsal mark text definitions

      ;v1.6700 2020-03-22
      - macOS: Correct elapsed time calculation
      - macOS: Progress bar now included

      ;v1.6600 2020-03-21
      - Fix in the font engine
      - Correct font size in JW Lua on macOS (Verdana, 12)

      ;v1.6500 2020-03-20
      - In some cases two rehearsal marks that were aligned horizontally, but attached to the same measure position, were drawn slightly apart through the plug-in. Fixed now.
      - In rare cases on expression with slur collisions an error message could appear. Fixed now.

      ;v1.6400 2020-03-19
      - In rare cases of cue note notation in drumset parts moved rests on higher layers over a slash notation style were centered vertically on the staff instead of being kept above as cue notes. Fixed now.

      - Time processing estimations that are probably invalid (e.g. above 24 hours) have been eliminated and are now listed as "unknown" time.
      - Multi-measure rests are now created if only invisible staves include notes.
      - macOS version now supports the .dfont font file format.
      - More automatically detected text fonts added
      - "Empty" staff styles that use the normal notation style, but with all notation elements (and staff lines) hidden and no note entries are not included anymore in vertical staff system balancing.
      - macOS version now also supports OS 10.12 Sierra.

      ;v1.6200 2020-03-08
      - If a measure has a negative width (this should only occur on corrupt documents or, in rare cases, if music spacing has not been applied yet to a part), the width will now be fixed when music spacing is performed.
      - No more "Invalid slur" warnings on linked parts that use specific voicing.

      New Features:
      - Support for multi-measure rests in linked parts that have the "Specify Voicing" and "Selected Notes Only" feature activated. This requires a slow detection algorithm and is a rarely used feature. Unfortunately JW Lua doesn't recognize the "Selected Notes Only" features, so this is disabled by default and must be enabled in the Layers/Cues tab.

      ;v1.6100 2020-03-06
      - If the top staff of all systems is completely empty (which should not be the case unless it's an incomplete score), has a curved group bracket and a measure number at system start, the measure number wasn't taken into account for collision detection with the group bracket. This is fixed now.
      - Improved tuplet optimization on duplets in 3/4 that start with a quarter note and in 9/8 measures that start with a dotted quarter note.
      - Rehearsal/tempo marks/alterations are not scaled on cue notes anymore if the measure also contains a whole measure rest in another layer and the expression is assigned to "all layers".
      - If a document didn't have any measure number regions, then loading the factory settings in the dialog could produce an error message. This is fixed now.
      - In rare cases the lyrics font sizes were not detected correctly which resulted in a unoptimized vertical alignment. Fixed now.
      - If a modified accidental used a completely unknown music font, it was possibe in rare cases that the plug-in would issue an error message. This is fixed now.
      - In some cases hairpin/tie collisions were not handled correctly if the hairpin was spread over several systems/pages. Fixed now.
      - Rehearsal/tempo marks/alterations that included the text "rehearsal" were sometimes not correctly vertically aligned. Fixed now.
      - In rare cases with colliding chords over slash notation and lots of hidden note entries it was possible that the measure spacing was incorrect after removing the chord collision. Fixed now.
      - When two ending repeat brackets that span multiple measures are used with no forward or backward repeat in between, they were reduced to 1-measure length as ending repeats are Finale-internally assigned only to one measure. In the new implementation they are kept as they are if it's unclear (e.g. no ending hooks) or the first ending bracket is prolongated to the start of the second ending brackets, if it has hooks and visually already spans more than one measure.
      - The plug-in doesn't crash anymore if a corrupt Finale document has invalid articulation definitions assigned to notes.

      - The "Horizontal Distance of Non-Colliding or Parenthesized Accidentals" field on the Alignment tab is now correctly enabled/disabled when the "Alignment of Multiple Horizontal Accidentals" is activated/deactivated.
      - Improved hairpin/slur collision removal at the last measure of a system when both the slur and the hairpin have a system break and more than one hairpin exists in the last measure of that system.
      - Improved hairpin start position on two layer measures with both a whole note and a whole rest when the hairpin starts in the middle of the measure.
      - For security reasons we have updated the included Node.js version (needed for otf font support) to the latest v12.16.1 release.
      - If rehearsal letters or measure number expressions were not only placed on top of the system, but also on other staves, then it was possible that they could collide with the left barline at system start. Now they are moved slightly to the right.
      - Improved detection of multi-movement parts that will keep their extra distance when movement names were included as page texts betweeen the systems
      - When manual system breaks are found and are set to be removed, they are not removed if the previous measure ends with a "final barline". This improves handling of multi-movement documents.
      - In corrupted Finale documents where the expression definition doesn't match the category definition, the detection of rehearsal/tempo marks/alterations in used-defined expression categories now works correctly.
      - Word extensions are now vertically aligned slightly closer to notes which leads to an overall better lyrics alignment.
      - Invalid articulation data assigned to note entries (i.e. articulation definitions that don't exist anymore) are automatically deleted and thus the corrupt Finale document is repaired.
      - Repeat brackets are now horizontally connected correctly if the end measure has a hidden repeat bar line staff style.
      - Staccato accents over top slurs are moved slightly closer to the slur.
      - Added a few fonts to the list of known music fonts.
      - Improved cross-platform implementation (macOS/Windows).
      - Improved music spacing for (some) collisions (especially at the end of the measure and on very low/high accidentals).
      - Improved collision detection on nested tuplets in Finale 25 and 26 (already worked correctly in 2014/2014.5).
      - Improved detection of "below tuplets" in lyrics.
      - Much improved automatic system layout with large text block expressions (e.g. musical theatre cues).
      - Improved font name/font file name detection
      - Word extensions that spread over several systems on single verse lyrics are now also vertically aligned systems where there are no other lyric entries.
      - No more multiple warnings when font metrics files need to be created: only one warning message is issued.

      New Features:
      - If a user setting file is loaded, then the file name will be displayed in the plug-in's Windows title.
      - Collisions with hairpins and lyrics/word extension are now removed, if the hairpins are below the staff.

      ;v1.5200 2020-01-14
      - On corrupted documents (problems with expressions) in rare cases it was possible that temporary expressions that were used for Perfect Layout calculations only were not correctly removed at the end of the plug-in processing. This is fixed now.

      - Text expressions with hidden text only are not moved to other categories even if it looks like they are in the wrong category.
      - Improved (extracted) part detection for non-percussion parts with multiple staves (e.g. divisi violin staves)

      ;v1.5006 2019-12-26

      - An error message could occur if a part of a two-staff group (e.g. piano or harp) included two staves, but not only one staff of the original two-staff group (e.g. the left hand piano staff plus a percussion staff).
      - The top and bottom metrics of a measure in a multi-measure rest at the end of a system were sometimes calculated wrong for vertical staff/system spacing. This could lead to expressions colliding with the measure (e.g. a V.S. expression under a multi-measure rest at the end of a page could collide).
      - On percussion staves (notation style: percussion) consolidated rests were sometimes moved three staff positions too low (bug introduced in v1.1).
      - "Three Staff"-piano groups where the middle staff has 0 staff lines are now detected correctly.
      - When the original score had some "ghost" systems (i.e. systems that appear on multiple pages) and Finale's automatic reflow was deactivated, then in some rare cases the note, articulation and expression metrics were calculated wrong.
      - Rehearsal mark expressions that were neither in the original "Rehearsal Marks" nor in "Miscellaneous" category were sometimes not taken into account for rehearsal mark collision detection and automatic placement
      - No rest optimization in a piano two-staff group where one staff only holds a non-whole rest plus cross-staff notes from the other staff.
      - A rehearsal/tempo mark expression that was placed so far on the right of the page that the majority of its width was outside the margins of the page were sometimes vertically placed wrong.

      - Installer stability
      - Better collision detection of wide tempo/rehearsal marks with multi-measure rest numbers if the multi-measure rest starts in a measure after the expression.
      - Better support for 2,3 and 4-line staves (improved placement of multi-measure rest numbers, improved placement of tempo/rehearsal marks, correct metrics calculations for the multi-measure rest number and the measure number)
      - Improved starting and ending position of hairpins on whole note clusters in relation to other notes
      - Less connections of hairpins over rests if the following note has a dynamic
      - Improved detection of dynamic/expressive text expressions to be placed above the staff
      - Improved metrics for vertical spacing of chord symbols with accidentals and bass alterations with accidentals
      - Very short instrument indications in the score (e.g. 1. or 2.) are taken into account for vertical collision removal
      - The "Resize Vertical Space" option in systems is now always activated when "Optimize Staff Systems" was activated to improve the vertical distances between the systems.
      - Improved of metrics of multi-measure rests below "Start Numbering At" value
      - If there are two chord symbols on the same measure position (which is not recommended), they are not reset to the same default position anymore, if "Set to default position" is activated.
      - Improved detection of Voice2 sections if they include some hidden notes
      - Improved adding of extra horizontal space on collisions of note accidentals with note clusters on non-beamed notes with flags
      - Improved metrics and handling of invisible "middle-staves" in a 3-staff piano group setting.
      - Improved handling of parts with "specifiv voicing" that only show selected layers
      - Improved measure number metrics on the rare case where Show on System Start, Show Multiples and Show Measure Range is deactivated and only Show On Multi-Measure Rests is activated.
      - No more forced respacing when real whole measure rests were default measure rests
      - Slightly more horizontal space added if otheriwse glissando smartshapes would appear too steep
      - Improved articulation and dynamics placement if both two layers and cross-staff notes are used.
      - Warning message to use TG Tools->Adjust baselines for lyrics has been removed. As this process is automated since v1.2.
      - All Elbsound music fonts were newly rendered for an improved boundary box (i.e. better metrics) in Finale.
      - Improved horizontal distance between an "f"-dynamic expression and an expressive text expression, if the expressive text expression starts with a smaller letter, so that it doesn't collide with the open "f" if moved slightly to the left (e.g. "mf"+"sub." get closer together while "mf"+"tutti" doesn't).

      New features:
      - Adds a 32nd secondary beam break in time signatures with a beat duration of 512, 1024, 1536, 2048, 3072 or 4096, if at least two notes smaller or equal than a 32nd note are before the eighth note beat and at least two notes are after the beat (on "Optimize" tab, activated by default).
      - New option in the Systems tab: you can now set the "Min. Bottom Margin of Staff System" which is (and was in previous versions) by default 80 EVPU. For very narrow spaced scores (e.g. hymns), it might be necessary to reduce this value for example to 0 EVPU. This will generate an even tighter vertical staff system spacing. Note: this is only the minimum system distance, i.e. if any notation element is below that margin, the bottom margin will automatically be increased to avoid collisions.
      - On note clusters or multi-voice/multi-layer notes with two accidentals closer together than a sixth the accidentals are shifted closer together while colliding accidentals a sixth apart are torn apart (on "Alignment" tab, activated by default).
      - New tie handling for note clusters: if respacing is performed, then tied note clusters will use a slighlty increased minimum distance value of 48 EVPUs instead of the standard 36 EVPU. This will usually eliminate the tiny ties that sometimes occur in Finale.

      ;v1.2000 2019-11-22
      - The automatic lyrics alignment is now fully functional! TG TOOLS is not required anymore.
      - Glissando/smartshape lines between a note and a grace note on the same staff position are now made/kept horizontal.
      - When only a partial measure was selected, the plug-in could cancel with an error message in certain scenarios.
      - If only (!) the top or bottom margin in the global page format preferences for the score didn't match the actual used values in the score, the automatic staff/system balancing could cause problems. This is fixed now.
      - No more warnings in the log file about missing fonts with bold or italic styles that were actually not missing
      - Text expressions that use the superscript command with a negative value could cause error messages in some cases.
      - If a dynamic expression was assigned to a higher layer (>1) and the corresponding note on that layer was invisible behind a rhythmic staff style and there was no other note on that measure position, then the dynamic placement was not optimized horizontally.
      - Articulations on rhythmic staff styles were placed too high if two (!) rhythmic staff styles were placed on top of each other (usually this should not occur as one only applies on rhythmic staff style to a measure).
      - The font database didn't recognize clef symbols in the Aruvarb font when these were taken from the upper unicode area instead of the 0-255 standard area.
      - In rare cases word extensions on cue notes with lyrics were not hidden in the score.
      - If a part was accidentally transformed into a single multi-measure rest instead of the actual note content (before running the plug-in), the plug-in would sometimes show an error message dependent on the real positions of the multi-measure rests. This is fixed now and the single multi-measure rest is now always automatically split into the actual content.
      - Manually inverted tuplet hooks are now kept in this inverted position.
      - In some cases not all temporary created expression definitions were removed from the expression dialog. This is fixed now. As they weren't attached to the score, it wasn't visible either.
      - Noteheads with fonts set to hidden don't cause Finale to hang anymore if the measures also contains entry-based smartshapes.
      - Perfect Layout v1.0 and v1.1 didn't work in the new Finale 26.2 release, because of an unexpected change in Finale's internal font handling.
      - The "two staff group" detection (i.e. piano, celesta, marimba) wasn't correct in one rare case and could lead to piano staves being torn apart when there was a lot of verical space for the score.
      - if a staff in the score was set to "collapse in score only" and at the same used a staff style that was only applied to the score with "collape (score+parts)", then also the staff in the part would be hidden. This is fixed now.
      - if Finale's reflow settings were set to "Across Systems/Across Pages", in very rare cases (i.e. if the previous spacing was very loose and included many hidden staves) it was possible that the automatic vertical staff spacing could lead to slightly overlapping staves.
      - No shifting of dynamics on very low notes before the note if the note has an articulation before which would collide with the dynamic (e.g. an arpeggio or a bracket)

      - Improved tuplet metrics, tuplet brackets placement, dynamics placement and staff spacing on some cross staff tuplet scenarios
      - Improved staff spacing on piano notation (groups) with three staves
      - The installer now checks for updates if it has not checked for at least two days (and not randomly anymore).
      - Improved dynamics/hairpin vertical centering on piano notation (groups) with three staves
      - Improved placement of dynamics before very low notes on standard and cross staff notation, on parenthesized accidentals, if repeat brackets in the same measure and on very long notes (> whole notes).
      - Improved horizontal placement of dynamics on slash staff style measures without notes
      - Fix of the Finale bug that respacing may change the position of a mid-measure clefs: the position is now stored before respacing and restored afterwards.
      - An enclosed rehearsal mark letter plus another enclosed rehearsal mark at the beginning of a system don't collide anymore.
      - The "Show measure number range on multi-measure rests" feature is only activated for the "Digits" numbering style (not for time).
      - Faster "update available" check
      - Improved staff system distances on intersecting systems
      - Incomplete tuplets that only consist of very short notes (128th to 32nd notes) AND that also use the beam extension flag (i.e. tuplet tremolos with no other notes) were sometimes given a higher tuplet number which might have looked a bit irritating.
      - Installer stability
      - When run in Fin25 or Fin26 (i.e. 64bit) and several installations and uninstallation of the plug-in were performed into different directories, then in rare cases OTF font metrics were not correctly built in Fin25 or Fin26.
      - Improved placement of articulations above rhythmic notation for articulations without the "Outside Staff" attribute, but with "Avoid Staff Lines".
      - Improved horizontal placement of composite dynamic expressions that start or end with a molto cresc./dim. symbol from the support fonts (e.g. "f>" or " - Improved staff balancing with slurs that span multiple staves
      - Improved handling of slurs that are look like they are connected to two notes, but indeed are connected to other notes
      - Improved "Force flat tuplet brackets" detection tuplets that start or end with rests
      - Automatic "score is a part" detection also on piano notation with three staves
      - Improved vertical spacing on staves with cross staff note clusters with several accidentals
      - Improved vertical score balancing on scores with multiple systems per page
      - Pedal articulations are taken into account for note, slur and tie collision below the staff unless there are other pedal articulations or expressions in the same measure at the same vertical position
      - Improved collision removal of tuplet brackets with manual scope adjustment
      - Improved collision removal of trills that start in the middle of ties
      - Improved metrics support for "invisible" fonts like "invisible" or "Adobe Blank": articulations with these fonts are not taken into account for collisions
      - Warning message issued if the pages of the score have different page resize percentages.
      - Improved horizontal hairpin connection to the next measure on hidden notes (e.g. on repeat bar staff styles)
      - Improved measure spacing in the score for cue note measures with cue notes on two layers
      - Better and faster detection and improved horizontal placement of più/sub. dynamics (e.g. "ff sub." or "più f")
      - Better support for "Ignore Key Signature" staff styles
      - Improved hairpin/slur collision detection on slurs that start/end on different staves with cross staff notes
      - Improved vertical placement of dynamics below articulations below slurs (in few cases)
      - Improved vertical placement of custom ottava smart shapes
      - Improved collision detection on slurs on notes with inverted stems and inside slur articulations
      - Improved stacking of articulations set to "Manual Positioning". Still this is not recommended. If possible use, Above/Below Note or Note Side/Stem Side.
      - Improved visual staff and system balancing algorithm (many minor improvements)
      - The automatic flattening of custom smartshape with the activated property "horizontal" that are not horizontal in the score is now only performed on low angles.
      - If the plug-in is applied to only a few measures or a part only of a MusicXML imported document, the warning message that this can mess up dynamics in other measures/other parts is now ALWAYS displayed. It cannot be suppressed anymore.
      - Improved vertical placement of technique text expressions over note clusters with accidentals
      - New warning message if the plug-in is applied to selected measures only (not the full document) and Reflow Across Systems and Reflow Across Pages is activated. This can cause a measure reflow outside the selected region.
      - Improved collision detection for repeat texts with rectangular enclosures and with clefs
      - Improved collision detection for text expressions with certain enclosure scenarios
      - Cue notes are now also automatically detected if not the note was resized, but the notehead only
      - Improved lyrics alignment under ties on whole notes and under slurs
      - Rest minimization is now also performed if the first rest has a pedal articulation
      - Improved automatic staff balancing for scores with lyrics
      - Improved rest minimization on some compound time signatures (e.g. 12/16)
      - Improved detection of nested tuplets if one tuplet is incomplete
      - Improved connection of exponential hairpins with two expressions (i.e. dynamics + molto expressions)

      New features:
      - Three new options for creating flat tuplet brackets on tuplets that start or end with rests (on the Tuplets Tab).
      - New option: Force ALL dynamic expressions to "Center" justification (in Gold edition only, deactivated by default)
      - New option: Dynamic expressions set to the vertical alignment point "Below Staff Baseline" can now be automatically corrected to "Below Staff Baseline or Entry". This only goes for "real" dynamic expressions (i.e. mf, pp, f, etc.), but not for other expressions in the "Dynamics" expression category (in Gold edition only, activated by default in Silver edition).
      - New option: allow dotted rests on beats in simple meters
      - New option: flatten tuplet brackets on cross staff tuplets
      - New option (Gold version only, in Silver the Gold edition default value is used): for dynamics under very low notes a threshold below the staffline can be set. If the expressions appeared below the threshold position, it would be move before the note if there was enough space (default is -94 EVPU below the bottom staff line).
      - New option: If the reflow mode "Only Within Systems" was selected, an automatic reflow of measures across systems was automatically activated in previous versions if the number of multi-measure rests in part has significantly changed after the plug-in. This can now be deactivated.
      - New option: Pedal articulations can now be included in the "Reset articulation" process (Activated by default). The pedal articulations use a special reset process which tries to maintain vertical alignment with other pedal articulations in the surrounding beats.
      - New option (Gold version only, in Silver the Gold edition default value is used): it's now possible to turn off automatic multi-measure rest creation for the parts. This is not recommended though as it doesn't fix falsely created multi-measure rests.
      - New option: it's now possible to select between Note Spacing and Beat Spacing as the main algorithm for music spacing in the score (on the MMRests tab under 'Measure Spacing').
      - New option (Gold version only, in Silver the Gold edition default value is used): you can now deactivate the automatic vertical and horizontal collision removal and placement optimization for text repeats (activated by default).
      - New option (Gold version only, in Silver the Gold edition default value is used): you can now deactivate the "Split Nested Tuplets to Above/Below" module (activated by default)
      - New option (Gold version only, in Silver the Gold edition default value is used): you can now deactivate the "Put Tuplets Over Lyrics Above Staff" module (activated by default)
      - New option (Gold version only, in Silver the Gold edition default value is used): you can force to have dynamics on standard stem-down notes on a 1-line staff below the note instead of before although the dynamics is below the "Very Low Note Dynamics" threshold which would rather move it away before the note.
      - New option (Gold version only, in Silver the Gold edition default value is used): "Adaptive Standard Distance for Scores with Very Small AND Very Wide Staff Distances". The "standard" distance (by default 280 EVPU) between staves of a piano group is now more flexible and visually optimized on scores that include both very small and very wide staff distances on piano staves: very small distances are kept as before, while small/normal distances are slightly increased to come closer to the wide distances (by default this feature is activated).

      ;v1.1000 2019-09-02
      - on piano staves if the bottom staff is empty, but holds a pedal articulation and dynamics assigned to the top staff, the dynamics will not be shifted below the pedal articulation anymore
      - When importing old documents from the 90s (without expression categories), rehearsal mark letters assigned to the end (!) of the measure (instead of the beginning of a measure) are not moved to position 1 in the current, but in the next measure.
      - in Finale 25/26 time signatures in the parts were sometimes not detected when "Show Time Signatures" in the score (!) was deactivated. In Fin2014/2014.5 it worked fine.
      - Articulations that use font style set to hidden are not taken into account for collisions
      - Inner pick-up measures (i.e. pick-up measures after measure 1 that use the "Time Signature for Display"-feature where the internal time signature is a fraction of the display time signature) sometimes received a whole measure rest instead of their pick-up rest.
      - Trill smart shapes are not moved over accidental articulations anymore (though smart shape + accidental articulation isn't best practise either: use a custom trill smart shape instead that already includes the accidental for best performance)

      - Better error message on a "hard disk is full" error
      - The user dialog buttons now right-align again on the Gold user interface.
      - Breath mark comma articulations that are placed horizontally away from the note and directly above the staff line are kept at this position (they are not reset to the default placement of the breath mark comma anymore).
      - Better support for enclosures using "Options: None" combined with the "Fixed Size" attribute.
      - Improved placement of dynamics on very low notes with slurs that also have a dynamic on the end position of the slur
      - Improved placement of bracket expressions (e.g. "( )"): they are not treated as technique text expressions anymore and thus not moved on collisions.
      - Improved pedal articulations are not taken into account anymore for tuplet collisions
      - Improved installer: better activation on two computers
      - Improved tuplet bracket angles on brackets that start with a rest
      - Improved detection of "nearly horizontal" hairpins
      - Improved rest displacement on consolidated rests
      - Improved tempo mark detection of expressions in the Miscellaneous category
      - Improved placement of custom trill smart shapes
      - Improved placement of text expressions with many (invisible) "empty space" symbols at the end of the text (in some cases the plug-in used detect collision where there weren't any)
      - Improved metrics for vertical staff spacing on accidentals of cross staff notes
      - Hairpins ending on fermatas are now only snapped to the next note if they are visually very close to the next note.
      - Improved import of expressive text expressions (better alignment settings in many cases)
      - Improved placement of smart shapes on vertical collisions if the colliding object is on measure position before the smart shape start position
      - When Optimize Spacing Settings is activated, then "Scale Manual Positioning of Notes" from Document Options->Music Spacing is deactivated (usually leads to better grace note spacing) and "Grace Note Spacing" is set to "Automatic".
      - User dialog correction: vertical space removed on the "Hairpins" tab before "Diminuendo Offset Right"
      - Improved placement of text expression next to f dynamics, if the text expressions are not on the same baseline as the dynamics (slightly further away from the upper right corner of the dynamic f)
      - Improved vertical collision offset for some smart shapes over articulations collisions (if the articulation glyph goes below the font baseline)
      - Improved support for piano notation with three staves
      - Improved placement of diagonal hairpins
      - Improved attachment and alignment of ottava smart shapes
      - Improved placement of measure numbers if two or more measure number regions with similar settings are valid for the same region
      - Improved detection of font files from complex font names that appear in different combinations of " ", "-", "bold" and "italic" (e.g. MinionPro-Bold-Italic=Minion Pro-BoldIt=Minion Pro Bold Italic)
      - Improved detection of font files which don't include their full name in the postscript name or full font name entries in the ttf meta data.
      - Improved measure moving to previous systems on very wide expressive text expressions (not only on tempo marks and tempo alterations as before)
      - In some cases improved note spacing (=note collision removal) on beamed notes with accidental collisions
      - Improved placement of p dynamics on very low notes (slightly closer to the note)
      - Improved detection of two "connected hairpins" if the note entries have a manual offset and don't match the position of the hairpins attached to these notes.
      - Improved start position of hairpins on certain multi-layer/multi-voice scenarios
      - Improved optimized hairpin settings: slightly increased line thickness (3 EVPU) if Finale's default value (1,79 EVPU) was still used.
      - Improved warning message on Finale 26 and articulations compatibility
      - Improved detection of correctly flipped stems
      - Improved placement on 8va smart shapes that are continued on to a second system
      - Improved automatic detection of visual differences in scores between each plug-in version
      - Improved dynamics+expressive text on the same beat ABOVE the staff are not torn apart vertically (according to the distances to notes below), if they already (more or less) vertically align.
      - Improved articatulion/tied backwards collision detection at the beginning of a system
      - Improved detection of duplicate expressions (especially in old Finale documents from the 90s)
      - Improved rest splitting/merging (e.g. for 5/16, 9/16 and 12/16 measures)
      - Improved detection of tempo marks/alterations ("stringendo" and "rubato" are not detected any more as they are sometimes used as expressive text too)
      - Automatic category expression assignment for MusicXML and old 90s imported Finale documents now also works for the mixed music/text fonts FreeSerif and Symbola
      - In complex multi-layer/multi-voice scenarios long notes tied over the center of a measure at the wrong position are not adjusted in duration anymore to make the middle of the measure more clear.
      - Entry-based glissandi that end with modified hidden notehead are now handled much faster in the metrics calculation (seems to be a Finale or JW Lua bug)
      - Improved detection cue note layers

      New features:
      - Horizontal collision removal of dynamics and other text-only expressions that overlap below the staff.
      - New user dialog option in the Reset/Hide dialog: remove flipped stems also on slurred notes (deactivated by default).
      - New user dialog option (in the Gold edition): allow/remove collision on dynamics ABOVE the staff with barlines ("Prevent Barline Collisions of Dynamics" in the Express." tab). This value is deactivated by default.

      ;v1.0000 2019-08-03 (RC1)
      - Font metrics file creation would fail in some cases
      - Horizontal placement of subito and più expressions (e.g. "sub. f") now works correctly again.
      - No more error message if the piece starts with several measures that only include hairpins.
      - If only a small region at the beginning of the document was selected (e.g. measure 1-3) in some cases the "full document selected" flag was set which could lead to a longer pre-processing time

      - Improved horizontal positioning of dynamics, expressive text and hairpin on (individually) resized staves.
      - Measure numbers at the start of a system on an (individually) resized staff are now placed better vertically.
      - Above staff dynamics on beat 1 are moved to the right (as below staff dynamics) if they collide with the barline.
      - Below staff tuplets on lyrics staves are not put above staff if there is already a slur above the staff at that position.
      - Improved collision detection on rehearsal and tempo marks with tuplet brackets and tuplet numbers.
      - Non-rehearsal/tempo mark expressions above the staff are not horizontally shifted towards a rehearsal mark at the same measure position (and thus being closer than the allowed min. distance) if they collide with a slur or tuplet.
      - Improved horizontal connection of dynamic expression and expressive text in parts, if they are pretty far away apart in the score, but pretty close or even overlapping in the part.
      - Improved detection whether tuplet brackets are required or not.
      - If a piece ends with a very short single coda measure on the last staff system, this measure will not be automatically moved to the previous staff system (as it is a coda measure). It's up to the user to decide, if it should be moved up.
      - Better support for Adobe Blank font (font metrics file is created and read much faster).
      - Improved font folder priority when searching for font files.
      - Better warning message if the plug-in crashes because of the Finale PDK/JW Lua "measure numbere region" bug (also see
      - Sometimes the very first hairpin on a staff didn't get the optimimum start position below a note.
      - The progress bar now supports other Windows designs and colors (e.g. high contrast designs).

      -New features
      - Invalid group start measures (below 1, displayed in Finale as 65536-x) are set to 1.
      - Rehearsal and tempo marks on (individually) resized staves can get a larger vertical distance to match the distance on the non-resized staves.
      - Translations of the manual with all web pages to German, Italian, Spanish, Polish and French.

      ;v0.9806 2019-07-04
      - An error message could occur in very rare cases of hairpin with note collisions
      - Slurs below the staff are now always detected correctly (in some situations they were not detected correctly which lead to some weird tuplet bracket placement).
      - If hidden staves in the score were at the same time individually resized (e.g. to 60%) and used in a part, the vertical score balancing would produce collisions.
      - Infinite loop fixed that could occur in a very rare case of hidden staves with reh. mark expressions that use enclosures that re-appear in the score as the top staff when "Reflow Across Systems" was checked
      - Expressive Text expressions were sometimes too close to the bottom staff line (bug introduced in 0.9654)
      - Hide hairpins, custom lines and trill smartshapes in cue expressions measures did not work in all cue measures.
      - If no dynamic expressions were used in a document, then a warning message popped up saying that all dynamic expression were placed above the staff. This has been fixed.
      - Recreation of multi-measure rests is now performed the same way in parts no matter if the plug-in is applied to the score (and thus all parts) or to the part only. (If applied to the part only, it used to do a measure reflow less often).
      - Better removal of horizontal collisions of two chord symbols in parts, if both the score and the part have only one visible staff at that measure.
      - In very rare cases an error could occur when using linked parts with specified voicing on calculating the lowest visible note.

      - The PDF manual has now a black font color for better print readability (instead of dark grey).
      - Improved multi-measure rest metric creation if a multi-measure rest block starts with a repeat bracket and a text repeat element.
      - Improved placement of text repeats
      - Improved collision detection of multi-measure rest numbers at the end of a system in a measure with a backwards repeat bracket.
      - Numbers on multi-measure rests on 1-line staves that are from a handwritten music font with vertically centered placement of digits (as in Jazz font) are now placed better on multi-measure rests.
      - Online documentation updated for some of the recent improvements
      - Improved vertical score balancing on congruent staves (fully overlapping staves with a distance of 0 EVPU). The support of this rarely used feature is still not optimum, but at least the staves are not torn apart anymore.
      - Improved user dialogs
      - Improved placement of left-aligned repeat text symbols at the beginning of a measure on collisions with notes, rehearsal mark expressions and/or repeat wings.
      - Installer stability (UTF8 support for jwpluginstorage.xml and support of settings files with more than 100kb length)
      - Improved connection of dynamic expressions to the left end of a hairpin on slash notation with (hidden) rests
      - Cresecendo hairpins that collide with (bottom) accent articulations are automatically moved slightly upwards, because of the similar steepness and thus less vertical space required.
      - Collisions of notes with clefs at the end of a measure are better spaced when the spacing/width of the adjacent measure changes.
      - The ES Perfect Layout Demo.musx document file has been updated (especially the parts).
      - Improved batch processing support including an automatic save feature (with 'PL' added to the filename).

      New features:
      - New PDF manual that includes all relevant pages from the online documentation. The PDF included in the installer, available online and as web page .
      - The installer now supports two activations of the plug-in if the license key allows two activations. Read the FAQ ( ) on how to activate two installations.

      ;v0.9664 2019-06-20
      - Two tempo marks in the same measure at the measure position 0 could collide under certain circumstances at the beginning of a system
      - If measures at the end of a score were removed before applying the plug-in, Finale sometimes keeps invalid smart shape end positions. In one rare case the plug-in would issue an error message. This is fixed now.
      - If one visible articulation was below the staff and one invisible articulation (e.g. bow mark) above the staff, the bottom articulation could collide with a tie under certain circumstances.
      - In a few cases automatic measure widening for wide tempo marks was not activated. This is fixed now.
      - If trill lines spun over at least three systems and at the same time collided with bow marks, a plug-in error could occur.
      - Tempo marks and alterations from MusicXML documents are now again set to use category positioning of the tempo marks / alterations category (if it makes sense). This used to work, but was broken for a few versions.
      - Expressive text expressions in connected dynamic and expressive text scenarios (i.e. mf + cresc.) were sometimes vertically torn apart

      - Tempo alterations and rehearsal marks in imported MusicXML documents are now detected correctly and automatically moved in the correct expression category if they use a "music and text" font like JazzText.
      - Improved horizontal placement of dyn. expression on measure position 0 that have a very low horizontal offset (e.g -100), but are placed after the barline.
      - On imported MusicXML documents (or very old documents that don't use expression categories yet) tempo and reh. mark expressions that are detected as "valid marks" are removed from those staves that don't belong to the staff list of the expression category
      - Improved vertical score balancing on documents with a handwritten music font and huge violin clefs
      - Improved prolongation of repeat brackets with system breaks on the second system when the second system includes multi-measure rests
      - Right-aligned "subito pp" dynamics that collide with a barline on the left are not automatically moved to the right anymore (but it's recommend to use "pp sub." for clearness)
      - Improved installer stability
      - Improved vertical lyrics alignment on hyphens
      - Improved vertical lyrics alignment lyrics that are added to a non-vocal instrument: when there also notes before or afterwards on the system staff that don't have lyrics, these are not taken into account for lyrics alignment.
      - Improved vertical system staff alignment on staves that have small very low elements and improved alignment on empty staves and on staves with lyrics
      - Dyn. expressions in user-defined expression categories get a better horizontal offset if they are set to "Center of primary notehead", instead of the Finale default "Left of primary notehead".
      - Improved rest split on orchestra scores with 5/4 (2+3 or 3+2) time signatures that use whole notes
      - Tempo marks on measure position 0 that collide with notes to the right will not be moved up above the note, but to the left if it is only a small movement to the left to prevent the collision.
      - Improved placement of rehearsal and tempo marks over cancel key sigs on a bass clef staff when changing to a flat key sig.
      - Improved placement of rehearsal marks at the beginning of a system in case of a rare collision
      - Improved placement of rehearsal marks after an open second ending repeat bracket
      - More tolerance on connecting hairpin ends with end of measure or rests at the end of a measure when the next measure is empty (i.e. more hairpins are prolonged to the rest)
      - Improved visual score balancing on extracted parts if a system has only few peaks and thus a large white area between two adjacent systems
      - The enclosed letters from JazzText and SwingText font (symbols 0xd8 - 0xf1) are recognized as rehearsal letters
      - On documents with handwritten music fonts the default horizontal distance between dynamic and expressive text expressions is automatically slightly increased (e.g. the distance between mf and cresc. on the same measure position)
      - Improved vertical placement of expressive text expressions below the staff if they collide with other symbols that are on other measure positions
      - Improved collision detection of left- and center-aligned repeat text expressions
      - Improved expression below baseline for handwritten fonts
      - Improved detection of coda repeat texts (e.g. coda), if these are enclosed with non-asci characters (as in JazzText or Finale Copyist Text)
      - Improved handling of coda systems
      - Improved placement reh./tempo marks at measure position 0 if the previous measure ended with the coda sign.
      - Improved chord spacing on chords at the end of a measure that are very close to the chord on the next measure beat 1. In some case "space at the end of the measure" will be added instead of doing a music re-spacing with "Include Chords" activated.
      - Improved hairpin start if rest and note are on the same measure position and the note is slightly shifted (then the hairpin will align with the note, and not with unshifted the rest)
      - Improved vertical alignment of "outlier" tempo marks in difficult collision scenarios (especially with very high slurs)
      - Improvement handling of "the last measure" in parts: if the last staff system only consists of a single (short) measure, it will be automatically shifted to the previous system.
      - Fermata expressions in the rehearsal, tempo mark or alteration category are not aligned vertically anymore with other text expressions from these categories (It's recommended though to have fermata expressions in the technique text category or to use a different vertical alignment point than in the reh./tempo mark categories, otherwise the fermata might be placed to high)
      - If all dynamic expressions are above staff with vertical click position alignment and no lyrics have been found, then a dialog will pop-up and ask if they should be moved below staff and use the standard positioning.

      New features:
      - Opaque background on rehearsal, tempo marks and alterations can be automatically removed (as the plug-in will remove the collisions anyway, an opaque background is usually not necessary anymore). You can select "Don't Remove", "Always Remove" or "Remove If At Least 80% of the Expressions Are Opaque" (which is the default).
      - Automatic repeat bracket staff lists: it's now possible to select if the repeat brackets should only appear on the top staff, top of the groups, top of the groups and single staves, all staves or to keep it as it is. If the plug-in detects a staff list that is assigned to the repeat marks and which is not only an "All Staves" list, then by default the plug-in will select "Keep it as is".
      - Invalid word extensions (i.e. not connected to note entries) are deleted as they can span over several pages on the score

      ;v0.9654 2019-06-12
      - Problems with the installer on Windows 7 (introduced with last version 0.9650)

      New Features:
      - If a 1-line staff only has notes on one pitch and these are above or below the staff line, then they will be moved onto the staff line (activated by default).

      - A few corrections in the plug-in's main dialog
      - Improved score balancing if a score uses measure numbers between staves and at the same time rehearsal mark expressions that hide measure numbers, but that are placed in a different staff
      - Improved installer stability
      - Improved measure number metrics function
      - Performance of font metrics reader has been improved

      ;v0.9650 2019-06-08
      - Malwarebytes anti-virus has blocked the plug-in update tool in previous versions. They now have removed the block.
      - If two nested group brackets were used (one with curves, one without), then a collision with a measure number could occur.
      - If a music font is used for measure numbers with digits that are vertically centered on the font baseline (instead of put on top as in text fonts), the measure numbers at the start of the system are now placed correctly.
      - Horizontal placement of dyn. expressions on very low notes with tie backwards

      - The coda system detection works faster now.
      - Speed boost of ca. 11-15% on Windows and 25% on macOS by introducing a few optimizations
      - The "How to use Perfect Layout" document is now included as a PDF in the installer
      - The plug-in and the installer now issue a warning message if Windows PowerShell is not installed on the computer (under normal circumstances it is always installed on Windows 7, 8 and 10). If it is not correctly installed, neither the plug-in nor the installer will work as it is necessary system requirement for the installation.
      - Improved placement of dynamics before very low notes
      - If PowerShell is installed, but not included in the Windows environment variables (which seems to occur on some Windows 7 installations), it will be automatically added (but it requires a reboot of Windows).
      - Improved glissandi distances
      - Multi-measure rests are not squeezed anymore on a crowded system with lots of horizontal note collisions that get extra horizontal space from the plug-in
      - Automatic multi-measure rest measure range placement uses a more intelligent algorithm and only updates the default placement values if necessary
      - If the multi-measure rest range font is a music font, then the brackets are not updated to "[" and "]" anymore.
      - Improved vertical alignment of trill articulations with wiggle smart shapes
      - Improved vertical placement of custom smart lines and trill shapes above notes with ties and/or accidentals
      - Improved note spacing on note-to-note collisions in multi-layer/multi-voice scenarios
      - Hairpin with tie/slurs collision removal improved in a few cases where ties, slurs and/or hairpins span over several systems
      - Dynanmic expressions at the very end of an empty measure are moved forward to the next measure if that one has notes on beat 1 on no other dynamic expressions.

      New Feature:
      - The rehearsal marks at beginning of system placement has a new option "Keep Current Position".
      - The installer now has the option to change the default plug-in folder in your Finale menu. If you use a folder name like "ZZZ Elbsound JW Lua" instead of "Elbsound JW Lua" it will be added at the end of the plug-in menu and won't mess up with any macro settings.

      ;v0.9620 2019-05-27
      - Notes in octaves both doubled with unisons on another layer are not torn apart anymore (both layers will keep the note entry offset of 0)
      - long vertical or diagonal custom smart shapes (solid lines, dashed lines, etc.) are not taken into account for staff spacing in piano groups (i.e. they don't lead to unnecessarily big staff distances anymore)
      - If group brackets are automatically added, then on piano groups piano braces will be used.
      - Whole measure rests are not removed anymore, if the staff (style) is set to not show whole measure rests in empty measures
      - Wrong rehearsal mark width calculation in some cases which could lead to other tempo mark expression next to it having a too large horizontal distance to it
      - When the Human Playback plug-in was used and it generated hidden tremolo playback notes, the stem direction of the notes could be wrong.
      - A collision between a rehearsal mark and a tempo mark could occur under certain circumstances (at least three rehearsal marks on one line and two at the same measure position and one in a different measure at an outlier position).

      - Piano (or organ) systems now have a better support on cross staff notation metrics/collision removal if they consist of 3 staves.
      - Improved placement of dynamics on cross staff notes
      - Invisible custom smart shapes are not replaced according to close notes, but just ignored
      - when the page format settings of the first part are different to the default settings, the plug-in automatically updates the default settings according to the part (in previous versions this was only done in the score, but not in the part)
      - Improved font detection for font Times, and for fonts with bold or italic styles.
      - Improved horizontal distance between tempo marks and rehearsal marks with opaque background that is wider than the expression itself (e.g. with the EnclSerif font)
      - Improved hairpin/dynamics spacing in very narrow measures if there is in general enough space on that system.
      - Improved score balancing on measure numbers between staves with fixed size fonts
      - Improved hairpin/dynamics spacing in very narrow measures if there is in general enough space on that system.

      ;v0.9614 2019-05-21
      - An error could occur in a document with linked parts that use the "Specify Voicing" feature where ties or tuplets in the score appear
      - In rare cases in extracted parts with hidden staves in some systems (e.g. percussion parts) multi-measure rests could span over a time signature change
      - In 3/2 time signature whole measure rests were accidentally split into to half rests
      - Forte-Piano marks consisting of two separate dynamic expressions are now better handled if they are both expressions are shifted away from a measure position