Perfect Layout - Online Manual

Contents

  • How to use the perfect layout plugin
  • Settings
  • Do first
  • Optimize
  • Reset hide
  • Mmrests
  • Chords
  • Groups
  • Alignment
  • Layers cues
  • Expressions
  • Articulations
  • Hairpins
  • Slurs ties
  • Counting
  • Systems
  • General
  • Load save
  • Other features
  • Faq
  • Overview
  • Version History

  • Date:Sat, 21 Sep 19 15:58:19 +0200

    Quickstart:
    How to Use Perfect Layout

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

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

    If you use the plug-in for the first time and are curious about how your old Finale® documents will look with the plug-in, don't grab a manually optimized document from your archive, but take a raw and unoptimized older version of the document instead. If you don't archive these, you may find some in your Finale® automatic backup folder.Already manually optimized documents will sure get some optimizations through the plug-in, but other manual movements might be removed or solved differently.
    The power and time-saving element of Perfect Layout lies in processing completely unoptimized documents.
    We recommend testing the plug-in on the first run with the "Perfect Layout demo file" as this is an unoptimized, short and complex test file which also creates all necessary font metrics files.By default it is stored in
    c:\program files (x86)\Elbsound.studio\Perfect Layout\Docs and Test Files\ES Perfect Layout Demo.musx

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

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

    Therefore it is recommended to use a fast computer which means a very high GHz processing frequency. It doesn't need to be a new chip or a multicore processor as Lua only use one core, only the processing frequency counts.Recommended are (overclocked) frequencies above 4,0 GHz. A comparison of some computers and how they perform with the Perfect Layout plug-in can be found here ("Do I need a faster computer for the plug-in?" in the FAQ).

    When running the plug-in for the very first time, it takes longer until the main dialog appears because some font metrics files are created in the background.
    If you have many text fonts installed (especially huge unicode fonts), the metrics file creation process can take more than a minute (even 20 minutes if you have very, very many text fonts installed and use a slow computer). It's also possible that you will see a few black windows pop up during that process.

    The external progress bar and auto-minimize window function is also limited on the first run as it is possible that some popup windows with questions appear. After the first run the plug-in is much faster as this process only has to be done once.

    The Silver400/Gold400 edition are limited 400 measure and 36 (visible) staves. The plug-in won't work if your score is above that limit.

    Enter all notation symbols as Finale® places them by default.
    Don't waste time in manually correcting the placement of hairpins, custom lines, expressions or articulations.That's what the plug-in is for.
    But make sure that the symbols were not placed ambiguously.Otherwise the Perfect Layout plug-in might not optimize the symbol's layout as it is not clear which beat or which symbol it was originally intended to connect to.

    Example 1:

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

    Example 2:

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

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

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

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


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


    Image 4: Overlapping unambiguous expressions are automatically corrected.


    Image 5: Overlapping expressions and hairpins are automatically corrected.

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


    Recommendations for optimizing your Finale® default document:
    1.) Smart Shapes: Turn on "SmartShape->Snap When Attaching to Beats"
    2.) Expressions: For a more uniform look it is recommended to have all expressions in an expression category 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: Optimize the default placement of articulations as this is where the plug-in usually moves the articulations - except when there are collisions.
    E.g. if you want to have an articulation appear below the note, don't use the placement "Position: Above Note" and move it manually below, but use "Position: Place Below".
    If necessary, you need to create duplicate articulations with different placement settings.

    Things to avoid:
    - Having two dynamics at the same measure position (except f p which becomes fp).
    - Having dynamics between hairpin start and end points (unless this is what you want).
    - Having dynamics and hairpins overlap and/or connect internally different than visually (as in image 2 above).

    Before applying the plug-in make sure all measures in the score and in the parts are on the staff system for the final version.Why? Because the vertical alignment of expressions and hairpins may be different, if a measure is shifted to another system.The horizontal alignment and spacing might also be handled differently if the measure layout changes.

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

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

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

    If you have activated "Automatic Music Spacing" (Preferences->Edit->Automatic Settings->Automatic Music Spacing), skip this step.

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

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

    If you use linked parts - BTW, highly recommended as they are automatically processed by the plug-in together with the score -, you only need to one thing before running the plug-in:
    after the part creation through "Document->Manage Parts->Generate Parts", parse through all parts and optimize their measure layout as described in 3.)
    System spacing is currently only performed in the Score (not in the parts -> will be added in one of the next updates), so you don't need to have the systems on the correct page.
    It makes more sense to do this after the symbol layout has been optimized by the plug-in.
    No other manual adjustments should be done in the parts at this stage.

    Excursus: Handling of Score and Parts in the Perfect Layout plug-in
    Finale® has the "Edit Score" mode and the "Edit Parts" mode.
    But what if a Finale® document ("Score") is actually an individual instrument part ("Part"), i.e. if it only has one staff?
    The Perfect Layout plug-in automatically treats a "score" that has only one staff or a two staff-grouped system (e.g. piano) as a "part".
    Certain "only in parts"-features or part-dependent parameters are automatically activated in this case.

    Unfortunately it's not possible to automatically switch off music spacing through the JW Lua plug-in interface, so you need to do it manually.
    It is important to switch it off, because otherwise the spacing corrections of the plug-in may be automatically removed after the plug-in has finished.

    If the score doesn't have any lyrics, skip this step.
    Note: THIS LYRICS PREPARATION WITH TG TOOLS IS NOT NECESSARY WITH PERFECT LAYOUT v1.15 ANYMORE (will be released in late September 2019).

    The Perfect Layout optimizes lyric baselines, i.e. it removes collisions with notes.
    Because of a bug in JW Lua this is currently only possible if baselines have already been manually adjusted for each system and each lyric type (i.e. JW Lua can change a baseline offset, but it can't tell Finale® that the lyrics baseline isn't the default baseline anymore, so Finale® wouldn't notice the new baseline offset.)

    In most scores this can be solved easily as they probably only use the default lyrics type: verse 1.
    In this case the task can be automated when the plug-in collection TG Tools (full version) is installed.Simply click on TG Tools->Lyrics->Adjustments, Baselines... and set "Verse/chorus/section 1" to any value other than 0 EVPUs and then click on "Go".


    Image 6a: TG Tools->Lyrics->Adjustments, Baselines Plug-in

    This TG Tools->Lyrics->... plug-in has to be run on the score AND each part that includes lyrics. Only running TG Tools->Lyrics->... on the score is not sufficient.

    If multiple lyrics types (verse, chorus, section) and/or multiple numbers haven been used or if TG Tools (full version) is not installed, the baseline has to be manually adjusted (i.e. slightly shifted to any value) for each system which is quite some effort.


    Image 6b: Move the third triangle (the "Staff System" triangle) of the lyrics baseline to any (!) value to create a manual adjustment

    Hopefully this bug will be fixed in a future release of JW Lua. As it has been solved partially in TG Tools, we assume that it is technically feasible and not a limitation in the Finale® PDK.

    An automatic horizontal and vertical alignment of music and text symbols is only possible, if the plug-in knows what the symbol means.
    The Perfect Layout plug-in uses three ways to achieve this:
    a.) It includes a music font database with about 1000 music symbols from more than 450 music fonts, so it can decipher most of the music symbols.
    b.) It analyzes the names of the expression categories.
    c.) It compares the contents of text expressions with a few standard texts like pizz., rit., a2, crescendo, etc. and suggests to move expressions to the corresponding category if necessary.

    The better the expressions are assigned to categories, the better the alignment will be.
    Or 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.

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


    Image 7: "Cues" category


    Image 8: "In Party Only" category

    If niente circle expressions are not used in the score, skip this step.

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

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


    Image 9: Enclosure "Square" selected


    Image 10: Before and after running the plug-in
    The square enclosure is automatically reduced to the size of the niente circle.

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

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

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


    Image 11a: "Use Tempo Marks Category Positioning" in the Expression Designer dialog

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

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

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

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

    The "Reflow Measures/Systems" settings in Finale's own preferences are crucial for Perfect Layout's measure and system layout!So please set the "Reflow Measures" options according to your needs before running the plug-in. If required, also add page breaks to the document.

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

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

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

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

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

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

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

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


    Image 11c: Finale's Reflow Measures settings under Preferences->Edit

    Please set the "Manual Positioning" option in Document Options->Music Spacing according to your needs.

    If it is set to "Clear" or "Ignore" the manual positioning might be removed. If it is set to "Incorporate", the manual positioning will be kept unless there are collisions.

    The automatic system and staff balancing forces the systems to stretch until the page bottom margin.So you need to set a good value bottom margin now. You can change it later for alignment of page text objects.Now it is only needed as a marker for bottom of the staves.

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

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


    Image 14: The systems will be aligned to the bottom margin of a page

    If you use Finale 26, you should pay attention to the new Finale 26 features "articulation stacking" and "slur collisions with articulations".As MakeMusic hasn't release the Finale 26 plug-in software yet (and thus JW Lua hasn't been updated to these new features), these new features can't be detected by the plug-in.
    So it might look better (or worse - just as you prefer it) if you switched off "Stacking" and set "Slur Interaction: Auto inside/outside" to "Ignore" before applying the plug-in.

    Also make sure to select "Keep Positioning" of articulations when opening a document from a previous version of Finale. If you select "Enhance" instead, some articulations might not be fixed.

    Don't forget that new documents created with Finale 26 are NOT compatible with Finale 25 anymore (not in general, but the articulation placement will be messed up when you load the document in a previous Finale version). This doesn't have to do with plug-ins, but with the new articulation feature and the way Finale saves articulations.So if you plan to use the document in Finale 25 or Finale 2014, don't create it with Finale 26, but with Finale 25.

    Before running any plug-in always make sure to save the Finale® document file for the unlikely case of an abrupt termination of the plug-in or even a crash of Finale®.

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

    Image 12: Plugin Termination Error

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

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

    It is recommended to run the plug-in on the full document in "Edit Score" mode as only this activates all features and also processes all parts.You can either manually select the full document before running the plug-in or select nothing which will automatically select all. The plug-in can be run in Scroll or Page View.

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


    Image 13: Starting the plug-in

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

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

    The plug-in will remind the user of all tasks listed above (1. - 11.) by default.
    It is possible to turn of 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 forgetten one or two things before running the plug-in.

    Should you notice that other plug-in parameters might work better or that you had forgotten anything before running the plug-in, you can undo it and rerun it with new parameters.

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

    Clicking on Undo/Redo for a fast before/after comparison of the plug-in is possible, but unfortunately it does not always work well when a lot of respacing has been done by the plug-in.
    There is also a known bug, where page breaks in parts may lead to staff systems disappearing in the score when clicking on "Redo".
    For a yet unknown reason (we assume a bug in the Finale® PDK or the JW Lua PDK) the page layout is sometimes not updated when calling "Redo", so the spacing will get messed up on "Redo".
    If the spacing hasn't been changed much, undo/redo works fine.

    If any manual adjustments are still required, now the time has come.
    It's also possible to re-apply the plug-in on selected areas, if any manual adjustments were made that could be improved by a selective rerun.

    The following Finale® preferences and document options will change through the plug-in:
    If the measure reflow option "Edit->Preferences->Across Systems (Remove System Locks)" was activated, it will become "Across Systems (Maintain System Locks)" to not destroy the layout that the plug-in has created.
    If the document option "Multi-Measure Rests->Update Automatically" was activated, it will be turned off to keep the new multi-measure rest layout.

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

    Manual and User Dialog Settings

    The complete manual which includes all web pages is available here. There are also some international editions of the manual.
    Note: These were translated automatically from the English version and only give a rough translation of the full content. But hopefully it is fully understable.
    If you have any suggestions for "automatic improvements" (like word ABC is always translated wrong and could be easily replaced by another word), please let us know.
    English PDF or as web page
    French PDF or as web page
    German PDF or as web page
    Italian PDF or as web page
    Polish PDF or as web page
    Spanish PDF or as web page

    User Dialog Tabs

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

    Do First

    Perfect Layout: Settings Do First DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues 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)
    .
    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 Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Optimize Finale's Defaults DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    In the "Optimize" section you can select which document options should be changed to the plug-in's optimized values.
    The plug-in can update Finale's settings for slurs, ties, hairpins, tuplets and spacing.
    Slur values are only updated in the Smart Shape Options menu, not in the Placement or Contour menu.
    These values are hard-coded in the plug-in and result from many years of Finale® expertise.
    Still it's possible that they don't fit your personal needs, so you can switch off these settings individually. As JW Lua doesn't allow slur modification, it's also possible that some slurs still have little collisions with notes as there are no all-purpose settings for slurs.

    The plug-in will also automatically update the staff line, stem line, bar line and ledger line thicknesses unless you have changed them manually to values where the thicknesses are not equal.
    For better readability it is recommended to have different values for each type. The plug-in will apply these thicknesses:

    Stem Line: 2,65 EVPU
    Staff Line: 2,96 EVPU
    Ledger Line: 4,00 EVPU
    (Thin) Bar Line: 3,82 EVPU

    For better quality the plug-in will also set the Curves Resolution to 127 (from Document Options->Lines and Curves).
    The "Double barline preceding key changes" feature will also be enabled automatically.
    It's currently not implemented to switch off these features.

    When the tuplet default settings are updated, Finale® doesn't automatically update the existing tuplets.If you want to have the tuplet settings copied to each tuplet, select "Copy Default Settings to Tuplets".If "Optimize Tuplet Settings" is selected, the settings are always copied to the existing tuplets.

    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.

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


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

    The "Optimize Rests" option enables the algorithm for better rest splitting (e.g. dotted quarter in 6/8, etc.). In scores Perfect Layout also analyzes other staves to detect for example if a 5/4 time signature is split to 2+3 or 3+2.
    If many alternating, complex or ambiguous time signatures are used, it is also possible to turn off "Optimize Rests".
    Consolidated rests (i.e. rests in multiple layers that are merged to one visible rest) are by default excluded from the rest optimization algorithm (Option: "Exclude Consolidated Rests from Rest Optimization").
    The "Force consolidated rests" option creates consolidated rests if non-consolidated rests are in the score. This is especially interesting on MusicXML imported documents as they don't conserve Finale's consolidated rests feature. If the plug-in detects a MusicXML imported document, this feature is automatically activated in the user dialog and needs to be deactivated manually, if unwanted.

    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 entry offsets for dynamics and expressive text.
    The baseline position is the vertical offset from the middle of the staff lines.

    This will update the placement and alignment of all existing expressions. Expressions from other categories will be corrected, so that they stay at the original position.
    While the "Below Staff Baseline Position" affects expressive text and dynamics expressions, the "Above Staff Baseline" mainly affects tempo marks, rehearsal marks and tempo alterations.

    For the Perfect Layout plugin the baseline always means the closest position to the staff line. If there is a collision, the expression will be horizontally or vertically shifted, but never closer to the staff.
    There is only one exception: dynamics are shifted slightly closer to the staff, if the "Shift Dyn. Expressions Up If Lowest Element is Staff Line" is selected in the "Express." tab.


    Reset/Hide

    Perfect Layout: Settings Reset/Hide DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues 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 aligns
    • dynamic and expressive text expressions below the staff horizontally and vertically
    • tempo and rehearsal marks and tempo alterations above the staff horizontally and vertically
    • leaves all other expressions 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 huge, then it is unlikely that a clear zero position was intended by the engraver. In this case manual (horizontal) adjustments are not removed.
    The thresholds for "huge offsets" can be set in "Reset Horizontal Position of Dynamics Until Maximum Horizontal Offset" and "dito., Max. Horizontal Resset Offset for Whole or Dotted Notes".

    Dynamic expressions in staves with lyrics are very often placed above the staff, these are currently not taken into account for alignment.
    The option "Reset Vertical Position of Dynamics and Expressive Text on Notes With Lyrics" is switched off by default. If selected, dynamics above the staff will suddenly appear below the staff line if they were taken from the default dynamics category and it is still set to below baseline.

    Some expressions usually only appear in the parts, to not mess up the conductor's score. These expressions must be placed in a user-defined category containing the keywords defined in "Hide Expressions in Score with Category Keyword(s)".
    E.g. if you name the expression category "In Parts Only" and enter the keywords "part,only", then the plug-in will hide all expressions from categories with names that includes these keywords.


    Image 1: Category "In Parts Only"


    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.

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

    The option "Move Single Pitch Notes on One-Line Percussion Staves Onto Staff Line" is required for 1-line percussion staves where the notes are not centered on the staff line.This occurs from time to time in older documents or when imported through MusicXML.
    This feature only becomes active when only one pitch ("Single pitch") is used throughout the staff. It will not do anything for example to two-note conga or bongo staves.

    The option "Reset Left End Point Offset of Lines That Start on Measure Pos 0" 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 3: 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 4: Left: Original, Right: After vertical reset

    "Force 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 5: Left: Original, Right: Added Brackets

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

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

    "Force 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 7: 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 8: Left: A five 8th note tuplet with 16th notes becomes a ten 16th notes tuplet

    Note: In the Silver edition of the plug-in these three options are on the "Tuplets" tab.

    Multi-Measure Rests

    Perfect Layout: Settings Multi-Measure Rests DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues 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
    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 also image 2 below). By default this option is unchecked.
    If this option is unchecked, the multi-measure rest style will not be changed.

    The measure number range (e.g. [24-34]) below a multi-measure rest can be very helpful for the player. But it should not include unnecessary information either. So it makes sense to not show it on every multi-measure rest, but only on the longer ones and for example after each double bar line (Option: "Show Measure Rang After Double Bar Lines").
    The number of empty bars for hiding/showing measure ranges can be set twice:

    a.) Absolute: "Always Hide Measure Range If Less Than X MMRest Bars". By default it's set to 3.
    b.) Relative: "Hide Measure Range If Less than X Adjacent MMRest bars" also takes into account measures before and after this multi-measure rest. By default this is set to 10.
    For example two multi-measure rests of 3 and 8 measures each will show the range (3+8=11), but a single 8 measure MMRest will not show the range (see image 1).

    The measure range can be activated by selecting "Show Measure Number Range on MM Rests", but it currently can't be hidden if it is already visible.


    Image 1: Adaptive Measure Range Visibility on Multi-Measure Rests: Visible if at least 10 adjacent measures and after double bar lines.

    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 2: 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 3 last line).To activate this feature select "Show Right-Aligned Tempo Marks on MMRests".
    Make sure the expressions are right-aligned, attached near the end of the measure and are set to "Break MM Rest".


    Image 3: Tempo Marks at the End of Multi-Measure Rests

    Chords

    Perfect Layout: Settings Chords DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues 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.

    Groups

    Perfect Layout: Settings Groups DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues 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.

    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.

    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 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 best fitting line (above all other objects)
    c.) Align all text expressions on the best fitting line, but keep rehearsal marks close to the staff (Option "Per System/Skip Rehearsal Marks")

    This option can selected differently for the score and the parts.
    Individual alignment gives more vertical space for other objects and works better in narrow part pages.Alignment per system is usually better readable, but requires more space.


    Image 1:
    Top (a): Individual alignment (close to the note/staff)
    Middle (b): Alignment on the best fitting line
    Bottom (c): Alignment of the text expressions. Rehearsal marks are close to the notes/staff.

    A few 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 easier to generally increase the vertical distances of two objects. Don't forget to also adjust the "Below Staff Baseline Position" and/or the "Vertical Entry Offset" on the "Optimize" tab in order to adjust the general placement of dynamics and expressive text.
    The Silver edition allows six predefined values (-3, 0, 5, 10, 15 or 20 EVPU), while the Gold edition is fully flexible.


    Image 2: Extra Vertical Collision Offset: -2, +5 and +15 EVPU

    The "Harmonize Offsets and Aligment of Rehearsal and Tempo Marks" option harmonizes the offsets in the Rehearsal Marks, Tempo Marks and Tempo Alteration categories which improves their horizontal and vertical alignment.

    The overall vertical alignment of hairpins, dynamics and expressive text on a system is done in a complex algorithm which takes into account many vertical and horizontal positions and distances and tries to create a visually balanced and pleasing look.
    The options for the algorithm are:
    a.) Vertically Align Dynamic Expressions Only If Connected by Hairpins: self-explanatory (see image 3 below)
    b.) Smoothen Vertical Alignment of Hairpins and Dynamic Expressions: If selected, the vertical alignment algorithm is run twice. This usually leads to more hairpins and dynamics being on the same vertical position and thus look smoother.

    In the parts where there is usually more vertical space available and where readability is much improved by dynamics and hairpins being on the same vertical position, it makes sense to align close dynamics also if unconnected and to smoothen the vertical alignment.
    In the score these options usually are selected the other way round. These are also the default settings.
    Single dynamics on very low notes are usually not taken into account for overall vertical alignment (see the fff and the ff in image 2 above).


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


    While dynamics and hairpins and single staves are aligned with a certain distance to the lowest object above them, on two staff groups like in piano notation they are usually centered between the lowest object from above and the highest object from below.As is single staves they still have to be connected to adjacent dynamics/hairpins in a musical and visually balanced way.
    The Perfect Layout offers vertically staff-centered alignment of dynamics and hairpins in combination with automatic best staff distance calculation.
    To activate this feature check "Center Dynamics and Hairpins Between Two-Staff Groups".
    The feature is still in beta state, but already delivers very good results most of the time - even if there is not much vertical space available.



    In order to avoid collisions of rehearsal marks and measure numbers, you can easily select their placement in "Place Rehearsal Marks at Start of System" and "Place Measure Numbers at Start of System".Of course, it is also possible to keep the original position.
    Don't forget to uncheck "Hide Measure Numbers" in the rehearsal mark expression to actually see measure numbers next to rehearsal marks.
    To fine-tune the placement of measure numbers, you can also change the horizontal and vertical offsets at system start manually. By default these values are created automatically ("Automatically Set Measure Number Offsets at Start of System").

    To avoid collisions with group brackets, you can check "Extra Vertical Offset for Curved Group Brackets". It moves measure numbers on top of a group bracket slightly upwards and below the bracket slightly downwards.

    Image 4: Extra vertical offset for curved group brackets

    In general it is recommended to use narrow fonts for measure numbers at system start (e.g. Arial Narrow) - especially when the piece has more than 100 measures (i.e. 3 digits).
    Other recommended fonts for measure numbers are available here: serif and sans serif fonts.

    Here are some of the options:

    Image 5:
    1: Reh.Mark: Left Edge, Left-Aligned   /   Measure Number: Left Edge, Left-Aligned, Above
    2: Reh.Mark: Left Edge, Centered   /   Measure Number: Centered over Clef
    3: Reh.Mark: Centered over Clef   /   Measure Number: Left Edge, Right-Aligned, Below
    4: Reh.Mark: Centered over Time-Signature   /   Measure Number: Centered over Clef
    Other options are "At Music Start" and "After Time Signature".

    Automatical alignment of lyrics in relation to the lowest notes is partially available in the Perfect Layout plugin.
    Unfortunately the JW Lua plug-in interface doesn't support creating new staff baselines for lyrics.
    So if a Finale document doesn't have any manually adjusted staff baseline for lyrics, the alignment won't work.
    Here is the description what you have to do before running the plug-in.

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

    The lyrics alignment is rather limited. It only takes into account the note bottom positions (including articulation) and fixed offset if a note has a slur.The exact slur data is currently not taken into account which might lead to collisions.


    Image 6: Automatic Multi-Verse Alignment with the Perfect Layout Plugin
    Tuplet brackets on lyric staves are automatically moved on top of the staff to avoid collisions (measure 1).
    In the last measure the slur collision is removed, but the distance to the slur is slightly too small which is a result of the fixed slur offset. This will be fixed in a future release.

    Layers and Cues

    Perfect Layout: Settings Layers and Cues DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues 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
    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 Perfect Layout plug-in has a few functions dedicated to cue notes and cue texts.During initalization of the plug-in it tries automatically detect the "Cue Note Layer" and, if used, a "Cue Lyrics Layer w/Hidden Notes" (which some use for lyrics scaling).
    If no cue notes were found, then these options ("Dedicated Cue Note/Lyrics Layer") cannot be set.
    The plug-in processes cue texts created with Finale's "Add Cue Notes" plug-in like "Fl." or "Trb.1" if they are placed in a dedicated expression category. To detect this expression category it looks if the category names include the keyword listed in the option "Keyword for Categories with Cue Expressions" (set to "cue" by default).


    Image 1: Cue expressions category
    If the option "Scale Cue Expression with Note Entry" is selected, then the cue expression will get be reduced like the note entry (activated by default).

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

    Expressions

    Perfect Layout: Settings Expressions DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Express. Artics. Hairpins Slurs/Ties Counting Systems General
    The silver edition has no expression tab.
    To get the best results with the Perfect Layout plug-in it's important to use Finale®'s expression categories correctly.
    The same goes for Finale®'s other default categories:
    1.) Dynamics/Niente Circle: Keep dynamics only in a category with the keyword "Dynamics" (or Dynamik or dynamiques or dinamiche from the international editions of Finale). It's also possible to combine words like "Percussion dynamics" or "Above Staff Dynamics" - as long as the main keyword is found.
    2.) Expressive Text: Expressive text expressions are partially taken into account in alignment. Especially in combination with dynamics or hairpins on the same measure position the expression will be aligned horizontally and/or vertically.
    3.) Rehearsal Marks/Tempo Marks/Tempo Alterations: Elements in these categories are taken into account for vertical and horizontal alignment above the staff. Rehearsal Marks can also be placed at different positions at the beginning of a staff (see alignment tab).
    4.) Technique Text: Expressions in this category are not vertically/horizontally aligned!
    5.) "Cue"-Keyword (user-defined): see Layer/Cues tab.
    6.) "In Parts Only"-Keyword (user-defined): see Reset/Hide tab.

    If you use expressions with numbers only, the plug-in can move them into the Rehearsal Marks category, if these options are checked.Numbers with rectangular expressions can be automatically moved (Option "Move Number Expressions with Non-Circular Enclosure to Rehearsal Mark Category"). Numbers with circular enclosures are typically fingerings and will not be moved automatically.
    Measure number expressions can also be moved automatically: the plug-in compares the expression number with the measure that the expression is used in and if it fits, it will be moved (Option "Move Measure Number Expressions to Rehearsal Marks Category").

    Note 1:
    For best alignment use as less expressions in one measure position as possible.
    E.g. "pi f" or "pp sub." should be a single expression. The horizontal alignment (not centered as in standard dynamics, but left- or right-aligned) is automatically applied in these cases.
    The same goes for tempo marks and rehearsal texts:
    If you have for example the four above staff lines "M" (=Letter M), "Andante", "q=100" and "Verse" don't use four expressions on top of each other, but only two: use the rehearsal mark M plus a single expression for the text.
    The Perfect Layout plug-in has a few cases where multiple expressions are aligned correctly, but it becomes difficult if it is more than two of the same type.

    Note 2:
    If you have imported a document through MusicXML, it performs an automatic category assignment if the whole score is processed with the Perfect Layout plug-in:If the plug-in detects typical keywords, it suggests to move the expressions to the corresponding category.
    This works very good with dynamic expressions and also with a few standard expressions from the other categories. But especially if you use less common or foreign texts, the automatic category detection does not work.In this case it is important that you move the expressions to the correct category before applying the plug-in. Otherwise not all features will work.

    You can remove the opaque background from rehearsal and tempo marks/alterations with the option "Remove 'Opaque' from Reh./Tempo Marks".
    Usually the opaque feature is not required for rehearsal marks after applying Perfect Layout, as the plug-in will remove all collisions anyway.Nevertheless it's possible to fine-tune this feature by the selection list which includes
    "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").You can set the "shift up" value and select if this applies to single measures or full systems only (i.e. all measures on that system need to be above the lowest staff line).

    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 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 was placed far above a slur.The "inside slur" articulation will be created if the vertical articulation offset exceeds the value from "Offset Before It Gets 'Inside Slur' Style" (default: 45 EVPU).

    Image 1a (Left) Ouside Slur Articulation, 1b (Right) Inside Slur Articulation

    On tuplet brackets it's possible to automatically place ornament articulations outside tuplet brackets (Option: "Place Ornaments Ouside Tuplet Brackets").
    While standard note articulations (staccato, accent, dot, tenuto, etc.) are automatically placed inside the tuplet bracket, fermatas and bow marks are automatically placed outside.

    Image 2: Before and after the Perfect Layout plug-in (ornaments outside tuplet brackets)

    Hairpins

    Perfect Layout: Settings Hairpins DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Express. Artics. Hairpins Slurs/Ties Counting Systems General
    The three hairpin settings in the Basic edition are on the Alignment and the Optimize tab.
    The Perfect Layout plug-in differentiates between the actual end connection of a "hairpin over the barline" and the visual connection.
    You can select a connectiona) to measure position 0 in the next measure or
    b) to the end of the previous measure.

    Solution a) is optimized for playback, but has the drawback that hairpins over systems can't be separated from the end of system barline.
    Solution b) is visually optimized, but doesn't work fully optimized with Finale's cresc./diminuendo playback.

    In solution b) the hairpins ALWAYS end before the barline.
    If solution a) is selected, it's possible to specify where the hairpins should visually end: to avoid/allow collisions with the barline.
    This selection can be made for the parts, for the score and for piano (two staff) groups.
    Image 1 lists a view options.


    Image 1: The hairpin connection options

    Hairpins can either start directly after a starting dynamics or after the expressive text expression (see image 2).
    Option: "Move Hairpins on Dynamics with Express. Text After Dynamics/After Expressive Text".
    Expressive text expressions that start somewhere in the middle of the hairpin are moved below the hairpin (e.g. "molto" in image 3).

    Image 2: The hairpin connection options




    Image 3: Hairpin and "molto" text (with end hairpin before barline option)

    If hairpins are connected on a measure position, you can specify the gap between them (Option: "Gap Between Connected Hairpins").
    Image 4: A gap between connected or overlapping hairpins is automatically inserted (width: 33 EVPU by default)
    (Note: the niente circle has been automatically shifted to the end of the note)

    If a hairpin is connected over a rest to an end note, it's possible to keep it or to have it reduced to the end of the previous note (see image 5).
    It's also possible to only keep it, if it is connected to a final dynamic expression (image 5c).
    The same option is available for start notes.


    Image 5: Hairpins and rests at the end

    The automatic connection of expontential and niente expressions with hairpins is supported.

    For niente hairpins create an expression in the Dynamics category and use an O, 0, o, from a text font or an 0 or o from any of the supported music fonts as the symbol.Make sure to activate the "Enclosure" property. You don't need to fine-tune the enclosure - the plug-in will do this for you (but unfortunately JW Lua doesn't allow the activation of the Enclosure field, so this needs to be done manually).The opaque enclosure is required to make sure that there is no tip of the hairpin visible after the niente.
    Instead of the "o" symbol you can also use the music symbol "n" or the text "niente" or "quasi niente".

    For exponential hairpins the symbols from the November2 and the DSE Music Symbols fonts are supported. Again create an expression with these symbols and place it in the Dynamics category.

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


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

    The exact start and end offset of an hairpin on a note or a rest is automatically calculated by the plug-in (see image 6).


    Image 6: Hairpin start and end points after applying the plug-in (with end hairpin before barline option)

    If the start/end of the hairpin is further away from the next note, it depends on the context whether the plug-in snaps the hairpin to the closest note.Only if the plug-in is sure that this is what was originally intended and if "Allow Snap To Closest Note, Rest or End of Measure" is checked, then it might snap.
    The plug-in takes into account the horizontal distance between the objects, dynamics and also hairpins on other staves in the same measure, so that, if possible, all hairpin are treated equally.
    In doubt the hairpin will not be changed. So when entering the hairpin, it is best to not create ambiguous layouts as in image 7.


    Image 7: Where should the hairpin end on the left image? On beat 3, 4 or even on beat 1 of the next measure?
    On the right image it's obvious.

    Note: Finale has a problem with the end of the closed side of a hairpin on screen which doesn't match the end position of the hairpin in print (PDF or paper).The plug-in takes this into account and always calculates the offsets for print only. I.e. should there still be a collision of a hairpin with a dynamic on-screen, do a print to PDF or paper first to check if it isn't that bug.
    Only in very rare cases the plug-in doesn't solve this bug.

    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 8: Vertical relation of hairpin and dynamics

    b) On very low notes it's possible to have hairpins closer to slurs and ties to save space (Option: "Slur/Tie (Very Low Notes)").
    The threshold for very low notes is set in the field below ("Very Low Note Threshold", 80 EVPU by default, i.e. ca. 3 ledger lines below the staff).

    Image 9: Hairpins on very low notes can have smaller distances

    Slurs/Ties

    Perfect Layout: Settings Slurs/Ties DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues 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 prolong slurs on tied notes until the end note (see image 1).

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

    Case 1b) is standard notation in most cases. Exceptions which should not be prolonged are for example string staves with very many tied notes or guitar staves where the legato slur might be mixed up with a hammer-on/pull-off slur.These exceptions are deactivated by default.
    Notes tied over many measures or with many ties should not be prolonged either. The default maximum span is three measures or three ties (Option: "Only If Tied Measure Span and Number of Ties is Less or Equal than X Measures").

    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

    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.

    Counting

    Perfect Layout: Settings Counting DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues 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 Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Systems DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    The Perfect Layout plug-in includes a complex algorithm for creating a non-colliding and visually balanced look of the staff systems.
    This algorithm is currently only applied to the score (not to the parts). But if the score actually is a part (i.e. a single staff), then it will also be applied, but in a less sophisticated way (full page span and non-collision only, but not fully visually balanced).
    Porting this function to the parts will be a major task for future updates.


    Image 1: The score balancing algorithm on an overstuffed page

    The algorithm works on overstuffed pages as well as on pages with lots of free space.The plug-in starts by creating the maximum condensed score and then inserts space for a good visual balance.
    If there is way too much space, it won't stretch the page until the bottom page margin, but keep a portion free at the bottom of the page.
    In general you should always get good results with the default score balancing settings of the plug-in. Should you not be happy with the result or would like to have access to more spacing parameters which are currently hidden to the user, please contact our support team: we might fine-tune our default settings for the future.

    The current options for vertical spacing are:
    a.) Max. Distance between Staves (Default: 470 EVPU)
    Usually you will not get this distance between two staves as probably your page will not have that much space. But in case that there is so much space it will be limited to 470 EVPUs, unless only "a bit more" is required to fill the full page.

    b.) Standard Distance Between Two-Staff Groups (Default: 280 EVPU)
    If there is for example a piano part on the staff system, it should not have a distance of 470 EVPU as the other single staves. Instead they should be aligned a bit tighter. 280 EVPU has proved to be a good value for typical piano or harp staves.

    c.) Multiple systems on a page are automatically spaced too. The extra space that is added between staves and/or systems can be controlled via the "Staff/System Distance" slider.The more you move the slider to the right the more space is inserted between staff systems.

    d.)The extra space for groups within a system is controlled via the "Extra Distance Before/After Staff Groups" slider.
    The more you move the slider to the right the more extra space is inserted before and after groups.
    By default these sliders are set to auto-detection: an algorithm automatically sets good default spacing values for standard score types like single staff, piano, piano + solo, duo, piano + duo, small ensemble or large ensemble.

    e.) Reserve Distance Between Top and Bottom System Margin (Default: 120 EVPU)
    After the score balancing algorithm the bottom system margin will be reduced by this value to allow easy manual shifting of the systems if still necessary.

    f.) Min. Vertical Distance on Reflow Systems Across Pages (Default: 14 EVPU)
    If "Reflow Systems Across Pages" is activated in the Finale preferences, Perfect Layout will re-arrange the systems across the pages and improve the layout. This "Min. Vertical Distance" value defines the minimum distance between two systems.Usually you will never encounter this exact distance between systems in the end, as there is nearly always more space available on a page.
    This is more a guide value that defines the general density of a page: the higher the value, the less number of systems will appear on a page.
    E.g. the value 0 EVPU creates very dense parts, while a value of 50-70 EVPU generates a very loose vertical spacing.

    Note: The whole staff/system spacing algorithm is a very complex system which takes into account many parameters for a good visual balance, so we found these sliders to be a good and easy-to-use compromise.

    Alignment at the page bottom:
    You can select different alignment techniques for the bottom of the page. In this case alignment means "snap an element to the bottom page margin". That is also why it is important to set the bottom page margin to your needs before running the Perfect Layout plug-in.

    The option "Fix Staff System Bottom Margin (Auto-Detect Lowest)" looks at all score pages, finds the lowest element at the bottom staff and uses the distance of this element to the bottom staff line as the "fix bottom margin".This guarantees that all staff lines of the bottom staff system align over all pages and that no element goes below the bottom page margin line. This default option works best in most cases.

    If the bottom staff has very different distances to the bottom staff line (e.g. in modern piano works), it may work better to select the "Lowest Element On Bottom Staff" algorithm which aligns the lowest elements on all pages (and not the bottom staff line).

    Both options are combined in the default option "Auto-Detect (Fix Staff System Bottom Margin or Lowest Element)": if the bottom margin is huge and very different on each page (e.g. contemporary piano scores), the "Lowest Element" algorithm is select, otherwise the "Fix Staff System Bottom Margin (Auto-Detect Lowest)".

    Other options are:
    "Fix Staff System Bottom Margin": same as above, but the distance is not auto-detected and can be entered manually.
    "Bottom Staff Line": this option aligns the bottom staff line with the bottom page margin which means that all elements below the bottom staff line appear below the bottom page margin. It's the same as a "Fix Staff System Bottom Margin" with a value of 0 EVPU.

    Note: the score balancing algorithm needs to take into account each Finale object (except page texts). Unfortunately JW Lua doesn't support all object properties yet, so the algorithm has some minor restrictions.
    Currently unsupported or only partially supported objects are for example measure text objexts, graphic objects, chord suffix heights, mid-measure clefs, glissando lines, enclosed objects, staff names, lyrics baselines, complex cross staff notes, shape articulations, ledger lines, modified ties and smartshapes that span more then two systems.
    To still support some of these objects dummy values are used which already lead to better results.

    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.

    General

    Perfect Layout: Settings General DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues 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
    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 only reset it by deleting its .ini-file. It is located in the same folder as the Finale® configuration files (typically C:\Users\USERNAME\AppData\Roaming\MakeMusic\Finale) and is called "JALAYOUG.ini". Simply delete the JALAYOUG.ini file and restart the plug-in. Then the main dialog will reappear.

    It's possible to bypass AutoHotKey (i.e. to not show the progress bar and to not minimize Finale®), but it is not recommended as it massively slows down the processing of the plug-in.
    If you don't want to see the progress bar, you can also kill the two AutoHotKey tasks (AutoHotKey Unicode 64-bit and AutoHotKey Unicode 64-bit (2)) in Window's task manager.
    Attention: You have to maximize the Finale® window manaully if you kill the tasks and probably you won't notice when the plug-in has finished.


    Image 1: The two AutoHotKey tasks created from within the Perfect Layout plug-in


    The plug-in creates a log file that includes the current progress of the plug-in and actions that might be interesting to the user (e.g. detected problems, expressions that were moved to a new measure position, etc.).
    Usually you don't have to consult this log file. But it may be interesting if you have a corrupt Finale® file and try to repair it with the Perfect Layout plug-in or if you are new to the plug-in and want learn a bit more of what it does.
    The option "Open Log File After Processing" is unselected by default.

    More about the log file can be found in the FAQ.

    The plug-in can automatically check for updates. Though it is recommended, it is deactivated by default for data privacy reasons (GDPR).
    You can also check manually by clicking the "Check for Updates Now!" button.

    Load/Save

    Perfect Layout: Settings General DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues 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" at the bottom of the dialog and click on "Load".

    To reload the last saved settings (e.g. if you have changed some settings, but now have changed your mind), select "Last Saved Settings" and click on "Load".

    To load or save your own settings, select "User File" and click on "Load" or "Save as".

    Other Features

    More features of the Perfect Layout plug-in are listed in the Overview section.
    As these are so basic for every music score, they can't be switched off.
    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.


    Image 1: EXCLUDE in the description text


    FAQ

    Installation

  • Finale® 2014, 2014.5, v25, v26 for 64bit Windows 7, 8, 10
    (MacOS is not supported in the first release, but is to be supported in the next release)
  • Windows Powershell must be installed and correctly registered (it is installed by default on Windows unless the user has removed it)
  • Minimum 4 GB RAM, for huge orchestra scores exceeding about 20.000 frame assignments 8-12 GB RAM and Finale® v25 or v26 are required, otherwise the plug-in may run out of memory.
  • About 100 MB of free hard drive space, plus space for the font annotation files dependent on the number of fonts that are installed
  • For the installation you need a user with administration rights
  • Internet connection during the installation and update process, and an email address to receive the activation code or an installed email program to request the activation code.
  • Internet connection for accessing the online documentation.
  • The faster the processor speed, the faster the 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 the following 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 the Perfect Layout.
    It appears in Finale's plug-in folder and everything is installed automatically with the installer.


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

    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.

    You will receive the license key in the order confirmation from the online shop.
    Look for "license key" in the email.

    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.

    The installation of all components takes about 2 - 5 minutes.
    The installation has finished when the screen says: "Click Finish to Exit the Perfect Layout Plugin Wizard." - then click on "Finish" and start Finale®.
    Don't interrupt the installation process with a process kill through the task manager or a computer reset (use the "Back" button or the right top corner "x" instead). Otherwise your plug-in activation may get corrupted and you will probably have to contact our support.

    Yes. It is required to activate and register the plug-in and to download the Finale® plug-in interface "JW Lua" which is not included in the package.
    Internet access is also required for updating the plug-in and for deactivating it.

    Use the maintenancetool.exe with administration rights (Right-click with the mouse and select "Run as Admin"). See "How do I install an update of the plug-in".
    The file can usually be found in C:\Program Files (x86)\Elbsound.studio\Perfect Layout.
    The uninstallation process usually takes about one to five minutes.
    During the uninstallation you must explicitly confirm that you also want to uninstall AutoHotKey and Node.js. Otherwise they won't be uninstalled.

    These seven files must be in the Finale/Plug-ins/Elbsound JW Lua folder after installation.
    By default for Finale 25 it's located at c:\program files\Finale\Plug-ins\Elbsound JW Lua.
    The blackened areas are different dependent on the Finale and plug-in version.



    This is how the Windows Elbsound.studio/Perfect Layout folder should look after the installation.
    By default it's located at c:\program files (x86)\Elbsound.studio\Perfect Layout.
    The ending of the JALAYOU... files is different on the Gold/Silver editions.


    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

    If you open the Windows tools Regedit, it should look like this:

    Image : Finale 2014.5 Registry Entry


    Image 2: Finale 25 Registry Entry

    You can also test if these entries exist, by opening the Windows console ("cmd") and typing:
    reg query HKLM\SOFTWARE\MakeMusic\Finale\InstallPath /reg:64
    reg query HKLM\SOFTWARE\WOW6432Node\MakeMusic\Finale2014.5\InstallPath /reg:32

    This is how it should look for a working installation in Finale 2014.5 and Finale 25:

    Image 3: Finale Registry Entries in the Windows Console
    (Note: the folder names can, of course, be different on your installation. They must direct to the folder with the Finale.exe file.)

    You can add these entries manually through the Windows console ("Cmd"), through "Regedit" or by re-installing Finale. For more info please contact our support.

    Did you uninstall the Elbsound package or the plug-in right before you started the installer?
    Unfortunately this doesn't work - probably because of a problem with Windows font cache.
    You need to restart Windows before reinstalling the plug-in and the Elbsound Music Font Package. Otherwise the fonts may not be registered correctly.
    If you have problems with installed/uninstalled fonts, another solution is to remove the Windows font cache file (c:\windows\system32\fntcache.dat).If you delete this file and restart Windows, it will be recreated which also very often fixes font issues on Windows.

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

    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).
    If you do both installations within an hour, it usually should work. If you do them on different days, it's very likely that it won't work - but it depends on your network settings. In this case you have to uninstall the first installation, and re-install both installations within the allowed time frame again.

    Make sure to first have one installation fully completed (i.e. installer finished), before you start the second installation. It doesn't work if you run the two installations at the same time.


    Updates

    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:
    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.
    Solution:
    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:
    If the maintenancetool.exe has been quarantined and is no longer available, you need to reinstall the plug-in. An automatic update is not possible anymore.


    Processing Speed

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

    a.) Use a fast PC! Recommended are overclocked PCs above 4,0 GHz. They don't need to have many cores, the plug-in (and Finale®) can only use one core. Not recommended are energy-saving variable speed laptop processors (like Intel's N4200) that operate on a very low basic frequency (e.g. 1.10 GHz): see speed comparison.

    b.) Fine-tuning the plug-in settings:
    If you want to experiment with the plug-in's settings on a larger score, test it on a reduced score first. Remove all linked parts and in the score keep only the first page (or the first two pages), save again with a new file name. Now experiment with the plug-in in this reduced document. This usually only takes a few seconds or at least less than a minute. If you have the right settings, load the original file and apply the plug-in again.

    c.) Running the plug-in:
    - Follow the "How to Use" guide and don't do any unnecessary manual adjustments before running the plug-in.
    - Finale® creates linked parts by default. If you don't use them, delete the parts before running the plug-in. This will decrease the processing time about 40%.
    - If you have expression libraries with more than 500 or even 1000 expressions, it is recommended to delete all unused expression definitions. (Go to "Show All" in Expression Designer dialog and then select all (!) an click on "Delete". When asked "One or more of these itemes is currently in use in the score. Are you sure you want these items removed?" click on "No". This will only remove the unused expressions.)
    - If you have a really huge score at Finale's internal limit (like 29.000 frames, 150.000 entries=e.g. 60 staves with 1200 measures each plus linked parts) or apply the plug-in to a corrupted Finale file, it might be helpful to run the plug-in overnight.
    - If you run the plug-in on multiple instances of Finale® at the same time (e.g. 2014, 2014.5, v25), this slows down processing slightly (ca. 10%).
    - MacOS: If possible, don't use Finale 25/MacOS: the processing speed of the MacOS version of Finale 25 is considerably slower than Finale 2014, 2014.5 and v26. On Windows Finale v25 is NOT slower.
    - Clear your temporary files folder from time to time (e.g. c:\windows\temp and/or c:\Users\XXXX\AppData\Local\Temp). If you have 40.000 files in your temp folder, then the plug-in becomes slower.You can also create a dedicated temporary files folder for Finale (Edit->Preferences->Folders->Temporary Files).
    - If you have openend Finale® some time ago (maybe a day or even longer), the plug-in processing can be much faster if you close Finale® and restart it before running the plug-in (up to 30% faster).
    - While waiting for the plug-in's results, you can do other stuff on your computer. If you have installed other versions of Finale, you can use them.

    No, you don't. But it is more fun on a fast computer. The number of CPU cores doesn't matter. Only the GHz frequency counts.Here you can see how fast the Perfect Layout plug-in performed on the "ES Perfect Layout Demo.musx":

    Windows 10, Laptop (from 2017, 8 GB, 1.1 GHz, N4200 CPU -> very slow):
    Finale® 2014.5 JW Lua plug-in processing time: 31,6 seconds

    Windows Vista, Laptop (from 2009, 3 GB, 2,5 GHz, P9500, AMD Radeon 3400):
    Single-threaded benchmark: 1145
    Finale® 2014.5 JW Lua plug-in processing time: 16,8 seconds

    Windows 10, PC (from 2013, 32 GB, 3.3 GHz, i3960, AMD Radeon 5450):
    Single-threaded benchmark: 1928
    Finale® 2014.5 JW Lua plug-in processing time: 12,6 seconds

    Windows 10, Laptop (from 2017, 32 GB, 4.4 GHz, i8700, NVidia GTX 1060):
    Single-threaded benchmark: 2815
    Finale® 2014.5 JW Lua plug-in processing time: 7,1 seconds

    The processing speed for Finale® 25/Windows is the same.
    Note: Finale 25/MacOS is MUCH slower than Fin2014/2014.5/MacOS.

    If the plug-in had been programmed in C++ (Finale's programming language), we assume that this task would have taken less than 1 second on any of these computers.

    MakeMusic (the makers of Finale®) have decided to not give the Finale® PDK (which is needed for development of Finale plug-ins) to new developers like 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.

    There are several ways to achieve this:
    1.) JW Lua has its own batch processing function.
    2.) Write your own JW Lua script that loads documents (for example in one folder) and applies the plug-in.
    3.) Finale Script can also call Perfect Layout as it is available in Finale's plug-in menu structure.

    We will describe the first solution ("JW Lua") here.

    a.) Select the correct plug-in settings

    First you need to make sure that the correct plug-in options are selected.
    You can't select different settings for each file - all will use the same settings.
    So run the plug-in on a short test document (e.g. a single staff default file, so that you don't have to wait too long) and set all Perfect Layout options as you need them for the batch processing. The settings are automatically saved when you apply the plug-in and will appear again the next time you call the plug-in.
    But ALSO SAVE THESE SETTINGS MANUALLY by selecting "Save As": you need to restore your settings later after the batch processing has been finished.

    b.) Hide the user dialogs

    Batch processing means processing without any interruption through user dialogs. So you need to hide all user dialogs first.

    (1) Gold Edition
    In the Gold edition it's easy: go to the "General" tab and check "Bypass All Warning Dialogs", "Bypass All Plug-in Cancel Dialogs" and "Bypass Main Dialog".
    JW Lua's own batch processing function doesn't save the files after processing.To have this automated check on the "General Settings" tab "Save Document Automatically After Prcoessing with 'PL' ending".This step should be done DIRECTLY AFTER you have saved all other settings with "Save as" in the previous step. Then click on "ok" to fix these settings internally (and start the plug-in).

    (2) Silver Edition
    In the Silver edition this feature is officially not supported, but you can hack it at your own risk:
    Open the Perfect Layout settings file JALAYOUB.ini (Silver400) or JALAYOUH.ini (Silver) in your Finale configuration folder (e.g. for Finale 2014 it is c:\users\YOURNAME\appdata\roaming\MakeMusic\Finale 2014.5).Then search for the entries "BypassAllPluginCancelDialogs", "BypassAllWarningDialogs", "BypassMainDialog" and "SaveDocToPL" and set their value to "true" (instead of "false"). Then save the file.

    c.) Run the batch processing

    1.) Open all the files that you want to have processed in Finale.
    2.) Instead of calling ES Perfect Layout in Finale's plug-in menu, click on JW Lua in the same menu folder and go to the "Explorer" tab.
    3.) In the tree "Menu" select ES Perfect Layout, then click on "Run Multi..." (see image 3a).
    4.) In "Selected Regions" select "Always Select Full Document as a Region" (in batch processing mode the plug-in always processes the whole document).
    5.) Click on "All" to select and process all files, then click on "Run" (see image 3b).
    Now all files will be processed.

    d.) Restore the user dialogs

    Delete the settings file JALAYOUB.ini (Silver400) or JALAYOUH.ini (Silver) in your Finale configuration folder (e.g. for Finale 2014 it is c:\users\YOURNAME\appdata\roaming\MakeMusic\Finale 2014.5).If the .ini file is missing, the plug-in will create a new one with the default settings.If you have made a copy of your settings file, you can also either rename it to JALAYOUB/JALAYOUH.ini or load it when you run the plug-in the next time.


    Image 3a: Batch Processing with JW Lua


    Image 3b: Select the files for batch processing

    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.


    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.


    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.


    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.

    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.) dito., Max. Horizontal Reset Offset for Whole or Dotted Notes: the default value is 85 EVPU.
    To check the current offset, right-click on the expression, select Edit Expression Assignment and look at the horizontal offset value.
    (In the left image below the horizontal offset is -60 EVPU, so it was 3 EVPU above the threshold.)

    Technique text expressions are currently not part of the collision removal process, because it is more difficult to define their best position. Usually they don't have such a fixed position as for example dynamic expressions have.Hopefully they will be included in a future release.
    However they are included in other collision detection processes: e.g. the vertical alignment of tempo marks or the vertical staff spacing takes them into account.

    A collision detection for these symbols is currently not supported by the plug-in.
    The same goes for tuplet numbers and alurs.
    As slurs currently can't be changed through the JW Lua interface, it would only be possible to automatically shift tuplet brackets, but not to correct the slurs.

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

    There is one scenario known where this occurs:
    from time to time (ca. every 100-1000 call of the plug-in) the measure number region preparation function crashes for a yet unknown reason.It's listed as a JW Lua bug. Should Finale® crash, please check the log file of the plug-in which can be found in the Finale® configuration folder (e.g. C:\Users\XXX\AppData\Roaming\MakeMusic\Finale 2014).
    The plug-in creates two log files:
    JALAOUX.log: Includes the texts for the progress bar
    ES Perfect Layout.log: Includes a more detailed description of what the plug-in has done including warning messages.

    If the last entry in "ES Perfect Layout.log" is "Checking Measure Number Regions", then the known measure number region bug has occured.Simply restart Finale® and run the plug-in again. It won't crash again unless the Finale® document was indeed corrupted.
    BTW, this is a reason why you must always save a Finale® document before running any plug-in.

    Should the last entry be different, please contact support to let them analyze the crash. The problem can probably only be fixed if you also submit the Finale® document.

    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 used in both score and parts view.
    It is recommended though to run it in "Score View" first with the whole document selected, because some main functions are only activated if the whole document is processed (e.g. expression category fixes, MusicXML improvements on expressions, some multi-measure rest unifications).
    If the plug-in is run in "Score View", the selected region in the parts will always be processed too.
    If the plug-in is run in "Parts" mode, the selected region in the score will not be processed.

    Which means: if changes are required in the "Score" that are linked to the "Parts", the change will not be made!
    For example: if a hairpin is attached to measure position 0 (=first beat) in both score and parts, and the plug-in would like to snap it to a dynamic expression on beat 2, this will not happen if the plug-in is run in "Parts View" as the link would be destroyed.If the plug-in is run in "Score View", the snap would happen and also occur in the parts, so that there the change is still linked.

    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 How to Use the Plug-in).

    Make sure that the font file is available in OTF or TTF format and that it is installed in c:\windows\fonts.
    Especially on Windows there are some old format fonts (.fon) like Courier, System or Roman. These are not supported by the plug-in. Please don't use them.
    It's possible that the font is still not detected as Finale has an unusual way of using font names: it's different than in other standard Windows software (see our article Font Names in Finale).
    This is especially true for font names using name extensions like "... LT Std", "... MT Pro", " BT" or font weights that Finale doesn't support ("Medium", "Thin", "Black", etc.).
    Not finding the font files may also lead to long start-up times of the plug-in (with the message: Creating font annotation files...).
    In this case please contact our support team. We will try to support your font in the next plug-in update.

    The OK button is not clickable when the Finale document is larger than the plug-in edition allows:
    Silver400/Gold400 allow 400 measures and 36 (visible) staves.
    For processing larger documents you need the full Silver/Gold edition.
    Also see overview of plug-in editions.

    Yes. It's also possible to apply it to the full score/parts first, and after some minor adjustment apply it to single measures or staves.
    You will probably not get identical results when applying multiple times: the horizontal and vertical spacing might be slightly different.
    But don't forget: you will always get the best results when the plug-in is applied to the score and thus also to the parts.
    It's not recommended to run the plug-in on the score only, then generate the parts and then run the plug-in on the individual parts. Because all functions that would break linked score/part elements (like hairpins, expressions) are not activated when applied to a part only.

    1.) Please check Finale's Preferences->Edit and look at the reflow settings.Make sure "Reflow Systems Across Pages" is checked (for moving systems) and set "Reflow Measures" to "Across Systems (Remove System Locks)" (for moving measures).
    2.) Check that the pages don't have page breaks which prevents measure shifting.
    To do this select the Page Layout tool right-click on the staff system and click on "Delete Page Break" if available.

    Please also read the section on the Reflow settings in the "How to Use"-tutorial.This is a very powerful and important feature for the plug-in as it allows the plug-in to automatically layout completely unlayouted parts with one click.
    But this only works with the settings from 1.).
    if you want your system and measure layout untouched, uncheck "Reflow Systems Across Pages" and set "Reflow Measures" to "Only Within Systems" before applying the plug-in.

    If you 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.

    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:


    For most users the Silver400 edition is the best choice.
    It costs about half as much as a regular Finale® update, but has more than 100 features which is much, much more than a regular Finale® update - maybe as much as five or more updates.

    Perfect Layout is a professional tool for professionals. Professionals calculate in working hours.
    It will save you about 10-25% of your Finale working time (many users even reported more than 25%!) and usually creates a more balanced output than you could achieve manually in that time.
    So if you save eight hours per week for layout tasks (with a 20,- Eur per hour rate - which is still pretty low), even the Gold version of the plug-in has already paid off after less than one month of usage.

    Perfect Layout is not comparable with any other existing Finale® plug-in. It is a "one-click" solution for optimizing scores and parts at the same time with more than 100 features, more than 700 internal options, more than 300.000 lines of code and support for more than 470 music fonts.It also fixes many long-term problems of Finale® and features many new "intelligent" algorithms for automatic score and parts preparation.

    Don't forget plug-ins for music software are a niche market and professional plug-ins for notation software are an even smaller niche market.

    A good comparison for the price are "Sampling Libraries".
    Professional sampling libraries cost between ca. 400,- Eur and 5.000,- Eur (e.g. VSL Symphonic Cube).
    The host software usually costs much less (for example 100,- Eur for Plogue Bidule or Cubase LE).But it requires the plug-ins (=sample libraries) to be used professionally.

    In general yes. Only the new Fin26 functions (articulation stacking and slur collision with articulations) currently can't be detected with the recent JW Lua release.
    So it might look better (or worse - just as you prefer it) if you switched off "Stacking" and set "Slur Interaction: Auto inside/outside" to "Ignore" before applying the plug-in.

    Also make sure to select "Keep Positioning" of articulations when opening a document from a previous version of Finale®. If you select "Enhance" instead, some articulations might not be fixed.

    Here is a PDF comparison of a pre-Finale 26 document imported into Finale 26 and processed with the plug-in: once with "Enhance Positioning" selected, once with "Keep Positioning".

    Write us a mail and let us know what you would like to see in the next update of the Perfect Layout plug-in.

    Features of "Perfect Layout" for Finale®

    Perfect Layout includes more than 100 automated layout processes for Finale® like:
    -collision removal of most music symbols
    -automatic alignment of expressions, articulations, hairpins, lyrics and many smart shapes
    -automatic visual balancing and collision removal of staves and systems in score and extracted parts
    -improval of MusicXML imported files and old Finale files from the 90s (including automatic expression category assignment and alignemnt correction)
    -automatic repeated measure numbering for percussion/drum staves
    -automatic rest splitting and merging according to the time signature

    The plug-in works both as a "1-click solution" with many intelligent algorithms that automatically set the best parameters as well as with a very flexible and versatile user dialog with more than 200 parameters in the Gold edition. A full feature list with references to the before/after images below is available at the bottom of this page.

    The images below show a few before and after the plug-in comparison.
    More before/after examples are available in the Example and Video section.

    Feature Overview with Before/After Images


    Perfect Layout: Feature Overview


    The red and blue measure numbers were added afterwards to the image to help identifying the measures.


    Image 2: Automatic score balancing


    Image 3: The Perfect Layout User Interface (for details see here)

    Feature Overview

    - Removes collision of hairpins with slurs, ties, notes, articulations (except with top ties and 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 measure 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. Because of a JW Lua bug TGTools->Lyrics->Adjustments, Baselines is required to be run before. (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)
      - Reduces the width of the last system on the last page, if that holds too less musical information to span the full system width. (mm.62-71)
      - If a measure holds a preparation clef for the next measure, the measure will be broadened and extra space at the end added if there is a collision with a note entry or a slash symbol (from the slash staff style) in that measure. (mm.24, 48)
      - Inserts additional beat chart elements to measures if necessary for improved spacing (e.g. in a measure with one whole note, but several hairpins or expressions: (m.56))

      - Relinks all expressions, articulations and hairpins from the parts with the score before further processing (older Finale documents can have expressions attached to different beats in score and part which might confuse the alignment). (m.39)
      - Clears manual positioning of articulations, dynamic expressions, rehearsal marks and tempo expressions. (m.24, 52 and more)
      - Removes unneccessary articulations on rests (e.g. if staccato dots were copied to rests with the explode function. Allowed articulations like a fermata remain.). (m.18, 32)
      - Removes duplicate articulations of the same kind on the same note (resulting for example from staff implode). (m.32)
      - Removes duplicate (nearly) identical expressions at the same position. (m.54)
      - Removes duplicate (nearly) identical hairpins at the same position. (m.59)
      - Removes duplicate (nearly) identical slurs. (m.35)
      - Corrects dynamic expression placement at the beginning of a pickup measure.
      - Non-opaque expression enclosures with line width 0 will be removed.
      - Right-aligned multi-measure rest breaking expressions are duplicated and also stored in measure 1 of the multi-measure rest, so that they don't disappear anymore at the end of the mm rest.
      - Separated "f" and "p" dynamics on a note will be connected to "fp". (m.48)
      - Resets manual accidental shifts (turned off by default).
      - Unisons are slightly separated.
      - Warning message is issued when the pickup measure is set to a value less than 32 EDUs (which may result in undesired symbols being displayed).
      - Apply optimized tie preference settings. (m.61)
      - Apply optimized slur preference settings.
      - Measure numbers on measures with "space before music" (i.e. key or time sig changes) can be shifted to the left to appear directly above/below the barline (instead of at the beginning of the music). (m.16, 68)
      - Removes (unnecessary) accidentals from backwards tied notes. (m.51)
      - Sets tempo marks, tempo alterations and rehearsal marks to "break multi-measure rests".
      - Tempo alterations can be optionally be hidden under multi-measure rests.
      - Tempo alterations are hidden at the end of a piece, if no note entries follow.
      - Can optionally hide tempo alterations in MM rests (turned off by default).
      - Split three beamed eighth notes in pickup measure to one eighth note plus two beamed eighth notes.
      - Removes 'open ties' (i.e. tie starts that don't have a corresponding tie end). Laisser-vibrer staves like harp, timpani, cymbals or vibraphone are ignored. (m.13)
      - Close hairpins are "connected" with a gap. (mm.63-68)
      - Assigns noteID to entry-based glissando lines that are connected with a note, but have no noteID.
      - Sets vertically moved rests to standard position if it is a one-layer and one-voice measure. (m.7)
      - Detects text expressions assigned to invalid categories and moves them to "Miscellaneous".
      - Invalid expressions are deleted (i.e. if the expression ID doesn't exist anymore).
      - Certain smart lines will be placed at a fixed vertical position on top of a staff (for example Fill-in------- on drumset staves). They will also be aligned with right before the barline if they are close. (m.66)
      - Deletes empty pages at the end of a part. (m.68-71 - not visible)
      - Corrects expressions that are connected to a slightly wrong measure position (e.g. Pos 32 instead of 0) to the correct position (this occurs especially in older Finale documents). (m.9)
      - All single grace notes get slashes. (m.59)
      - All single grace notes become 8th notes, all multiple grace notes become 16th notes.
      - Rests are checked if they match the time signature and otherwise splitted/merged and the measures respaced (not in measures with the different notation styles as in m.49). (mm.23, 50, 51, 57, 61)
      - Invalid composite time sigs that are actually non-composite time sigs are included in the rest check for time signature matching.
      - Rebar is optionally possible (same as Utilites->Rebar, turned off by default because of its side effects on quantization)
      - Measures can optionally be padded with rests if incomplete (turned off by default, in order not to pad layers that are incomplete on purpose)
      - Removes stunted slurs that start and end on the same note/position. (m.5)
      - Removes hairpins that start and end on the same note/position. (m.5)
      - Deletes invisible articulations with invalid articulation definitions (i.e. those articulation definitions that were already deleted).
      - Expressions that were assigned beyond measure duration (e.g. position 4096 EDUs in a 3072 EDUs measure) are corrected and assigned to the best fitting note position where they are currently visible. (ff in m.6 was actually assigned to measure 7)
      - Manual adjustments of slurs can be removed. (m.24)
      - Accidentally flipped hairpins that start and end in the same measure are corrected.
      - Accidentally flipped ties are corrected if there are no voice2 entries and no entries in other layers (only if the FlipTie flag is used, not with the Special flag). (m.54)
      - Accidentally flipped/frozen stems are corrected if there are no voice2 entries and no entries in other layers. (m.31)
      - Voice2Launch flags are reset if there is no voice2 on that beat. This also corrects the direction of wrong stems and slurs. (m.8: the wrong flag results in an upsidedown stem)
      - Corrects messed up measure number region indices.
      - Removes slurs that double ties. (m.7)
      - Replaces slurs with ties if slurs were applied accidentally. (m.23)
      - Dynamic expressions which are assigned to non-dynamic categories are automatically shifted to 'Dynamic Expressions'. (f in m.12)
      - Typical expressive text expressions which are assigned to non-expressive text categories are automatically shifted to 'Expressive Text'. (legato in m.52)
      - Typical tempo mark text expressions which are assigned to non-tempo mark categories are automatically shifted to 'Tempo Marks'.
      - Typical tempo alteration text expressions which are assigned to non-tempo alteration categories are automatically shifted to 'Tempo Alterations'. (A tempo in m.79)
      - Measure number expressions which are assigned to the "Miscellaneous" category can be shifted to "Rehearsal Marks".
      - Slurs can be updated from on/off to automatic engraver slur. (m.38)
      - Slurs not connected to the end note of a series of tied notes will be connected to the end note (except for grace note slurs). (m.59)
      - Invalid invisible slurs (attached only to one entry instead of two) are deleted.
      - Wrong SmartShape flags in measures are cleared.
      - Wrong Expression flags in measures are cleared.
      - Wrong Special flags in note entries are cleared.
      - Wrong Articulation flags in note entries are cleared.
      - Manual positioning of notes can be cleared. (m.5)
      - Group brackets can be automatically added on groups with at least 3 staves (and bracket set to none).
      - Moves entries that were accidentally placed on layers 2-4 to layer 1. Cue notes, non-playback layers, or notes under alt notation staff styles are not moved. (m.7,9)
      - Hairpins with a start or end measure position greater than the acutal measure duration are reset to the measure duration.
      - Hairpins that end after the last measure are reset to end in the last measure.
      - Horizontal custom smart lines are forced to be horizontal. If you don't want that feature, uncheck "Horizontal" in the custom smart line definition. (m.66)

      - Cue notes get all stems down/up depending on the placement of the whole measure rest. (m.11)
      - Cue note instrument texts move below the staff. (m.11)
      - Cue note instrument texts are connected with the first note of the cue (instead of rests). (m.11)
      - Assigns cue note instrument text to the same layer as the cue note, so that they have a reduced size as the cue note. (m.11)
      - Hides "cue notes only"-measures in the score and applies an "Blank Notation with Rests" staff style. (m.11)
      - Hides "100% sized"-cue notes that were only created to have 100% sized lyrics with a "Blank Notation: Layer X" staff style.
      - Cue note text expressions (e.g. "(Fl.)") without notes can now break multi-measure rests. (m.68)
      - If an "empty" pick-up measure holds a cue note clef change only, the width of the measure will be fixed so that the clef is displayed correctly
      (i.e. this is necessary if a part starts with a clef followed by a cue note clef which can only be handled with an empty extra measure)
      - Hairpins, custom line and trills can be hidden in cue measures (m.11)

      - All measures with notes on a certain layer are set to blank notation on that layer (for example to remove playback only layers or playback for cue notes). (m.11)
      - Hides unnecessary group names that are also part names (e.g. Piano or Harp).
      - Hides chord symbols on selected staves in the score, but shows them in the parts (to reduce complexity in the score). (m.63)
      - Hides rehearsal mark texts that have the same text as the lyrics in that measure. (m.5)
      - Hides all expressions in the score that are only to be shown in page view (e.g. harp tuning or solo markings) based on user-defined expression categories. (m.16)
      - Hides instrument-specific articulations in the score that are only to be shown in the parts to reduce complexity of the score (e.g. up/down bow). (m.1, m.1)
      - Adds automatic measure counting to slash measures (every xth measure and after double barlines). (m.63-67)
      - Add automatic measure counting to one-bar repeat measures (every measure, optionally in parts only (see m.45)). (m.44-46)

      - The plugin runs over the score AND all linked parts in one go, making different adjustments in the parts and score (e.g. vertical alignment of dynamics/hairpins has different results on the score and the parts as their staff systems include different measures).
      - All the functions mentioned above can be switched on/off and have many parameters.
      - The plugin uses the same font database as the House Style Changer and recognizes music symbol and glyph spacing from more than 300 music fonts. (mm.24, 30, 51, 52)

      These issues can't be fixed because of limitations in JW Lua or Finale, or they will be fixed in a future update.

      - The installer currently doesn't support Windows user folders with unicode characters (i.e. the folder c:\users\.....\). At the moment only symbols from Windows-1252 encoding are supported (i.e. allowed are Western European symbols like , but not letters like ǧȒʥԖש).
      - No support for scores with staff dependent time signatures.
      - GPOS tables in OpenType fonts are currently not supported by our font engine (e.g. vertical glyph placement as in the Figurato font currently leads to wrong metrics in the plug-in)
      - Diagonal hairpins are only partially supported.
      - Non left-aligned chords are only partially supported in collision detection.
      - The chord styles Solfeggio, Nashville and Roman are not yet supported in collision detection (the plugin always assumes one of the CDEFGA(BH)-standards).
      - Enclosures are not supported yet for all collision types, but they are supported for rehearsal mark expressions.
      - Cross-staff smartshapes are not supported for collision detection.
      - Dynamics on cross-staff notes in two-staff groups (e.g. piano) are only partially corrected in placement.
      - Not all cross-staff scenarios are yet supported for optimal staff/system balancing.
      - No support for non-smart (=old-style) word extensions. These can not be detected correctly in JW Lua. Please activate "Use Smart Word Extensions" in the Lyrics->Word Extension dialog.
      - Invisible measure texts are detected as visible (JW Lua bug). This might lead to weird shifts of rehearsal marks or to unbalanced staff spacing.
      - Some fonts will work better on Windows/MacOS if they are/are not added to MacSymbolFonts.txt. The plug-in font database currently only supports the state that works better on Windows. As a result the plug-in might require to update the MacSymbolFonts.txt file, if it doesn't find the correct fonts listed.
      - Multi-measure rests are be automatically created/validated. But as this may affect the system layout, it's possible that systems end up on different pages than before or that extra pages are added somewhere in between. Automatic MMRest creation should be avoided if the part has systems with different number of staves (e.g. hidden staves) and many empty measures that would be consolidated to a multi-measure rest. This would massively influence the part layout. In this case create the multi-measure rests manually before calling the plugin and adjust the measure layout to your needs.
      - The left/right metrics of consolidated rests are not always calculated correctly (JW Lua or Finale plugin SDK bug). The best result appears when the active layer in Finale is layer 1.
      - In custom line definitions the values in the "Line Adjustments" group (Start H, Continue H, End H, V) can not be read by JW Lua. If possible, set them to 0, otherwise the lines may align wrong.
      - Rests in very ambiguous time signatures are not corrected (e.g. 11/4).
      - Chord spacing not fully correct in measures that have all of the following properties: slash/repeat style, overlapping chords, more notes than chord positions and not notes on all chord positions.
      - Tracking (of text elements) is not calculated 100% correctly.
      - Diagonal hairpins that cross staff lines are made horizontal.
      - Finale's tool palettes are sometimes resorted by the minimization and maximization of the Finale Windows. We are still looking for a solution to this phenomenon.
      - Automatic staff system balancing works best when all pages have the same page scaling, system scaling and staff scaling. Should they not match, it is not guaranteed that the result over all pages is fully convincing.
      - When clicking on "Undo" and then on "Redo" after having run the plug-in, JW Lua or the Finale PDK has a bug that may lead to a different page layout or even systems vanishing in the score. It's possible to use undo/redo, but use it with care - i.e. check the page layout is still ok.
      - The staff stem setting "Always Up" and "Always Down" cannot be detected (JW Lua bug). This can lead to stems being falsely flipped.
      - Fingering articulations are only supported in articulation stacking if they have a horizontal offset of 0.
      - Stacked hairpins (one above the other) are currently not handled correctly and might be placed on top of each other.
      - Hairpins are vertically aligned to dynamics, expressive text, articulations, slurs, ties, notes and the staff line. Other symbols (e.g. custom lines) between hairpin and the staff line are currently not taken into account.
      - Graphics attached to measures are currently not supported by JW Lua. So they are not taken into account for collision detection.
      - Expressive text as custom smart lines (e.g. cresc. - - - -) is currently not automatically aligned with dynamics.
      - Accidentals as expressions are not taken into account for collisions.
      - Ottava lines and custom smart lines may collide with slurs (currently only an approximation for 'over' slurs is taken into account. Under slurs are not taken into account.).
      - Glissando smartshapes are not connected correctly to the notes, if their custom smart lines use an offset ("Start H" and "End H" values). JW Lua doesn't support reading this offset.
      - Collision detection of rehearsal marks, tempo marks and tempo alterations only works reliably if there are at maximum two expressions per measure at the same measure position.
      - The clef slots are assumed to be used as in the Finale default document (i.e. slot 1=violin clef, slot 4=bass clef, etc.).
      - JW Lua doesn't allow the detection of full or short barline in 1-line staves, so they are both aligned identically.
      - Three stacked articulations (e.g. downbow, fermata and accent) are not included in collision removement.
      - Lyrics baseline optimization for Verse/Section/Chorus 1 currently requires a call of TG Tools->Lyrics->Baselines before running the Perfect Layout plugin (JW Lua bug).
      - Lyrics baseline optimization for Verse/Section/Chorus 2+ currently requires a manual adjust of each staff system's lyrics baseline before running the Perfect Layout plugin (JW Lua bug).
      - Lyrics baseline optimization currently only works for lyrics below the staff.
      - All staff systems on a page should have the same Staff Height value.
      - Document options for tie placement currently can't be read through the plugin interface, so the plugin always assumes Finale's standard values tie positionings.
      - Tie alterations that affect the tie metrics are currently not supported, i.e. collisions might occur. The functionality is supported by the Finale PDK, but currently not implemented yet in JW Lua.
      - Collision of articulations with ties on top of the staffline is currently not supported yet, but also occurs rather seldom.
      - Pickup duration detection is unstable: if a pickup measure is created with the "Use a different time signature for display" method and the second measure has a completely different time signature, the pickup is only detected if one of the first measures has at least one rest. (JW Lua bug: it has limited support for "Use a different time signature".)
      - Automatic shape detection is currently switched off in Finale 2014 as JW Lua currently crashes Finale when examining shape instructions (i.e. down/up bow shapes are not detected as valid articulations for collision detection).
      - As shape expressions are hardly supported, molto crescendo "end of hairpin" expressions are only detected if they are text expressions, not shape expressions.
      - Shape articulations and expressions are currently not supported for collision detection.
      - The articulation "inside slur" capability of Finale 26 is currently not supported by JW Lua. The plug-in automatic inside/outside slur feature only works up to Finale 25.
      - Time signatures with decimals are currently not supported by JW Lua (e.g. .625/2 for a 5/16 time signature with one beaming group).
      - JW Lua currently doesn't support updates of the Vertical Baseline Offset on shape expressions. This may lead to displaced expressions when they are baseline dependent and the baseline offset has changed.
      - Automatic detection of shape articulations is only supported in Finale 2014.5 and Finale 25 (not Finale 2014).
      - The few supported shape articulations (like "Up+Down Bow") must be designed "on baseline" (they must not cross below the baseline). Otherwise the stacked articulation collision doesn't work.
      - Because of a Finale bug with the "Slur Tips Avoid Staff Lines" option, there may be collisions with slurs in rare cases that appear on the screen only. But: when printing the document to a printer or to PDF, the collisions are not visible.
      - Hairpins that appear on three staff systems in a row are only checked for collision on the first row.
      - Slur collisions are only detected correctly for slurs without line break or for the first system of slurs with a linebreak (i.e. slur collisions after the linebreak are only estimated very roughly or not taken into account at all, because of a JW Lua or Finale PDK bug).
      - When an alert message dialog is clicked, Finale may lose the window focus (This is a known JW Lua bug). Simply click on the Finale window to get the focus back.
      - Dynamic expressions might get close to steep beams. Those beams are currently not included in collision detection.
      - You must not specify a different configuration folder name and directory other than Finale's default ("Configuration Folder" or "Konfigurationsdateien"). Otherwise the directory will not be detected and the plug-in doesn't work.
      - The superscript command is not yet supported in collision detection and niente alignment.
      - Rest optimization is currently not activated on slash and repeat style measures with multiple layers.
      - Document default fonts (from the Document Options->Fonts menu) are only partially supported if they are set to "Fixed" size (which they usually aren't).
      - Resized staff systems have not been fully tested yet (-> planned for future update). If possible, use other scaling options like staff height or page percentage.
      - Only partial support yet for individually resized staves.
      - The plug-in has many optimizations for two-staff groups, like piano notation. These do not always work on three staff groups (e.g. a piano in contemporary three staff notation).
      - User-defined font annotation files are currently not supported. Only the original font metrics are used. This can lead to incorrect metrics and thus collisions or too big distances if the Finale document loads user-defined FAN files.
      - Staves that don't have 1- or 5 staff lines are only partially supported in spacing/collision optimizations.
      - The values from the Smart Shape Placement menu are currently not accessible from JW Lua. So the plugin assumes the default values.
      - An OTF/TTF font file must be available on the hard disk for font metrics analyzation in OS registered font directory, otherwise the metrics are not available.
      - Priorization: manually adjusted tremolo articulations may be messed up when the connected note entry has illegal flags (like Special or Voice2Launch). So note entry flag correction has a higher priority than tremolo articulation placement. So it's recommended to run for example the JW Yada Yada plugin after having run the Perfect Layout plugin.
      - The plugin has not been tested with the international versions of Finale and might not fully work in these because of different keywords. If you notice a difference, please contact us.


      - Finale 2014, 2014.5 or Finale 25, 26 for 64bit Windows 7, 8, 10 (MacOS is not supported in the first release, but is to be supported in the next release)
      - Windows Powershell must be installed (usually is in Windows)
      - minimum 4 GB RAM, for huge orchestra scores exceeding about 20.000 frame assignments 8-12 GB RAM and Finale 25/64bit are required, otherwise the plugin may run out of memory.
      - About 70-100 MB of free hard drive space, plus space for the font annotation files dependent on the number of fonts that are installed
      - For the installation you need a user with administration rights
      - Internet connection during the installation and update process, and an email address to receive the activation code or an installed email program to request the activation code.
      - Internet connection for accessing the online documentation.
      - The faster the processor speed, the faster the plugin (see this comparison). The plugin is single-threaded, so multiple cores do not speed up the processing.
      - Data Privacy: For the activation and license validation of the software the following data will be stored on our servers: serial number, registration name, registration email address, number of activations and deactivations, date of activation. During the activation process an anonymous computer ID will also be transferred, but not stored.

      ;Version History
      ;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
      - When automatic staff hiding was activated (e.g. for percussion parts), in rare cases (especially in short parts with less than 30 measures) a metrics problem could occur
      - In automatic score balancing huge instrument groups with more than 15 staves (e.g. a triple woodwinds plus doubling instruments) are now correctly detected as a "super group" which leads to a better sub-group vertical spacing within the group
      - Vertical custom smartshape lines are not repositioned anymore (in rare cases they used to become slightly diagonal)

      Improved
      - The option "Double Barline Preceding Key Changes" is only automatically activated if the document has just one key change
      - Many more messages can now be hidden after they are shown once. But make sure that they are really irrelevant to you.
      - Improved note metrics on linked parts with specified voicing
      - Improved placement of dynamics on very low notes followed by a hairpin
      - Improved tuplet metrics
      - Better support for 0-line staves in automatic score layout
      - Homepage compatibility with mobile phones and on Safari browser improved
      - custom trill smart shapes with several letters (e.g. tr 1/2) are now correctly detected as trills as along as they include the trill and the wiggle symbol
      - Improved (=closer) placement of f and fff dynamics below an accent (">").
      - Improved placement/metrics for rehearsal marks with enclosures
      - Correct ledger line detection and staff position calculation on non-standard key scores (seems to be a new detected JW Lua bug)
      - Improved score balancing for piano staff groups that at the same have a second larger group bracket (for example for group two pianos)
      - Huge measure text blocks (i.e. speaker texts) are now fully included in automatic score spacing if they are close to the measure. Make sure to vertically and horizontally align them manually before calling the plug-in as this is not done automatically. These text blocks are also only taken into account if they are assigned to a measure (and not a page).

      New Features:
      - Automatic score layout now supports the coda plug-in for one staff systems (i.e. two staffsystems on one line)
      - if you append EXCLUDE to the description text of an expression (in the expression dialog), the expression will not be included in alignment and keep its position. While this is usually not necessary, there are a few cases where this makes sense in order to get a good automatic score spacing.
      - Added a new option for score balancing: always spread the system(s) until the page bottom, even if this requires very wide distances between the staves. The same result was already possible before by increasing the max. distance between staves to a very high number (e.g. 9999 EVPU), but now it's one click on "Force Spread To Page Bottom Margin" (next to max. distance between staves).
      - The option "Shorten right end of hairpins if they end on an empty measure" (Gold: Hairpin Tab, Silver: Alignment Tab) can now be activated and deactivated (it used to be always activated, but for contemporary scores it should have the option to deactivate)

      ;v0.9604 2019-05-09
      Fixed:
      - Repeat texts with enclosures, but a line thickness of 0 are now handled as repeat texts without enclosures
      - An error could occur on collision of rehearsal marks and invisible tuplet brackets (only if not the whole document was processed)
      - An error could occur on note collisions between layers 2-4 (only if not the whole document was processed)
      - Text expressions that have the auto-rehearsal mark code "^rehearsal()" in the text, but do not have the auto-sequence checked (maybe this is a Finale bug?), now get the correct width metrics calculation.
      - Some kerning pairs were not correctly read from the font metrics files
      - Error in the Finale Copyist Text font metrics calculation which could lead to collisions in expressions with enclosures. The
      font Finale Copyist Text Ext was not affected.
      - OTF fonts are now supported if they are not located in the standard fonts folders
      - Plug-in issued an error message on some international Windows7 editions (Windows 8 and 10 were not affected)
      - on some document duplicate additional staff styles were created
      - Measure counting expressions on one-bar repeats were sometimes wrong when the chord symbol changed
      - The "Scan for updates" button sometimes returned the wrong result ("No update available"). This is fixed now.
      - If the plug-in was cancelled through the user because of a missing font, then the Finale Window was not always restored automatically.
      - Correct measure counting expressions on one-bar staff styles if multiple staff styles are used in some measures and more than one of them is a one-bar staff style
      - Bottom staff lines didn't align across pages in some cases when staff scaling changed from system to system
      -Technique text expressions under repeat brackets are not moved anymore on top of the repeat bracket, if they don't collide
      - An error could occur (introduced in the last update) when measure counting expressions were added

      Improved:
      - Repeat texts in the middle of a staff system at the start or end of a measure don't collide with a barline above the staff anymore.
      - Installer stability
      - Improved collision detection of enclosures
      - Improved placement of dynamic expressions on very low notes before the note
      - Speed boost, especially on long pieces, for placement of measure numbers
      - Improved measure number metrics at beginning of a system
      - Better metrics/collision support for all known figured bass fonts (see this figured bass fonts list)
      - The "Automatic Update Layout" option from Finale's preferences is not automatically deactivated anymore at the end of the plug-in processing.
      - Improved compatibility with Finale 26 (JW Lua officially still doesn't support Fin26): Articulations on slurs are now handled better
      - Improved multi-articulation collision removal on slash style measures with hidden slurs
      - Improved vertical alignment of two connected hairpins at the beginning of a system: sometimes they were not aligned, although they should have been
      - Improved placement of dynamics under very low notes that are tied
      - Improved metrics for fonts that use styles (bold, italics, fixed) and enclosures
      - Improved position reset on shape expressions
      - Automatic detection and handling of multi-letter rehearsal marks with blank spaces (e.g. "II A" or "BB 2")
      - Improved note metrics on linked parts with specified voicing
      - Measure counting expressions now always appear below measures with chord symbols unless the measures have hairpins

      New Features:
      - Three new measure counting options in the user dialog:
      1.) Switch on/off measure counting expressions
      2.) Set minimum number of one-bar repeat style measures for counting
      3.) Set minimum number of slash style measures for counting
      - If a corrupt Finale document has an extremely high top staff distance value in the global staff set (we found the value 1090453505 in a client's document), the score isn't visible in Scroll View and it can cause the plug-in to crash. These values are now detected and automatically fixed, so that both the score is visible again and the plug-in doesn't crash.
      - The new vertically aligned Figurato font is now partially supported: if you also have the FiguratoMAC font installed, it will calculate the correct collision metrics in most cases (both for expressions and lyrics). Full support will still take a few updates as it requires support of OTF GPOS tables which are currently not implemented in our font engine.
      - Horizontal solid and dashed line smartshape brackets above the staff are now included in collision detection.

      ;v0.9582 2019-04-18
      Improved:
      - Improved performance of the new outlier feature introduced in v0.9580
      - Improved performance of the multiple-notes (seconds and unisons) collision feature

      ;v0.9580 2019-04-15
      Fixed:
      -Tie metrics on invisible notes or staff styles that hide ties are not taken into account for automatic score balancing
      -Tie metrics on rhythm notation staff styles with less than 5 staff lines are now correct
      -Horizontal length of repeat brackets fixed on nested repeat brackets

      New Features:
      - If rehearsal mark vertical alignment "per system" is selected, then outliers (tempo expressions much far above the others) are not taken into account anymore for finding the best fitting line. In this image the expression in the first measure is the outlier and only the other two tempo marks are aligned.

      ;v0.9578 2019-04-10
      Fixed:
      - on MusicXML imported documents bottom fermatas in multi-layer scenarios are placed on the correct (bottom) side
      - in some cases the "Adjust top system margin to max. position of top staff in score" was always executed
      - In rare case automatic score balancing of single staff systems could lead to an unnecessary page break before the last system
      - if tuplet brackets start on consolidated rests Finale only shows the tuplet bracket of the currently active layer or the entry with the lowest layer number. The plug-in now only takes the metrics of the visible tuplet in account for collisions and score balancing.
      - tuplet numbers below the staff sometimes collided with articulations

      Improved:
      - 8va violin clef and 8va bass clef changes at the end of a measure are taken into account for rehearsal and tempo mark collisions
      - dynamic expressions on very low notes on 1-line staves are now correctly placed before the note (if there is enough space, e.g. through rests)
      - Improved placement of measure numbers at system start on inner staves in a score (slightly shifted to the right, if otherwise colliding with the system barline)
      - Improved vertical placement of articulations in multi-layer scenarios
      - Improved support for scores that use single staff resizing AND where the measure layout changes during the plug-in processing
      - Whole measure rests in multi-layer scenarios that were not centered, but manually shifted slightly away from the center now stay at that position
      - on tuplet number collisions with (inner) articulations a tuplet bracket will be added to make sure the tuplet number is still readable if moved further away from the notes

      ;v0.9576 2019-04-09
      Fixed:
      - if a document was imported from MusicXML and right after the import the plug-in was applied only to selected measures (and not to the full document as recommended in the documentation), then dynamic expressions could move to wrong vertical positions. With the fix they are not moved anymore.
      - Repeat measure counting expressions are now added correctly to measure 1 (under certain circumstances two expressions used to be added instead of one)

      Improved:
      - Improved placement of dynamics in empty measures
      - Improved handling of tremolo articulations that have been sent through JW Yada Yada, but which a completely wrong default placement
      - Improved detection of measure number/curved group bracket collisions in multi-group scores
      - Improved handling of dynamic expressions assigned to a measure position far beyond the measure duration (e.g. position 12288 EDU in a 4/4 measure with only 4096 EDUs). In previous versions they were only handled correctly until 3072 EDUs above measure duration.
      - Repeat measure counting expressions now have less collisions if placed on top on notes

      New features:
      - "Force consolidated rests": 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.

      ;v0.9574 2019-04-07
      Fixed:
      - Bug introduced in 0.9568 fixed: if only a single measure was selected, page scaling and/or page margins can get wrong values in certain cases

      Improved:
      - Improved placement of custom smart lines on slur collisions and if the custom smart lines span multiple systems
      - Improved vertical placement of articulations in multi-layer scenarios
      - Improved placement of dynamics with expressive text in certain scenarios

      ;v0.9572 2019-04-06
      Fixed:
      - In extracted parts cue instrument text expressions that are connected with cue note layers (2, 3 or 4) are now assigned to the score (not to the linked part)
      - Measure numbers on measures with time signature changes were not moved onto the barline as they should
      - "Hidden text" expressions (i.e. invisible texts) that have a visible enclosure are now correctly taken into account for collision detection
      - Bug in the font database fixed

      Improved:
      - Improved MusicXML text expression adjustment
      - Improved collision removal on tempo marks and tempo alterations on top of each other

      ;v0.9568 2019-03-29
      Fixed:
      - When "Always Apply Music (Re-)Spacing" was activated and Reflow Systems and Remove System Locks were checked, then an error could occur if the system layout das drastically changed through the plug-in. This has been fixed.
      - An installation bug that only occured on Windows 32bit platforms was fixed.
      - The Finale 26 installation now also works if the temporary files folder includes non-ASCI symbols.
      - Multiple tremolo articulations on multiple layers are now correctly aligned.
      - Technique text expressions are not moved onto the staff lines anymore
      - Expressions with the text "0" are not suggested as niente expressions anymore if the next expression ID is "1"
      - Systems that have both 1-line and 5-line staves as top staff on some systems now align correctly at the top margin (same for bottom staff/bottom margin)
      - Metrics calculation of multi-measure rest ranges fixed for 1-line staves on parts with multiple staves
      - Multi-measure rest creation bug fixed for instrument parts with multiple staves and one staff being completely empty
      - The font metrics were sometimes not read correctly if the music font only included very few symbols (e.g. RealBook Chords).
      - Multi-measure rest numbers are not shifted down on 1-line staves if they are MMRests with rest symbols
      - Cancelling the plug-in now restores the document options that had been changed during the start up process of the plug-in (e.g. Double Barline at Key Sig Changes, Curve Resolution).
      - In rare cases corrupt Finale documents can include text expressions that don't appear in the Expression Selection dialog, but that are visible in the score. The plug-in doesn't crash anymore when it encounters these "ghost" expressions.
      - Note spacing bug fixed (if the minimum measure width was different to 150 EVPU, then not all re-spacing functions were activated. Now they are again.)
      - Metrics of top and bottom position of one-bar repeat symbol on 1-line staves is now calculated correctly

      Improved:
      - Installer stability
      - Font detection improved for fonts that don't have postscript names (e.g. capella)
      - Added warning message if the option "Reset Vertical Pos of Note Articulations" is unchecked as this might lead to incorrect articulation metrics in rare cases.
      - Warning message is displayed if the plug-in updates the reflow settings.
      - Improved detection of user-defined tempo marks, tempo alterations and rehearsal marks categories
      - Better detection of scores that are actually parts
      - Improved measure number placement over curved group brackets
      - Improved detection MusicXML expressions
      - Multi-measure rest ranges are now also shown if the adjacent empty measures are empty single measures which sum up to more than the required minimum number of empty measures to show the range (in previous version only mm rest measures were counted).
      - Improved collision detection on smart lines over slurs and on slurs about dotted notes
      - Improved detection of vertical order when multiple tempo and rehearsal text expressions are at the same measure position
      - Improved automatic score balancing
      - Improved measure spacing (in some cases) when two dynamic expressions collided horizontally
      - List of fonts needed in MacSymbolsFonts.txt extended

      New features:
      - On a score that has at least 10% systems with only one staff the user will be asked if it the score is to be treated as a part or as a score? Several features are score/part-dependent (e.g. hidden cue notes, hidden part-only articulations, ...)
      - Petaluma, SchottMusicOctav, SchottMusicStringnumbers fonts added to font database
      - New option: "Hide empty staves in parts if reflow measures across systems is performed"
      - Placement of system dividers (as page text elements) is now automatically corrected to the news staff system margins.

      ;v0.9562 2019-02-11
      Fixed:
      - On some computers the plug-in files were not correctly copied to the Finale plug-in folder in versions 0.9557/0.9558 - this is fixed now.
      - The documentation of the Elbsound Music Font Package is now correctly linked in the Windows start menu (will only corrected on "Update", but only if full installation is performed)
      - The online documentation now links directly to the individual Gold or Silver pages (not only Gold anymore)
      - All user interface changes from the last four versions are now visible in the online documentation
      - The cache control in the online documentation has been improved, so that the browser always loads the latest image (and doesn't display old images anymore).
      - Articulations using a "space" symbol are not taken into account for collision detection anymore

      Improved:
      - Installer stability improved
      - The installer now shows a message at the end of the installation for which Finale versions the plug-in has been installed successfully. If a Finale version is not correctly registered in the system, the automatic installation might fail.
      - The installer now includes a warning message to not select the Finale plug-ins folder during installation for the Perfect Layout system files.
      - Improved recognition/creation of multi-measure rests: if one of several empty measures includes a hidden time signature change, an mm rest is now created.
      - Improved metrics calculation on expressions with enclosures for score balancing
      - Tuplets collision detection and removal and tuplet performance in automatic score balancing improved
      - If an expression is automatically moved and finally ends up on a scaled note, the "scale with entry" property will be unchecked.
      - Tempo mark, tempo alteration and rehearsal mark expressions in the "Miscellaneous" category are now also detected if they appear on multiple staves and moved to their designated categories (they used to be detected if they appeared on the top staff only)
      - Alignment of all systems at the page bottom margin has been improved

      New features:
      - Miscellaneous, Technique text and unknown text expressions from user-defined categories that are below or above the staff now have a basic collision removal function: in case of collisions they will be shifted up/down until there is no collsion anymore. This is only activated if there is just one expression on that measure position above/below staff (in the image not in m.4 beat 1 in the image below) and if it is a text expression (not in m.2 beat 2). Multiple text expressions on one position are currently not corrected. This feature can be deactivated (Gold+Silver)and the vertical distance can be adjusted in the user interface (Gold only /In Silver it's always the Gold default value 17 EVPU).
      - If "Reflow Systems Across Pages" is checked, the plug-in will now create better balanced parts when the document is an extracted part (linked parts are not supported yet).
      - New warning message in the log file if an expression is extremely wide (>1000 EVPUs).
      - Multi-measure rests with "classical look" that use 3 rest symbols become slightly wider (i.e. on 7 and 9 measure rests).
      - Measures become wider (!) if a wide text expressions on beat 1 collides with a text expression in the next measure. If the system allows for wider measures (not in very dense scores), they now get enough space to not collide. Text expressions after beat 1 are currently not taken into account. This is a very complex process and is very much dependent on the context and the density of the measures, so it might not work in all cases. But it should lead to better spacing results and less fine-tuning than without this feature.
      - New option: Set top margin of top system to max. position of top staff in order to avoid the top element to be above the top page margin.

      ;v0.9558 2019-01-31
      Fixed:
      - If the windows user name included spaces, then the plug-in in versions 0.9557 and 0.9553 issued an error message (not in the versions before 0.9553). This is now fixed.
      - Minor correction of rehearsal mark metrics calculation for automatic score balancing

      Improved:
      - Improved detection of true type fonts with styles bold, italic especially on fonts where Finale uses the postscript name instead of the font name

      New features:
      - "niente" and "quasi niente" text expressions are now connected to hairpins
      - The Silver edition has now the option "Optimize Tuplet Setttings" in the Optimize tab. In previous versions iit used to be set to "always activated" (=default value in the Gold edition).
      - If more than one part has measures without beat chart elements, then the "Always Apply Music (Re-)Spacing to Full Document Before Processing" option will be automatically checked

      ;v0.9557 2019-01-25
      Fixed:
      - combinations of "f" and "p" dynamics were not correctly merged to "fp" when hairpin started on same measure position
      - Jazz scores will keep the "Above" placement on tuplets (and not set to "Stem side") if tuplet optimization is checked
      - The "Max Slope" tuplet default value is now 10 again as in Finale's default document (and not 1).
      - No more hairpin/tie collisions on low one line staves
      - Multi-user and installation on non-admin accounts now works again
      - Completely empty staves at the bottom of a system are now correctly aligned with the page bottom margin
      - Rehearsal/tempo marks assigned to used-defined category that doesn't use staff lists is now again correctly aligned vertically with other rehearsal marks
      - The "Check for Activated Concert Pitch" has been disabled for Fin25/26, because of a bug in JW Lua. It doesn't return reliable results in Fin25/26.

      Improved:
      - More .ttc, .ttf and .otf fonts are now supported/detected
      - better detection of the font encoding on music fonts from MacSymbolFonts.txt that use the postscript name instead of the original name with spaces
      - better readability of the online documentation on mobile phones
      - Score balancing: improved enclosure calculation of measure numbers between two staves
      - Installer restructered for much faster updates and faster installation
      - Improved installer stability
      - Extra measure space for note collisions is not added anymore if the page is already extremely crowded. In previous versions this feature only looked at the current measure, in the new version all measures of the current page are taken into account.
      - Rehearsal mark texts are not shifted below horizontal offset 0 if they are attached to the "Left Barline"
      - Automatic score balancing imrpoved when only the top staff in an orchestra score does not belong to a group and it is followed by grouped staves
      - The updater tool now issues a warning message if updating is not allowed, but only uninstallation and new installation.
      - The updater tool now shows "Update" as the default selection (not "Remove").

      New features:
      - Support for MacOS .suit fonts that include ttf data
      - If the reflow options are set to "Reflow systems across pages" and to "Remove System Locks", then all "Begin a new staff system" entries from the Measure Attributes dialog can also be automatically removed (in the last update 0.9553 this feature was only added for manual page breaks). These entries often occur in imported MusicXML documents.

      ;v0.9553 2019-01-17
      Fixed:
      - More TTF/OTF fonts are now correctly detected and their metrics files are automatically created
      - Some Windows encoding problems with have been fixed that caused problems with the plug-in activation
      - Vertical alignment of dynamic expressions with multiple layers and grace notes before fixed
      - In linked parts that use a staff with more than one layer and "Specify Voicing" activated colliding notes are not shifted beyond measure borders anymore.
      - The "Display in Concert Pitch Detected" warning now works again correctly.
      - Hairpin distance to the bottom staff now again has the correct value if the measure also has tied notes.
      - Meta tool assignment is not changed through the plug-in anymore

      Improved:
      - Rest optimization in 9/8 and 12/8 measures with x/8 time signature (and not x/dotted quarters time signature)
      - Installer stability
      - Unused expressions that the plug-in creates (two 5-staff line expressions, a comma and a dot expression) are automatically removed if the full score is processed
      - The sub sections in the online manual and FAQ can now be linked directly. This allows faster, easier and more detailed support (https://elbsound.studio/perfect-layout/faq.php#go-to-other13 ).
      - As part of the conversion of the plug-in for MacOS, the plug-in will now only scan the available system fonts the first time the plug-in is called. This saves ca. 0,5 - 1,5 seconds on Windows, but up to 10 seconds on MacOS if you have many fonts installed. If your document uses fonts that you have added to your system after the plug-in installation, you can also manually rescan for fonts on the "General" tab.
      - Bow mark/Trill/8va collisions are now also detected and removed on smart lines that span multiple systems (detection on the first and last system, the middle systems are not supported by JW Lua).
      - Dynamics on very low notes are placed before the note if there is enough space (i.e. at the beginning of a system, on key/time sig changes and if rests before)
      - Vertical alignment of multiple rehearsal marks, tempo marks and tempo alterations at the same measure position was improved
      - The Elbsound Perfect Layout homepage has been improved for mobile viewing.

      New features:
      - New score balancing option: "Allow Overlapping Systems", e.g. for crowded piano scores. Not very recommended, but in some cases necessary to save space.
      - Silver Edition: Rest optimization can now be switched off (in the Gold edition this was already possible)
      - Articulations with "Always Notehead/Stem Side" and "Below/Above Note" can now be switched of for automatic placement on the opposite stem side in multi-layer/multi-voice scenarios. In previous versions only articulations with the "Manual" positioning were excluded.
      - Trill articulations are now placed below 8va smart lines
      - Bow marks are now placed above 8va smart lines if there is not enough space below, and below if there is enough space.
      - Automatic removal of 2-tuplets to 2 notes without a tuplet bracket can now be switched on and off (default is on)
      - If the reflow options are set to "Reflow systems across pages" and to "Remove System Locks" manual page breaks can be automatically removed in the score and/or in the parts (a new dialog will popup in this case).
      - The vertical distance of hairpins to slurs or ties can now be set independently. Their default values have been slightly decreased.
      - Two new options for the vertical distances of rehearsal and tempo marks to the top staff line and to other symbols.

      ;v0.9550 2019-01-02
      Fixed:
      - The Silver edition now has the identical output for score balancing as Gold
      - Installer crashed on some Windows 7 SP1/64bit installations

      Improved:
      - Installer stability
      - AutoHotKey installation is not needed (and not included) anymore.
      - Bottom alignment in score balancing improved on scores with different page bottom margins on several pages.

      New features:
      - The Silver edition now has 10 new score balancing settings to allow for more fine-tuning
      - New score balancing option: "Min. System Distance Between Movements" for detecting multiple movements in one document (Gold only, Silver is always set to 400 EVPU)
      - Rest optimization has now the option to include or exclude consolidated rests
      - Rest optimization can now be switched on and off (in Gold edition only, in Silver it is always switched on as in previous versions)
      ;v0.9548 2018-12-21
      Improved:
      - MusicXML: placement of expressions improved
      - Improved dynamic/hairpin alignment and spacing
      - "Force Tuplet Brackets on Unsymmetrics Tuplets" is only performed when the symbolic tuplet number is smaller than the number of notes below the tuplet.
      - "Force Tuplet Brackets on Ambiguous Tuplets" improved detection
      - Processing speed improved on trill lines with bow marking collision function
      - Corrupted measure-attached smart shapes of any type (used to be: hairpins only) that internally have their end position beyond the last visible measure are now automatically detected and corrected
      - Vertical positioning of unknown articulations on voice 2 improved
      - Warning message issued if articulations are not included in music spacing
      - Horizontal alignment of custom smart lines at the end of the measure
      - Installer more stable

      Fixed:
      - MusicXML: Fixed "expressions removed" bug
      - MusicXML: Auto-placement of MusicXML dynamics on the bottom staff in piano notation was fixed

      New features:
      - Alternate Finale-fonts that are compatible with Maestro are now also supported as "Default Music Font"
      - Warning message issued if articulations are not included in music spacing

      ;v0.9545 2018-12-12
      Fixed/Improved:
      - Final barline metrics fixed for a special case
      - Plug-in didn't show up in Finale's plug-in menu when JW Lua Auto File Folder Group feature was used before installation
      - Dynamics/hairpin alignment on piano notation grouped staves with cross staff notes improved
      - Dynamics that collided with accidentals could appear too far left on piano notation grouped staves
      - Cue staff style hidden notes fixed in single staff score without parts
      - Line spacing in text expressions is not changed anymore when unused MusicXML expressions are in the document
      - Improved rehearsal mark and tempo mark alignment

      New features:
      - If the main plugin file (JALAYOU.lua) was missing in Finale's plug-in folder, it will be automatically restored from the Elbsound installation folder.
      - Multi-measure rest measures that show a measure range above 99 or 999 will become wider.
      - "Force Tuplet Brackets on Ambiguous Tuplets" has been added to the Reset/Hide tab and can be switched on/off. It 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.
      - "Force Tuplet Brackets on Unsymmetrics Tuplets" has been added to the Reset/Hide tab and can be switched on/off. It adds tuplet brackets when the tuplet note durations are unsymmetric (compared from start to middle and end to middle).
      - New Option "Increase Tuplet Number If Max. Tuplet Note Duration Is Shorter": The feature was already in previous versions, but now it can be switched off optionally. It converts for example an 8th triplet made of 6 16th notes to a 16th 6-tuplet.
      - New Option for rehearsal/tempo mark alignment: Keep Current Placement.
      - "Reserve Distance Between Top and Bottom System Margin" has been added to the Systems tab. It defines the space between the top and bottom system margin after score balancing.

      ;v0.9542 2018-12-06
      Fixed/Improved:
      - Installer stability improved
      - Installer made compatible with Microsofts Windows certification app
      - "Windows Defender" warning fixed
      - Installer opens "How to use" page at end of the installation
      - Glissando horizontal alignment improved
      - Dynamics/hairpin alignment improved
      - Measure numbers on curved group brackets improved
      - Page bottom alignment bug fixed
      - A few minor things fixed

      New features:
      - Allow solid and/or dashed non-entry based smart lines as glissandi and include them in horizontal/vertical alignment (not checked by default and thus only available in the Gold edition)

      ;v0.954 2018-11-30
      ;v0.9539 2018-11-28
      ;v0.9538 2018-11-17
      ;v0.9527 2018-11-15
      ;v0.9526 2018-11-13
      ;v0.9525 2018-11-10
      ;v0.9524 2018-11-09
      ;v0.9523 2018-11-08
      ;v0.9522 2018-11-07