Perfect Layout - Online Manual

Contents

  • Quickstart: How to use Perfect Layout
  • Settings
  • Do first
  • Optimize
  • Reset and Hide
  • Multi-Measure Rests
  • Chords
  • Groups and Repeats
  • Alignment
  • Layers and Cues
  • Tuplets
  • Expressions
  • Articulations
  • Hairpins
  • Slurs/Ties/Glissandi
  • Counting
  • Systems
  • General
  • Load/Save
  • Other features
  • FAQ (Frequently Asked Questions)
  • Overview
  • Version3.0
  • Version History

  • Date:Fri, 11 Oct 24 08:34:51 +0200

     Quickstart:
    How to Use Perfect Layout

    PLEASE READ THIS TUTORIAL.
    THERE ARE CRITICAL OPTIONS TO CHOOSE THAT THE plug-in CANNOT CHECK ITSELF.

    The strength and time saving of Perfect Layout lies in the processing of completely unoptimized documents.


    If you want to test what the plug-in is capable of, don't apply it to a document that has already been manually optimized.
    Instead, take an old and unoptimized version of your Finale® document and try the plug-in with that version.
    Usually you can find old versions in your Finale "Automatic Backup" folder.

    Already manually optimized documents will certainly get some optimizations from the plug-in, but other manual adjustments may be removed or resolved differently.

    We recommend testing the plug-in on the first run with the "ES Perfect Layout Demo.musx" 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".
    Windows: c:\program files (x86)\Elbsound.studio\Perfect Layout\Docs and Test Files\ES Perfect Layout Demo.musx
    MacOS: /Library/Application support/Elbsound.studio/Perfect Layout/Docs and Test Files/ES Perfect Layout Demo.musx

    In your first experiments always run the plug-in with the default settings. Don't change any options!
    Perfect Layout has many settings, but also many intelligent tools that scan the score and automatically set good options.

    Then in a next step you can try to fine-tune some settings, if you like to change the look or style.

    If you are new to Perfect Layout, don't change too many settings at once.
    Usually you only have to fine-tune very few options.

    Some common changes to the options are:
    -Tight/loose spacing (see next paragraph)
    -Measure number alignment
    -Rehearsal mark alignment
    -Staff/system distances
    -If music spacing has not been applied to all measures, activate "Optimize->Always Apply Music (Re-)Spacing"-In parts with several staves (e.g. piano + 3 vocal staves): "Reset->Hide Empty Staves in Parts" may need to be deactivated
    -In Finale's Preferences: the measure reflow settings

    A very important option are the two presets at the right bottom of the main user dialog:
    "Factory Preset 1 (Loose Vertical Spacing)" and "Factory Preset 2 (Tight Vertical Spacing)".
    Select them at the very beginning of your experiment and then click on "Load".
    These factory presets overwrite all options, not only the spacing values.

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

    To get the most out of your Perfect Layout plug-in, you should use a fast computer that has a high GHz processing frequency. A frequency above 4.0 GHz or even 5.0 GHz will give you the best results when using this plug-in.
    Keep in mind that Lua, the programming language used for this plug-in, is quite slow compared to C++ and other modern parallel programming languages.
    Unfortunately the Finale plug-in interface is not optimized for processing large scores. This makes it slow sometimes.
    You can find a comparison of computer speeds and how they work with the plug-in in the FAQ section.
    When you run the plug-in for the first time, it may take a while for the main dialog to appear.
    This is because the software is creating font metrics files in the background.
    If you have many text fonts installed, especially huge Unicode fonts, the process may take longer than a minute or even up to 20 minutes on slow computers.
    On Windows with Perfect Layout v1.0/2.0 you may also see a few black windows pop up during this process.

    In some cases the progress bar won't work correctly on the very first run.
    However, after the initial run, the start-up phase of the plug-in will be much faster and the progress bar will work fine too.
    The Silver400 edition is limited to 400 measures and 36 (visible) staves or linked parts.
    The plug-in won't work if your score is above that limit.
    In that case the "Ok" button in the main user dialog is disabled.
    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.

    It's only important to 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 should the hairpin should? Beat 3 or 4?
    Right: Clear: It will 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, but visible at the end of the measure after beat 4?
    Right: Rather clear placement. Obviously the hairpin should be between the p and the mf. This would be sufficient for Perfect Layout.
    However it would be even more precise, if the hairpin's end was attached to the same position (end of measure) as the mf.

    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, Perfect Layout leaves 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 the symbols, the better they will be automatically optimized by the plug-in.
    You don't have to be over-precise, that's the plug-in's job.


    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 use 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: Make sure that the default placement of your articulations is set correctly and does not lead to collisions with notes.
    Perfect Layout usually moves the articulations to their default position first - except when there are unusual collisions (like with slurs or ties).
    This means: If you want to have an articulation appear below the note, don't use the default 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).
    The plug-in assumes that you have applied the music spacing before running the plug-in.
    So either you need to have Finale's automatic spacing activated (Preferences->Edit->Automatic Music Spacing), or you need to apply music spacing manually before running the plug-in (Utilities->Music Spacing->Apply ...).

    Only in three cases Perfect Layout applies Finale's music spacing automatically:
    a.) if the plug-in option "Optimize->Apply Music Spacing to Full Document Before Processing" is activated,
    b.) if multi-measurests were not created in the parts and the part has many empty measures which would lead to a completely new system layout,
    c.) if measures have certain note layer / second collisions, chord collisions and/or slash, blank or repeat staff styles.

    See also 15.): The "Reflow Measures" settings from the preferences are taken into account when respacing.

    Note: in Finale 27.3+ Perfect Layout v3 will automatically deactivate the "Automatic Music Spacing" setting, so that Finale® won't change the layout after the plug-in.
    Perfect Layout version 3 has a number of automatic measure/system layout features (more info here).

    However, if you need certain layout features, like 4 bars per system or all rehearsal marks at system start, make sure to setup the measure layout in the score and parts manually before running Perfect Layout. If required, also add page breaks to the document.
    Some automatic layout features (like shifting section starts to the next system) will only work, if there is enough space on the staff system or if only one bar is affected.
    The recommended workflow is that no manual adjustments are done in the linked parts before applying Perfect Layout (except measure/system layout as under 5.).

    This is 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: Linked and Extracted Parts
    It's highly recommended to use linked parts instead of extracted parts as they are automatically processed by the plug-in together with the score.
    Especially with Finale 27.3 the linked parts feature was drastically improved.
    For Perfect Layout an extracted part (i.e. a "score" with only one instrument) is the same as a linked part.
    So all part-specific features and settings of Perfect Layout are automatically used on extracted parts.
    Skip to the next step, if you use Perfect Layout version 3 in Finale 27.3+.

    If this is not the case, you need to switch off Finale's "Automatic Music Spacing" (Preferences->Edit->Automatic Music Spacing) manually before running Perfect Layout as this can't be done automatically.
    It is important to switch it off, because otherwise the spacing corrections of the plug-in will automatically be removed by Finale after the plug-in has finished.
    Note:
    Even if you have deactivated "Automatic Music Spacing" you will get a warning message by the plug-in (unless you have deactivated the message), because it can't check the current state of that option.
    Skip to the next step, if you use Perfect Layout version 3 in Finale 25-27.

    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.
    This setting can only be activated automatically through the new RGP Lua in Perfect Layout v3 (Fin25-27).
    In all other versions this needs to be checked manually.

    Only Finale documents originally generated in older Finale versions (before 2014) have this option deactivated by default.
    In modern Finale documents this is activated by default.

    Image: "Accidentals->Use cross-layer accidental positioning" must be activated
    Finale's own pickup measure setup leads to many problems, especially in spacing.
    It's highly recommended 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 500 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 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

    Note:
    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 your score, skip this step.

    Niente hairpins in Finale® are usually constructed with a "circle" expression and a hairpin.
    Perfect Layout automatically connects them visually.
    To improve the look, the niente expression should have an opaque enclosure, so 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 niente expression must be located in the "Dynamics" category.
    c.) Perfect Layout v2 only or Finale 2014 only (automated in Perfect Layout v3, Finale 25-27):
        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.
    MusicXML imported documents or old Finale documents can greatly benefit from Perfect Layout's automatic optimizations. Its main function is to accurately assign expression categories and align expressions. For example, simple expressions such as "a tempo", "arco", and dynamics can be easily identified and handled accordingly.

    However, ambiguous text expressions can be a bit trickier. If your score only uses standard text expressions, it's best to simply run the plug-in without manually changing any expression categories. But if you notice a text expression isn't getting a proper placement, you can undo the plug-in, adjust the expression category assignment, and run it again.
    For the best results, enable the "Use … Category Positioning" option (see image 11a).


    Image 11a: "Use Tempo Marks Category Positioning" in the Expression Designer dialog
    In certain cases, it may be necessary to stop the plug-in from moving certain expressions, such as technique or dynamic expressions that need to stay in a certain place so that the score fits on the page. To do this, you can use the EXCLUDE command in the Expression Designer dialog of the particular expression that is to remain stationary.

    If you have expressions that should be excluded in some parts of the score but not everywhere, you should create a duplicate of the original expression and apply the EXCLUDE command in only the necessary places.

    On the other hand, the FORCEINCLUDE command can be used when dealing with long text expressions that are far away from the staff. By default, these are excluded from vertical alignment and spacing, but adding FORCEINCLUDE to the description text will ensure that they are included, even if this results in larger vertical distances between the staffs.

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

    Adding the word ALLOWSHIFTRIGHT to text expressions can be used to allow them to shift to the right of dynamics on the same measure position. This shift will even be done automatically (i.e. without ALLOWSHIFTRIGHT) if the starting point of the expression in the measure is not unclear due to the shift.
    However, sometimes, such as in image 11c, ALLOWSHIFTRIGHT must be added to make sure the starting point remains clear.
    Note: Sometimes it's better to put technique expressions above the staff to make the starting point more evident.
    For more examples of multi-expression collisions see here.


    Image 11c: Without (left) and with ALLOWSHIFTRIGHT text
    The short 8th notes otherwise make the start point unclear.

    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 tags DONOTLOWER and DONOTRAISE are for text only expressions that are affected by the "Express.->Snap Text Expressions to Symbols" feature. This feature prevents a placement too close to the staff while at the same it allows movement away from the staff in case of collisions.
    If the description text of the expression includes any of these tags, the expression will not be moved closer to the staff than the default settings of the expression allow. I.e. the expression is "stopped" at its baseline.
    DONOTLOWER is for expressions above the staff, DONOTRAISE for expressions below the staff.

    The tag USEENCLOSURE can be used to force Perfect Layout to use the metrics from the opaque background as the collision margin of a text expression.
    By default Perfect Layout used text or symbol metrics for collisions, but not the opaque background.
    This can be useful for movement name titles between two staff system, or for other large text blocks between two staves where you want some extra blank space.

    For unknown custom lines, you can use the hidden tag known as PUTONTOP which forces the smartshape to be put above the staff without collisions (for more info see here).
    This is only necessary for user-defined custom lines and not for standard custom lines, such as ottava and trill, which are automatically placed above.
    It is important to add the text PUTONTOP to one of the text fields with a hidden text style, so that it does not print in the score.


    Image 11e: Custom Smart Line with Hidden "PUTONTOP" Text


    Image 11f: "PUTONTOP" in the text dialog

    Adding the word ABOVECHORD to either the description field of an expression or the name of an expression category in Perfect Layout v3+ will place the expression above chord symbols or other "normal" expressions.
    For more information on ABOVECHORD, please visit the help page for the alignment tab.
    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 plug-ins also improve the layout and their features are not included in Perfect Layout.
    They should be run before Perfect Layout. Running them afterwards can introduce new collisions or result in an unbalanced staff spacing.

    When dealing with a large document in Finale that includes the use of "real whole rests" instead of the default whole rests, it is recommended to run Finale’s own “Change to Default Whole Rests” plug-in before Perfect Layout.
    Doing this is much more efficient and faster than using the JW Lua implementation, which can take an extended amount of time on large scores.
    For smaller scores, with less than 100 measures and 20 instruments, it doesn’t make much of a difference.
    Generally, it is not necessary to use "real whole rests" in Finale, and Perfect Layout will optimize them to the default setting.
    The "Reflow Measures/Systems" settings in Finale's preferences are important for ensuring that the plug-in works properly.
    They help maintain or change the measure and staff system layout as needed.
    Depending on the state of your score and linked parts, you may prefer one or the other.

    Before running the plug-in, please adjust Finale's Preferences->Edit->Automatic Settings to your needs.

    Note: In Finale a "locked system" means that the measures will always stay in that system and not move to the previous or next system. To lock a system, select the page layout tool, select the systems to lock and click on Utilities->Lock Systems.

    Which reflow settings work best for me?

    The basic rule is:
    a.) For most documents the best option is to activate the three options "Across Systems (Maintain System Locks)", "Reflow Systems Across Pages" and "Automatic Update Layout" (see image 12a).

    Image 12a: Best settings if you have some locked and (mostly) unlocked systems

    You should use "Across Systems (Maintain System Locks)" if you have locked some staff systems in your score or parts and want to maintain that staff system layout.
    It is also possible to only lock a few systems, but keep the other systems unlocked.
    Then Perfect Layout will only adjust the unlocked systems, if necessary.

    A common use case is: locked systems in the score, unlocked systems in parts.
    Then Perfect Layout can adjust the bar layout in the linked parts and eliminate collisions by moving bars to the next system.

    b.) For documents with many empty measures and no multi-measure yet or if you want to give Perfect Layout the most freedom for the measure layout, it is recommended to have "Across Systems (Remove System Locks)", "Reflow Systems Across Pages" and "Automatic Update Layout" activated (see image 12b).

    Image 12b: Most flexible setting which allows shifting measures to the previous/next system and staff systems to other pages

    c.) If you have already optimized the measure layout manually and PL should not move measures to other systems, use "Only Within Systems" (see image 12c).
    In this mode only the spacing within a system can be altered through Perfect Layout (e.g. on horizontal collisions).
    This setting is also useful if you have already run Perfect Layout for this score or part before and now want to apply it again only to a selected region.

    Image 12c: Restrict setting which locks all measures to their current system and all systems to their current page

    Note 1: If a linked part has no multi-measure rests yet and many empty measures and automatic multi-measure rest creation is activated, Perfect Layout will automatically reflow the measures by default if the layout in a part has significantly changed through many multi-measure rests.
    In this case only those parts will be affected with a measure reflow where the new multi-measure rests have significantly influenced the layout.
    To deactivate that automatic reflow, unselect "MMRests->Automatic Measure Reflow if the Number of Multi-Measure Rests has Significantly Changed" in the Perfect Layout user dialog.
    Note 2: If the "Only Within Systems" setup is used, the page turn optimization ("Systems->Optimize Page Breaks with Rest Bars") in Perfect Layout will be deactivated as the plug-in can't move the empty bar to the end of the page anymore.
    Note 3: If you still want to lock the measures to a system, but allow PL to move whole systems to the next page (especially in linked parts for the page turn optimization), please also activate "Reflow Systems Across Pages" (see also next section d.)

    d.) If your staff system layout (especially in the parts) is not optimized yet, activate "Reflow Systems Across Pages".
    If you want Perfect Layout to optimize the part layout for good page turns with rest bar at the end of the page, you must activate "Reflow Systems Across Pages".
    In most cases it is makes sense to have "Reflow Systems Across Pages" activated.

    Note 4: If you want to maintain your system layout of the score, but allow Perfect Layout to move systems to other pages in linked parts, lock all systems in the score (Utilities->Lock Systems) and use "Across Systems (Maintain System Locks)".

    Note 5: After the plug-in processing, the "Across Systems (Remove System Locks)" setting will be automatically reset to "Maintain System Locks" to ensure that the layout that Perfect Layout has created is not destroyed by Finale's own automatic layout feature.

    Attention! Finale's automatic reflow settings are global options.
    However, it would make more sense to have them as a document option that is stored individually in each document file.
    When this feature was introduced in Finale, there was a lot of discussion, because these options which automatically update the layout can accidentally destroy an already optimized layout.

    For example, if "Reflow Across Systems and Pages/Unlock Systems" is activated, you load an optimized score with locked systems to fix only a little detail, Finale will automatically remove all locks and reflow the measures without warning the user.
    Therefore, please always use these Finale settings with caution!
    The recommended use of the Finale reflow settings is:
    1.) During the creation of a new score, set it to "Reflow Across Systems (Unlock) and Reflow Across Pages".
    2.) When the score creation is finished, change it to "Only within systems/Reflow Across Pages", so that you can only manually shift measures and systems.
    3.) When the layout is finished, change it to "Only within systems/Don't Reflow Across Pages" or even the most strict "Do Not Reflow".
    4.) Before loading an old file that is already optimized and that you only want to have a look at, always set the reflow settings to "Do Not Reflow".
    5.) If you accidentally loaded an old optimized file and Reflow was activated, do not accidentally save the document (note Finale's Auto-Save feature!) as this could overwrite your optimized layout!

    Therefore it would make more sense to link Finale's reflow settings directly to the document:
    During the different stages of the document creation, these options are used more and more strict.

    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 by Perfect Layout.
    If it is set to "Incorporate", the manual positioning will be kept unless there are collisions.
    The plug-in can be used in 'Concert Pitch' or 'Transposed Pitch' mode.
    However, before using the plug-in, it is recommended to set the score and parts to the desired pitch for optimal horizontal and vertical alignment and music spacing.If you change the display mode later, the plug-in adjustments may not match correctly due to extra accidentals, low notes, key signatures, and other factors.

    If you need to change the pitch mode after running the plug-in, you can.
    In such cases it is recommended to run the plug-in again on the changed parts.
    Automatic system and staff balancing will adjust the systems to reach the bottom of the page (see image 14).
    Space above the first system on all pages except the first page may be automatically reduced when the option "Systems->Adjust Top System Margin to Maximum Position of Top Staff" is activated.

    That's why it is important to set the top and bottom margin to the correct value beforehand.


    Image 14: The systems will be aligned to the bottom margin of a page
    If "Systems->Adjust Top System Margin to Maximum Position of Top Staff (Score)" was activated, the top staves on the second and third page would also align with the top page margin.

    At this point, the bottom margin serves only as a marker for the bottom margin of the staff.
    It can be changed later for improved placement of text objects.

    There are three alignment options for the page bottom that you can choose from in the plug-in settings:
    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.

    If possible, use Finale's Document->Page Format default on all pages, especially for the page bottom margin.
    This avoids system and staff layout optimization issues when the values do not match the actual page format, especially if the plug-in generates additional pages.

    For example:
    If the default page format in Document->Page Format is set to "A3", but the actual format of all pages is "A4", then the plug-in will probably generate all additional pages in A3 instead of A4.
    The plug-in does indeed have some checks to find out the best fitting format, but it doesn't work in all cases. Especially if even the actual pages differ in their sizes.

    Note:
    Perfect Layout v3 automatically adjusts the page bottom margin on the first page when it conflicts with the copyright notice.To enable this feature, activate "Optimize->Auto-Adjust Bottom Margin for Colliding Page Texts on Bottom of First Page".

    Perfect Layout v2 does not detect collisions with page text elements and systems.
    If the score has a large copyright notice at the bottom of the first page, the bottom margin of the first page should be positioned above the notice to mark the bottom of the staff.This also ensures that the bottom margin of the first page is above the bottom margin of the next page (see image 14 above).
    To resize the bottom margin with your mouse, right-click on the first page and select "Adjust Current Page Only", then move it with a left click. This leaves the other bottom margins unchanged.
    When opening pre-Finale 26 documents in Finale 26/27, make sure to select "Keep Positioning" of articulations in Finale's Preferences->Open->Articulation Conversion.If you select "Enhance" instead, some articulation placement might not be corrected by Perfect Layout.

    Note: Don't forget that the articulation placement of new documents created with Finale 26/27 is NOT compatible with Finale 25 (or previous versions) anymore. If you plan to use the document in Finale 25 or Finale 2014, don't create it with Finale 26/27, but with Finale 25.
    Always save your Finale® document file before using the plug-in to avoid data loss in the event of an unexpected Finale® exit or crash.
    A termination usually results in an error message like the one shown in image 12.

    Image 12: plug-in Termination Error

    In this case, please contact support. The issue can usually be resolved quickly by sending us your Finale® document and your Perfect Layout settings file JALAYOUx.ini which can be found in your Finale user folder.

    Five types of crashes are known of which three are relevant for the Perfect Layout plug-in:
    a.) When used with Finale® 2014/2014.5, the plug-in may crash with large scores due to 32-bit memory limitations.
    The exact limit for this type of crash is not known, but it has been observed that scores with 50 or more staves, 300 or more measures, and file sizes of 1.5 MB or larger have crashed Finale® 2014.
    How to prevent this: these crashes don't occur in Finale® 25-27 / 64 bit.
    b.) Corrupted Finale® documents can also cause the plug-in to crash, especially if they also cause other third-party plugins or Finale's own plugins to crash. This seems to be a Finale® issue.
    c.) The Finale® plug-in crashes occasionally due to a "Measure Number Region" error that occurs approximately every 100 to 200 calls without closing Finale®. It seems to be a bug in the JW Lua PDK, but the exact cause has not been determined. In this case, simply restart Finale® and rerun the plug-in.
    This crash can usually be identified by looking at the ES Perfect Layout.log or JALAYOUG.log file: it is the case when the last entry is about measure number regions.
    d.) There are some cases known to cause Finale® to crash due to the JW Lua plug-in interface. However, none of these cases are implemented in the Perfect Layout plug-in, so this type of crash does not occur.
    e.) It is possible, though unlikely, for an unknown type of crash to occur.
    If a crash occurs, restart Finale® and try running the plug-in again. If the crash occurs 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.
    However it's also possible to run the plug-in on a single part only (see also FAQ: PL in 'Parts' and 'Score' View).

    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 many tasks listed above 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.
    If you find that other settings work better, you can undo and rerun the plug-in with new parameters.

    Running the plug-in multiple times on the same document is possible too.
    However, the result may not be identical!
    Especially the hairpin placement might change as their original position isn't known anymore.
    For example a hairpin might connect to a dynamic which was too far away on the first run, but is now close enough on the second run (however, this might even be preferred...).

    The undo/redo feature lets you quickly compare results before and after, but may not work properly if the plug-in has changed the music spacing significantly.
    There is a known bug where page breaks in the parts cause staff systems to disappear from the score when clicking "Redo".
    Sometimes the page layout also doesn't update when you call "Redo", cluttering the spacing.
    However, undo/redo works as expected if the music spacing has not changed much.
    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.

    Finale 27.3+/RGP Lua/Perfect Layout v3+ only: The preferences option "Edit->Preferences->Automatic Music Spacing" will be deactivated in order to preserve the music spacing layout that Perfect Layout has created.

    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.
    An easy way to spot the differences between before and after Perfect Layout is using PDFs:

    a) Install a PDF printer (some recommendations can be found here).
    b) Install the free PDF tool "PDFsam Basic" which is available for both macOS and Windows
    c) Add a page text element with the text "   Original Look:   " (notice the three empty leading and trailing spaces) to your score which appears on each page (Set it to "All Pages" in Finale's Frame Attributes Dialog).
    Perfect Layout automatically converts this text element (if it has the three leading and trailing spaces) to "After Applying Perfect Layout:".
    d) Save the document (preferably with a postfix like "Before PL")
    e) Print a PDF of the score and/or parts before running Perfect Layout
    f) Run Perfect Layout
    g) Save the document with a new name (preferably with a postfix like "After PL")
    h) Print a PDF of the score and/or parts after Perfect Layout
    i) Optional: If you have printed both a score AND some parts, merge all "Before PDFs" with the "Merge" tool from PDFsam Basic and then all "After PDFs" into a second PDF.
    If the number of pages per part has changed through Perfect Layout, you might want to add additional empty pages, but that's already pretty advanced...
    j) Use the tool "Alternate Mix" from PDFsam Basic to merge the before with the after PDF file.
    k) Open the merged PDF file in your PDF reader. Now you can easily browse forward and backward and see the differences.

    This short video shows the process in 1m40s:

    Video: How to easily spot the differences in the score before and after Perfect Layout

     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 and Hide
  • Multi-Measure Rests
  • Chords
  • Groups and Repeats
  • Alignment
  • Layers/Cues
  • Tuplets
  • Expressions
  • Articulations
  • Hairpins
  • Slurs/Ties/Glissandi
  • 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
    (only used in Perfect Layout v1 and v2, but not in version 3)

    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)
    and
    (2) ... your score doesn't use shape articulations for trills (e.g. a trill combined with an accidental as a shape articulation)
    .or
    (3) .. you use Perfect Layout version 3 in RGP Lua (0.65): the slur contour settings can now be automatically read.
    But the trill shape articulations still have to be set manually.
    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.

    General Document Options

    PL will always do the following changes in Finale's document options:
    Lines and Curves->Curve Resolution: 127
    Double Barline at Key Change: activated (will only happen if there is exactly one key signature change in the score)
    Document->Pickup Measure->EDUs: will be corrected if it's an invalid value (You will get a warning message from PL)
    Layers->Consolidate Rests Across Layers: activated (if Optimize->Force Consolidated Rests is activated)
    Accidentals->Minimum Vertical Spacing Between Accidentals: 6 (but only if the original value was less than 6), on huge jazz fonts it will set it to 7.
    Accidentals->Space within Multi-Character Accidentals: 6 EVPU (but only if the original value was less than 4 EVPU and it is a font with a large "Advance Width" offset, e.g. Opus Std)
    Accidentals->Use cross-layer accidental positioning: activated (but only if you use RGP Lua. On JW Lua you get a warning message that you have to activate it manually)

    Line Thickness

    The line thickness looks best when the lines use certain proportions.
    You can use your own proportions.
    But if the staff line thickness and the stem line thickness are identical, and the ledger line and the thin barline thickness are identical, then PL will use these values instead:
    Lines and Curves->Ledger Line Thickness: 256 EFIX = 4 EVPU
    Lines and Curves->Staff Line Thickness: 190 EFIX = 2.96875 EVPU
    Barlines->Thin Barline Thickness: 245 EFIX = 3.8281 EVPU
    Stems->Stem Line Thickness: 170 EFIX = 2.65625 EVPU

    Tie Settings

    If Optimize->Optimize Tie Settings is activated:
    Use Outer Placement: activated
    Start After Single Dot: activated
    Start After Multiple Dots: activated
    End Before Single Accidentals: activated
    Break For Time Sigs: activated
    Break For Key Sigs: activated
    Seconds Placement: Shift for seconds on start and end of tie
    Time Sig Left Gap: 12 EVPU
    Time Sig Right Gap: 12 EVPU
    Key Sig Left Gap: 12 EVPU
    Key Sig Right Gap: 12 EVPU
    System Start Adjustment: -8 EVPU
    System End Adjustment: 0 EVPU
    Extra System Start Space: 8 EVPU
    Direction Opposing Seconds: activated
    Direction Type: Split Evenly

    Tie Contour->Interpolate Height: activated
    Tie Contour->Avoid Staff Lines: activated
    Tie Contour->Avoid Staff Lines Distance: 10 EVPU
    Tie Contour->Avoid Staff Lines In Staff Only: activated
    Tie Contour->Thickness Left/Right: 6 EVPU (but only if the original value was less than 6 EVPU)
    Tie Contour->Tip Width: 1 EVPU (but only if the original value was less than 1 EVPU)
    Tie Contour->Inset Style: Percent

    Slur Settings:

    Use Engraver Slurs: activated (PL doesn't work with non-engraver slurs)

    If Optimize->Optimize Slur Settings is activated:
    Space Around Objects: 10 EVPU
    Avoid Accidentals: activated
    Space Around Accidentals: -4 EVPU
    Max Slur Angle: 52
    Slur Symmetry Percentage: 3%
    As Percentage of Slur Length: activated / 15%
    Maximum Lift: 24
    Lift: activated
    Slur Tip: Tips Avoid Staff Lines by 8 EVPU / activated

    if Slur Thickness Vertical Left is less than 7 EVPU:
    Slur Thickness Vertical Left: 7 EVPU
    Slur Thickness Vertical Right: 7 EVPU
    Slur Thickness Horizontal Left: 0 EVPU
    Slur Thickness Horizontal Right: 0 EVPU
    Slur Tip Width: 1.4 EVPU

    if Optimize->Optimize Slur System Breaks is activated:
    Avoid Staff Lines by at Least: the value from the Optimize dialog (32 EVPU by default)
    System Stadt Adjustment: -12 EVPU
    System End Adjustment: 0 EVPU

    Multi-Measure Rest Settings

    Multi-Measure Rest Auto Update: deactivated (this is mandatory)

    If MMRests->Force Classical Look is activated:
    Multi-Measure Rests->Start Numbering At: 1 Measures
    Multi-Measure Rests->Use Symbols: activated
    Multi-Measure Rests->Use Symbols for Rests less than: 9 Measures
    Multi-Measure Rests->Space Between Symbols: 24 EVPU

    If MMRests->Set 'Start Numbering At' to Two Measures is activated:
    Multi-Measure Rests->Start Numbering At: 2 Measures

    Hairpin Settings

    If Optimize->Optimize Hairpin Settings is activated:
    Hairpin Line Width: 192 EVPU (but only if the original value was less than 116 EVPU)
    When using exponential hairpin expressions, the Hairpin Line Width value will be automatically adjusted according to the used music fonts.
    Hairpin Opening Width: 28 EVPU (according to the value under Optimize->Hairpin Default Opening Width)
    Hairpin Short Opening Width: 28 EVPU (same value as Opening Width)

    Tuplet Settings

    If Optimize->Optimize Tuplet Settings is activated:
    Default Placement: Stem/Beam Side (on jazz/handwritten music fonts where 'Above' was selected, this will not be changed)
    Engraver Tuplet: activated
    Avoid Staff: take the value from the Optimize dialog (activated by default)
    Allow Horizontal Drag: deactivated
    Use Bottom Note: deactivated
    Vertical Tuplet Offset: 28 EVPU
    Vertical Shape Offset: 0 EVPU
    Horizontal Tuplet Offset: 0 EVPU
    Horizontal Shape Offset: 0 EVPU
    Ignore Number Offset: deactivated
    Bracket Full Duration: deactivated
    Match length of hooks: activated
    Left Hook: 16 EVPU
    Right Hook: 16 EVPU
    Left Extension: 0 EVPU
    Right Extension: 0 EVPU
    Manual Slope Adjustment: 0 EVPU
    Number Style: Regular (but only if it was set to None)
    Shape Style: Bracket (but only if if it was set to None)
    Break Slur or Bracket: activated
    Bracket Mode: Never bracket beamed notes on beam side
    Number Offset Upstem Side of Note: 12 EVPU
    NumberOffset Downstem Side of Note: -12 EVPU
    Max Slope: 10 Degrees
    (The bracket thickness is not changed)

    Music Spacing Settings

    If Optimize->Optimize Spacing Settings is activated:
    Notes and Rests->Scale Manual Note Positioning: deactivated
    Music Spacing->Minimum Item Distance: 12 EVPU
    Music Spacing->Grace Note Min Distance: 12 EVPU
    Music Spacing->Grace Note Spacing Mode: automatic
    Music Spacing->Min Measure Width: 150 EVPU
    Music Spacing->Max Measure Width: 2000 EVPU (if it was above 2000), otherwise 1800 EVPU
    Music Spacing->Min Distance with Ties: 38 EVPU
    Music Spacing->Avoid Collision of Clefs: activated
    Music Spacing->Avoid Collision of Lyrics: activated
    Music Spacing->Avoid Collision of Notes and Accidentals: activated
    Music Spacing->Avoid Collision of Seconds: activated
    (the other "Avoid Collision Of" values are restored to the original values after running the plug-in)

    If "Finale Document Options->Music Spacing->Spacing Widths->Use these values" is activated, PL changes the Spacing Widths values to Finale's default settings:
    Reference Width: 84 EVPU
    Reference Duration: 1024
    Scaling Factor: 1.6179
    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).
    It's currently not implemented to switch off these features.

    Finale's "Double barline preceding key changes" feature will be enabled automatically if exactly one key signature change is found (requires Finale 2014.5+) and no staves use independent key signatures.
    If multiple key signature changes are found, you also need to check "Also Add Double Barline If More Than One Key Signature Changes are Found" to automatically activate Finale's Double Barline feature.

    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".
    The rest optimization is automatically deactivated in measures with ticks, dashed barlines or no barlines at all.In version 3 it can be activated through the option "Optimize->Also Optimize Rests on Dashed Barlines, Ticks or No Barlines at All".

    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.

     Reset/Hide

    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.
    Advantage:
    This helps detecting wrong notes in playback or even wrong ties.
    Disadvantage:
    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.

    If you want to force your own multi-measure rests independently of expressions and double barlines, you can use visible expressions, but with a hidden text style.
    In Perfect Layout Gold it's also possible to break the multi-measure rests with hidden expressions (Option: Allow Hidden Expressions to Break Multi-Measure Rests).
    However, this option is deactivated by default.
    Note: both solutions are only supported in Perfect Layout v3.0199+ and only work when the expression has the "Break Multi-measure Rest" attribute set.

    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 barline (Option: "Show Measure Range After Double Barlines").
    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 barlines.
    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

     Chords

    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 v3 supports automatic baseline alignment of chord symbols.
    You can select from three alignment algorithms:

    Image 1:

    You can also change the vertical order of expressions and chords by using the ABOVECHORD tag in expressions.
    This is explained on the "Alignment" page.

     Groups/Repeats

    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.

     Alignment

    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.
    If you add the word ABOVECHORD to the description field of an expression or the name of an expression category in Perfect Layout v3+, it will place the expression above chord symbols or even above other "normal" expressions.
    On top are still always tempo and rehearsal marks.
    "Normal" expressions (i.e. no ABOVECHORD tag and not rehearsal or tempo expressions) are always placed below chord symbols.
    Like this it's easy to generate a vertical priority of four symbols:


    Image 2: The ABOVECHORD tag

    Still it's highly recommended to use multi-line expressions if you want rehearsal/tempo marks that span multiple lines vertically aligned in a user-defined way.
    The same goes for wide horizontal tempo marks:
    Don't put "Allegro" and the tempo mark "q=120" into two separate expressions, but use them in one expression.

    You can download the test file used in the image above to check the expressions settings.
    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 3: 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 4 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 3 above).


    Image 4:
    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 5: Extra vertical offset for curved group brackets

    Note: If you have a score with linked parts, you need at least Finale 27.3 to make full use of all measure number placement features of Perfect Layout.
    Previous Finale versions didn't allow individual placement of measure numbers in all linked parts through plug-ins.

    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 serif fonts for measure numbers are available here.

    Here are some of the options:

    Image 6:
    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 v3+ can do a few auto-corrections on measure numbers below the staff that collide with other objects.

    a) Measure numbers below the barline are shifted down when colliding with ties or slurs that span from the previous measure to next measure (see image 7).
    If the measure number has to be shifted very low (more than 35 EVPU), then the distance to the colliding object will be reduced by 6 EVPU.The maximum distance that the measure number will be shifted down is 23 plus the selected offset (14 EVPU by default) plus the "Extra Collision Offset" (5 EVPU by default) resulting 23+14+5-6=36 EVPU by default.

    If the default placement of your measure numbers below barline is as in image 7, you will have hardly any collisions with measure numbers when using the "Loose Spacing" preset in Perfect Layout.


    Image 7: Shifting colliding measure numbers down (m.22, m.30) or deciding to maintain their placement (m.68)

    b) Measure numbers in the score on each measure below the bottom staff are shifted down when colliding with symbols (see image 8). This is done consistently over the whole score: they will all get the new vertical distance.

    In the Gold edition the distance can be adjusted with the option "Alignment->Measuren Numbers->On Collisions with Other Objects Below Bottom Staff Shift Down by" plus the value of "Alignment->Extra Collision Offset".
    In the Silver edition the distance is only handled indirectly with the "Alignment->Extra Collision Offset" value. The default distance is 19 EVPU (=14 EVPU Vert. Distance + 5 EVPU Extra Offset).

    Note: if there is no collision because the measure numbers are already very far below the staff, then they will keep their position. They will not be shifted upwards.


    Image 8: Vertical alignment of measure numbers below staff
    Perfect Layout supports automatic vertical alignment of lyrics below the staff 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).

    Some best practices:
    -Make sure to have your lyrics aligned below the staff where you want to have them placed: i.e. not above the staff and not below another staff.
    Use the Finale lyrics baseline to move the lyrics below the staff.
    -If possible, reduce the number of lyrics verses to a minimum. If Perfect Layout has to align multiple verses, the order of the verses must be clear.
    I.e. avoid verse 1 being the top lyrics line in the first system, but the bottom lyrics line in the second system.
    -For best ledgibility it is recommended to place any dynamics on lyrics above the staff.

    If you have two (or more) lyrics staves and the dynamics are valid for both staves, you can also place them below the lyrics of the top staff together with hairpins.
    In this case make sure to set the hairpin alignment to "Move Hairpins Below Lyrics" (see below)

    It is not recommended, but also possible to place the dynamics left to the notes, but above the lyrics. But this may already be difficult to read and can easily lead to collisions which Perfect Layout will not handle.

    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 9: 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 11).
    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 12 - 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).
    In PL v3/RGP Lua Accidentals->Use cross-layer accidental positioning is automatically activated.


    Image 11: Overlapping accidentals


    Image 12: 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.
    If you want to deactivate the cue functionality (i.e. keep all cue notes in the score), set the two Dedicated Cue Note Layers to "Not Used".
    If the cue text expressions shouldn't be changed either, then keep the field "Keyword for Categories with Cue Expressions" empty.

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

     Tuplets

    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

     Expressions

    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.) Be careful when you use several Technique Text expressions on the same side of the staff (see m.1 beat 4 and m.2 beat 1).
    If the expressions don't overlap, the top expression is kept at that position (m.1 beat 4, supported in PL v3.0177+).
    Otherwise the expression with the smaller expression ID is put on top (m.2 beat 1, supported in PL v3.0177+).
    Or, you could put one expression below and one above the staff (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 few 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".
    Note: in PL v3 only expressions with no border are taken into account. Opaque background on expressions with a line width above 0 are kept as they are.
    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.

     Articulations

    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)

     Hairpins

    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.

    Hairpins can either start directly after a starting dynamics or after the expressive text expression (see image 2).
    Option: "Shift 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. Unfortunately JW Lua doesn't allow the activation of the Enclosure field, so this needs to be done manually. If you use PL v3 and RGP Lua, the enclosure will be created automatically.
    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.PL v3 also supports Opus Special, Opus Special Std and Norfolk Special Std.
    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

     Slurs/Ties/Glissandi

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

    Perfect Layout (starting with version 3.x/Gold edition only) offers three options for setting the SmartShape distance above the staff:
    a) Distance to the Top Staff Line: 25 EVPU by default
    b) Distance to the Top Staff Line on 1-Line Staves: 58 EVPU
    c) Distance to the Top Note Symbol: 23 EVPU

    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

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

     Counting

    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

     Systems

    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
    Distance between Staves:
    a.) Two Main Algorithms for Staff Spacing in the Score
    b.) Max. Distance between Staves (Default: 470 EVPU)
    c.) Standard Distance Between Two-Staff Groups (Default: 280 EVPU)
    d.) Sliders: Extra Distance Before/After Staff Groups and Staff/System Distance

    Distance between Staff Systems:
    e.) Max. Distance Between Staff Systems (Default: deactivated, 800 EVPU)
    f.) Minimum Bottom Margin of Staff System and Auto-Suggest 'Parts' Value
    g.) Reserve Distance Between Bottom and Next Top Staff System Margin (Default: 70 EVPU)
    h.) Min. Vertical Space on Reflow Systems Across Pages (Default: 14 EVPU)

    a.) Two Main Algorithms for Staff Spacing in the Score

    The Perfect Layout plug-in includes two algorithms for creating a non-colliding and visually balanced look of the staff systems.

    While the default algorithm is very flexible and also adds group spacing, the staff distances may vary a lot if there is not much vertical space and the content is different on each page.
    The second algorithm tries to preserve the original layout as much as possible which leads to more a consistent spacing. But you have to make sure that the staff and group spacing already looks fine on most pages before applying Perfect Layout.

    In Perfect Layout v3 the algorithms are applied both to the score and to the linked parts.
    PL v2 supports the score layout only (not linked parts).

    (1) The default staff spacing algorithm works fine on overstuffed pages as well as on pages with lots of free space.


    Image 1a: Default staff spacing on an overstuffed page

    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 be unhappy 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.

    (2) The second staff spacing 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.
    Activate this option only if your staves already have very good staff and group distances before applying Perfect Layout and if there are only few vertical collisions between the staves.


    Image 1b: Comparison of both algorithms: "Optimize System Distances Only and Keep Staff Distances" activated and deactivated


    Video: Automatic System Optimization by Only Adjusting the Colliding Staves and Preserving Most of the Layout


    b.) Max. Distance between Staves (Default: 470 EVPU)

    This value handles the maximum distance between staves.
    If a staff group starts, then this value will be increased according to the "group slider".
    Usually you will not get this distance between two staves as probably your page will not have that much space. But in case of very much space it will (probably) be limited to 470 EVPUs.
    Probably? Why probably?
    If only "a bit more" is required to fill the full page, more space will be used.
    Some mathematical rounding issues can also lead to slightly different max. values.

    c.) Standard Distance Between Two-Staff Groups (Default: 280 EVPU)

    If there is a piano part on the staff system, it should not have a distance of 470 EVPU like the other single staves.
    Instead, they should be aligned a bit tighter. 280 EVPU has been found to be a good value for typical piano or harp staves.

    However, there may be complex piano notation that takes up varying amounts of space.
    In such cases, it may be more consistent to allocate more space to piano staves than the default 280 EVPU, especially when they are next to other piano staves that require, for example, 380 EVPU.
    The option "Adaptive Standard Distance for Scores with Very Small and Very Wide Staff Distances" will achieve this automatically.
    However, in rare scenarios, it may be desirable to have a fixed distance between piano staves, even if they are close to other piano staves with a wide distance. In that case, this suboption should be deactivated.

    d.) Sliders: Extra Distance Before/After Staff Groups and Staff/System Distance

    Who gets the most empty space?

    Multiple systems on a page or staves can get extra space: "between systems" or "between staves".
    This 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.

    Extra space for grouped staves 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.) Max. Distance Between Staff Systems (Default: deactivated, 800 EVPU)

    (Perfect Layout v3+ only:)
    By default Perfect Layout automatically adds space between the staff systems, so that the bottom staff systems aligns with the page bottom margin.
    If this meant very much free space between multiple systems, Perfect Layout would reduce the space and automatically avoid the alignment.

    However, there are scores, for example with many very different staff system heights, where it makes sense to limit the maximum space between staff systems.
    This also means that they won't align at the page bottom margin, if the maximum distance is reached.

    To achieve this activate the option Max. Distance Between Staff Systems.
    By default the distance is limited to 800 EVPU. But this value can also be adjusted in the dialog.
    See image 2 for the difference between automatic staff system distances and a limited distance.


    Image 2: Option "Max. Distance Between Staff Systems""

    f.) Min. Bottom Margin of Staff System and Auto-Suggest 'Parts' Value

    The "Minimum Bottom Margin of Staff System" value is available both for the score and the parts and has the highest influence on the distance between multiple systems on a page.

    Especially in parts this is probably the most important value for the system layout.
    For a very dense spacing use low values (e.g. 20 EVPU is the default in the 'Tight Spacing' preset).
    For a wide spacing use higher value between 150-240 EVPU.

    Note: The "Min. Bottom Margin" value will only provide a rough orientation for the plug-in.
    The actual bottom margin of the systems will probably be different on each system dependent on the content.

    In PL v3 there is also an "Auto-Suggest 'Parts' Value" option.
    It tries to suggest a good value according to the spacing in the current system setup in the parts (before Perfect Layout).

    "Auto-Suggest" will either generate a value of 80 EVPU (medium dense spacing) or 200 EVPU ("standard" spacing).

    How does "Auto-Suggest" work?

    Orchestral or chamber music parts very often use a more dense spacing. Other musical genres often use a wider spacing.
    It's obviously difficult to detect if the engraver wanted a dense or wide system spacing.

    The "Auto-Suggest" in Perfect Layout decides like this:
    If the vertical spacing in the parts is already very wide, it will be kept (->use 200 EVPU).
    If the spacing is already extremely dense and maybe even with collisions between staves, then it will also be set to s (standard) wide spacing (->use 200 EVPU).
    If the spacing is dense, but probably ok, then the plug-in will keep a dense spacing (->use 80 EVPU).
    If you load the "Tight Spacing" preset, then the vertical spacing will be set to just "20 EVPU".

    If you want to define your own system distance in parts, deactivate "Auto-Suggest" and set your own value.

    g.) Reserve Distance Between Bottom and Next Top Staff System Margin (Default: 70 EVPU)

    After the score balancing algorithm the bottom system margin will be reduced by this value to allow easy manual shifting of the systems after Perfect Layout has finished.

    Image 3: "Reserve Distance Between Bottom and Next Top Staff System Margin"

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

    a.) Adjust Top System Margin to Max. Position of Top Staff

    When activated this feature aligns the top element of the top staff with the page top margin (see in image 4 bottom).
    This option is available separately for the score and the parts.
    By default this is activated for the parts only. In the score it is usually preferred to have the top staff lines aligned.

    If you have deactivated this option, make sure you have a nice "Distance Between Systems" value in your Finale (default) page format settings.This will be used/maintained otherwise.

    Note: Make sure there is enough vertical space between your page text elements and the page top margin (e.g. page numbers, title) before you apply Perfect Layout. Otherwise you may get collisions when this feature is activated.

    When Perfect Layout detects these page text/page top margin collisions, it automatically deactivates this pre-set feature.
    In this case you have to manually (re-)activate this option to have it applied.


    Image 4: The "Adjust Top System Margin to Max. Position of Top Staff" option
    The enclosure of "Letter D" is aligned with the page top margin.

    b.) Alignment at the Page Bottom

    You can select different alignment techniques for the bottom of the page (see image 5 below). 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.


    Image 5: Option Align Page Bottom Margin With

    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 graphic objects, mid-measure clefs, staff names, complex cross staff notes, shape articulations and smartshapes that span more then two systems.
    To support some of these objects nevertheless dummy values are used which already lead to better results.

    c.) Option: Auto-Adjust Bottom Margin for Colliding Page Texts on Bottom of First Page (e.g. Copyright Text)

    Perfect Layout aligns the bottom system with the page bottom margin. So you need to make sure that all copyright text, page numbers, etc. are placed below the page bottom margin in order to avoid collisions with the score.
    Perfect Layout's Auto-Adjust Bottom Margin for Colliding Page Texts on Bottom of First Page automatically adjusts the page bottom margin on the first page with systems (i.e. where usually the copyright texts are).

    By default it generates a distance of 56 EVPU between the page bottom margin and the page text (see image 6 below).
    The distance is set with the Bottom Margin to Page Text Distance parameter.


    Image 6: Option Auto-Adjust Bottom Margin for Colliding Page Texts on Bottom of First Page

    d.) Option: 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 7).

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

    e.) Option: Distribute Single Staff Systems Evenly Over Last Two Pages if at Least (5) Systems on Last Page

    Similar to the previous option "Force Spread to Page Bottom Margin" which is meant for scores, this option is meant for single staff parts.
    However, it only affects the last two pages of a part.
    When activated (by default), this feature distributes all systems on the last two pages evenly.
    When deactivated, it's possible that the last page only has very few systems which only fill the top part the page.

    The minimum number of necessary systems on the last page can be adjusted. By default it is set to 5 staff systems.
    This means: the feature will not be activated if there are only 4 systems on the last page.


    Image 8: Distribute 1-Staff Systems Evenly Over the Last Two Pages

    a.) Improved Measure Layout per System

    The measure layout in parts is currently based on seven rules in Perfect Layout (PL).
    While Perfect Layout version 2 and version 3 both work on extracted parts, while version 3 also processes linked parts.

    1.) The parts layout of a score generated by PL is based on the measures manually set per system prior to running the program.
    PL will not reset the measures per system.
    For example, if you put five measures in Trumpet 1 system 1 and six measures in Trumpet 2 system 1 while both have the same notes, PL will keep this and not unify it.

    If you need a certain part style like broadway/musical, Hollywood film music or jazz, make sure to get the measure layout done prior to running PL (like 4 bars per system, multi-measure rests spanning a whole system, etc.).

    2.) The parts layout mainly relies on Finale's music spacing algorithms. In a few cases PL's own spacing is added (e.g. for chords and multi-layer note collisions).
    Music Spacing is only applied to a part if one of the options under "Optimize->Options Spacing Settings" is activated and true for that part.
    This means the music spacing will be either applied:
    - always ("Always Apply Music (Re-)Spacing) or
    - if there any chord symbols are found or
    - if major spacing settings change with the "Optimize->Optimize Spacing Settings" option.

    3.) PL can shift measures to the previous/next system if there are horizontal collisions otherwise (especially between chords or tempo mark expressions).
    But this is only performed if "Reflow Across Systems" is activated in Finale's preferences or if the measure layout has been redone significantly in PL.
    The latter would be for example the case, if no multi-measure rests had been created before running PL and there were many multi-measure rests in that part which would affect most systems.

    4.)With version 3.x of the software, PL can now to shift a new section start to the previous or next system if it is preceded by a double barline or a repeat bar and if it is either the first or last bar of the current system.
    This feature is only enabled if "Reflow Across Systems" is activated in Finale's preferences.
    To successfully shift the measure, there must be sufficient horizontal space in the system, which can be checked by looking at the horizontal stretch value after the shift - it must be at least 0.95 or higher.
    In certain cases, the measure may not shift (e.g. a single-measure crescendo after a multi-measure rest that leads into a new section after the barline, or a rehearsal or tempo mark at the start of the next system).

    5.) PL optimizes the linked parts for good page turns, if the part has at least two pages and "Systems->Optimize Page Breaks with Rest Bars" is activated.
    For detailed info see the next section b).

    6.) If the final system has only one (narrow) measure and there is enough space, PL will shift the final measure to the previous system.

    7.) If PL detects coda measures in the score (either through coda expressions or with repeat text elements), it will begin a new system in the parts with the coda measure.
    To make the beginning of the coda more obvious, the system can also be shifted down further than usual (Systems->"Shift Coda System Down by").

    b.) Page Breaks for Easy Page Turns

    In parts with only one staff Perfect Layout v3 can optimize the system and measure layout for easy page turns via the option Optimize Page Breaks with Rests.
    This feature analyzes the last systems on a page and looks for good page breaks with multi-measure rests, cue notes sections or longer rests within a measure.

    First you have to determine where Perfect Layout should add page breaks.
    By default Perfect Layout will add them on the odd (right) pages (Option: "On Odd (Right) Pages").
    But you can also select the even (left) or both pages.

    There is also the option "Only Optimize if Number of Staff Systems is at Least X".
    It automatically deactivates the page break feature on parts with less than X systems (e.g. if the part only has two pages).

    Perfect Layout only takes into account rests in the first or second bar of a system, or in the last or next-to-last bar.
    I.e. a single multi-measure rest in the middle of a system with at least 5 bars is currently not shifted to the end of a system, because it is very likely that it will influence more than one subsequent system.

    However, you can allow "Mid-System Multi-Measure Rests" for the page break if you activate one of these two options:
    1.) Always Accept Mid-System Multi-Measure Rests: the first system with a multi-measure rest found in the middle of a system would be used for the page break, if the subsequent systems didn't have rests for a good page break.
    2.) Prefer Mid-System Multi-Measure Rests over Single Empty Measures (in PL Gold only): like 1.), but only if there were no previous or subsequent systems with multi-measure rests at the start or end of the system.

    Note: in these case of mid-system multi-measure rests Perfect Layout uses the system for the page break, but it doesn't shift the rest bars to the end of the system automatically. Because this will usually lead to music spacing problems or other collisions.
    Here Perfect Layout only supports the search for page breaks:
    you have to shift the multi-measure rest bars manually to the end of the system after Perfect Layout.

    BTW, that is also why these two options are deactivated by default.
    However, they allow for more complex page turns which may be required if there are only very few rests.

    In Perfect Layout Gold you can control in how many systems Perfect Layout will search for rests through the option "Max. Number of Systems to Search in for Good Page Breaks". By default (and in PL Silver) this value is 4.

    Perfect Layout refines its search in several steps:
    1.) First it looks for a multi-measure rest that spans at least x bars. In PL Gold x is defined in "Preferred Minimum Number of Empty Measures at Page Break". By default and in PL Silver it is 2.
    2.) If it doesn't find such a rest, it will reduce the number of bars (until x=1) and try again.
    3.) If it's only one bar, it will first search with for one empty bar with adjacent rests in the previous bar.
    4.) Then it will search for single rest bars.
    5.) If it still hasn't found a full bar rest and "Allow Rests within Measures" is activated, it will search for long rests at the end of a measure:
    In step one it searches for rests that span at least 3072 EDU (dotted half note - set with the "Minimum Rest Duration" option), in step two for rests that span at least 2048 EDU (half note, set with the "If not found, check for" option).
    6.) If it still hasn't found a rest bar, it will finally search for mid-system multi-measure rests, even if the two mid-system options are not activated.

    Rests at the end of a system are preferred over rests at the beginning of a system.
    A rest at the start of a new page will not be visible to the musician before the page turn. So, if possible, this should be avoided.


    Image 9: Rest priorities for good page breaks:
    The first multi-measure rest in the second system (second measure) could be preferred over the second multi-measure rest (fifth measure of the second system) as it only requires shifting a whole note to the previous system, instead of shifting four quarter notes to the next system.
    Perfect Layout decides which rest to take dependent on the system contents (e.g. the density of the music spacing).

    If Perfect Layout has found a good page break above the current last system of the page, the number of systems on that page will be reduced.
    Dependent on the number of reduced systems, Perfect Layout will either automatically add blank space at the bottom of the page (page break found many systems before end of page) or move systems from the previous page to the page with the page break (page break found close to end of page), so that the overall look will still be visually balanced.

    If Perfect Layout has found a good page break in the second or next-to-last measure of a system, it tries to move it to the start or to the end of the system.
    This is possible in most cases.
    However, there may be scenarios where this is not possible or where it's not guaranteed that it looks good.
    In these cases you should have a final look at these page breaks and move the measures manually and/or correct some minor collisions.
    Perfect Layout adds a message to the log file and also displays a warning message on the screen at the end of processing.

    Note 1: The page break feature is only available if "Reflow Systems Across Pages" is activated in Finale's Preferences->Edit and if "Systems->Optimize Staff/System Distances" is activated in Perfect Layout.
    Note 2: The feature currently doesn't work on parts with more than one staff (e.g. piano parts or the full score).

    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 can also handle score files with several movements.

    However, if possible, it is recommended to avoid large multi-movement scores in Finale with more than 1000 bars and more than 30 instruments as Finale (and Perfect Layout) becomes rather slow when handling these huge files.

    Please make sure that the start of the new movement is easily visible and thus can be detected automatically by Perfect Layout.
    To do so, if possible:
    - use a large movement title (either as page text, as measure text or as a text expression)
    - if the movement doesn't start on a new page, give a little more space to the system above
    - activate the "Begin a new system" option on the first measure of a new movement in Finale's Measure Attributes dialog and answer "No" when asked if Perfect Layout should remove all "Begin a new system" attributes.

    Here is an example video of optimizing a multi-movement score with text expressions as movement titles with Perfect Layout.

     General

    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)\Elbsound.studio\Perfect Layout\UserLanguage1.txt
    on MacOS in:
    /Library/Application Support/Elbsound.studio/Perfect 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 on Windows: C:\Users\USERNAME\AppData\Roaming\MakeMusic\Finale,
    on macOS: ~/Library/Application Support/MakeMusic/Finale
    The file is called "JALAYOUG.ini".
    Simply delete the JALAYOUG.ini file and restart the plug-in. Then the main dialog will reappear.

    or

    2.) by changing the value BypassMainDialog in the mentioned .ini-file from true to false.
    a.) Bypass the Minimize Windows feature (Windows only)
    During the processing the plug-in minimizes the Finale windows and thus reduces the processing time for the many redraw updates of the score.
    However, it's not recommended to deactivate this feature as the redrawing requires 20-30% of the processing time.
    So, if deactivated, the plug-in would become much slower on Windows.

    b.) Bypass the Progress Bar (macOS+Windows)
    The external tool that shows the progress of the plug-in can be deactivated with this feature.
    However, there is no practical reason for this - unless you find the progress bar annoying.

    Windows only:
    If you don't want to see the progress bar, you can also kill the AutoHotKey tasks manually in Window's task manager.
    The tasks are either called "AutoHotKey Unicode 64-bit" or "ESPerfectLayoutProgressBar" or "ESPerfectLayoutMinimizeFinaleWindows" (see image 1).

    Note: You have to maximize the Finale® window manaully if you also kill the Minimize Window task.
    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.

     Load/Save

    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 little buttons next to the user dialog options a pop-up preview image will appear in your web browser.
    In Perfect Layout v3/RGP Lua the buttons also include a question mark.
    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 in Perfect Layout version 2/JW Lua (left) and version 3/RGP Lua (right)
    You can directly access the Perfect Layout documentation from the user dialog.
    If you click on"Help", this documentation page for the current user tab will open in your web browser.
    If you click on "PDF", the full PDF documentation opens up in your PDF viewer.


    Image 3: Help button and PDF button for accessing the documentation
    You can set the unit of measurement in Perfect Layout at any time in the user dialog at the bottom.
    This will update all unit based values in Perfect Layout.


    Image 4: Measurement units in Perfect Layout

     FAQ

    Installation

    Windows:
    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).

    After you have installed the plug-in the license key and the registration data (name and email) are also displayed at the left bottom of the General tab in Finale (see image 1).

    Image 1: Registration data on the General tab

    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: Windows or macOS.
    Perfect Layout v3.x requires at least Node.js version 16.17.0: Windows or macOS.
    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.
    Run the installer tool maintenancetool.exe with administration rights (Right-click with the mouse and select "Run as Admin").
    The file maintenancetool.exe can usually be found in C:\Program Files (x86)\Elbsound.studio\Perfect Layout.

    Select "Remove all components" and the "Next" and "Ok".

    The uninstallation process takes between 30 seconds and three minutes, dependent on the number of users on your Windows system.
    During the uninstallation you must explicitly confirm that you also want to uninstall Node.js. Otherwise it won't be uninstalled.

    The Perfect Layout edition (Silver400, Silver, Gold) and version number is included in the title of the Perfect Layout window:


    a) If Perfect Layout uses RGP Lua (Perfect Layout v3 in Finale 25-27), you need the following files:
    The blackened letter is dependent on the plug-in version.

    Windows:


    macOS:


    b) If Perfect Layout uses JW Lua (i.e. Perfect Layout v1, v2 in all Finale versions or Perfect Layout v3 in Finale 2014/2014.5), you need the following files:

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


    MacOS:
    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.

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


    Windows:
    This is how the Windows Elbsound.studio/Perfect Layout folder should look after the installation.
    By default the full folder name is c:\program files (x86)\Elbsound.studio\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.
    There can be two reasons, if Perfect Layout v3.x doesn't appear in the Finale 25-27+ menu.1.) Plug-in files missing
    Make sure that the Finale plug-in folder, includes all necessary files:
    Windows:


    macOS:


    All of these files are installed automatically with the plug-in installer.
    If some files are missing, please first delete the "com.robertg..." file and then run the installer again.

    If you use Perfect Layout v3.x in Finale 2014/2014.5, the RGPLua.bundle will be replaced with JWLua.bundle.Note: Perfect Layout v3 in Finale 25-27 only works with RGP Lua, and in Finale 2014/2014.5 only with JW Lua.

    2.) Wrong settings in the com.robertgpatterson.RGPPluginSettings.xml file
    The com.robertgpatterson.RGPPluginSettings.xml file in the Finale/Plug-ins/Elbsound JW Lua folder tells Finale to show ES Perfect Layout in the plug-in menu.

    Usually, the Perfect Layout installer will create this com.robertgpatterson.RGPPluginSettings.xml file automatically.However in rare cases it might not work:
    For example, if the plug-in folder already existed and included this file and the file was messed up (it's not very likely, but possible).
    The installer has a few repair options, but can't solve all problems automatically.

    If you don't see the ES Perfect Layout entry in your Finale menu, you can also edit the path in the com.robertgpatterson.RGPPluginSettings.xml file manually in a text editor.

    If the file looks like this and includes the correct path of the "ES Perfect Layout (for Menu).lua" file, Finale will show "Elbsound JW Lua/ES Perfect Layout" in its plug-in menu.

    Windows:

    <RGPPluginSettings>
       <RGPLua IncludeUI="false">
          <Scripts>
             <Script Path="c:\Program Files\MakeMusic\Finale 27\Plug-ins\Elbsound JW Lua\ES Perfect Layout - Apply to Parts Only (for Menu).lua" IsDirectory="false" Trusted="true" Debug="false" UseString="false" FromRGPLuaDirectory="false"/>
             <Script Path="c:\Program Files\MakeMusic\Finale 27\Plug-ins\Elbsound JW Lua\ES Perfect Layout (for Menu).lua" IsDirectory="false" Trusted="true" Debug="false" UseString="false" FromRGPLuaDirectory="false"/>
          </Scripts>
       </RGPLua>
    </RGPPluginSettings>

    On macOS it looks the same - except the path which typically looks like this:

    <RGPPluginSettings>
       <RGPLua IncludeUI="false">
          <Scripts>
             <Script Path="/Library/Application Support/MakeMusic/Finale 27/Plug-ins/Elbsound JW Lua/ES Perfect Layout - Apply to Parts Only (for Menu).lua" IsDirectory="false" Trusted="true" Debug="false" UseString="false" FromRGPLuaDirectory="false"/>
             <Script Path="/Library/Application Support/MakeMusic/Finale 27/Plug-ins/Elbsound JW Lua/ES Perfect Layout (for Menu).lua" IsDirectory="false" Trusted="true" Debug="false" UseString="false" FromRGPLuaDirectory="false"/>
          </Scripts>
       </RGPLua>
    </RGPPluginSettings>


    By default Perfect Layout v3.x (from on 3.0071+) installs and uses RGP Lua as the base plug-in for Finale.
    This will work fine in Finale 27.2 - both on an M1 in native mode or in Rosetta mode.

    However, if you try to use Perfect Layout v2.x, it won't work in the macOS native mode in Finale 27.2 on the Apple M1/M2/M3 chip.
    In this case please run Finale 27.2+ in Rosetta mode. Then Perfect Layout 2.x and JW Lua will work.

    This also affects other third party Finale plug-ins:
    they may not be compatible with with the native mode and then don't show up in the Finale plug-in menu.

    If you have an M1/M2/M3 chip, it's recommended to use Perfect Layout v3.x in Finale 27.2 on an M1 chip with RGP Lua in native mode. It is about 40% faster than in Rosetta mode.

    To run Finale in Rosetta mode please:
    -Open Finder and select the "Finale 27" app.
    -In the File menu click on "Get Info" in the menu bar
    -Activate "Open using Rosetta"

    Perfect Layout version 3:
    PL v3.x in RGP Lua supports the native mode.
    PL v3.x in JW Lua still requires Rosetta mode.
    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) 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 v3.x requires at least Node.js version 16.17.0.
    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 16.17.0 for Perfect Layout v3 directly and install it:
    Windows version
    macOS version

    You can also download Node.js 14.16.1 for Perfect Layout v2 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

    3.) macOS:
    Make sure the macOS tools curl, defaults, sudo and node are available via Terminal.app.
    When you open Terminal.app, and type their names it should look like this:








    If this is not the case, please contact Elbsound.studio.
    For node please follow the installation instructions as described under 2b) above.
    macOS has changed its system identification in OS Ventura (13.0).

    This means:
    Under certain circumstances the plug-in activation is not recognized in Finale anymore if the plug-in (v1.x or v2.x) had been activated in OS 10.13-11.x or in OS 12.x in Rosetta Mode and is now run on an M1 in OS Ventura (OS 13.x).

    When the plug-in activation is available, but not recognized, you can't start the plug-in.
    Unfortunately you don't see an error message either: the plug-in simply won't start in Finale.

    Solution:
    1.) If you have not updated to OS Ventura yet, please deactivate Perfect Layout before updating to OS Ventura and re-activate it after you have updated your OS to Ventura (v13.x).
    2.) If you have already updated to Ventura, you need to deactivate the plug-in manually and then re-activate it:
      a) Reset the activation online here
        and then
      b) Clear the activation on your Mac by running the Perfect Layout Deactivation tool

    Note: if your plug-in already works fine in OS Ventura, you don't need to deactivate/reactivate the plug-in!
    Especially Perfect Layout version 3 has some fixes for avoiding similar problems.
    However, according to our users it's likely that old installations of Perfect Layout v1 and v2 only work in OS Ventura with this trick.
    If your computer has crashed and you can't deactivate the plug-in anymore, it's not possible to re-activate the plug-in on a new computer. Your old activation blocks the new activation.

    Here is how to reset the activation manually in this case.

    The macOS deactivation requires two steps:
    1) Reset the activation online here
    You need your license key (included in your purchase confirmation email) and your registered email address for this.

    2) Then clear the activation on your Mac by running the Perfect Layout Deactivation tool.
    Just download and run this uninstaller. After running your Elbsound plug-in activations will have been removed from your computer.
    Perfect Layout requires either the Finale plug-in JW Lua or RGP Lua to work properly in Finale.

    Perfect Layout version 1 and version 2 will only work in JW Lua.
    It's impossible to get v1 and v2 to work in RGP Lua!

    However, for Perfect Layout version 3+ it is recommended to use RGP Lua.
    Version 3 will also still work in JW Lua, but with less features and not in native mode on a macOS M1 chip.

    The Perfect Layout v3.x installer automatically installs Perfect Layout with RGP Lua.
    There is usually no need to install it manually.

    Anyway this is how to do it manually:
    To install Perfect Layout in RGP Lua, you first need to download RGP Lua.

    Note: You need at least RGP Lua version 0.64 for Perfect Layout v3.0075.
    It is always recommended to use the latest version of RGP Lua.

    Then open the downloaded .zip file and extract the RGPLua.bundle (macOS) or RGPLuaWin.fxt (Windows) file into your Finale plug-ins Perfect Layout folder.
    By default this is the folder:
    macOS: /Library/Application Support/MakeMusic/Finale 27/Plug-ins/Elbsound JW Lua
    Windows: c:/Program Files/Finale 27/Plug-ins/Elbsound JW Lua

    Then you need to connect Perfect Layout with RGP Lua.
    Download this Perfect Layout for RGP Lua setup file and paste it into the same folder from above.
    This setup file tells RGP Lua to show ES Perfect Layout in the Finale plug-in menu.

    At the end you need to have at least four files in that folder:
    com.robertgpatterson.RGPPluginSettings.xml
    ES Perfect Layout (for Menu).lua
    JALAYOUx64.lua
    RGPLua.bundle (macOS) / RGPLuaWin.fxt (Windows)


    If JW Lua was installed too, then you will typically have five (macOS) or six (Windows) files in that folder. But these can be ignored.

    If Finale was open during this installation process, you would need to restart Finale now. This will update its plug-in menu.

    The com.robertgpatterson.RGPPluginSettings.xml looks like this.
    Please edit folder name marked in bold, so that it matches your Finale plug-ins Elbsound folder.

    Windows:

    <RGPPluginSettings>
       <RGPLua IncludeUI="false">
          <Scripts>
             <Script Path="D:\Programme\Finale 27\Plug-ins\Elbsound JW Lua\ES Perfect Layout (for Menu).lua" IsDirectory="false" Debug="false" UseString="false" FromRGPLuaDirectory="false"/>
          </Scripts>
       </RGPLua>
    </RGPPluginSettings>

    On macOS it looks the same - except the path which typically looks like this:

             <Script Path="/Library/Application Support/MakeMusic/Finale 27/Plug-Ins/Elbsound JW Lua/ES Perfect Layout (for Menu).lua" IsDirectory="false" Debug="false" UseString="false" FromRGPLuaDirectory="false"/>



    Image 2: The macOS Finale plug-in folder with all files (jwlua64.bundle is not necessary for RGP Lua)

    Note 1: If you also have other versions of Finale installed (25 or 26), you need to repeat the whole RGP Lua setup process for each version of Finale.
    I.e. you need to copy all RGP Lua files into the plug-in folders of each Finale version.

    Note 2: RGP Lua requires at least Finale 25. It does not work in Finale 2012, 2014 or 2014.5.

    Note 3: MacOS only: If you are running Finale 27.2 or higher on a M1 mac, you can run Finale both in native mode or Rosetta mode. RGP Lua supports both modes, JW Lua only supports Rosetta mode.If you run Finale in Rosetta mode and you have both JW Lua and RGP Lua in that folder, you will have two (!) ES Perfect Layout entries in the Finale plug-in menu. It's recommended to remove JW Lua from that folder in this case.

    Note 4: MacOS only: If ES Perfect Layout still doesn't work now, please check that you have granted the necessary system access to Finale as described here.

    Note 5: If ES Perfect Layout still doesn't work in the Finale menu, please also check that your antivirus/internet security software or firewall doesn't block Perfect Layout's internet access.This is required for checking the license activation. For more info on this issue see here.
    The message looks like this:

    Image 1: Message "0 Finale installation(s) Found"

    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:
    Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\MakeMusic\Finale2014\InstallPath
    Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\MakeMusic\Finale2014.5\InstallPath

    For Finale 25 the following entry should exist:
    Computer\HKEY_LOCAL_MACHINE\SOFTWARE\MakeMusic\Finale\InstallPath

    For Finale 26 the following entry should exist:
    Computer\HKEY_LOCAL_MACHINE\SOFTWARE\MakeMusic\Finale26\InstallPath

    For Finale 27 the following entry should exist:
    Computer\HKEY_LOCAL_MACHINE\SOFTWARE\MakeMusic\Finale27\InstallPath

    If you open the Windows tools Regedit, it should look like in the images below.
    Note: Your Finale install paths may be different than those in the images below!


    Image 2: Finale 2014.5 Registry Entry


    Image 3: Finale 25 Registry Entry


    Image 4: Finale 27 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 5: 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.

    Do not use any IP-hiding or other IP-manipulating services like "No-IP.com" during the activation of the plug-in as this won't work.
    After the activation of the plug-in the IP addresses or networks are not important anymore.

    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, -19, -21, -22, -44, 83, 84, 85, 86, 120 from second computer activations explained" if you have these error messages during the installation on the second computer.
    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.

    Solution:
    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 "-18/64":
    Please contact Elbsound.studio if this error occurs.

    Error -19:
    You are running a plug-in version that doesn't match the version registered to your account.
    E.g. if you have bought version 1 or 2 and install the beta of version 3 without upgrading your account to version 3, then you will get this error message.
    If Elbsound.studio should update your account (e.g. because you are participating in the beta test), contact Elbsound.studio.
    Other please install the correct version that matches the version number from your activation.

    This problem also occurs when you have activated an (old) license key on your computer (e.g. a license key for PL v1.0) and then purchase a new license key for a new version like PL v3.0.When you try to start the new PL v3 plug-in from the Finale plug-in menu it will give this error message -19, because it only finds the old license for v1.0 on the computer.
    In this case either deactivate the old license key first and reactivate the plug-in with the new license key from the new plug-in which you have purchased.
    Or purchase an update which will make your old license key also work with newer versions.

    Error -21:
    There is a problem with your license key or the plug-in activation.
    Please try to uninstall the plug-in from this computer and then try to reinstall. Should it still not work, please contact Elbsound.studio support.

    Error -22:
    There is a problem with your license key or the plug-in activation.
    This error typically occurs when you install the wrong edition:
    For example, if Perfect Layout Silver is installed and activated on your computer, and then you run the Gold installer, you will get a warning message that the wrong edition has been installed and also this -22 error message.
    In this case try to deactivate the old plug-in from this computer first and then reinstall the new version.

    If you have purchased an upgrade and want to install version Gold over Silver, please deactivate Silver first.
    Then run the Gold installer.

    This error also occurs when you change your computer and re-use the data from the old hard drive.
    In this case it's recommended to run the "Perfect Layout Removal"-Tool (for macOS) on the new computer which removes the old installation data.
    If Perfect Layout was already activated before, you also need to reset the activation through our online deactivation tool.
    After the removal of the old data and the online deactivation you can run the Perfect Layout installer again.

    Note 1: The online deactivation tool only works on macOS activations with Perfect Layout v2.x or v3.x,
    or on Windows activations with Perfect Layout v3.x. On Windows with PL v1.x and v2.x please contact Elbsound.studio.
    Note 2: Don't forget to confirm the deactivation by opening the link in the confirmation email.

    The detailed deactivation instructions can be found on this FAQ page under the PL v2: Perfect Layout and Updating to OS Ventura".
    Should it still not work, please contact Elbsound.studio support.

    Error -44:
    The automatic activation check failed. Make sure you are connected to the internet.
    In rare cases this error can occur if your internet connecion is extremely slow (e.g. more than 10 seconds for the simple internet connection).Usually this can be handled running the plug-in again.

    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 Elbsound.studio support.

    Error 84:
    The name or email address for your second activation doesn't match the email address in the Elbsound.studio 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 Elbsound.studio.

    Error 85:
    The name/company name for your second activation doesn't match the name/company name in the Elbsound.studio 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 Elbsound.studio.

    Error 86:
    The IP address of your second activation doesn't match the IP address from your first activation.
    For more details please read the FAQ section "How can I activate the plug-in on a second computer?".
    Please also make sure to not use any IP-hiding or other IP-manipulating services like "No-IP.com" during the activation of the plug-in. This won't work.
    However, after the activation of the plug-in has been completed the IP addresses or networks are not important anymore.

    Error 120:
    Please contact Elbsound.studio if this error occurs.
    The full Perfect Layout installer always installs the correct RGP Lua version.

    However, in rare cases there may be version conflicts.
    There are typically two reasons for an RGP Lua version conflict:

    1.) (Main reason!) The RGP Lua file is installed in two Finale plug-in subfolders, but with different version numbers.
    Please search all Finale plug-in subfolders for the RGPLuaWin.fxt (Windows) or RGPLua.bundle (macOS) file and make sure they all have the same version number.
    Differences can easily be found by looking at the modification date or the file size.
    It's ok to have the RGP Lua file in several Finale subfolders, but only if the RGP Lua version numbers are identical.

    2.) If you have installed RGP Lua or Perfect Layout manually, conflicts can also occur more easily.
    In this case, just re-run the latest Perfect Layout installer to make sure you get the correct RGP Lua version.
    When Panda Dome antivirus is installed, make sure its setting "Ask before neutralizing a virus" is activated.
    This setting is NOT activated by default.
    This means: Panda Dome can delete files automatically without asking the user for permission, even if these are obviously not affected by a virus. In the worst case this can crash programs - like Finale.

    If this option is activated, Panda Dome still doesn't ask anything during the plug-in activation and the activation will work fine. It's probably a Panda Dome bug.


    Image: Panda Dome setting "Ask before neutralizing a virus" activated (=green)
    The plug-in activation does not support the Windows DOS code page 65001.

    However, it's possible to manipulate this value in your Windows systems which leads to an error during the activation of the plug-in.
    This typically occurs when the Windows Beta option 'Beta: Use Unicode UTF-8 for worldwide language support' is activated in the Windows 'Region Settings' dialog (see image below).


    Image: 'Beta: Use Unicode UTF-8 for worldwide language support' option in Windows 10 and 11
    By default, this option is deactivated. Only in this case the plug-in activation will work.

    It's a known Windows issue that, if activated, old DOS commands like the ones Perfect Layout requires do not work any more (technical explanation here).
    Please deactivate this Windows option before activating Perfect Layout.
    Note: Deactivating this option requires a Windows reboot.

    To automatically detect this problem, Perfect Layout scans the Windows registry value HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP which stores the default DOS code page value.
    The activation on Windows won't work if this value is set to 65001.

    There are two known reasons for this problem:

    a) An IP-hiding or manipulating services like "No-IP.com" or a virtual private network (VPN) change the IP address of your computer.This may lead to problems during the activation process of the plug-in.

    b) Your DOS code page settings prevent an activation.

    c) Your antivirus software blocks the activation process.

    Solutions:
    a) IP problems
    Please deactivate any VPN or IP-hiding services before running the activation process in Perfect Layout.

    b) Please read the FAQ section on DOS code page problems for a solution.

    c) Antivirus software blocking the acitvation process (e.g. BitDefender/Windows)
    If the registration dialog appears again after you seem to have successfully activated the plug-in, it's very likely that your antivirus software has blocked the activation of the plug-in in the Windows system.
    It's known that the software BitDefender can do that.

    However, this does't occur with all BitDefender installations. But we don't know yet what exactly causes this.

    Solution:
    1.) Make sure you have the latest BitDefender release.

    2.) If you have Finale 25, 26 or 27+, please use these version for the plug-in activation.
    Finale 2014/2014.5 are still 32-bit and lead to more problems in the antivirus detection.

    3.) If the problem still occurs, have a look at the BitDefender log file and add an exception to BitDefender that allows the registration command to Finale.
    Note: You have to reset your plug-in activation online, before you can activate the plug-in again.
    Otherwise you will see a message that the license key already has been activated.
    Don't forget: The online deactivation requires clicking on the link in the confirmation email that you will receive.

    4.) Should it still not work, you may have to deactivate BitDefender during the activation of the plug-in.

    Disclaimer:
    Elbsound.studio cannot confirm this issue or its solution.
    The problem didn't occur on our computers when we tested BitDefender.
    We only report what helped other users who had this problem on their computer.
    Please use these solutions at your own risk. Elbsound.studio cannot be held liable for any damages that these external solutions do to your computer.

    Unfortunately, we don't have any influence on the development of the many antivirus programs.
    Small sofware development companies with these problems are typically ignored.
    However, when a software developer looks at the code that BitDefender claims to be dangerous, he can easily see that the blocked code won't do any harm: the code just writes some values into the Windows registry.
    The blocked code starts with a PowerShell command.
    The only known case where this error message occurs is the Apple "-10673 Error" which occurs in installers from many software companies since January 2022 (see more info).Only a few macOS computers seem to have this problem. On the Elbsound computers this problem didn't occur.

    To find out if this was the problem, open the Finder and go to the /var/log folder.
    Then open the file install.log in a text editor and search for Perfect Layout at the end of the file.
    It is about 100 lines of text from the Perfect Layout installation.
    Browse to the very end of this installation block.

    Does it include an entry like "The application /Applications/Google Chrome.app cannot be opened for an unexpected reason" followed by "Code=-10673"?

    For example like this:
    ...
    2022-07-24 03:09:50-07 DREF-OFDQ-QHB package_script_service[86658]: ./postinstall: The domain/default pair of (com.elbsound.perfectlayout, InstallName) does not exist
    2022-07-24 03:09:51-07 DREF-OFDQ-QHB package_script_service[86658]: ./postinstall: The application /Applications/Google Chrome.app cannot be opened for an unexpected reason, error=Error Domain=NSOSStatusErrorDomain Code=-10673 "(null)" UserInfo={_LSLine=3863, _LSFunction=_LSOpenStuffCallLocal}
    2022-07-24 03:09:51-07 DREF-OFDQ-QHB package_script_service[86658]: Responsibility set back to self.
    ...

    If it includes the code -10673, then the problem has something to do with your default browser settings.

    To solve this:
    Open the macOS "System Preferences", go to the "General" tab.

    If your default browser is not "Safari", please change it to "Safari". Then restart your computer and run the installer again.
    If your default browser is "Safari", please change it to "Chrome" (or the other installed browser). Then change it back to "Safari". Then restart your computer and run the installer again.
    Should it still not work, change it to "Chrome", restart the computer. Then change it back to "Safari" and restart the computer. Then re-run the installer.

    Sounds like a weird solution, but it actually worked and was recommended in the "more info" link above.

    Make sure that your computer has internet access.Otherwise read the next FAQ entry: "How do I deactivate the plug-in when my computer has crashed?"

    Windows:
    Go to your Elbsound.studio/Perfect Layout folder.
    By default this is: c:\program files (x86)\elbsound.studio\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.

    MacOS:
    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


    To deactivate your plug-in when you don't have access to your computer anymore go to our homepage:
    Support->Deactivate Plug-in.


    Image A: Online deactivation of the plug-in

    Make sure you have your license key and your registered email address at hand.

    Enter this info and click on "Get Deactivation Link".
    If your product data is correct, you will receive and email with a deactivation link.
    If you click on that link and confirm it by entering your license key again, your product will automatically be deactivated in our database.

    Note 1: for security reasons the deactivation link is only valid for a few minutes.
    Note 2: This only removes the activation

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

    Solution:
    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 Elbsound.studio 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.

    Example:
    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).

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

    Note:
    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.
    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 or 11 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: Win7-KB3191566-x86.zip) or Windows 7 64-bit (File: Win7AndW2K8R2-KB3191566-x64.zip).

    The "WMF 5.1" update also requires .NET 4.5 to be installed which is usually the case.
    If not, it is available here.

    Disclaimer:
    Elbsound.studio cannot confirm this issue or its solution. We only tell what helped other users that had this problem on their computer.
    Please use these solutions at your own risk. Elbsound.studio cannot be held liable for any damages that these external solutions do to your computer.
    This error can occur on Windows systems where the WMI ("Windows Management Instrumentation") component has become corrupt or is not correctly activated.
    According to several sources on a Google search and a confirmation by a Perfect Layout user, running the "Tweaking.com - Windows Repair" tool with its component "WMI Repair" solved this issue.
    According to the Tweaking.com homepage the tool is available for free for personal use.

    More info on this (common) error message "SWbemObjectSet: Invalid class" is available for example here:
    1. "WMI Error: swbemobjectset: invalid class"
    2. "WMI Error: swbemobjectset: invalid class"

    Note: Use the Tweaking.com - Windows Repair tool at your own risk!
    Elbsound.studio is not responsible for this tool and can't guarantee that this fixes the WMI issue or that this tool is even safe and trustful.
    Elbsound.studio could not reproduce this WMI error on its own computers and thus cannot confirm this solution.
    If this error occurs after the registration dialog, it's very likely that either
    (1) your antivirus software has blocked the system registration of the plug-in.
    It's known that "Kaspersky Total Security" can trigger this error message.
    (2) Or on macOS only the "Security & Privacy->Automation" settings didn't allow Finale to access Terminal.app.
    Access must be granted to Finale to use Terminal.app, System Events and Image Events.
    It must look like in this image:


    If this error mssage has occured, you need to do the following to activate the plug-in:

    1.) Clear the failed activation in the Elbsound database via this link.
    2.) The following script will remove all invalid Perfect Layout entries from your computer.
    a.) Windows: download and run the "Remove Perfect Layout from System" tool.
        To run the script, right click on the script and click on "Run as administrator".
        If Windows doesn't allow to run the script (Dialog "Windows protected your PC"), click on "More info" and then on "Run anyway".
    b.) macOS: run the "Deactivate Perfect Layout in System" tool.
    3.) Download and run the lastest Perfect Layout installer again
    4.) Dependent on problem (1) or (2) you have to:
         (1) Deactivate your antivirus software for a short moment
         (2) or make sure your "Security & Privacy->Automation" are set up as in the image above
    5.) Start Finale and click on "ES Perfect Layout" in the Finale Plug-ins menu.
    6.) Fill out the Perfect Layout registration form and go through the plug-in activation
    7.) After the activation has been completed and you see the first user dialog of Perfect Layout, you can reactivate your antivirus software.
    The plug-in has now be correctly activated and should work fine.

    Note 1:
    The same problem can also occur when you update Perfect Layout.
    In this case you may also have to deactivate your antivirus software or add an exception.
    The exception is probably:
    a) access to the domain https://elbsound.studio
    b) allow all Finale.exe files (from each Finale version) to access the system, especially the registry.

    Note 2:
    Please use this solution at your own risk.
    Elbsound.studio cannot be held liable for any damages that deactivating the antivirus system does to your computer.
    Make sure you have not added any plug-in to the macOS sudo tool that could affect the output behaviour of sudo.
    Sudo is used for accessing the macOS system and in case of the password input, it can lead to problems when sudo plug-ins change the output.
    To check if a sudo plugin could be the problem, please disable it and try running the Perfect Layout installer or the plug-in again.
    Please contact Elbsound.studio if sudo plug-ins may be the problem and you can't disable them.

    There are three known issues:

    1. Windows Only:
    Make sure PowerShell is installed and accessible on your computer.
    It is installed in Windows by default.
    However in rare cases it's not accessible because of a corrupt system enviroment setup.

    a) Look for your folder c:\Windows\System32\WindowsPowerShell\v1.0\
    Does it exist? If so, fine.
    If not and you are on Windows 7, please read the topic I am having installation problems under Windows 7 (Error: -1756 / "No Internet Connection Available").

    b) Now check that Powershell actually works:
    Open the Windows command tool (cmd.exe) and type
    powershell $PSVersionTable
    Does it look like this:


    If so, fine.

    c) If not, please check your Windows system environment variables.
    Does the system environment variable "Path" include "C:\WINDOWS\System32\WindowsPowerShell\v1.0\"?
    If not, please add it.
    After that PowerShell should be working.

    2. Windows Only:
    Make sure the Windows tools cmd and wmic are installed and accessible.
    They are installed in Windows by default.
    However it's possible that they are not accessible because of a corrupt system enviroment setup.

    When typed into the Windows command tool, it should like this:


    If this is not the case, make sure your Windows system environment variable Path includes:
    c:\Windows
    c:\Windows\System32
    c:\Windows\System32\Wbem
    c:\Windows\System32\WindowsPowerShell\v1.0\
    c:\Program Files (x86)\nodejs


    Image: Screenshot from the German Windows (in English it's "System Environment Variables").
    Upper and lower case is not important (Windows and WINDOWS is the same).
    This image shows only the entries required for Perfect Layout.
    It's very likely that there are many more entries in your Windows setup.

    If your main Windows or Program Files (x86) folder is on another hard drive than c:, please change the drive name accordingly.

    See 1.) on how to add new environment variables (Click on "Neu" (New) in that dialog).

    3. Windows/macOS:
    Make sure that you don't have an anti-virus, firewall or internet security software that blocks the domain elbsound.studio.
    In this case the plug-in can't connect to the activation database and won't work.

    One user reported that the internet security software F-Secure/Windows had blocked the internet access from cmd.exe which the plug-in calls.
    Another user reported that the internet security software Sophos had blocked the domain elbsound.studio.
    To solve this, please add exceptions to your security software.

    4. macOS with sudo plug-ins:
    Make sure you have not added any plug-in to sudo that could affect the output behaviour of sudo.
    To check if a sudo plugin could be the problem, please disable it and try running the Perfect Layout installer or the plug-in again.
    Please contact Elbsound.studio if sudo plug-ins may be the problem and you can't disable them.

  • Perfect Layout v3: Finale® 2014, 2014.5, v25, v26, v27 for 64bit Windows 10, 11 or macOS 10.13+ - 14.x (tested until 14.6).
    Note 1: PL v3 should also work in Windows 7 and 8 when all the latest Windows updates are installed, but Elbsound.studio doesn't support that.
    Note 2: According to some users PL v2 also works in 10.11/10.12, but Elbsound.studio doesn't support that either.
  • Perfect Layout v2: Finale® 2014, 2014.5, v25, v26, v27 for 64bit Windows 7, 8, 10, 11 or macOS (tested in 10.13 - 12.6, 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.
  • Windows: 250 MB, macOS: 400 MB of free hard drive space (after installation 250 MB), 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 (PL v2.x+) and Windows (PL v3.x+): an internet connection is required during the processing of the plug-in for checking the activation
  • macOS only: You need to grant access to Finale to use the Terminal app, Image Events and System Events for activating/checking the license, downloading updates, displaying the plug-in's progress bar (optional) and finding out the number of screens for correct coordinates.
  • macOS only: The macOS standard tool "sudo" is used for some system calls. You may need to disable sudo plug-ins, if they cause problems with Perfect Layout's sudo calls.
  • Windows only: Powershell, WMIC, cmd and curl must be installed (it is installed by default on Windows unless the user has removed it manually)
  • macOS only: The macOS Bash system must be available together with the tools curl, defaults, sudo, echo and osascript. They are available in macOS by default.
  • The faster the processor speed, the faster the plug-in (see this comparison). The plug-in is single-threaded, so multiple cores do not speed up the processing.
  • Data Privacy: For the activation and license validation of the software some data will be stored on our servers. For more info read Data Privacy at Elbsound.studio and the EULA


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

    Updates/Upgrades

    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 Elbsound.studio/Perfect Layout folder (probably c:\program files (x86)\elbsound.studio\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)\elbsound.studio\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
    MacOS:
    Just run the new installer. It will update any existing installation.

    Windows:
    New updates can be installed through the maintenancetool.exe file in the Elbsound.studio folder (typically: c:\programme (x86)\Elbsound.studio\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 virustotal.com don't list a Kaspersky alert, so it may also have to do with some special user settings.

    a.) Solution for Perfect Layout version 3
    You can either avoid the update process and download and install the full installer instead, or - at your own risk - deactivate Kaspersky during the update process.

    b.) Solution for Perfect Layout version 1 and 2
    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.

    Note (Perfect Layout v1 and v2/Windows only):
    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.

    One user has reported a "false positive" alert from F-Secure while running the plug-in.
    F-Secure warned that the plug-in uses cmd.exe. As Perfect Layout requires cmd.exe, powershell.exe and node.exe for some system calls (like checking the registration, looking for installed fonts, showing the progress bar, etc.) you need to allow F-Secure to use these Windows system programs.

    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.) macOS: If you are on an M1 processor, use PL v3+ in RGP Lua in Finale 27.2 in native mode. This is currently the fastest combination on macOS and about 40% faster than in Rosetta mode.

    However it's typically still about 25% slower than on a fast Windows-PC.
    Or in other words: use a Windows computer!

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

    d.) 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 v1.x plug-in performed on the "ES Perfect Layout Demo.musx":
    The times were measured after clicking on "Ok" in the user dialog (="Processing Time" in the log file).

    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

    Windows 10, PC (from 2021, 32 GB, 4.7 GHz, i9-11900k, NVidia RTX 4070 (from 2024)):
    Finale® 2014.5 JW Lua plug-in processing time: 4,0 seconds
    (this last measurement was made with Perfect Layout v3.0219 which has much more features than v1.x, but also more speed optimizations!)

    Some notes:
    -Perfect Layout on MacOS is MUCH slower than on Windows.
    -Finale 25/MacOS is MUCH slower than Fin2014/2014.5/MacOS. Avoid Finale 25 on MacOS and use 27 instead.
    -The processing speed for Finale® 25-27/Windows is about the same.
    -The processing speed in RGP Lua and JW Lua is about the same.
    -However, RGP Lua might be a little slower, because it processes more features than JW Lua.

    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 Elbsound.studio.Only 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.

    Note:
    Batch processing with JW Lua only works with the "ES Perfect Layout" plug-in, but NOT with "ES Perfect Layout - Apply to Parts Only" which requires RGP Lua.

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

    Limitations:
    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 Terminal.app for showing the progress bar of the plug-in and activating/deactivating the plug-in, "Image Events" for detecting a multi-screen setup and "System Events" for activating/deactivating the plug-in and 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 Terminal.app 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.
    Make sure to allow at least Terminal.app as it is also required for activating/deactivating the plug-in.
    The progress bar script that is run on Terminal.app is located in /Library/Application Support/Elbsound.studio/Perfect Layout/progressbar.sh and its code is readable.

    After you have allowed this access or if you want to change this manually later, you can do so in the macOS "System Preferences" under "Security & Privacy"->"Privacy"->"Automation".
    This is how it looks for Finale 26 and Finale 27 under macOS Big Sur:

    Image 11: Finale 26/27 has been granted access to Terminal.app, System Events and Image Events

    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 and/or macOS versions before Mojave didn't have this accessibility 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

    How to reset this?

    If you have accidentally disallowed to use Terminal, SystemEvents or ImageEvents, you can either manually reactivate it by going to System Preferences->Security & Privacy->Privacy->Automation and activating the (deactivated) sub-options Terminal, SystemEvents and/or ImageEvents, so that it looks again like in the image 11 above.
    Make sure to unlock on the "Lock" symbol at the left bottom of the dialog. Otherwise you can't change these entries.

    It's also possible to remove all entries from that Security & Privacy->Automation list.
    Just open Terminal.app and enter:
    tccutil reset AppleEvents
    The next time an app requires access it will again ask you.

    There are three known issues where this can happen.

    1.) The macOS "Security & Privacy->Automation" Settings
    If you are on macOS Mojave (10.14) or higher then make sure that in the macOS "Security & Privacy->Automation" settings "System Events" is activated under your Finale app.
    The first time you ran the plug-in macOS asked if you want to allow Finale to access "System Events". If you have denied this, the plug-in won't work.
    To allow it unlock the setting by clicking on the Unlock symbol at left bottom, then check the "System Events" entry below Finale as in this image:


    2.) The Perfect Layout registration uses AppleScript.
    In rare cases there may be a conflict, for example, with very old Adobe or QuarkXpress software which messes up AppleScript on macOS.
    This does not only affect Perfect Layout, but many other standard software too.
    Two conflicts are known:

    a) The macOS standard tool osascript is not accessible at all.
    This is a very rare, but confirmed macOS issue that is, for example, mentioned and solved in these forums (Link 1 and Link 2).
    To check if this is the problem on your computer, open Terminal.app and copy&paste the next line followed by hitting "Enter":

    osascript -e 'tell application "System Events" to display dialog "Please enter a few letters." with hidden answer default answer "" with title "Test Code for Osascript" with icon 2' -e 'text returned of result'

    You should see a popup dialog that asks you to enter a few letters.
    Or, in case of the issue, you will see the error message:


    How to solve this?
    Should Terminal.app also display the following lines:

    Then you should try Apple's suggestion to type the following line into Terminal.app, hit "Enter" and restart your computer:
    chsh -s /bin/zsh

    If Perfect Layout still doesn't work, then it is probably some other software on your computer that causes this problem.
    You will find many solutions by googling this problem with this link.
    Users that reported this problem on internet forums for other software had many different solutions, so it might be a little tricky to find out what stops osascript on your computer.
    However, it's very recommended to fix this problem on your computer as it also may affect other software.
    osascript is a macOS standard tool that helps to automate many macOS system taks as it can access all kinds of system tools. It's frequently used - not only in Perfect Layout.

    b) The problem with very old Adobe files
    When you google this problem, you will find many confirmations. See for example discussions.apple.com or page 7 in Troubleshooting for Photoshop.

    The solution is to remove the (usually very old) two files:

    Adobe Unit Types.osax
    QXPScriptingAdditions.osax

    from these three folders:
    /Library/ScriptingAdditions
    ~/Library/ScriptingAdditions
    /System/Library/ScriptingAdditions

    and then restart the computer.
    Note: it's not sufficient that you rename the files in these folder. They must be removed completely from these folders.
    After that the two folders /Library/ScriptingAdditions and ~/Library/ScriptingAdditions should be empty.
    The folder /System/Library/ScriptingAdditions only includes StandardAdditions.osax and Digital Hub Scripting.osax.
    Then run the plug-in again and the "Activate" button should work now.

    Should it still not work, it's possible that you have blocked Terminal.app or Finale some time ago in System Preferences->Security & Privacy->Privacy->Automation.
    In this case have a look at the previous topic ("I get a warning message about Terminal.app/System Events/Image Events access") and search for tccutil reset AppleEvents.
    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 -> Settings -> Profiles -> (Select a Profile) -> Shell
    or: Terminal -> Preferences -> Profiles -> (Select a Profile) -> Shell     (in older macOS versions only)

    On "When the shell exits" chose "Close the window"
    and/or
    on "Ask before closing" chose "Never".
    Either selection should work.


    Hairpins

    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.

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


    Other

    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.


    Other

    It's possible to deactivate all dialogs and warning messages for batch processing.

    In Perfect Layout Gold this can be done easily through the dialog (General->Bypass...).
    In Perfect Layout Silver/Silver400 this can only be done through a trick by changing the BypassMainDialog value in the Perfect Layout settings file (JALAYOUx.ini where x can be H, G or B) from false to true.

    How do I get the user dialog back when it doesn't pop up anymore?
    Either set the option BypassMainDialog in the settings file JALAYOUx.ini to false, so that it looks like this:
    BypassMainDialog=false

    or delete the whole JALAYOUx.ini file. It will automatically recreated next time by Perfect Layout.
    Note: Deleting the file will also delete the last saved settings and return to the default settings of the plug-in.

    The JALAYOUx.ini file for Finale 27 is located in:
    Windows: c:\users\YOURUSERNAME\appdata\roaming\makemusic\finale 27
    MacOS: ~/library/application support/makemusic/finale 27

    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:
    Documentation: http://jwmusic.nu/jwplug-ins/wiki/doku.php?id=jw_lua
    Interface docs: http://www.finaletips.nu/frameworkref/annotated.php
    JW Lua Mailing List: http://jwmusic.nu/mailman/listinfo/jwlua_jwmusic.nu
    Download: https://www.finaletips.nu/index.php/download/category/28-beta-version
    Free Plug-in Scripts: https://elbsound.studio/jw-lua-scripts.php
    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 slurs.
    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 three 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.) When you use unicode letters in the Score Manager->File Info page where the text of the title, subtitle, arranger, etc. are defined, the plug-in can crash.
    For some yet unknown reason (either a problem in the Finale plug-in interface or in JW Lua/RGP Lua) Finale crashes when it reads certain unicode letters from this file info page.

    Solutions:
    a) Don't use unicode letters on Finale's File Info page.
    or
    b) Activate "General->Asian Unicode Safety Mode" in the plug-in. When activated the plug-in ignores all texts from the file info page.
    However, this b) solution means that collisions with page text elements that use the file info texts won't be detected anymore.

    As this problem originally occured with unicode characters from Chinese and Japanese fonts only, this is how it got into the dialog.
    Meanwhile there is one known scenario where this crash can also occur with a European unicode letter.

    3.) 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 or in the Windows user font folder (typically C:\Users\YOURUSERNAME\AppData\Local\Microsoft\Windows\Fonts ).

    If you have installed new fonts on your system after the installation of Perfect Layout, make sure to click the "General->Recan Now!" button in Perfect Layout that searches for all (newly) installed fonts.
    Perfect Layout only scans all fonts the very first time it is started.

    If the font is installed on your computer in one of the above mentioned two folders and has an .OTF filename extension, make sure that the tool Node.js is installed on your computer.
    By default Perfect Layout installs Node.js. However, in the Perfect Layout v1 and v2 for Windows it was possible to deactivate the installation. And in very rare cases Node.js is installed, but not accessible.
    To check if Node.js works correctly, open cmd.exe on Windows (type in CMD in the start menu)
    or in Terminal app on macOS, then type node and press Enter.
    If everything is installed correctly, you should see a "Welcome to Node.js" message.

    If it doesn't look like this, you need to re-install Node.js.
    The easiest way is to re-run the Perfect Layout installer.
    However, you can also download the Node.js installer directly from their homepage.
    Perfect Layout v2.x requires at least Node.js version 14.16.1: Download it for Windows or macOS.
    Perfect Layout v3.x requires at least Node.js version 16.17.0: Download it for Windows or macOS.
    After installing Node.js the problem should be solved.

    If the plug-in still complains that it can't generate font annotation files for an .OTF font, there is also another workaround:
    a) Generate a .TTF version of your .OTF font file with a font converter like www.onlinefontconverter.com (Make sure the font license allows the creation)
    b) Create a sub-folder "ttf-fonts" in your Finale/Font Annotation folder
    c) If you have several Finale versions installed, create a sub-folder for each Finale/Font Annotation folder
    d) Rename the font file name of the newly generated .TTF file to be eactly like the .OTF file (but keep the .TTF file extension)
    e) Copy the new ttf font file into the "ttf-fonts" folder
    f) If you have several Finale version installed, copy it into each of the "ttf-fonts" folders

    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:
    Perfect Layout Silver400 only allows 400 measures and 36 (visible) staves or linked parts.
    For processing larger documents you need the Silver or the Gold edition of the plug-in.
    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.) Check that the pages don't have page breaks which prevents measure shifting.
    Perfect Layout automatically adds page breaks to lock the page layout - in order to prevent that Finale automatically undoes the layout that Perfect Layout has created.
    To do this select the Page Layout tool, right-click on the staff system and click on "Delete Page Break" if available.
    2.) 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.
    3.) Please check Finale's Preferences->Edit and look at the reflow settings.Make sure "Reflow Systems Across Pages" is checked (for moving systems).Then set "Reflow Measures" to "Only Within Systens" or "Across Systems (Maintain System Locks)" (for moving measures).

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

    Disclaimer:
    The information about this JetStream behaviour was not confirmed by Elbsound.studio, 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 hundreds of 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.


    Perfect Layout version 3: yes!

    Perfect Layout version 1 and 2: 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".
    Our online shop is operated by the German company Digital River GmbH.
    You can download their W-8BEN-E form here.

    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.
      - Fixes invalid SmartShape flags in measures
      - 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)
      - Finale 27: SMuFl .json files are not taken into account for the symbol metrics. Perfect Layout uses the actual symbol metrics from the font file.
      - 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.
      - 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 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) cannot 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).
      - The very old Finale "Special Parts Extration" feature from the 90s is only partially supported and tested as it's usually not used nowawadays anymore.
      It's recommended to use Finale's linked parts or extracted parts instead.
      - 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 may not 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.
      - 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 from two different expression categories.
      - 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.


    • Perfect Layout v3: Finale® 2014, 2014.5, v25, v26, v27 for 64bit Windows 10, 11 or macOS 10.13+ - 14.x (tested until 14.6).
      Note 1: PL v3 should also work in Windows 7 and 8 when all the latest Windows updates are installed, but Elbsound.studio doesn't support that.
      Note 2: According to some users PL v2 also works in 10.11/10.12, but Elbsound.studio doesn't support that either.
    • Perfect Layout v2: Finale® 2014, 2014.5, v25, v26, v27 for 64bit Windows 7, 8, 10, 11 or macOS (tested in 10.13 - 12.6, 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.
    • Windows: 250 MB, macOS: 400 MB of free hard drive space (after installation 250 MB), 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 (PL v2.x+) and Windows (PL v3.x+): an internet connection is required during the processing of the plug-in for checking the activation
    • macOS only: You need to grant access to Finale to use the Terminal app, Image Events and System Events for activating/checking the license, downloading updates, displaying the plug-in's progress bar (optional) and finding out the number of screens for correct coordinates.
    • macOS only: The macOS standard tool "sudo" is used for some system calls. You may need to disable sudo plug-ins, if they cause problems with Perfect Layout's sudo calls.
    • Windows only: Powershell, WMIC, cmd and curl must be installed (it is installed by default on Windows unless the user has removed it manually)
    • macOS only: The macOS Bash system must be available together with the tools curl, defaults, sudo, echo and osascript. They are available in macOS by default.
    • The faster the processor speed, the faster the plug-in (see this comparison). The plug-in is single-threaded, so multiple cores do not speed up the processing.
    • Data Privacy: For the activation and license validation of the software some data will be stored on our servers. For more info read Data Privacy at Elbsound.studio and the EULA

    •  Perfect Layout - Version 3.0

      Overview: Perfect Layout, v3.0225, macOS/Windows

      Perfect Layout v3.0 includes more than 770 new features and improvements.
      The chronological list of changes in the sub-versions 3.0007-3.0225 is available here.

      Perfect Layout (beta) v3 is available for free testing until the official
      release of v3 to all users who have bought a license of Perfect Layout v2.
      After the official release of v3 the free beta v3 license automatically becomes invalid and Perfect Layout v2 has to be re-installed or the update for PL v3 has to be purchased.
      All clients who bought the full version of Perfect Layout v2 after 1. July 2022 are also eligible for a free update to the official v3 release.
      Clients who only have bought updates, upgrades or student versions of Perfect Layout after the 1. July 2022 are not eligible for a free update to v3.

      What is new?

      Page/Measure Layout

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

      Image 1a: Automatic Staff System Layout in Parts

      -New feature: Messed up system staves in scroll view with staff distances beyond 1.000.000 EVPU which may lead to invisibility of all notation elements and other problems are reset
      -New feature: If the last page in parts only has one (short) measure, it is moved to the previous staff when "Reflow Across Systems" is activated.
      -New option (Gold only): "Optimize->Add Double Barline Preceding Key Changes" which was activated by default in previous versions of Perfect Layout can now be deactivated (in the Silver version it's always activated).
      -Improved algorithm for shifting measures to the next/previous system: it now takes into the horizontal stretching and the number of accidentals. If there are no or only few accidental a more dense spacing is possible.
      -Improved algorithm for detecting empty pages at the end of the score (which will be deleted)
      -If the last system only has one bar, it's not shifted anymore to the previous system if it's very dense notation.
      -When the score has a single measure system on the last page, the measure will be shifted to the previous page (if there is enough space). In previous versions of Perfect Layout this feature was only activated for linked parts.
      -New Option "Systems->Shift Single Measure with Double Barline ('New Section') to Previous or Next System". It will only be shifted in parts and only if there is sufficient horizontal space after shifting (i.e. the horizontal stretch must be at least >0.95).
      To enable this feature you also need to activate "Reflow Across Systems" in Finale's preferences.

      Image 1b: Shifting a new section start to the next system in parts

      -Pages with the size of 0 height x 0 width are not taken into account for page size dimensions anymore.

      -New feature: Optimized page turns with rest bars: Perfect Layout now includes an option to find good page turns and adjust the systems and/or the measure layout that rest bars will be at the end of the page or at the beginning of the next page.This system is very powerful has many options. Details are described here.


      Image 1c: Automatic measure layout in parts with empty bars at the end of the page for easy page turns


      Image 1d: Rest priorities for good page turns

      Measure Numbers

      -Default measure number placement is now dependent on loose/tight spacing preset and number of bars
      -Improved default placement of measure numbers in some cases (especially on very wide measure numbers)
      -New feature: Measure numbers centered in the middle of the measure colliding with notation elements below the staff are shifted further down
      -New options: "Centered above Clef, Center Justified, Above Staff" and "...Below Staff" are two new options on "Alignment->Measure Number Alignment at System Start"
      -Improved placement of measure numbers below barline colliding with ties/slurs when a hairpin starts on beat 1: if the hairpin is at least 22 EVPU away from the measure number, the measure number will be shifted down. If the measure number has to be shifted very low (more than 35 EVPU), then the distance to the colliding object will be reduced by 6 EVPU. The maximum distance that the measure number will shifted down is 36 EVPU (=42-6 EVPU).
      -New option "MMRests->Show Measure Range at Start of System". If the measure range is set to be shown only on at least x bars wide multi-measure rests, then it will still always show up below multi-measure rests at the start of the systen. Activated by default.
      -New option for placement of measure numbers at system start:" Set to User-Defined Offsets"
      -Gold only: The option "Alignment->Measure Numbers->Move Left-Aligned Measure Numbers onto Barline" can now be deactivated. By default (and it Silver) the option is still activated.
      -In some cases improved measure number placement when there differrent placements between the score and linked parts
      -Improved measure number alignment at system start for the "Above/Below Clef" options
      -Improved detection of hidden measure numbers when "Clear Individual Measure Number Positions and Visibility" is deactivated
      -Improved detection of adjacent "empty" measures over multiple measures with rests and fermatas only.
      -In rare cases an error could occur if the last staff system had an invalid measure number for a non-existing following staff system. Fixed now.
      -Measure numbers more than 1000 EVPU away from the staff are ignored for vertical system/staff spacing
      -Measure numbers are now also corrected on clef collisions at system start if the standard clefs (violin, bass, alto) are not on their vertical default position.
      -In Finale 27.4 the option "Alignment->Alignment of Measure Numbers->Move Left-Aligned Measure Numbers onto Barline" is now deactivated by default as this is a new built-in feature of Finale 27.4.
      When Perfect Layout supports RGP Lua 0.69+, it will read the Finale option and activate the value again when it's deactivated in Finale.
      -The "Hide Measure Range if <= x Adjacent MM Rest Bars" is not activated anymore by default.
      -New in Finale 27.3 only: Individual horizontal and vertical placement of measure numbers in parts


      Image 2a: Individual Measure Number Alignment in Linked Parts with Finale 27.3
      This image also features improved alignment of the second accidental if there is enough horizontal space.

      -Automatic vertical offsets for measure numbers improved when the violin clef has a different height than in the Maestro font
      -If only a partial region was selected and "Show Measure Numbers on Top Staff Only Instead of on All Staves" activated, then the measure number in the non-selected area would also disappear on non-top staves.
      -"Show Measure Numbers on Top Staff Only Instead of on All Staves" is now also active when only measure numbers "on every xth bar" are used (not only on measure numbers at start of staff system).
      -On large jazz clefs improved detection if the measure numbers fit to the left of the clef or need to be put above
      -Measure numbers in the score on each measure below the bottom staff are now optimized to not collide with the notation symbols above.
      This is done consistently over the whole score: they will all get the new vertical distance.
      In the Gold edition the distance can be adjusted with the new option "Alignment->Measuren Numbers->On Collisions with Other Objects Below Bottom Staff Shift Down by" plus the value of "Alignment->Extra Collision Offset" and it can also be fully deactivated.
      In the Silver edition the distance is only handled indirectly with the "Alignment->Extra Collision Offset" value. The default distance is 19 EVPU (=14 EVPU Vert. Distance + 5 EVPU Extra Offset).
      This only affects measure numbers on a score below the bottom (!) staff.
      Note: if there is no collision because the measure numbers are already very far below the staff, then they will keep their position. They will not be shifted upwards.
      -If measure number regions are "misused" for other symbols (e.g. system dividers), these measure number regions are not set to new positions anymore.
      -If there are multiple measure number regions with a "Show Measure Ranges on MM Rests" activated, PL handles them better to not have multiple ranges in the parts. However it's not recommended to have multiple measure number regions with identical settings as this might lead to many problems.
      -Improved detection of multi-measure rest ranges when the measure number region is only defined for a few bars
      -Improved metrics of centered measure numbers on 0-line staves
      -If a measure number region uses identical position values for measure numbers at system start and for multiples, then the measure numbers at system start won't be changed anymore.
      -In some cases improved measure number placement over curved group brackets in the score
      -Improved detection of identical/similar measure number regions
      -In some cases improved placement of measure number expressions above large time signatures
      -As unlinked separate measure numbers are still not possible in JW Lua measure number shifts that affected other parts negatively were removed.
      -The option "Keep Current Position" for placement of measure numbers at system start is now more strict: extra offset for curved group brackets are not added anymore, the vertical/horizontal offsets can't be changed and "Clear Individual Measure Number Positions and Visibility" is also deactived. This ensures that measure numbers at system start should now stay at their position. The old functionality is now available under "Set to User-Defined Offsets".
      -Prefix and Suffix symbols are supported in measure number collision removal
      -Improved automatic detection of measure number placement below the staff for automatically keeping the placement below staff if this is the default setting for the parts.
      -Improved placement of wide, enclosed measure numbers at the start of the system in case of clef collisions
      -In some cases improved placement of measure numbers at system start (for example below 1-line staves with the "Drumset" clef)
      -On "extracted parts" files or scores with only one staff and no parts, the unused measure number regions that Perfect Layout generates for (linked) parts are automatically deleted.

      Lyrics

      -Two staff choir groups with only one lyrics line in the middle are moved closer together with the lyrics being in the center (similar to piano two staff groups). It only works if most of the bottom staff has no own lyrics, but shares the lyric from the top staff.
      -Improved dynamics placement above the staff on lyrics staves
      -Improved lyrics alignment when a lyrics section only has a "blank" syllable
      -In rare cases improved vertical lyrics layout (when there are two verses at the beginning of a system and the system ends with only a third verse in the last measure)
      -Improved lyrics metrics in some multi-layer and multi-verse scenarios
      -Improved recognition of lyrics syllables when the font changes to a font with spaces in the font name within the same verse
      -Improved lyrics placement on tall uppercase lyrics letters like ÜÄÖÉÈ, etc.
      -In some cases of multi-layer bars with slurs improved vertical placement of lyrics
      -In some cases improved detection of invisible lyrics (which leads to improved staff metrics and staff distances)
      -Improved closer vertical staff spacing if lyrics below staff are also intended for the staff below. The lyrics spacing follows the values for piano two-staff groups (default distance 280 EVPU).
      -In some cases lyrics improved handling of lyrics above the staff for optimization of staff distances
      -Improved lyrics metrics, if lyrics optimization is deactivated and syllables have individual offsets
      -Improved music spacing on lyrics over hidden notes
      -Improved music spacing with lyrics over hidden notes and multiple layers with repositioned notes
      -In some cases improved staff distances on (empty) lyric staves if more lyric staves follow below
      -The lyrics baseline is improved on wide ties that could would collide with the word extension line.
      -In some cases improved metrics of word extensions
      -Improved handling of word extensions in the final bar
      -Improved collision detection of word extensions on lyrics staves if the word extension has a large offset at the end
      -In some cases improved placement of hairpins below word extensions and hyphens
      -Manually repositioned notes in two staff groups with lyrics are now correctly detected from both staves. If the manual repositioning is probably correct in one staff, it will be kept in the other staff too.
      -Improved lyrics spacing in case of many font changes within a verse
      -An error message could occur in a scenario with lyrics, rests and niente hairpins in the same measure. Fixed now.
      -Fixed: In some cases an error message could occur on bracket and underscore symbols in lyrics texts.
      -Perfect Layout will now break lyrics alignment into two blocks per staff system, if there are two separated lyric phrases where one lyrics text is placed very far away from the bottom staff line and one very close.
      This is only activated if there is only one line of lyrics.
      PL Gold has three new options for this in the user dialog:
      "For Large Vertical Distances, Create Two Separate Lyrics Baselines per Staff System"
      "Min. Horizontal Distance Between Two Lyric Blocks": the default value 4096 EDUs (=4 beats).
      "Min. Vertical Distance": the default value is 67 EVPUs.
      In PL Silver/Silver400 the default values are used.

      Image 2b: Two Lyrics Baselines

      Chords

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

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

      -Fixed: If there were two chord symbols in one measure at the identical measure position, an error message could occur. However, stacking of chord symbols is not supported in Perfect Layout. If you need two chord symbols on top of each other, please do it manually.
      -If chords in linked parts are not on the vertical default position, then in some cases expressions above the chord may now get an improved placement on collisions.
      -Chords are not shifted anymore to above an expression with both the ABOVECHORDS and the EXCLUDE tag.
      -If you add ABOVECHORD to the description text of an expression or an expression category, the expression will be placed above a chord. By default all expressions (except tempo and rehearsal expressions) are placed below chord symbols.
      -The ABOVECHORD feature can also be used for creating priorities when placing two expressions at the same measure position. The tempo/rehearsal mark expressions will be placed on top, followed by the ABOVECHORD expression, followed by all other expressions.

      Image 2d: The ABOVECHORD tag

      -New option: "Keep Chords Below Staff" (activated by default). If chords are placed below a staff, they are not automatically put above the staff anymore if this is activated.
      -If an extracted part includes fretboards, then "Chords->Set Chord Alignment to 'Left'" feature is not activated by default anymore.
      -Improved chord metrics calculation on chords not attached to note entries
      -In some cases improved spacing between colliding chords
      -Chord symbols are not placed above text repeats symbols anymore.
      -Chord symbols will now be placed below centered measure numbers above the staff. Make sure to give enough vertical space below the measure numbers above the staff as they won't be shifted upwards automatically in case of collisions with chord symbols.
      -Chord symbols with fixed size fonts now have the correct metrics
      -Improved chord collision removal, especially in measures with several collisions
      -Chord placement on grouped staves where the chords are visible above the top staff, but assigned to the bottom staff could throw an error message if the chord alignment features are deactivated. Fixed now.
      -Support for invalid/corrupt chord suffix IDs (e.g. ID 0 with no root): the plug-in will not crash anymore, but ignore these suffix IDs
      -Improved chord metrics when the last element is a seven (i.e. reduced bottom width)
      -Improved chord metrics on shifted notes and on chord clusters with seconds
      -Improved detection if respacing is required in the case of only one chord per measure


      Image 2e: Example of automatic chord alignment on the line of best fit. Outliers (m.6) are not included.

      Articulations

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

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

      -Starting with v3.0135 predefined arpeggio symbols are now also supported if they don't have the "Copy Main Symbol" property activated.
      -New feature: The function "Remove Duplicate Articulations" can now be deactivated ("Reset/Hide->Remove Duplicate Articulations"). In the Gold version it's also possible to define articulations which are to be excluded from the "Remove Duplicates" function ("Reset/Hide->Keep Duplicate Articulations".
      -New option "Place Harmonics Articulations (Circles) Outside Tuplet Brackets" (Gold: on the Articulation tab/Silver: on the Tuplets tab). Use this option to define inside/outside tuplet bracket placement of the circle articulation.
      -New Feature: The articulation property "Copy Main Symbol Horizontally" is now supported which leads to improved collision detection and staff alignment for example for trill extension articulations. However it's recommended to use custom smartlines for this purpose instead. They are more flexible.
      -New option in Perfect Layout Gold: "Shift Fermatas on Bottom Staves of Two-Staff Groups Below the Staff". In Silver this is activated by default. Fermatas are only shifted below the staff in very simple scenarios (i.e. single layer, single voice, no cross staff notes).
      -The option "Artics.->Inside Slur: Offset Before Articulation Gets 'Inside Slur' Style" which auto-generates inside slur articulation if otherwise too far outside the slur will now also work in some cases in Finale 26+. In RGP Lua it will now always work, in JW Lua it will work if the articulation is set to slur interaction mode "Ignore".
      -Fingering articulations remain at their position in multi-layer scenarios where some articulations are on the wrong side
      -New sub-option "Keep Duplicate Circle Symbols from String Harmonics" in the "Reset/Hide->Remove Duplicate Articulations" section. If there are multiple string harmonic articulations, then they are kept by default.
      In the PL Gold this feature can now be deactivated/activated. In PL Silver it is always activated.
      -More tolerance when detecting two matching Ped. * articulations that are placed on slightly different vertical positions. If they are more than 20 EVPU apart, they are not kept like they are, but vertically reset when "Reset Pedal Articulations" is activated. When less than 20 EVPU apart, they will remain at their place.
      -Improved handling of several l.v. tie articulations on chords
      -When multiple layers are used, then in some cases improved placement of articulations on articulations with slur/tie collisions
      -Improved handling of jazzy "Fall" articulations
      -In rare cases an error message could occur on pedal articulations in combination with hidden staves. Fixed now.
      -In some cases the option "Place Harmonics Outside Tuplets" didn't save correctly
      -In some cases slightly improved placement of tremolo articulations on whole notes
      -Improved shifting of wiggle lines next to trill articulations when the articulations are shifted (however it's recommended to use trill smartshapes instead of articultion+wiggle lines as they are much easier to handle and to place correctly)
      -Finale 26/27: in some cases of notes below the staff and two articulations above the staff improved vertical placement of articulations
      -RGP Lua/Fin26+27: in some cases improvement placement of articulations on slur start and end notes-In some cases improved placement of breath mark comma articulations at the end of the measure (However it's recommended to use breath mark expressions instead, because they are not dependent of a note entry position)
      -Improved articulation placement in a certain two-layer/two-voice scenario
      -Improved placement of two articulations where one is set to inside slurs and one isn't
      -In some cases improved placement of articulations above ties, if the articulation has a large area below the baseline.
      -In Finale 26+ articulations that use the wrong stacking order because their IDs are in the wrong order in the Articulation Definitions dialog are kept as they are as it might be intentionally.
      -Inside slur articulations on steep slurs are now also automatically created when the note has (additionally) a tremolo articulation
      -Improved handling of piano fingering articulations (in more cases they are not moved at all)
      -The "Reset/Hide->Hide Bow Marks in the Score" feature is now more intelligent: if a score includes many bow marks (>10 per string staff), then the bow marks are automatically hidden. It includes less, then they are kept.
      -Automatic hiding of bow marks in the conductor score is now only activated by default if there are very many bow marks which probably are not required for the conductor. If there are only very few, but thus probably very important bow marks these are kept in the score.
      -Finale 26+/RGP Lua only: in rare cases improved vertical placement of articulations (when the articulation direction settings contradict the current placement and additionally the stacking feature leads to an unexpected placement)
      -To avoid collisions of articulations with lyrics and to prevent the lyrics from being shifted too far away from the notes, two new options have been added for articulation placement on lyric staves (see Gould, Behind Bars, p.434)
      Articulations->Shift Articulations on All Lyric Notes Above Staff (deactivated by default)
      Articulations->Shift Articulations on Low Lyric Notes Above Staff (activated by default)
      This option moves all articulations that could interfere with lyrics to above the staff. On the "Low Note" option you can set max. distance below the staff that is stil ok before shifting the articulation to above the staff (default value 42 EVPU).
      In PL Silver/Silver400 the default setting is always used.

      Image 4: Options for articulation placement over lyrics

      Accidentals

      -Improved accidental/note collision handling on resized staves
      -Improved accidental collision detection if straight flags are used
      -Improved horizontal collision detection between notes and accidentals on note entries with multiple accidentals
      -Improved note collision removal over multiple staves in measures with grace notes and accidentals
      -Improved metrics and collision detection on double flats and double sharps
      -JW Lua: Added a new warning message to check if 'Document Options->Accidentals->Use cross-layer accidental positioning' is activated if the horizontal alignment of multiple accidentals feature is activated. This mainly affects very old Finale documents from the 90s, as the cross-layer feature is activated by default in all new Finale templates.
      -RGP Lua: If the plug-in is run on a selected region only (and not the full document) and 'Document Options->Accidentals->Use cross-layer accidental positioning' is not activated, then the 'Alignment->Alignment of Multiple Horizontal Accidentals' feature is now deactivated. Otherwise it would be possible that duplicate accidentals on multi-layer unisons pop up. This mainly affects very old Finale documents from the 90s, as the cross-layer feature is activated by default in all new Finale templates.
      -RGP Lua: If Perfect Layout activates Finale's 'Document Options->Accidentals->Use cross-layer accidental positioning' on old documents, then Perfect Layout will remove all accidental duplicates that are generated on multi-layer unisons that only have one accidental to keep the original accidental look of the old document.
      -RGP Lua only: If "Use Cross-Layer Accidental Positioning" is not activated, Perfect Layout will now keep the congruent position of identical accidentals on multi-layer unisons.
      -Horizontal movements of multiple accidentals are not performed anymore on transposed staves with simplified keys (and "Display in Concert Pitch" deactivated) as JW Lua sometimes returns false flat/sharp values
      -Corrupt accidental modifications are now detected and ignored
      -Improved metrics on manually adjusted accidentals that use a different font than the default accidental font
      -RGP Lua only: Added one more scenario of colliding accidentals that can only be detected in RGP Lua
      -RGP Lua only: automatic activation of "Document Options->Accidentals->Use cross-layer accidental positioning" if "Alignment of Multiple Horizontal Accidentals" is activated in Perfect Layout
      -RGP Lua only: The automatic "Use Cross-Layer Accidental Positioning" option now works the same way as the manual activation in Finale (including deleting all manual accidental positionings).

      Dynamics

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

      Image 5: Before/After Perfect Layout v3.0

      -Expressions from user-defined "Expressive Text" categories are now also taken into account for vertical/horizontal alignment with dynamics
      -Improved compound f + p detection, if both dynamic expressions are on the same beat together with a hairpin
      -Improved detection of hairpin/dynamic connections if the hairpin is upon a staff line (not above or below) and both a dynamic above the staff and a dynamic below the staff follows
      -In some cases of steep diagonal hairpins improved vertical placement of surrounding dynamics
      -In some cases improved placement of dynamics that were assigned to rests before a new phrase starts in two-staff notation in the bottom staff (e.g. piano).
      -In some cases improved horizontal placement of dynamics above lyrics staves
      -Improved connection of dynamics with expressive text expressions on long notes where the EDUs distance between the dynamics and the expressive text is more than 650 EDUs.
      -Improved detection of dynamics above the staff with vertical alignment set to "Staff Reference Line"-Improved horizontal placement of dynamics on stemless staff styles. Note: Stemless staff styles can lead to a number of metric problems. If possible, avoid them.
      -If two dynamics on adjacent measure positions are followed by an expressive text (like cresc.), then in some cases the expressive text now aligns better with the second dynamics
      -Improved shifting to beat 1 of a horizontally misplaced dynamics on a full measure duration chord in the last measure
      -Improved placement of dynamics when three (!) dynamic expressions are attached to the same beat. However: To avoid ambiguities it's not recommended to attach three dynamics to the same beat.
      -Improved horizontal placement of dynamics at the end of the final bar of a system with a backwards repeat where a dynamic collides with the wings of the repeat bracket.
      -In some cases improved placement on dynamics on very low notes (if followed by expressive text expressions)
      -Piu, subito and sempre text expressions are not shifted before a dynamic anymore, if the dynamic is connected to a hairpin on the left
      -subito dynamic expressions (e.g. sub.p) that are connected to a centered whole rest are now correctly aligned at the beginning of a measure (and not at the whole rest anymore).
      -On rhythmic notation where an accent is set below the staff (instead of above), then a dynamic on the same measure position will not be moved before that (very low) note anymore, because the accent will be moved on top (if that feature is activated).
      -Improved support for ffz, ffp, fsf and fffz dynamics
      -Improved processing speed for searching dynamic expressions in a given region
      -In some cases improved placement of dynamics in MusicXML documents
      -In some cases improved horizontal placement of compound dynamics ("sub.p") on scores that have differently resized staves.
      -Improved horizontal placement of expressive text connected with dynamics ("f" + "espr.") on resized staves
      -Improved support for dynamics in the wrong category (Miscellaneous) that are assigned to flexible staves (top staff, bottom staff)
      -In some cases improved placement of dynamics on two layer unisons
      -Improved placement of dynamics before note clusters with many accidentals and very low notes
      -Imprved placement of dynamics on two-staff groups (e.g. piano) with cross staff notes that have a default placement above (!) the staff, but which are placed below the staff.
      -Improved detection of "best layer" for optimized layer assignment of dynamics in multi-layer scenarios with linked parts that only show selected layers
      -In some cases improved horizontal placement of dynamic expressions on rests before very low notes
      -In some case improved placement of dynamics and hairpins on very low notes
      -Improved individual handling of dynamics below very low notes, if the score and the linked part have different "Display in Concert Pitch" settings
      -Improved placement of dynamics on slash notation staff styles in empty measures that include only quarter rests (instead of no rests or a whole rest)
      -Improved placement of dynamic expressions on very low stemmed-down notes with tremolo articulations
      -Added one more scenario for vertical dynamics alignment on the baseline
      -Improved placement of mf dynamics on (very) low notes below upstem notes (slightly further away).
      -Improved detection of forte-piano dynamics built from two separate expressions
      -Improved detection of new phrases after at least three rests. This can lead to improved dynamics placement if they were assigned between the rests and the first note of the phrase.
      -In rare cases an expression with the EXCLUDE tag could cause an error message. Fixed now.
      -Dynamics with an EXCLUDE tag are not aligned with hairpins anymore
      -Dynamics are not moved before a note anymore if they collide with a pedal articulation below the note
      -Dynamics above the staff on beat 1 on a rest are not shifted to the end of the previous measure anymore.
      However, in most cases it's not recommended to place dynamics on rests as this can be confusing.
      -Improved (non-)detection of compound "f"+"p" ("fp") dynamics when the first dynamic is assigned to a grace note on the same beat.
      -Improved detection of compound sub./poco/più dynamic expression if the "sub." text expression is in the Dynamics expression category (instead of the Expressive Text or Technique Text category)
      -Improved vertical alignment of dynamics in a rare combination of two voices plus articulations and dynamics.
      -Improved placement of dynamics on beat 2, if the hairpin starts at the end of the previous measure and (accidentally) ends on beat 1 instead of beat 2
      -Improved detection of compound "fp" dynamics if these are created with two dynamics ("f"+"p").
      -Improved detection of automatic above/below staff placement of dynamics in some cases
      -Improved placement of dynamics above the staff before the end of the bar or before very high notes
      -Improved horizontal placement of instrument numbers (e.g. 1., 1.+2.) if a dynamic expression is on the same beat
      -In very rare scenarios of multi-layer note entries improved placement of dynamics with attached hairpins
      -In some cases improved vertical alignment of several dynamics in parts where the second hairpin is also followed by a very low hairpin. In much more cases these two dynamics are not vertically aligned anymore.
      -In somes cases improved vertical dynamics/hairpins alignment
      -In somes cases improved horizontal dynamics/hairpins alignment

      Hairpins

      -Improved placement of hairpins ending with dynamics on beat 1, if beat 1 is a long rest
      -One case of connected cresc./dim. hairpins with improved vertical alignment
      -One more cases of handling hairpins going beyond the last visible measure added
      -Finale's hairpin opening width settings are not optimized anymore when the score is only selected partially
      -One 1-line staves one more case for not creating diagonal hairpins was added
      -In some cases improved spacing for hairpins in dense measures
      -Improved collision detection for hairpins (far) above the staff on upstem notes
      -In some cases improved placement of hairpins in complex cross staff scenarios where the hairpin crosses some stems.
      -Hairpins with a width of 1 EVPU or less are not taken into account for measure widening anymore, as they probably are not used as standard hairpins.
      -Improved handling of very badly placed (corrupted?) hairpins where the start point is attached to the end of the measure and the end point is attached to a measure position beyond the duration of the measure. Still these hairpins are not handled perfectly, because the intended end point is unknown.
      -In some cases improved alignment of the hairpin start on long notes (more than 3072 EDUs)
      -In some cases improved connection of hairpins with dynamics, if the staff has several hairpins below and above the staff
      -Duplicate hairpins whose start attachment point is identical to the end point and which both have the identical start and end point are now correctly identified as "duplicate hairpins" and one of them is automatically removed.
      -Improved alignment of hairpins with dynamics when a bar only has one long note, a hairpin ending somewhere in the middle of the bar and a dynamic attached to beat 1, but visually attached to the ending of the hairpin.
      -In one case of hairpins/tie collisions on hairpins that span at least three systems improved vertical placement of the hairpin on the final system
      -If a hairpin continues on the next page, the staff on the second page has a different position, but still the hairpin has the identical vertical page position as on the first page, in some cases the vertical hairpin alignment on the second page has been improved.
      -Invalid hairpins where the start and/or end measure don't fit the measure of the SmartShapeMeasureMark are now deleted (and not made visible anymore). A warning message is issued.
      -Improved hairpin metrics in case of staff styles that hide expressions
      -In some cases of improved placement of hairpins below cross staff notes on the bottom staff of two staff groups (e.g. piano)
      -In some cases improved snapping of hairpins to dynamics if the hairpin ends on beat 1 and the dynamics is on the next beat
      -In some cases improved snapping of hairpins to dynamics if the dynamic is connected to a very long note (at least dotted whole note)
      -If only a system is selected, then hairpins from the last (unselected) measure from the previous system are not changed anymore.
      -In some cases improved hairpin placement on slur collisions where only the hairpin has a system break
      -In rare cases improved horizontal ending of hairpins at system end before barline if the next system starts with a time signature change, Finale's "Display courtesy time signature at end of staff system" is activated and the top and the bottom staff of the staff system don't have a time signature (i.e. the time signature only appears on inner staves, not on outer staves).
      -In rare cases improved horizontal ending of hairpins at system end before barline if the next system starts with a key signature change, Finale's "Display courtesy key signature at end of staff system" is activated and the top and the bottom staff of the staff system don't have a key signature change.
      -In some cases improved placement of hairpins before dynamics on very low notes
      -In one case improved placement of hairpins in very stretched measures if the hairpin ends close to the dynamics.
      -Improved connection of dynamics with hairpins where the dynamic has a large horizontal offset (compared to the attached beat position), but it is visually attached to the hairpin in the score

      Niente Hairpins

      -Improved connection of niente expressions to hairpins in one case (niente expression at end of measure, followed by a rest and a new dynamic on the next beat 1)
      -Improved connection of niente expressions with hairpin if the niente expression is at the beginning of a measure and the hairpin ends in the previous measure
      -Improved placement of niente expressions below chord clusters with notes on the opposite of the stem-In some more cases improved niente expression/hairpin connection.
      -RGP Lua only: if the document uses niente hairpin expressions, but has no expressions with enclosures, you won't see a warning message anymore as RGP Lua can create new enclosures.
      -Improved support for niente symbols from text fonts that end with a dot ("n.")

      Glissandi

      -Improved placement of two parallel glissando lines that start on the same pitch, but end on two different notes.
      -Glissando lines that were accidentally connected to two notes although they visually only refer to one note (i.e. a glissando from undetermined start note to the end note) are now better placed
      -When multiple glissando lines are attached to a chord and some of them are visually attached to the wrong note, these glissando lines are now ignored (as it is unclear what the composer wanted).
      -Glissando lines are better taken into account for staff collisions and text expression placement
      -Glissando lines with horizontal note offsets >250 EVPU on both sides are ignored for placement optimization
      -Improved processing speed on glissando optimization
      -RGP Lua only: Detection and correction of lifts and falls created with the tab slide tool that occur between two notes. The plug-in now tries to detect whether it is a glissando between two notes or a lift/fall attached to just one note. If the lift/fall is only attached to one note, it's obvious. If it is still attached to two notes (which occurs in Finale by default), the angle and placement/offsets in the score determines whether it is a lift/fall of one note or a glissando between two notes.

      Slurs

      -New option (Gold only): "Optimize Slur Settings" now has a suboption to "Optimize Slur System Break Settings".
      -New Option "Reset/Hide->Convert False Beat-Attached Slurs to Entry-Attached":
      Especially in old Finale documents slurs are sometimes beat-attached instead of entry-attached, but still have the entry attributed activated.
      This leads to some problems and these slurs usually don't look as good as the standard engraver slurs.
      With this option activated the slurs are attached to the closest notes. If there is no close note (>= 256 EDUs away) or if there are notes in multiple layers, then it won't be changed.
      This feature is activated by default, but only enabled if also "Reset Manual Slur Adjustments" is activated.
      -RGP Lua/Finale 27 only: When most of the "Smart Shape Placement" settings are still set to 0,0, Perfect Layout initializes the slur placement settings with Finale's default settings. However, for whatever reason this does not work with very old files created with Finale v1.x or v2.x.
      -When "Optimize Slur Settings" was deactivated, then "Optimize Slur System Break Settings" was still activated on the next plug-in start. Fixed now.
      -In some cases improved slur metrics on system breaks and with custom slur offsets. Typically this is not relevant with the default settings of Perfect Layout, but only when "Reset/Hide->Reset Manual Slur Adjustments" is deactivated or on special slurs where custom offsets are not automatically reset (e.g. slurs across staves).
      -Manual break offsets on slurs that span multiple systems and that at least have two bars in between on the second system are not removed anymore.
      -Improved support for detecting collisions on slurs that start and end on cross-staff notes
      -Automatically repairs slur playback problems because of a missing smartshape flag
      -In some cases improved metrics on some slurs with a system break, on flipped slurs with direction set to "Over"
      -Finale 26/27: in some cases improved metrics on slurs with articulations on the inner notes
      -Slur to tie conversion now also takes place when both notes have the same pitch, but one has the enharmonic flip bit set to "not flip".
      -Hidden slurs remain hidden even if "Reset Manual Slur Adjustments" is activated
      -Improved handling of (misused) slurs as laissez vibrer ties or articulations
      -Slightly improved slur metrics in some cases of slurs with no ending note
      -Improved slur metrics if the start or end note has two articulations where one has the "inside slur" and the other one the "auto inside/outside" flag set, but still are both placed outside the slur.
      -Improved metrics on inverted backwards oriented slurs
      -Improved slur metrics on end notes of slurs that have several "Inside Slurs" articulations
      -Improved slur metrics if the start or end note have two articulations where one is set to inside slurs and one isn't

      Other Smartshapes

      -Dashed or solid lines that are visually connected to expressions can now be aligned horizontally with them (but not vertically!). The horizontal distance can be set with the new option "Align Expressions with SmartShape Lines Horizontally. Distance: x EVPU". In PL Gold this option is on the "SmartShapes" tab, in PL Silver it's on "Alignment".
      -Ottava smartshapes that start on a rest are not horizontally aligned anymore, but kept at their starting position
      -In some cases improved vertical and/or horizontal placement of ottava shapes
      -Custom smartshapes after the final barline that are used for visual effects are kept as they are
      -Custom lines far away from the staff (left and right offset >500 EVPU) are ignored for staff spacing
      -Improved collision detection on custom lines and trill smartshapes far above the staff
      -Custom lines with an empty space symbol for as line character are ignored for spacing on the inner staves if they span at least three staves and thus the inner staves don't have any line or text symbol from this custom line.
      -Improved support for corrupted smartshapes (removed an error message that could occur in rare cases)
      -When SmartShapes with line style "Character" are used in the score (e.g. trill extension), PL now makes sure that the SmartShape is not shortened so that it becomes invisible: at least a "one character width" is now achieved.
      -Improved horizontal placement of custom lines above the staff at the end of a measure
      -In some cases improved metrics and collision detection when custom lines are used for glissandi. However, it's recommended to use the Glissando or Tab Slide tool instead which attaches the glissando to noteheads (instead of beats).
      -On smartshapes that span at least three systems and two pages in some cases a rehearsal mark/tempo mark/tempo alteration expression could be placed at the wrong vertical position. Fixed now.
      -Improved placements of the ottava symbols 0xe510, 0xe511, 0xe514 and 0xe515 from the font "Finale Maestro" in Finale 27 (in other Finale versions it already worked fine)
      -Improved handling of smartshapes that internally end beyond the last visible measure
      -Improved internal handling of invalid smartshapes that end after the final measure
      -Improved metrics of "dashed/solid line up/down" smartshapes that are set to "Make Horizontal"
      -On corrupt documents with invisible custom smart lines in rare cases an error message could occur when the invisible smart line ended in a deleted measure beyond the current last measure. Fixed now.
      -Custom smart lines that are directly on the staff lines (and not above) don't get a barline offset anymore when colliding with the right bar line.
      -Improved placement of custom smart lines below the staff at the right barline
      -Gold (only): The distance of smartshapes above the staff (i.e. trills, ottava lines) can now be set on the new "SmartShapes" tab. Three distances are available: distance to top staff line (default: 25 EVPU), distance to top staff line on 1-line staves (58 EVPU), distance to top note symbol (23 EVPU). These settings were already used in previous versions, but were not adjustable.

      Ties

      -If "Optimize Tie Settings" is activated, the tie settings are now only updated if the full document is processed.
      -Cross-staff notes are not retied over the middle of a bar if this will break a complex beam structure.
      -Improved tie/articulation collision detection of whole notes on a rhythmic notation staff style when there is also a hidden note above the staff
      -Improved tie metrics on ties starting on grace notes
      -Improved tie metrics on downstemmed bottom notes
      -Improved metrics on some ties on the 3. line on a 5-line system
      -Improved detection of tie collisions with expressions, hairpins and articulations on grace notes
      -Improved metrics on ties close to the staff
      -RGP Lua: improved metrics on some modified ties (still not all modified ties are fully supported)
      -RGP Lua: improved metrics on flipped ties with the "Flip tie" attribute
      -The "Laissez Vibrer" feature now also supports string and plucked string instruments from the non-Western instrument collections. I.e. the plug-in doesn't remove open l.v. ties from these instruments anymore.
      -In some cases improved detection of (falsely) hidden accidentals through wrong "Tie End" flags
      -Improved handling of "Tie End" flags where the previous tied note is on a different layer
      -Improved handling of "Tie End" flags where the previous measure has a backward repeat or a slash/repeat/blank notation staff style
      -New feature: If the "Tie End" flag is not set on the first beat of a (second or higher) repeat ending, then it will be set automatically if the last note in the last measure before the first repeat ending is tied (see image below).

      Image 6: Tie End Flags

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

      Image 7: Re-tie Note Options

      Clefs

      -Improved collision detection on clefs that don't use the default clef font
      -When only one staff in one system is selected, then the previous measure could be affected in music spacing if the selected system started a clef change - although it was a outside the selected region. Fixed now.
      -RGP Lua only: The processing speed was improved on huge orchestra scores (>500 measures with many staves) by using the "Change to Default/Whole Rests" plug-in instead of using a Lua function. It is required for detecting all clef changes.
      -Improved violin clef metrics when the previous staff system ends with a double or final barline.
      -Clef changes at the end of a bar before an empty bar remain at that position and are not moved to before the bar where the notes start
      -Much faster startup process of the plug-in (=faster clef detection), especially on macOS and on large files with more than 1000 measures
      -In some cases of mid-measure clef changes an extra clef before a hidden cue note section is now hidden
      -Extra clef changes on empty measures within a cue note section that spans several measures (including empty measures) are now hidden

      Piano/Organ Notation

      -Perfect Layout Gold only: New option "Center if Also Dynamics on Bottom Staff" as sub-option of "Center Dynamics and Hairpins Between Two-Staff Groups". If there are dynamics below top staff and below bottom staff on a piano two-staff group, then the top dynamic will not be centered between top and bottom staff anymore, but attached to the top note. On Silver this is deactivated by default.
      -In dense piano parts improved placement of dynamics on beat 1 after hairpins in the previous measure
      -In some cases improved hairpin start on two staff groups (e.g. piano)
      -In 3-staff groups (e.g. organ) improved assignment of dynamics to the correct staff (below top staff instead of above middle staff)
      -Improved centering of dynamics between two staves on piano notation in parts
      -Improved vertically centered placement of compound dynamics with expressive text in piano (two staff) notation (e.g. "piu" + "ff")
      -Improved placement of dynamics/hairpins centered between two piano staves in case of a technique text expression below the dynamics.
      -Improved placement of dynamics/hairpins centered between two piano staves very low placed beamed rests (with "Extend Beams over Rests" activated)


      Image 8: Examples of Optimized Piano Notation with Perfect Layout v3

      -Dynamics on beat 1 assigned to the bottom staff in two staff groups (piano notation) where the top staff only includes a whole rest are now assigned to a new layer in the top staff. Otherwise they would appear centered below the whole rest in the middle of the bar.
      -Improved text expression placement on piano (two staff) groups with a whole note in one hand and several notes in the other hand.
      -Improved placement of dynamic expressions on very low notes in two staff groups (e.g. piano notation), if the bottom staff is empty.
      -Measure counting expressions are not added on bottom staves of two staff groups (e.g. piano) anymore
      -Automatic removal of hairpin on empty measures now also works on 2-staff piano groups

      Page Texts

      -New Feature: Hidden measure-attached texts are now supported in JW Lua and RGP Lua
      -New feature: The bottom margin on the first page is automatically adjusted if otherwise text elements (e.g. copyright text) would collide after stretching the system(s) on the first page to the page margin (Option "Systems->Auto-Adjust Bottom Margin for Colliding Page Texts on Bottom of First Page")
      -Improved detection of copyright texts and automatic page margin adjustment on single page scores.
      -Improved bottom page text element detection on the first page in parts and adjusting of the page bottom margin, if the systems neither have a "Bottom Margin" nor a "Distance Between Systems" value greater than 0.
      -Better detection of text elements assigned to a page (not to a measure) that are used as movement names
      -Improved detection of movement names as page texts: page texts with font size<12 are ignored now
      -Improved detection of movement starts when the score includes several movements, both with text expressions and page texts as movement title names.
      -Improved handling of colliding copyright page text at the bottom of the first page when "Expand Horizontally" is deactivated for that text block
      -System dividers in the score were already hidden in the linked parts in previous versions. Now they are also shifted away from the visible page area to make them even less disturbing in the parts.
      -On detected movement names as page texts, PL now automatically sets the "Begin a New Staff System" attribute, so that the the start measure of the new movement always remains at the beginning of the measure, even if "Reflow Measures Across Systems" is activated.
      -Improved measure layout optimization if the document includes several movements separated by page texts
      -All four system divider symbols from SMuFL fonts are now detected correctly (0xE007 - 0xE00A).
      -Improved detection of movement title page texts when they overlap with the staff system
      -Improved placement of system dividers (slightly higher)
      -Improved recognition of text elements on the first page that are actually invisible (far outside the page)
      -System dividers (as page text elements) in the score are now handled correctly if they are not not hidden in parts, but appear on hidden pages from a part which turn to visible pages through the plug-in processing and system respacing.
      -Support for system dividers with different font sizes on each page: if each page has a different page scaling and uses system dividers with different font sizes, these system dividers now keep their original font size. However for a good score look it's usually not recommended to use a different page scaling and differently sized system dividers on each page.
      -Measure texts in the middle of a score with a very high vertical offset (>200 EVPU) are only taken into account for vertical spacing, if the vertical offset minus the text height is below 200 EVPU.
      -Small measure texts above the first measure that actually should be page texts are ignored in vertical system spacing (e.g. composer names)
      -Metric calculation of page texts attached to measures now supports borders and the "Expand Horizontally"/"Expand Vertically" feature.

      Tempo/Rehearsal Mark Expressions

      -In rare cases improved vertical placement of above staff text expressions (especially over chords)
      -In some cases improved placement of tempo text expressions over hidden bow marks in the score.
      -Tempo/rehearsal mark expressions on hidden staves that are visible in the score on the staff below (for whatever reason) are now taken correctly into account for staff spacing and alignment
      -Improved placement of rehearsal marks in case of multiple collisions with stems, articulations and other expressions.
      -Improved placement of rehearsal marks when Document Options->Key Signatures->Cancel Outgoing Key Signature->When switching between sharps and flats is deactivated
      -Improved metrics of enclosed rehearsal marks with thick lines
      -If tempo/rehearsal marks have very different horizontal offsets in score and parts, then in some cases they will now have improved placement in the parts.
      -In some case improved placement of rehearsal marks when an "above the staff" articulation is attached to the previous measure, but placed after the next barline.
      -Improved (non-)detection of rehearsal mark-like expressions that have huge horizontal or verticals offsets above 500 EVPU
      -Improved alignment of tempo marks and alterations on bars with one (long) note only where the tempo marks goes slightly beyond the next barline and either collides with another expression or is on the last bar of that system.
      -Improved placement of rehearsal marks over barlines on tied upstem notes that cross the barline
      -Improved vertical placement of two tempo/rehearsal mark text expressions in some cases
      -Improved metrics on rehearsal marks when the rehearsal marks placement is set to "Keep position"
      -Improved metrics and collision removal on enclosed expressions that includes tempo definitions with upstem notes
      -Improved placement of rehearsal letters over fixed size measure numbers on individually resized staves
      -In some cases improved placement of rehearsal marks on collisions above the staff (shifted slighty to the left instead of further above).
      -Improved detection of rehearsal mark expressions in case of combined rehearsal mark plus tempo mark text expressions.
      -In rare cases improved placement of tempo/rehearsal marks on slur collisions with the previous measure.
      -In some cases improved horizontal placement of rehearsal/tempo expressions on beat 1 if the note has a slur from the previous measure
      -In some cases improved of vertical placement of reh./tempo mark expressions if there are at least two expressions on that beat
      -In some cases improved spacing of tempo marks, if there are at least four text expression above the staff (one rehearsal mark, one tempo expression and two other expressions)
      -In some cases improved placement of rehearsal mark letters after an ending bracket instead of above
      -In some case improved alignment of rehearsal marks with tempo marks when the alignment option "Per System (On the Line of Best Fit)" (Don't Skip Rehearsal Marks) is selected and some other tempo marks on that system absolutely don't fit on that line.
      -Improved collision removal in some cases of four expressions on one beat (one rehearsal letter, two tempo or rehearsal texts, one technique text expression above the staff)
      -Improved detection of tempo alteration expressions visually connected with dashed smartshape lines.
      -Improved detection of duplicate identical expressions on the top staff when one expression is assigned both to score and part, and one expression to score only.
      -Improved detection of tempo mark expressions with notes made of grace note symbols
      -Improved detection of rehearsal mark with repeat bracket collisions on the top staff when "Ending & Text Repeats" is deactivated in the staff attributes dialog, but the repeat bracket is set to "Top Staff" only
      -If "Alignment->Place Rehearsal Marks at Start of System" is set to "Keep Current Position", then the rehearsal marks will stay at their position even if they get horizontally very close to measure numbers.
      -Improved collision elimination on rehearsal marks with repeat brackets
      -Duplicate tempo/reh. expressions are not only detected and removed on the top staff, but also on other staves.
      -Support for rehearsal marks of the format number + . (optional) + letter (e.g. "17.a").
      -In some cases improved placement of rehearsal marks on collisions with text repeat symbols
      -Faster sorting of vertical text expression order
      -In some cases improved measure width on wide tempo/rehearsal marks above the staff that go past the barline when the next bar starts with an expressive text expression on beat 1
      -In corrupt documents (invalid staff IDs with values above 15000) in rare cases tempo/rehearsal expressions with a staff list would be hidden in parts. Fixed now.
      -Wide text expressions on beat 1 that collide with a rehearsal mark in the next measure now also widen the measure if their expression category name is user-defined, but the expression definition is set to break multi-measure rests.
      -In some cases rehearsal marks at the beginning of a system which starts with an over slur from the previous system get an improved vertical position
      -Improved placement of rehearsal marks between two chord symbols
      -Improved vertical placement of multiple reh./tempo mark, alteration expression above the staff if they are all from different categories, but have the identical font size and style.
      -Rehearsal/tempo mark expressions with chord symbols in the same measure, but without collisions are placed vertically better in some cases
      -Improved placement of rehearsal marks over the barline that have a very low horizontal offset(below -200 EVPU)
      -Improved vertical placement of multiple text expressions on the same measure position
      -Improved placement of text expressions above barlines in certain scenarios of multi-measure rests with ranges
      -Fixed: In very rare cases an error could occur when deciphering page text elements (this only occured once in an old score from Finale 2001 which also had other problems).

      Technique Text Expressions

      -Improved vertical placement of opaque Technique Text expressions
      -Short standard Technique Text expressions like pizz., arco, div., a2, etc. on very high notes are now put close to the staff before the note if there are only rests before that note and if the expression otherwise would have a very high offset (image 8).

      Image 9: Option "Shift Expressions From Above to Before Note if Otherwise High Vertical Offset"
      -Text expressions that collide slightly with the left barline are moved to the right (like already on right barline collisions to the left)
      -Improved handling of barline collisions with technique text expressions
      -Improved horizontal alignment of dynamics followed by a technique/expressive text expressions when the technique/expressive text expressions starts at the exact horizontal position as the dynamics. It's not necessary anymore to be place them slightly to the right.
      -In one case improved placement of Technique Text expressions on collision with a note with a flat accidental (no movement to the right, only downwards)
      -Technique Text expressions that collide only collide a little bit with the barline or that are very short (4 letters) are now shifted before the barline if the barline collision feature is activated
      -In some cases improved horizontal placement of Technique Text expressions on beat 1
      -In some cases improved vertical alignment of Technique Text expressions before dynamics
      -Improved collision handling on Technique Text expressions that collide with multi-measure rest numbers
      -Two technique text expressions from the same category and with the same text style that are placed above the staff and at the same measure position are now correctly aligned on top of each other, if they were colliding.
      If they were already separated, then the top expression will remain on top. If they were overlapping, then the expression with the smaller expression ID will be put on top.
      This feature will only be activated if there are no chords in that measure.
      -"Express.->Vertical Offset to Closest Symbol" is not cut off at 50 EVPU anymore. The new max. value is 300 EVPU.
      -In one case the option "Express.->Max. Vertical Snap Distance" was grayed out though it had to be enabled. Fixed now.
      -New expression tags "DONOTRAISE" and "DONOTLOWER" for text only expressions that are affected by the "Snap Text Expressions to Symbols" feature. This feature prevents a placement too close to the staff while at the same it allows movement away from the staff in case of collisions.
      If the description text of the expression includes any of these tags, the expression will not be moved closer to the staff than the default settings of the expression allow. I.e. the expression is "stopped" at its baseline. "DONOTLOWER" is for expressions above the staff, "DONOTRAISE" for expressions below the staff.

      Measure Counting Expressions

      -New option "Restart Measure Counting on Time Signature Changes" added to the measure counting options (activated by default).
      -Improved vertical placement of measure counting expressions of slash staff styles on 1-line staves.
      -When only single measures or tiny regions were selected and slash or repeat staff styles were applied to large regions, then the measure counting feature is turned off to avoid wrong counting.
      -If a one-bar staff style follows directly after a slash staff style (not good practice), then only one measure counting expression will be added (not two).
      -Improved placement of measure counting expressions on drum set/percussion staves even if the notes are far above the staff
      -Improved placement of measure counting expressions on collisions with repeat text (e.g. D.S. al Coda)

      Other Expressions

      -New option "Shift Expressions on Right Barline Collisions to the Left (If Enough Space and Only Rests Before)" (in Silver on the Alignment tab, in Gold on the Expressions tab). Technique text and other (non-tempo/rehearsal mark) expressions that are taken into account for vertical correction (i.e. "Snap Expressions to Symbols" activated) are shifted to the left if they would otherwise collide with the right barline. This is only done when there is sufficient space to the left and when there are only rests before the note where the expression is attached.
      -G.P. text expressions ("Generalpause") are now included in collision detection and shifted upwards, if necessary
      -Better placement of below staff expressions that collide with measure number ranges on multi-measure rests that are far below staff (more than 50 EVPU below the lowest the staffline)
      -In some cases improved placement of Expressive Text expressions in old Finale documents that use "Vertical Click Position" alignment
      -Improved detection of multiple line expressions on expressions with hidden text
      -Improved checking of expressions that are "Scaled with the Attached Entry" to avoid slightly moving an expression to a beat where the scaling changes.
      -Expression category names of the Spanish Finale version are now correctly detected
      -In some cases improved collision removal on expressive text on the same beat with dynamics that also collide with accidentals.
      -Support for the expression category names in the new French edition of Finale 27.3
      -More fine-tuned 5-staff line symbols for clef changes one a 1-line staff before a 5-line staff
      -Improved detection of multi-word "molto" expressive texts below hairpins (e.g. "molto cresc.")
      -Improved detection of linked expressions in score/linked parts when the expression is horizontally aligned to start or end of measure and the measure position is set to a value not equal to 0.
      -Fermata expressions near rests (<120 EDU) are now also recognized for rest optimization. Especially in very old Finale documents where expressions didn't snap to notes, the fermata expressions were not correctly detected. However, usually it is recommended to use fermata articulations above notes and rests. Fermata expressions, for example, should be used above barlines or if unrelated to notes.
      -Duplicate expressions are now detected where one expression is assigned to all layers and one to a single layer, but only one layer exists in that bar. In this case the single layer assigned expression is removed if all other attributes are also identical.
      -Improved handling of invalid/corrupt text expressions
      -Corrupt expressions with negative IDs are automatically deleted
      -Corrupt (=empty) expression definitions are cleared and replaced with a valid expression with no text
      In Gold the distance to the barline is adjustable with the option "Expression to Barline Distance".
      By default and in Silver the barline distance is set to 16 EVPU.

      Image 10: Option "Shift Expressions on Right Barline Collisions to the Left"
      -If hidden/corrupt expression definitions are found, a warning message is shown. This can occur especially in old Finale documents that have gone through several different versions of Finale. It might be possible to fix this by running the "Delete Corrupt Expression Definitions" lua script before Perfect Layout. (Available from https://elbsound.studio/download.php?f=DeleteCorruptExpressionDefinitions.lua )
      -Improved handling of expressions in parts that are far, far away from their (0,0) original attachment point (like 1000 EVPU to the right and 500 EVPU to the top). These are kept where they are.
      -Improved vertical/horizontal placement of bracket-only expressions (expressions that only have bracket symbols with space in between) that include another expression in its middle.
      -Additional "5 staff line"-expressions for clef changes on 1-line staves at system end are not added anymore if the "Display Courtesy Clef at End of Staff System" option is deactivated.
      -Invalid expressions with a negative ID don't throw an error message anymore, but are deleted.
      -Pedal expressions that collide with dynamics are now shifted below them if there are no other pedal expressions/articulations in that measure
      -Resorted text expression creation in the code to reduce number of text expression definition accesses to make the code slightly faster
      -Expressive text above the staff next to dynamics will vertically align better in some cases
      -Expressive texts that have a tiny overlap with hairpins are not shifted below anymore, but only horizontally
      -Improved metrics calculation on unicode characters from the "nonspacing mark" category (https://www.compart.com/en/unicode/category/Mn)

      Cues

      -Improved cue text expression placement on two staff piano notation if the top staff is empty.
      -Cue texts on highpitched stem-up notes above the staff don't collide anymore with the note
      -On cue note sections that include empty bars and clef changes in the score, the unnecessary clefs in the empty bars are now also hidden by default.
      -In some cases improved direction of cue note stems
      -If the "Force Hidden Rests On Layer 1 On Cue Notes" feature (added in v3.0203) is activated, then ties on cue notes are no longer flipped.
      -Improved Test File 11: the demo file now includes demos for all new cue note features.
      -Extra clef changes in the very last measure of the piece are now correctly hidden when this measure only contains cue notes in the score
      -Cue notes on slash/rhythmic and repeat notation are not taken into account anymore for automatic detection of cue note layers and removal of cue notes in the score
      -Improved (non-)detection of the cue note layer when small sized notes are not used as cue notes, but for other purposes
      -On cue note sections that include clef changes and transposed instruments, the key signature will not change to the score key signature during these empty bars (in the score) anymore. The original transposed instrument key signature will remain visible during these empty bars in the score.
      -When hiding notes in cue note measures in score the "Display Empty Rests" attribute in that bar will remain the same as before.
      -When hiding notes in cue note pick up measures in the score, rests in non-cue layers will remain.
      -New warning log message when a cue note measure in the score includes no rest on the "normal" layer and it's a (short) pickup measure where "Display Rests in Empty Bars" makes no sense
      -Slightly improved settings of the "Hide Cue Notes in Score" staff style
      -Added a new hidden option "ForceHiddenRestsOnLayer1OnCueNotes" which can be set to true or false directly in the Perfect Layout settings file (in the Finale user folder JALAYOUx.ini where the letter x can be "G", "B" or "H"). It hides layer 1 in cue note measures in parts.

      Tuplets

      -New feature: Tuplet collisions with accidentals are now detected and fixed
      -New default setting for the "Put Tuplet Numbers on Notes Far Above the Staff on Top (And Vice Versa) and Add Brackets": it will add brackets if there are at least 3 ledger lines and the tuplet is not surrounded by small steps.
      The feature has also been fine-tuned a little bit more. It now looks even more at the surrounding notes to decide whether tuplet brackets are to be added or not.
      -On multiple nested tuplets the tuplet brackets of all nested tuplets are now placed on the opposite side.
      -In some cases improved placement of split nested tuplets
      -Improved tuplet placement on many mixed up-/downstem tuplets
      -Collision support for several tuplets nested in one large tuplet (e.g. three 16th note triplets in an 8th note triplet)
      -Tuplet brackets are not put on the other side on very high/low notes if these include ties or slurs (in previous versions it was only slurs)
      -On lyrics measures with multiple layers tuplet brackets are not put on top of a note
      -In some cases of tuplets on note clusters improved tuplet metrics
      -In some cases improved tuplet metrics on cross staff tuplets and tuplets where the inner tuplet notes have influence on the bracket placement
      -In some cases improved tuplet metrics on tuplets that end at the barline and which have the "Bracket Full Duration" option activated.
      -Finale's tuplet default settings are not optimized anymore when the score is only selected partially
      -In some cases improved placement of tuplets in linked parts (if they had certain different settings between score and parts, and the default settings were set to "Always Flat")
      -In some cases improved tuplet number placement on tuplets with "Center number using duration" activated
      -In some cases improved placement of "outside tuplet" articulations, if the tuplet also includes "inside tuplet" articulations
      -Improved calculation of tuplet brackets below notes in some cases
      -Improved metrics on tuplets using the "Full Bracket Duration" option
      -Improved metrics on some tuplets with the "Always Flat" option where the first note is unbeamed
      -Improved detection of tuplet bracket collisions with ties
      -Improved decision of whether tuplet brackets are required for the case of notes where the duration was slightly changed manually (for playback purposes) and where the duration doesn't match its actual note length. Accetable is note duration deviation of 30 EDUs
      -Improved metrics of some tuplets that include whole notes
      -Tuplets that start with a rest and only include whole notes are now placed on the correct side (fixes a Finale bug)

      -Mixed up-/downstem tuplets are now handled more precisely. Finale's default placement of these tuplets is very often poor.
      These tuplets can now get the "Always Flat" attribute and will be placed on the proper side according to Gould in "Behind Bars" on page 198. It takes into account the number of collisions with slurs, articulations, dynamics and hairpins and finds the best placement, preferably on stem-side and/or above the staff.
      For this feature the Gold edition of Perfect Layout gets three new options:
      "Tuplets->Flip Mixed Up-/Downstem Tuplets, if Necessary" (activated by default)
      "Tuplets->On Dynamics or Hairpins Always Shift Above the Staff" (deactivated by default)
      "Tuplets->Flatten Mixed Stem Tuplets" (activated by default).

      Image 9a: Option: Flip Mixed Up-/Downstem Tuplets, if Necessary


      Image 9b: Option: On Dynamics or Hairpins Always Shift Above the Staff


      Image 9c: Option: Flatten Mixed Stem Tuplets

      -Tuplet collisions with accidentals are now detected and fixed (v3.0187):

      -In some cases improved placement of tuplet brackets over tied notes
      -Tuplet brackets on slash notation are now set unvisible when the tuplet notes are hidden behind the slashes

      Multi-Measure Rests

      -PL Gold only: New option "Multi-measure Rests->Allow Hidden Expressions to Break Multi-Measure Rests". When activated hidden expression with the "Break Multi-measure Rest" attribute activated, will break multi-measure rests. This feature is deactivated by default.
      However, it's still possible to break multi-measure rests with visible expressions that use the "hidden" text style. This feature also works in PL Silver/Silver400.
      -Multi-measure rest numbers from SMuFl fonts now have the correct vertical metrics.
      -In some cases of new multi-measure rest creation improved measure metrics
      -If only some measures were selected in a part which included a multi-measure rest with a dynamic expression (!) at the end of the system, then in some cases the dynamic used to be shifted to the start of the system. Fixed now.
      -Multi-measure rests are not created automatically anymore on aleatoric measures: these are detected if "Display Rests in Empty Measures" is activated on the staff, but deactivated on the current staff style.
      -Improved handling of "single measure multi-measure rests" when "Start Numbering At" is set to 1.
      -PL now breaks multi-measure rests on collapsed or cutaway measures. This is a different behaviour than Finale's own multi-measure creating algorithm. But it makes more sense and is more what the composer would expect.
      -If the only symbols of a measure are a hidden rest and a custom smart line, then the measure will not be consided for multi-measure rest creation anymore.
      -Under a multi-measure rest with hidden expressions and non-hidden expressions both hidden under a blank notation staff style with invisible notes in parts in some cases PL used to break the multi-measure rest. Now it is kept as a multi-measure rest.
      -Under the contradictory situation that a linked part didn't have multi-measure rests yet, but multi-measure rest creation was activated in PL, while at the same time "Only With Systems" was activated in the Finale "Measure Reflow" settings, an error message could occur under certain multi-measure rest scenarios. Fixed now.
      -Clef/multi-measure rest collisions are now also handled when the multi-measure has a width of x measures where x = the value "Use Symbols for Rests Less Than x Measures". In previous versions it was only handled if the mm rests had a width of x+1 measures.
      -The "MMRests->Set Repeat Staff Style Measure Width to" value is now correctly updated when changing the measurement unit.
      -Improved detection of cue notes under invalid multi-measure rests in parts. If detected, the multi-measure rests will be removed.
      -Slightly improved metrics on the measure number ranges below multi-measure rests
      -If "Create MM Rests in Parts" is deactivated and a linked part has corrupted multi-measure rests that spans several staff systems (e.g. multi-measure rests there were not updated and include the wrong measures), then these multi-measure rests will be at least partially fixed. Otherwise it would lead to many other problems.
      -Improved handling of multi-measure rests, if "Create MM Rests in Parts" is deactivated and a linked part has corrupted multi-measure rests that spans a full staff system
      -Gold only: New suboption "MMRests->Allow Reflow Across Pages". When automatic measure reflow on multi-measure rest (re-)creation is activated, this new option let's you decide whether the measures will reflow across pages when "Finale->Preferences->Edit->Reflow Across Pages" is deactivated.
      In previous versions this was always activated. It's still activated by default and in the Silver edition.

      Repeats

      -New feature: Vertical alignment of first and second ending brackets is finally available in Perfect Layout.
      You will find this new feature under "Groups/Repeats->Repeats->Align Ending Repeat Brackets Vertically".
      With the first release of this feature all notation elements will be put under the ending bracket, except tempo and rehearsal mark expressions.
      Current Limitations:
      The feature currently only works in scores with just one repeat bracket per measure (e.g. not one bracket above the score and one bracket somewhere in the middle of the staves). Also the property "Allow Individual Edits per Staff" must be deactivated for the repeat element.
      However, ending brackets in linked parts are already supported.
      At the moment the feature has six options:
      1. "Align Ending Repeat Brackets Vertically": (de-)activates the feature
      2. "Reset Ending Brackets to Default Height": If deactivated and a bracket was manually set to a high offset, it will remain there. I.e. it will only be shifted upwards on collisions, but never shifted downwards. If activated, the plug-in will always first reset the brackets to the default distances and increase the distance on collisions.
      3. Gold only: "Additionally Reduce Default Height On 1-Line Staves": on 1-line staves the height of the ending repeat can be reduced which usually looks better (default reduction: 20 EVPU)
      4. Gold only: "Reset Ending Text Position": if activated, the ending text position will first be reset to the default position and shifted upwards in case of collisions. Deactivated by default and in Silver.
      5. Gold only: "Vertically Align All Adjacent Ending Brackets": by default it aligns all adjacent brackets on a staff system vertically. If deactivated, each ending bracket will get its individual height.
      6. "Vertical Distance on Collisions": the distance of the bracket/ending text to the next notation element (20 EVPU by default)


      -Gold only: New option "Repeats->Hook Heights". With this option you can select whether the hooks of repeat endings will remain their height when shifted upwards or whether they should be extended. By default "Auto-Detect" is selected which automatically analyzes the hooks of the first three repeat endings.In PL Silver the auto-detection is always used.
      -Improved horizontal placement of text repeat symbols with inconsistent justification values
      -In some cases improved vertical placement of text repeat symbols from staff lists
      -Improved metrics of text repeats elements over 1-line staves
      -On collisions of right-aligned coda symbols with measure numbers above the barline from the next measure, the coda symbol is moved before the measure number.
      -Two ending brackets (without repeat brackets) in adjacent measures don't overlap anymore, when the repeat bracket is missing in the first measure.
      -Improved handling of repeat symbol visibility, if repeat symbols are hidden in the staff properties of some staves
      -Less collisions with repeat brackets in parts
      -When the "Use Thin Inner Barline" is selected in the repeat prefences and the repeat bracket spans multiple measures, then in some cases the width of the repeat bracket is improved
      -Collisions on wide repeat texts with notes or slurs from the previous measure are now fixed.
      -In some cases improved metrics on repeat texts in parts when the staff property "Items to Display: Ending and Text Repeats" is deactivated, but the repeat symbol is forced to show up.
      -Support for detecting and eliminating collisions of repeat texts with multi-measure rest numbers in SMuFL documents
      -Removal of collisions of repeat texts with measure numbers at the start of a bar
      -Ending brackets that extend over several measures are not shortened to a one bar width if they have an ending hook of at least "10 EVPU" height. In previous versions at least 17 EVPU was required for the hook.
      -Fixed: When only a few measures were selected, an error could occur in some cases of repeat text definitions.
      -In some cases improved placement of text repeats in linked parts when the measure width changes

      System/Staff Spacing

      -Vertical system/staff spacing reworked with many improvements
      -Improved vertical staff/system layout in some cases: more intelligent algorithms that automatically update options to prevent unnecessary pages or too wide vertical spacing
      -Improved vertical staff/system layout dialog layout. Separated into four sections: staff distance, system distance, system alignment at the page margins and other system options.
      -Vertical system spacing now supports scores where each page has different heights, bottom or top margins.
      -Vertical system spacing now supports totally collapsed staves with a negative "Space Between Systems" value
      -New feature: The option Systems->Adjust Top System Margin to Max. Position of Top Staff in Parts is not automatically activated by default anymore when there are page text elemens below the top page margin (which would then collide with the systems).
      Improved auto-detection for the best setting of "Adjust Top System Margin to Max. Position of Top Staff in Parts" option. When "Reflow systems across pages" is activated and the staff systems don't have a huge top margin (<=110 EVPU), it's not deactivated automatically anymore. Make sure to put your top page texts above the top page margin before running Perfect Layout to avoid collisions with systems.
      -New option "Systems->Max. Distance Between Staff Systems". It's now possible to explicitly set the maximum distance between staff systems. This also means: if the maximum distance is reached, then the systems won't align with the page bottom margin on that page anymore.

      Image 11: Fixed max. staff system distances (above) or alignment at the page bottom margin (below)
      -New option: "Systems->Max. Distance Between Staff Systems (Parts)". The max. distance between staff systems can now be set for score and parts separately. By default this is handled automatically. So you have to activate each option manually. The score uses a default of 800 EVPU, loose spacing 280 EVPU and tight spacing 200 EVPU.
      -New option: "Systems->Distribute Single Staff Systems Evenly Over Last Two Pages if at Least (5) Systems on Last Page".
      When activated (by default), this feature distributes all systems on the last two pages evenly.
      When deactivated, it's possible that the last page only has very few systems which only fill the top part the page.
      -In some cases slightly improved processing speed on the vertical system layout algorithm
      -New option "Alignment->Exclude Large or Far Away Text Expressions from Vertical Staff Alignment (unless FORCEINCLUDE added)". While in previous versions this feature was always activated, it's now possible to ALWAYS include these large or far away expressions in vertical spacing by deactivating this option. This is especially helpful for musical theatre/opera scores with lots of large text inserts.
      When activated only those large/far away text expressions are included in spacing where the text FORCEINCLUDE has been added to the description field in the Expression Designer dialog (see FORCEINCLUDE and EXCLUDE command in "Quickstart: How to use").
      -New option "Auto-Suggest 'Parts' Value" (activated by default): automatically suggests a value for "Systems->Min. Bottom Margin for Parts" dependent on the current system distances in the parts before Perfect Layout.
      -When activating/deactivating the "Optimize Staff/System Distances" on some scores you will now get a message to restart the plug-in, as some system processing may already have been performed before changing the feature (which can't be undone) or because some processing needs to be done before the main dialog of the plug-in. In that case just re-run the plug-in and confirm everything with "Ok". The settings from your plug-in setup have been saved before re-running the plug-in.
      -"Systems->Min. Bottom Margin of Staff System" is now available separately for score and (linked) parts (Score default: 80 EVPU, parts default: 200 EVPU)
      -Support for "ghost staff systems": A valid hidden ghost staff system below a regular staff system in the score doesn't mess up the layout on that page anymore. Valid means: all staves with the "collapse" staff style and at least one measure included on that system.
      -Better automatic vertical staff spacing on scores with two systems per page: very large empty areas between the two systems are now automatically reduced if it looked better to give slightly more space to the staves.
      -On very low hairpins between the staves of piano notation there will now be larger vertical staff distances.
      -Improved staff/system distance slider values for extra space in vertical spacing when there is very much free space between the systems on less than 4 systems per page with a max. of 3 staves.
      -Support for automatic page bottom adjustment when the single page score has extra text blocks below the last staff system (e.g. lyrics for extra verses)
      -In some cases improved staff distances on piano notation in case of hairpins with expressive text below.
      -In some cases improved vertical distance between two-staff groups (e.g. piano) in scores that also include other instruments.
      -Improved metrics of the bottom staff if the bottom staff has more than 96 EVPU of size (e.g. 6 strings or 5 tab lines with wider line spacing).
      -Improved vertical staff distances on two-staff groups (e.g. piano) when a dynamic is placed at least -185 EVPU below the top staff on a cross staff note.
      -Superimposed staves are not slightly torn apart anymore because of rounding errors
      -Improved detection of superimposed staves: 1 EVPU difference is also sufficient (was: 0 EVPU in previous editions)
      -If "Show Rests" is deactivated on the staff or through a staff style, the (hidden) multi-measure rest number is not taken into account for staff distances anymore.
      -In rare cases improved metrics calculation when some staff systems start with a non-zero distance of the first staff (only if measure reflow is set to "Only Within Systems" and "Reflow Systems Across Pages" is deactivated)
      -If there is a "Begin a new staff system" flag in measure 1 only, it won't trigger the warning message to remove all "Begin a new staff system" entries any more.
      -When a staff on a staff system only has word extensions or just a few lyrics, but long word extensions, it will now be detected as staff with lyrics which improves the vertical spacing.
      -In some cases improved vertical staff/system layout, if there are several lyrics staves
      -Improved vertical spacing of systems in linked parts: if optimized page turns leads to only few systems per (<=6), then they are less often spread to the bottom of the page. Now the bottom of page is now usually left free.
      -In some cases the distances between empty and used single line tablature staves could be slightly different (e.g. in guitar tabs). Fixed now.
      -In some cases improved vertical system distances in linked parts (especially on the Tight Spacing option)
      -Improved vertical staff/system layout dialog layout. Separated into three sections: staff distance, system distance, system alignment at the page margins.
      -When only some staves are selected in the score from first to last measure and these staves have their own linked parts, these parts are now handled as "fully selected parts" which enables more features for that part
      -In some cases improved measure layout per staff system in the linked parts
      -Improved dense vertical spacing between systems in extracted or linked parts with the "Allow Overlapping Systems" feature
      -The "General->Bypass Empty Staves" feature now supports staves that are totally hidden in the score and parts (=collapsed). When this feature is deactivated, this doesn't irritate the vertical staff spacing algorithm anymore.
      -"Systems->Allow Overlapping Systems" is now activated by default which improves the system layout in parts.
      -Note entries on two staff (piano) groups placed on the top staff, but with downstem beams below the bottom staff don't influence the vertical spacing anymore.
      -Vertical spacing between systems now also works correctly if a staff system uses huge negative "Distance Between Systems" values
      -Support for "fake cross staff rests" in vertical staff spacing: if a rest is placed so low (e.g. rest offset -40) that it virtually appears on the next staff although it is not a cross staff note, then the rest will be ignored in vertical staff spacing and not lead to large vertical staff distances anymore.
      -Improved vertical staff system spacing in some cases that use a very small page scaling (e.g. 10%) and a large staff system scaling (e.g. 170%).
      -In some cases improved staff distances on piano groups when slurs span at least two systems and include some cross staff notes
      -Small text elements attached to measures/staves, but vertically visible on other staves (because of high vertical offsets) are now better taken into account for vertical staff alignment
      -Improved vertical spacing if a part has many completely empty systems (hidden with a staff style).
      -Vertical system layout now also works correctly if "Resize Vertical Space" was deactivated on some systems
      -When only one system and a part of the next system (not the full system) on the first page were selected, then the vertical staff distance in the first system would be reduced to the minimum collision distance, but not expanded if there was sufficient space.
      -If the first page with systems in a part has a different (usually larger) page bottom margin than the following pages and "Systems->Align Page Bottom Margin with..." is set to the default value (Auto-Detect: Fixed/Lowest), then the last system on the first page will be aligned better with the page bottom margin.
      -Improved vertical staff/system spacing in some cases of three systems per page with at least four staves
      -Improved staff distance on piano systems with cross staff notes when beams come close to the upper staff.
      -Improved vertical system spacing on parts with only few systems (that don't span the full page)
      -Improved vertical system spacing if a two-staff system has both staves superimposed.
      -Improved vertical spacing in some case of staves that are hidden in some systems
      -Improved vertical spacing in some case of staves that are hidden in the score and used in parts only
      -Improved detection of two staves at identical positions (on top of each other, e.g. in piano notation): in case of rounding problems these are now also detected if they have a +/-1 EVPU system distance.
      -In some cases improved vertical staff spacing with hidden staves in the score
      -When activating/deactivating the "Optimize Staff/System Distances" on some scores you will now get a message to restart the plug-in, as some system processing may already have been performed before changing the feature (which can't be undone) or because some processing needs to be done before the main dialog of the plug-in. In that case just re-run the plug-in and confirm everything with "Ok". The settings from your plug-in setup have been saved before re-running the plug-in.
      -In vertical staff/system spacing the last system on a page is not moved to the next page anymore (which could happen only in very rare cases, especially cases when the staff height in a system was not at 100% in parts).
      -Improved detection of "two staff groups" (e.g. piano notation)
      -In some cases slightly faster vertical system spacing in parts
      -Improved automatic detection whether a part needs to have music spacing applied. This is still an incomplete check that only tests a few measures. If required, then the Optimize->Always Apply Music (Re-)Spacing will be activated, but it will only be applied to those parts where the plug-in detects it. When you manually activate this option, it will be applied to all parts.
      -Fixed: When running the system/staff optimization only one some pages (and not all pages), then in some cases the bottom staff wasn't accurately placed according to the selected "Align Page Bottom Margin with" setting.
      -Fixed: When "Optimize Staff/System Distances" was deactivated and the average staff system bottom margin was above 220 EVPU, then in some cases the staff system layout was still affected by PL.
      -Support for corrupt staff systems where the first measure of the staff system is set to 0. This probably comes from very old versions like Finale 3.5. Perfect Layout will reapply a page update which fixes this issue.


      Image 12: Automatic Score Alignment with the Default Settings of Perfect Layout v3.0

      Coda

      -Coda expressions that are set to align with the "Horizontal Click Position" and which have a huge offset (>30 EVPU) are not reset to 0 EVPU anymore as it is unclear where are to be placed exactly.
      -When coda systems in parts started with a multi-measure rest, then in some cases the systems were not shifted down. Fixed now.
      -If the very last measure is a single coda measure, then it will not be automatically shifted at the end of the previous system.
      -Improved detection of coda symbols in expressions for shifting down coda systems
      -Improved detection of coda expressions at the start of the coda block
      -The "Shift Coda Systems Down" feature now also works in linked parts

      Notes

      -New Feature: "Empty" note shape modifications (i.e. where no features are activated) are now deleted
      -Improved rest metrics in some multi-voice scenarios
      -Improved metrics calculation of the inner side of beams
      -Improved detection of unnecessary freeze stem flags under tuplets and under slurs
      -"Minimize Rests" now also supports rests with activated "Voice 2 Launch" flags
      -Improved rest optimization under slash notation staff styles with measure counting expressions
      -In some cases improved horizontal placement of unison notes on two layers
      -RGP Lua only: The "Add 32nd Secondary Beam Breaks" is not applied anymore to notes that already have a secondary beam modification
      -No more layer optimization when a note has a smartshape and a freeze stem.
      -The "Freeze Stem" not flag is not deleted anymore on a certain cross staff notation scenario.
      -Resets the corrupt cross staff note entry flag if no cross staff notes are found
      -Improved metrics on percussion staves on note clusters with unknown percussion maps
      -Better support collisions of percussion notes that are not found in the percussion layout. However, it's recommended to always have the used percussion notes included in the percussion layout.
      -Improved collision removal between two notes, especially on accidental/note collisions
      -Improved note collision removal on unisons and seconds across two layers or two voices
      -RGP Lua: Automatic activation of the "Layer/Cues->This document uses linked parts with "Specify Voicing"..." feature, if necessary
      -Very long rest symbols (8192, 16384, 32768 EDUs) are not converted to whole rests anymore if there is only one of this rest in a measure.
      -When a half rest is used in a 2/4 measure (instead of a whole rest), it is automatically converted to a whole rest. If the half rest was also shifted to the right, its position will be reset as whole rests are automatically placed in the center of the bar.
      -Partial support for ledger line collisions with expressions. Only the top ledger line is taken into account and only with a fixed ledger line width.
      -Detection of notehead modifications if only the enharmonic flip flag was set
      -Improved detection of instrument changes and key signature changes when one instrument uses a percussion notation and the other one doesn't
      -If only one layer above layer 1 is used (Layer 2-4) and the automatic "Move to Layer 1" feature is activated, Perfect Layout will now also include measures with ties to previous/next measures if this doesn't mess up the tie.
      -Improved respacing in the case of measure stacks that only include hidden notes
      -Gold only: New option "Reset/Hide->Reset Note Offset to 0 even for Bars with Only one Note" (deactivated by default). If there is only one note in a bar that lasts for the whole measure duration, it is common in older notation to have these notes centered in the middle of the bar.
      By default Perfect Layout now keeps these notes centered unless they have a shorter duration than the measure duration.
      In Silver this feature is always deactivated which means that shifted single notes that last for the full measure or longer always keep their current offset.

      Note/Measure Spacing

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

      Image 13: Dotted Note Collisions

      -Improved spacing in measure 1 if the default clef is different than the actual clef and measure 2 is empty.
      -Improved measure spacing on wide text expressions when a multi-measure rest follows in the next measure and the expressions collides with text expression in the measure after the multi-measure.
      -Improved metric calculation of whole note chords
      -Improved width optimization of single empty bars
      -The "Document Options->Music Spacing->Maximum Measure Width" is not reset to 1800 or 2000 EVPU anymore, if it was set to a value above 1800 EVPU before running Perfect Layout.
      -Improved note spacing on multiple note layers in percussion notation
      -Improved note/accidental collision removal between several layer in dense measures
      -Improved adding of horizontal space in some note collisions, especially with accidentals
      -Improved placement of notes on note/accidentals collisions: if after inserting space, the note flag at the end of the measure collides with the barline
      -In some cases improved detection of note/accidental collisions.


      Image 14: Improved Spacing for Multi-layer Dot and Accidental Collisions

      Rests

      -New Gold option for rest optimization: "Keep Beamed 16th Note / 8th Rest / 16th Note Pattern" (see Gould, Behind Bars p.163). In the Silver version this feature is activated by default.
      -New option "Also Optimize Rests on Dashed Barlines, Ticks or No Barlines at All" (deactivated by default). If activated, then rest optimization is also performed on measures with dashed barlines, ticks or without barlines.
      -Rest optimization now supports more composite time signatures that are usually written in a more simple way, e.g. (3+3/8)=6/8
      -Improved placement of consolidated rests in "two octave" transposing instruments when "Keep Octave Transposition" is activated
      -In one case improved rest splitting on tuplets
      -In case of at least three layers with two rests and one note at the same measure position, there will be no consolidated rests on the middle of the staff anymore. Even if "Optimize Rests->Force Consolidated Rests" is activated.

      Staff Properties/Staff Styles

      -Detection of hidden notes when the staff settings (not the staff style settings) are set to use slash notation
      -Improved detection of "Alternate Notation" staves that don't use staff styles
      -New option "Also Add Double Barline If More Than One Key Signature Changes are Found" added. In previous versions Finale's "Double Barline Preceding Key Signature Changes" was automatically activated when exactly one key signature change was found. Now it's also possible to activate it automatically when multiple key signature changes were found (Deactivated by default).
      -Improved detection of percussion notation staves, if neither the staff name nor the instrument attribute includes any hints. Now the group name and the staff clef are also taken into account. This is relevant for some percussion specific notation features.
      -Improved handling of corrupt staff styles: invalid staff style assignments (=not existing, corrupt staff styles with no name) are deleted from the score.
      -Improved next staff detection in 3-staff groups when the inner staff is completely hidden
      -Improved detetion of groups where the curved group bracket is missing
      -Improved handling of documents with corrupted staves with negative staff IDs
      -Improved handling of some scenarios where staff styles only span partial measures. This leads, for example, to improved lyrics metrics in some cases.
      -Invalid staves (ID:-1) are now detected and removed.
      -Improved handling of invalid end staves (ID:-1) in selected regions
      -Added collision detection for tablature staves with stems and beams over/under the staff. In previous versions the stems and beams were ignored.

      Time Signatures

      -Support for fractional time signatures: If irrational time signatures are used (e.g. 0.375/1 or 16.25/4), Perfect Layout doesn't crash anymore. Note: JW Lua can't read these time signatures, so please don't use them. For 0.375/1 write 3/8.
      -If the current staff is the bottom staff of the staff system, large time signatures are now also taken into account for vertical spacing if they are attached to the previous or the penultimate staff, but have their bottom margin below the current staff
      -Support for 0/4 as "Display Time Signature"
      -"X" time signatures (i.e. "No Time Signature) with expressions are now supported. They are not detected as "Rehearsal Marks" anymore. Note: to be detectly correctly they must be between 46 and 124 EVPU of size, use the horizontal alignment "Left Barline" or "Start of Time Signature" and the vertical alignment "Staff Reference Line"
      -The plug-in doesn't crash anymore on composite fractional time signatures with a "+" sign (e.g. (4+0.5)/4).
      -No Finale error message anymore on invalid composite time signature definitions where the beat duration field is empty
      -Improved detection of hidden time signature changes

      Fonts

      -Improved font metrics if a font has kerning tables with multiple sub tables
      -Improved .OTF font detection on both macOS and Windows
      -Improved font detection on fonts using "-Roman" as name extension
      -Improved detection of font files on non-English Windows/macOS, especially for the French edition of Finale 27.3/Windows 11.
      -Improved detection of font files with style names (bold, italic, etc.) on non-English Windows/macOS
      -Improved metrics for fonts that have integrated enclosures (like EnclSans or RehearsalSans), if they are used for measure numbers or rehearsal marks.
      -Windows: In some cases improved detection of OTF font files (if the font name is totally different from the font file name)-MacOS: improved font file detection and conversion for OTF fonts
      -macOS: Improved handling of fonts with "Bold Italic" style
      -More music fonts are automatically recognized by Perfect Layout
      -In some cases improved detection of font files. It requires a regeneration of the ESFontFileNames.txt file at the beginning of the first run of the plug-in with this version. If there are many fonts installed, it may take a minute or even longer.
      -Better detection of the Sebastian font which exists in a SMuFl and a non-SMuFl version with identical attributes
      -If an unknown SMuFl is was used where the niente symbol (0xe541) is missing, then PL doesn't show an error message anymore.
      -Support for Blue Notes, Blue Notes II, Bracketura, Concerto, Concerto STD, CapoScore, CapoScore STD, cap1800, Bravaccidental, Engraver Time C, GoFigure, Lelandia font family, Lighthouse, Maestro-Extra, Scherzo, Scherzo Std, Solmisation, Vintage BH, AKFlute, AKOboe, AKSax, AKFagott, AKClarinet, AKVerticalFlute, Legato Music Font and Groove music fonts. Make sure to not have the other "Legato" font from Melody/Harmony Assistant installed together with "Legato Music Font". These two fonts don't work together.
      -Improved text font file detection on font names with LT/MT Std, "Roman" in the file name and/or where the Finale font name is written with blank spaces and the internal OS font name is written without blank spaces.
      -Improved font name and font file detection: scanning the font files now takes a slightly longer, but detects more different (sub-)font names.
      -Added better font file name support for some music fonts (i.e. detection of the font despite weird file names)
      -Added more new font symbols to the font database to recognize all SMuFl symbols from the Finale 27 default document and to give better support to all Finale SMuFl fonts
      -Exponential hairpins are now also supported from the fonts Norfolk Special Std, Opus Special, Opus Special Std
      -If Node.js and/or the required plug-in scripts are not installed and thus an OTF font can't be read, Perfect Layout will now display an error message. Just re-run the Perfect Layout installer to solve this.
      -Windows: Perfect Layout didn't recognize Node.js if the Node.js environment variable was not set correctly. The new installer now sets the environment variable and doesn't depend on the Node.js feature anymore.
      -When the default music font from the "Dynamics" expression category is not in the Perfect Layout database, you will now be asked if the font is Maestro-compatible. On 'Yes' it will use the Maestro entries from the font database. On 'No' the plug-in will cancel.
      -Improved log message on font annotation file creation
      -Windows: The font annotation file is now also included for the optional Bach font
      -Corrected accidental symbols in the font engine for the latest versions of the fonts November2 and Sebastian (SMuFL)

      New Installer on Windows

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

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

      There is also a new "Remove Perfect Layout Windows Installation" tool which totally removes Perfect Layout on Windows in case of installation problems.

      Installer on macOS

      -Solved rare installer bug: the -10673 Error which affects installers from many software companies (see FAQ)
      -Under certain circumstances the "Two Activation" license had problems when one computer had a IPv4 address and the other an IPv6 address. Fixed now.
      -Improved installer for updating the RGP Lua version
      -Improved installer when changing the installation folder
      -Updated the macOS installer builder to work with notarytool instead of altool
      -macOS: better error codes when entering the wrong or no password during the auto-update feature
      -macOS: Improved position of the progress bar on setups with multiple monitors.
      -macOS: Support for several multiple monitor setups stored in /Library/Preferences/com.apple.windowserver.plist (earlier versions of Perfect Layout supported only ONE multiple monitor setup)

      RGP Lua: (PL v3 now also works in the new Finale plug-in platform RGP Lua by Robert Patterson)

      -The v3 installer installs RGP Lua v0.66 (as of 14th March 2023). This is now also the minimum version that is required. v0.65 and earlier are not supported anymore by Perfect Layout/RGP Lua. However, JW Lua 0.54 is still supported.
      -Instead of JW Lua the PL installer now installs the latest version of RGP Lua in Finale 25-27+. In Finale 2014/2014.5 (32Bit) JW Lua is still installed, because RGP Lua only supports 64bit as in Finale 25-27.
      -Making PL compatible with RGP Lua (Part 1): changing dialog styles
      -Making PL compatible with RGP Lua (Part 2): Fin25/Fin26 version number corrections, changing dialog styles, updating articulation functions
      -Making PL compatible with RGP Lua (Part 3): articulation metrics and tie setting fixes
      -Making PL compatible with RGP Lua (Part 4): solving issues with articulations in RGP Lua/Fin26+
      -Making PL compatible with RGP Lua (Part 5): Grace notes with articulations
      -Making PL compatible with RGP Lua (Part 6): The "Stack Automatically" option is now detected in JW Lua.
      -Making PL compatible with RGP Lua (Part 7): More articulation compatibility stuff, fixed an issue with stem modifications in RGP Lua in Finale 26+, fixed an issue with accidental detection in RGP Lua
      -Making PL compatible with RGP Lua (Part 8): In Fin26+ articulations that are usually inside the slur and that are set to slur interaction mode "Auto Inside/Outside" are set to "Ignore".
      -Making PL compatible with RGP Lua (Part 9): In some cases improved placement of an articulation over grace notes if the articulation is actually assigned to the following non-grace note.
      -Making PL compatible with RGP Lua v0.66: no more dialog pop-up at the end of the processing when using Perfect Layout in batch processing
      -Making PL compatible with RGP Lua v0.66: Updated the "Apply to Parts Only" plug-in to work with the "return value" feature of RGP Lua.
      -Making PL compatible with RGP Lua v0.66: Music spacing now also works in the redesigned beat chart spacing behaviour of RGP Lua v0.66
      -Making PL compatible with RGP Lua v0.66: In rare cases an error message came up in PL's "Time Signature Width" function which didn't occur in previous versions. Fixed now.
      -Making PL compatible with RGP Lua v0.67: some improvements on mathematical functions
      -Making PL compatible with RGP Lua v0.67/Lua 5.4 (FCBeatChartElement:SetWidth requires EVPU16 value)
      -Making PL compatible with RGP Lua v0.67/Lua 5.4 (FCSystemStaves with no staves, tonumber() with numbers, support for negative chord suffix IDs, FCPage:GetFirstSystem)
      -Making PL compatible with RGP Lua v0.67/Lua 5.4 (Angle calculation)br>-Making PL compatible with RGP Lua v0.67/Lua 5.4 (FCBeatChart.ReferenceWidth, FCSmartShapeSegment:SetEndpointOffsetX, FCExpression:SetHorizontalPos, FCExpression:SetVerticalPos, FCTextRepeat.HorizontalPos)
      -Making PL compatible with RGP Lua v0.67/Lua 5.4 (glissando connections, accidental distances, loading pages and a few more)
      -Making PL compatible with RGP Lua v0.67/Lua 5.4 (More glissando connections, lyrics baselines and a few more)
      -Making PL compatible with RGP Lua v0.67/Lua 5.4 (Staff system problems with staves with ID -1)
      -Making PL compatible with RGP Lua v0.67/Lua 5.4 (Beat chart and measure width problems)
      -Making PL compatible with RGP Lua v0.67/Lua 5.4 (Region problems)
      -Making PL compatible with RGP Lua v0.67/Lua 5.4 (Articulation and staff system problems)
      -RGP Lua only: on a staff that is included with "Specific Voicing" in linked parts the feature "Layer/Cues->Remove Unnecessary Use of Layers 2-4, if possible" is not executed anymore
      -RGP Lua only: In very rare cases the pickup measure duration was reset to 0 as RGP Lua falsely reported invisible rests on beat 1 as visible although they were actually hidden because of the pickup measure setting. In JW Lua this problem didn't occur.
      -RGP Lua 0.68+: When a new update is found, the plug-in will now list all the new features and improvements in the new version.
      -RGP Lua 0.68+: improved cross staff metrics support
      -Probably less false positive antivirus alerts by having even more tools directly included in a single RGP Lua file
      -Partial support for beam extension modifications added.
      -Partial support for tie modifications added.
      -The title of the main user dialog now includes a JW Lua or a RGP Lua tag and their version number
      -Unnecessary warning message about Fin26 compatibility removed
      -Improved metrics on 8VB, 15MB and trill symbols in smart shapes
      -Help buttons now have a question mark symbol
      -Help images are now shown directly in the plug-in and not in the external web browser anymore.
      -In Finale 25-27 "Automatic Music Spacing" is now deactivated automatically through Perfect Layout. The warning message doesn't pop up anymore.
      -Windows only: Added an error message when the default DOS code page is set to an invalid value (65001). This typically occurs when the Windows Beta option 'Beta: Use Unicode UTF-8 for worldwide language support' is activated in the Windows "Region Settings" dialog. It's a known Windows issue that this option doesn't support old DOS commands like the ones Perfect Layout requires.
      -Windows only: Support of non-850 ANSI Code Pages for the activation of the plug-in (e.g. Taiwan Windows).-Windows only: Removed the black popup windows
      -Windows only: changed the internet and system access functions to (hopefully) be more resistent against false antivirus alerts

      Other

      New Feature:-"Apply Perfect Layout to All Parts Only" is a new feature that was requested a lot.
      If you have completed the score and have run Perfect Layout, then you do the parts and want to apply Perfect Layout to the parts only, you can use this new sub-plug-in "ES Perfect Layout - Apply to Parts Only".
      It will appear in the Finale menu below your original ES Perfect Layout entry:

      This will run Perfect Layout separately on each part (so the plug-in will be called for each part individually).
      But you have to adjust the settings in the user dialog values only once.
      Perfect Layout will then be applied to all parts.
      You can either apply the plug-in to all measures (default) or you select a measure stack in the score and it will only be applied to these measures.
      It's currently not possible to apply it to selected parts only.
      Note: Running the plug-in on parts only reduces the number of available Perfect Layout features.
      Note: This feature is only available in Finale 25+ with RGP Lua (not supported in Finale 2014/2014.5 and JW Lua).
      To be consistent with the score, all features that would also affect the score are deactivated or not applied.
      It is recommended to always apply Perfect Layout to the score at least once, before applying it to the parts later:
      this is required to prepare the whole document for Perfect Layout.
      --The Finale undo/redo feature for a quick before/after Perfect Layout preview no longer messes up the bar widths anymore.
      -New feature: Spanish has been officially added to the supported user dialog languages

      -The Silver edition now also has the "Bypass Empty Staves" option on the General tab which can speed up the processing time in some cases. By default this is activated.
      -Gold only: When changing the measurement unit in Perfect Layout a minor rounding inconsistency (e.g. 799.99 instead of 800 EVPU) could occur on the two "Systems->Max. Distance Between Staff Systems" values. Fixed now.
      -Improved log messages
      -The log file now includes the version number of the plug-in
      -When the "Deactivate All Settings" preset is loaded, then the measure number alignment will now be saved correctly as "Keep Current Position" (and not as "Automatic Detection" anymore).
      -Italian/Japanese Finale version only: support for plug-in detection. Needed for the "ES Perfect Layout - Apply to Parts Only" plug-in and for accessing other plug-ins.
      -When an Asian OS is detected (Japanese, Chinese, Taiwanese), the safety unicode mode is activated by default to prevent crashes with unicode symbols.
      -Japanese Finale version only: support for Japanese expression category names
      -A score consisting only of one staff plus its tablature staves is now detected as a part, and not as a score anymore.
      -The plug-in will display a warning message if the parts have no visible measure numbers.
      -A warning message pops up at that start of the plug-in when Finale's measure reflow settings don't match the recommended settings of the plug-in. Recommended are the activated options "Reflow Across Systems (Maintain System Locks)" and "Reflow Across Pages".
      -On the very first start of the plug-in a dialog asks to open one of the demo files first for an easier introduction to the plug-in
      -Less log messages when several duplicate identical expressions are found on the same beat
      -Added new warning message if antivirus software blocks the plug-in registration
      -Added more error messages on installation and activation problems
      -A warning message about very wide expressions is no longer displayed if the expressions are invisible
      -Perfect Layout's check and warning message if "Display in Concert Pitch" is activated now works again in Finale 26 and 27. In Finale 25 it only works correctly in the default "RGP Lua" engine (in JW Lua it's deactivated in Finale 25). It also works correct (and has always been) in Finale 2014/2014.5.
      -Updates that require running the full installer (e.g. when RGP Lua has been updated) now have an extra message and the automatic self-update won't work in that case.
      -Windows/RGP Lua: The self-update feature has been improved. Self-update sometimes did not work on slow computers.
      -Added one more other error message for self-update problems
      -Windows: Improved stability and more error messages for the activation process when (probably) the antivirus system blocks the activation
      -Improved dialog: when run on parts only, the option "Alignment->Place Measure Number at Start of System" is disabled in the dialog.
      -The activation dialog now also shows the version of the current plug-in in the title.
      -More preview images
      -Improved log files for the Node.js installer
      -When clicking on "Load->Last Saved Settings" the measure number alignment setting and the rehearsal mark aligment setting sometimes selected the wrong algorithm. Fixed now. However, this didn't occur with the last saved settings that are automatically loaded when starting the plug-in: in this default case the plug-in always selected the correct algorithm.
      -If a Finale document was exchanged between macOS and Windows which had different MacSymbolFonts.txt settings and used symbols from a legacy "MacSymbol Font" from the slots 0x0152 to 0x2200, then the metrics calculation was incorrect in some cases. Now the plug-in checks if the corresponding MacSymbolFont symbol is available and, if so, uses the correct metrics from that symbol. This affected, for example, enclosure symbols from the SwingText font.
      -Partial support for mirror measures: in some cases wrong note metrics were calculated. In general it's not recommended to use mirror measures in Finale.
      -Partial support for mirror measures (Multi-measure rests). Still mirror measures are officially not supported by PL.
      -Partial support for mirror measures (Rehearsal mark expressions in mirror measures). Still mirror measures are officially not supported by PL.
      -Improved support for the old "Special Part Extraction" feature: correct horizontal alignment of repeat brackets.
      -Improved support for the old "Special Part Extraction" feature: correct chord width detection
      -Windows: Improved system accesses for better acception of some antivirus software (Avira and Panda)
      -Added more help for rare installation problems to the FAQ
      -Improved detection of invisible key signature changes
      -The "Double Barline Preceding Key Changes" feature in Finale is not activated anymore when an invisible key signature change on a percussion staff is detected.
      -The "Remove Unnecessary Use of Layers 2-4" now also checks the MIDI channel before allowing the layer change. The MIDI channels are different between layer 1 and layer x, then it won't change the layers anymore.
      -The "Have you saved the document" dialog will not popup anymore when the document was saved right before calling the plug-in.
      -Improved warning message about a missing internet connection. The warning messages now mentions that sometimes the firewall prevents access to the internet.
      -Running the plug-in on a non-selected region means that the plug-in will process the full document. In extremely rare cases (like errors in other Finale plug-ins directly before running Perfect Layout) Perfect Layout did nothing as it thought nothing at all should be processed. Fixed now.
      -Added a detailed list of Finale document options that change through Perfect Layout (https://elbsound.studio/perfect-layout/optimize.php#go-to-optimize8)
      -Windows: the Progress Bar application on Windows now had its first update since v1.x. In batch processing and on the new "Apply to All Party Only" plug-in it used to show the progress bar only on the first file or part. Now it is shown on each file/part. To update the Progress Bar file you need to run the Perfect Layout full installer. The self-update does not include it.
      -"Invalid slur" message is not shown in the log anymore if only a partial region was selected and the slur was partially attached to a measure outside the selected region
      -Warning message added when many staves from measure 1 to the last measure are selected, but not all: was this intended or should it have been the selection of the full document?
      -Improved detection of "full score selected"
      As some features of Perfect Layout only work if the full document is selected and some users have accidentally selected the visible staves only, the warning message should help to avoid this problem.
      -The warning message in the log file "Text repeat element in measure 54 is set to left justification, but currently (nearly) aligned with the right barline." (and vice versa with left) is not shown anymore on staves where the text repeat element is hidden because of a text repeat stafflist.
      -Improved support for hybrid SMuFl/non-SMuFl fonts (e.g. November2, Aruvarb) in Finale 27.
      -The "Download Updates" page on the Elbsound.studio website now automatically detects the operating system
      -Windows: The automatic update now makes sure that the downloaded user language files don't conflict with Windows' virtual store feature.
      -Support for scores where the top staff is hidden and used in the parts only (in previous editions Perfect Layout issued a warning message and cancelled the processing)
      -Updated PDF manual
      -Windows: Improved dialog for language selection for RGP Lua and JW Lua
      -Windows: Installer automatically repairs false Windows registry Path entries for PowerShell, cmd and wmic
      -The Safari/macOS browser appended a .txt file ending when downloading the additional .lua files from the homepage. Fixed now.
      -Some browsers automatically appended a .zip file extension to the .exe installer.
      -Translation improved in the registration dialog: in non-English languages some English words occured.
      -Improved French translation (more than 200 new lines) and fixed some user dialog issues of colliding texts
      -Updated Node.js to current version v16.17.0 to support native M1
      -Improved Italian translation
      -Improved support for preventing the "QXPScriptingAddition.osax" error on some older maOS installations.
      -Improved macOS installer
      -macOS: Corrected text output when using the progress bar with several monitors
      -macOS: The "System Events" problem detection is now more tolerant against library problems that don't affect Perfet Layout.
      -macOS: The quickstart tutorial in the browser only pops up at the end of the installation when the plug-in is installed for the first time.

      System requirements:

    • Perfect Layout v3: Finale® 2014, 2014.5, v25, v26, v27 for 64bit Windows 10, 11 or macOS 10.13+ - 14.x (tested until 14.6).
      Note 1: PL v3 should also work in Windows 7 and 8 when all the latest Windows updates are installed, but Elbsound.studio doesn't support that.
      Note 2: According to some users PL v2 also works in 10.11/10.12, but Elbsound.studio doesn't support that either.
    • Perfect Layout v2: Finale® 2014, 2014.5, v25, v26, v27 for 64bit Windows 7, 8, 10, 11 or macOS (tested in 10.13 - 12.6, 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.
    • Windows: 250 MB, macOS: 400 MB of free hard drive space (after installation 250 MB), 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 (PL v2.x+) and Windows (PL v3.x+): an internet connection is required during the processing of the plug-in for checking the activation
    • macOS only: You need to grant access to Finale to use the Terminal app, Image Events and System Events for activating/checking the license, downloading updates, displaying the plug-in's progress bar (optional) and finding out the number of screens for correct coordinates.
    • macOS only: The macOS standard tool "sudo" is used for some system calls. You may need to disable sudo plug-ins, if they cause problems with Perfect Layout's sudo calls.
    • Windows only: Powershell, WMIC, cmd and curl must be installed (it is installed by default on Windows unless the user has removed it manually)
    • macOS only: The macOS Bash system must be available together with the tools curl, defaults, sudo, echo and osascript. They are available in macOS by default.
    • The faster the processor speed, the faster the plug-in (see this comparison). The plug-in is single-threaded, so multiple cores do not speed up the processing.
    • Data Privacy: For the activation and license validation of the software some data will be stored on our servers. For more info read Data Privacy at Elbsound.studio and the EULA
    •  

      ;Version History
      ;v3.0225 2024-09-21
      Fixed:
      -In rare cases an error could occur if the last staff system had an invalid measure number for a non-existing following staff system. Fixed now.
      -Fixed an error that could occur in rare cases on totally hidden staff systems in linked parts.
      -In rare cases an error could occur on note collisions in multi-layer scenarios. Fixed now.

      Improved:
      -Improved detection of copyright texts and automatic page margin adjustment on single page scores.
      -"BlueNotes", "Vintage BH", "Maestro-Extra", "GoFigure" and "Bracketura" fonts added as music font
      -If "Create MM Rests in Parts" is deactivated and a linked part has corrupted multi-measure rests that spans several staff systems (e.g. multi-measure rests there were not updated and include the wrong measures), then these multi-measure rests will be at least partially fixed. Otherwise it would lead to many other problems.
      -Improved handling of multi-measure rests, if "Create MM Rests in Parts" is deactivated and a linked part has corrupted multi-measure rests that spans a full staff system
      -Improved internal handling of invalid smartshapes that end after the final measure.
      -Improved handling of invalid end staves (ID:-1) in selected regions
      -Improved detection of movement names as page texts: page texts with font size<12 are ignored now
      -Added translations for the latest new texts
      -Support for automatic page bottom adjustment when the single page score has extra text blocks below the last staff system (e.g. lyrics for extra verses)
      -If the first coda measure is the first measure on a staff system in all linked parts and in the score, the "Begin a new staff system" attribute will be activated in the measure attributes. This will improve the measure distribution in some cases.
      -More technique expressions get an improved placement ifthey overlap the last barline of a staff system
      -System dividers in the score were already hidden in the linked parts in previous versions. Now they are also shifted away from the visible page area to make them even less disturbing in the parts.
      -A warning message pops up at that start of the plug-in when Finale's measure reflow settings don't match the recommended settings of the plug-in. Recommended are the activated options "Reflow Across Systems (Maintain System Locks)" and "Reflow Across Pages".
      -Added updated and more demo files for the plug-in
      -The "Hide bow marks in score" feature is now also correctly auto-detected when the factory or last saved settings are loaded.
      -The plug-in will display a warning message if the file has parts, but no measure number regions, or if the file has some linked parts where the "Show measure numbers" attribute in the staff settings is deactivated and the measure number regions don't have "Show on Top Staff" or "Show on Bottom Staff" activated.
      -If reflow across systems is activated and a linked part has all measures squeezed into one system, the measures will reflow right after the start of the plug-in to also take this part into account for all linked part statistics that are used later during the processing.

      ;v3.0223 2024-09-03
      Fixed:
      -No Finale error message anymore on invalid composite time signature definitions where the beat duration field is empty

      Improved:
      -Improved PDF manual
      -On the very first start of the plug-in a dialog asks to open one of the demo files first for an easier introduction to the plug-in
      -More fine-tuned 5-staff line symbols for clef changes one a 1-line staff before a 5-line staff
      -Support for rehearsal marks of the format number + . (optional) + letter (e.g. "17.a").
      -Improved lyrics metrics, if lyrics optimization is deactivated and syllables have individual offsets

      New feature:
      -The plug-in will display a warning message if the parts have no visible measure numbers.

      ;v3.0221 2024-08-02
      Fixed:
      -When applying PL to a linked part only that has different staff scalings in the score and in the part and both are different from 100%, then PL could change the staff scaling the score. Fixed now.
      -An error message could occur when only a few measures were selected in the score and a new (sub-) movement start was in the unselected measures before.
      -Fixed an error message that could occur in rare cases when only few measures were selected on one staff with certain dynamics and the selected area was preceded by a multi-measure rest on all staves.

      Improved:
      -Some little processing speed improvements, especially on large documents on macOS
      -In some cases improved detection of font files. It requires a regeneration of the ESFontFileNames.txt file at the beginning of the first run of the plug-in with this version. If there are many fonts installed, it may take a minute or even longer.

      ;v3.0219 2024-07-31
      Improved:
      -Improved detection of cue notes under invalid multi-measure rests in parts. If detected, the multi-measure rests will be removed.
      -In some cases improved detection of font files

      ;v3.0217 2024-06-21
      Fixed:
      -Superimposed staves are not slightly torn apart anymore because of rounding errors
      -If "Show Rests" is deactivated on the staff or through a staff style, the (hidden) multi-measure rest number is not taken into account for staff distances anymore.

      Improved:
      -If the "Force Hidden Rests On Layer 1 On Cue Notes" feature (added in v3.0203) is activated, then ties on cue notes are no longer flipped.
      -The "Laissez Vibrer" feature now also supports string and plucked string instruments from the non-Western instrument collections. I.e. the plug-in doesn't remove open l.v. ties from these instruments anymore.
      -In rare cases improved metrics calculation when some staff systems start with a non-zero distance of the first staff (only if measure reflow is set to "Only Within Systems" and "Reflow Systems Across Pages" is deactivated)
      -Expressive texts that have a tiny overlap with hairpins are not shifted below anymore, but only horizontally
      -RGP Lua 0.68+: improved cross staff metrics support
      (Note: RGP Lua 0.68+ is NOT supported yet by Perfect Layout. Because of the new Lua version 5.4 that it uses there are still some incompatibilities. It will be available in a later update.)
      -In some case improved placement of rehearsal marks when an "above the staff" articulation is attached to the previous measure, but placed after the next barline.
      -Windows: In some cases improved detection of OTF font files (if the font name is totally different from the font file name)
      -Improved note/accidental collision removal between several layer in dense measures
      -Improved (non-)detection of the cue note layer when small sized notes are not used as cue notes, but for other purposes
      -Improved detection of superimposed staves: 1 EVPU difference is also sufficient (was: 0 EVPU in previous editions)
      -Improved collision removal in some cases of four expressions on one beat (one rehearsal letter, two tempo or rehearsal texts, one technique text expression above the staff)

      New feature:
      -Added new option on the "Express." tab: the vertical distance between several tempo and rehearsal marks can be set with the new distance to "Other Tempo and Rehearsal Marks:". The default value is 23 EVPU - as it was in previous versions of PL.

      ;v3.0215 2024-06-19
      Fixed:
      -In rare cases an error message could occur on flipped stem detection on beamed notes with slurs under tuplets. Fixed now.
      -In rare cases Finale could hang on glissando smartshapes close to rests. Fixed now.(Bug introduced in v3.0203)

      Improved:
      -In some cases of mid-measure clef changes an extra clef before a hidden cue note section is now hidden
      -Windows: The two helper files for the progress bar and the window minimization were renamed to ESProgressBar.exe and ESMinimizeFinaleWindow.exe to allow easier access for other plug-ins.

      ;v3.0213 2024-06-17
      Improved:
      -In some cases improved placement of dynamics on two layer unisons
      -In some cases improved tuplet metrics on cross staff tuplets and tuplets where the inner tuplet notes have influence on the bracket placement
      -Improved handling of some scenarios where staff styles only span partial measures. This leads, for example, to improved lyrics metrics in some cases.
      -A warning message about very wide expressions is no longer displayed if the expressions are invisible

      ;v3.0211 2024-06-13
      Fixed:
      -If only one measure in one staff was selected from a two staff group (e.g. piano), in rare cases an error message could occur. Fixed now.
      -Blank notation staff styles in linked parts that only affected some visible layers (but not all), could lead to a too small measure width in that measure. Fixed now.

      Improved:
      -Improved note collision removal on unisons and seconds across two layers or two voices
      -Extra clef changes on empty measures within a cue note section that spans several measures (including empty measures) are now hidden
      -The Finale undo/redo feature now also works correctly on single measures
      -Improved PDF manual
      -More music fonts are detected: Solmisation, AKFlute, AKOboe, AKSax, AKFagott, AKClarinet, AKVerticalFlute

      ;v3.0209 2024-06-10
      Improved:
      -Automatically repairs slur playback problems because of a missing smartshape flag
      -Measure numbers more than 1000 EVPU away from the staff are ignored for vertical system/staff spacing

      ;v3.0207 2024-06-06
      Improved:
      -In some cases of mid-measure clef changes an extra clef before a hidden cue note section is now hidden

      ;v3.0205 2024-05-30
      Fixed:
      -In rare cases (organ parts with a three staff notation) pickup measures of (sub-)movements in a score could be shifted to the previous system. Fixed now.

      Improved:
      -Improved collision detection on custom lines and trill smartshapes far above the staff
      -Improved detection of movement starts when the score includes several movements, both with text expressions and page texts as movement title names.
      -Improved metrics on ties close to the staff
      -RGP Lua: improved metrics on some modified ties (still not all modified ties are fully supported)
      -RGP Lua: improved metrics on flipped ties with the "Flip tie" attribute
      -Improved metrics on rehearsal marks when the rehearsal marks placement is set to "Keep position"
      -Improved metrics on some ties on the 3. line on a 5-line system

      ;v3.0203 2024-05-07
      Fixed:
      -When the plug-in is applied to a small selected region, in some cases an error message could occur. Fixed now.
      -In rare cases on two staff groups (piano, harp) an error message could occur on expression collisions with articulations. Fixed now.

      Improved:
      -macOS: Corrected text output when using the progress bar with several monitors
      -Improved detection of multi-measure rest ranges when the measure number region is only defined for a few bars
      -Improved Test File 11: the demo file now includes demos for all new cue note features.
      -Extra clef changes in the very last measure of the piece are now correctly hidden when this measure only contains cue notes in the score
      -In some cases improved placement of rehearsal marks on collisions above the staff (shifted slighty to the left instead of further above).
      -In some cases improved staff distances on piano groups when slurs span at least two systems and include some cross staff notes
      -Improved processing speed on glissando optimization
      -In some cases improved vertical and/or horizontal placement of ottava shapes
      -Finale 26+/RGP Lua only: in rare cases improved vertical placement of articulations (when the articulation direction settings contradict the current placement and additionally the stacking feature leads to an unexpected placement)
      -RGP Lua only: The "Add 32nd Secondary Beam Breaks" is not applied anymore to notes that already have a secondary beam modification

      New feature:
      -Added a new hidden option "ForceHiddenRestsOnLayer1OnCueNotes" which can be set to true or false directly in the Perfect Layout settings file (in the Finale user folder JALAYOUx.ini where the letter x can be "G", "B" or "H"). It hides layer 1 in cue note measures in parts.
      -RGP Lua only: Detection and correction of lifts and falls created with the tab slide tool that occur between two notes. The plug-in now tries to detect whether it is a glissando between two notes or a lift/fall attached to just one note. If the lift/fall is only attached to one note, it's obvious. If it is still attached to two notes (which occurs in Finale by default), the angle and placement/offsets in the score determines whether it is a lift/fall of one note or a glissando between two notes.

      ;v3.0201 2024-05-06
      Fixed:
      -Cue note in measures where the next measure had a time signature changed were not hidden in the score. Fixed now. (Bug introduced in v3.0199)

      Improved:
      -When an Asian OS is detected (Japanese, Chinese, Taiwanese), the safety unicode mode is activated by default to prevent crashes with unicode symbols.
      -Improved detection of hidden time signature changes
      -Slightly improved settings of the "Hide Cue Notes in Score" staff style

      New feature:
      -Corrupt expressions with negative IDs are automatically deleted

      ;v3.0199 2024-05-05
      Fixed:
      -In cue note measures with time signatures shorter than 2/4 (e.g. 3/8, 3/16 or 1/4) it was possible that the "Display Empty Rests" would be deactivated in that bar in the score after Perfect Layout. Fixed now.
      -Text expressions with a "Hidden Text" style and the attribute "Break Multimeasure Rest" activated now also break multi-measure rests in linked parts (not only in extracted parts or the score).

      Improved:
      -subito dynamic expressions (e.g. sub.p) that are connected to a centered whole rest are now correctly aligned at the beginning of a measure (and not at the whole rest anymore).
      -The "Lighthouse" music font is now supported
      -In some cases improved placement of "outside tuplet" articulations, if the tuplet also includes "inside tuplet" articulations
      -Improved tuplet placement on many mixed up-/downstem tuplets
      -In some cases improved placement of split nested tuplets
      -Collision support for several tuplets nested in one large tuplet (e.g. three 16th note triplets in an 8th note triplet)
      -Improved collision removal between two notes, especially on accidental/note collisions
      -Improved detection of hairpin/dynamic connections if the hairpin is upon a staff line (not above or below) and both a dynamic above the staff and a dynamic below the staff follows
      -Improved handling of word extensions in the final bar
      -In some cases improved alignment of the hairpin start on long notes (more than 3072 EDUs)
      -New warning log message when a cue note measure in the score includes no rest on the "normal" layer and it's a (short) pickup measure where "Display Rests in Empty Bars" makes no sense
      -When hiding notes in cue note measures in score the "Display Empty Rests" attribute in that bar will remain the same as before.
      -When hiding notes in cue note pick up measures in the score, rests in non-cue layers will remain.
      -Improved alignment of tempo marks and alterations on bars with one (long) note only where the tempo marks goes slightly beyond the next barline and either collides with another expression or is on the last bar of that system.
      -When the score has a single measure system on the last page, the measure will be shifted to the previous page (if there is enough space). In previous versions of Perfect Layout this feature was only activated for linked parts.
      -If chords in linked parts are not on the vertical default position, then in some cases expressions above the chord may now get an improved placement on collisions.
      -Chords are not shifted anymore to above an expression with both the ABOVECHORDS and the EXCLUDE tag.
      -Improved checking of expressions that are "Scaled with the Attached Entry" to avoid slightly moving an expression to a beat where the scaling changes.
      -In some cases improved vertical staff/system layout, if there are several lyrics staves
      -macOS: Improved position of the progress bar on setups with multiple monitors.
      -macOS: Support for several multiple monitor setups stored in /Library/Preferences/com.apple.windowserver.plist (earlier versions of Perfect Layout supported only ONE multiple monitor setup)
      -Improved PDF manual
      -More preview images

      New features:
      -Tuplets that start with a rest and only include whole notes are now placed on the correct side (fixes a Finale bug)

      -Mixed up-/downstem tuplets are now handled more precisely. Finale's default placement of these tuplets is very often poor.
      These tuplets can now get the "Always Flat" attribute and will be placed on the proper side according to Gould in "Behind Bars" on page 198. It takes into account the number of collisions with slurs, articulations, dynamics and hairpins and finds the best placement, preferably on stem-side and/or above the staff.
      For this feature the Gold edition of Perfect Layout gets three new options:
      "Tuplets->Flip Mixed Up-/Downstem Tuplets, if Necessary" (activated by default)
      "Tuplets->On Dynamics or Hairpins Always Shift Above the Staff" (deactivated by default)
      "Tuplets->Flatten Mixed Stem Tuplets" (activated by default).

      -PL Gold only: New option "Multi-measure Rests->Allow Hidden Expressions to Break Multi-Measure Rests". When activated hidden expression with the "Break Multi-measure Rest" attribute activated, will break multi-measure rests. This feature is deactivated by default.
      However, it's still possible to break multi-measure rests with visible expressions that use the "hidden" text style. This feature also works in PL Silver/Silver400.

      ;v3.0197 2024-04-11
      Fixed:
      -In rare cases an error message could occur on backwards tied notes. Fixed now.
      -In rare cases an error message could occur when there were many hidden staff systems in a part.

      Improved:
      -In some cases improved measure layout per staff system in the linked parts
      -Improved placement of measure counting expressions on drum set/percussion staves even if the notes are far above the staff
      -Improved placement of measure counting expressions on collisions with repeat text (e.g. D.S. al Coda)
      -In some cases improved spacing between colliding chords
      -In some cases of improved placement of hairpins below cross staff notes on the bottom staff of two staff groups (e.g. piano)
      -Improved metrics of some tuplets that include whole notes
      -Clef changes at the end of a bar before an empty bar remain at that position and are not moved to before the bar where the notes start
      -In some cases improved direction of cue note stems
      -Faster processing of the plug-in on large files with more than 1000 measures
      -In some cases improved detection of (falsely) hidden accidentals through wrong "Tie End" flags
      -Improved handling of "Tie End" flags where the previous tied note is on a different layer
      -Improved handling of "Tie End" flags where the previous measure has a backward repeat or a slash/repeat/blank notation staff style

      New feature:
      -Removal of collisions of repeat texts with measure numbers at the start of a bar

      ;v3.0195 2024-04-04
      Fixed:
      -When both "Odd" and "Even" pages were activated for page turn optimization, then the standard system optimization that spreads all systems equally over two pages didn't work. Now the user dialog works correctly: it's only possible to activate either "Odd" or "Even" for the page turn optimization.

      Improved:
      -The Finale undo/redo feature for a quick before/after Perfect Layout preview no longer messes up the bar widths anymore. A solution to a long-standing bug in the original Finale plug-in interface that seemed unsolvable by the Lua plug-in was discovered by accident. This Finale bug also affected some other Finale plug-ins, which will hopefully now receive a fix.
      -In some cases improved placement of hairpins in complex cross staff scenarios where the hairpin crosses some stems.
      -A few minor processing speed improvements
      -Improved connection of dynamics with expressive text expressions on long notes where the EDUs distance between the dynamics and the expressive text is more than 650 EDUs.
      -Collisions on wide repeat texts with notes or slurs from the previous measure are now fixed.
      -In some cases improved metrics on repeat texts in parts when the staff property "Items to Display: Ending and Text Repeats" is deactivated, but the repeat symbol is forced to show up.
      -RGP Lua: Making PL compatible with RGP Lua v0.67/Lua 5.4 (Articulation and staff system problems)
      -In rare cases slightly improved measure layout/system optimization in the linked parts
      -Much faster startup process of the plug-in, especially on macOS and on large files with more than 1000 measures
      -Improved metrics and collision removal on enclosed expressions that includes tempo definitions with upstem notes
      -Gold only: When changing the measurement unit in Perfect Layout a minor rounding inconsistency (e.g. 799.99 instead of 800 EVPU) could occur on the two "Systems->Max. Distance Between Staff Systems" values. Fixed now.
      -PL Gold: Added three new options to the user dialog for the new "break lyrics alignment feature":
      "On Huge Vertical Leaps Create Two Separated Lyric Blocks per Staff System"
      "Min. Horizontal Distance Between Two Lyric Blocks": the default value 4096 EDUs (=4 beats).
      "Min. Vertical Distance": the default value is 67 EVPUs.
      In PL Silver/Silver400 the default values are used.

      New features:
      -RGP Lua 0.68+: When a new update is found, the plug-in will now list all the new features and improvements of the new version.
      (Note: RGP Lua 0.68+ is NOT supported yet by Perfect Layout. Because of the new Lua version 5.4 that it uses there are still some incompatibilities. It will be available in a later update.)

      ;v3.0193 2024-03-22
      Improved:
      -In some cases lyrics improved handling of lyrics above the staff for optimization of staff distances
      -Improved handling of repeat symbol visibility, if repeat symbols are hidden in the staff properties of some staves
      -Improved detection of linked expressions in score/linked parts when the expression is horizontally aligned to start or end of measure and the measure position is set to a value not equal to 0.
      -Improved support for corrupted smartshapes (removed an error message that could occur in rare cases)
      -A few minor processing speed improvements
      -Improved detection of coda expressions at the start of the coda block
      -Corrected the lyrics distance value "Distance to Bottom Staff Line". In previous versions the "Distance to Lowest Note" value was added to this value. Now it's only the distance to the bottom staff line. Unless you use the default value (which is automatically adjusted with this update), make sure to update this distance value. The new default value is 36 EVPU. The old value was 14 EVPU (+ 22 EVPU from "Distance to Lowest Note" = 36 EVPU).

      New feature:
      -Perfect Layout will break lyrics alignment into two blocks per staff system, if there are two separated lyric phrases where one lyrics text is placed very far away from the bottom staff line and one very close.
      They must be at least separated by x EDUs, while the default value is 4096 EDUs (=one empty 4/4 bar).
      This is only activated if there is only one line of lyrics.

      ;v3.0191 2024-03-14
      Fixed:
      -In very rare cases an error message could occur on MusicXML imported documents with certain expression properties. Fixed now. (Bug introduced in v3.018)
      -macOS: in very rare cases an error message could occur on using "Bold Italic" fonts. Fixed now.

      Improved:
      -Improved collision detection of word extensions on lyrics staves if the word extension has a large offset at the end
      -Improved handling of documents with corrupted staves with negative staff IDs
      -Improved detection of dynamics above the staff with vertical alignment set to "Staff Reference Line"
      -In some cases improved horizontal placement of dynamics above lyrics staves
      -In some cases improved metrics of word extensions
      -In some cases improved placement of hairpins below word extensions and hyphens
      -Improved metrics on percussion staves on note clusters with unknown percussion maps
      -In some cases improved connection of hairpins with dynamics, if the staff has several hairpins below and above the staff.
      -Improved next staff detection in 3-staff groups when the inner staff is completely hidden
      -The "Maestroquartertones", "Accidental" and "Graphira" fonts are supported
      -In some cases improved tuplet number placement on tuplets with "Center number using duration" activated
      -Hidden slurs remain hidden even if "Reset Manual Slur Adjustments" is activated
      -In some cases improved metrics on some slurs with a system break, on flipped slurs with direction set to "Over"
      -Finale 26/27: in some cases improved metrics on slurs with articulations on the inner notes
      -Improved (non-)detection of rehearsal mark-like expressions that have huge horizontal or verticals offsets above 500 EVPU
      -In some cases improved staff distances on (empty) lyric staves if more lyric staves follow below
      -A few minor processing speed improvements

      ;v3.0189 2024-03-06
      Fixed:
      -In rare cases an error message could occur on pedal articulations in combination with hidden staves. Fixed now.
      -In very rare cases an error message could occur on custom lines with a system break. Fixed now.
      -An error message could occur in a scenario with lyrics, rests and niente hairpins in the same measure. Fixed now.

      Improved:
      -Custom lines far away from the staff (left and right offset >500 EVPU) are ignored for staff spacing
      -Custom lines with an empty space symbol for as line character are ignored for spacing on the inner staves if they span at least three staves and thus the inner staves don't have any line or text symbol from this custom line.
      -In some cases improved spacing of tempo marks, if there are at least four text expression above the staff (one rehearsal mark, one tempo expression and two other expressions)
      -Improved detection of movement title page texts when they overlap with the staff system
      -A few minor processing speed improvements
      -Improved placement of smartshapes above the staff in some cases
      -Improved handling of very badly placed (corrupted?) hairpins where the start point is attached to the end of the measure and the end point is attached to a measure position beyond the duration of the measure. Still these hairpins are not handled perfectly, because the intended end point is unknown.
      -Improved staff/system distance slider values for extra space in vertical spacing when there is very much free space between the systems on less than 4 systems per page with a max. of 3 staves.
      -RGP Lua: Making PL compatible with RGP Lua v0.67/Lua 5.4 (Region problems)

      New feature:
      -To avoid collisions of articulations with lyrics and to prevent the lyrics from being shifted too far away from the notes, two new options have been added for articulation placement on lyric staves (see Gould, Behind Bars, p.434)
      Articulations->Shift Articulations on All Lyric Notes Above Staff (deactivated by default)
      Articulations->Shift Articulations on Low Lyric Notes Above Staff (activated by default)
      This option moves all articulations that could interfere with lyrics to above the staff. On the "Low Note" option you can set max. distance below the staff that is stil ok before shifting the articulation to above the staff (default value 42 EVPU).
      In PL Silver/Silver400 the default setting is always used.

      ;v3.0187 2024-01-29
      Fixed:
      -Improved movement title detection in page texts. In some cases, especially when combining fixed size fonts with non-fixed fonts the detection didn't work and could lead to movement title placement at the wrong position. Fixed now.

      Improved:
      -Improved detection of tuplet bracket collisions with ties
      -In rare cases improved vertical lyrics layout (when there are two verses at the beginning of a system and the system ends with only a third verse in the last measure)
      -In case of at least three layers with two rests and one note at the same measure position, there will be no consolidated rests on the middle of the staff anymore. Even if "Optimize Rests->Force Consolidated Rests" is activated.
      -In some cases improved detection of invisible lyrics (which leads to improved staff metrics and staff distances)
      -Improved handling of several l.v. tie articulations on chords
      -In some cases improved collision removal on expressive text on the same beat with dynamics that also collide with accidentals.
      -Improved decision of whether tuplet brackets are required for the case of notes where the duration was slightly changed manually (for playback purposes) and where the duration doesn't match its actual note length. Accetable is note duration deviation of 30 EDUs
      -Improved metrics of the bottom staff if the bottom staff has more than 96 EVPU of size (e.g. 6 strings or 5 tab lines with wider line spacing).
      -Two ending brackets (without repeat brackets) in adjacent measures don't overlap anymore, when the repeat bracket is missing in the first measure.
      -Improved metrics and collision detection on double flats and double sharps
      -RGP Lua: Making PL compatible with RGP Lua v0.67/Lua 5.4 (Beat chart and measure width problems)
      -Small measure texts above the first measure that actually should be page texts are ignored in vertical system spacing (e.g. composer names)
      -Improved support for ffz, ffp, fsf and fffz dynamics
      -A few minor processing speed improvements
      -Two more preview images added
      -In some cases improved placement of dynamics in MusicXML documents
      -Resets the corrupt cross staff note entry flag if no cross staff notes are found
      -RGP Lua/Fin26+27: in some cases improvement placement of articulations on slur start and end notes
      -Improved metrics for fonts that have integrated enclosures (like EnclSans or RehearsalSans), if they are used for measure numbers or rehearsal marks.
      -Improved slur metrics if the start or end note has two articulations where one has the "inside slur" and the other one the "auto inside/outside" flag set, but still are both placed outside the slur.
      -Improved detection of percussion notation staves, if neither the staff name nor the instrument attribute includes any hints. Now the group name and the staff clef are also taken into account. This is relevant for some percussion specific notation features.
      -Improved width optimization of single empty bars.
      -On rhythmic notation where an accent is set below the staff (instead of above), then a dynamic on the same measure position will not be moved before that (very low) note anymore, because the accent will be moved on top (if that feature is activated).
      -Improved detection of tempo alteration expressions visually connected with dashed smartshape lines.
      -Slur to tie conversion now also takes place when both notes have the same pitch, but one has the enharmonic flip bit set to "not flip".
      -JW Lua: Added a new warning message to check if 'Document Options->Accidentals->Use cross-layer accidental positioning' is activated if the horizontal alignment of multiple accidentals feature is activated. This mainly affects very old Finale documents from the 90s, as the cross-layer feature is activated by default in all new Finale templates.
      -RGP Lua: If the plug-in is run on a selected region only (and not the full document) and 'Document Options->Accidentals->Use cross-layer accidental positioning' is not activated, then the 'Alignment->Alignment of Multiple Horizontal Accidentals' feature is now deactivated. Otherwise it would be possible that duplicate accidentals on multi-layer unisons pop up. This mainly affects very old Finale documents from the 90s, as the cross-layer feature is activated by default in all new Finale templates.
      -RGP Lua: If Perfect Layout activates Finale's 'Document Options->Accidentals->Use cross-layer accidental positioning' on old documents, then Perfect Layout will remove all accidental duplicates that are generated on multi-layer unisons that only have one accidental to keep the original accidental look of the old document.
      -Piu, subito and sempre text expressions are not shifted before a dynamic anymore, if the dynamic is connected to a hairpin on the left
      -RGP Lua only: If "Use Cross-Layer Accidental Positioning" is not activated, Perfect Layout will now keep the congruent position of identical accidentals on multi-layer unisons.
      -The "Document Options->Music Spacing->Maximum Measure Width" is not reset to 1800 or 2000 EVPU anymore, if it was set to a value above 1800 EVPU before running Perfect Layout.
      -Improved detection of hidden measure numbers when "Clear Individual Measure Number Positions and Visibility" is deactivated
      -In some cases improved placement on dynamics on very low notes (if followed by expressive text expressions)
      -Improved handling of (misused) slurs as laisser vibrer ties or articulations
      -Improved recognition of text elements on the first page that are actually invisible (far outside the page)
      -Improved metrics of enclosed rehearsal marks with thick lines
      -Improved collision detection for hairpins (far) above the staff on upstem notes
      -Improved detection of rehearsal mark expressions in case of combined rehearsal mark plus tempo mark text expressions.
      -Improved handling of jazzy "Fall" articulations
      -Improved handling of colliding copyright page text at the bottom of the first page when "Expand Horizontally" is deactivated for that text block
      -In some cases improved tuplet metrics

      New feature:
      -Tuplet collisions with accidentals are now detected and fixed

      ;v3.0185 2023-12-13
      Fixed:
      -When running the plug-in on the last page of a multi-page part an error could occur caused by the page turn optimization feature. Fixed now.

      Improved:
      -In Finale 27.4 the option "Alignment->Alignment of Measure Numbers->Move Left-Aligned Measure Numbers onto Barline" is now deactivated by default as this is a new built-in feature of Finale 27.4.
      When Perfect Layout supports RGP Lua 0.69+, it will read the Finale option and activate the value again when it's deactivated in Finale.
      -In some cases improved tuplet metrics on tuplets that end at the barline and which have the "Bracket Full Duration" option activated.
      -Improved PDF manual
      -The log file now includes the version number of the plug-in.

      ;v3.0183 2023-10-28
      Fixed:
      -On cue note sections that include clef changes and transposed instruments, the key signature will not change to the score key signature during these empty bars (in the score) anymore. The original transposed instrument key signature will remain visible during these empty bars in the score.
      -If there were two chord symbols in one measure at the identical measure position, an error message could occur. Fixed now. However, stacking of chord symbols is not supported in Perfect Layout. If you need two chord symbols on top of each other, please do it manually.
      -When the "Deactivate All Settings" preset is loaded, then the measure number alignment will now be saved correctly as "Keep Current Position" (and not as "Automatic Detection" anymore).

      Improved:
      -Improved vertical staff distances on two-staff groups (e.g. piano) when a dynamic is placed at least -185 EVPU below the top staff on a cross staff note.
      -If "Alignment->Place Rehearsal Marks at Start of System" is set to "Keep Current Position", then the rehearsal marks will stay at their position even if they get horizontally very close to measure numbers.
      -Improved dialog: when run on parts only, the option "Alignment->Place Measure Number at Start of System" is disabled in the dialog.
      -Improved font name and font file detection: scanning the font files now takes a slightly longer, but detects more different (sub-)font names.
      -Windows only: new software certificate
      -In some case improved alignment of rehearsal marks with tempo marks when the alignment option "Per System (On the Line of Best Fit)" (Don't Skip Rehearsal Marks) is selected and some other tempo marks on that system absolutely don't fit on that line.
      -Improved detection of multi-word "molto" expressive texts below hairpins (e.g. "molto cresc.")
      -On cue note sections that include empty bars and clef changes in the score, the unnecessary clefs in the empty bars are now also hidden by default.
      -Hairpins with a width of 1 EVPU or less are not taken into account for measure widening anymore, as they probably are not used as standard hairpins.
      -Gold only: The option "Alignment->Measure Numbers->Move Left-Aligned Measure Numbers onto Barline" can now be deactivated. By default (and it Silver) the option is still activated.
      -In some cases improved vertical alignment of repeat brackets
      -Windows only: Support of non-850 ANSI Code Pages for the activation of the plug-in (e.g. Taiwan Windows).

      New features:
      -Dashed or solid lines that are visually connected to expressions can now be aligned horizontally with them (but not vertically!). The horizontal distance can be set with the new option "Align Expressions with SmartShape Lines Horizontally. Distance: x EVPU". In PL Gold this option is on the "SmartShapes" tab, in PL Silver it's on "Alignment".
      -Gold only: New option "Repeats->Hook Heights". With this option you can select whether the hooks of repeat endings will remain their height when shifted upwards or whether they should be extended. By default "Auto-Detect" is selected which automatically analyzes the hooks of the first three repeat endings.
      In PL Silver the auto-detection is always used.

      ;v3.0181 2023-10-26
      Fixed:
      -RGP Lua only: In very rare cases the pickup measure duration was reset to 0 as RGP Lua falsely reported invisible rests on beat 1 as visible although they were actually hidden because of the pickup measure setting. In JW Lua this problem didn't occur. Fixed now.
      -In rare cases an error message could occur on dynamics/hairpin connections. Fixed now.

      ;v3.0179 2023-10-24
      Fixed:
      -The "ES Perfect Layout - Apply to Parts Only" plug-in could throw an error message in the Ialian and Japanese version of Finale. Fixed now. (Bug introduced in v3.0177)

      Improved:
      -Improved DOS code page error message
      -Imprved placement of dynamics on two-staff groups (e.g. piano) with cross staff notes that have a default placement above (!) the staff, but which are placed below the staff.
      -Improved detection of duplicate identical expressions on the top staff when one expression is assigned both to score and part, and one expression to score only.
      -In some cases improved hairpin/dynamics connection
      -Improved detection of tempo mark expressions with notes made of grace note symbols
      -Italian Finale version only: support for plug-in detection. Needed for the "ES Perfect Layout - Apply to Parts Only" plug-in and for accessing other plug-ins.
      -In some cases improved vertical distance between two-staff groups (e.g. piano) in scores that also include other instruments.

      ;v3.0177 2023-09-30
      Fixed:
      -Silver only: The "Repeats..." text in the user dialog appeared on the wrong tab. Fixed now.
      -On corrupt documents with invisible custom smart lines in rare cases an error message could occur when the invisible smart line ended in a deleted measure beyond the current last measure. Fixed now.

      Improved:
      -If an extracted part includes fretboards, then "Chords->Set Chord Alignment to 'Left'" feature is not activated by default anymore.
      -During the beta phase the beta download is now correctly preselected when calling the download dialog from within the plug-in.
      -On collisions of right-aligned coda symbols with measure numbers above the barline from the next measure, the coda symbol is moved before the measure number.
      -Improved horizontal alignment of dynamics followed by a technique/expressive text expressions when the technique/expressive text expressions starts at the exact horizontal position as the dynamics. It's not necessary anymore to be place them slightly to the right.
      -Windows: Improved DOS code page error message on the "Beta: Use Unicode UTF-8 for worldwide language support" option. It will now appear less often (only when code page 65001 is selected).
      -Some minor improvements in the user dialog
      -Japanese Finale version only: support for plug-in detection. Needed for the "ES Perfect Layout - Apply to Parts Only" plug-in and for accessing other plug-ins.
      -Japanese Finale version only: support for Japanese expression category names

      New feature:
      -Two technique text expressions from the same category and with the same text style that are placed above the staff and at the same measure position are now correctly aligned on top of each other, if they were colliding.
      If they were already separated, then the top expression will remain on top. If they were overlapping, then the expression with the smaller expression ID will be put on top.
      This feature will only be activated if there are no chords in that measure.

      ;v3.0175 2023-09-24
      Improved:
      -Made compatible with the latest PHP version
      -Updated Elbsound.studio forum to the latest release
      -Added more preview images to the Gold version
      -Improved metrics calculation on unicode characters from the "nonspacing mark" category (https://www.compart.com/en/unicode/category/Mn)
      -RGP Lua only: Improved support for fractional time signatures like 16.25/4

      ;v3.0173 2023-09-11
      Fixed:
      -Under the contradictory situation that a linked part didn't have multi-measure rests yet, but multi-measure rest creation was activated in PL, while at the same time "Only With Systems" was activated in the Finale "Measure Reflow" settings, an error message could occur under certain multi-measure rest scenarios. Fixed now.
      -The "Double Barline Preceding Key Changes" feature in Finale is not activated anymore when an invisible key signature change on a percussion staff is detected.
      -In some cases the distances between empty and used single line tablature staves could be slightly different (e.g. in guitar tabs). Fixed now.

      Improved:
      -Added more preview images to the Silver version
      -Added an error message when the default DOS code page is set to a value other than 850. This typically occurs when the Windows Beta option 'Beta: Use Unicode UTF-8 for worldwide language support' is activated in the Windows "Region Settings" dialog. It's a known Windows issue that this option doesn't support old DOS commands like the ones Perfect Layout requires.
      -Improved detection of invisible key signature changes
      -A score consisting only of one staff plus its tablature staves is now detected as a part, and not as a score anymore.
      -Updated the macOS installer builder to work with notarytool instead of altool

      New feature:
      -Added collision detection for tablature staves with stems and beams over/under the staff. In previous versions the stems and beams were ignored.

      ;v3.0171 2023-09-05
      Improved:
      -Improved PDF manual
      -Windows/RGP Lua: The self-update feature has been improved. Self-update sometimes did not work on slow computers.
      -Added one more other error message for self-update problems
      -Improved Spanish translation
      -Windows: Improved stability and more error messages for the activation process when (probably) the antivirus system blocks the activation
      -Some improvements to the new "vertical alignment of ending repeat brackets" feature
      -Added some preview images

      ;v3.0169 2023-08-18
      Improved:
      -Improved Spanish translation
      -Windows: Improved antivirus resistency during the activation process. There should be less false antivirus alerts now (especially with BitDefender Total Security).
      -Improved detection of copyright page texts below first page/first systems when the same copyright text also appears on a text only page before. This leads to improved system margins on that page.
      -When the "Use Thin Inner Barline" is selected in the repeat prefences and the repeat bracket spans multiple measures, then in some cases the width of the repeat bracket is improved
      -Improved violin clef metrics when the previous staff system ends with a double or final barline.
      -When "Optimize Slur Settings" was deactivated, then "Optimize Slur Systen Break Settings" was still activated on the next plug-in start. Fixed now.
      -Improved support for bars with only one centered note (as often in old scores from the 19th century)
      -In rare cases improved placement of tempo/rehearsal marks on slur collisions with the previous measure.
      -One more "Black Popup Window" on Windows removed
      -Improved section dection and improved measure layout: in more cases shifting of a measure that starts with repeat bracket to the start of a system, and a measure that ends with a repeat bracket to the end of a system. It depends on the amount of free horizontal space and only occurs if only one measure is shifted to the previous or next system.
      -In some cases improved staff distances on piano notation in case of hairpins with expressive text below.
      -In some cases improved measure width on wide tempo/rehearsal marks above the staff that go past the barline when the next bar starts with an expressive text expression on beat 1
      -Improved processing speed for searching dynamic expressions in a given region
      -Improved connection of dynamics with hairpins where the dynamic has a large horizontal offset (compared to the attached beat position), but it is visually attached to the hairpin in the score
      -Manual break offsets on slurs that span multiple systems and that at least have two bars in between on the second system are not removed anymore
      -Improved calculation of estimated new measure widths and horizontal stretching for checking if shifting a measure to the previous/next system makes sense
      -Improved placement of technique expressions that go beyond the right margin of the system
      -In some cases improved measure reflow on tempo/rehearsalmark collisions
      -Improved compatiblity between the measure reflow options "Maintain System Locks" and "Remove System Locks" when a part has no locked systems
      -Support for detecting and eliminating collisions of repeat texts with multi-measure rest numbers in SMuFL documents
      -The "Freeze Stem" not flag is not deleted anymore on a certain cross staff notation scenario.
      -In some cases improved placement of rehearsal mark letters after an ending bracket instead of above
      -Cue texts on highpitched stem-up notes above the staff don't collide anymore with the note

      New feature:
      -Vertical alignment of first and second ending brackets is finally available in Perfect Layout.
      You will find this new feature under "Groups/Repeats->Repeats->Align Ending Repeat Brackets Vertically".
      With the first release of this feature all notation elements will be put under the ending bracket, except tempo and rehearsal mark expressions.
      Current Limitations:
      The feature currently only works in scores with just one repeat bracket per measure (e.g. not one bracket above the score and one bracket somewhere in the middle of the staves). Also the property "Allow Individual Edits per Staff" must be deactivated for the repeat element.
      However, ending brackets in linked parts are already supported.
      At the moment the feature has six options:
      1. "Align Ending Repeat Brackets Vertically": (de-)activates the feature
      2. "Reset Ending Brackets to Default Height": If deactivated and a bracket was manually set to a high offset, it will remain there. I.e. it will only be shifted upwards on collisions, but never shifted downwards. If activated, the plug-in will always first reset the brackets to the default distances and increase the distance on collisions.
      3. Gold only: "Additionally Reduce Default Height On 1-Line Staves": on 1-line staves the height of the ending repeat can be reduced which usually looks better (default reduction: 20 EVPU)
      4. Gold only: "Reset Ending Text Position": if activated, the ending text position will first be reset to the default position and shifted upwards in case of collisions. Deactivated by default and in Silver.
      5. Gold only: "Vertically Align All Adjacent Ending Brackets": by default it aligns all adjacent brackets on a staff system vertically. If deactivated, each ending bracket will get its individual height.
      6. "Vertical Distance on Collisions": the distance of the bracket/ending text to the next notation element (20 EVPU by default)

      -Gold only: New option "Reset/Hide->Reset Note Offset to 0 even for Bars with Only one Note" (deactivated by default). If there is only one note in a bar that lasts for the whole measure duration, it is common in older notation to have these notes centered in the middle of the bar.
      By default Perfect Layout now keeps these notes centered unless they have a shorter duration than the measure duration.
      In Silver this feature is always deactivated which means that shifted single notes that last for the full measure or longer always keep their current offset.

      ;v3.0167 2023-08-09
      Fixed:
      -In corrupt documents (invalid staff IDs with values above 15000) in rare cases tempo/rehearsal expressions with a staff list would be hidden in parts. Fixed now.

      Improved:
      -In some cases improved slur metrics on system breaks and with custom slur offsets. Typically this is not relevant with the default settings of Perfect Layout, but only when "Reset/Hide->Reset Manual Slur Adjustments" is deactivated or on special slurs where custom offsets are not automatically reset (e.g. slurs across staves).
      -Minor processing speed improvements

      ;v3.0165 2023-08-03
      Fixed:
      -Windows/RGP Lua only: In some cases the auto-update didn't install and a second message that an update available appeared. Fixed now.

      Improved:
      -Improved detection of automatic above/below staff placement of dynamics in some cases
      -Improved PDF manual
      -In some cases improved hairpin start on two staff groups (e.g. piano)
      -Improved shifting to beat 1 of a horizontally misplaced dynamics on a full measure duration chord in the last measure
      -In 3-staff groups (e.g. organ) improved assignment of dynamics to the correct staff (below top staff instead of above middle staff)
      -Improved recognition of lyrics syllables when the font changes to a font with spaces in the font name within the same verse

      ;v3.0163 2023-07-25
      -More improved collision eliminations in some cases of two note chords with two accidentals

      ;v3.0161 2023-07-22
      Improved:
      -RGP Lua: Making PL compatible with RGP Lua v0.67/Lua 5.4 (Staff system problems)
      -Fingering articulations remain at their position in multi-layer scenarios where some articulations are on the wrong side
      -Improved collision elimination in some cases of two note chords with two accidentals

      ;v3.0159 2023-07-18
      Improved:
      -RGP Lua: Making PL compatible with RGP Lua v0.67/Lua 5.4 (Staff system problems with staves with ID -1)
      -If there is a "Begin a new staff system" flag in measure 1 only, it won't trigger the warning message to remove all "Begin a new staff system" entries any more.
      -In some cases improved metrics and collision detection when custom lines are used for glissandi. However, it's recommended to use the Glissando or Tab Slide tool instead which attaches the glissando to noteheads (instead of beats).

      ;v3.0157 2023-07-12
      Improved:
      -RGP Lua: Making PL compatible with RGP Lua v0.67/Lua 5.4 (More glissando connections, lyrics baselines and a few more)
      -Improved translations and user dialog
      -Improved auto-detection for the "Systems->Adjust Top System Margin to Max. Position of Top Staff in Parts" option on page text elements that use the "Position from: Page Edge" setting.

      New feature:
      -New sub-option "Keep Duplicate Circle Symbols from String Harmonics" in the "Reset/Hide->Remove Duplicate Articulations" section. If there are multiple string harmonic articulations, then they are kept by default.
      In PL Gold this feature can now be deactivated/activated. In PL Silver it is always activated.

      ;v3.0155 2023-06-28
      Improved:
      -In some cases improved placement of tuplets in linked parts (if they had certain different settings between score and parts, and the default settings were set to "Always Flat")
      -macOS: The "System Events" problem detection is now more tolerant against macOS system library problems that shouldn't affect Perfet Layout.
      -Improved individual handling of dynamics below very low notes, if the score and the linked part have different "Display in Concert Pitch" settings
      -Improved detection if respacing is required in the case of only one chord per measure
      -Improved respacing in the case of measure stacks that only include hidden notes
      -In some cases improved placement of text repeats in linked parts when the measure width changes
      -In some cases improved placement of dynamics and hairpins on very low notes
      -Improved detection of "best layer" for optimized layer assignment of dynamics in multi-layer scenarios with linked parts that only show selected layers

      ;v3.0153 2023-06-06
      Fixed:
      -Chord placement on grouped staves where the chords are visible above the top staff, but assigned to the bottom staff could throw an error message if the chord alignment features are deactivated. Fixed now.

      Improved:
      -RGP Lua: Making PL compatible with RGP Lua v0.67/Lua 5.4 (glissando connections, accidental distances, loading pages and a few more)
      -Improved translations
      -In some cases improved placement of dynamics that were assigned to rests before a new phrase starts in two-staff notation in the bottom staff (e.g. piano).
      -In some cases improved bottom page text collision detection with the page margin on the first page
      -Invalid hairpins where the start and/or end measure don't fit the measure of the SmartShapeMeasureMark are now deleted (and not made visible anymore). A warning message is issued.
      -RGP Lua only: The processing speed was improved on huge orchestra scores (>500 measures with many staves) by using the "Change to Default/Whole Rests" plug-in instead of using a Lua function. It is required for detecting all clef changes.
      -Improved detection of instrument changes and key signature changes when one instrument uses a percussion notation and the other one doesn't
      -In some cases improved measure number placement when there differrent placements between the score and linked parts
      -Improved handling of invalid/corrupt text expressions
      -Slightly improved metrics on the measure number ranges below multi-measure rests

      New feature:
      -Invalid staves (ID:-1) are now detected and removed.

      ;v3.0151 2023-05-28
      Fixed:
      -RGP Lua: in some cases the tie placement and contour settings were not set to the default values. Fixed now.

      Improved:
      -Corrected accidental symbols in the font engine for the latest versions of the fonts November2 and Sebastian (SMuFL)
      -RGP Lua: Making PL compatible with RGP Lua v0.67/Lua 5.4 (FCBeatChart.ReferenceWidth, FCSmartShapeSegment:SetEndpointOffsetX, FCExpression:SetHorizontalPos, FCExpression:SetVerticalPos, FCTextRepeat.HorizontalPos)
      -Improved support for niente symbols from text fonts that end with a dot ("n.")
      -macOS: better error codes when entering the wrong or no password during the auto-update feature
      -When multiple layers are used, then in some cases improved placement of articulations on articulations with slur/tie collisions
      -Improved translations

      New feature:
      -Gold only: New suboption "MMRests->Allow Reflow Across Pages". When automatic measure reflow on multi-measure rest (re-)creation is activated, this new option let's you decide whether the measures will reflow across pages when "Finale->Preferences->Edit->Reflow Across Pages" is deactivated.
      In previous versions this was always activated. It's still activated by default and in the Silver edition.
      -RGP Lua/Finale 27 only: When most of the "Smart Shape Placement" settings are still set to 0,0, Perfect Layout initializes the slur placement settings with Finale's default settings. However, for whatever reason this does not work with very old files created with Finale v1.x or v2.x.

      ;v3.0149 2023-05-26
      -In some cases of tuplets on note clusters improved tuplet metrics
      -Better support collisions of percussion notes that are not found in the percussion layout. However, it's recommended to always have the used percussion notes included in the percussion layout.
      -RGP Lua: Making PL compatible with RGP Lua v0.67/Lua 5.4 (Angle calculation, HorizontalPos limit)
      -Less log messages when several duplicate identical expressions are found on the same beat

      ;v3.0147 2023-05-22
      Improved:
      -RGP Lua: Making PL compatible with RGP Lua v0.67/Lua 5.4 (FCSystemStaves with no staves, tonumber() with numbers, support for negative chord suffix IDs, FCPage:GetFirstSystem)
      -Wide text expressions on beat 1 that collide with a rehearsal mark in the next measure now also widen the measure if their expression category name is user-defined, but the expression definition is set to break multi-measure rests.
      -Slightly improved processing speed
      -Improved metrics on inverted backwards oriented slurs
      -Improved automatic adjustment of the "Adjust Top System Margin to Max. Position of Top Staff in Parts" feature
      -RGP Lua: Automatic activation of the "Layer/Cues->his document uses linked parts with "Specify Voicing"..." feature if necessary
      -Improved vertical spacing of systems in linked parts: if optimized page turns leads to only few systems per (<=6), then they are less often spread to the bottom of the page. (In previous versions it was set to <=5)
      -Improved detection of rehearsal mark with repeat bracket collisions on the top staff when "Ending & Text Repeats" is deactivated in the staff attributes dialog, but the repeat bracket is set to "Top Staff" only
      -Improved collision elimination on rehearsal marks with repeat brackets
      -The default value of previous systems to search in for good page turns is now "2" (was: 4).

      New feature:
      -Invalid negative chord suffix IDs are repaired (reset to 0).

      ;v3.0145 2023-05-11
      Fixed:
      -Windows only: some rare cases the automatic self-update didn't install the update, but confirmed that it was correctly installed and would ask again for the update installation on the next run. Fixed now. (Bug introduced in v3.x)

      Improved:
      -Windows/RGP Lua only: more prevew images included in the installer

      ;v3.0143 2023-05-09
      Improved:
      -Improved placement of dynamics on slash notation staff styles in empty measures that include only quarter rests (instead of no rests or a whole rest)
      -Improved rest optimization under slash notation staff styles with measure counting expressions
      -Coda expressions that are set to align with the "Horizontal Click Position" and which have a huge offset (>30 EVPU) are not reset to 0 EVPU anymore as it is unclear where are to be placed exactly.
      -Improved detection of coda symbols in expressions for shifting down coda systems
      -RGP Lua: Making PL compatible with RGP Lua v0.67/Lua 5.4 (FCBeatChartElement:SetWidth requires EVPU16 value)
      -Improved PDF manual
      -Improved page turn optimization when empty bars are found at the end of the first system on the next page, but not in the previous systems

      New feature:
      -New option: "Systems->Distribute Single Staff Systems Evenly Over Last Two Pages if at Least (5) Systems on Last Page".
      When activated (by default), this feature distributes all systems on the last two pages evenly.
      When deactivated, it's possible that the last page only has very few systems which only fill the top part the page.

      ;v3.0141 2023-05-07
      Fixed:
      -RGP Lua only: In documents with linked parts that use the "Specify Voicing" setting in some cases an irrelevant debug message is shown during the startup phase of the plug-in (Bug introduced in v3.0139)

      Improved:
      -Improved translations

      ;v3.0139 2023-05-04
      Fixed:
      -When only partial systems on a page in a linked part were selected, in some cases their bottom margins would be decreased. Fixed now. (Bug introduced in v3.x)

      Improved:
      -RGP Lua only: on a staff that is included with the "Specify Voicing" option in linked parts the feature "Layer/Cues->Remove Unnecessary Use of Layers 2-4, if possible" is not executed anymore
      -Improved vertical spacing of systems in linked parts: huge vertical gaps are now removed automatically.
      -Improved vertical spacing of systems in linked parts: if optimized page turns leads to only few systems per (<=5), then they are less often spread to the bottom of the page. Now the bottom of page is now usually left free.
      -Added "Lelandia" fonts family to the list of known music fonts
      -Improved detection of page texts if only some measures were selected or when running the plug-in on parts only

      ;v3.0137 2023-04-25
      Fixed:
      -In rare cases an error could occur because of system reflow across pages (Bug introduced in v3.0135)

      Improved:
      -Very long rest symbols (8192, 16384, 32768 EDUs) are not converted to whole rests anymore if there is only one of this rest in a measure.
      -Very large copyright texts (e.g. on medleys) are now also detected correctly for the automatic adjustment of the bottom margin of the first page.

      ;v3.0135 2023-04-13
      Fixed:
      -On smartshapes that span at least three systems and two pages in some cases a rehearsal mark/tempo mark/tempo alteration expression could be placed at the wrong vertical position. Fixed now.
      -When clicking on "Load->Last Saved Settings" the measure number alignment setting and the rehearsal mark aligment setting sometimes selected the wrong algorithm. However, this didn't occur with the last saved settings that are automatically loaded when starting the plug-in: in this default case the plug-in always selected the correct algorithm. Fixed now.

      Improved:
      -Perfect Layout's check and warning message if "Display in Concert Pitch" is activated now works again in Finale 26 and 27. In Finale 25 it only works correctly in the default "RGP Lua" engine (in JW Lua it's deactivated in Finale 25). It also works correct (and has always been) in Finale 2014/2014.5.
      -When a half rest is used in a 2/4 measure (instead of a whole rest), it is automatically converted to a whole rest. If the half rest was also shifted to the right, its position will be reset as whole rests are automatically placed in the center of the bar.
      -All four system divider symbols from SMuFL fonts are now detected correctly (0xE007 - 0xE00A).
      -Improved placement of system dividers (slightly higher)
      -Improved vertical system/staff spacing in parts
      -Improved installer stability for finding the node.js files
      -Improved detection of font files with style names (bold, italic, etc.) on non-English Windows/macOS
      -Improved page turn optimization algorithm (very wide measures on the next page are avoided as they probably can't be shifted to the previous system)
      -Predefined arpeggio symbols are now supported in horizontal alignment if they don't have the "Copy Main Symbol" articulation property activated
      -Improved default value for "Systems->Max. Distance Between Staff Systems (Parts)": 280 EVPU (instead of 300 EVPU).
      -Added one more scenario for vertical dynamics alignment on the baseline

      New feature:
      -New expression tag "USEENCLOSURE": if an expression has an opaque enclosure without a visible border, then this tag will force Perfect Layout to use the margins of the opaque enclosure as the metrics for collisions. Without that tag it would use the metrics of the text symbols even if the opaque background is slightly bigger than the text.

      ;v3.0133 2023-04-11
      Fixed:
      -Fixed dialog in the Silver version: the options "Systems->Max. Distance Between Staff Systems" were overlapping.(Bug introduced in v3.x)

      Improved:
      -Support for the expression category names in the new French edition of Finale 27.3
      -Improved detection of font files on non-English Windows/macOS, especially for the French edition of Finale 27.3/Windows 11.
      -Improved PDF manual

      ;v3.0131 2023-04-04
      Fixed:
      -In a rare combination of much free space on the first page, a strong system reduction, several hidden staves and activated system reflow across pages, it was possible that a system moved to the first which messed up some metrics on the following pages. Fixed now. (Bug introduced in v3.x)
      -In one case the option "Express.->Max. Vertical Snap Distance" was grayed out though it had to be enabled. Fixed now. (Bug introduced in v3.x)

      Improved:
      -Windows: Some improvements on font file detection
      -Improved detection of movement names on first page
      -Improved PDF manual
      -Added more help for rare installation problems to the FAQ
      -In some cases improved vertical system layout at the top of the page in parts
      -Cue notes on slash/rhythmic and repeat notation are not taken into account anymore for automatic detection of cue note layers and removal of cue notes in the score
      -"Express.->Vertical Offset to Closest Symbol" is not cut off at 50 EVPU anymore. The new max. value is 300 EVPU.
      -Improved placement of rehearsal letters over fixed size measure numbers on individually resized staves
      -In some cases improved placement of measure numbers at system start
      -Improved auto-detection for the best setting of "Adjust Top System Margin to Max. Position of Top Staff in Parts" option. When "Reflow systems across pages" is activated and the staff systems don't have a huge top margin (<=110 EVPU), it's not deactivated automatically anymore. Make sure to put your top page texts above the top page margin before running Perfect Layout to avoid collisions with systems.
      -Gold (only:) The "Slur/Tie/Gliss" tab has been renamed to "SmartShapes"
      -Added more fonts to the list of known music fonts (Bravaccidental, Engraver Time C)

      New feature:
      -Gold (only): The distance of smartshapes above the staff (i.e. trills, ottava lines) can now be set on the new "SmartShapes" tab. Three distances are available: distance to top staff line (default: 25 EVPU), distance to top staff line on 1-line staves (58 EVPU), distance to top note symbol (23 EVPU). These settings were already used in previous versions, but were not adjustable.
      -New expression tags "DONOTRAISE" and "DONOTLOWER" for text only expressions that are affected by the "Snap Text Expressions to Symbols" feature. This feature prevents a placement too close to the staff while at the same it allows movement away from the staff in case of collisions.
      If the description text of the expression includes any of these tags, the expression will not be moved closer to the staff than the default settings of the expression allow. I.e. the expression is "stopped" at its baseline. "DONOTLOWER" is for expressions above the staff, "DONOTRAISE" for expressions below the staff.

      ;v3.0129 2023-03-18
      Improved:
      -Improved PDF manual
      -Minor improvement in processing speed
      -Set the minimum version number for RGP Lua to v0.66. Make sure to not have any older versions of RGP Lua in any other Finale plug-in folder.
      -Improved measure number alignment at system start for the "Above/Below Clef" options
      -On detected movement names as page texts, PL now automatically sets the "Begin a New Staff System" attribute, so that the the start measure of the new movement always remains at the beginning of the measure, even if "Reflow Measures Across Systems" is activated.
      -Improved measure layout optimization if the document includes several movements separated by page texts
      -macOS: Added more error messages
      -macOS Installer: Improved stability
      -Making PL compatible with RGP Lua v0.67: some improvements on mathematical functions
      -In some cases improved vertical system distances in linked parts (especially on the Tight Spacing option)

      New Feature:
      -New options: "Centered above Clef, Center Justified, Above Staff" and "...Below Staff" are two new options on "Alignment->Measure Number Alignment at System Start"
      -New option: "Systems->Max. Distance Between Staff Systems (Parts)". The max. distance between staff systems can now be set for score and parts separately. By default this is handled automatically. So you have to activate each option manually. The score uses a default of 800 EVPU, loose spacing 300 EVPU and tight spacing 200 EVPU.

      ;v3.0127 2023-03-13
      Improved:
      -The Perfect Layout installer now includes RGP Lua v0.66
      -Making PL compatible with RGP Lua v0.66: no more dialog pop-up at the end of the processing when using Perfect Layout in batch processing
      -Making PL compatible with RGP Lua v0.66: Updated the "Apply to Parts Only" plug-in to work with the "return value" feature of RGP Lua.
      -Making PL compatible with RGP Lua v0.66: Music spacing now also works in the redesigned beat chart spacing behaviour of RGP Lua v0.66
      -Making PL compatible with RGP Lua v0.66: In rare cases an error message came up in PL's "Time Signature Width" function which didn't occur in previous versions. Fixed now.
      -Probably less false positive antivirus alerts by having even more tools directly included in a single RGP Lua file
      -Added more fonts to the list of known music fonts
      -Windows: Improved installer stability for installations in Finale 2014 and 2014.5
      -macOS: Improved installer for updating the RGP Lua version
      -macOS: Improved installer when changing the installation folder
      -Improved music spacing with lyrics over hidden notes and multiple layers with repositioned notes
      -The "Apply to Parts Only" plug-in now displays the current RGP/JW-Lua version number in the title to make it easier to track version-related issues
      -A user reported that after the "Apply to Parts Only" the user dialog wasn't visible anymore because the JALAYOUx.ini file included "nil" instead of "false" values values for the bypassing of the user dialog. This could not be reproduced, but we have added a fix that prevents a nil value.
      However, if you force-quit the "Apply to Parts Only" plug-in durig the processig, it is possible that the user dialog is suppressed next time.
      In this case follow the solution in the FAQ on how to reveal the suppressed user dialog ( https://elbsound.studio/perfect-layout/faq.php#go-to-other37 ).

      New:
      -Support for corrupt staff systems where the first measure of the staff system is set to 0. This probably comes from very old versions like Finale 3.5.
      Perfect Layout will reapply a page update which fixes this issue.

      ;v3.0125 2023-03-09
      Improved:
      -Improved music spacing with lyrics over hidden notes and multiple layers with repositioned notes
      -Improved log files for the Node.js installer
      -Windows/Finale 25-27: Less black and blue popup Windows in the "Apply to Parts Only" plug-in
      -Windows: improved installer stability

      ;v3.0123 2023-03-01
      Fixed:
      -Under certain circumstances the "Two Activation" license had problems when one computer had a IPv4 address and the other one an IPv6 address. Fixed now.
      -If no staffsystem is visible in the score at all (i.e. Finale is used for non-music things), then an error message could occur. Fixed now. (Bug introduced in v3.x)
      -If the activation of the plug-in has failed, then in very rare cases an error message could occur. Fixed now. (Bug introduced in v3.x)

      Improved:
      -Windows/Finale 25-27: Less black and blue popup Windows.
      -Improved music spacing on lyrics over hidden notes
      -Improved closer vertical staff spacing if lyrics below staff are also intended for the staff below. The lyrics spacing follows the values for piano two-staff groups (default distance 280 EVPU).
      -In some cases of multi-layer bars with slurs improved vertical placement of lyrics
      -Improved detection of page text elements that mark new movement starts

      ;v3.0121 2023-02-23
      Fixed:
      -Fixed a bug in the PL font symbol database. (Bug introduced in v3.0097)
      -When measure numbers centered in each measure below the bottom staff had a collision and needed to be shifted down, an error message could occur if some staffsystems were totally invisible. Fixed now. (Bug introduced in v3.x)

      Improved:
      -Detection of notehead modifications if only the enharmonic flip flag was set
      -In some cases slightly improved placement of tremolo articulations on whole notes
      -Some minor processing speed improvements
      -Updated PDF manual
      -More preview images
      -No more layer optimization when a note has a smartshape and a freeze stem
      -Slightly improved slur metrics in some cases of slurs with no ending note
      -Improved horizontal placement of dynamics on stemless staff styles. Note: Stemless staff styles can lead to a number of metric problems. If possible, avoid them.
      -Chord symbols will now be placed below centered measure numbers above the staff. Make sure to give enough vertical space below the measure numbers above the staff as they won't be shifted upwards automatically in case of collisions with chord symbols.
      -Multi-measure rests are not created automatically anymore on aleatoric measures: these are detected if "Display Rests in Empty Measures" is activated on the staff, but deactivated on the current staff style.

      ;v3.0119 2023-02-21
      Fixed:
      -Gold only: When "Load Last Saved Settings" was clicked, not all parameters were loaded. Fixed now. (Bug introduced in v3.0117)

      Improved:
      -Improved "Shift Expressions From Above to Before Note if High Vertical Offset" feature if there are only rests before the expression, but also other expressions at the beginning of the measure.
      -Improved collision detection on expressions with the left barline
      -Improved text font file detection on font names with LT/MT Std, "Roman" in the file name and/or where the Finale font name is written with blank spaces and the internal OS font name is written without blank spaces.
      -In some cases improved measure number placement in extracted and linked parts
      -In some cases improved placement of articulations above ties, if the articulation has a large area below the baseline.
      -Improved tie metrics on downstemmed bottom notes

      ;v3.0117 2023-02-15
      Fixed:
      -Under rare circumstances a crash could occur when the document used a clef font that was not installed on the system. Fixed now. (Bug introduced in v3.0115)

      Improved:
      -Updated PDF manual
      -The page bottom margin on the first page is also adjusted when the page text at bottom (e.g. copyright) is accentidentally assigned to the page top with a very low offset and also appears on other pages.
      -Added more fonts to the list of known music fonts
      -Support for the Concerto, CapoScore and cap1800 SMuFl fonts
      -When SmartShapes with line style "Character" are used in the score (e.g. trill extension), PL now makes sure that the SmartShape is not shortened so that it becomes invisible: at least a "one character width" is now achieved.
      -Fermata expressions near rests (<120 EDU) are now also recognized for rest optimization. Especially in very old Finale documents where expressions didn't snap to notes, the fermata expressions were not correctly detected. However, usually it is recommended to use fermata articulations above notes and rests. Fermata expressions, for example, should be used above barlines or if unrelated to notes.
      -Improved detetion of groups where the curved group bracket is missing
      -If an unknown SMuFl is was used where the niente symbol (0xe541) is missing, then PL doesn't show an error message anymore.
      -Improved handling of barline collisions with technique text expressions

      New feature:
      -Text expressions that collide slightly with the left barline are moved to the right (like already on right barline collisions to the left)
      -New option "Shift Expressions From Above to Before Note if High Vertical Offset": Short standard technique text expressions like pizz., arco, div., a2, etc. on very high notes are now put close to the staff before the note if there are only rests before that note and if the expression otherwise would have a very high offset.

      ;v3.0115 2023-02-11
      Fixed:
      -In the rare case of an (unreadable) measure number directly on the 5 staff lines an error message could occur. Fixed now. (Bug introduced in v3.x)

      Improved:
      -Updated PDF manual (mainly the "Quickstart: How to Use"-section)
      -Measure numbers are now also corrected on clef collisions at system start if the standard clefs (violin, bass, alto) are not on their vertical default position.
      -Windows/RGP Lua: more changes to the internet access function to remove even more false positive antivirus alerts

      ;v3.0113 2023-01-30
      Fixed:
      -Windows only: In some cases the "Submit License Key" on the activation dialoge wasn't enabled by default, but only after clicking in the license key field. Fixed now. (Bug introduced in v3.x)

      Improved:
      -Windows/RGP Lua: Removed a few black popup windows
      -Windows/RGP Lua: changed the internet access function to (hopefully) be more resistent against false positive antivirus alerts
      -If a Finale document was exchanged between macOS and Windows which had different MacSymbolFonts.txt settings and used symbols from a legacy "MacSymbol Font" from the slots 0x0152 to 0x2200, then the metrics calculation was incorrect in some cases. Now the plug-in checks if the corresponding MacSymbolFont symbol is available and, if so, uses the correct metrics from that symbol. This affected, for example, enclosure symbols from the SwingText font.
      To be detected correctly the Perfect Layout font annotation format (.f2n) was updated, so, if necessary, all .f2n files will be automatically be recreated by PL. The Finale font annotation files (.fan) are not affected.
      -On large jazz style clefs improved detection if the measure numbers fit to the left of the clef or need to be put above
      -In some cases improved vertical alignment of several dynamics in parts where the second hairpin is also followed by a very low hairpin. In much more cases these two dynamics are not vertically aligned anymore.
      -Improved placmenet of staff systems in parts: in very rare cases the top staff system was partially placed above the top page margin and thus could collide with a page number, if page turn optimization was activated
      -If two dynamics on adjacent measure positions are followed by an expressive text (like cresc.), then in some cases the expressive text now aligns better with the second dynamics

      New feature:
      -Automatic vertical offsets for measure numbers improved when the violin clef has a different height than in the Maestro font

      ;v3.0109 2023-01-22
      Improved:
      -On lyrics measures with multiple layers tuplet brackets are not put on top of a note
      -In some cases improved of vertical placement of reh./tempo mark expressions if there are at least two expressions on that beat and the measure also includes more expressions
      -"Show Measure Numbers on Top Staff Only Instead of on All Staves" is now also active when only measure numbers "on every xth bar" are used (not only on measure numbers at start of staff system).
      -Glissando lines with horizontal note offsets above 250 EVPU on both sides are ignored for placement optimization
      -Finale 27.3: Improved individual horizontal placement of measure numbers in parts in some cases
      -Improved user messages in the "ClearPerfectLayoutWindowsInstallation" tool which totally removes Perfect Layout on Windows. ( https://elbsound.studio/download.php?f=ClearPerfectLayoutWindowsInstallation.zip )
      -Improved Polish translation
      -Better placement of below staff expressions that collide with measure number ranges on multi-measure rests that are far below staff (more than 50 EVPU below the lowest the staffline)
      -Expressions from user-defined "Expressive Text" categories are now also taken into account for vertical/horizontal alignment with dynamics

      ;v3.0107 2023-01-21
      Fixed:
      -When only one system and a part of the next system (not the full system) on the first page were selected, then the vertical staff distance in the first system would be reduced to the minimum collision distance, but not expanded if there was sufficient space. Fixed now.
      -If only a partial region was selected and "Show Measure Numbers on Top Staff Only Instead of on All Staves" activated, then the measure number in the non-selected area would also disappear on non-top staves. Fixed now.

      Improved:
      -In rare cases improved horizontal ending of hairpins at system end before barline if the next system starts with a key signature change, Finale's "Display courtesy key signature at end of staff system" is activated and the top and the bottom staff of the staff system don't have a key signature change.
      -In some cases improved of vertical placement of reh./tempo mark expressions if there are at least two expressions on that beat

      ;v3.0105 2023-01-20
      Improved:
      -In rare cases improved horizontal ending of hairpins at system end before barline if the next system starts with a time signature change, Finale's "Display courtesy time signature at end of staff system" is activated and the top and the bottom staff of the staff system don't have a time signature (i.e. the time signature only appears on inner staves, not on outer staves).
      -Added new warning message if antivirus software blocks the plug-in registration
      -Improved PDF manual

      ;v3.0103 2023-01-16
      Fixed:
      -The "MMRests->Set Repeat Staff Style Measure Width to" value is now correctly updated when changing the measurement unit.
      -When only few measures were selected in a linked part, then in some cases an optimization of all system staves of that part was performed. Fixed now. (Bug introduced in v3.x)

      Improved:
      -Improved placement of consolidated rests in "two octave" transposing instruments when "Keep Octave Transposition" is activated
      -In some cases improved placement of dynamics before very low notes with accidentals

      ;v3.0101 2023-01-14
      Improved:
      -In some cases improved vertical and/or horizontal placement of hairpins
      -One more case added where a dynamic on a rest before the start of a new phrase is automatically shifted to the starting note

      ;v3.0099 2023-01-11
      Fixed:
      -Windows only: In very rare cases a download error caused by an SSL problem lead to an error meassage. Fixed now. (Bug introduced in v3.x)

      Improved:
      -Improved Polish translation
      -Start of supporting the Lua OS Utils by Robert Patterson (additional file installed in the plug-in folder: luaosutils.dll on Windows / luaosutils.dylib on macOS). Only supported in RGP Lua with Finale 25-27.

      ;v3.0097 2023-01-02
      Improved:
      -Increased the default value for "Systems->Page Breaks->Only Optimize if Number of Staff Systems is at Least" to 23
      -Measure counting expressions are not added on bottom staves of two staff groups (e.g. piano) anymore
      -Added a few new font symbols to the font engine to recognize at least all SMuFl symbols from the Finale 27 default document

      ;v3.0095 2022-12-30
      Fixed:
      -When applying the plug-in on a part only with "Prefences->Edit->Reflow Across Systems" activated, then in some cases the system distances in other parts would be reduced too. This also affected the "Apply to Parts Only" feature. Fixed now.

      Improved:
      -In some cases of steep diagonal hairpins improved vertical placement of surrounding dynamics

      ;v3.0093 2022-12-24
      Improved:
      -Finale 2014-25: Improved placement of two articulations where one is set to inside slurs and one isn't

      ;v3.0091 2022-12-19
      Improved:
      -Duplicate expressions are now detected where one expression is assigned to all layers and one to a single layer, but only one layer exists in that bar. In this case the single layer assigned expression is removed if all other attributes are also identical.
      -Under a multi-measure rest with hidden expressions and non-hidden expressions both hidden under a blank notation staff style with invisible notes in parts in some cases PL used to break the multi-measure rest. Now it is kept as a multi-measure rest.
      -Improved support for the old "Special Part Extraction" feature: correct horizontal alignment of repeat brackets
      -Improved support for the old "Special Part Extraction" feature: correct chord width detection
      -Improved user dialog/translations
      -RGP Lua/Finale 26/27: Improved placement of two articulations where one is set to inside slurs and one isn't
      -Improved slur metrics if the start or end note have two articulations where one is set to inside slurs and one isn't
      -Ending brackets that extend over several measures are not shortened to a one bar width if they have an ending hook of at least "10 EVPU" height. In previous versions at least 17 EVPU was required for the hook.
      -Windows: the Progress Bar application on Windows now had its first update since v1.x. In batch processing and on the new "Apply to All Party Only" plug-in it used to show the progress bar only on the first file or part. Now it is shown on each file/part. To update the Progress Bar file you need to run the Perfect Layout full installer. The self-update does not include it.

      ;v3.0089 2022-12-18
      Fixed:
      -Fixed one error message that could occur when the plug-in was run on a small selection of measures and included hidden measures with less than 5 staff lines. (Bug introduced in v3.x)

      Improved:
      -In Finale 25-27 "Automatic Music Spacing" is now deactivated automatically through Perfect Layout. The warning message doesn't pop up anymore. RGP Lua v0.65 now allows access to this Finale option.
      -New warning message at the end of the processing if "Automatic Music Spacing" has automatically been deactivated.
      -Improved handling of corrupt staff styles: invalid staff style assignments (=not existing, corrupt staff styles with no name) are deleted from the score.
      -Improved PDF manual
      -Improved chord collision removal, especially in measures with several collisions
      -Improved error message when there is a problem with the RGP Lua version number.
      -In some cases slightly improved processing speed on the vertical system layout algorithm
      -RGP Lua: when the new "Stretch Horizontally" property (introduced in Finale 27.2) is deactivated in the multi-measure rests documents options, this is now correctly applied to new multi-measure rests created by Perfect Layout.
      -"Apply to All Parts Only" plug-in improved: it doesn't check for available updates anymore and now requires the same RGP Lua version as Perfect Layout

      New Feature:
      -New option "Systems->Max. Distance Between Staff Systems". It's now possible to explicitly set the maximum distance between staff systems. This also means: if the maximum distance is reached, then the systems won't align with the page bottom margin on that page anymore.

      ;v3.0087 2022-12-16
      Fixed:
      -In some cases hairpin in piano staff groups could cause an error message if only some measures were selected. Fixed now. (Bug introduced in v3.x)
      -In rare cases an error message could occur during the shift of a measure to the next system. Fixed now. (Bug introduced in v3.0077)
      -Fixed two error messages that could occur when the plug-in was run on a small selection of measures. (Bug introduced in v3.0077)

      ;v3.0085 2022-12-13
      Improved:
      -Improved user dialog and translations
      -Pages with the size of 0 height x 0 width are not taken into account for page size dimensions anymore.
      -More stability for the page break algorithm for corrupt pieces (with missing pages, page size 0x0, etc.).

      ;v3.0083 2022-12-12
      Fixed:
      -In rare cases an error could occur in the system layout features when "Allow Overlapping Systems" was activated. (Bug introduced in v3.0077)

      Improved:
      -Improved detection of new phrases after at least three rests. This can lead to improved dynamics placement if they were assigned between the rests and the first note of the phrase.
      -Improved PDF manual

      New Feature:
      -More options for the new page break feature: if rests within a measure are sufficient for page breaks, the rest duration can be set here. "Allow Rests within Measures" activates this feature, "Minimum Rest Duration" sets the rest duration. If no measure starts or ends with that rest duration, it looks for measures that start or end with the rest duration set in "If not found, check for". The default ist 3072 EDU for the first rest to look for, 2048 for the second. The feature is activated by default.

      ;v3.0081 2022-12-09
      Improved:
      -Updates that require running the full installer (e.g. when RGP Lua has been updated) now have an extra message and the automatic self-update won't work in that case.
      -Some improvements in the user dialog and the translations
      -Improved stability on macOS installer
      -Corrupt text expressions with a negative ID less than -1 are automatically deleted
      -"Apply Perfect Layout to All Parts Only" now also supported on macOS and in the German version of Finale.

      New Feature:
      -New Option "Reset/Hide->Convert False Beat-Attached Slurs to Entry-Attached": Especially in old Finale documents slurs are sometimes beat-attached instead of entry-attached, but still have the entry attributed activated. This leads to some problems and these slurs usually don't look as good as the standard engraver slurs. With this option activated the slurs are attached to the closest notes. If there is no close note (>= 256 EDUs away) or if there are notes in multiple layers, then it won't be changed. This feature is activated by default, but only enabled if also "Reset Manual Slur Adjustments" is activated.

      ;v3.0079 2022-12-08
      Fixed:
      -An error message could occur if a "TACET" part included many systems, but not a single visible staff (i.e. only hidden staves). Fixed now. (Bug introduced in v3.x)
      -A tremolo articulation on a whole note could lead to an error message if the staff and measure was hidden in the score through the "Collapse" staff style. Fixed now.

      Improved:
      -RGP Lua v0.65 is now installed by default. Note: if you update Perfect Layout with the self-update feature within Finale, only the Perfect Layout plug-in will be updated. It's not possible to update RGP Lua while Finale is running.
      So to automatically install RGP Lua v0.65 please run the full installer of Perfect Layout v3.0079.
      -Finale 25-27/RGP Lua: the annoying "DO FIRST" tab has been removed. With the recent release of RGP Lua 0.65 it's not necessary anymore. The slur contour settings are now automatically read from Finale and don't need to be filled out manually. And so are the trill accidental shapes.
      -Some improvements in the Polish translation
      -Improved page break algorithm when ending repeat brackets are involved.
      -Improved error message when an unsupported version of RGP Lua is installed.

      New Feature:
      -Windows: "Apply Perfect Layout to All Parts Only" is a new feature that was requested a lot.
      If you have completed the score and have run Perfect Layout, then you do the parts and want to apply Perfect Layout to the parts only, you can use this new sub-plug-in "ES Perfect Layout - Apply to Parts Only".
      It will appear in the Finale menu below your original ES Perfect Layout entry.
      This will run Perfect Layout separately on each part (so the plug-in will be called for each part individually).
      But you have to adjust the settings in the user dialog values only once.
      Perfect Layout will then be applied to all parts.
      You can either apply the plug-in to all measures (default) or you select a measure stack in the score and it will only be applied to these measures.
      It's currently not possible to apply it to selected parts only.
      The macOS version will follow in one of the next updates.
      Note: running the plug-in on parts only reduces the number of available Perfect Layout features.
      To be consistent with the score, all features that would also affect the score are deactivated or not applied.
      It is recommended to always apply Perfect Layout to the score at least once, before applying it to the parts later:
      this is required to prepare the whole document for Perfect Layout.

      ;v3.0077 2022-10-14
      Fixed:
      -In some cases "Remove Page Breaks in Parts" didn't remove all page breaks. Fixed now.
      -"Re-tie Notes Which Cross the Middle of the Bar" could cause a problem if the end note of the tie had the "Voice 2 Launch" flag activated. Fixed now.
      -Some versions of the "Sebastian" (SMuFl) font lead to an infinite display of the "MacSymbolFonts.txt-Problem" dialog. Fixed now. (Bug introduced in v3.0073)
      -In rare cases an error message could occur when a new coda system started right to a second system and the automatic measure shifting in parts lead to systems with no measures. Fixed now. (Bug introduced in v3.x)
      -In very rare cases many multi-measure rests (>30) on the last page of a part could lead to multi-measure rests being spread to many systems with only one MM rest per system. Fixed now.
      -In some cases the plug-in suggested a measure number placement below the top staff in the score. Fixed now. (Bug introduced in v3.x)
      -In some case an error message could occur in RGP Lua on multi-staff assigned expressions if multiple layers were used in that measure. Fixed now. (Bug introduced in v3.x)
      -Under certain conditions on a score page with multiple staffsystems with different number of staves, the vertical alignment was not correct and lead to negative staffsystem top margins. Fixed now.
      -Windows: If PowerShell, wmic or cmd are not accessible, the error message is now displayed at the correct place.
      -In some rare cases of a word extension smartshape being only attached to a starting note, but not to an ending note, under certain circumstances an error message could occur. Fixed now. (Bug introduced in v3.x)

      Improved:
      -When you use the v3 beta version and are forwarded to the download homepage, your beta version will now be preselected (and not the v2 main version).
      -Expression category names of the Spanish Finale version are now correctly detected
      -Improved placements of the ottava symbols 0xe510, 0xe511, 0xe514 and 0xe515 from the font "Finale Maestro" in Finale 27 (in other Finale versions it already worked fine)
      -Improved tie/articulation collision detection of whole notes on a rhythmic notation staff style when there is also a hidden note above the staff
      -RGP Lua: Some adjustments for the RGP Lua 0.65 version
      -RGP Lua: The font "Finale Maestro Text" and "Finale Broadway Text" are now correctly recognized as non-SMuFl fonts in RGP Lua (although they have some SMuFl symbols). This can lead to improved metrics on multi-measure rests and time signatures.
      -Improved vertical staff/system layout in some cases: more intelligent algorithms that automatically update options to prevent unnecessary pages or too wide vertical spacing
      -Added "Legato Music Font" and "Groove" to supported SMuFl music fonts. Make sure to not have the other "Legato" font from Melody/Harmony Assistant installed. These two fonts don't work together.
      -Improved vertical staff/system layout dialog layout. Separated into four sections: staff distance, system distance, system alignment at the page margins and other system options.
      -Improved connection of niente expressions with hairpin if the niente expression is at the beginning of a measure and the hairpin ends in the previous measure
      -Improved vertical staff spacing on parts with multiple staves (multiple instruments)
      -Windows: Installer automatically repairs false Windows registry Path entries for PowerShell, cmd and wmic
      -When a staff on a staff system only has word extensions or just a few lyrics, but long word extensions, it will now be detected as staff with lyrics which improves the vertical spacing.
      -In some cases improved niente expression/hairpin connection
      -Improved placement of niente expressions below chord clusters with notes on the opposite of the stem
      -Duplicate hairpins whose start attachment point is identical to the end point and which both have the identical start and end point are now correctly identified as "duplicate hairpins" and one of them is automatically removed.
      -Clef/multi-measure rest collisions are now also handled when the multi-measure has a width of x measures where x = the value "Use Symbols for Rests Less Than x Measures". In previous versions it was only handled if the mm rests had a width of x+1 measures.
      -Improved algorithm for shifting measures to the next/previous system: it now takes into the horizontal stretching and the number of accidentals. If there are no or only few accidental a more dense spacing is possible.
      -If the measure numbers at system start in the score are below staff and in parts above staff (or vice versa), then PL will now automatically select the "Alignment->Keep Current Position" placement for measure numbers.
      -G.P. text expressions ("Generalpause") are now taken into account for collision detection and shifted upwards if necessary
      -When the default music font from the "Dynamics" expression category is not in the Perfect Layout database, you will now be asked if the font is Maestro-compatible. On 'Yes' it will use the Maestro entries from the font database. On 'No' the plug-in will cancel.
      -RGP Lua: Help buttons now have a question mark symbol
      -On multiple nested tuplets the tuplet brackets of all nested tuplets are now placed on the opposite side.
      -"Minimize Rests" now also supports rests with activated "Voice 2 Launch" flags
      -"X" time signatures (i.e. "No Time Signature) with expressions are now supported. They are not detected as "Rehearsal Marks" anymore. Note: to be detectly correctly they must be between 46 and 124 EVPU of size, use the horizontal alignment "Left Barline" or "Start of Time Signature" and the vertical alignment "Staff Reference Line"

      -When only some staves are selected in the score from first to last measure and these staves have their own linked parts, these parts are now handled as "fully selected parts" which enables more features for that part
      -Some improved translations
      -Some improvements in the user dialog
      -Improved PDF manual (changed format from Letter to DIN A4, the "Systems" section ("Vertical Systems/Staff Layout") was partially rewritten)
      -Main user interface screenshots updated on the homepage and in the documentation

      New Feature:
      -New feature: Optimized page breaks with rest bars: Perfect Layout now includes an option to find good page breaks and adjust the systems and/or the measure layout that rest bars will be at the end of the page or at the beginning of the next page.
      This system is very powerful has many options (PL Gold: 8 options, PL Silver: 5). Details are described here: https://elbsound.studio/perfect-layout/systems.php#go-to-system4
      -New option "Systems->Auto-Suggest 'Parts' Value" (activated by default): automatically suggests a value for "Systems->Min. Bottom Margin for Parts" dependent on the current system distances in the parts before Perfect Layout.
      -Gold: New option "Alignment->Center if Also Dynamics on Bottom Staff" as sub-option of "Center Dynamics and Hairpins Between Two-Staff Groups". If there are dynamics below top staff and below bottom staff on a piano two-staff group, then the top dynamic will not be centered between top and bottom staff anymore, but attached to the top note. On Silver this is deactivated by default.
      -Gold: Three sub-options for the staff distances. While the "Max. Distance Between Staves" (Default 470 EVPU) is only reached, if there is very much empty space on that page, the other three values limit the max. distance on "normal" pages with not much space left. These values were also used in previous version of Perfect Layout, but they were not editable. They were calculated automatically from the max. value.
      The "If too much space on page, only use max. distance" value is 310 EVPU by default (=470 EVPU*0.66).
      The "If only two staff systems on page, use max. distance" value is 380 EVPU by default (=470 EVPU*0.809).
      The "If more than two staff systems on page, use max. distance" value 350 EVPU by default (=470 EVPU*0.745).
      These values may become relevant if your score staff systems are different on each page and in some cases they might stretch to the bottom of the page and in some cases not. If they should not stretch, you should reduce the 470 EVPU (to maybe 350 EVPU). If more systems should stretch, you may have to increase the 470 EVPU (although this doesn't look that good...).
      -Gold: New option "Reset/Hide->Manual Note Positioning->Allow Upstem Notes Overlapping with Downstem Flags on Same Beat" (Deactivated by default). If there are notes on two layers on the same beat and the upstem note collided with the downstem flag, activating this option allows the notehead to be shifted slightly away from the other notehead, but still on top of the flag. If deactivated, the note will be shifted further away after flag: so no collision, but quite a huge distance.
      (See https://elbsound.studio/assets/img/ES/allowoverlappingnotewithflag.jpg ). In Silver this is always deactivated, so that no collision will occur.

      ;v3.0075 2022-10-12
      Fixed:
      -Windows: Finale could crash during the plug-in activation when Panda Dome antivirus was installed. Solution described here: https://elbsound.studio/perfect-layout/faq.php#go-to-installation53

      Improved:
      -Windows: Improved system accesses for better acception of some antivirus software (Avira and Panda Dome)
      -Improved PDF manual
      -macOS: Improved installer stability for RGP Lua

      ;v3.0073 2022-09-26
      Fixed:
      -RGP Lua/Finale 26+: In rare cases the repeat dot symbol could be reset/made unreadable and lead to a Finale crash (RGP Lua bug). The new PL version avoids this problems and also reinstalls the original symbol.

      Improved:
      -The "Hide Measure Range if <= x Adjacent MM Rest Bars" is not activated anymore by default.
      -Improved detection of adjacent "empty" measures over multiple measures with rests and fermatas only.
      -Improved metrics for some upstem notes above the staff
      -The "shifting down on measure number below staff collisions" now allows higher shifting distances.
      -The "General->Bypass Empty Staves" feature now also supports staves that are totally hidden in the score and parts (=collapsed). When this feature is deactivated, this doesn't irritate the staff/system vertical spacing algorithm anymore.
      -Gold only: The measure number "On Collisions..." option can now be deactivated. In this case the measure number collisions remain.
      -Support for "ghost staff systems": A valid hidden "ghost" staff system below a regular staff system in the score doesn't mess up the layout on that page anymore. Valid means: all staves with the "collapse" staff style and at least one measure included on that system.
      -Improved vertical placement of multiple reh./tempo mark, alteration expression above the staff if they are all from different categories, but have the identical font size and style.
      -Perfect Layout now breaks multi-measure rests on collapsed or cutaway measures. This is a different behaviour than Finale's own multi-measure creating algorithm. But it makes more sense and is more what the composer would expect.
      -If Node.js and/or the required plug-in scripts are not installed and thus an OTF font can't be read, Perfect Layout will now display an error message. Just re-run the Perfect Layout installer to solve this.
      -Improved detection of the Sebastian font which exists in a SMuFl and a non-SMuFl version with some identical attributes
      -Improved registration and activation process
      -Improved auto-update process to work with v2 and v3.
      -macOS: Improved installer stability
      -Windows: Improved installer stability
      -Improved stability for RGP Lua
      -macOS: Solved one rare installer bug on macOS: the -10673 Error which affects installers from many software companies (see https://elbsound.studio/perfect-layout/faq.php#go-to-installation46 )
      -Added a few more translations
      -More preview images
      -Improved PDF manual

      New Feature:
      -If your computer has crashed and you need to deactivate the plug-in in the Elbsound database to be able to reinstall it, this can now be done online on the homepage under Support->Deactivate Plug-in ( https://elbsound.studio/reset-activation.php ).
      -Partial support for ledger line collisions with expressions. Only the top ledger line is taken into account and only with a fixed ledger line width.

      ;v3.0071 2022-09-24
      Fixed:
      -RGP Lua: In rare cases when using SMuFl fonts in Finale 27 an error message could occur when SMuFl symbols were used on smart shapes.

      Improved:
      -Improved placement of measure numbers below barline colliding with ties/slurs when a hairpin starts on beat 1: if the hairpin is at least 22 EVPU away from the measure number, the measure number will be shifted down. If the measure number has to be shifted very low (more than 35 EVPU), then the distance to the colliding object will be reduced by 6 EVPU. The maximum distance that the measure number will shifted down is 36 EVPU (=42-6 EVPU).
      -If only one layer above layer 1 is used (Layer 2-4) and the automatic "move to layer 1" feature is activated, Perfect Layout will now also include measures with ties to previous/next measures if this doesn't mess up the tie.
      -Improved PDF manual
      -RGP Lua: Improved metrics on 8VB, 15MB and trill symbols in smart shapes
      -Windows: Improved installer stability

      New Feature:
      -macOS: The installer now installs RGP Lua 0.64 (instead of JW Lua) in Finale 25-27.

      ;v3.0069 2022-09-20
      Fixed:
      -Chords where only the alternate bass is visible are now correctly aligned again (Bug probably introduced in v3.0053)
      -On macOS in some cases the font annotation creation could make Finale hang. Fixed now. (Bug probably introduced in v3.0057)

      Improved:
      -"Systems->Min. Bottom Margin of Staff System" is now available separately for score and (linked) parts
      -More preview images from the "Systems" tab
      -Windows: improved installer stability for the JW Lua installer
      -Improved PDF manual

      New Feature:
      -Windows: The installer now installs RGP Lua 0.64 (instead of JW Lua) in Finale 25-27. RGP Lua supports more Finale features than JW Lua, so now all these features are finally available in Perfect Layout by default.
      In Finale 2014/2014.5 (32Bit) JW Lua is still installed, because RGP Lua only supports 64bit as in Finale 25-27.

      ;v3.0067 2022-09-18
      Improved:
      -Improved detection of tie collisions with expressions on grace notes
      -Improved lyrics metrics in some multi-layer and multi-verse scenarios
      -In some cases improved visually balanced parts ("Systems->Allow Overlapping Systems" is now activated by default).
      -The "Remove Unnecessary Use of Layers 2-4" now also checks the MIDI channel before allowing the layer change. The MIDI channels are different between layer 1 and layer x, then it won't change the layers anymore.
      -The title of the main user dialog now also includes the version number of JW Lua or RGP Lua

      ;v3.0065 2022-09-17
      Improved:
      -Improved lyrics metrics in some multi-layer and multi-verse scenarios
      -Improved tie metrics on ties starting on grace notes
      -RGP Lua: Support for new features from the upcoming RGP Lua 0.65

      ;v3.0063 2022-09-16
      Improved:
      -Added more Italian and Spanish translations
      -Improved error messages for activation problems
      -In some cases improved visually balanced parts
      -Improved handling of "single measure multi-measure rests" when "Start Numbering At" is set to 1.

      ;v3.0061 2022-09-10
      Fixed:
      -In some cases where the bottom margin on the first page in parts was shifted up because of a copyright text above the page bottom margin, the first system from the second page would lead to problems in vertical system spacing and might end up as a single system on a single page. Fixed now. (Bug introduced in v3.x).
      -In rare cases an error message could occur on tuplets where the tuplet number is hidden. Fixed now.
      -In some cases the algorithms "Bottom Staff Line" and "Lowest Element on Bottom Staff" for aligning the bottom system staff with the page bottom margin were not applied to all pages in parts. (Bug introduced in v3.x).
      -In some cases the activation dialog always showed "Gold" even if it was the Silver or Silver400 installer.(Bug introduced in v3.x).

      Improved:
      -The title of the main user dialog now includes a JW Lua or a RGP Lua tag
      -Note entries on two staff (piano) groups placed on the top staff, but with downstem beams below the bottom staff don't influence the vertical spacing anymore.
      -RGP Lua: Partial support for beam extension modifications added.
      -RGP Lua: Partial support for tie modifications added.
      -Metrics of page texts attached to measures now support borders and the "Expand Horizontally"/"Expand Vertically" feature.
      -Improved dense vertical spacing between systems in extracted or linked parts with the "Allow Overlapping Systems" feature
      -In some cases improved visually balanced parts
      -Improved horizontal placement of dynamics at the end of the final bar of a system with a backwards repeat where a dynamic collides with the wings of the repeat bracket.
      -The activation dialog now also shows the version of the current plug-in in the title.
      -Improved PDF manual
      -If there are multiple measure number regions with a "Show Measure Ranges on MM Rests" activated, PL handles them better to not have multiple ranges in the parts. However it's not recommended to have multiple measure number regions with identical settings as this might lead to many problems.
      -Improved metrics of text repeats elements over 1-line staves
      -Improved metrics on some tuplets with the "Always Flat" option where the first note is unbeamed or the beam is broken within the tuplet
      -Improved French translation (more than 200 new lines) and fixed some user dialog issues of colliding texts

      ;v3.0059 2022-09-07
      Fixed:
      -MacOS/M1/Finale 27.2: the Perfect Layout registration now supports to switch between native and Rosetta mode. In both modes the activation data is now valid. (Bug introduced in v3.x)
      -In some cases of corrupt expressions an error message could occur. Fixed now. (Bug introduced in v3.x)
      -In rare cases of hidden staves/measures an error message could occur. Fixed now. (Bug introduced in v3.0055)

      Improved:
      -Support for "fake cross staff rests" in vertical staff spacing: if a rest is placed so low (e.g. rest offset -40) that it virtually appears on the next staff although it is not a cross staff note, then the rest will be ignored in vertical staff spacing and not lead to large vertical staff distances anymore.
      -Improved PDF manual (including a new FAQ chapter on how to install Perfect Layout in RGP Lua manually)
      -Added more error messages on installation problems
      -Improved macOS installer details

      ;v3.0057 2022-09-03
      Fixed:
      -When a user-defined preset is loaded, in some cases the measure number positioning algorithm is not saved in the "Last Saved Settings" file. Fixed now. (Bug introduced in v3.0047)
      -Hidden arpeggio articulations don't lead to weird spacing anymore. (Bug introduced in v3.x)

      Improved:
      -Improvements in the macOS installer
      -MacOS: improved font file detection and conversion for OTF fonts
      -Windows 7: improved installer stability
      -Partial support for mirror measures (Rehearsal mark expressions in mirror measures). Still mirror measures are officially not supported by PL.
      -More tolerance when detecting two matching Ped. * articulations that are placed on slightly different vertical positions. If they are more than 20 EVPU apart, they are not kept like they are, but vertically reset when "Reset Pedal Articulations" is activated. When less than 20 EVPU apart, they will remain at their place.
      -If hidden/corrupt expression definitions are found, a warning message is shown. This can occur especially in old Finale documents that have gone through several different versions of Finale. It might be possible to fix this by running the "Delete Corrupt Expression Definitions" lua script before Perfect Layout. (Available from https://elbsound.studio/download.php?f=DeleteCorruptExpressionDefinitions.lua )
      -Updated Node.js to current version v16.17.0 to support native M1
      -Making Perfect Layout compatible with RGP Lua (Part 9): In some cases improved placement of an articulation over grace notes if the articulation is actually assigned to the following non-grace note.
      -RGP Lua: Unnecessary warning message about Fin26 compatibility removed
      -RGP Lua: Installation video for Perfect Layout ( https://www.youtube.com/watch?v=ERHlYu71Lkg )

      ;v3.0055 2022-08-24
      Fixed:
      -In rare cases a single empty measure on the final system could lead to an error message if also all (!) previous measures are on single measure systems and empty. Fixed now. (Bug introduced in v3.x).
      -In rare cases an expression with the EXCLUDE tag could cause an error message. Fixed now.

      Improved:
      -Improved placement of rehearsal marks when Document Options->Key Signatures->Cancel Outgoing Key Signature->When switching between sharps and flats is deactivated
      -Improved default placement of measure numbers in some cases (especially on very wide measure numbers)
      -The option "Artics.->Inside Slur: Offset Before Articulation Gets 'Inside Slur' Style" which auto-generates inside slur articulation if otherwise too far outside the slur will now also work in some cases in Finale 26+. In RGP Lua it will now always work, in JW Lua it will work if the articulation is set to slur interaction mode "Ignore".
      -Windows: Improved dialog for language selection for RGP Lua and JW Lua
      -Improved automatic detection whether a part needs to have music spacing applied. This is still an incomplete check that only tests a few measures. If required, then the Optimize->Always Apply Music (Re-)Spacing will be activated, but it will only be applied to those parts where the plug-in detects it. When you manually activate this option, it will be applied to all parts.
      -Partial support for mirror measures (Multi-measure rests). Still mirror measures are officially not supported by PL.
      -Dynamics with an EXCLUDE tag are not aligned with hairpins anymore
      -Making Perfect Layout compatible with RGP Lua (Part 8): In Fin26+ articulations that are usually inside the slur and that are set to slur interaction mode "Auto Inside/Outside" are set to "Ignore".
      -RGP Lua (0.64): help images are now shown directly in the plug-in and not in the external web browser anymore.

      New Feature:
      -New Option "Systems->Shift Single Measure with Double Barline ('New Section') to Previous or Next System". It will only be shifted if there is sufficient horizontal space after shifting (i.e. the horizontal stretch must be at least >0.95). To enable this feature you also need to activate "Reflow Across Systems" in Finale's preferences.

      ;v3.0053 2022-08-16
      Fixed:
      -If many score pages full of empty measures followed the last non-empty measure, then in rare cases an error could occur during vertical system optimization. Fixed now. (Bug introduced in v3.x)

      Improved:
      -The "Have you saved the document" dialog will not popup anymore when the document was saved right before calling the plug-in.
      -Support for invalid/corrupt chord suffix IDs (e.g. ID 0 with no root): the plug-in will not crash anymore, but ignore these suffix IDs
      -RGP Lua only: The automatic "Use Cross-Layer Accidental Positioning" option now works the same way as the manual activation in Finale (including deleting all manual accidental positionings).
      -RGP Lua only: Added one more scenario of colliding accidentals that can only be detected in RGP Lua
      -Making Perfect Layout compatible with RGP Lua (Part 7): More articulation compatibility stuff, fixed an issue with stem modifications in RGP Lua in Finale 26+, fixed an issue with accidental detection in RGP Lua

      ;v3.0051 2022-08-06
      Fixed:
      -Trill articulations without attached smartshape wiggle lines are now reset again (accidentally deactivated in 3.0049)
      -In rare cases an error could occur on chords alignment. Fixed now. (Bug introduced in v3.x).
      -In rare cases of dynamics above the staff that are assigned flexibly to the "Top Staff" (instead of a predefined staff) an error message could occur. Fixed now. (Bug introduced in v3.x)
      -If the very last measure was empty and appeared as a single measure on a system in a part, then in rare cases an error could occur. Fixed now. (Bug introduced in v3.x)
      -In some cases (especially if there are many completely empty staves in a huge orchestra score) an error message could occur. Fixed now. (Bug introduced in v3.x)
      -Windows: Fixed a bug when reading the list of fonts from the system. Either the new November2 font 2.32 update or a new Windows update has changed the format of the font entries in the Windows registry. (Bug introduced in v3.x)
      -In scores with many empty systems (no measures or staves at all) and only one actual system after the empty sytems an error could occur. (Bug introduced in v3.x)
      -If the Windows system had a corrupt WMI component, then the new PL v3 Windows installer could produce an error message. According to the user where this occured you have to run the "Windows Repair Tool" from tweaking.com (https://www.tweaking.com/content/page/windows_repair_all_in_one.html) which also fixes the WMI system with its "WMI Repair" component. Elbsound.studio can't confirm this fix as we couldn't reproduce the problem. But it seemed to have been solved this way.
      -When the repeat dot symbol didn't exist in the selected repeat dot font, an error message could occur. Fixed now. (Bug introduced in v3.x)
      -The new Windows installer had a problem when JW Lua was already installed and its ini-file was existing, but incomplete. Fixed now. (Bug introduced in v3.x)

      Improved:
      -Corrupt (=empty) expression definitions are cleared and replaced with a valid expression with no text
      -Improved detection of multiple line expressions on expressions with hidden text
      -Misspelling corrected in English dialog
      -In some cases improved placement of Expressive Text expressions in old Finale documents that use "Vertical Click Position" alignment
      -Rest optimization now supports more composite time signatures that are usually written in a more simple way, e.g. (3+3/8)=6/8
      -In some cases improved spacing for hairpins in dense measures
      -Improved PDF manual
      -Improved stability of new Windows installer if temporary files folder leads to problems
      -Improved support for dynamics in the wrong category (Miscellaneous) that are assigned to flexible staves (top staff, bottom staff)
      -Measure texts in the middle of a score with a very high vertical offset (>200 EVPU) are only taken into account for vertical spacing, if the vertical offset minus the text height is below 200 EVPU.
      -In one case improved placement of hairpins in very stretched measures if the hairpin ends close to the dynamics.
      -Dynamics above the staff on beat 1 on a rest are not shifted to the end of the previous measure anymore. However in most cases it's not recommended to place dynamics on rests as this might be confusing for the player.
      -Technique Text expressions that collide only collide a little bit with the barline or that are very short (4 letters) are now shifted before the barline if the barline collision feature is activated
      -Making Perfect Layout compatible with RGP Lua (Part 6): The "Stack Automatically" option is now detected in JW Lua.

      ;v3.0049 2022-07-27
      Improved:
      -Improved handling of expressions in parts that are far, far away from their (0,0) original attachment point (like 1000 EVPU to the right and 500 EVPU to the top). These are kept where they are.
      -Improved shifting of wiggle lines next to trill articulations when the articulations are shifted (however it's recommended to use trill smartshapes instead of articultion+wiggle lines as they are much easier to handle and to place correctly)

      ;v3.0047 2022-07-04
      Fixed:
      -The Safari/macOS browser appended a .txt file ending when downloading the additional .lua files from the homepage. Fixed now.
      -If only some measures in the score were selected, in cases of certain multi-measure rests in parts an error message could occur. Fixed now. (Bug introduced in v3.x)
      -If only some measures on one system of a part (with multiple systems) were selected, in rare cases an error message could occur. Fixed now.
      -In rare cases on "empty" systems that had no stafflines and no barlines, but only clefs and rehearsal marks an error message could occur. Fixed now. (Bug introduced in v3.x)
      -Fermatas on empty measures could cause an error message if the measure was hidden in a part, but visible in the score. Fixed now. (Bug introduced in v3.0039)

      Improved:
      -Support for Scherzo/Scherzo Std fonts
      -One more cases of handling hairpins going beyond the last visible measure added
      -Slightly improved processing speed
      -Finale's hairpin opening width and tuplet default settings are not optimized anymore when the score is only selected partially
      -Improved connection of niente expressions to hairpins in one case (niente expression at end of measure, followed by a rest and a new dynamic on the next beat 1)
      -If the very last measure is a single coda measure, then it will not be automatically shifted at the end of the previous system.
      -As unlinked separate measure numbers are still not possible in JW Lua measure number shifts that affected other parts negatively were removed.
      -In some cases improved placement of breath mark comma articulations at the end of the measure (However it's recommended to use breath mark expressions instead, because they are not dependent of a note entry position)
      -Improved stability of Windows installer
      -In two cases improved placement of hairpins spanning multiple systems on collisions with slurs
      -Better automatic vertical staff spacing on scores with two systems per page: very large empty areas between the two systems are now automatically reduced if it looked better to give slightly more space to the staves.
      -Support for system dividers with different font sizes on each page: if each page has a different page scaling and uses system dividers with different font sizes, these system dividers now keep their original font size. However for a good score look it's usually not recommended to use a different page scaling and differently sized system dividers on each page.
      -Finale 26/27: improved detection of vertically overlapping/stacking articulations
      -One 1-line staves one more case for not creating diagonal hairpins was added
      -Improved alignment of hairpins with dynamics when a bar only has one long note, a hairpin ending somewhere in the middle of the bar and a dynamic attached to beat 1, but visually attached to the ending of the hairpin.
      -Improved placement of rehearsal marks over barlines on tied upstem notes that cross the barline
      -In one case of hairpins/tie collisions on hairpins that span at least three systems improved vertical placement of the hairpin on the final system
      -Improved arpeggio placement on dense systems if the arpeggio shape has to be shifted quite a lot (more than 30 EVPU)
      -Improved placement of notes on note/accidentals collisions: if after inserting space, the note flag at the end of the measure collides with the barline
      -In one case improved placement of Technique Text expressions on collision with a note with a flat accidental (no movement to the right, only downwards)
      -In some cases improved detection of note/accidental collisions.
      -One case of connected cresc./dim. hairpins with improved vertical alignment
      -Partial support for mirror measures: in some cases wrong note metrics were calculated
      -Default measure number placement is now dependent on loose/tight spacing preset and number of bars

      New Feature:
      -The Silver edition now also has the "Bypass Empty Staves" option on the General tab which can speed up the processing time in some cases. By default this is activated.
      -Measure numbers in the score on each measure below the bottom staff are now optimized to not collide with the notation symbols above.
      This is done consistently over the whole score: they will all get the new vertical distance.
      In the Gold edition the distance can be adjusted with the new option "Alignment->Measuren Numbers->On Collisions with Other Objects Below Bottom Staff Shift Down by" plus the value of "Alignment->Extra Collision Offset".
      In the Silver edition the distance is only handled indirectly with the "Alignment->Extra Collision Offset" value. The default distance is 19 EVPU (=14 EVPU Vert. Distance + 5 EVPU Extra Offset).
      This only affects measure numbers on a score below the bottom (!) staff.
      Note: if there is no collision because the measure numbers are already very far below the staff, then they will keep their position. They will not be shifted upwards.

      ;v3.0045 2022-06-27
      Fixed:
      -When only some measures were selected in the score, in some cases (lots of multi-measure rests in parts) an error message could appear (bug introduced in v3.x). Fixed now.

      Improved:
      -Improved slur metrics on end notes of slurs that have several "Inside Slurs" articulations
      -Improved compound f + p detection, if both dynamic expressions are on the same beat together with a hairpin
      -Improved placement of dynamics when three (!) dynamic expressions are attached to the same beat. However: To avoid ambiguities it's not recommended to attach three dynamics to the same beat.
      -Minor processing speed improvements
      -Improved Polish translation

      ;v3.0043 2022-06-26
      Fixed:
      -Hungarian Windows version gives an error message (bug introduced in v3.0039). Fixed now.

      Improved:
      -Updated PDF manual

      ;v3.0041 2022-06-21
      Fixed:
      -Some browsers automatically appended a .zip file extension to the .exe installer.
      -When coda systems in parts started with a multi-measure rest, then in some cases the systems were not shifted down. Fixed now.
      -If only some measures were selected in a part which included a multi-measure rest with a dynamic expression (!) at the end of the system, then in some cases the dynamic used to be shifted to the beginning of the system. Fixed now.
      -When only one staff in one system is selected, then the previous measure could be affected in music spacing if the selected system started a clef change - although it was a outside the selected region. Fixed now.

      Improved:
      -Improved placement of rehearsal marks in case of multiple collisions with stems, articulations and other expressions.
      -Improved placement of custom smart lines below the staff at the right barline
      -Improved bottom page text element detection on the first page in parts and adjusting the page bottom margin, if the system neither have a "Bottom Margin" greather than 0 nor a "Distance Between Systems" value greater than 0.
      -The "Shift Coda Systems Down" feature now also works in linked parts
      -In some cases improved placement of rehearsal marks between two chord symbols
      -Improved metrics calculation of the inner side of beams
      -In some cases improved placement of rehearsal marks on collisions with text repeat symbols
      -Improved vertical staff/system spacing in some cases of three systems per page with at least four staves
      -Improved vertical staff/system spacing on pages where the systems don't fill the whole page
      -Improved vertical staff distance on piano systems with cross staff notes when beams come very close to the upper staff.

      New Feature:
      -New option: "Keep Chords Below Staff" (activated by default). If chords are placed below a staff, they are not automatically put above the staff anymore if this is activated.

      ;v3.0039 2022-06-04
      Fixed:
      -In rare cases an error message could occur in a tuplet bracket scenario (bug introduced in v3.x). Fixed now.
      -When slurs are independent in parts in some cases the metric calculation was not correct (bug introduced in v3.x). Fixed now.
      -When only some staves/measures from a two-staff instrument (e.g. piano) were selected in a score with more than two staves, in some cases an error could occur (bug introduced in v3.x). Fixed now.
      -When only a few measures were selected, an error could occur in some cases of repeat text definitions. Fixed now.
      -In some cases an error message could occur on bracket and underscore symbols in lyrics texts. Fixed now.
      -In very rare cases an error could occur when deciphering page text elements (this only occured once in an old score from Finale 2001 which also had other problems). Fixed now.
      -In rare cases of invalid expressions (i.e. expressions that were already deleted in the score, but that are still somewhere hidden in the internals of the Finale document) an error could occur (bug introduced in v3.x). Fixed now.
      -In rare cases niente expressions on the last system of a page were not fully connected to the hairpin (bug introduced in v3.x). Fixed now.
      -If the chord baseline was unnecessarily far above the staff (e.g. 144 EVPU), then in some case tempo marks above the chords were not shifted together with the chords towards the staff (bug introduced in v3.x). Fixed now.

      Improved:
      -When activating/deactivating the "Optimize Staff/System Distances" on some scores you will now get a message to restart the plug-in, as some system processing may already have been performed before changing the feature (which can't be undone) or because some processing needs to be done before the main dialog of the plug-in. In that case just re-run the plug-in and confirm everything with "Ok". The settings from your plug-in setup have been saved before re-running the plug-in.
      -Improved PDF manual
      -In some case the option "Place Harmonics Outside Tuplets" didn't save correctly
      -Windows: The font annotation file is now also included for the optional Bach font
      -Rehearsal/tempo mark expressions with chord symbols in the same measure, but without collisions are placed vertically better in some cases
      -In some cases improved snapping of hairpins to dynamics if the hairpin ends on beat 1 and the dynamics is on the next beat
      -In some cases improved snapping of hairpins to dynamics if the dynamic is connected to a very long note (at least dotted whole note)
      -Improved metrics of centered measure numbers on 0-line staves
      -Improved detection of unnecessary freeze stem flags under tuplets and under slurs
      -Vertical system/staff spacing reworked with many improvements
      -Resorted text expression creation in the code to reduce number of text expression definition accesses to make the code slightly faster
      -Slighty faster processing speed in many functions
      -Inside slur articulations on steep slurs are now also automatically created when the note has (additionally) a tremolo articulation
      -In rare cases improved hairpin placement on slur collisions where only the hairpin has a system break
      -Improved placement of rehearsal marks between two chord symbols
      -Chord symbols with fixed size fonts now have the correct metrics
      -Improved log message on font annotation file creation
      -Horizontal movements of multiple accidentals are not performed on transposed staves with simplified keys (and "Display in Concert Pitch" deactivated) anymore as JW Lua sometimes returns false flat/sharp values
      -In some cases of new multi-measure rest creation improved measure metrics
      -Improved horizontal collision detection between notes and accidentals on note entries with multiple accidentals
      -Windows: In rare cases Perfect Layout didn't recognize Node.js as the Node.js environment variable was not set correctly. The new installer now sets the environment variable and doesn't depend on the Node.js feature anymore.
      -Custom smart lines that are directly on the staff lines (and not above) don't get a barline offset anymore when colliding with the right bar line.
      -Updated font database (few additions to the new Finale SMuFl fonts)
      -Manually repositioned notes in two staff groups with lyrics are now correctly detected from both staves. If the manual repositioning is probably correct in one staff, it will be kept in the other staff too.
      -Support for more SMuFl fonts (Mezzo/Mezza/Golden Age) and other music fonts (NorKeys, LimonjianNotation, Stolp, Smolensky, Mezenets, Shaidur)
      -Improved placement of dynamics/hairpins centered between two piano staves in case of a technique text expression below the dynamics.
      -Improved placement of dynamics/hairpins centered between two piano staves very low placed beamed rests (with "Extend Beams over Rests" activated)
      -Improved detection of compound sub./poco/più dynamic expression if the "sub." text expression is in the Dynamics expression category (instead of the Expressive Text or Technique Text category)
      -If measure number regions are "misused" for other symbols (e.g. system dividers), these measure number regions are not set to new positions anymore.
      -Exponential hairpin symbols are now also supported from the music fonts: Norfolk Special Std, Opus Special, Opus Special Std
      -Improved handling of piano fingering articulations (in more cases they are not moved at all)
      -Improved chord metrics when the last element is a seven (i.e. reduced bottom width)
      -Improved chord metrics on shifted notes and on chord clusters with seconds
      -Improved font detection on fonts using "-Roman" as name extension
      -Improved .otf font detection on macOS and Windows
      -If the only symbols of a measure are a hidden rest and a custom smart line, then the measure will not be consided for multi-measure rest creation anymore.
      -Running the plug-in on a non-selected region means that the plug-in will process the full document. In extremely rare cases (like errors in other Finale plug-ins directly before running Perfect Layout) Perfect Layout did nothing as it thought nothing at all should be processed. Fixed now.
      -Multi-measure rest numbers from SMuFl fonts now have the correct vertical metrics.
      -Vertical staff/system spacing now supports scores where each page has different page heights, bottom or top page margins.
      -Dynamics are not moved before a note anymore if they collide with a pedal articulation below the note
      -Improved detection of two staves at identical positions (on top of each other, e.g. in piano notation): in case of rounding problems these are now also detected if they have a +/-1 EVPU system distance.
      -Added a detailed list of Finale document options that change through Perfect Layout (https://elbsound.studio/perfect-layout/optimize.php#go-to-optimize8)
      -Pedal expressions that collide with dynamics are now shifted below them if there are no other pedal expressions/articulations in that measure
      -In one case improved rest splitting on tuplets
      -Vertical System optimization now supports totally collapsed staves with a negative "Space Between Systems" value
      -In some cases rehearsal marks at the beginning of a system which starts with an over slur from the previous system get an improved vertical position
      -Expressive text above the staff next to dynamics will vertically align better in some cases
      -Improved support for detecting collisions on slurs that start and end on cross-staff notes
      -If the first page with systems in a part has a different (usually larger) page bottom margin than the following pages and "Systems->Align Page Bottom Margin with..." is set to the default value (Auto-Detect: Fixed/Lowest), then the last system on the first page will be aligned better with the page bottom margin.
      -Improved (non-)detection of compound "f"+"p" ("fp") dynamics when the first dynamic is assigned to a grace note on the same beat.
      -If only a system is selected, then hairpins from the last (unselected) measure from the previous system are not changed anymore.
      -Cross staff notes are not retied over the middle of a bar if this will break a complex beam structure.
      -Improved warning message about a missing internet connection. The warning messages now mentions that sometimes the firewall prevents access to the internet.
      -In Finale 26+ articulations that use the wrong stacking order because their IDs are in the wrong order in the Articulation Definitions dialog are kept as they are as it might be intentionally.
      -Making Perfect Layout compatible with RGP Lua (Part 5): Improved compatibility with RGP Lua on grace notes with articulations

      New Feature:
      -New option "Shift Expressions on Right Barline Collisions to the Left (If Enough Space and Only Rests Before)" (in Silver on the Alignment tab, in Gold on the Expressions tab). Technique text and other (non-tempo/rehearsal mark) expressions that are taken into account for vertical correction (i.e. "Snap Expressions to Symbols" activated) are shifted to the left if they would otherwise collide with the right barline. This is only done when there is sufficient space to the left and when there are only rests before the note where the expression is attached.
      -The articulation property "Copy Main Symbol Horizontally" is now supported which leads to improved collision detection and staff alignment for example for trill extension articulations. However it's recommended to use custom smartlines for this purpose instead. They are more flexible.
      -"Empty" note shape modifications (i.e. where no features are activated) are deleted
      -New option in Perfect Layout Gold: "Shift Fermatas on Bottom Staves of Two-Staff Groups Below the Staff". In Silver this is activated by default. Fermatas are only shifted below the staff in very simple scenarios (i.e. single layer, single voice, no cross staff notes).
      -Hidden measure-attached texts are now supported in JW Lua and RGP Lua
      -Windows: New installer

      ;v3.0037 2022-03-17
      Fixed:
      -Measure numbers over curved group bracket are now placed vertically correct, if in the score the group starts with a staff that is only visible in parts. (Bug introduced in v3.0027)

      Improved:
      -If tempo/rehearsal marks have very different horizontal offsets in score and parts, then in some cases they will now have improved placement in the parts.
      -Improved slur contour settings dialog (had a few issues in v3)
      -Improved support for hybrid SMuFl/non-SMuFl fonts (e.g. November2, Aruvarb) in Finale 27.
      -Invalid expressions with the ID "-1" in a corrupt Finale document don't throw an error message anymore, but are deleted.
      -Improved metrics of "dashed/solid line up/down" smartshapes that are set to "Make Horizontal"
      -System dividers (as page text elements) in the score are now handled correctly if they are not not hidden in parts, but appear on hidden pages from a part which turn to visible pages through the plug-in processing and system respacing.

      New Feature:
      - New option "Also Add Double Barline If More Than One Key Signature Changes are Found" added. In previous version Finale's "Double Barline Preceding Key Signature Changes" was automatically activated when exactly one key signature change was found. Now it's also possible to activate it automatically when multiple key signature changes were found (Deactivated by default).

      ;v3.0035 2022-03-16
      Improved:
      -Improved vertical/horizontal placement of bracket-only expressions (expressions that only have bracket symbols with space in between) that include another expression in its middle.
      -Improved vertical placement of measure counting expressions of slash staff styles on 1-line staves.
      -When only single measures or tiny regions were selected and slash or repeat staff styles were applied to large regions, then the measure counting feature is turned off to avoid wrong counting.
      -Improved rest metrics in some multi-voice scenarios
      -Improved PDF manual
      -Improved hairpin metrics in case of staff styles that hide expressions
      -In some cases improved horizontal placement of technique text expressions on beat 1
      -If a one-bar staff style follows directly after a slash staff style (not good practice), then only one measure counting expression will be added (not two).
      -Improved vertical alignment of dynamics in a rare combination of two voices plus articulations and dynamics.
      -In some cases improved vertical alignment of technique text expressions before dynamics

      ;v3.0033 2022-03-09
      Improved:
      -The feature "Put Tuplet Numbers on Notes Far Above the Staff on Top (And Vice Versa) and Add Brackets" has been fine-tuned a little bit more. It now looks even more at the surrounding notes to decide whether tuplet brackets are to be added or not.
      -If "Optimize Tie Settings" is activated, the tie settings are now only updated if the plug-in is applied to the full document.
      -Translation improved in the registration dialog: in non-English languages some English words occured.

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

      ;v3.0031 2022-03-08
      Fixed:
      -If the page with the first system only had invisible page texts, an error message could occur (introduced in v3.0027). Fixed now.

      Improved:
      -If a measure number region uses identical position values for measure numbers at system start and for multiples, then the measure numbers at system start won't be changed anymore.
      -Making Perfect Layout compatible with RGP Lua (Part 4): solving more issues with articulations in RGP Lua/Fin26+
      -Warning message added when many staves from measure 1 to the last measure are selected, but not all: was this intended or should it have been the selection of the full document?
      As some features of Perfect Layout only work if the full document is selected and some users have accidentally selected the visible staves only, the warning message should help to avoid this problem.
      -Improved activation process
      -Improved detection of "full score selected"
      -RGP Lua only: if the document uses niente hairpin expressions, but has no expressions with enclosures, you won't see a warning message anymore as RGP Lua can create new enclosures.
      -Two staff choir groups with only one lyrics line in the middle are moved closer together with the lyrics being in the center (similar to piano two staff groups). It only works if most of the bottom staff has no own lyrics, but shares the lyric from the top staff.
      -New default setting for the "Put Tuplet Numbers on Notes Far Above the Staff on Top (And Vice Versa) and Add Brackets": it will add brackets if there are at least three ledger lines and the tuplet is not surrounded by small steps.

      ;v3.0029 2022-03-03
      Fixed:
      -In rare cases a crash could occur (introduced in v3.0027) caused by page texts if the score and the parts have different numbers of empty pages before the first system. Fixed now.
      -When only few measures were selected, a crash could occur when trying to add a tie end and the starting measure was far away and not selected (introduced in v3.0021). Fixed now.

      Improved:
      -Improved detection of forte-piano dynamics built from two separate expressions
      -Improved collision detection on clefs that don't use the default clef font
      -Improved vertical placement of two tempo/rehearsal mark text expressions in some cases
      -Added better font file name support for some music fonts (i.e. detection of the font despite weird file names)
      -Making Perfect Layout compatible with RGP Lua (Part 3):
      a) tremolo articulations over whole notes now have the correct vertical offset in Finale 26+
      b) tie settings are now as in JW Lua
      c) combinations of multiple articulations on a slur that use both inside and outside slur settings are now handled correctly
      d) in case of collisions improved distances between articulations and expressions

      New Features:
      -New option "MMRests->Show Measure Range at Start of System". If the measure range is set to be shown only on at least x bars wide multi-measure rests, then it will still always show up below multi-measure rests at the start of the systen. Activated by default.

      ;v3.0027 2022-02-25
      Improved:
      -Improved vertical spacing in some case of staves that are hidden in some systems
      -Improved vertical spacing in some case of staves that are hidden in the score and used in parts only
      -In some cases improved placement of measure number expressions above large time signatures
      -Support for scores where the top staff is hidden and used in the parts only (in previous editions Perfect Layout issued a warning message and cancelled the processing)
      -In some cases improved detection of measure number collisions with curved group brackets
      -Better detection of page texts that are not assigned to a measure (but to a page) that are used as movement names
      -Improved additional "5 staff line"-expressions for clef changes on 1-line staves handling
      -Improved accidental/note collision handling on resized staves
      -In some cases improved horizontal placement of dynamic expressions on rests before very low notes
      -Improved placement of dynamic expressions on very low notes in two staff groups (e.g. piano notation), if the bottom staff is empty.
      -Improved placement of dynamic expressions on very low stemmed-down notes with tremolo articulations
      -The option "Ties->Re-tie Notes Only if First Tied Note Starts After Beat 1" is now deactivated by default
      -The lyrics baseline is improved on wide ties that could would collide with the word extension line.
      -If a hairpin continues on the next page, the staff on the second page has a different position, but still the hairpin has the identical vertical page position as on the first page, in some cases the vertical hairpin alignment on the second page has been improved.
      -Improved collision handling on technique text expressions that collide with multi-measure rest numbers

      New Features:
      -New suboptions (in Gold only) for "Re-tie Notes Which Cross the Middle of the Bar":

      a) "Re-tie if it Yields More Dotted Notes" (activated by default)

      b) "Re-tie if it Yields More Short Dotted Notes" (deactivated by default)

      c) "Re-tie Simple Patterns (max. 3 Notes)" (deactivated by default)

      The "Re-tie Simple Patterns" does not refer to patterns where the note durations are only exchanged. I.e. even if the option is deactivated a half note tied with a quarter note is automaticall changed to a quarter note with a half note if the half note crossed the middle of the bar.
      In Silver the default values always apply.

      ;v3.0025 2022-02-22
      Improved:
      -Improved placement of text expressions above barlines in certain scenarios of multi-measure rests with measure ranges
      -Improved calculation of tuplet brackets below notes in some cases
      -Improved chord metrics calculation on chords not attached to note entries
      -In some cases improved visibility/invisibility of measure numbers
      -Improved detection of identical/similar measure number regions
      -In some cases improved vertical staff spacing with hidden staves in the score
      -Minor processing speed improval
      -On "extracted parts" files or scores with only one staff and no parts, the unused measure number regions that Perfect Layout generates for (linked) parts are automatically deleted.
      -Additional "5 staff line"-expressions for clef changes on 1-line staves at system end are not added anymore if the "Display Courtesy Clef at End of Staff System" option is deactivated.

      ;v3.0023 2022-02-19
      Improved:
      -In very rare scenarios of multi-layer note entries improved placement of dynamics with attached hairpins
      -Improved vertical system spacing if a two-staff system has both staves superimposed.

      ;v3.0021 2022-02-16
      Improved:
      -Improved adding of horizontal space in some note collisions, especially with accidentals
      -Improved PDF manual
      -In some cases improved horizontal placement of rehearsal/tempo expressions on beat 1 if the note has a slur from the previous measure
      -Improved horizontal placement of custom lines above the staff at the end of a measure
      -Improved accidental collision detection if straight flags are used
      -Improved collision detection of backwards tied notes in repeat endings.

      New Feature:
      -If the "Tie End" flag is not set on the first beat of a (second or higher) repeat ending, then it will be set automatically if the last note in the last measure before the first repeat ending is tied.

      ;v3.0019 2022-02-13
      Fixed:
      -Windows: The deactivation sometimes didn't work when using the v3 beta in a v2 environment

      Improved:
      -Windows: Addition of the beta version to the download portal.
      -macOS: The quickstart tutorial in the browser only pops up at the end of the installation when the plug-in is installed for the first time.

      ;v3.0017 2022-01-31
      Fixed:
      -Finale 27: When certain combinations of text inserts were used on the first page, an error could occur (Bug introduced in beta v3.x).
      -Correct vertical chord alignment on all measurement units (Bug introduced in beta v3.x).
      -Expression playback behaviour was partially changed to "Tempo: 0" (Bug introduced in beta v3.x).

      Improved:
      -RGP Lua only: automatic activation of "Document Options->Accidentals->Use cross-layer accidental positioning" if "Alignment of Multiple Horizontal Accidentals" is activated in Perfect Layout
      -Finale 26/27: in some cases of notes below the staff and two articulations above the staff improved vertical placement of articulations
      -Making Perfect Layout compatible with RGP Lua (Part 2): Fin25/Fin26 version number corrections, changing dialog styles, updating articulation functions
      -Improved placement of dynamics above the staff before the end of the bar or before very high notes
      -Duplicate tempo/rehearsal expressions are not only detected and removed on the top staff, but also on other staves.
      -Ottava smartshapes that start on a rest are not horizontally aligned anymore, but kept at their starting position
      -Improved note collision removal over multiple staves in measures with grace notes and accidentals
      -Custom smartshapes after the final barline that are used for visual effects are kept as they are.
      -Updated the Italian translation
      -Minor improvements in the user dialog
      -Improved algorithm for detecting empty pages at the end of the score (which will be deleted)
      -If the "Remove 'Opaque'" from expressions option is selected, opaque background are now only removed on expressions with no border. If the line width is above 0, they are kept as they are.
      -Improved metric calculation of whole note chords
      -Improved placement of dynamics on beat 2, if the hairpin starts at the end of the previous measure and (accidentally) ends on beat 1 instead of beat 2
      -Improved handling of smartshapes that internally end beyond the last visible measure
      -Improved horizontal placement of instrument numbers (e.g. 1., 1.+2.) if a dynamic expression is on the same beat
      -Improved vertical placement of opaque Technique Text expressions
      -Improved placement of rehearsal marks over the barline that have a very low horizontal offset (below -200 EVPU)
      -Improved metrics on tuplets using the "Full Bracket Duration" option
      -Improved dynamics placement above the staff on lyrics staves

      New feature:
      -Messed up system staves in scroll view with staff distances beyond 1000000 EVPU which may lead to invisibility of all notation elements and other problems are reset
      -New option (Gold only): "Optimize Slur Settings" now has a suboption to "Optimize Slur System Break Settings".

      ;v3.0015 2022-01-26
      Fixed:
      -When the LH staff of a two staff piano group is completely empty, then in rare cases an error message could occur (Bug introduced in beta v3.0011)
      -When deactivating the plug-in and clicking on "Cancel" in the main dialog, in some cases an error message occured (Bug introduced in beta v3.x)

      Improved:
      -Support for 0/4 as "Display Time Signature"
      -Making Perfect Layout compatible with RGP Lua (Part 1): changing dialog styles, making plugindef() compatible, changing load style
      -Improved detection of "two staff groups" (e.g. piano notation)
      -Improved vertical spacing if a part has many completely empty systems (hidden with a staff style).
      -Vertical staff/system optimization in parts now also works correctly if "Resize Vertical Space" was deactivated on the systems
      -Improved vertical system spacing on parts with only few systems (that don't span the full page)
      -In some cases slightly faster vertical system spacing in parts
      -In vertical staff/system spacing the last system on a page is not moved to the next page anymore (which could happen only in very rare cases, especially cases when the staff height in a system was not at 100% in parts).
      -Updated PDF manual
      -Improved lyrics alignment when a lyrics section only has a "blank" syllable
      -Improved support for preventing the "QXPScriptingAddition.osax" error on some older maOS installations.

      ;v3.0013 2022-01-23
      Improved:
      -In some cases improved placement of hairpins before dynamics on very low notes
      -Improved detection of compound "fp" dynamics if these are created with two dynamics ("f"+"p").
      -Less collisions with repeat brackets in parts
      -Improved note spacing on multiple note layers in percussion notation
      -In some cases improved measure number placement over curved group brackets in the score

      ;v3.0011 2022-01-12
      Improved:
      -In rare cases improved vertical placement of above staff text expressions (especially over chords)
      -Improved vertical staff system spacing in some cases that use a very small page scaling (e.g. 10%) and a large staff system scaling (e.g. 170%).
      -Improved measure spacing in measure 1 if the staff default clef is different than the actual clef and measure 2 is empty.
      -Improved placement of dynamics before note clusters with many accidentals and very low notes
      -In some cases improved horizontal placement of compound dynamics ("sub.p") on scores that have differently resized staves.
      -Improved horizontal placement of expressive text connected with dynamics (e.g. "f" + "espr.") on resized staves in parts.
      -Improved metrics on manually adjusted accidentals that use a different font than the default accidental font
      -Corrupt accidental modifications are now detected and ignored
      -In dense piano parts improved placement of dynamics on beat 1 after hairpins in the previous measure
      -In some cases on piano notation there will now be larger vertical staff distances on very low hairpins between the staves.
      -Improved centering of dynamics between two staves on piano notation in parts
      -Separate (two) arpeggios on both staves of a two staff group (e.g. piano) don't affect the measure spacing on the second staff anymore.

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

      ;v3.0009 2021-12-21
      Fixed:
      -Fixed a v3.0007 bug: in some cases an error message could appear (staff and measure number mixed up).
      -The plug-in doesn't crash anymore on composite fractional time signatures including a "+" sign (e.g. (4+0.5)/4).
      -When running the system/staff optimization only one some pages (and not all pages), then in some cases the bottom staff wasn't accurately placed according to the selected "Align Page Bottom Margin with" setting. Fixed now.

      Improved:
      -Improved handling of invalid/corrupt text expressions
      -Improved placement of measure numbers at system start below 1-line staves with the "Drumset" clef
      -Improved vertical placement of multiple text expressions on the same measure position
      -Improved metric information or arpeggio articulations for staff collisions
      -Faster sorting of vertical text expression order
      -Glissando lines that were accidentally connected to two notes although they visually only refer to one note (i.e. a glissando from undetermined start note to the end note) are now better placed
      -When multiple glissando lines are attached to a chord and some of them are visually attached to the wrong note, these glissando lines are now ignored (as it is unclear what the composer wanted).
      -Glissando lines are better taken into account for staff collisions and text expression placement
      -More music fonts are recognized by Perfect Layout
      -Improved placement of two parallel glissando lines that start on the same pitch, but end on two different notes.
      -If the last system only has one measure, it's not shifted anymore to the previous system if it's a very dense notation.
      -Improved horizontal placement of text repeat symbols with inconsistent justification values
      -In some cases improved vertical placement of text repeat symbols from staff lists
      -In some cases improved horizontal placement of unison notes on two layers
      -Improved Italian translation
      -L.V. ties are not removed on resized notes any more as these could be cue notes from other instruments
      -L.V. ties are not removed on notes before slash or one-/two bar repeat notation staff styles
      -The option "Keep Current Position" for placement of measure numbers at system start is now more strict: extra offset for curved group brackets are not added anymore, the vertical/horizontal offsets can't be changed and "Clear Individual Measure Number Positions and Visibility" is also deactived. This ensures that measure numbers at system start should now stay at their position. The old functionality is now available under "Set to User-Defined Offsets".
      -Chord symbols are not placed above text repeats symbols anymore.
      -Small text elements attached to measures/staves, but vertically visible on other staves (because of high vertical offsets) are now better taken into account for vertical staff alignment
      -Prefix and Suffix symbols are supported in measure number collision removal

      New feature:
      -New option "Also Optimize Rests on Dashed Barlines, Ticks or No Barlines at All" (deactivated by default). If activated, then rest optimization is also performed on measures with dashed barlines, ticks or without barlines.
      -New option for placement of measure numbers at system start: "Set to User-Defined Offsets"
      -New option (in Gold): "Optimize->Add Double Barline Preceding Key Changes" which was activated by default in previous versions of Perfect Layout can now be deactivated (in the Silver version it's always activated).
      -New option: Arpeggio signs can now be automatically shifted before the accidental/note. In Gold only the distance is adjustable (in Silver and by default it is: 9 EVPU).
      The new option is "Reset->Shift Arpeggio Articulations Before Note. Horizontal Distance: 9 EVPU".
      If there is not sufficient space before the note, space will be added.
      In dense measures the results are slightly better when "Document Options->Music Spacing->Avoid Collisions of Articulations" had been activated before starting Perfect Layout.

      ;v3.0007 2021-11-16
      Fixed:
      -When "Optimize Staff/System Distances" was deactivated and the average staff system bottom margin was above 220 EVPU, then in some cases the staff system layout was still affected by PL. Fixed now.

      Improved:
      -Improved placement of wide, enclosed measure numbers at the start of the system in case of clef collisions
      -Improved cue text expression placement on two staff piano notation if the top staff is empty.
      -Improved lyrics placement on tall uppercase lyrics letters like ÜÄÖÉÈ etc.
      -"Invalid slur" message is not shown in the log anymore if only a partial region was selected and the slur was partially attached to a measure outside the selected region
      -Improved font metrics if a font has kerning tables with multiple sub tables
      -Improved placement of hairpins ending with dynamics on beat 1, if beat 1 is a long rest
      -Improved vertically centered placement of compound dynamics with expressive text in piano (two staff) notation (e.g. "piu" + "ff")
      -Improved log messages
      -Vertical spacing between systems now also works correctly if a staff system uses huge negative "Distance Between Systems" values
      -Improved placement of measure numbers at system start.
      -Improved automatic detection of measure number placement below the staff for automatically keeping the placement below staff if this is the default setting for the parts.
      -Improved placement of mf dynamics on (very) low notes below upstem notes (slightly further away).
      -The "Download Updates" page on the Elbsound.studio website now automatically detects the operating system
      -Tuplet brackets are not put on the other side on very high/low notes if these include ties or slurs (in previous versions it was only slurs)
      -In somes cases improved vertical dynamics/hairpins alignment
      -In somes cases improved horizontal dynamics/hairpins alignment
      -Detection of hidden notes when the staff settings (not the staff style settings) are set to use slash notation
      -Improved detection of "Alternate Notation" staves that don't use staff styles
      -Tuplet brackets on slash notation are automatically set unvisible when the tuplet notes are hidden behind the slashes
      -Automatic hiding of bow marks in the conductor score is now only activated by default if there are very many bow marks which probably are not required for the conductor. If there are only very few, but thus probably very important bow marks these are kept in the score.
      -Support for fractional time signatures: If irrational time signatures are used (e.g. 0.375/1), Perfect Layout doesn't crash anymore. Note: JW Lua can't read these time signatures, so please don't use them. For 0.375/1 write 3/8.
      -The warning message in the log file "Text repeat element in measure 54 is set to left justification, but currently (nearly) aligned with the right barline." (and vice versa with left) is not shown anymore on staves where the text repeat element is hidden because of a text repeat stafflist.
      -Automatic removal of hairpin on empty measures now also works on 2-staff piano groups
      -ca. 20-25% better processing speed on Windows, ca. 300% on macOS
      -Dynamics on beat 1 assigned to the bottom staff in two staff groups (piano notation) where the top staff only includes a whole rest are now assigned to a new layer in the top staff. Otherwise they would appear centered below the whole rest in the middle of the bar.
      -Tempo/rehearsal mark expressions on hidden staves that are visible in the score on the staff below (for whatever reason) are now taken correctly into account for staff spacing and alignment
      -Improved lyrics spacing in case of many font changes within a verse
      -If the current staff is the bottom staff of the staff system, large time signatures are now also taken into account for vertical spacing if they are attached to the previous or the penultimate staff, but have their bottom margin below the current staff
      -Improved measure spacing on wide text expressions when a multi-measure rest follows in the next measure and the expressions collides with text expression in the measure after the multi-measure.
      -Improved articulation placement in a certain two-layer/two-voice scenario
      -In some cases improved placement of tuplet brackets over tied notes
      -In some cases improved placement of tempo text expressions over hidden bow marks in the score.
      -Windows: The automatic update now makes sure that the downloaded user language files don't conflict with Windows' virtual store feature.
      -Improved text expression placement on piano (two staff) groups with a whole note in one hand and several notes in the other hand.

      New feature:
      -New option "Restart Measure Counting on Time Signature Changes" added to the measure counting options (activated by default).
      -New option "Place Harmonics Articulations (Circles) Outside Tuplet Brackets" (Gold: on the Articulation tab/Silver: on the Tuplets tab). Use this option to define inside/outside tuplet bracket placement of the circle articulation.

      ;v2.6100 2021-11-15
      Fixed:
      -In very rare cases Finale could show an error message when calculating the volume of a dynamics. Fixed now.

      Improved:
      -A few minor processing speed improvements all over the plug-in

      ;v2.6000 2021-11-10
      Fixed:
      -In rare cases an error message could occur on stem collisions in measures that also have hidden notes. Fixed now.
      -In rare cases when an expression used a non-installed font and Finale changed its font value to "Missing Font" instead of the real font name, Perfect Layout had problems in deciphering the expression text. Fixed now.
      -In rare cases Finale could hang when a certain combination of grace notes, freeze stems and hidden notes was in one measure. Fixed now.
      -If a score had multiple piano instruments and a hairpins between the two piano instruments (below the bottom staff of the top piano and above the top staff of the bottom piano), in some cases these hairpins were centered between the two instruments instead of aligned with the top instruments. Fixed now.
      -On the Chords tab a text was visible that had no function yet. The text has been removed.

      Improved:
      -Processing speed boost (especially on macOS) for the lyrics alignment if the file includes lots of syllables.
      -Faster calculation of expression and text metrics that are repeatedly used in the score
      -Many minor processing speed improvements all over the plug-in
      -More music font names added.
      -macOS installer now asks to close Finale 27 before installation.
      -Improved enigma tags optimization in the case of ^font(...)^size(...)^font(...)^size(...).
      -Horizontal lyrics metrics for vertical staff spacing are now calculated more precisely.
      -Improved placement of enclosed measure numbers at system start.
      -Horizontal collisions of expressions with lyrics are now partially taken into account.
      -Improved vertical staff/system spacing on parts with only one page and lots of free space.
      -Improved Spanish, French, Italian, German and Polish translation
      -Improved support for negative baseline, tracking and superscript values in texts
      -Moved "Clear Manual Vertical Lyrics Positioning" to the Alignment tab in the lyrics section. When everything the "Deactivate All" preset is loaded, it's now possible to activate vertical lyrics alignment with one click only.
      -In some cases improved measure number metrics at the start of the system (with enclosures and measure number regions that don't start at measure 1).
      -Articulation with tie/slur collision removal now also works with tremolo articulations on whole notes

      ;v2.5900 2021-10-27
      Fixed:
      -When shape expressions are used as multi-measure rest breaking expressions at the end of a multi-measure rest, then in some cases an error message could occur.

      Improved:
      -The plug-in now also checks directly after the first installation if an update already exists.
      -Improved PDF manual
      -The registration data (Name, email address, license key) is shown on the General tab.

      ;v2.5800 2021-10-25
      Improved:
      -Some tasks were split into smaller parts to have a more accurate progress bar.
      -Cleaned up the ES Perfect Layout.log file: "Elapsed Time: 0.00" is not shown anymore; all percentage values now have the format x.xx.
      -Increase in processing speed on large scores (especially on macOS the progress bar sometimes took very long at "General Preparations: 68%").
      -The horizontal repeat bracket alignment now supports the "Thin Inner Barline" option from Finale's repeat ending preferences

      ;v2.5700 2021-10-22
      Fixed:
      -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.

      Improved:
      -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
      -Slightly improved 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
      Fixed:
      -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.

      Improved:
      -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 Terminal.app 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
      Fixed:
      -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:
      -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
      Fixed:
      -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:
      -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
      Improved:
      -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
      Fixed:
      -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:
      -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
      Fixed:
      -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.

      Improved:
      -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
      Fixed:
      -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.

      Improved:
      -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
      Fixed:
      -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.

      Improved:
      -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
      Fixed:
      -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.

      Improved:
      -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
      Fixed:
      -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.

      Improved:
      -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
      Fixed:
      -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.

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

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

      Improved:
      -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
      Fixed:
      -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.

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

      ;v2.4200 2021-07-07
      Fixed:
      -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.

      Improved:
      -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 https://elbsound.studio/assets/img/ES/AccidentalPlacementOnSeconds.gif )

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

      Improved:
      -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
      Fixed:
      -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.

      Improved:
      -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
      Fixed:
      -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.

      Improvements:
      -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
      Fixed:
      -On grouped piano staves dynamic expressions with the "EXCLUDE" tag are not centered vertically anymore.

      Improvements:
      -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
      Fixed:
      -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.

      Improvements:
      -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
      Fixed:
      -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.

      Improvements:
      -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: https://elbsound.studio/perfect-layout/optimize.php#go-to-optimize7

      ;v2.2000 2021-05-03
      Fixed:
      -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

      Improved:
      -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/com.apple.windowserver.plist 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 www.music-fonts.com#smufl
      -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
      Fixed:
      -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.

      Improved:
      -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
      Fixed:
      -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

      Improved:
      -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
      Improved:
      -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
      Fixed:
      -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.

      Improved:
      -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
      Fixed:
      -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.

      Improved:
      -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
      Fixed:
      -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.

      Improved:
      -Some updates to the Japanese translation

      ;v2.0270 2021-02-17
      Fixed:
      -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.

      Improved:
      -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
      Fixed:
      -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

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

      ;v2.0250 2021-02-14
      Improved:
      -"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
      Fixed:
      -In very rare cases an error message could occur on hidden resized staves. Fixed now.

      Improved:
      -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
      Fixed:
      -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:
      -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 (https://elbsound.studio/perfect-layout/tuplets.php#go-to-tuplets1):
      https://elbsound.studio/assets/img/ES/ambiguousflags26.jpg
      https://elbsound.studio/assets/img/ES/ambiguousflagsafter26.jpg
      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 https://elbsound.studio/perfect-layout/tuplets.php#go-to-tuplets1 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: https://elbsound.studio/perfect-layout/how-to-use-the-perfect-layout-plugin.php#go-to-quickstart21 )
      -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
      Fixes:
      -In very rare cases an error message could occur in the measure number vertical offset calculation. Fixed now.

      Improved:
      -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
      Improved:
      -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
      Fixed:
      -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.

      Improved:
      -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
      Improved:
      -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)\Elbsound.studio\Perfect Layout, macOS typically: /library/application support/Elbsound.studio/Perfect 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
      Improved:
      -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
      Fixed:
      -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.

      Improved:
      -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 https://elbsound.studio/perfect-layout/manual.php). 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
      Fixed:
      -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.

      Improved:
      -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
      Improved:
      -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:
      -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
      Improved:
      -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
      Fixed:
      -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.

      Improved:
      -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: https://elbsound.studio/perfect-layout/how-to-use-the-perfect-layout-plugin.php#go-to-quickstart21
      -macOS: Support for fonts from .dfont files that are not Windows-compatible (i.e. without an OS/2 table).

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

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

      Improved:
      -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
      Fixed:
      -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.

      Improved:
      -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
      Fixed:
      -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.

      Improved:
      -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
      Fixed:
      -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:
      -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
      Improved:
      -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: https://elbsound.studio/perfect-layout/faq.php#go-to-installation25

      ;v2.0040 2020-11-07
      Fixed:
      -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.

      Improved:
      -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
      Fixed:
      -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:
      -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
      Fixed:
      -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.

      Improved:
      -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:
      -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:
      -Improved user dialogs for expression category changes

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

      Improved:
      -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
      Fixed:
      -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.

      Improved:
      -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
      Fixed:
      -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
      Fixed:
      -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 https://elbsound.studio/getdownload.php) is not be blocked anymore by the window pop-up blocker.

      Improved:
      -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 https://elbsound.studio/perfect-layout/faq.php#go-to-installation23
      -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: https://elbsound.studio/perfect-layout/slurs-ties.php#go-to-slurties4

      ;v2.00-1.8510 2020-09-08
      Fixed:
      -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:
      -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
      Fixed:
      -The download link for the PDF manual was broken. Fixed now.

      Improved:
      -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
      Fixed:
      -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:
      -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/Elbsound.studio/Perfect Layout/Docs and Test Files/ are now writeable.

      ;v2.00-1.8300 2020-09-01
      Fixed:
      -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:
      -Improved installer stability (macOS)
      -Glissandi lines that are misused as trills are now better detected.

      ;v2.00-1.8200 2020-08-19
      Fixed:
      -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.

      Improved:
      -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
      Fixed:
      -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:
      -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
      Improved:
      -macOS: Improved installer
      -macOS: Improved progress bar placement

      ;v2.00-1.8047 2020-07-06
      Fixed:
      -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:
      -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
      Fixed:
      -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
      Fixed:
      -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

      Improved:
      -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
      Fixed:
      -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.

      Improved:
      -"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
      Fixed:
      -'zsh' problem on macOS/Catalina solved
      -Only the progress bar 'Terminal' window is brought to the foreground (not other Terminal windows)

      Improved:
      -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
      Fixed:
      -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).

      Improved:
      -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
      Fixed:
      -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.

      Improved:
      -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
      Improved:
      - "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 elbsound.studio.

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

      ;v1.7104 2020-03-30
      Fixes:
      - 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.

      Improved:
      -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
      Fixes:
      -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.

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

      ;v1.6900 2020-03-26
      Fixes:
      - 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
      Improved:
      - 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
      Fixes:
      - macOS: Correct elapsed time calculation
      - macOS: Progress bar now included

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

      ;v1.6500 2020-03-20
      Fixes:
      - 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
      Fixes:
      - 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.

      Improved:
      - 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
      Fixed:
      - 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
      Fixes:
      - 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.

      Improved:
      - 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
      Fixes:
      - 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.

      Improved:
      - 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

      Fixed:
      - 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.

      Improved:
      - 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
      Fixed:
      - 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:
      - 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
      Fixed:
      - 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)

      Improved:
      - 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)
      Fixed:
      - 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:
      - 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 https://elbsound.studio/perfect-layout/faq.php#go-to-other17)
      - 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
      Fixed:
      - 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.

      Improved:
      - 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 https://elbsound.studio/download.php?f=Perfect%20Layout%20Manual.pdf and as web page https://elbsound.studio/perfect-layout/manual-for-print.php .
      - The installer now supports two activations of the plug-in if the license key allows two activations. Read the FAQ (https://elbsound.studio/perfect-layout/faq.php#go-to-installation10 ) on how to activate two installations.

      ;v0.9664 2019-06-20
      Fixed:
      - 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

      Improved:
      - 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. D.S.al 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
      Fixed:
      - 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).

      Improved:
      - 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
      Fixed:
      - 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

      Improved:
      - 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
      Fixed:
      - 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).

      Improved:
      - 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
      Fixed:
      - 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