Perfect Layout - Online Manual


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

  • Date:Wed, 23 Jun 21 05:41:25 +0200

    How to Use Perfect Layout

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


    If you use the plug-in for the first time and are curious about how your old Finale® documents will look with the plug-in, don't grab a manually optimized document from your archive, but take a raw and unoptimized older version of the document instead. If you don't archive these, you may find some in your Finale® automatic backup folder.Already manually optimized documents will sure get some optimizations through the plug-in, but other manual movements might be removed or solved differently.
    The power and time-saving element of Perfect Layout lies in processing completely unoptimized documents.

    We recommend testing the plug-in on the first run with the "Perfect Layout demo file" as this is an unoptimized, short and complex test file which also creates all necessary font metrics files.
    When you start with this test file, just answer all dialogs with "ok" / "yes". By default the test file is stored in
    Windows: c:\program files (x86)\\Perfect Layout\Docs and Test Files\ES Perfect Layout Demo.musx
    MacOS: /Library/Application support/ Layout/Docs and Test Files/ES Perfect Layout Demo.musx

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

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

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

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

    Example 1:

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

    Example 2:

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

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

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

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

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

    Image 4: Overlapping unambiguous expressions are automatically corrected.

    Image 5: Overlapping expressions and hairpins are automatically corrected.

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

    Recommendations for optimizing your Finale® default document:
    1.) Smart Shapes: Turn on "SmartShape->Snap When Attaching to Beats"
    2.) Expressions: For a more uniform look it is recommended to have all expressions in an expression category 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 5.)
    System spacing is currently only performed in the score and in extracted parts (but not in the linked parts -> this will be added in one of the next updates), so you don't need to have the systems on the correct page.
    It makes more sense to do this after the symbol layout has been optimized by the plug-in.

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

    Excursus: Handling of Score and Parts in the Perfect Layout plug-in
    Finale® has the "Edit Score" mode and the "Edit Parts" mode.
    But what if a Finale® document ("Score") is actually an individual instrument part ("Part"), i.e. if it only has one staff?
    The Perfect Layout plug-in automatically treats a "score" that has only one staff or a two staff-grouped system (e.g. piano) as a "part".
    Certain "only in parts"-features or part-dependent parameters are automatically activated in this case.
    Unfortunately it's not possible to automatically switch off music spacing through the JW Lua plug-in interface, so you need to do it manually.
    It is important to switch it off, because otherwise the spacing corrections of the plug-in may be automatically removed after the plug-in has finished.
    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 Parts 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Image 12: Plugin Termination Error

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

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

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

    Image 13: Starting the plug-in

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

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

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

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

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

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

     Manual and User Dialog Settings

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

    User Dialog Tabs

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

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

     Do First

    Perfect Layout: Settings Do First DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Do First DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    Note: The settings on this tab are important for correcting slur and trill shape articulations.
    Unfortunately these values cannot directly be read through the plug-in, so you may have to adjust them manually.
    You can ignore this tab if ...
    (1) ... your document uses Finale's default slur contour settings (this is usually the case)
    (2) ... your score doesn't use shape articulations for trills (e.g. a trill combined with an accidental as a shape articulation)
    If your document uses user-defined slur contour settings (i.e. not Finale's default settings), you need to manually enter these settings here.
    If you haven't changed these settings - most users probably haven't -, skip this step.Unfortunately the Perfect Layout plugin currently can't read these values automatically.

    To get the settings open SmartShape->Slur Contour and write down the Height and Inset settings for all four span widths (short, mediumm, long, extra long).
    Then run the plug-in and enter these values by clicking on the "Enter Slur Settings from SmartShape->Slur Contour" button.
    These values will automatically be saved in your plug-in .ini file and only need to be entered again when they change.

    In most cases users don't have to change anything here.
    If your document uses trill shape articulations, i.e. "Trill with Flat", "Trill with Sharp" and/or "Trill with Natural", then select the shapes here by clicking on the "Select Shape" buttons.
    These articulations currently are not detected automatically.
    If you don't use shape articulations, skip this step and just leave the fields as they are.

     Optimize Finale's Defaults

    Perfect Layout: Settings Optimize Finale's Defaults DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Optimize Finale's Defaults DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    In the "Optimize" section you can select which document options should be changed to the plug-in's optimized values.
    The plug-in can update Finale's settings for slurs, ties, hairpins, tuplets and spacing.
    Slur values are only updated in the Smart Shape Options menu, not in the Placement or Contour menu.
    These values are hard-coded in the plug-in and result from many years of Finale® expertise.
    Still it's possible that they don't fit your personal needs, so you can switch off these settings individually. As JW Lua doesn't allow slur modification, it's also possible that some slurs still have little collisions with notes as there are no all-purpose settings for slurs.
    The plug-in will also automatically update the staff line, stem line, bar line and ledger line thicknesses unless you have changed them manually to values where the thicknesses are not equal.
    For better readability it is recommended to have different values for each type. The plug-in will apply these thicknesses:

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

    For better quality the plug-in will also set the Curves Resolution to 127 (from Document Options->Lines and Curves).
    The "Double barline preceding key changes" feature will also be enabled automatically.
    It's currently not implemented to switch off these features.
    When the tuplet default settings are updated, Finale® doesn't automatically update the existing tuplets.If you want to have the tuplet settings copied to each tuplet, select "Copy Default Settings to Tuplets".If "Optimize Tuplet Settings" is selected, the settings are always copied to the existing tuplets.
    In the Silver edition the default settings are always copied to the existing tuplets, as "Copy Default Settings to Tuplets" can't be deactivated.

    The default placement for tuplets is the stem side.
    But there are situations where it makes more sense to place them via the "Above" or "Below" method.
    In order not to overwrite these above/below tuplets with the default settings, the option "Copy Default Settings Also on Explicit 'Above' or 'Below' Tuplets" is unchecked by default.
    The "Optimize Rests" option enables the algorithm for better rest splitting (e.g. dotted quarter in 6/8, etc.). In scores Perfect Layout also analyzes other staves to detect for example if a 5/4 time signature is split to 2+3 or 3+2.
    If many alternating, complex or ambiguous time signatures are used, it is also possible to turn off "Optimize Rests".
    Consolidated rests (i.e. rests in multiple layers that are merged to one visible rest) are by default excluded from the rest optimization algorithm (Option: "Exclude Consolidated Rests from Rest Optimization").
    The "Force consolidated rests" option creates consolidated rests if non-consolidated rests are in the score. This is especially interesting on MusicXML imported documents as they don't conserve Finale's consolidated rests feature. If the plug-in detects a MusicXML imported document, this feature is automatically activated in the user dialog and needs to be deactivated manually, if unwanted.

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

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

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

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

    Image 5: Allow Dotted Rests in Simple Meters
    (Only affects rests below beat duration)
    When the grace note optimization is activated (it is by default), the following two corrections are done on grace notes:
    - Single grace notes are converted into slashed eighth note grace notes
    - Multiple grace notes are converted to 16th note grace notes
    This feature can only be deactivated in the Gold version of Perfect Layout.

    In the spacing section you can also select when a full document (re-)spacing has to take place.
    You can force a full respacing by checking "Always Apply Music (Re-)Spacing to Full Document Before Processing".
    This option makes sense if the part layout is still "raw" and multi-measure rests haven't been created either.
    If you have applied music spacing to the document or if "Automatic Music Spacing" in Finale's preferences had been switched on (it must be switched off before running the plugin! See here), you don't need to check this option.
    By default it's unchecked.

    If chord symbols are found and there is at least one measure with three chords or an overlapping of chords is very likely (e.g. chords at end of measure or wide chord suffices), a (re-)spacing is always performed, when the option "Always Respace If Chords Found" is selected.

    When the spacing settings are optimized, a (Re-)spacing is only applied to the document if "Force Full Document Respace If Major Spacing Settings Change" is checked.
    It is selected by default.

    Other situations where the spacing may change are described in the overview.
    You can adjust the baseline position and the baseline and the offsets for dynamics and expressive text ("Vertical Entry Offset" and "Baseline Offset"). The Baseline Position is the vertical offset from the middle of the staff lines.
    The default values in Perfect layout are:
    97 EVPU (Above Staff Baseline), -134 EVPU (Below Staff Baseline), 11 EVPU Baseline Offset, -66 EVPU Entry Offset.
    These four values are written directly into the corresponding slots in Finale (see images 6 and 7).
    If you deactivate this option, Perfect Layout will use the baseline/offset settings from your document.

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

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

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

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


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

    Usually the plug-in first removes any manual adjustments, then looks for collisions and, should it detect any, moves the expression away from the colliding object.
    If the horizontal offsets of the expressions are large, it is unlikely a clear zero position was intended by the engraver. In this case manual (horizontal) adjustments are not reset. The thresholds for these "extended offsets" can be set in "Reset Horizontal Position of Dynamics Until Maximum Horizontal Offset" and "dito., Max. Horizontal Reset Offset for Whole or Dotted Notes".

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

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

    Image 1: Category "In Parts Only"

    Just as expressions articulations positions are usually first set to the vertical default position and then tested for collisions.
    It is highly recommended to keep the option "Reset Vertical Position of Note Articulations, Fermatas, Bows and Ornaments" selected.
    Only recognized articulations are reset, i.e. shape articulations or articulations with unknown music symbols are not reset, except for those shape articulations that are explicitly defined in the Perfect Layout settings (e.g. up/down bow shape articulation).
    Articulations that are usually aligned manually (e.g. arpeggio) are not reset by default (see option "Also on 'Position: Manually' Articulations").

    Certain articulations can be automatically hidden in the score. This might make sense for bow marks, breath mark commas or certain shape articulations (e.g. brass fingering).
    These can be selected in "Hide These Articulations in Score Only".
    By default, only bow marks are selected.
    The option "Reveal Accidentals on False Tied Notes" shows accidentals that were forgotten to add and only disappeared because of Finale's function to automatically hide accidentals if a note is tied.
    This helps detecting wrong notes in playback or even wrong ties.
    If the tie was correct, it also looked correct without the extra accidental. But if the accidental is revealed by the plugin, it will look wrong.
    This option is more important if you work with playback. It is not recommended to use it, if you work without playback.

    Image 2: Left: Original, Right: Hidden accidental revealed
    It is recommended to let the plug-in remove all manual slur adjustments by selecting "Reset Manual Slur Adjustments". Otherwise slur optimizations may not work.
    By default manual slur adjustments are removed, while manual curve adjustments are not because they are very often "hand-made" to illustrate a more complex behaviour.
    To remove faulty manual note positions that were created accidentally, the Perfect Layout plugin has the option to do this automatically according to Finale's settings from Document Options.If the option "Automatic According to 'Manual Positioning' from Document Options" is selected, then it will either clear or keep manual adjustments of notes dependent on the 'Manual Positioning' setting from Finale's document options.

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

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

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

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

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

     Multi-Measure Rests

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

    Image 1: A part before running Perfect Layout

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

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

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

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

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

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

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

    Image 7: Adaptive Measure Range Visibility on Multi-Measure Rests: Visible if at least 10 adjacent measures and after double bar lines.
    To faciliate reading you can select to hide tempo alterations in multi-measure rests: select "Hide Tempo Alterations in MM Rests". Depending on the content, this may be appropriate or not. This option is unchecked by default.
    The sub-option "dito., But Only If No Notes Follow Until End" allows to hide tempo alterations at the end of the file if no notes follow until end. This is usually "safe" for the player.
    This sub-option is activated by default.

    Image 8: Some Multi-Measure Rest Settings
    Right-aligned tempo marks in the last measure of a multi-measure are typically being swallowed by Finale's multi-measure rest creation algorithm.
    Alternatively Finale splits the multi-measure rest and adds an extra empty measure with the tempo mark.While this may be more clear in some cases, it might be easier to read if the symbol was visible at the end of the multi-measure rest (see image 9 last line).To activate this feature select "Show Right-Aligned Tempo Marks on MMRests".
    Make sure the expressions are right-aligned, attached near the end of the measure and are set to "Break MM Rest".

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


    Perfect Layout: Settings Chords DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Chords DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    For better readability of a conductor's score it's possible to show chord symbols only on selected staves.For example if a jazz band score has chord symbols on the piano, electric guitar, electric bass and vocal staff, it make senses to limit their visibility to the piano and/or e-guitar staff. This will give you more vertical space on the page.
    The Perfect Layout plugin offers to show the chords on all staves in the score, or on one or on two (Option: "Show Chords in Score Only on Staff").
    This only affects the score. In the parts all chord symbols will be visible.
    The chord default position can be automatically changed to "Left"-aligned - recommended for better readability and checked by default.

    By default Finale® chords have a horizontal offset of 12 EVPU. This can be changed to any value ("Set All Chords to Horizontal Pos X").Changing this value might improve the look on handwritten/jazz fonts which otherwise might have an odd offset.


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

    Image 1: Hide group names in parts
    For better readability group brackets are can be automatically added to staff groups with at least three staves (Option: "Add Group Brackets on Groups with at Least 3 Staves").
    The plugin makes sure that these groups don't interfere with other groups or other group brackets and in doubt it won't add a bracket.

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

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


    Perfect Layout: Settings Alignment DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Alignment DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    The Perfect Layout has two algorithms for placement of tempo and rehearsal expressions above the staff:
    a.) Align each expressions individually (closest to the staff)
    b.) Align all expressions per system on the line of best fit (above all other objects)
    c.) Align all text expressions on the line of best fit, but keep rehearsal marks close to the staff (Option "Per System/Skip Rehearsal Marks")

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

    Image 1:
    Top (a): Individual alignment (close to the note/staff)
    Middle (b): Alignment on the best line of best fit
    Bottom (c): Alignment of the text expressions. Rehearsal marks are close to the notes/staff.
    Some general options for expression, articulation and hairpin alignment can be set on this tab:
    An "Extra Vertical Collision Offset" can be set here (Default: 5 EVPU). This value is added to all vertical offsets on the expression, articulation and hairpin tab and makes it easy to generally increase the vertical distances of two objects. Don't forget to also adjust the "Below Staff Baseline Position" and/or the "Vertical Entry Offset" on the "Optimize" tab in order to adjust the general placement of dynamics and expressive text.
    The Silver edition has eight predefined values (-9, -6, -3, 0, 5, 10, 15 or 20 EVPU), while the Gold edition is fully flexible.

    Image 2: Extra Vertical Collision Offset: -2, +5 and +15 EVPU
    Note: If there is enough space before the fff in measure 1 and the fff would be placed below the "Express.->Very Low Note Threshold Below Staff Line" value, Perfect Layout will automatically move it before the first note (not below).

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

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

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

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

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

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

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

    Image 4: Extra vertical offset for curved group brackets

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

    Here are some of the options:

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

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

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

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

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

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

    All cue options in detail

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

    Image 6: Cue expressions category
    If the option "Scale Cue Expression with Note Entry" is selected, then the cue expression will get be reduced like the note entry (activated by default).
    It's possible to let Perfect Layout hide some symbols in cue measures: hairpins and custom lines are hidden by default (Option: "Hide Hairpins and Custom Lines In Cue Measures").In the Gold edition you can also automatically hide trills (Option: "Hide Trills in Cue Note Measures", deactivated by default).


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

    Image 1: Before applying Perfect Layout

    Image 2: After applying Perfect Layout

    Image 3a: Tuplet brackets before applying Perfect Layout

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

    Tuplet options in detail

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

    Image 4: Left: Original, Right: Added Brackets

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

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

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

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

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

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

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

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

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

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


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

    Overview of the dynamics and hairpin features:

    More info on these images available on the examples page or in the zoomable PDF.

    There are many scenarios where multiple expressions on the same measure position or colliding horizontally can occur.
    Perfect Layout can handle many, but not all of these cases yet.

    The following two images show a before/after Perfect Layout look demonstrating some multi-expression cases (with Perfect Layout v2.023).
    The creation of this scenario is also available as a real-time video and as a Finale document for download.

    Image 1: Handling Multiple Expressions (before Perfect Layout)

    Image 2: Handling Multiple Expressions (after Perfect Layout)

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

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

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

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

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

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

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

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

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

    10.) When running Perfect Layout on an old or MusicXML-imported Finale documents, make sure to apply it at least the first time to the full document.
    Perfect Layout optimizes many expression default positions, especially in old/MusicXML documents.
    But this function is only activated when running the plug-in on the full document as otherwise inconsistencies may occur.
    "Old" means in this case created before Finale 2014.
    To get the best results with the Perfect Layout plug-in it's important to use Finale®'s expression categories correctly.
    The same goes for Finale®'s other default categories:
    1.) Dynamics/Niente Circle: Keep dynamics only in a category with the keyword "Dynamics" (or Dynamik or dynamiques or dinamiche from the international editions of Finale). It's also possible to combine words like "Percussion dynamics" or "Above Staff Dynamics" - as long as the main keyword is found.
    2.) Expressive Text: Expressive text expressions are partially taken into account in alignment. Especially in combination with dynamics or hairpins on the same measure position the expression will be aligned horizontally and/or vertically.
    3.) Rehearsal Marks/Tempo Marks/Tempo Alterations: Elements in these categories are taken into account for vertical and horizontal alignment above the staff. Rehearsal Marks can also be placed at different positions at the beginning of a staff (see alignment tab).
    4.) Technique Text: Expressions in this category are not vertically/horizontally aligned!
    5.) "Cue"-Keyword (user-defined): see Layer/Cues tab.
    6.) "In Parts Only"-Keyword (user-defined): see Reset/Hide tab.

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

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

    Note 2:
    If you have imported a document through MusicXML, it performs an automatic category assignment if the whole score is processed with the Perfect Layout plug-in:If the plug-in detects typical keywords, it suggests to move the expressions to the corresponding category.
    This works very good with dynamic expressions and also with a few standard expressions from the other categories. But especially if you use less common or foreign texts, the automatic category detection does not work.In this case it is important that you move the expressions to the correct category before applying the plug-in. Otherwise not all features will work.
    Compound dynamics like poco pp, sub ff. or molto f require extra attention because they are often so wide that their placement may be ambiguous (image 3).

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

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

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

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

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

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

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

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

    Image 5: Overview of the options for compound dynamics placement
    You can remove the opaque background from rehearsal and tempo marks/alterations with the option "Remove 'Opaque' from Reh./Tempo Marks".
    Usually the opaque feature is not required for rehearsal marks after applying 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").By default Perfect Layout will search the whole system for the lowest element. If "For Lowest Element Only Look at Expression's Measure" is selected, it will only analyze the measure of the expression for the lowest element.

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

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

     Perfect Layout Example:
    Dynamics and Hairpin Alignment

    Here are three example and reference pages of how Perfect Layout handles dynamics and hairpin alignment with its default settings.
    It wwas created with PL v2.22 using the Tight Spacing and the Loose Spacing presets. No manual changes were required in the user dialog of the plug-in.
    This is the output of the default settings, except for the three measures (m.38, 48, 53) where two options are showcased side by side.
    Click here to download the PDF.

    For optimized viewing press F11 for full screen mode

    The three original Finale 2014 files are also available:
    1. Before Perfect Layout
    2. After (Tight Spacing)
    3. After (Loose Spacing)


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

    Image 1: "Inside steep slur"-articulations

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

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


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

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

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

    Image 1: The hairpin connection options

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

    Image 2: The hairpin connection options

    Image 3: Hairpin and "molto" text (with end hairpin before barline option)
    If hairpins are connected on a measure position, you can specify the gap between them (Option: "Gap Between Connected Hairpins").
    Image 4: A gap between connected or overlapping hairpins is automatically inserted (width: 33 EVPU by default)
    (Note: the niente circle has been automatically shifted to the end of the note)
    If a hairpin is connected over a rest to an end note, it's possible to keep it or to have it reduced to the end of the previous note (see image 5).
    It's also possible to only keep it, if it is connected to a final dynamic expression (image 5c).
    The same option is available for start notes.

    Image 5: Hairpins and rests at the end
    The automatic connection of expontential and niente expressions with hairpins is supported.

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

    For exponential hairpins the symbols from the November2, VintageGHMA, VintageECP1 and the DSE Music Symbols fonts are supported. Again create an expression with these symbols and place it in the Dynamics category.
    Don't activate the "Enclosure" property for exponential expressions!

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

    In standard notation hairpins usually end at the last note or rest before the empty measure.
    In contemporary notation however there may be situations where hairpins should occur in "empty" measures, especially if it's a graphical or other note-less notation.In this case you should uncheck "Shorten Right End of Hairpins If They End On An Empty Measure".
    In the Silver Edition this option is on the "Alignment" tab.

    Image 6: Option "Shorten Right End of Hairpins If They End on an Empty Measure"
    The exact start and end offset of an hairpin on a note or a rest is automatically calculated by the plug-in (see image 7).

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

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

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

    Note: Finale has a problem with the end of the closed side of a hairpin on screen which doesn't match the end position of the hairpin in print (PDF or paper).The plug-in takes this into account and always calculates the offsets for print only. I.e. should there still be a collision of a hairpin with a dynamic on-screen, do a print to PDF or paper first to check if it isn't that bug.
    Only in very rare cases the plug-in doesn't solve this bug.
    Many distances for optimized hairpin placement can be set. While most options are self-explaining, a few need a note:
    a) the vertical position of a hairpin in relation to a connected dynamic is set in "Center of Dyn. Expression" (13 EVPU by default on a hairpin opening width of 28 EVPU).

    Image 9: Vertical relation of hairpin and dynamics

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

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

     Slurs/Ties/Custom SmartShapes

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

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

    Case 1b) is standard notation in most cases. Exceptions which should not be extended are for example string staves with very many tied notes or guitar staves where the legato slur might be mixed up with a hammer-on/pull-off slur.These exceptions are deactivated by default.
    Notes tied over many measures or with many ties should not be extended either. The default maximum span is three measures or three ties (Option: "Only If Tied Measure Span and Number of Ties is Less or Equal than X Measures").
    The plug-in removes 'open' ties (i.e. ties not connected to an end notes, also called 'l.v.' ties) by default unless they belong to an instrument that actually can play 'l.v.' (e.g. harp, cymbals, glockenspiel, etc.).

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

    Image 3: The re-tie settings of Perfect Layout
    m.1: Only re-tied if "...After Beat 1" is deactivated
    m.2: Always re-tied by Perfect Layout
    m.3: Never re-tied by Perfect Layout because otherwiese the hairpin on beat 4 would become unclear.
    m.4: Always re-tied by Perfect Layout
    m.5: Never re-tied by Perfect Layout because otherwiese the hairpin on beat 4 would become unclear.
    Glissandi are aligned horizontally and vertically to not collide with notes, note dots and/or accidentals.
    Usually glissandi are note-attached smartshapes or tab slides.
    By selecting "Handle Solid Lines as Glissando" or "Handle Dashed Lines As Glissando" it's also possible to use measure-attached smartshapes as glissandi.
    As this option is unselected by default, it's not available in the Silver edition.

    Note: If selected, the algorithm currently assumes that all solid and/or dashed lines are glissandi. So use with caution.
    Otherwise for example dashed crescendo lines might be turned into a vertical glissando line.
    Trill lines, brackets, ottava lines and custom smart lines that include the hidden keyword "PUTONTOP" are taken into account for vertical collision removal above the staff (not below!).

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

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

    Image 5: "PUTONTOP" in the text dialog

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


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

    Measure Counting

    Measure counting expressions are shown by default on one-bar repeat and slash style measures if there are at least three adjacent measures of the same style (see image 2).Repeat brackets are automatically taken into account (see image 1). In second endings the counting restarts by 1.You can select to show them on "All Staves" or on "Percussion Staves Only".
    It's also possible to show the numbers only every xth measure.
    The minimum number of repeat/slash measures to show the measure counting can also be set in "Minimum Number of Repeat/Slash Measures to Show Counting".

    Measure counting can be hidden in the score ("Show Measure Counting Expressions in Score"). They are hidden by default.
    Or measure counting can be deactivated completely (Uncheck "Add Measure Counting Expressions").

    In the first measure of a new counting region, you can additionally show the range. ("Show Measure Counting Range in First Measure").

    Image 1: Slash measure counting

    Image 2: One-bar repeat measure counting


    Perfect Layout: Settings Systems DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Express. Artics. Hairpins Slurs/Ties Counting Systems General
    Perfect Layout: Settings Systems DO First Optimize Reset/Hide MMRests Chords Groups Alignment Layers/Cues Tuplets Ties Counting Counting General
    The Perfect Layout plug-in includes 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 linked parts). But if the score actually is a part (i.e. a single staff or an extacted part), 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 Space on Reflow Systems Across Pages (Default: 14 EVPU)
    If "Reflow Systems Across Pages" is activated in the Finale preferences, Perfect Layout will re-arrange the systems across the pages and improve the layout. This "Min. Vertical Space" value defines the minimum distance between two systems.Usually you will never encounter this exact distance between systems in the end, as there is nearly always more space available on a page.
    This is more a guide value that defines the general density of a page: the higher the value, the less number of systems will appear on a page.
    E.g. the value 0 EVPU creates very dense parts, while a value of 50-70 EVPU generates a very loose vertical spacing.
    This value is more relevant to (extracted) parts with lots of systems per page (see for example this demo video).
    On conductor's scores with only one or two systems per page, this is not relevant as there is usually no reflow of systems across pages.

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

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

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

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

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

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

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

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

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

    The coda system is automatically shifted down for better readability (Option: "Shift Coda System Down").The algorithm looks for repeat elements or text expressions with the user-defined keyword ("Coda" by default).
    If the algorithm detects this word at the beginning of a system, it will move the system down by the given value (120 EVPUs by default). If there is not enough space on the page, the score balancing algorithm will probably decrease the distance.


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

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

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

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

    Known issues:
    1.) If you edit the text files, make sure to not change the order of the lines or to add extra line breaks at the end of a line or between two messages. Otherwise the text elements might be used at the wrong position.
    2.) Please check that the length of the translated text element matches the available space in the dialog. Should you encounter problems, please contact us, and we might have to change the element width in the dialog.
    3.) On Windows UTF8 elements in pop-up dialog elements seem to get a wrong encoding. On MacOS it works fine.
    It is recommended to bypass empty staves during processing. This will slightly increase the processing speed.By default this is set to "bypass".
    The dialogs and warning messages of the Perfect Layout plug-in can be bypassed for example to allow batch processing.
    IT IS NOT RECOMMENDED THOUGH! Especially if one doesn't use the Perfect Layout plug-in on a daily basis, it is very likely that one forgets to do some of the preparations before running the plug-in.

    If you have bypassed the main dialog, you can reset it either
    1.) by deleting its .ini-file. It is located in the same folder as the Finale® configuration files (typically C:\Users\USERNAME\AppData\Roaming\MakeMusic\Finale) and is called "JALAYOUG.ini". Simply delete the JALAYOUG.ini file and restart the plug-in. Then the main dialog will reappear.


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

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

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

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


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

    Loading and Saving the configuration

    The plug-in always loads the last used settings when it starts and saves the current settings when the dialog is closed with "Ok".
    If you click on "Cancel" instead, the last saved settings file remains unchanged.

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

    Image 1: Loading presets

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

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

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

     Other Features

    More features of the Perfect Layout plug-in are listed in the Overview section.
    As these are so basic for every music score, they can't be switched off.
    You can exclude expressions individually from alignment by adding the keyword EXCLUDE to the description text in the expression designer dialog. This can be helpful if you need an unusual placement of an expression which at the same should be taken into account for visual score balancing.

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

    Image 1: EXCLUDE in the description text

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

    Image 2: Preview image button



    Double-click the PerfectLayoutSetup.exe file to start the installation. The installation software will guide you through the installation process.
    No manual adjustments have to be made in Finale® after the installation.

    The installation takes about 3-9 minutes dependent on the computer speed and the number of components installed.It is highly recommended to install all components to have access to all plug-in features.
    A video of the Windows installer is available here.

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

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

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

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

    Image: Email with activation code.

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

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

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

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

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

    Node.js is required for reading the metrics of .otf (open type) fonts.
    If it is not installed, only .ttf (true type) fonts are supported.
    The installation of all components takes about 1 - 5 minutes (Windows) and up to 1 minute on MacOS.

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

    Yes. It is required to activate and register the plug-in and to download the Finale® plug-in interface "JW Lua" which is not included in the package.
    Internet access is also required for updating the plug-in and for deactivating it.
    Use the maintenancetool.exe with administration rights (Right-click with the mouse and select "Run as Admin"). See "How do I install an update of the plug-in".
    The file can usually be found in C:\Program Files (x86)\\Perfect Layout.
    The uninstallation process usually takes about one to five minutes.
    During the uninstallation you must explicitly confirm that you also want to uninstall AutoHotKey and Node.js. Otherwise they won't be uninstalled.

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

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

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

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

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

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

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

    In Finale's subfolder Font Annotation, the Elbsound plug-ins also generate their own font annotation files with the file extension .f2n.
    These font annotation files are currently recreated each time after you have run the full installer to make sure the font annotation files have the latest format.
    The installer only detects Finale versions if they are correctly registered in the Windows registry.
    For Finale 2014/2014.5 the following entries should exist:

    For Finale 25 the following entry should exist:

    For Finale 26 the following entry should exist:

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

    Image : Finale 2014.5 Registry Entry

    Image 2: Finale 25 Registry Entry

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

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

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

    You can add these entries manually through the Windows console ("Cmd"), through "Regedit" or by re-installing Finale. For more info please contact our support.
    Did you uninstall the Elbsound package or the plug-in right before you started the installer?
    Unfortunately this doesn't work - probably because of a problem with Windows font cache.
    You need to restart Windows before reinstalling the plug-in and the Elbsound Music Font Package. Otherwise the fonts may not be registered correctly.
    If you have problems with installed/uninstalled fonts, another solution is to remove the Windows font cache file (c:\windows\system32\fntcache.dat).If you delete this file and restart Windows, it will be recreated which also very often fixes font issues on Windows.
    In general you can activate the plug-in on only one computer.
    If you have a license key that allows activation on two computers, you need to make sure that you use the identical licensee name and email address in the license key dialog in the installer.You also need to make sure that your computers are in the same network and thus use the same IP address base.
    This is usually only the case if you perform both installations within a short time frame as the IP address may change from time to time (dependent on your network).
    If you do both installations within an hour, it usually should work. If you do them on different days, it's very likely that it won't work - but it depends on your network settings. In this case you have to uninstall the first installation, and then re-install both installations within the allowed time frame again.
    If you uninstall the plug-in completely, make safety copies of your settings file if you have changed the default settings (i.e. JALAYOUX.ini in your Finale configuration folder).

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

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

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

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

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

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

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

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

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

    Start the plug-in in Finale. Go to the "General" tab and click on Deactivate. Then cancel the plug-in.

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

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

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

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

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

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

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

    Make sure this new folder contains these files:

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

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

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

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

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

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

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

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

    If you have installed Finale 2014, 2014.5 and Finale 25, then install Perfect Layout and then install Finale 26, Perfect Layout will not be available in Finale 26 unless you install it manually as described above or run the installer again.
    No, this is not possible. The installer wipes out other Perfect Layout installations in the same folder.
    Please make sure that you have Windows 7 Service Pack 2 (="Convenience Rollup") and all the latest updates installed. Otherwise Windows' PowerShell which is used by the Perfect Layout installer might not work as expected.

    Also please use the latest Perfect Layout Windows installer. The last Windows 7 updates are included in Perfect Layout v2.0042.

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

  • We have tested the French edition of Finale® 2014 and the German edition of Finale® 25 and both worked fine. So we assume that the other versions will do too.
    Make sure to have the "Configuration Files" folder set to Finale®'s default "Configuration Files" or "Konfigurationsdateien" (German version) as the Perfect Layout plug-in doesn't detect other configuration folders at the moment.
    This value can be set in Edit->Preferences->Folders->Configuration Files.

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

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


    To get the new license key please

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

    Image 1: MacOS Deactivation

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

    Image 2a und b: Windows Uninstallation

    2.) Tell us that you have uninstalled it (send us a mail via our contact form or use our support email address).
    3.) We will check it in our activation datebase and then remove your old license key from the database
    4.) Then we will send you the new license key for the upgrade edition (e.g. Silver)
    5.) Download your new installer. The link is in your purchase receipt email.
    6.) Run the downloaded installer, enter the new license key and activate the new edition (e.g. Silver).

    The old license key (e.g. from Silver400) is not valid anymore after this procedure (i.e. neither for a Silver400 installation, nor for a Silver upgrade installation).

    We always try to send you the license key as fast as possible. But please keep in mind that this is no automated process. You may have to wait until the next business day until you receive the license key.
    Please also check your spam folder if you haven't received the license key within two business days.

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

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

    2.) Open the Elbsound download page in your browser

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

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

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

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

    Just run the new installer. It will update any existing installation.

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

    The updater tool checks if new updates for the plug-in or its other components are available in the online repository and will automatically install them, if you wish to.You need to close all Finale® programs before updating the files.

    The plug-in can automatically check if a new update is available (Option "General->Automatically Check for Plug-in Updates").To save time this check is not performed each time you run the plug-in, but only from time to time.
    If you want to check it yourself, you can click the "Check for Updates Now!" button on the General settings page.
    The maintenancetool.exe is also used for uninstalling the plug-in.

    Here is a real-time video of the update process:
    Video: How to update Perfect Layout in one minute

    Some users have reported "false positive" alerts from Kaspersky Total Security during the installation of an update. Kaspersky is informed about this issue, but hasn't fixed it yet.
    Interestingly online virus checkers like don't list a Kaspersky alert, so it may also have to do with some special user settings.
    You can either avoid the update process and uninstall and re-install the new software instead, or - at your own risk - deactivate Kaspersky during the update process.
    If the maintenancetool.exe has been quarantined and is no longer available, you need to reinstall the plug-in. An automatic update is not possible anymore.

    Processing Speed

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

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

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

    c.) Running the plug-in:
    - Follow the "Quickstart: How to Use" guide and don't do any unnecessary manual adjustments before running the plug-in.
    - Finale® creates linked parts by default. If you don't use them, delete the parts before running the plug-in. This will decrease the processing time about 40%.
    - If you have expression libraries with more than 500 or even 1000 expressions, it is recommended to delete all unused expression definitions. (Go to "Show All" in Expression Designer dialog and then select all (!) an click on "Delete". When asked "One or more of these itemes is currently in use in the score. Are you sure you want these items removed?" click on "No". This will only remove the unused expressions.)
    - If you have a really huge score at Finale's internal limit (like 29.000 frames, 150.000 entries=e.g. 60 staves with 1200 measures each plus linked parts) or apply the plug-in to a corrupted Finale file, it might be helpful to run the plug-in overnight.
    - If you run the plug-in on multiple instances of Finale® at the same time (e.g. 2014, 2014.5, v25), this slows down processing slightly (ca. 10%).
    - 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 the three known developers (Jari Williamsson, Robert Patterson and Tobias Giessen) still have access to the PDK.
    So we had to use JW Lua, a plug-in interface for Finale® designed by Jari Williamsson which is based on the programming language Lua.JW Lua is a fantastic platform. But if the Perfect Layout plug-in had been developed directly in Jari Williamsson's Finale C++ framework, it probably would have been 20-100 times faster.
    Hopefully MakeMusic will change their policy in the future, so that also the processing speed becomes "perfect".
    There are four reasons for this behaviour:
    a.) General checks which take quite some processing time are independent on the selected region (like an installed fonts check, creating font metrics files or checking for expression categories)
    b.) The plug-in never only works on one measure, but also analyzes the surrounding measures and staves.
    c.) The larger and more complex a score, Finale® seems to become exponentially slower.
    d.) Especially the page update function takes a lot of time on large scores: it can take more than a minute - and this is called several times.
    (This is also the reason why calling the plug-in on a part is much faster than calling it on a single staff in an orchestra score.)
    e.) The plug-in is not yet fully optimized for sub-regions.

    So processing one measure in a huge score might take more than 10 seconds, while the same measure in a small score takes less than a second.
    There seems to be a little memory leak in the JW Lua PDK, in the Finale® PDK or in Finale.
    Just restart Finale® and the plug-in will be fast again.
    The main dialog shows a rough estimation of the plug-in processing time:

    The first time the plug-in is applied, the estimation isn't that good as it doesn't know yet how fast the computer is.The more the plug-in is used the more exact the estimation will be as it compares each time the estimation with the resulting time and updates its factors.The larger the score, the better the estimation. For only a few selected measures, the estimation is usually not very good.

    One way to save lots of time with Perfect Layout is to do "batch processing". For example if you have a huge score and many extracted parts and you want to process it overnight, this is the solution.
    Attention: this is technique is a bit advanced, so take your time in reading this short tutorial.

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

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

    a.) Select the correct plug-in settings

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

    b.) Hide the user dialogs

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

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

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

    c.) Run the batch processing

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

    d.) Restore the user dialogs

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

    Image 3a: Batch Processing with JW Lua

    Image 3b: Select the files for batch processing

    Finale might crash during the batch processing: we have been using batch processing on a daily basis now for three years for testing the plug-in with our ca. 11.000 Finale test documents.It's likely that after some time, a Finale crash will occur. We assume that it has to do with a missing memory garbage collection that we can't influence.This crash can occur at any time. It seems to depend on the complexity, size and number of files: the smaller the files, the more will be processed.Our experience with our own JW Lua batch processing script is that up to ca. 2500 files can be processed, if they are rather small (less than 200kB).But only very few (ca. 10-30) can be processed if they are huge (>5 MB).
    If such a crash occurs, it doesn't mean that your original document can't be processed. Just remove the files that have already been processed and start the batch processing again. It will ALWAYS work like this.

    MacOS specific

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

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

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

    Image 11a: One of the Access Warning Messages

    Image 11b: One of the Access Warning Messages

    Image 11c: One of the Access Warning Messages

    Image 11d: One of the Access Warning Messages

    Image 11e: One of the Access Warning Messages

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

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

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

    Either selection should work.


    This is an old Finale® bug.
    The Perfect Layout plug-in creates hairpins that look correct when printed to PDF, but which might look faulty in Finale®.

    Image 2 Left: The hairpin goes through the niente expressions (Finale® View).
                Right: The hairpin stops below the niente expressions (PDF View).

    Image 3 Left: The hairpin has a soft tip (Finale® View).
                Right: The hairpin has an angular tip (PDF View).

    Usually this not should occur (so if you encounter this, please contact support).
    There are however five cases where this can happen:
    a.) the dynamic expressions were placed in the wrong expression category (e.g. "Miscellaneous" instead of "Dynamics")
    b.) the hairpin and/or the expression are attached to other measure positions than what they visually seem to be attached to ("ambiguous assignment").
    c.) the dynamics use an unsupported music font
    d.) the font annotation files are missing for the music font of the dynamic expression
    e.) the dynamics are applied as articulations instead of expressions
    f.) the dynamics/hairpins are placed on a staff with lyrics

    The first problem (a) is automatically fixed by the plug-in, if the whole document is selected in "Score View" when applying the plug-in.
    The second problem (b) is automatically solved in many cases, but not in all (see image 4).

    Image 4: Ambiguous assignment of hairpins and expressions: the expressions are both attached to the left note, while the hairpin's start and end points are both connnected to the right note

    Problem c) can be solved by only using supported music fonts (see Supported Music Fonts).
    Create the missing font annotation files to solve problem d) (Preferences->Edit->Font Annotation, then select the font and click on Auto Annotate All and then Save).
    Always use expressions to apply dynamics (problem e) - never use articulations for this.

    Collision removal on staves with lyrics (problem f) is more difficult and currently not implemented in Perfect Layout. Why? Because there is no standard way of solving the dynamic/hairpin/lyrics collisions.Sometimes the dynamics are placed on top of the staff (which is currently not taken into account for collision removal at all). Sometimes the dynamics are place before, below or above the notes.We plan to have an automatic solution available for version 2.0 of the plug-in. Until then you unfortunately need to solve dynamic collisions on lyrics staves on your own.

    Known Issues

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

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


    The Lua programming language is very limited and many functions required to run the plug-in are not accessible through Lua, but through the Microsoft Windows console (the "Black Window").
    Unfortunately it's not possible to hide this window, so it might look a bit irritating at first.
    The window is used for example for reading the font metrics.

    On MacOS these black windows are not visible.

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

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

    Usually this should not occur.
    However some situations were reported that involved several instances of different Finale® versions being open at the same time (Finale® 2014, 2014.5 and 25) and running several Perfect Layout plug-ins and one plug-in terminates unexpectedly.
    Sometimes warning messages for missing fonts also didn't make the window reappear.

    Should you notice an unexpectedly long processing time (e.g. the progress bar doesn't change for several minutes), simply maximize the Finale® window manually by clicking on the Finale® symbol in the task list at the bottom of your screen.

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

    JW Lua is a free plug-in development environment for Finale® developed by Jari Williamsson.It uses the original Finale® plug-in development kit (PDK) and gives an interface to develop plug-ins in the programming language Lua.
    The advantages of JW Lua compared to the original Finale® PDK are:
    - easy to learn
    - easy access to all Finale® functions
    - it doesn't need any other software for running the programs in Finale® (compiler, software development kit, etc.)
    - simple Finale® plug-ins can be written within a few minutes
    - platform compatible (MacOS/Windows)
    - as the original Finale® PDK isn't available anymore to the public, this is currently the only way to develop plug-ins for Finale®.

    The disadvantages are:
    - it is very slow
    - the programming language is limited, so operating system functions are difficult to access and make complex development difficult.

    Image 6: JW Lua development window

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

    Image 7: JW Lua Open File

    Navigate to your Finale® program folder and go to the sub-folder Plug-ins\JW Lua
    (e.g. C:\Program Files\Finale25\Plug-ins\JW Lua or c:\Program Files\Finale 2014\Plug-ins\JW Lua).Then select "ES Perfect Layout (for Menu).lua" and click on "Open" ("Öffnen" in the image below).

    Image 8: Select the file and click on "Open"

    Start the plug-in script by clicking on Run script or press Alt-R.

    Image 9: Starting the script

    The progress bar shows the progress of the plug-in.

    The major steps are called:
    - Initialization (e.g. Preparation for the user dialog)
    - Checking Expression Categories
    - General Preparation (e.g. Font metrics creation, font availability, check for invalid or weird smart shape connections, etc.)
    - Preparing and Resetting Parts (e.g. calculation of the start metrics, reset/hide/clear the start positions, MMRest reation, rest minimization)
    - Processing Parts (e.g. remove collisions, vertical and horizontal alignment and do most of the other features)
    - Optimizing Systems Distances (Staff and system balancing)
    - Finalization (e.g. checks that no staves have disappeared or were accidentally shifted to the next page)

    The progress bar is increased after each task that has been completed.
    It doesn't take into account that some function take much longer than others.
    For example "Processing Parts" has about 100 sub tasks: while some take only a few milliseconds, others may need a few seconds or even minutes.
    As the progress bar is not connected directly to Finale® (but through AutoHotKey and some .log files), it has a delay of up to 0.5 seconds.

    In Finale® 2014/2014.5 the progress bar can also show a red alert message when there is a huge probability that the file is too big for processing under 32bit. If the Perfect Layout crashes a bit later, then you need Finale® 25 to process the file with the Perfect Layout plug-in.

    I have noticed unoptimized or faulty expression positions and/or the vertical staff spacing is too wide.
    The plug-in has a few rules dedicated to "2-staff systems" used for example in piano, harp or accordeon notation.
    But it only works if the system is detected correctly. To be detected:
    a.) The two staves must be grouped (Staff->Group and Bracket->Add Bracket, will be automatically added when creating it through the Score Manager or the Document Setup Wizard)
    b.) You need to either give it the proper instrument name in the score; or the proper group name; or the proper staff name or abbreviation; or a piano group bracket together with the same MIDI channel; or the proper instrument ID or playback sound (see image 10).
    Make sure these are given to both staves.
    If a) and any of b) is detected, the rules will apply automatically.

    Image 10: Score Manager

    Image 11: The left dynamic expression is not automatically centered, the right one is

    The plug-in only corrects the layout, if it is very likely that this is what the engraver wanted.
    In the left image it's a bit unclear, if the mf was supposed to be below the first or the second note, although it's attached to the second.
    The Perfect Layout only centers the expression, if the horizontal offset is below the thresholds defined in the Reset/Hide settings of the plug-in:
    a.) Reset Horizontal Position of Dynamics Until Maximum Horizontal Offset: the default value is 57 EVPU.
    b.) ditto., Max. Horizontal Reset Offset for Whole or Dotted Notes: the default value is 85 EVPU.
    To check the current offset, right-click on the expression, select Edit Expression Assignment and look at the horizontal offset value.
    (In the left image below the horizontal offset is -60 EVPU, so it was 3 EVPU above the threshold.)
    Technique text expressions are currently only partially part of the collision removal process, because it is more difficult to define their best position. Usually they don't have such a fixed position as for example dynamic expressions have.Hopefully they will be included in a future release.
    However they are included in other collision detection processes: e.g. the vertical alignment of tempo marks or the vertical staff spacing takes them into account.

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

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

    There are two known scenarios where this can occur:

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

    If the last entry in "ES Perfect Layout.log" is "Checking Measure Number Regions", then the known measure number region bug has occured.Simply restart Finale® and run the plug-in again. It won't crash again unless the Finale® document was indeed corrupted.
    Should the last entry be different, please contact support to let them analyze the crash. The problem can probably only be fixed if you also submit the Finale® document.

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

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

    No, as this is very likely to be more than 100.000 items in a huge score which would be difficult to read.
    But the plug-in provides a log file which includes those items where it detected problems, discovered untypical mistakes or where it moved items (expressions, articulations, hairpins) more than "just a little bit".
    The log file can be found at Finale®'s configuration folder (e.g. C:\Users\XXX\AppData\Roaming\MakeMusic\Finale 2014). The file is named "ES Perfect Layout.log".

    This is the log file of the ES Perfect Layout Demo.musx document.
    Note: Normally there is less info in the log file, but the ES Perfect Layout Demo document includes many critical scenarios, so there are more warning messages than usually.

    Initialization, Elapsed time: 0.07

    Starting ProgressBar
    Current Document Filename:D:\eigene dateien\musik\jw lua\page layout test3.musx
    File name: D:\eigene dateien\musik\jw lua\page layout test3.musx, Elapsed time: 1.66
    Initialization, Elapsed time: 0.00
    The current settings are:
    Reflow Measures: Only Within Systems
    Reflow Systems Across Pages: Deactivated
    Manual Positioning is set to: Incorporate

    Starting MinimizeFinaleWindow
    Starting Dialogs, Elapsed time: 1.07
    Creating Staff Style: BlankNtnWRests -OthNotes -Art -Expr -Lyr -SmaSh -OthLyr...
    Checking Expression Categories, Elapsed time: 0.00
    General Preparations, Elapsed time: 0.00
    Dialogs finished, Elapsed time: 0.00
    Preparation and Resetting started, Elapsed time: 0.00
    Font metrics file must be created for Helvetica
    Loading the font 'Helvetica'... not successful. Using the metrics from the font 'Arial' instead.
    Font metrics file must be created for Times
    Expression changed from measure 54/4096 to measure 55/0 (Staff: 1/"Violin I ").
    Duplicate identical Expression 7 deleted in measure 54 position 0 in staff "Violin I " (ExprID:7).
    Layer 2 moved to layer 1 in staff "Violin I "(1), measure 9.
    Layer 2 moved to layer 1 in staff "Violin I "(1), measure 7.
    Hairpin vertical line removed in measure 5, position 0 (Staff 1 "Violin I "). Its start and end points were connected to the same measure position.
    Slur replaced with tie in part 0/Score, staff 1/"Violin I ", measure 23 (Slur item number: 3188).
    Preparation finished, Elapsed time: 0.00
    Resetting score and parts, Elapsed time: 0.00
    Preparing and Resetting Part: 0 (Score, Staff: 1 / "Violin I ", Slot: 1, Measures:1-79), Elapsed time: 0.01
    Articulation removed from rest: ID 1 in measure 18 position 2048 staff 1/"Violin I ".
    Articulation removed from rest: ID 3 in measure 32 position 2048 staff 1/"Violin I ".
    'Open tie' removed in measure 13 position 1024 in staff "Violin I ".
    Expression 3 on staff 1 ("Violin I ") was attached beyond measure duration (old position measure 6 / 5000 EDUs). It is now assigned to measure 6 / 4032 EDUs.
    Duplicate articulation removed in measure 19 position 1024 staff 1/"Violin I ".
    Duplicate articulation removed in measure 32 position 0 staff 1/"Violin I ".
    Preparing and Resetting Part: 0 (Score, Staff: 67 / "Drum Set", Slot: 2, Measures:1-79), Elapsed time: 0.00
    Expression moved (Function 3) from measure 9/384 to measure 9/0 (Staff: 1/"Violin I ").
    The expression 3 has changed its horizontal position by -58 EVPUs (see measure 28/4032/Staff: 1/"Violin I "). Please check that it is and/or was placed correctly.
    The expression 51 has changed its horizontal position by -147 EVPUs (see measure 79/0/Staff: 67/"Drum Set"). Please check that it is and/or was placed correctly.
    Preparing and Resetting Part: 1 (Violin I , Staff: 1 / "Violin I ", Slot: 1, Measures:1-79), Elapsed time: 0.01
    Measure reflow performed over systems for part 1: Violin I .
    Preparing and Resetting Part: 2 (Drum Set, Staff: 67 / "Drum Set", Slot: 1, Measures:1-79), Elapsed time: 0.00
    Measure reflow performed over systems for part 2: Drum Set.
    Reset finished, Elapsed time: 0.00
    Processing score and parts, Elapsed time: 0.00
    Processing Part: 0 (Score,Staff: 1 / "Violin I ", Slot: 1, Measures:1-79), Elapsed time: 0.32
    Stunted slur removed in part 0/Score, staff 1/"Violin I ", measure 5 (Slur item number: 3192).
    Slur over identical tie removed in part 0/Score, staff 1/"Violin I ", measure 7 (Slur item number: 3196).
    Duplicate slur removed in part 0/Score, staff 1/"Violin I ", measure 35 (Slur item number: 3206).
    DC/DS repeat element in measure 61 moved by 49 units.
    Coda/Segno repeat mark in measure 39 moved by -89 units.
    The dynamic expression 3 has changed its horizontal position by -53 EVPUs (see measure 6/4032/Staff: 1/"Violin I "). Please check that it is and/or was placed correctly.
    The dynamic expression 2 has changed its horizontal position by -67 EVPUs (see measure 9/3008/Staff: 1/"Violin I "). Please check that it is and/or was placed correctly.
    The dynamic expression 3 has changed its horizontal position by -49 EVPUs (see measure 19/4032/Staff: 1/"Violin I "). Please check that it is and/or was placed correctly.
    The dynamic expression 36 has changed its horizontal position by 72 EVPUs (see measure 40/0/Staff: 1/"Violin I "). Please check that it is and/or was placed correctly.
    The dynamic expression 33 has changed its horizontal position by 64 EVPUs (see measure 56/0/Staff: 1/"Violin I "). Please check that it is and/or was placed correctly.
    The dynamic expression 7 has changed its horizontal position by -51 EVPUs (see measure 56/4032/Staff: 1/"Violin I "). Please check that it is and/or was placed correctly.
    The dynamic expression 7 has changed its horizontal position by -51 EVPUs (see measure 59/4032/Staff: 1/"Violin I "). Please check that it is and/or was placed correctly.
    Very short hairpin found. Probably not enough space in measure 9, part "Score", staff "Violin I ". (Smartshape saved: true)
    Very short hairpin found. Probably not enough space in measure 12, part "Score", staff "Violin I ". (Smartshape saved: true)
    Very short hairpin found. Probably not enough space in measure 50, part "Score", staff "Violin I ". (Smartshape saved: true)
    Very short hairpin found. Probably not enough space in measure 56, part "Score", staff "Violin I ". (Smartshape saved: true)
    Processing Part: 0 (Score,Staff: 67 / "Drum Set", Slot: 2, Measures:1-79), Elapsed time: 0.00
    Congruent hairpin deleted in part 0/Score, staff 67/"Drum Set", measure 59, measure pos 1024.
    Optimizing System Distances..., Elapsed time: 0.00
    Part finished., Elapsed time: 0.00
    Processing Part: 1 (Violin I ,Staff: 1 / "Violin I ", Slot: 1, Measures:1-79), Elapsed time: 0.12
    Text repeat element in measure 61 is set to right justification, but currently aligned with the left barline. Please check the justification settings for optimal layout.
    Coda/Segno repeat mark in measure 39 moved by -89 units.
    Very short hairpin found. Probably not enough space in measure 50, part "Violin I ", staff "Violin I ". (Smartshape saved: true)
    Very short hairpin found. Probably not enough space in measure 56, part "Violin I ", staff "Violin I ". (Smartshape saved: true)
    Very short hairpin found. Probably not enough space in measure 59, part "Violin I ", staff "Violin I ". (Smartshape saved: true)
    Optimizing System Distances..., Elapsed time: 0.00
    Part finished., Elapsed time: 0.00
    Processing Part: 2 (Drum Set,Staff: 67 / "Drum Set", Slot: 1, Measures:1-79), Elapsed time: 0.08
    DC/DS repeat element in measure 61 moved by 49 units.
    Coda/Segno repeat mark in measure 39 moved by -89 units.
    Optimizing System Distances..., Elapsed time: 0.00
    Part finished., Elapsed time: 0.00
    Part Processing finished, Elapsed time: 0.05
    Finalization, Elapsed time: 0.00
    Plugin Processing Time: 14.56 seconds
    Close progress bar, Elapsed time: 0.01
    Some pages need more vertical space to avoid colliding staves or to insert enough space between staff systems (Page: 1). If possible, try reducing the page scale or staff height and run the plugin again.
    Plugin Processing Time:0m:17s, Elapsed time: 2.49
    Plugin finished, Elapsed time: 0.00

    The plug-in can be applied both in "Score View" and in "Parts View".
    It is very much recommended though to run the plug-in the first time in "Score View" with the whole document selected, because some main functions are only activated if the whole document is processed (e.g. expression category fixes, MusicXML improvements on expressions, some multi-measure rest unifications).
    Running the plug-in on the score also makes sure that all inconsistencies between score and parts are removed. Especially older Finale files sometimes have inconsistencies.

    If the plug-in is run in "Score View", the selected region in the parts will always be processed too.
    If the plug-in is run in "Parts" mode, the selected region in the score will not be processed.

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

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

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

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

    Although the plug-in will still improve such a score (especially expression and hairpin alignment), it is very likely that it will also remove some manual optimizations.
    The plug-in was not designed for use on an already manually optimized score that makes extensive use of custom smart lines or contemporary notation.
    It will save you more time if you run it before doing any manual optimizations (see Quickstart: How to Use the Plug-in).
    Make sure that the font file is available in OTF or TTF format and that it is installed in c:\windows\fonts.
    Especially on Windows there are some old format fonts (.fon) like Courier, System or Roman. These are not supported by the plug-in. Please don't use them.
    It's possible that the font is still not detected as Finale has an unusual way of using font names: it's different than in other standard Windows software (see our article Font Names in Finale).
    This is especially true for font names using name extensions like "... LT Std", "... MT Pro", " BT" or font weights that Finale doesn't support ("Medium", "Thin", "Black", etc.).
    Not finding the font files may also lead to long start-up times of the plug-in (with the message: Creating font annotation files...).
    In this case please contact our support team. We will try to support your font in the next plug-in update.
    The OK button is not clickable when the Finale document is larger than the plug-in edition allows:
    Silver400/Gold400 allow 400 measures and 36 (visible) staves.
    For processing larger documents you need the full Silver/Gold edition.
    Also see overview of plug-in editions.
    Yes. It's also possible to apply it to the full score/parts first, and after some minor adjustment apply it to single measures or staves.
    You will probably not get identical results when applying multiple times: the horizontal and vertical spacing might be slightly different.
    But don't forget: you will always get the best results when the plug-in is applied to the score and thus also to the parts.
    It's not recommended to run the plug-in on the score only, then generate the parts and then run the plug-in on the individual parts. Because all functions that would break linked score/part elements (like hairpins, expressions) are not activated when applied to a part only.
    1.) Please check Finale's Preferences->Edit and look at the reflow settings.Make sure "Reflow Systems Across Pages" is checked (for moving systems) and set "Reflow Measures" to "Across Systems (Remove System Locks)" (for moving measures).
    2.) Check that the pages don't have page breaks which prevents measure shifting.
    To do this select the Page Layout tool right-click on the staff system and click on "Delete Page Break" if available.
    3.) There is also a JW Lua script that can remove all page breaks with one click.
    You can download the script here. If you need help on how to use the JW Lua script "RemoveAllPageBreaks", please read this (external) "Getting Started with JW Lua" tutorial.

    Please also read the section on the Reflow settings in the "Quickstart: How to Use"-tutorial.This is a very powerful and important feature for the plug-in as it allows the plug-in to automatically layout completely unlayouted parts with one click.
    But this only works with the settings from 1.).
    if you want your system and measure layout untouched, uncheck "Reflow Systems Across Pages" and set "Reflow Measures" to "Only Within Systems" before applying the plug-in.
    If you don't use the fonts from the warning message in Finale at all, just ignore the warning message and select yes.
    If you only use the font files in other notation software (e.g. Capella, Sibelius), ignore the warning message too.
    If you have never used these fonts before in Finale, but wish to use them now or later, just ignore the warning message.

    In other words the warning message is only relevant, if you have already used the mentioned fonts in older Finale documents, because when re-opening these documents it is possible that Finale displays wrong symbols if the MacSymbolFonts.txt entry has changed.
    But it is a reversible process: if you select yes the MacSymbolFonts.txt will be automatically updated. Should you encounter any symbol problems later in older documents that use these fonts, you can simply remove the added font name manually from MacSymbolsFonts.txt later.

    Finale®'s MacSymbolFonts.txt file includes a list of music fonts for Finale's internal font handling. The program uses a different font encoding when a font is on the list. Fonts can have several encodings. This means for example if you select the character 138, a different symbol appears if the font is in MacSymbolFonts.txt or if not.

    Very often fonts have several encodings (e.g. for MacOS and for Windows) and not all of them fully work in Finale® (on MacOS and/or on Windows), so one has to test which encoding works best.

    This also depends on how you work, what fonts you use and what you need:
    While Windows is more tolerant regarding the selected encoding, MacOS very often requires the font name to be added to MacSymbolFonts.txt.
    So if a Finale® document is to be exchanged between MacOS and Windows, it is recommended to have matching MacSymbolFonts.txt files.

    Note: Unicode fonts (=fonts with more than 255 symbols like Aruvarb or November2) must never be added to MacSymbolFonts.txt, as MacSymbolFonts.txt automatically limits the number of available symbols top 256.

    The Perfect Layout plug-in currently only supports one type of encoding for each music font. That's why you will get an error message if MacSymbolFonts.txt doesn't match the encoding that the plug-in requires.
    The plug-in will automatically update MacSymbolFonts.txt if it is not compatible. After the update a restart of Finale is necessary.
    When the MacOS version of the Perfect Layout plug-in is released, the recommended font encodings might slightly change to guarantee best compatibility between MacOS and Windows.

    In general it is save to just follow the suggestions of the Perfect Layout plug-in regarding MacSymbolFonts.txt.
    But attention must be paid if you have manually adjusted font annotation files that don't mark the glyph borders, but have user-defined borders that don't match the glyph borders (for whatever reason ... usually this is not recommended and not necessary):these font annotation files are not compatible with a changed encoding and need to be recreated.
    If your accidentals become like this (i.e. the bottom accidental colliding with the notehead in the right image):

    this may be the result of a very old Finale file (created before 2004).
    To fix this go to Document Options->Accidentals and activate "Use cross-layer accidental positioning" before running Perfect Layout.
    The plug-in supports nearly all main music fonts (more than 470).
    More than 300 of the supported fonts/font families can be seen in the highly recommended Elbsound Music Font Comparison tool.

    What does "supported music font" mean?
    First the plug-in needs to know if a font is a music font, a chord font, a symbol font or a text font.The plug-in currently knows more than 1200 of these font names (see font list here) and assumes that every unknown font is a text font.
    For some tasks of the plug-in it is also important to understand what a symbol from the font means (i.e. the semantics).A fermata requires a different handling than a dynamic symbol.
    The plug-in uses both the expression category names and/or the "description of the music symbol" for its detection.
    About 1200 symbols from more than 470 music and chord fonts are described in the plug-in's music font database.
    If a symbol is not described, it might be excluded from some of the plug-in's tasks.

    There are however a few commercial music fonts that are officially not supported yet as we didn't get free samples in time to include them.But they will probably work as well as they are all (nearly) Maestro-compatible.
    These are:
    - Font Shop's Urtext fonts,
    - the hadnwritten fonts by NorFonts,
    - the MTF fonts by Music Type Foundry.

    If your music font is not supported yet, but Maestro-compatible, it is very likely that the plug-in will work without problems.If you want other music fonts to be supported, please contact support. For a small fee it is possible to include your font in the next release.

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

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

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

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

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

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

    With Perfect Layout you can easily create scores with a professional look. Professionals calculate in working hours.
    80% of our v2.0 beta users reported that Perfect Layout saved them 20% or more of their overall Finale working time. One third even reported that it saved them more than 25% of their time (see image below from the v2.0 beta test survey from January 2021).
    And the plug-in creates a more balanced output than you could achieve manually in that time.
    So if you save one day per week for layout tasks (with a 20,- Eur per hour rate - which is still pretty low), even the Gold version of the plug-in has already paid off after less than one month of usage.

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

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

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

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

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

    Here is a PDF comparison of a pre-Finale 26 document imported into Finale 26 and processed with the plug-in: once with "Enhance Positioning" selected, once with "Keep Positioning".
    Write us a mail and let us know what you would like to see in the next update of the Perfect Layout plug-in.

     Features of "Perfect Layout" for Finale®

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

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

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

    Feature Overview with Before/After Images

    Perfect Layout: Feature Overview

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

    Image 2: Automatic score balancing

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

    Feature Overview

    - Removes collision of hairpins with slurs, ties, notes, articulations (except with articulations between the start/end note of top slurs)
      , expressions, barlines and repeat brackets (below staff only). (mm.4, 6, 9, 15, 19, 29/30, 43, 55,etc.)
      - Removes collision of (standard) articulations with (one!) other articulation on top of the staff, with slurs (only if connected with start or end note of slur), ties and dynamic expressions. (mm.1, 2, 4, 7, 35, 37 / m.1)
      - Removes collision of dynamic expressions with slurs, ties, repeat brackets, notes, accidentals and barlines (below staff only). (mm.6, 22, 23, 24, 28, 51, 52, 54, 56, 59)
      - Removes collision of trill line smartshapes with up/down bow articulations. (m.37)
      - Removes collision of text repeats and notes, articulations and multi-measure rest numbers (on top of the staff only). (m.61)
      - Removes collision of ottava and trill lines (not custom line trills) with notes, accidentals and articulations (on top of the staff only). (m.23)
      - Removes collision of rehearsal mark letters, rehearsal mark texts and tempo mark text expressions with notes, articulations and left-aligned chord symbols. (mm.4, 25-38, 58)
      - Removes collision of voice 1 note with voice 2 articulation. (m.25)
      - Removes collision of Voice1/Layer1 dynamic expressions with Voice2/Layer2 notes). (m.25)
      - Removes collision of glissando lines with accidentals and augmentation dots (together with optimized vertical alignment). (m.40)
      - Tremolo articulations on whole notes are corrected. (m.59)
      - Not all slur parameters are currently supported, unsymmetric slurs may still have tiny collisions.

      Each collision system just checks the collisions of two individual elements. It is not a general collision avoidance system that checks all surrounding elements and calculates the best spacing solution. In most cases this system works fine, but from time to time there are situations where the suggested solution is not the optimum.
      - Expressions and hairpins are aligned horizontally and vertically, and, if necessary, corrected in its measure position according to a great number of (notation) rules that try to achieve a visually balanced, musically clear and collision-free look.
      - Hairpins and dynamic expressions below the staff are aligned vertically (expressive text in conjunction with dynamic expressions also). Vertical alignment is reset after a few measures, a certain distance and on each new system. (mm.3/4, 8-10, 12-14, 15-16, 24-30 and more)
      - Dynamic expressions and expressive text on the same measure position are aligned horizontally and vertically. (m.53)
      - Adjacent hairpins and dynamic expressions are connected with a small visual gap in between. (mm.6, 9, 10, 12 and more)
      - Moves dynamic expressions slightly up on systems with slash staff style measures where no other object goes below the bottom staff line. This reduces unnecessary space e.g. on drumset parts with lots of slash notation. (mm.63)

      - Moves dynamic expression up on slash staff style measure with invisible very low notes. (mm.65)
      - Positions dynamics expressions in the centre below the note. (mm.1, 3 and more)
      - Corrects vertical alignment of hairpins with line breaks (i.e. two alignments necessary). (mm.14/15)
      - Dynamic expressions attached to very low notes and shifted left and upwards are kept on that position and will not be centered below the note to avoid very low dynamics. It doesn't work the other way round yet: centered dynamics on very low notes are kept on the centered position and will not be shifted left and upwards. (m.32)
      - Alignment of expressions is content-dependent (e.g. pp and mf get a reduced vertical offset value compared to fff, so that the actual distance to a note or articulation is identical).
      - Corrects wrong horizontal position of a niente hairpin expression under a rest. (m.68)
      - Tempo marks, tempo alterations and rehearsal marks are aligned horizontally. (mm.4-7)
      - Tempo marks, tempo alterations and rehearsal marks can be aligned vertically.
      Two different modes are available:
      a) minimum distance to staff (each mark is aligned individually)
      b) align according to highest offset (all marks are vertically aligned according to the highest mark). (mm.25-38)
      - Centered "più ff" expressions become quasi right-aligned. (m.59)
      - Centered "ff sub." expressions become quasi left-aligned (same for poss., s(i)empre, espr., secco, etc.). (m.40)
      - Moves expressions connected to a centered "real" whole rest to other layers' notes on measure position 0 if available. (m.49)
      - Numbers from the Finale "Number Repeated Measures" plugin are centered. (m.45)
      - Moves an expression that is assigned to "All Layers" to another layer if layer 1 is invisible. Otherwise Finale doesn't do a correct vertical alignment. (m.58)
      - Moves dynamic expression from the end of the measure to next measure's position 0 if it either has a huge horizontal offset to the right or if the note on measure position 0 is tied backwards. (m.54/55)
      - Slurs at line breaks which end with high notes will be re-aligned, for example when a run with a slur ends on the next system (This feature is implemented, but only works on manually adjusted slurs because of a JW Lua bug). (m.14)
      - Harp glissando optimization can be achieved with the Elbsound Harp Glissando plugin (mm.40)
      - Creates multi-measure rests in score and parts if they had not been created automatically yet. (mm.41/42 and (mm.62-71)
      - Can remove multi-measure rests in measures that have non-MM breaking expressions and/or hairpins. (mm.14/15)
      - Removes multi-measure rests in parts if the measures have changed after the first MM rest creation. (mm.51/52)
      - Moves multi-measure rest numbers slightly down on 1-line staff measures. (mm.73-75)
      - Shows/hides measure number ranges below multi-measure rests if the multi-measure rest has a defined length. (hidden mm.41-42, shown mm.72-77)
      - Updates all multi-measure rests to the current style from the multi-measure rest document settings (e.g. change from shape to symbol). (m.72)
      - Updates the settings of measure number ranges to valid values (centered, below, square brackets)
      - GP (=Generalpause) expressions are detected and split MM rests. (m.42)
      - If a multi-measure rest ends with a clef change, then the MM rest will be reduced in size to avoid collision between the MM rest and the clef. (m.42)
      - A measure number group below the MM rest will also be shifted slightly to the right to match the new position. (m.42)
      - Hairpins are connected, if possible, to adjacent note entries or notes with dynamic expressions for optimal playback. (mm.4, 6, 9, 10, 12 and more)
      - Moves hairpins that are attached to rests to note before, otherwise the Finale 2014 hairpin playback doesn't work correctly. (m.13)
      - Lets hairpins start slightly right to a note/rest and lets them end slightly before a note/rest. (mm.4, 13, 9, 10 and more)
      - Shortens hairpins that end on measure position 0 of the next system to end on the last beat of the last measure of the previous system, in order to avoid hairpin line breaks (but for optimal playback this should not be done, it's just for visual reasons)
      - Automatically resets hairpin horizontal break offset to 0, so that they align with measure start and measure end. (mm.14/15)
      - Support of "niente" hairpins: automatic connection of hairpin with any niente ("o") text expression or a niente text ("niente" or "quasi niente") (currently restricted to one niente hairpin per measure). (mm.66 and 67)
      - Can auto-connect to the next/previous note if it is close enough. (m.34)
      - Hairpins can be made horizontal. (m.34)
      - Hairpins can be resized to the default opening width. (m.13)
      - Hairpins that start on measure position 0 before the note can be reset to a horizontal offset of 0. (m.3)
      - Hairpins that end on a rest are shortened to the start of the rest (if not followed by a note with a dynamic expression). (m.13)
      - Hairpins that end in the middle of an empty measure are shortened to the end of the previous measure. (mm.59/60)
      - Puts articulations on rhythmic and slash notation measures on top of the staff (except for those marked as "Below Note") (mm.19-22)
      - Moves articulation on high-pitched grace notes from below staffline to above the note. (m.59)
      - Combinations of two symbol staccato/tenuto plus accent articulations are correctly aligned on articulations above the notes (not supported below the note yet).
      - Creates inside slur articulations if necessary for collision with steep slurs (but not if there are multiple articulations on that note). (m.12)
      - Changes certain shape articulations with helpful descriptions in the shape definition to character articulations.
      For example, different staccato dot articulations may have a shape symbols of their duration, i.e. 30%,50%,75%, etc. The shape is great for the score/playback creation process, but for printing it will be reverted to the staccato dot character. (m.39)
      - Puts tuplets on notes with lyrics on top in order to avoid collision with lyrics on bottom. (m.18)
      - Puts tuplets over one line (percussion) staves on top in order to avoid collision with dynamics on bottom. (m.43)
      - Optimized tuplet and/or default values from the tuplet preferences can be applied to all tuplets. (m.33)
      - Tuplets on extreme notes can be moved on top of the notes instead of staying on the stem side. (m.60)
      - Tuplet brackets on quarter note tuplets (and higher) can be hidden (turned off by default).
      - Nested tuplets are split: the main tuplet will be on the stem side, the sub tuplet on the note side.
      - Splits fake tuplets where the first half of a tuplet is a regular note (e.g. dotted eight note plus three 16th notes in a 8th note triplet become eighth note plus three 16th notes in a 16th note tuplet). (m.55)
      - Optimize tuplet numbers: if the tuplet number doesn't match the longest/shortest note duration, it can be adjusted (e.g. 6 16th notes with a tuplet number 3 (i.e. 3 8th notes), get a new tuplet number 6). (m.58)
      - Missing tuplet brackets are added if it simplifies reading (e.g. within a group of beamed notes without secondary beam breaks).
      - Moves typically right-aligned text repeats to the right border of the measure (D.C., D.S., Fine, etc.). (m.61)
      - Moves typically left-aligned text repeats to the left border of the measure (Coda, Segno, etc.). (m.39)
      - Unifies vertical offset of all text repeats.
      (mm.39, 61)
      - Repeat brackets will horizontally (not vertically yet!) aligned with their starting/ending measure.
      - Moves a system starting with a "Coda" rehearsal mark slightly down in extracted parts. (mm.62-71)
      - Adds 5-line staff symbol at the end of a measure if it is a 1-line staff measure followed by a 5-lines staff with a new clef. (m.48)
      - 1-line staves have different distance values or baselines than 5-Line staves (for example dynamics can come closer to the staff line). (mm.43-48)
      - Minimizes the distance between the top lyrics baseline and lowest note and articulation. (mm.5, 17-18)
      - Fixes the distance between multiple lyric baselines of the same type (unless multiple different lyrics types and numbers occur in one measure). (m.5)
      - Removes vertical offset from manually adjusted syllables. (m.5)
      - Removes invalid syllables.
      - Removes invalid lyric flags.
      - Broadens measures with condensed hairpins to improve the hairpins visually. (m.12)
      - Sets slash style measures to time signature spacing. (mm.21, 63-67)
      - Sets slash style measures with visible offbeat notes in other layers to note spacing.
      - Removes uneven slash measure spacing caused by non-hidden, but invisible notes. (mm.21, 64)
      - Apply music spacing to full score (turned off by default).
      - Adaptive spacing for chord symbol collisions: measures with chord collisions are set to "Avoid chord" collisions in spacing, others are set to not use it. (mm.13, 14, 34)
      - Reduces the measure width in blank notation style, slash and repeat style measures with individual values for minimum measure widths.
      - Adaptive spacing for blank notation and repeat styles measures: if the staff is very crowded, these special measures will be squeezed more. (m.11)
      - If a measure holds a preparation clef for the next measure, the measure will be broadened and extra space at the end added if there is a collision with a note entry or a slash symbol (from the slash staff style) in that measure. (mm.24, 48)
      - Inserts additional beat chart elements to measures if necessary for improved spacing (e.g. in a measure with one whole note, but several hairpins or expressions: (m.56))
      - Relinks all expressions, articulations and hairpins from the parts with the score before further processing (older Finale documents can have expressions attached to different beats in score and part which might confuse the alignment). (m.39)
      - Clears manual positioning of articulations, dynamic expressions, rehearsal marks and tempo expressions. (m.24, 52 and more)
      - Removes unneccessary articulations on rests (e.g. if staccato dots were copied to rests with the explode function. Allowed articulations like a fermata remain.). (m.18, 32)
      - Removes duplicate articulations of the same kind on the same note (resulting for example from staff implode). (m.32)
      - Removes duplicate (nearly) identical expressions at the same position. (m.54)
      - Removes duplicate (nearly) identical hairpins at the same position. (m.59)
      - Removes duplicate (nearly) identical slurs. (m.35)
      - Corrects dynamic expression placement at the beginning of a pickup measure.
      - Non-opaque expression enclosures with line width 0 will be removed.
      - Right-aligned multi-measure rest breaking expressions are duplicated and also stored in measure 1 of the multi-measure rest, so that they don't disappear anymore at the end of the mm rest.
      - Separated "f" and "p" dynamics on a note will be connected to "fp". (m.48)
      - Resets manual accidental shifts (turned off by default).
      - Unisons are slightly separated.
      - Warning message is issued when the pickup measure is set to a value less than 32 EDUs (which may result in undesired symbols being displayed).
      - Apply optimized tie preference settings. (m.61)
      - Apply optimized slur preference settings.
      - Measure numbers on measures with "space before music" (i.e. key or time sig changes) can be shifted to the left to appear directly above/below the barline (instead of at the beginning of the music). (m.16, 68)
      - Removes (unnecessary) accidentals from backwards tied notes. (m.51)
      - Sets tempo marks, tempo alterations and rehearsal marks to "break multi-measure rests".
      - Tempo alterations can be optionally be hidden under multi-measure rests.
      - Tempo alterations are hidden at the end of a piece, if no note entries follow.
      - Can optionally hide tempo alterations in MM rests (turned off by default).
      - Split three beamed eighth notes in pickup measure to one eighth note plus two beamed eighth notes.
      - Removes 'open ties' (i.e. tie starts that don't have a corresponding tie end). Laisser-vibrer staves like harp, timpani, cymbals or vibraphone are ignored. (m.13)
      - Close hairpins are "connected" with a gap. (mm.63-68)
      - Assigns noteID to entry-based glissando lines that are connected with a note, but have no noteID.
      - Sets vertically moved rests to standard position if it is a one-layer and one-voice measure. (m.7)
      - Detects text expressions assigned to invalid categories and moves them to "Miscellaneous".
      - Invalid expressions are deleted (i.e. if the expression ID doesn't exist anymore).
      - Certain smart lines will be placed at a fixed vertical position on top of a staff (for example Fill-in-------¬ on drumset staves). They will also be aligned with right before the barline if they are close. (m.66)
      - Deletes empty pages at the end of a part. (m.68-71 - not visible)
      - Corrects expressions that are connected to a slightly wrong measure position (e.g. Pos 32 instead of 0) to the correct position (this occurs especially in older Finale documents). (m.9)
      - All single grace notes get slashes. (m.59)
      - All single grace notes become 8th notes, all multiple grace notes become 16th notes.
      - Rests are checked if they match the time signature and otherwise splitted/merged and the measures respaced (not in measures with the different notation styles as in m.49). (mm.23, 50, 51, 57, 61)
      - Invalid composite time sigs that are actually non-composite time sigs are included in the rest check for time signature matching.
      - Rebar is optionally possible (same as Utilites->Rebar, turned off by default because of its side effects on quantization)
      - Measures can optionally be padded with rests if incomplete (turned off by default, in order not to pad layers that are incomplete on purpose)
      - Removes stunted slurs that start and end on the same note/position. (m.5)
      - Removes hairpins that start and end on the same note/position. (m.5)
      - Deletes invisible articulations with invalid articulation definitions (i.e. those articulation definitions that were already deleted).
      - Expressions that were assigned beyond measure duration (e.g. position 4096 EDUs in a 3072 EDUs measure) are corrected and assigned to the best fitting note position where they are currently visible. (ff in m.6 was actually assigned to measure 7)
      - Manual adjustments of slurs can be removed. (m.24)
      - Accidentally flipped hairpins that start and end in the same measure are corrected.
      - Accidentally flipped ties are corrected if there are no voice2 entries and no entries in other layers (only if the FlipTie flag is used, not with the Special flag). (m.54)
      - Accidentally flipped/frozen stems are corrected if there are no voice2 entries and no entries in other layers. (m.31)
      - Voice2Launch flags are reset if there is no voice2 on that beat. This also corrects the direction of wrong stems and slurs. (m.8: the wrong flag results in an upsidedown stem)
      - Corrects messed up measure number region indices.
      - Removes slurs that double ties. (m.7)
      - Replaces slurs with ties if slurs were applied accidentally. (m.23)
      - Dynamic expressions which are assigned to non-dynamic categories are automatically shifted to 'Dynamic Expressions'. (f in m.12)
      - Typical expressive text expressions which are assigned to non-expressive text categories are automatically shifted to 'Expressive Text'. (legato in m.52)
      - Typical tempo mark text expressions which are assigned to non-tempo mark categories are automatically shifted to 'Tempo Marks'.
      - Typical tempo alteration text expressions which are assigned to non-tempo alteration categories are automatically shifted to 'Tempo Alterations'. (A tempo in m.79)
      - Measure number expressions which are assigned to the "Miscellaneous" category can be shifted to "Rehearsal Marks".
      - Slurs can be updated from on/off to automatic engraver slur. (m.38)
      - Slurs not connected to the end note of a series of tied notes will be connected to the end note (except for grace note slurs). (m.59)
      - Invalid invisible slurs (attached only to one entry instead of two) are deleted.
      - Wrong SmartShape flags in measures are cleared.
      - Wrong Expression flags in measures are cleared.
      - Wrong Special flags in note entries are cleared.
      - Wrong Articulation flags in note entries are cleared.
      - Manual positioning of notes can be cleared. (m.5)
      - Group brackets can be automatically added on groups with at least 3 staves (and bracket set to none).
      - Moves entries that were accidentally placed on layers 2-4 to layer 1. Cue notes, non-playback layers, or notes under alt notation staff styles are not moved. (m.7,9)
      - Hairpins with a start or end measure position greater than the acutal measure duration are reset to the measure duration.
      - Hairpins that end after the last measure are reset to end in the last measure.
      - Horizontal custom smart lines are forced to be horizontal. If you don't want that feature, uncheck "Horizontal" in the custom smart line definition. (m.66)
      - Cue notes get all stems down/up depending on the placement of the whole measure rest. (m.11)
      - Cue note instrument texts move below the staff. (m.11)
      - Cue note instrument texts are connected with the first note of the cue (instead of rests). (m.11)
      - Assigns cue note instrument text to the same layer as the cue note, so that they have a reduced size as the cue note. (m.11)
      - Hides "cue notes only"-measures in the score and applies an "Blank Notation with Rests" staff style. (m.11)
      - Hides "100% sized"-cue notes that were only created to have 100% sized lyrics with a "Blank Notation: Layer X" staff style.
      - Cue note text expressions (e.g. "(Fl.)") without notes can now break multi-measure rests. (m.68)
      - If an "empty" pick-up measure holds a cue note clef change only, the width of the measure will be fixed so that the clef is displayed correctly
      (i.e. this is necessary if a part starts with a clef followed by a cue note clef which can only be handled with an empty extra measure)
      - Hairpins, custom line and trills can be hidden in cue measures (m.11)
      - All measures with notes on a certain layer are set to blank notation on that layer (for example to remove playback only layers or playback for cue notes). (m.11)
      - Hides unnecessary group names that are also part names (e.g. Piano or Harp).
      - Hides chord symbols on selected staves in the score, but shows them in the parts (to reduce complexity in the score). (m.63)
      - Hides rehearsal mark texts that have the same text as the lyrics in that measure. (m.5)
      - Hides all expressions in the score that are only to be shown in page view (e.g. harp tuning or solo markings) based on user-defined expression categories. (m.16)
      - Hides instrument-specific articulations in the score that are only to be shown in the parts to reduce complexity of the score (e.g. up/down bow). (m.1, m.1)
      - Adds automatic measure counting to slash measures (every xth measure and after double barlines). (m.63-67)
      - Add automatic measure counting to one-bar repeat measures (every measure, optionally in parts only (see m.45)). (m.44-46)
      - The plugin runs over the score AND all linked parts in one go, making different adjustments in the parts and score (e.g. vertical alignment of dynamics/hairpins has different results on the score and the parts as their staff systems include different measures).
      - All the functions mentioned above can be switched on/off and have many parameters.
      - The plugin uses the same font database as the House Style Changer and recognizes music symbol and glyph spacing from more than 300 music fonts. (mm.24, 30, 51, 52)
      These issues can't be fixed because of limitations in JW Lua or Finale, or they will be fixed in a future update.

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

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