Version 6.20.0.1 (11975.11975)
Bug Fix
- The Move Non Audio Files statement could delete a file if the following conditions existed: The source and destination folders were the same; an explicit rename was specified; the old and new filenames differed only in alphabetic case; preserve files was not enabled.
Version 6.20 (11974.11962)
The Multi Field Editor
- The Actions Tab
- There is a new control at the top which lets you filter the displayed actions by Action grouping.
- The Copy Tab
- The Copy function can now also be used to split a field at a pattern, such that the destination gets the text prior to the pattern and a specified remainder field gets the text after the pattern.
- The Replace Tab
- Regular expressions can be complicated to write. Recreating the regular expressions each time you want to use them can be a pain. When on the Replace tab and Regular Expression is selected, there will now be a blue action button which is displayed. Clicking on the action button will allow you to generate an action which can be reused.
- Two forms of an action can be generated:
- The first form is a Multi Field Editor action. The action will be displayed in the Multi Field Editor on the Actions panel. When executed, the saved regular expression will be applied to whatever fields are specified. The action must be run from the Multi Field Editor or from a field's function button.
- The second form is a stand alone action. ie. they must be run external to the Multi Field Editor. When executed, the saved regular expression will be applied to the fields which were specified when the action was created.
- Both forms of the generated actions will have a grouping of Regex.
- The description of the generated actions will display how the regular expression is configured. (Description from the context menu or spacebar).
Debugging Actions
- Major changes have been made to assist in the debugging of actions.
- Stepping and breakpoints have been implemented.
- The debug panel has been reworked to always display the action test state and the action debug state. The values can be toggled by clicking on the displayed status icons.
- The Actions menu has a new Debug menu item which can be used to break into an executing action. The Debug panel will be displayed. The same functionality is also available as a toolbar button.
- The debug panel has a new control which allows you to perform various functions to step through the statements in an action.
- Breakpoints can be set in Action Editor windows ... even while an action is running.
- The debug panel always displays whether breakpoints are enabled or not. You can change the state.
- Breakpoints are automatically enabled when running an action from an Action Editor window or when Actions>Debug is used to break into an executing action. Breakpoints can be manually enabled whenever the debug panel is displayed.
- Additional information can be found in the Debugging Actions help topic. Note that a bookmark named Debugging Actions has automatically been created on the Help>Search Yate Help panel. The bookmark can be removed if you wish.
Copy and Pasting of Column Text
- The main window's context menu has menu items to copy and paste multi row text from and to a clicked column.
- Additional information can be found in the Copy and Paste Column Data help topic. Note that a bookmark named Copy and Paste Column Data has automatically been created on the Help>Search Yate Help panel. The bookmark can be removed if you wish.
The Action Manager
- An action can now be associated with Apple Apps. When this association exists, the action will appear on an Actions submenu on the Apple Apps menu. This is a convenience to quickly locate actions which are designed specifically to interact with Apple Apps.
Action Editor Windows
- Breakpoints can be set, cleared and toggled via the context menu's Breakpoints submenu.
- Breakpoints can be set or cleared on a single statement by double clicking in the line number column.
- The Enable / Disable Statements and Enable / Disable Debug Statements context submenus have been merged into a single Enable / Disable submenu.
- Find panel changes:
- You can now search for statements marked as debug and breakpoints.
- The Debug button has been renamed Debug Stmt. Items marked as debug are no longer returned by this button.
- There's a new Any Debug button. It will search for Debug statements and any statement marked as debug or which has a breakpoint.
- You can enable or disable immediate searches via the new Find immediately setting displayed in the panel.
- All action statements relating to the editing state have been moved to a new category named Editing State.
The Discogs and MusicBrainz Wizards
- The release details import items table's context menu previously had a menu item named The Import Settings Manager.... The menu item has been replaced with a Saved Import Settings submenu.
- The submenu provides access to the Import Settings Manager and also lists the names of all saved import settings. Clicking on a name loads the associated settings. This is a convenient way to quickly load saved import settings without having to display the Import Manager.
Discogs
- When extracting data from Discogs the following additional metadata items are now available:
- Community have
- Community rating count
- Community rating average
- Community want
- Date added
- Date changed
- Lowest price
- Number for sale
- Video URLs
Settings Changes
- Additional granularity has been added to the Editing State section. When automatically updating the editing state before an action is run, you can disable the update for the auto-run on save action.
- Audio-FLAC/OGG now supports the writing of the Track and Disc values as a combined field with the associated totals. Note this feature is only provided for compatibility reasons with one other tagger and should not be necessary for most users. Note that Yate always read the combined values.
Action Statement Changes
- The List Manipulate statement's Union and Intersection functions have a new Cumulative option. When enabled, you're taking the union or intersection of a list in a track variable across all active files.
- The List Manipulate statement has a new Randomize function.
- The List Contains Test action statement has been renamed Test if a List Contains an Item. The statement can now save the results by doing a Set, And or Or to the action test state. Per file results can also be saved to a track variable.
- The Re-encode statement has a new function named Escape for Container Directed Path.
- The Sort Container Array statement can now specify a sort of Ascending, Descending or Randomize.
- The Write Text File statement can specify the encoding at runtime.
Resource Actions
- There is a new action named Remove from Apple App Playlist. The action can remove linked tracks from a selected playlist or all playlists.
- The m3u Suite has been updated to include actions to remove or add selected tracks from/to m3u(8) files. There is also an action which reandomizes the track order after adding tracks.
- These and other actions can be found on the Yate resources page.
Bug Fixes
- The List Numeric Functions statement was completely broken at some point. This fix will correct the total track time displayed by the HTML Track Display web resource action.
- The Remove from Apple App Playlist statement might have thrown errors when more than one track was removed at a time.
- The Yate>Warn Before Quitting menu item on the old Mac version was not updating it's icon immediately.
- The Read Text File statement was setting the Read Text File Encoding named variable to a localized version of the encoding. This made it impossible for an action to do generalized testing for the encoding type. The encoding names are now as they appear in the list of encodings menu: ASCII, Cyrillic, Greek, Latin-1, Latin-2, Turkish, UTF-8, UTF-16, UTF-16BE, UTF-16LE, WinLatin-1, WinLatin-2.
- When effectively constructing a list with Build List-Raw or Repeat With-Initial, leading and trailing spaces in the named variable were removed. This could have resulted in a cropped first or last element in the list.
- The Stop Action and Filter Files statement was beeping if loaded files were closed and no other functions were performed.
- As documented, the Stop Action and Run Batch Processor statement required all specified folders to be absolute. This could cause issues in the Create Database Utility actions as they coerce paths to be relative to the home folder. The statement now eliminates leading ~ sequences and resolves symlinks.
Version 6.19.0.1 (11878.11852)
Bug Fix
- The Multi Field Editor's Exchange function had a vulnerability which could cause a crash.
Version 6.19 (11877.11852)
Settings vs. Preferences - Oh My!
- When macOS Ventura was released, Apple automatically renamed the application Preferences menu item to Settings. As most of our user's are current on macOS, we've decided to bite the bullet and make the few UI changes and thousands of help changes to use settings.
- If you're on a version of macOS which predates Ventura, you will notice that the Yate>Preferences menu item will now be named Settings.
- Almost all references to Preferences will become Settings for all users.
- This is a summary of the UI changes:
- Preference Lists are now called Application Lists which actually makes more sense as it differentiates the lists from text lists created in actions.
- Preference Sets are now called Application Sets.
- The Indirect Preference List named variable is now named Indirect Application List. Named variable Indirect Preference List usage will still work as it is redirected at runtime.
- The Preference Management action statement has been renamed to Application Settings Management.
- The Fill Lists action statement has been renamed to Fill Application Lists.
- The Preference List Item Functions statement has been renamed Application List Functions.
- The Modify Preference Settings statement has been renamed to Modify Application Settings.
- The Preferences category in action editor windows has been renamed Settings.
- etc., etc., etc.
Multi Field Editor
- The Multi Field Editor has a new set of functions grouped under Credits.
- These functions only operate on the Involved People or Musician credits fields. The source field is specified in the panel. The list of fields is ignored and is disabled.
- The functions operate on all selected files even if the fields have different values.
- The following functions are provided: Remove credits; Remove people; Remove credits for people; Add credits; Combine credits; Rename Credit and Rename Person.
- As the functions will often to be used to modify files which have mixed values, a preview button is available which displays the current values for Involved People and Musician Credits in the Log Viewer. The preview is persistent and will automatically update. For additional information do a Help>Search Yate Help and search for Involved People/Musician Credits Preview.
- When the Multi Field Editor is launched from the Involved People or Musician Credits function button, the Credits function is automatically selected and the source field is automatically set.
- There is a new 🌐 button at the bottom left of the window. Clicking on the button will run the Action Updater. Actions targeted to the Multi Field Editor will always be listed (even if installed). This is a quick means of checking for new Multi Field Editor specific actions.
- There are new Multi Field Editor actions available which extend the Copy functionality to UDTIs and named Comments.
Main Window Function Buttons
- The same preview functionality as in the Multi Field Editor is also available from a Preview item on the function button menu for Involved People and Musician Credits.
Metadata Archives
- The Yate Export and Import functionality works on individual files. The new Metadata Archive functionality works with archive files (.yatearchive filename extension). The functionality is implemented via actions.
- If you open a .yatearchive file in the Finder, Yate will display the contents of the archive in a database viewer.
- The actions are invoked by UI based menu items on the File menu on an Import/Export submenu. The supplied actions can also be accessed via other actions and the batch processor.
- Functionality which requires the actions will prompt for their installation. The Help menu also has a new item which will install and/or update the actions.
- Additional information can be found by doing a Help>Search Yate Help and searching for Metadata Archives.
Settings
- The Settings - Database - Appearance panel has a new control to set a default font size to be used.
- The Settings - Database - General panel has a new control to repair .tsv files, incorrectly modified by Excel, when opened. Depending on the content of a cell, Excel may enclose it in double quote characters and escape double quote characters as if they were in a CSV file.
- The Settings - File List - UD text column mappings panel has been renamed UD column mappings. These columns can now be mapped to UDTIs or named main window filters.
- Settings - MusicBrainz - General - Append secondary types when importing Release Type will be initially enabled on new installs.
File to Tag Templates
- You may have filenames which specify a disc-track sequence as ddtt or dtt where dd or d is a disc number and tt is a track number. The token named
❨{Disc}Track❩
can handle this sequence. If exactly three or four decimal digits are present, the extraction will be split directed to the Disc and Track fields. If not,
❨{Disc}Track❩
is treated as
❨Track❩
.
Calculated Main Window Columns
- All Yate main window columns represent values in a track at the time the column is displayed. It is now possible to configure a column to represent true or false based on a calculated value.
- The Settings - File List - UD column mappings panel now allows you to map one of three columns to a named main window filter. The filters are defined and saved in the main window's filter panel (Edit>Find).
- When mapped to a filter, the filter is run whenever a value is required to display. The column will display ✓ if the filter matches or empty if it does not.
- One example would be constructing a filter to test if the Lyrics field is non empty. If the filter is named Has Lyrics, the column will have the same name and will display the appropriate values.
Search Yate Help
- You can now create bookmarks to topics on the search panel.
The Discogs Wizard
- Previously only tracks which were part of an index set could be split into separate tracks for importing.
- Any track can now be split by editing the title using {space} - {space} as a marker for split locations.
The MusicBrainz Wizard
- The MusicBrainz Release Type could be configured to contain all secondary release types. This release allows you to automatically extract two types to tags.
- There is now an import setting for Live. It will be imported to a normalized UDTI named Live or a custom field of the same name if it exists.
- There is now an import setting for Single. It will be imported to a normalized UDTI named Single or a custom field of the same name if it exists.
The Custom Panel Editor
- When dragging panel items, the cursor will change when the Shift key is pressed to change the insertion from top-left to bottom-left.
- When dragging panel items, the cursor will change to reflect an invalid drop.
Edit Panel Preset Buttons
- When dragging a preset button, the cursor will change to reflect an invalid drop.
The Action Manager
- Every action editor window displays an icon on the window's header to the left of the action name. Right clicking on the icon will display a menu containing each path element in the Action Manager to the displayed action. Clicking on a menu item will open the Action Manager and will position to the clicked component.
- The Action manager's table column header now has a context menu to autosize the columns.
- Regardless as to how you resize the columns, the name column will occupy all space in the window unused by columns.
Mac Security & Privacy Accessibility setting
- Yate needs accessibility privileges in order to perform various tasks.
- The application will now prompt you when it starts if for any reason, it does not have accessibility privileges.
Databases and Restricting Actions
- The db+ and db- keys can be specified in an Action Runtime Setting set to restrict the usage of the associated action in database files.
- You can now also specify a setting named track only. When set to 1 or true the action will only be accessible in track databases.
Player Interfaces
- If you are use the File>Open File Playing In interfaces, the bundle on the resources web page in the templates section was updated on 2024-02-23. Changes were made to the VLC interface.
- Player Interface Files (.yatepi) can now be installed from the File>Open File Playing In menu; via File>Open; by opening in the Finder or by dragging the files to the main window's file list area.
Action Statement Changes
- The Access Discogs and Access MusicBrainz statements can specify the name of an import set at runtime.
- The Artwork to Folder statement can now specify the delimiter to be used when appending items to the filename.
- The Copy/Delete/Move Non Audio File statements support inclusion and exclusion lists. In previous versions, elements in the lists had leading and trailing spaces trimmed. ie. only contained spaces were significant. This was somewhat limiting. All new statements of these types now preserve all spaces. Statements produced by earlier versions are not modified and act as they did prior to this update. The statements are identified by a ,trim lists suffix in their description. There is also an Update button to update the statements if you wish. Note that if a list item is visually empty, it will not be processed.
- While all Extract IDs from Prompt Container statement modes, establish set row references (see Prompt from Container below), there is a new mode which only establishes the references.
- The File Path Manipulation statement's Resolve Path function now resolves aliases as well as symbolic links.
- The Get Artwork from Cover Art Archive and Get Artwork from Discogs statements now set named variable Action Error Text. They both also will now suppress the display of error messages if named variable Suppress Error Display is true.
- The Get Info statement's Application Settings mode can now return the value of the Abbreviate Path setting.
- The Get Info and Modify Application Settings statements can now return and modify the values of Discogs and MusicBrainz Artwork-Import All Artwork settings.
- The Involved People/Musician Credits Functions statement can now rename credits and people and can specify a post function sort to be performed.
- The List Manipulate statement's Identify Duplicate function has new Ignore filename extensions and Ignore paths options.
- The List Manipulate statement's Intersection function has a new Fuzzy option.
- The List Numeric Functions statement has a new Unicode String function. The function builds a string from the numeric values in the list.
- The List to CSV statement can now operate on track variables.
- The Map Metadata to Files statement now has a method to match for an explicit filename as well as metadata. The statement can now also use Album metadata when mapping with constructed metadata.
- The Open Database statement:
- can open a database as readonly.
- can open a database as transient. A transient database has its associated files deleted as soon as opened. The database is automatically readonly. See the documentation for additional information.
- can now supply alternate text for the database viewer's help button.
- The Open Database Information and Is Database Open statements have been updated to return information on readonly and transient databases.
- All Prompt category statements which have four configurable buttons now support escape sequences in the button names. If a button name contains an escape sequence and it resolves to be visually empty, the button is not displayed.
- Previously the Prompt statement had an ignore when batched option. You can now specify Always, Only if Interactive, Only if Batched and Only if Batched & Verbose.
- The Prompt statement's DB Status mode is persistent in databases opened as transient. ie. even after the action terminates.
- The Prompt from Container statement:
- There a new key named clearStateIfDisabled. If true, whenever a state checkbox is disabled, state will be set to 0.
- There are new keys named rowReference and rowFixedReference. The keys' data is treated as a name of a named variable. The named variable will be set to the directed path to the row. rowReference moves when a row is dragged. rowFixedReference does not move when a row is dragged. The named variables are set whenever a Prompt from Container or Extract IDs from Prompt Container statement starts executing.
- The promptValues key can optionally be a string. The string is treated as the name of a named variable who's content is treated as a list of strings. The list is delimitd by the default list delimiter (\~). The promptValues item will be converted to an array in the container.
- The Read Text File and Write Text File statement's help has a link to a new topic on binary file processing.
- The Search MusicBrainz statement now returns keys for Live and Single.
- The Set Indirect statement is now list aware. You can specify more than one destination field by separating the field names by the Default List Delimiter (\~), newline characters (\n) or commas.
- The Supported Fields statement has additional presets.
- The Substring statement has a new Integer Value of Unicode Character which returns the integer value of a character at the specified index.
- Escape sequences can be specified in the Test Run Context note field.
Resource Actions
Bug Fixes
- Settings - Export Sets under certain circumstances was not retaining column attributes. Further, the change detection was not perfect.
- It was possible to drag the icon on an action editor's window header. If you did so, an error would be displayed.
- The Debug statement was not always displaying unique values for fields in the Content for all Tracks section.
- The Debug statement's active files display was incorrect when files were in different folders.
- The Contents of Folder statement was not clearing the destination named variable on an error. The action test state was set correctly.
- The Prompt statement's DB Status mode only worked on grabbed databases.
- Main window and database filters when testing for boolean true did only worked with numeric values. ie. a string of true did not match as true.
- The main window Preview toolbar button was only enabled when one file was selected.
- The text markup link form ?? was only working if an action was running.
- The Access Discogs statement was using the MusicBrainz setting for import all as opposed to the Discogs setting when determining how many artwork items to preload. This may have caused extraneous images to be downloaded (but not imported) when not necessary.
- The Modify Application Settings statement was not escaping a named variable inserted to the value field from a context menu.
- If a row in a Prompt from Container rows list was not an object, a crash could occur. By the documentation a row which is not an object is a separator row.
- If you created a database file with preserve plist; and the plist had the correct columns but a different encoding; the plist file would not have the new encoding. Any changes to the export set or database creation settings will now cause the preserve plist setting to fail.
- The log produced by Actions>Apply Track Metadata Changes was not line terminating some of the possible error messages.
- The main window File Representation function's display was not displaying the underlying atom for MPEG-4 items where relevant.
- The Extract IDs from Prompt Container statement's Set Container modes was clearing named variables after performing the function.
- The custom background colour for newly created databases was not being exported.
Version 6.18 (11760.11753)
Full Artwork Panels
- The Artwork edit panel and Custom Edit panel Artwork Full items both display fields which allow you to view and edit information about the selected artwork item.
- You can now toggle the display of these fields on and off. The status indicator for the selected artwork item now has a context menu (displayed on left or right click). Hiding the fields maximizes the display space but allows but you still retain control to display the information if desired.
- The same menu allows you to hide/show the Initial Values and Editing State Values controls. When you hide the controls, they are both disabled (ie. unchecked).
- The context menu for the large image in full artwork panel items has a new context menu item named View Options. The displayed submenu has the previous two options and an item to control how artwork actions are displayed on the context menu: inline or in an Artwork Actions submenu.
Main Window Artwork Displays
- All main window artwork displays, with the exception of those in the optional Artwork column, now have a Get Info context menu item. The displayed popup presents the properties of the associated image.
- Double clicking a main window non full information artwork image previously always caused the Artwork edit panel to be selected. It will now select the Artwork edit panel if associated with a preset button; alternately a custom edit panel which contains a full artwork item if it is associated with an edit preset button; alternately the Artwork edit panel will be mapped to a preset button and displayed.
Artwork Normalization
- Previous to this release, normalization was always based on Albums and treated the Media (CD Label) picture type as being per disc.
- You can now chose Album, Folder or All Files as the source and you can optionally disable the special handling of the Media (CD Label) picture type.
- This additional functionality is available in the UI and on the Normalize Artwork action statement.
Edit Panel Preset Buttons
- Every edit panel preset button has two associated menus. The right click context menu is a menu with all functionality and panel selection options.
- The menu displayed when the current preset button is clicked, makes it easy to select an edit panel which is not on a preset button. (It also will not display hidden custom panels). The edit panel previously associated with the preset button will now be displayed at the top of the menu. Effectively the displayed item is a back. This provides an easy means of toggling between two panels using the same preset button. Remember that this menu is only displayed when clicking on the selected preset button.
Custom Panel Editor
- Previous to this release, link items were assigned to the first empty edit preset button or the last preset button. These links were intended to duplicate the links available on built in edit panels. The links are only displayed if any of the associated tag items exist and if the tag item is valid for the current file selection. The Custom Panel Editor's per grid item context menu will now display these links at the top in a submenu named Conditional Links.
- The Custom Panel Editor's per grid item context menu has a new submenu named Unconditional Links. This submenu has an item for each possible edit panel.
- When an unconditional link is clicked, the associated panel is placed on the currently selected edit panel preset button. ie. the link is in place. Using the new back logic on an edit panel preset button's left click menu, you can easily go back to the panel containing the link.
- The Custom Panel Editor's Import menu now directly supports the copying of built in edit panels. Previously templates for the built in edit panels had to be downloaded from the resources page.
Main Window Field Function Buttons
- For those fields which are associated with a list, the function button menu items to add and remove list items previously were only displayed if the field had a common value for all selected files. This limitation has been removed. All selected files will be processed correctly even if mixed is the displayed value.
- When a Multi Field Editor action is run from a function button's Multi Field Editor Actions menu, named variable Run from Function Button will be set to the name of the field associated with the function button.
Menu Items
- On various menus on/off menu items are displayed.
- Some menu items modify the displayed title where it makes sense.
- In the past other menu items identified the on state by a checkmark. The issue with this method is that there is no visual identification for the off state. Remember when Macs displayed a check mark and an x?
- In order to make the state more identifiable, on will be displayed as a green circle and off as a red circle.
Preferences
- Preferences - File List has a new setting named Abbreviate file and folder paths. This is a display only setting which will use ~ notation for paths relative to the home folder. The setting affects: the main window status bar; the most recent files menu; the File Browser's Pinned Folders menu. The setting is initially enabled.
- Preferences - Actions - General has a new setting named Treat container object item names as case insensitive. More information can be found in the new help topic named Container Item Names.
- When importing and exporting preferences, File Browser pinned folders can now be specified.
File Browser
- If a folder in the File Browser panel is clicked when displaying a context menu, you can now pin or unpin the clicked folder. Previously you could only pin or unpin the currently displayed folder.
Action Statement Changes
- All Container statements can now optionally treat object item names as case insensitive.
- The File Browser statement now accepts paths which start with a ~ sequence.
- The Get Info statement can return the value of the new Treat container object item names as case insensitive setting.
- The Modify Preferences statement can override the new Treat container object item names as case insensitive setting.
- The Normalize statement supports new settings allowing for source selection and the disabling of per disc handling.
- The Prompt from Container statement supports a new abbreviatePath item. When true and the getFile, getNewFile or getFolder key is set, paths relative to the home folder will automatically be abbreviated. ie. ~ notation will be used.
- The Search Discogs and Search MusicBrainz statements can now save the results to a container.
- The Stop Action and Post Process statement now allows folders after an #open marker. Previously only paths to audio files were permitted.
Bug Fixes
- The Discogs wizard's view changes panel's help button was not working.
- The Set Action Test State statement was not logging named variable usage.
- When preserving view attributes of a database plist file which requires rewriting, the appearance setting was not preserved.
- The Custom Panel Editor was not clearing the panel's name and tooltip when Clear was performed.
- The Get Containing Playlist from Apple App statement was clearing the destination even if a track was not linked.
- The Discogs/MusicBrainz Metadata for Release statements were not unescaping \n sequences in Involved People and Musician Credits.
Version 6.17.2.2 (11702.11690)
Bug Fix
- The Prompt for Text statement's multi line display panel was always displaying spaces as centered dots.
Version 6.17.2.1 (11701.11690)
Bug Fix
- The Prompt From Container statement was displaying a numeric, as opposed to a textual, value under the following conditions: The menu was a read only index and the menu was a list of objects as opposed to a list of strings. This could affect the display of values in a variety of actions. All retained values are correct and no actions have to be updated.
Version 6.17.2 (11697.11690)
Create Move Action Wizard
- Now identifies Folder Start sections which contain Ignore if Empty tokens.
Action Statement Changes
- All Prompt statements can now optionally configure a Cancel button to exit with a Prompt Chosen Button value of -1000 as opposed to actually cancelling. This allows an action to clean up before exiting when a user chooses to cancel. The Exit mode is set in the Buttons popup Cancel Warning menu. A cancel warning is always issued.
- The popupAppends key in a Prompt from Container statement can now be an array of criteria items.
Resource Actions
- The Create Database Utility and Artist Reference Database suite of actions have been completely redesigned.
- The Artist Reference Database configuration now supports saved profiles. The configuration is now a single panel as opposed to a wizard.
- The Query Artist Reference DB action no longer uses arcane text codes to differentiate the query types.
- The Create Database Utility action can now optionally fill preference lists and can produce an Artist Reference database.
Bug Fixes
- The Remove Item from Query Database statement was not flushing an internal key cache. This potentially could cause issues if items the same as those removed were added again.
- Prompt from Container statement: multiLine < 0 was incorrectly editable when valueRO was < 0.
- The Create Move Action Wizard was not always displaying the folder verification options.
- Found a particular case of a malformed video file which could cause a crash.
Version 6.17.1 (11689.11685)
Renaming
- v6.17 became far more observant of empty folder path components and flags them as errors. It turns out that some users made use of the fact that prior to v6.17, empty folder path components in a rename template were ignored.
- Rename templates have a new token named Ignore if Empty. If this token is present in a Folder Start section and the path component resolves to be empty, the empty Folder Start section will be ignored.
- This solution allows errors for empty path components to be raised unless they are explicitly disabled.
- When a rename template contains one or more Ignore if Empty tokens, the Create Move Action Wizard will disable relative moves as the number of path components is not deterministic.
Action Statement Changes
- The Prompt from Container statement:
- New row item named multiLineExit. The multi line editor icon on a row can now be used to exit the panel with information pertaining to the closure.
- New row item named multiLineEmpty. This item can be used to control how the multi line editor treats empty lines.
- The Sort List statement can now sort by length.
Bug Fixes
- Sonoma only: Various Import/Export panels had the None button cropped to Non.
- Double clicking on an action toolbar icon could cause a reentrancy issue.
Version 6.17 (11680.11670)
Apple Apps
- You can now add to an Apple App playlist from the UI. The menu item is on the Apple Apps menu, the main window's context menu and a track database's context menu (where appropriate).
- You can now extract names of the playlists which contain a track from the UI. The information is stored to a UDTI named Apple App Containing Playlists. You can choose to extract qualified or unqualified names. The menu item is on the Apple Apps menu and the main window's context menu.
- You can elect to have an Apple App playlist displayed whenever tracks are added to it. There is a new Preferences - Apple Apps - General setting to control the functionality. The setting is initially enabled. Note that the setting is ignored if the Apple App is minimized or if you are batch processing.
Finder Tags
- The Preferences - General panel now has a button named Finder Tags. A panel is displayed which allows you to configure the automatic loading and saving of Finder tags.
- The Finder Tags button is also present on the Preferences - Audio - Common panel, as the settings can cause file tags to be modified.
- The Finder's tags are retained in a custom field named Finder Tags. The custom field can be created on the configuration panel.
- You can optionally sort the tags before automatically saving.
- A tag can be added automatically when saving a track that is loved.
- A tag can be added automatically when saving a track that is disliked.
- The loved and disliked settings ensure the presense of the appropriate tags and the removal of those that are inappropriate. Finder tags other than those named in the loved and disliked settings are not modified.
ReplayGain / Sound Check
- The ReplayGain and Sound Check settings are now in a new preference section named ReplayGain. It will initially appear at the botton of the list. Remember that preference sections can be dragged to different locations and that the list can be sorted.
- The new ReplayGain section has additional settings used when creating Sound Check data. You can now select to use Album as opposed to Track replay gain values when computing the Sound Check data. You can also elect to ignore the peak value when computing the Sound Check data.
Other Preferences Changes
- Remove Zero Length Chunks (aiff only) has been moved from Preferences - Audio - Common to Preferences - Audio - ID3.
- Export sets have a new Attrs column used to present a summary of the display attributes that you have set for the column. These attributes include alignment postion, crop position and the choice of a proportional font (default) or a monospace font. To edit the value, select a row and click in the column. A menu will be displayed with the configuration choices.
- Export sets have a new special item named Extended Credits. The boolean column displays true if a track has a non empty Involved People or non empty Musician Credits field. Album databases accumulate the value as any other boolean field.
- Export set OOB and Variable items can have a menu specified in the Qualifier column. You can now edit these menus in a multi line panel by hitting the Q button and selecting Edit Menu.
- Preferences - Lists - Mappings now has an Always Append column. When enabled list items will always be appended. By default, list items are only appended if a field contains a multi value delimiter (;;;) or the Option key is pressed.
Database Viewers
- The table header's context menu has a new submenu called Configure Display Attributes. Right click on a column header and the attribute settings for the column will be displayed on the submenu. You can change the alignment postion, crop position and the choice of a proportional font (default) or a monospace font.
- Album databases will now display ??? for boolean columns where the values differ.
The File Browser
- If an attempt to trash a file fails, you are given the choice of deleting the file.
- Note that as when a file is deleted it in the File Browser, it will not be removed from the main window's file list. The loaded file's metadata will still be available but the file cannot be saved.
Edit Panels
- Most multi-item edit panels (All Tags, UD Text, UD URLS, etc.) now have a Show in Popup context menu item.
Create Move Action Wizard
- The produced action now supports path validation and pre-move error detection.
- The produced action can now identify tracks in the same initial folder which would end up in different destination folders.
- Selecting the produced action in the Action Manager and hitting the spacebar will display the action's configuration.
Action Statement Changes
- New statement Extract IDs from Prompt from Container. This statement allows you to get and set content from a Prompt from Container object while not displaying the panel. This can be useful when a panel need not be displayed but you want consistant or empty named variables whether the panel is displayed or not.
- The Get Info statement:
- Can now return a list of actions ... except those which are hidden.
- Can now return an exact image of the Action Manager's display in a container in a variety of forms. The produced container can be used wherever container menus are valid.
- The statement can now be used to get the value of various preference settings.
- Can now return a list of the available system sounds.
- The Finder Tags statement can now specify a delimiter as opposed to the previous hard coded delimiter of \n. In order not to break existing actions, the default is \n.
- The Play System Sound statement can now use the built in system sound names when Runtime is specified.
- The Preference List Item Functions statement can now clear individual lists, a runtime specified list and all lists.
- The Preferences statement:
- Can override the various Preferences - General - Automatically Process Finder tags settings.
- The clear lists functions have been moved to the Preference List Item Functions statement. Existing statements have been modified.
- The statement now only performs transient functions on the preferences.
- The statement has been renamed Modify Preferences
- The Prompt from Container statement:
- Row based menus can now have submenus.
- New key named multiLine. Has values which display an icon to enable a muli line editor. Inline editing can optionally be disabled. A second key multiLineSeq can be used to control what sequence displays as a neline character.
- New key named rowDisabled which disables a row without testing criteria.
- Container based menus can now specify criteria on the disabled and hidden keys. This enables the creation of menus which change while the panel is displayed.
- Criteria items can now be based on the panel's optional checkbox as well as rows with anchors.
- By default, Prompt from Container statements ignore row validation when the value is read only. The new text formatting code ! implies that validation is to occur even if the value is read only.
- Row validation can now ignored if a value is empty and the row has a placeholder. The is controlled by the new ~ text formatting code.
- autoSaveRowOnContinue, autoSaveRowOnExit and the new onlyExtractIDValues key support the saving of placeholders for empty value fields .
- When autoSetRow is 1, ie. loading from runtime settings; and the mapped runtime setting set is empty or does not exist; default state and value settings can be specified in stateInit and valueInit.
- Container based menus on panel buttons or in Prompt from Container statements:
- Can now display icons.
- Now support disabled.
- The JSON multi line text editor's function button can now be used to create container menus.
- The Copy Files, Rename Files, and Move statements:
- Now have the ability to save a runtime preview to a track variable. This allows you to see the estimated resultant file paths. It can also identify certain potential errors and can also be used to verify that destination paths are consistent across all folders.
- Now support escape sequences in all text fields.
- The Sound Check statement now supports the selection of ReplayGain Track or Album metadata as the source and the option to ignore peak.
Deprecations
- The \?fb (File Browser Display Status), escape sequence. The functionality is now available in the Get Info statement.
- The \?m3t (m3u File Encoding), escape sequence. The functionality is now available in the Get Info statement.
- The \?om (Open Mode), escape sequence. The functionality is now available in the Get Info statement.
Bug Fixes
- All UDTIs not normalized by Yate were appearing as upper case in APE and WavPack files. This was a display only issue.
- Various issues with keyboard shortcuts to non main window functions were corrected.
- The Get Info action statement had a few UI issues.
- If a rename template had advanced settings to compress spaces (but not underscores) it was possible that the first underscore was replaced by a space.
- The action menu popup for the Stop Action and Run Batch Processor statement was not displaying hidden actions.
- On some OS versions the Comments field on the Info editing panel was skipped when tabbing.
- If an action was automatically run whenever files are saved and databases were configured to be automatically updated when saving files, the database update was not applied.
- The Debug statement could omit the display of field data.
- Applying database values to loaded files could have resulted in invalid 'red' change indicators.
- A number of versions back, a change was inadvertently made such that diacritic characters were not being ignored when adding items to preference lists. This is technically a bug. There is a new resources page action named Rebuild Preference Lists. This action will rebuild all preference lists to correct any potential issues. The action is also useful whenever you make changes to the Natural Sort Exception Set.
- Various issues with the Prompt from Container statement's selectOne key were fixed.
- The Find panel in action editor windows was not showing Debug if statements were marked as debug but no Debug statements were present.
- Sonoma only: ... and only some Macs. On our Mac Studio we saw the FileBrowser having a messed up display after opening a folder. Clicking in the File Browser fixed the issue. We could not reproduce the issue on any other Macs running Sonoma.
- ... and last but not least, the previous release was built with the latest Sonoma SDK. This caused a few action statements to have words cropped in their configuration panel. Hopefully we found them all.
Version 6.16.2.2 (11596.11577)
Bug Fix
- Sonoma only: Closing a database window would crash.
Version 6.16.2.1 (11595.11577)
Bug Fix
- v6.16 introduced the ability of Break, Exit, Exit Grouped, Exit Repeat, Next File and Restart Repeat Forever statements to optionally set the action test state to true, false or toggled. The interpreter was messing up if the statement was conditional and forced the test state.
Version 6.16.2 (11594.11577)
Preference File Backups
- The backup files previously stored in ~/Library/Application Support/Yate have been moved to ~/Library/Application Support/Yate/Backups. This is done once when this version is first started. While unlikely, it is possible that you will see a spinning ball at this time.
- Prior to this version, when you updated the application a previous backup was renamed to Pre version Backup. This is done, so that the backup is retained outside the normal cycling of automatically generated backups.
- The choice of the name meant that a list of all backup files did not sort into a single combined representation.
- These version change backups now rename a backup file by appending Pre version to the affected backup file's name. This solves the sort issue.
- These new version backups can now be directly imported as zip files. The previous variants had to be unzipped first.
Show Folder in File Browser
- All main window and database Show Folder in File Browser menu items, now display the File Browser if it is hidden.
Tag Mappings
- Certain players and other taggers may use an alternate mapping for the Set Subtitle field.
- Preferences - Audio - MPEG4 now allows you change the default of SET SUBTITLE to DISCSUBTITLE. You can also specify that both mappings are to be read.
- If you want to change the mapping for FLAC/Ogg files, simply add DISCSUBTITLE as a mapping for Set Subtitle in Preferences - FLAC/Ogg Mappings. You can set the write mapping by using the 1 button. Note that new installs will read both SET SUBTITLE and DISCSUBTITLE. The initial write mapping will be SET SUBTITLE.
- If you want to change the mapping for APE files, simply add DiscSubtitle as a mapping for Set Subtitle in Preferences - APE Mappings. You can set the write mapping by using the 1 button. Note that new installs will read both SET SUBTITLE and DiscSubtitle. The initial write mapping will be SET SUBTITLE.
Crop/Scale/Square Artwork Panel
- When squaring the canvas you can now choose a custom colour for the fill function.
Action Changes
- The Crop Artwork statement can now also crop to square with a variety of placement options.
- The Delete Files and Folders and Trash Files and Folders statements now support input in a multi line editor.
- The Get Info statement has a new List of Finder Colour Tags function. The \?ft escape sequence is now deprecated.
- The Get Info statement has a new List of File Browser Pinned Folders function.
- New action statement named File Browser which can:
- pin folders
- unpin folders
- force the File Browser to be displayed
- force the File Browser to be displayed with a particular folder.
- hide the File Browser.
- The Manipulate Artwork statement can now specify a fill colour at runtime to use while squaring artwork.
- The Prompt from Container statement now supports the T, S and W post processing codes previously only supported by the Prompt for Text statement.
Escape Sequences
- There is a new escape sequence \?fb which lets you determine if the File Browser is currently displayed. It inserts 1 for displayed, otherwise 0.
- There is a new escape sequence \?fa which inserts 1 if the fanart.tv API key has been set, otherwise 0.
Resource Actions
- There are new actions to manage preference backups and the File Browser's pinned folders.
Bug Fixes
- Patched a few alignment issues when inserting Prompt from Container items in the multi line editor.
- When preloading Discogs releases, if a release returned as a search result did not exist, the posting of error messages could loop, requiring a force quit.
- The Show in AppleApp Playlist functionality was creating the Yate-Work playlist but it was not automatically displayed.
Version 6.16.1 (11575.11562)
Main Window Function Buttons
- The Multi Field Editor Actions submenu items now support the display of the Edit/Locate/Run popup menu.
- It seems as if function buttons can display a number of unwanted actions if you have many actions associated with the Multi Field Editor. You can now restrict the menu to display only those actions which explicitly support the associated field, as opposed to all actions valid for the field. The function button menu has a new Only Show Explicitly Supported Actions / Show All Actions menu item.
The Action Manager
- The search mechanism has been updated so that you can search any column in the Action Manager. There is a new column selector and the retained searches update the column selector when required.
- The navigation control in the search bar has a new ⬇︎ button which selects all matches for the displayed search test.
Database Viewers
- The context menu now has an Open With menu item. Previously you had to do a File>Open With.
- The View Options panel is now a modal window. This is so that you can see the proper effect of changing the background colour.
Action Changes
- The Multi Item Field List Enumerator statement can now save the list to a container. This avoids the issue with a single list item which is empty.
- When editing JSON for the Prompt from Container statement in a multi line editor, there is a new control which displays a menu allowing you to insert all valid object items.
- The Prompt from Container statement can now automatically load and save values to action runtime settings or named variables. See the Auto Loading and Saving topic in the statement's documentation for additional information.
Bug Fixes
- When a File>Open panel is displayed, you can no longer drag files into the main window.
- Forced preference resets optionally called when an application preference level mismatch was found, did not work on Ventura. All preference resets are now handled by calling out to an OS external command.
- Fixed an issue where the CCE opened with only one or no rows displayed. This is a result of having fixed the font sizing in v6.16. We can only make this issue happen on the Sonoma beta ... but evidently it could happen on earlier OS versions as well.
Version 6.16 (11552.11547)
Renaming and Moving Files
- Rename templates now have an advanced settings panel.
- These settings enable:
- The removal of characters not permitted by Windows.
- The ability to trim leading spaces and underscores.
- The ability to trim trailing spaces, underscores and periods.
- The ability to compress sequences of multiple spaces and/or underscores to a single space or underscore.
- The ability to specify that rename transformations should be applied at the start of an IfDup sequence.
- Settings can be saved as default values for new rename templates.
- If any advanced setting is enabled, the default Preferences - Rename - Settings - Space handling is not performed.
- Default values can be established for the advanced settings.
- The Create Move Action Wizard now supports the overriding of the default exception Name, general exceptions and replacement sets.
- The Create Move Action Wizard now allows you to defer the specification of a base path until the action is run.
Main Window Edit Panels
- The All Tags and UD Text edit panels can display items with a JSON value in the Container Viewer.
Main Window Filters
- When filtering on named UDTIs, UD URLs or Comments, the name match is now case insensitive. This allows for common names written to audio files with different case requirements.
If Statements
- One of the most confusing things related to the parallelism of Yate actions is that the if-else-endif construct often does not reflect the ability to isolate a single condition across files.
- File availability statements can be used in conjunction with comparisons which return results to track variables. However, these statements are confusing to many users and require the manual resetting of the available files.
- There is a new variant of the if-else-endif construct in this release. You can continue to test the action test state or you can now test a track variable.
- The new track variable form allows for the execution of the if and else components based on a track variable being true or false and automatically manipulates and restores the set of available files.
- See the if statement documentation for additional information.
Setting the Action Test State When Exiting an Action
- The Break, Exit, Exit Grouped, Exit Repeat, Next File and Restart Repeat Forever statements can optionally set the action test state to true, false or toggled, if the statement is executed always or the specified condition is met.
Other Action Statement Changes
- The deprecated statements: Linked to Apple App Test, Modified Test, Set Variable to Action Test State and Test Property have been removed. Current uses of the statements have been replaced with appropriate alternatives.
- The Add Item to Query Database no longer forces you to enter a meaningless key for keyless databases.
- The Copy Metadata Between Files statement now supports the use of the UI based settings defined in the Copy Metadata configuration.
- The UI based Copy Metadata functionality and the Copy Metadata Between Files and Transfer Metadata statements can now exclude User Defined URLs and named Comments as well as User Defined Text Items.
- The Date Functions statement has been enhanced to ease the ability to scan dates where the formatting is not known:
- With the exception of the Y M D format, day components can be followed by a suffix which is appropriate for the number. ie. st, nd, rd, th.
- Abbreviated symbolic months can be followed by a period. eg. February, Feb and Feb. are all valid.
- The supplied date format will be ignored if an unambiguous date of a different format is encountered. For example: Jan. 10, 2021 and 31-01-2000 will be parsed correctly for all date formats.
- The Extract Bracketed Text statement now has a balanced setting which forces balanced sequences of bracket delimiters.
- The Extract Data from Container statement's use of the secondary list delimiter (\:) can be overridden by placing a non empty value in named variable Container Secondary Delimiter.
- The Format Numeric statement has a new As Decimal Number mode. Useful when a non integer representation of a number is required for use in an expression.
- The List Item at Index/Sublist statement can now force per file processing when the source list is in a named variable and the destination is a track variable.
- The Open URL statement can now do a POST, PUT and DELETE.
- The Open URL statement can now generate fixed callback (redirect) URIs.
- The Prompt from Container statement has a new showSpaces key which causes a row's Value column to display centered dots for spaces.
- The Prompt for Text statement has a new means of identifying which menu item was hit when the text field is read only.
- The Re-Encode statement can now encode and decode Base64.
- The Set Container Object Item statement has been renamed to Set Container Item. The statement can now set array items and additionally can insert array items.
- New action statement named Show / Hide Columns.
- The Test File Type statement previously modified the action test state based on any file matching the specified types. You can now also select that all files must match and that no file must match.
- The Test Run Context statement has a new mode which always fails. It's a quick way to terminate an action and identify a location in it.
- The User Defined Fields statement can now specify that the specified name field is not to be automatically trimmed.
- The Zip/Unzip statement can now zip a single file.
Escape Sequences
- The \?ps sequence will return the text last issued by a Prompt Status statement.
Resource Updates
- The Yate and the P Word and Renaming and Restructuring Files and Folders documents have been updated.
- The Yate and the P Word Snippets download has been updated.
- Many other resource actions have been updated and a few interesting new ones have been provided.
Bug Fixes
- The token editor was not always displaying centered dots for spaces unless it was formatted or reloaded.
- The token editor was not restoring spaces for centered dots when copying or cutting text.
- The Compare Date statement's falls in and not falls in functions did not always return accurate results. As the dates being compared can be placed in any order, the modes test for overlap.
- The Compare Numeric statement's text field was not always displayed when not comparing against a track variable. This only occurred if the statement was clicked on after already created.
- The Open URL statement's callback mechanism expected a ? immediately after the URI. It will now also accept /?
- The Prompt from Container statement was using the Columns setting for popupValues if a row had an empty array as the value. The Columns setting should only be used if popupValues does not exist in the row.
- The main window filter mechanism was not selecting the appropriate files when there were no matches made.
- Changing the font size was not working in the Combined Credits Editor.
- A few escape sequences were not properly hooked into the action editor's context menu Escape Sequence Description item.
- The context menu for the Artwork editing panel table had an extraneous menu item named Artwork Actions.
Version 6.15.0.1 (11484.11478)
Bug Fixes
- When editing a Move Non Audio Files statement, the Preserve existing files setting was not updating the display immediately.
- The Create Move Action Wizard introduced in v6.15, was flipping the non audio folder options: only if it does not exist and overwrite.
- The Custom Panel Editor was not resizing correctly. (Introduced in v6.15).
Version 6.15 (11483.11478)
Lyrics
- Unfortunately, our latest lyrics provider has decided to cancel the service.
- If you have subscribed to the API, you should cancel your subscription.
- As we have no alternate provider at this point in time, all functionality related to the downloading of lyrics has been removed.
- If possible, support will be provided via actions in the future. Check the web resources page under Actions.
Rename Templates
- The Category token added in v6.14 was not available as an IfExists and IfExists+ token.
- Cleaned up a number of the token submenus.
- Properties which do not have a related value have been removed from the Properties submenu. For example Has Video does not have a meaningful value. Older templates which might have contained the removed tokens will still work and display correctly.
- The IfExists and IfExists+ submenus now only supports items which have a value to insert. For example Has Video is no longer available as it is intended to be used as a boolean test. Older templates which might have contained the removed tokens will still work and display correctly.
- Both the IfExists and IfExists+ submenus no longer list properties which always exist. Older templates which might have contained the removed tokens will still work and display correctly.
- The IsTrue and IsFalse menus now allow you to test boolean properties such as Has Video and test for particular audio types.
- There is a new Properties token named Sample Rate kHz. As an example, for a sample rate of 44100, Sample Rate will insert 44100 while Sample Rate kHz will insert 44.1.
Create Move Action Wizard
- At times it is advantageous to move files as opposed to renaming them. Renaming always preserves the original folder structure and simply changes names. Regardless as to how many files are in a renamed folder, they always remain together. If the rename metadata differs on audio files in the same folder, the results may be unpredictable. Moves, however, can put different files in different folders, creating the folders if required.
- While rename templates can be directly accessed in the UI, moves can only be performed by an action. The Create Move Action Wizard is accessed by selecting a single rename template in Preferences - Rename and then hitting the blue action button. The wizard steps you through a number of questions. Based on your answers a specific move action will be created. The action is placed on the File>Rename>Actions menu making it as easy to access as any rename template.
- The wizard can also be started from the Actions menu.
- Move information can be found by doing a Yate>Search Yate Help for the Create Move Action Wizard topic.
Artwork Panel Actions
- Ever wanted a quick way to save an artwork item to back.jpg or cover.jpg? Artwork Panel actions let you do so.
- Actions can now be marked in the Action Manager as being associated with artwork panels.
- These associated actions are run from an artwork item's context menu.
- The actions are only available to be executed when a single artwork item is selected or displayed.
- Samples are provided on the resources web page.
Action Statement Changes
- The Create M3U statement now standardizes the supplied folder path so that the ability to write relative paths can handle folder specifications with relative references.
- The Re-Encode statement has a new function named Remove HTML & Sequences. All & sequences are replaced by the associated character values.
- The Re-Encode statement has a new function named Add HTML & Sequences. Ampersand, less than, greater than, double and single quote are replaced with & sequences.
- There is a new statement named Refresh Files. Only files which have been externally modified will be refreshed.
- The Artwork to Folder statement can now implicitly specify a .jpg or .png conversion.
- The Artwork to Folder, Crop Artwork, Indexed Artwork and Manipulate Artwork statements support interaction with a selected artwork item.
Escape Sequence Changes
- There is a new escape sequence \ci. All following UDTI escape sequences \^ and \* treat the UDTI names as case insensitive.
- There is a new escape sequence \cs. All following UDTI escape sequences \^ and \* treat the UDTI names as case sensitive. This is the default.
- There is a new escape sequence \sa which is used to detect the availability of a selected artwork item.
- The is a new escape sequence \yc. Many actions require a stub audio file for various reasons. Yate itself requires these files and generates them when required. This sequence generates a stub file and inserts the full path to the file. The file is only generated if required (ie. if it does not already exist). The file can be moved, manipulated or deleted. The file is created at ~/Documents/Yate/Yate clip.mp3.
File Properties
- There is a new property named Is Externally Modified.
Yate Transformations
- You can now access the Transformations menu when inline editing fields in the main window's file list editor.
- You can do the same while inline editing a database viewer cell.
List Editing
- You can now edit a preference list via the function button to the left of a main window control associated with a list. This is the same as opening Preferences; selecting Lists and navigating to the appropriate list.
Markup Sequences
- The new <v> markup sequence will display subscript text.
- The new <V> markup sequence will display superscript text.
Mac Keyboard Substitutions
- There's a new Configure Substitutions button in Preferences - General - Basic.
- You can use the displayed panel to override Mac text substitutions consistently across all Yate text fields.
- You can force specific settings for: Smart Copy/Paste, Smart Quotes, Smart Dashes and Text Replacement.
- You can also disable the auto insertion of a period after typing two spaces.
Bug Fixes
- The Move and Move non Audio statements' delete empty parent folder could fail to delete the empty parent folder.
- The Actions by Icons and Actions by Groupings uncategorized submenus were not being sorted.
- The Old Mac version had many multi line text fields where vertical scroll bars were always displayed.
- Some markup sequences were missing from the markup sequence context menu.
Version 6.14 (11441.11431)
Preference Changes
- AIFF files consist of a sequence of chunks. It is perfectly valid to have a chunk size of zero. However the Music application seems to stop reading data from files when a zero length chunk is encountered. This can potentially lead to a file being tagged but the metadata will not appear in the Music application. The Preferences - Audio - Common - Remove zero length chunks (AIFF only) setting will remove these items whenever a file is written.
- If for any reason you have a workflow where you do not want to link files dragged into Yate from an Apple app, you can do so by setting the Preferences - Apple Apps - General - Do not link when dragging from an Apple app option. When the option is enabled, dragging from an Apple app is treated the same as when dragging from the Finder. Note that when the option is set, no auto importing will occur.
- Yate v6.13.2 introduced the ability to display a submenu when selecting an action from a menu. The submenu allows you to edit, locate or run the selected action. The submenu was displayed if the Option key was depressed. It seems as if this interfered with some users' keyboard shortcuts. Preferences - General - Advanced has a new setting which allows you to specify any modifier sequence to display the submenu.
- In the Discogs and MusicBrainz preference panels you can specify a track database. If you enable Use track database and leave the path empty, the default track database specified in Preferences - Database will be used.
- All settings which are related to the editing state have been moved to a new preference section named Editing State. If this was not done the settings would have been on three different panels.
- The File List Preserve the Editing state setting has been renamed to Update the Editing state when selecting files. This flips the previous value but retains the intent. New installs have the setting disabled as changing the editing state on selection changes, limits some reversion functionality.
- There is a new setting to automatically copy the initial state to the editing state immediately before a file is saved. This gives you a recoverable set of values. You can select to never do it; do it on the first save; or on all saves.
- The filename field in the M3U preference panel can now contain escape sequences to insert metadata. These sequences are available on the field's context menu. Note that the escape sequences are only evaluated once per folder.
- It can be difficult to determine if a filename or path component is too long for an underlying filesystem. The new Preferences - Rename - Settings - Automatically truncate path components setting attempts to remove some of the burden. When set, filenames and path components will be reduced to fit within 255 bytes based on the system's representation. Note that due to encodings, a truncated component may be less than 255 characters. Bytes were chosen as a unit as APFS is based on UTF8 characters, HFS+ is based on UTF16 characters, etc. The setting errs on the side of caution. It is possible that extra characters can be manually entered when editing a path component in the Finder. This setting is also used by the following action statements:
- Copy Files
- Create Symbolic Links
- Export Metadata
- Import Metadata
- Import Metadata from Audio File
- Move
Rename Templates
- You can now include a Category token in a rename template which maps to the field of the same name.
- The IfLength and Truncate tokens now always work on a number of characters as opposed to UTF16 units. In order not to break existing templates, negative lengths will be negated. eg. a length of -5 will be treated as if it was 5.
The Editing State
- The editing state is now always preserved when saving or refreshing a file. This used to depend on the value of the now renamed Preferences - File List - Preserve Editing state setting.
Action Statement Changes
- The Preferences statement can override the new Automatically truncate path components setting.
- The Preferences statement can override the new Copy the Initial state to the Editing state when saving files setting.
- The Truncate statement now always works on a number of characters as opposed to UTF16 units. In order not to break existing actions, negative lengths will be negated. eg. a length of -5 will be treated as if it was 5.
- There is a new Exchange Initial and Editing States statement.
- There is a new Copy Initial State to Editing State statement.
Debugging
- The runtime debug configuration panel has a new Auto display Debug statement setting. When enabled, an action editor window containing the calling Debug statement will be opened and the Debug statement will be selected, whenever the debug panel is opened.
Menu Standardization
- The following menus (and their possible main window context menu analogs) now support a modifier key sequence to open a function submenu.
- Actions>User Defined
- Actions>Actions by Icon
- Actions>Actions by Grouping
- File>Rename>Actions
- Edit>File to Tag>Actions
- Artwork>Search for Artwork>Actions
- Artwork>Search for Artwork>User Defined
- Artwork>Search for Artwork>Default Search
- database context menu>Run Action
- The initial modifier sequence is the Option key which was used for the action submenus introduced in v6.13.2. The sequence can be configured via Preferences - General - Advanced - Modifiers to display function submenus.
- The function submenu can contain items to edit the item in a preference template editor or an action editor window; locate an item Preferences or in the Action Manager; set or clear a default artwork search template; apply a template or run an action.
- Any other previous modifier sequences to perform the same functions are no longer used.
Other Menu Changes
- The Edit menu has new Exchange Initial and Current States and Copy Initial State to Editing State menu items.
MusicBrainz
- The MusicBrainz Release Type data was constructed using a slash (/) as a delimiter to separate multiple types with the primary always being first. A comma (,) will now be used as the delimiter as there is at least one secondary type which contains a slash (/).
Bug Fixes
- The Discogs and MusicBrains option named Auto add files had a potential vulnerability. If insufficient files in an album were selected, the algorithm would automatically load files in the same album. However, depending on the order of events, additional files in the same folder could be loaded even if there were now sufficient files.
- The Create M3U action statement's filename field was only being unescaped once.
- The Copy Non Audio Files statement's inclusion field was not linked correctly causing values to be lost when an action was saved and reloaded.
- Fixed a potential crash when a remote host could not be contacted.
Version 6.13.2.2 (11415.11350)
Bug Fixes
- The Substring statement was clearing the length field when track variables were specified. This was an edit issue ... not an execution one.
- Fixed a potential crash in the Discogs and MusicBrainz wizards when importing and artwork was still loading.
Version 6.13.2.1 (11407.11350)
Bug Fix
- The Action Updater was not preserving groupings, icons and priorities as documented.
Version 6.13.2 (11406.11350)
Preference Changes
- The Force lowercase filename extensions setting has been moved from General to Rename.
- The Retina determination setting has been moved from Artwork to General - Advanced.
- The Unique Value Generation Mode has been moved from Actions to General - Advanced.
- The Actions, Artwork, Databases, Lyrics and Rename panels have been divided into a number of tabs to make it easier to see the settings.
- Various other cosmetic changes.
The Main Window Toolbar
- The Apple toolbar mechanism has a variety of issues across our nine supported versions of macOS.
- We've made a number of changes which hopefully now gives us a consistant implementation. Note that large toolbar icons are still not supported on Ventura.
The Action Manager
- The Action Manager has a new Grouping column. Groupings can now be assigned to actions via clicking in the Grouping column of a selected action or via the Set Grouping context menu item.
- There is a new context menu item named Edit Runtime Settings. It allows you to edit or create a runtime settings set with the same name as the selected item.
Accessing Actions from Menus
- Previously the Actions>User Defined menu was the only means of running an action from a menu.
- There is now an Actions>Actions by Icon menu which displays a menu of icon items and the actions associated with them as submenus. Submenus are sorted by priority and name.
- There is now an Actions>Actions by Grouping menu which displays a menu of grouping items and the actions associated with them as submenus. Submenus are sorted by priority and name.
- Typically when an action is selected on any of these menus, it is run. If the Option key is held when an action is selected, a popup menu will be displayed. The popup menu allows you to select to edit the action; locate the action in the Action Manager or run the action.
- The menus are also available on the main window's context menu and as toolbar buttons.
- For more information do a Help>Search Yate Help for the Accessing Actions from a Menu topic.
Importing and Exporting Actions
- When exporting actions from the Action Manager, you can now specify that you do not want an action's grouping, icon or priority metadata to be exported.
- When actions are imported manually (as Overwrite) or via the Action Updater, existing Priority and Grouping metadata and icons will be retained. Only values of no priority and no grouping or default icon will be overwritten.
Lyrics
- It appears that Happi.dev has gone the way of APISEEDS.
- The lyrics functionality is now provided by a new service. Some steps must be taken to provide access as in both previous implementations. View the help for Preferences - Lyrics which provides links to the setup/configuration procedure.
The Combined Credits Editor
- The list of credits has been updated based on the latest documented credits lists from Discogs, MusicBrainz and Roon.
AcousticBrainz
- In 2022 AcousticBrainz stopped collecting data. As the API is still supported, the functionality has not yet been removed. However, all AcousticBrainz functionality is now deprecated.
Action Statements
- In order to describe some previously undocumented functionality the Artwork to Folder Icon statement has been renamed Artwork to Icon.
- For the same reason the Remove Folder Icon statement has been renamed Remove Icon.
Bug Fixes
- Yate >Import Built In Items>Import Actions was importing built in genres.
- Fixed the cropped Current column header in the File List - Toolbar Action Icons panel.
- It seems as if the Import Metadata and Export Metadata toolbar icons were swapped ... for about ten years.
- The Chapter Editor was not working with certain encodings.
- The Chapter Editor was sometimes displaying centered dots for spaces when first opened, even if the option was not enabled.
- The following action statements at times showed a bogus disclosure button: Open URL, Is Custom Field Defined, Load Artwork Viewer, Pause, Is Action Defined, Lookup Credit.
- The Call Applescript statement was reporting incorrect escaping of some fields when they were correct.
- The Prompt from Container statement was not registering its named variable usage.
Version 6.13.1 (11353.11350)
The Combined Credits Editor
- The filter settings for the Known Credits and the Track Credits tables are retained. While the table counts show that a filter is active, it might not be obvious. The filter buttons are now rendered green whenever there is an active filter.
- The Track Credits table's Unknown filter will no longer display simple mappings.
Action Statement Changes
- The Contents of Folder statement can now filter file types if Files and Folders is specified.
- The Prompt for File or Folder statement can now specify that folders be marked with a trailing / when Files, Folders and Allow multiple are enabled.
Bug Fixes
- The CCE's Track Credits Filter of ~Matches if qualifier removed was not operating correctly with In Selected Files on unknown credits.
- Invalid escape sequences in the replace template of a regular expression could cause an infinite loop.
Version 6.13.0.1 (11345.11326)
Bug Fix
- Changes to some of the networking flow made for Ventura, introduced a possible thread vulnerability.
Version 6.13 (11342.11326)
Windows with Custom Coloured Backgrounds
- The main window and database windows support custom coloured backgrounds.
- Due to some changes required for Ventura, these colours are now stored in a different manner. Depending on when you last set the background colour, you may lose it. If this is the case you will have to reset the colour.
Action Editor Windows
- You can now quickly search for particular statement types by right clicking on a statement in the Functions column. There are Find Next, Find Previous and Find All menu items.
Preferences - Database
- You can now specify a default Album database.
Menu Changes
- File>Database
- There is a new Find in Default Track Database menu item. The function will open the default track database, if there is one. It will then locate the first selected track in the database. Unlike the Find in Database command, only the default Track database is positioned.
- There is a new Find in Default Album Database menu item. The function will open the default album database, if there is one. It will then locate the first selected track in the database. Unlike the Find in Database command, only the default Album database is positioned.
- These two new menu items are also available on the main window's context menu.
- Yate>Reset Built in Items
- Reset functions on the menu used to be changed from Reset to Import by holding down the Option key. This methodology has been removed. There is now a Yate>Import Built in Items menu.
- The Reset Built in Items menu restores the item type to its content when Yate was first installed. ie. the built in items are restored and all others are removed.
- The Import Built in Items menu imports the built in items. No items are removed. For most item types, you will be asked to overwrite or create copies of existing items.
Field Changes
- The Seller field is now capable of being associated with a preference list.
Main Window
- The main window's default sort now treats the Album field as case insensitive as opposed to as in the Finder. This results in a better grouping when the Album values only differ in alphabetic case.
- When dragging files to the dock icon, or doing a Finder>Open With and there is a default action; only the new files are selected when the action is run.
The Discogs and MusicBrainz Wizards
- The search panels now group albums and artists as case insensitive.
Droplets
- Due to Gatekeeper becoming stricter yet again on Ventura, droplets did not work.
- This has been fixed in a manner which avoids any Gatekeeper issues.
- Droplets can no longer be renamed as the name provides access to the configuration.
- The Direct prefix is no longer applied to the name of droplets which directly open Yate without loading files. These droplets now have a different icon.
- Existing droplets on an OS version prior to Ventura, will continue to work.
Opening files by URLS
- There are now URL types to have Yate preview a file or to have it forward a file to a player via the Open With mechanism.
Debugging Actions
- The Debug statement can now display information on open databases, defined containers and initial files.
- The Debug statement can now conditionally be displayed based on the action test state or the new action debug state being true or false.
- The action debug state offers a means of having a test condition which does not require the test state to be modified.
- The value of the debug action state can be set to true or false when closing a debug panel at runtime.
- The Debug statement can be used to set or clear the action debug state as opposed to displaying the debug panel.
- Compare Date, Compare Numeric and Compare Text statements can be configured to modify the action debug state as opposed to the action test state. This enables the configuration of complex scenarios controlling the conditional display of a debug panel.
- Additional information can be found by doing a Help>Search Yate Help and entering Debugging Actions.
Escape Sequences
- There are lots of Yate escape sequences. While there are context menus to insert the various sequences, it may be difficult to remember at some point what a displayed sequence is. If a field's context menu has an Escape Sequence Description... item, you can do the following. Position the insertion point in the text field then select Escape Sequence Description... from the context menu. A summary of the first escape sequence which is at or after the insertion point will be displayed.
- The \?ad escape sequence will return the path to the default album database.
- The \?vn escape sequence will insert the character Yate uses to display a visual representation of a newline character.
- The \?vt escape sequence will insert the character Yate uses to display a visual representation of a tab character.
- The action debug state can be examined programmatically via the \?ds escape sequence.
Action Statement Changes
- Access Query Database statement functions Save Row to Named Variables With Prefix and Set Row from Named Variables With Prefix, now allow the prefix to be omitted.
- The Date Functions statement now accepts symbolic months when parsing a date. Abbreviations and full months are supported. The statement also has new functions to convert a number of ms to a duration and vice versa.
- The Enumerate Fields, Roles and Extensions statement and the Extract Preference Set statement have been merged into a new statement named Get Info. The new statement can additionally return a list of picture types; a list of containers and a list of named variables.
- The Extract Data from Container statement can be configured to automatically normalize newline sequences and fold Unicode characters.
- The Fill Lists and Standardize on List Items statements now support the Seller field.
- The Load Artwork Viewer statement can now load artwork at a specific index in an audio file.
- The List Manipulate statement has a new Sublist function.
- The Make Numeric statement has been renamed Format Numeric and has a number of new somewhat esoteric modes. Additionally a destination other than the source can now be chosen.
- The Open Database Information statement now returns information on all open databases (UI and query).
- The Open URL statement's Get Data as Artwork mode now supports the specification of a picture type.
- Prompt statements display [cancels] text if it seems as if the statement always cancels the action. An Ask statement will display a visual indicator if a true or false button is missing.
- The Prompt from Container statement:
- There are three new keys: clearOnDeselect, selectAtLeastOne and placeholder.
- The per row help can now be deferred to a named variable accessed at runtime as opposed to creation time.
- Per row help is now activated by the spacebar as opposed to the help button. This allows the help button to be consistent across all statements.
- The statement can now display a first time usage sheet.
- Additional row items are preserved when dragging.
- The Read Database Sidecar File and Open Database for Querying statements now return additional information in the prefix-qualifiers named variable for export set special fields.
- The Re-Encode statement can now remove prompt markup sequences.
- Remove List Item at Index is now Remove List Items at Index and can optionally remove more than one item.
- The Stop Action and Open/Close Files statment has been renamed to Stop Action and Post Process. The statement can now run an action after closing and opening files.
- The Substring statement has two new functions used to extract and locate Unicode composed characters.
- The User Defined Fields statement can now elect to remove an item if the source variable is empty when saving a track variable to the value.
- The Version statement's version number format has changed yet again. It can now be #.#.# where each number is in the range of 0-999. Having 1.10 be the same as 1.1 was simply not working.
Forcing an ID3 Version
- There is now a means to force a particular ID3 version on a per file basis. Do a Yate>Search Yate Help and search for Forcing an ID3 Version.
Resource Actions and Documentation
- For those of you not using the Action Updater, the Repair Files from Audio File Health Check Log action has been updated as of 2022-11-01.
- The Help menu's Download Audio File Health Check Repair Action item has been renamed Install Audio File Health Check Repair Action. As the name implies it downloads and installs the action.
- While caches are cleared each time resource actions are modified, some Mac browsers are obsessive about caching. The Action Updater is the best method of updating actions already installed.
- Yate and the P Word has had minor updates.
Preloaded Actions
- The preloaded actions have been updated. All of these action's have a description which can be viewed in the Action Manager.
- To update these actions do a Yate>Import Built in Items>Import Actions.
Limiting Action Execution from Databases
- The old method of renaming actions as: database name>>remainder of name is now deprecated.
- You can now create a runtime settings set with the same name of the action. In the set create an item named db+. The value of the item is a comma separated list of database names which can run the action. This method is better as it does not require the action to be renamed and works with multiple databases. You can also create an item named db-. All databases referenced in the item will not display the action in the Run Action menu. If both db+ and db- exist, db- is ignored. If neither exist, all databases can run the action.
Database Viewers
- After running Look for Duplicates, the produced Results column is now autosized.
Bug Fixes
- The Container Viewer was not displaying lines correctly when the value contained a carriage return (not newline) character. The display was being truncated.
- The Container Viewer's multiline editor was not resizing properly.
- The Indexed Artwork statement's picture type menu was missing one item at the end.
- The Reload context menu item was not always being enabled in the Beatport Importer
- Some Prompt statements with a Status mode generated by older versions of Yate were displayed as Flush User Log. This was a display only issue.
- The spacing of the Open Mode icons in the toolbar on Ventura was not adjusted correctly.
- The Action Manager's sort by name functionality was doing a case insensitive sort as opposed to as in Finder. This messed up the order of the actions in the Yate and the P Word Snippets folder.
- The Make Numeric (now Format Numeric) statement's As Unicode Character Value function was not properly handling all Unicode characters.
- The Preference Management statement was not operating silently as expected.
- The database viewer's Look for Duplicates length test was only enabled if a Duration column was present. It should also be enabled if a Time column is present.
Version 6.12 (11260.112556)
Running Actions from the Multi Field Editor and from Function Buttons
- We've supplied many simple text manipulation actions over the years which were essentially extensions to the Multi Field Editor. In the future, this type of action will be supplied to be run from the Multi Field Editor.
- The Multi Field Editor is now extensible via actions which can extract which fields are currently selected.
- There is a new Multi Field Editor panel named Actions which lists appropriate actions and allows you to run them.
- An action is denoted to be used in the Multi Field Editor by setting the Association (formerly Menu) column in the Action Manager to M.
- Fields which have function buttons with a Multi Field Editor... item will now have a Multi Field Editor Actions submenu. Selecting an action from the submenu is identical to running it from the Multi Field Editor with the associated field. To the action, it looks as if it was run from the Multi Field Editor. Note that the selected fields in the Multi Field Editor will not be modified and the Multi Field Editor will not be displayed if it is closed.
- The Test Run Context statement can now test if an action was started from the Multi Field Editor, or a function button.
- Named variable Run from Multi Field Editor will be set to 1 if the action was run from the Multi Field Editor or a function button.
- The set of effective fields selected in the Multi Field Editor can be extracted by an Extract Preference Set with a Supplied Fields Set function. Note that when an action is launched from a function button, the button's associated field will be extracted.
- The Multi Field Editor's Actions panel enables the following from its context menu.
- A listed action's description, if any, can be displayed. Hitting the spacebar has the same effect.
- A listed action's resource help, if any, can be displayed.
- A listed action can be opened for editing.
- You can open and position the Action Manager to a listed action.
- More information can be found by doing a Search Yate Help with a topic name of Running Actions from the Multi Field Editor.
- A set of sample extensions named Multi Field Editor Bundle 1 can be downloaded from the Actions section of the resources web page. If you display the new actions panel, you will be asked if you want to install the bundle.
Action Manager
- New action and folder icons under a Functions sub menu. The menu includes icons for all wizards, importers and associations.
- The Menu column has been renamed Association.
Debugging Actions
- The Debug statement's runtime configuration panel has been enhanced.
- You can now specify fields to be displayed at runtime.
- You can now specify UDTIs to be displayed at runtime.
- You can now specify that Action Runtime Settings should be displayed at runtime.
- Settings now persist forever.
- You can save settings which can later be restored.
Loved/Disliked
- By popular demand the order of values when clicking on the Loved checkbox is now ... (not Set), Loved then Disliked.
- There is a new Preferences - File List setting named Disable Disliked in the Loved checkbox. When enabled, the checkbox will only cycle between ... (not Set) and Loved when clicked. If a track is marked as Disliked, it will still display correctly. The setting only controls what happens when you click on the control.
Yate Transformations
- The Sort and Sort Excluding First transformations now remove duplicates.
Markup Sequences
- There is now a Link markup sequence. Do a Help>Quick Reference>Prompt Markup Sequences for more information.
Preferences
- Again ... by popular demand ... all tables display item counts.
Rename Template Editor
- There is a new IfVariousArtists token. This token is used to test if the file's Album Artist field contains Various Artists (case insensitive). If the Album Artist field contains multiple items separated by the multi value delimiter, true will be returned as long as one of the items is Various Artists.
Action Runtime Settings
- The default action runtime settings set was named Action Runtime Settings for historic reasons. The entire benefit of the current implementation is that separate sets can be maintained for each action. For this reason the default action runtime settings set is now named the name of the initially run action.
Escape Sequences
- The \at escape sequence used to return the text specified on a Version statement. It now returns the descriptive text of the action. An action's description is the first non empty content in a Comment, Force Grouped, Tooltip or Version statement. A search for a description is terminated at the first enabled statement which is not one of the preceding statements or an Empty Line or Constrain Execution to a Single File statement.
- The \a2 escape sequence returns the descriptive text of the initial action. \at returns the descriptive text of the current action.
- The \a3 escape sequence returns the version number of the initial action. \av returns the version number of the current action.
Action Statement Changes
- The Comment, Force Grouped, Tooltip and Version statement's text fields now support the inclusion of markup sequences from the context menu.
- The Copy Non Audio Files statement
- The statement no longer returns an error if the source and destination folders are the same. This is to be consistent with the Move and Copy Files statements.
- The statement now supports escape sequence handling in all text fields.
- The Enumerate Fields and Extensions statement
- The statement has been renamed Enumerate Fields, Roles and Extensions.
- There is an additional enumeration named Formatted Fields.
- There is an additional enumeration named Plain Text Fields.
- There is a new function which allows you to display a filtered list of credit roles as displayed in the Combined Credits Manager.
- There is a new function which displays all fields mapped to preference lists.
- The Extract Preference Set statement has a new function named Supplied Fields Set which returns the effective set of fields supportd by the action. See the online help for more infoemation.
- The Fill Lists statement can now specify the source fields in a named variable.
- The Is Query Database Open statement now sets named variable Query Database Modified to indicate if the query database has been modified.
- The Map Action Runtime Settings statement now implies the name of the initial action if no set is specified.
- The Move statement supports the ability to change the move to a copy at runtime. If the Allow runtime override setting is enabled and named variable Override Move to Copy is true, the override will occur.
- The Move Non Audio statement
- The statement supports the ability to change the move to a copy at runtime. If the Allow runtime override setting is enabled and named variable Override Move to Copy is true, the override will occur.
- The statement can now specify the same track variable for the source and destination. This is to make it easier to rename non audio files.
- The statement now supports escape sequence handling in all text fields.
- All Prompt statements other than Prompt from Container will now display the resource help if the Option key is pressed when clicking on a help button.
- The Prompt statement now has a Popup Window mode. It displays the specified prompt in a popup window. The action is resumed as soon as the window is dismissed by clicking outside the window or by hitting the escape key.
- The Prompt for Fields statement can now specify that exactly one field be selected.
- New Prompt for Text statements no longer create a Multi Line Editor button by default.
- Query Database statements now force all keys to be Unicode UNFC to avoid issues when copying files and updating databases between drives using a different name encoding.
- The Re-Encode statement can now re-encode to Unicode UNFD.
- The Scanner statement has new functions:
- Scan Unsigned Integer
- Scan Unsigned Integer or Hexadecimal.
- New statement named Sort Container Array. The statement sorts an array component by string items or at a supplied item in an object.
- The Sort Form statement has two new convenience functions.
- Sort Multiple Items treats the source as a list delimited by the multi value delimiter. Leading and trailing spaces, empty items and duplicates are removed and the list is sorted in ascending order.
- Sort Multiple Items Excluding First is the same except that the first list item remains first.
- The Standardize on List Items statement can now specify the source fields in a named variable.
- New statement named Supported Fields. This statement provides some guidance to the Multi Field Editor to determine if the specified fields are appropriate for an action, or function button. The statement is optional. If not specified, the Multi Field Editor assumes valid for all fields.
- The Test Run Context statement can now test if an action was started from the Multi Field Editor, or a function button.
Other Multi Field Editor Changes
- The Sort Form function supports the new modes added to the Sort Form action statement.
Bug Fixes
- If you had an old Mac (and required the OM version) and were running a patched version of macOS >= 10.13, the v6.11 update process looped.
- The Append to Values menu item on the function button to the left of the Involved People and Musician Credits fields, displayed a text field which accepted rich text. This could look a little weird when pasting text from a browser.
- The Is Database Open statement's documentation did not describe how named variable Database Status was set.
- The main window's db column was erroneously showing some files as having Beatport track IDs. The column's display logic no longer looks for IDs in filenames, only in the well defined places. The Beatport Importer will still attempt to extract the IDs from filenames if they cannot be found in a well defined location. ie. only the display has changed.
- After inserting a regular expression sequence [^set] from the context menu, ^se was selected as opposed to set.
- Doing a Find in an action editor window did not always provide access to all warnings.
- The Enumerate Fields and Extensions statements Numeric Fields function was not returning Playlist Delay or Rating.
- The Enumerate Fields and Extensions statements URL fields function was not returning Commercial Information Webpage or Official Artist/Performer Webpage.
- The Test Run Context statement's Started Action modes were not always working correctly.
- The Prompt statement's Flush User Log and Ignore if Batch settings were incorrectly entwined. If you are using any of these modes, you should open the action, check the value and resave it.
- The Set User Defined Text Item statement was not displaying 'only if empty' if the value was zero. Only the statement's display was incorrect.
- The Set User Defined Text Item statement was trimming leading and trailing spaces in the name at runtime. While this is more than likely benign, it is not correct.
- You could not delete a Rating on the All Tags editing panel.
- The Container Viewer's Copy Name/Index context menu item was using the selected as opposed to the clicked row.
- When an action finished, the last mapped Action Runtime Setting set was not unmapped.
Version 6.11 (11186.11180)
This is primarily a getting ready for Ventura release. If you don't normally read the release notes, please read at least the next section this time around.
macOS Support
- The standard Yate release is built on the latest macOS version using the latest development environment. Starting with Ventura it will no longer be possible to build applications for 10.10 through 10.12 with this configuration.
- In order to maintain support for these older OS versions, users on 10.10 through 10.12 will now require the Yate OM (old Mac) build. Previously this build was only required if the hardware was so old it was missing certain instructions used by required components. The OM build is functionally identical. Activation and Deactivation may require the built in manual processes.
- If you are running macOS 10.10 through 10.12 you must update to this release. Once Yate is built on Ventura, the standard release will not run on these versions.
- When you update, this release will detect the OS version and will automatically start a second update to the OM version if required. This will only happen once and will not affect subsequent updates.
Older Version Support
- Yate imports most of its content from previously exported plist files. When importing the files, the content is re-encoded if necessary. We have moved the lowest supported version many times over the years.
- Prior to Yate v6.11 the lowest supported version was 3.1
- As of Yate v6.11, the lowest supported version is now v4.0
- Exported audio metadata files are not effected by the change.
Removing all Tags
- File>Save Selected Files>Completely Remove All Tags does as the name implies. Where possible the entire tagging container will be removed from the audio files. Where not possible, all tags will be cleared. Tags which have been configured to be aotomatically written whenever a file is saved will not be written. The implementation sets the Editing State prior to clearing the tags and saving the files. This means that you can do an Edit>Revert to Editing State and restore the files even after they are saved ... unless you again change the editing state,
Main Window Sorting
- There is a new Sort by Folder item on the Sort menu. It sorts by path to folder ascending followed by the default sort.
Preferences Changes
- Preferences - Audio - Common
- There are now two possible values which can be written when auto setting the File Type field on a file load. Filename Extension is the old behaviour which sets the field to the unmodified filename extension. When Extension or Stream is chosen, MPEG-4, OGG and Opus files will have the field set to the audio stream type (AAC, ALAC, Opus or Vorbis). Other audio types will have the field set to the filename extension in upper case.
- Preferences - General - Advanced
- Preferences - Audio - Common's Multi Value Delimiter setting has been moved here.
- There is a new option to minimize sticky database windows when automatically opening them at startup.
- Preferences - Rename
- All settings associated with renaming have been moved to this section.
- Preferences - General - Basic's Invalid character substitution setting has been moved here.
- Preferences - General - Basic's Rename space handling setting has been moved here and renamed to Space handling.
- Preferences - Audio - Common's Rename substitution setting has been moved here and renamed to Multi Value delimiter substitution.
The Multi Field Editor
- Trim functionality
- Additional character sets are now available. A custom list of characters can also be provided.
- The effective character set can be inverted to allow easier removal of unwanted characters.
- The All non alphabetic characters setting has been removed. Use Alphanumeric, Inverted for the same effect.
Audirvana and APE files
- The pre-installed APE mapping now contains additional read only aliases for Disc, Disc Count and Track Count.
- When using Audirvana the following mappings should be the write (default) APE mappings:
- Disc must be mapped to DISCNUMBER
- Disc Count must be mapped to DISCTOTAL
- Track Count must be mapped to TRACKTOTAL
- These definitions will only be present for new installs of Yate unless you do a Yate>Reset Built in Items>Reset|Import APE Mappings. If you've changed the out of the box APE mappings, you can manually create the mappings.
Doppler Music Player
- The Doppler music player is now supported. The extended file attribute which tells the player to update its library can automatically be written.
- The support must be enabled via Preferences - Audio - Common - Set Doppler refresh attribute.
- If the preference setting is not enabled, the first time you do an Edit Info With>Yate in Doppler, you will be prompted to enable it.
Audio Properties
- There is a new property named Xattrs which displays a list of the correctable attributes fixed by the File Maintenance statement which are present.
- The Xattrs property can be searched in the main window filter panel.
Debugging Actions
- Changes to the Debug statement's configuration are retained during a session. A new session is started whenever an action is run from the UI or the Batch Processor.
- The default configuration is only applied when a session is started.
- The appearance of the debug configuration panel has been modified.
Action Statement Changes
- When editing JSON text in a multi line editor you can now request to view the text in the Container Viewer.
- The Add to List statement can now replace one or all existing items if the only if the not already in list option is enabled and case or diacritic insensitive is enabled.
- The Copy Files, Create Symbolic Links, Export Metadata, Import Metadata, Import Metadata from Audio File and Move statements all support transformations. The Convert multi value delimiter sequences transformation is now a popup with three values:
- None
- No transformation is applied to multi value delimiter sequences.
- Setting
- The Preferences-Audio-Common-Rename Substitution setting controls the transformation.
- Named Variable
- The named variable Transform Multi Value Delimiter is interpreted the same as the Preferences-Audio-Common-Rename Substitution setting and controls the transformation. This is useful when you want a different transformation for path components and a referenced rename template.
- The File Maintenance statement can now also clear the Doppler extended file attribute.
- New Prompt statements do not automatically get a Copy button.
- All prompt statements which have configurable buttons can now specify that a button should be segmented. A segmented button has a title (with an associated function) and a menu disclosure.
- The Prompt for Text statement
- The configuration Menu item insertion mode has been renamed Insert/Append from Comma Separated.
- When Insert/Append is selected the delimiter is read from named variable Prompt for Text Append Delimiter. If the named variable is not defined or is empty, a comma will be assumed. The named variable is cleared by the Prompt Reset mode.
- The Prompt from Container statement
- A display only menu can be associated with a row. When valueIsPopup has a value of 1 and value is -2, the popup menu is only presented for informational purposes. The value is not modified when a menu item is selected.
- When appending menu items, the popupDelimiter key sets the delimiter to be used. If the key is omitted or empty, a comma will be assumed.
- When the panel closes the selected table row is always returned. Previously it was only returned if a single row selection was being forced.
- You can configure the panel's checkbox (above the buttons) to exit immediately.
- The Save statement has a new setting named Completely remove all tags. Where possible the entire tagging container will be removed from the audio files. Where not possible, all tags will be cleared. Tags which have been configured to be automatically written whenever a file is saved will not be written.
- The Save Variables and Restore Variables statements have been redesigned to work with a container as opposed to a named variable. The statements are now far more efficient. There is no longer a need to specify only a single file's track variables should be saved due to the increased efficiency. Variables are now always saved on a per file basic. With Restore Variables you can now specify that you want to restore all variables which were saved, independent of the variable numbers.
- The Scanner statement modes to scan from or up to a set of characters now supports the addition of canned character sets. The effective character set can be inverted.
- The Trim statement now supports additional character sets. A custom list of characters can also be provided. The effective character set can be inverted to allow easier removal of unwanted characters. The All non alphabetic characters setting has been removed. Existing actions with the setting have automatically been changed to Alphanumeric, Inverted.
Escape Sequences
- There is a new escape sequence \sp which inserts a single space character.
Named Variables
- Named variable Prompt Menu Item Reference is now used wherever Prompt for Text List Selection was used.
- Prompt Menu Item Reference more clearly identifies what is stored.
- Prompt for Text List Selection is now treated as an alias of Prompt Menu Item Reference.
- Prompt for Text List Selection still works but is replaced at runtime with Prompt Menu Item Reference.
Deprecations
- Specifying Yate in a Clear User Defined Items by Source statement is now deprecated. Use a Yate Database IDs statement to clear the Yate Album ID and Yate Track ID tags. This Yate Database IDs statement can remove the tags even if they are defined as custom fields.
- Usage of the Prompt for Text List Selection named variable. Use Prompt Menu Item Reference instead.
Bug Fixes
Version 6.10.5.3 (11092.11086)
Bug Fix
- If the Move action statement encountered an error while deleting parent folders, a crash could occur. If a crash did not occur, the error was not always reported correctly. Typically the error was caused when trying to delete a folder with insufficient privilege. (eg. Downloads)
Version 6.10.5.2 (11091.11086)
Bug Fix
- Yet another text field dark mode regression.
Version 6.10.5.1 (11090.11086)
Bug Fix
- When initially empty, some multi line text fields were not flipping the text colour when in dark mode.
Version 6.10.5 (11089.11086)
Rename Templates
- New tokens have been added.
- Year4 will insert a Year field cropped to YYYY regardless of the display format. The Year token respects the display format.
- Remove Articles will cause a single leading article to be removed from subsequent inserted fields. The articles are defined in the Preferences - Exception Natural Sort Set.
- Preserve Leading Articles will reset the processing caused by a Remove Articles token.
- IfMultiple field will test if a field has any contained multi value delimiters. If a multi value delimiter is found, the if construct is true.
Bug Fixes
- The Discogs wizard was not properly handling too many files. No files were mapped causing you to change the file selection.
- The main window's Column Display Manager was not updating the menu list after renaming a saved layout.
Version 6.10.4 (11083.11080)
Creating Binary Content Tags
- These changes are primarily to assist people distributing tracks who want to include binary tags.
- There is a new action statement named Import General Encapsulated Object. The statement only operates on ID3 and MPEG-4 audio files. There are special considerations for MPEG-4 files which are documented in the online help.
- The Multi Item Field List Enumerator statement can now enumerate general encapsulated objects and describes all fields.
- In order to avoid inadvertent editing, all MPEG-4 UDTIs which contain binary content will be displayed on the GEOB (and All Tags) editing panel as opposed to the UD Text panel. Note that previously this was only done for tags which used a different reverse dns name than com.apple.iTunes. In practice, tags with binary content are rare.
Version 6.10.3 (11078.11071)
The Chapter Editor
- Evidently some people use chapter names with leading spaces to denote sub chapters. The Chapter Editor and the Chapters action statement will no longer trim spaces when modifying a name.
- There is a new setting at the bottom of the Chapter Editor window which can enable the display of spaces as centered dots.
Action Statement Changes
- The Make Numeric statement has two new functions. As Alphabetic Index will return a value of 1 through 26 if the first character in the source is in the range of A through Z (case and diacritic insensitive). As Unicode Character Value returns the Unicode value of the first character in the source.
- The Decompose option has been removed from the Combined Credits Functions statement. The option did not do what was documented and is redundant as the Format Credits statement can perform the decomposing of merged people on credits.
Bug Fix
- When reading a FLAC file with Roon encoding, if a Conductor tag was in a PERSONNEL comment as opposed to a CONDUCTOR comment, it was assigned to Involved People. It should have been assigned to Musician Credits. This more than likely never happened as Conductor has its own dedicated field.
Version 6.10.2.1 (11070.11060)
Bug Fix
- The Count Items statement when processing a list in a named variable, unescaped the delimiter twice. This was almost always benign.
Version 6.10.2 (11069.11060)
Rename Templates
- IfExists constructs always treated 0 as does not exist for various numeric fields such as Track, Disc, etc. From now on custom fields which are declared as being Yes/No fields will be handled the same.
- There are new tokens named IfTrue and IfFalse to logically test the value of a track variable.
Year Field Formatting
- Version 6.10 changed the default value for the Preferences - File List - Do not enforce formatting of the Year field to be initially on. The setting only affected the display of the Year field and manual edits in the field. Actions and importing metadata can set any value.
- In order to retain the current functionality and to add the ability to force the truncation of the Year field when saving files, the setting has ben modified. It is now named Format the Year Field and can be set to Never, Display as YYYY or Display and Save as YYYY. The effective previous value is preserved.
XML Files
- Yate can now open XML files in the Container Viewer. All open modes and Finder Open With are supported.
Action Statement Changes
- The Prompt From Container statement supports new items to force and maintain a single selection from a list of items.
- The Make Numeric statement has a new function to return 1 for true or empty for false.
- The Test Value of Boolean in Container statement will now work on String items.
Resource Action Changes
- There is a new action named GetSongBPM which uses the API provided by the GetSongBPM.com site. The action extracts various metadata from the site's database of over six million songs.
Documentation Updates
- The Renaming and Restructuring Files and Folders document has been updated.
Bug Fixes
- When using an Open URL statement to get data and the url was malformed, Yate could hang.
- The Compare Text statement's fuzzy test mode was not hiding the trim options which are effectively always enabled.
- When the Container Viewer was saved as a property list a beep was always issued.
- Saving the displayed contents of the Container Viewer as a property list was creating an invalid file if the container contained a NULL.
- File>Open from Clipboard could not load plist files.
- Fixed a bug introduced early in the v6.x cycle which caused various flow control action statements executing Grouped-Once to fail.
Version 6.10.1 (11056.11050)
Preferences - Actions
- When the Batch Processor is done its panel remains open and allows you to view the created log file. The last created Batch processor log file is always available on the View menu. You can set the Automatically close the Batch Processor panel when done option to have the panel close when done. Note that the setting is ignored if the Batch Processor was cancelled or if it was running in any mode other than traversing disk folders.
- An action can use the Preferences statement to override the Automatically close the Batch Processor panel when done setting. Overrides will be ignored unless you enable the Allow actions to override the auto close Batch Processor panel setting option.
Action Statement Changes
- The List Manipulate statement has a new Join function. Two lists are combined on an item by item basis, joined by a specified delimiter.
- The Preferences statement has a new single preference to override the auto closing of the Batch Processor panel. Note that this setting is ignored if the new Preferences - Actions Allow actions to override the auto close Batch Processor panel setting is not enabled.
Bug Fixes
- The List Manipulate statement's Key-Value function was not coalescing keys of the same name. The case and diacritic sensitive options were ignored.
- When creating a database if preserve sidecar and standalone were specified, the sidecar would be preserved even if the standalone status differed.
- The change made to sorting in v6.10 to correct sort as in Finder messed up the matching of names in the Preferences list manager. It was possible that names differing only in alphabetic case were duplicated in a list. It also meant that the Combined Credits Manager's Apply Alphabetic Case of All Known People function did not work.
Version 6.10 (11044.11040)
The Year Field
- The Preferences - File List - Do not enforce formatting of the Year field setting is now initially enabled in new installs.
- This build turns the setting to enabled. If you want the old behaviour, change it in the preferences.
- Ten years ago almost everyone used iTunes and the old default value made sense.
The Discogs and MusicBrainz Wizards
- You can now search by barcode.
- To search by barcode enter a UPC/EAN barcode in the ID field with a letter U (case insensitive) anywhere in the field.
- All characters which are not decimal digits will be removed before issuing the search.
Plist files
- The Container Viewer can now save its content as a plist file.
- File>Open and Finder Open With can now specify plist files. The files are opened in the Container Viewer. You cannot use this mechanism to import Yate plist files.
- plist files dragged to the main window are expected to be Yate plist files and will not be opened in the Container Viewer ... unless the Option key is down which forces their display in the Container Viewer.
The Container Viewer
- When saving files you can now save as JSON (compressed or not) or a plist file (XML or binary).
Copying Metadata
- The UI based Copy Metadata>Copy Configured functions can now specify exclusions for UDTIs. Excluded items are not copied or removed. As an example this is useful to copy all UDTIs except for an Apple App PID.
MusicBrainz Earliest Recording
- The previous implementation always attempted to match titles and artists. The new implementation also supports only searching by title.
- As the functionality is performed by an action, a second action will be imported for the title only menu item.
Action Editor
- Debug statements are easy to locate as they are displayed with red text and can be selected by the Find panel making them easy to delete. There are also context menu items to disable Debug statements.
- Often while debugging an action you might introduce non Debug statements for debugging purposes. There are new context menu items to mark statements as being debug statements. These statements will be displayed with red text and will be identified via the Find Panel's Debug search. The marked statements will also be affected by the Enable / Disable Debug context menu items.
Action Manager
- The Log Action Usage function has been renamed Log Action & Debug Usage. It will now log any action which contains a Debug statement or any statement marked as debug.
Resource Action Changes
- The Apple Music set of actions has new imports related to artist artwork.
- The UI for the Sync Files suite has been completely rewritten. All options are now presented on a single panel. The previous versions issued far too many questions. There are additional syncing options including the ability to convert only selected file types and to copy others. The utility is now at v5.0.
- Two new template mapping are provided for Roon. One which is the older Roon custom panel with recording fields and associated named variables added (Roon+). The second is a custom panel which only contains the recording fields and associated named variables (Roon Rec Info). View the Roon Mappings online help for the download links.
- There is a new Compare Apple App Track List to Disk set of actions. The following items are identified: tracks in iTunes/Music which are not on disk under the specified root folder; tracks under the specified root folder which are not in iTunes/Music; tracks on disk which cannot be added to iTunes/Music. This is done without reading or writing any audio files.
- There is a new Create Database Utility action which allows you to configure various settings and then runs the batch processor to produce a track and/or album database, create Yate Track and Album IDs and save folder.jpg files. Everything is optional and is intended to simplify the creation of the databases.
- The Musician Credits to DB action now handles all credits: built in and in custom fields. The action can optionally produce a track inclusion column when a single album is selected.
- There is a new action named Split FLAC using Cue File and XLD. All cue files in a selected folder are used to split their referenced files into multiple tracks.
- There is a new Update Files from Track Database set of actions. The actions are run from within a track database and update files (loaded or not). One action updates based on selected rows in the database. The other action uses a Modified column to determine if a file needs to be updated. Once a file is updated, the Modified column is cleared.
Escape Sequences
- \?pm returns the current state of the preserve modification date/time when saving files setting.
New Action Statements
- There is a new action statement named Create Container from XML. A container is created from the supplied XML source.
- There is a new action statement named Get Tracks from Apple App Playlist. The statement extracts the paths of tracks in the specified playlist. Specifying Music will extract the paths of all tracks.
Action Statement Changes
- The Clear statement can now be used to clear a list of named variables.
- The Contents of Folder statement can now optionally return hidden files.
- The Copy Metadata Between Files statement supports a list of UDTI exclusions in named variable Transfer UDTI Exclusions.
- The Create Album/Track Database statements can now specify which export set to use at runtime.
- All container statements which can enter JSON text in a multi line editor will now give error messages and position to an error. We've written our own parser just to handle errors.
- All container statements now return error text in named variable Container Error.
- All Prompt statements: The Continue-Always button mode is changed to Exit which is functionally identical. Continue-Always can no longer be selected. If you edit an action which used Continue-Always you will be notified that changes were made and you'll have to save the action.
- The Compare Numeric statement's compare against zero mode has been removed. The default for new statements is now compare against text with an empty text string which is equivalent to zero. This removes the need to change the mode in order to enter a compare against value
- The Debug statement can now open and position actions to the calling Debug statement, from the call stack at runtime.
- The Extract Data from Container statement has two new modes. You can extract the directed path of a specific row by matching data. You can extract the directed path of all rows containing a specific key. These modes can be used to avoid having to reference array items by their absolute index ... which might change over time.
- The Extract Preference Set statement has new modes to extract the names of all Export Sets; those Export Sets valid to use when creating an album database; those Export Sets valid to use when creating a track database and a list of all actions.
- The Indexed Artwork statement now supports per file indexes and has a new mode which returns an index matched based on the picture type and/or description.
- The Involved People / Musician Credits Functions statement has a new mode called Combine Credits. The credits across all files are combined such that they are the union of the individual credits.
- The MusicBrainz Earliest Recording statements now supports matching by title only.
- The Open Database for Querying statement now sets named variable prefix-DB Type to one of track, album, or standalone.
- The Preferences statement now allows you to change the value of the preserve modification date/time when saving files setting.
- The Prompt statement's User Log mode can now specify an alternate location for the file.
- The Prompt for Fields statement now supports Menu buttons.
- Prompt from Container statement
- You now open the get file panel for rows which support it clicking on the icon to the right of the Value field.
- The display of popup rows has been changed to use a custom control which works as expected. The built in controls which were used in the past did not. Potentially editable popup rows now display a down triangle for the icon. Non editable popup rows display an up-down arrow icon.
- Popup menu items can now optionally be Objects as opposed to Strings. The following keys are processed: name, hidden, disabled
- Rows can provide a help key which supplies per row help.
- Rows can provide a getPathPrompt key which is used as a prompt when a get path/folder panel is displayed.
- Each row can now be disabled based on multiple tests against the state or value of different rows.
- The Prompt Window Size named variable read and written by the statement now also identifies the width of the Name column.
- The valueIsPopup item is now a Number as opposed to a Boolean. Older items will work correctly. The valueIsPopup key now distinguishes between popups which take indexes as values; editable text based values and non editable text based values.
- The popupEditable key is no longer required although it is still supported ... for now.
- The valueRO item has new settings providing additional granularity.
- The statement now supports Exit and Menu buttons.
- The Read/Write Plist File statement can now write XML or binary plist files. When reading it sets named variable Read Text File Encoding to XML plist or Binary plist.
- The Repeat For statement will now assume an adjustment value of 1 if it is omitted.
- The Scanner statement's bracketed functions now support a single delimiter to be used as the left and right delimiters.
- The Search Discogs and Search MusicBrainz statements can now search by barcode.
- The Split Field statement has been renamed to Split.
- The Test File Type statement can now specify Vorbis and Opus for additional granularity in OGG files. The file types you are interested in testing can now also be specified at runtime via a list in a named variable.
- The Test if File Exists statement now sets named variables describing if the item was a folder and if it was hidden.
- The Transfer Metadata statement has adjusted return status codes allowing for more granularity. It also supports a list of UDTI exclusions in named variable Transfer UDTI Exclusions.
Bug Fixes
- The Artwork to folder.jpg statement was displaying as Artwork to folder Icon. The statement executed correctly as only the display was incorrect.
- It was possible to open the Discogs and MusicBrainz wizards when an action was running.
- All multi line text displays now attempt to preserve the position when inserting from a context menu. Far less jumping around.
- The Add Item to Container Array statement's Items in List mode was not handling the delim field correctly. It was losing focus after each character.
- Directed paths produced by the Container Viewer were not always escaped properly for use in an action.
- The Contents of Folder statement had issues with folder paths ending in a space and filenames containing backslash characters.
- The Export to Apple App statement was cancelling batch processing on a error.
- The Logical Set statement was only accepting numeric values. true is now recognized as 1. false previously worked as intended.
- The Prompt statement was enabling Show Step Info when selecting Alert or Critical Alert.
- The Prompt for Text statement was not always giving the text field the focus when the panel was first displayed.
- The Prompt from Container statement:
- The statement would never show the context menu if the State column was hidden.
- Rows which were editable popups were not editable if the menu was empty.
- Setting a menu name to empty was not hiding the menu item as documented.
- The Preferences - Export Sets Yes/No column was cropped on Monterey.
- Yet more tweaks to the writing of the status bar from within an action to force the display faster.
- The Play Sound statement was not saving the correct sound when edited.
- Various sort as in Finder functionality was not always as in the Finder. This manifested mostly with 16 bit Unicode characters.
- The Involved People / Musician Credits Functions statement's Remove Empty Credit function was not working as expected.
Version 6.9.1.1 (10929.10905)
Bug Fix
- Certain PDF images imported from the Cover Art Archive incorrectly resulted in having a presented size of 0x0. This caused an issue if the images were dragged.
Version 6.9.1 (10928.10905)
The Multi Field Editor
- The Replace and Find & Remove functions now support diacritic mark insensitivity.
- There is a new Set function which also supports appending and prepending. The function's text field supports a limited set of escape sequences typically found in action statements. Complex text patterns adjusting for each selected audio file can be specified.
The Action Manager
- There is a new context menu item to move selected files and folders to a specified destination folder.
Action Editor Windows
- When saving files you can now specify the Always policy.
Version 6.9.0.2 (10918.10905)
Bug Fix
- On some older OS versions the Old Mac release was not creating the Pre version backup files.
Version 6.9.0.1 (10917.10905)
Bug Fix
- The File Browser's context menu was not enabling/disabling menu items correctly.
Version 6.9 (10916.10905)
The All Tags Editing Panel
- There is a new All Tags editing panel.
- The panel is a multi item panel such as UD Text, UD URLs, etc.
- The panel displays all values for any given tag in use by one or more files. If you have 10 files selected, you're more than likely going to see 10 Title tags.
- While the panel's context menu shares many of the menu items found on other multi item panels, there are a few new ones:
- Show Containing Edit Panel will display a submenu of other editing panels which contain the item. Clicking on a panel name, will cause the panel to be displayed.
- Common UDITs are normalized in Yate so that a single name can be used to refer to them regardless of the audio file format. If you select a UDTI, there is a File Representation item which pops up a panel describing the real storage name for each audio format. This is also available on the UD Text editing panel.
- Add New item type is replaced by Add New Item which will display a long menu of the types of tags which can be created. All tag types except Unhandled can be created.
- As the add new menu can be quite large there is an Add Favourite item which displays a user configurable menu of tag items.
- When adding a new item or editing an existing item the edit panel may have a disclosure button which is context sensitive to the item being edited.
- You can elect to enable a sub list of referencing files for each tag. Many of the context menu items adjust their meaning if one or more file references are selected as opposed to a tag item. For example doing an Edit with one or more file references selected only edits the value for for those files as opposed for all files.
- The All Tags editing panel has its own find panel activated by Edit>Find or Command+F when the panel has the focus. The find panel has the following options:
- You can optionally include the Description column's content in the search.
- You can optionally include the Type column's content in the search.
- You can specify that the searches are to be exact or the default of case, diacritic and width insensitive.
- You can specify that searches should be wrapping or the default of linear.
- There is a Log button which logs all matches and displays the results in the Log Viewer.
- The Edit>Find>Find Tag With Content function will now display the All Tags panel if it is not already visible and will activate the All Tag panel's find panel.
- When you're in the main window entering Command+F activates the filter panel unless the All Tags panel has the focus. Foreseeing possible issues, the filter panel has a new Search All Tags button which will display the All Tags panel if it is not already visible and will activate the All Tag panel's find panel.
Action Statements
- There is a new Read/Write Plist File statement which reads or writes the file using a container.
- The Extract Data from Container statement has new tags to identify read data as being a date (=) or data (?). These two items can be read by the new Read/Write Plist File statement but cannot be edited. The types will be displayed in the Container Viewer.
- The Extract Preference Set statement
- New function named Current Preference List Names to Default. Produces a key-value list of current preference list names to default names.
- New function named Default Preference List Names to Current. Produces a key-value list of default preference list names to current names.
- New function named Names of Preference lists. It returns a list of the current names of all preference lists.
- New function named Indirect Preference List. Named variable Indirect Preference List contains the name of the preference list whose contents is to be extracted.
- New function named Lists to FieldsA key-value list of preference list names as keys with values of those fields associated with them.
- New function named Fields to ListsA key-value list of field names as keys with values of those lists associated with them.
- The Make Numeric statement has a new As Boolean setting.
- The Preference List Item Functions statement has a new function named Indirect Preference List. Named variable Indirect Preference List contains the name of the preference list to be modified by the specified function.
- The Prompt statement can now configure buttons to display a menu.
- The Prompt for Text statement
- now visually displays newline characters.
- There is a new configuration item/format code to display spaces as centered dots.
- The Read Only and Hide format codes no longer depend on the presense of the picker button.
- Display of the multi line editor no longer depends on the presense of a disable newline code or a picker button.
- If a picker button is displayed, the multi line edit panel will display one as well. Note that menu items which would cause the panel to be dismissed are ignored.
- Can now configure buttons to display a menu.
- Can now immediately display a multi line editor via the new Multi line setting.
- The Prompt from Container statement is now lenient on data types to allow the Create Container from JSON statement to specify named variables for all integer/boolean fields as strings.
- The Re-Encode statement has new modes to backslash escape a regular expression pattern and replace template.
- The Sort Form statement (and the Multi Field Editor's Sort form function) has a new mode: Remove Leading Article.
- The optional help button displayed on Prompt category statements can now display a help panel with marked up text. This is in addition to being able to being able to display the web page at a URL in the browser.
Prompt Statement Markup
- There are now underline and strikethrough markup codes. u underline on, U underline off, x strikethrough on, X strikethrough off.
The File Browser
- The File Browser's context menu now has a Pinned Folders submenu.
- The menu will display a Pin Current Folder or Unpin Current Folder menu item.
- The menu will contain a list of all pinned folders. Clicking on a pinned folder will cause it to be displayed in the File Browser.
- All pinned folders can be removed by Clear Menu.
The File Browser Information Area
- This optional panel previously only displayed read only audio information.
- You can now configure, (on the Window menu), the panel to display a common default artwork item in selected files. Double clicking on the displayed image will display the Artwork editing panel.
Popup Help Panels
- Popup help panels now support dark mode.
- If you want the old behaviour where popup panels were always light, you can configure them in Preferences - General - Dark Mode.
- The panels now respond to Font>Bigger and Font>Smaller.
Container Viewer
- The Container Viewer has a new menu item to copy the selected item's Name / Index column to the system clipboard.
Database Viewers
- When inline editing a cell in an album or track database and the associated files are loaded, the files will be modified. This behaviour can now be disabled in Preferences - Databases.
Custom Field Presets
- Added presets for Roon Album Tag, Roon Track Tag, Section, and Version.
Bug Fixes
- After assigning keyboard shortcuts to the File>Open Selected Items In menu, they were incorrectly moved to the File>Open Track Playing In menu. You will have to recreate the shortcuts to fix the issue.
- The Decompose Title into Classical Metadata statement could crash if the created container was formatted incorrectly.
- The Build Component List statement was not listing the Artist List as a list association.
- The Sort Form statement's documentation has been incorrect since the addition of the as List option. Support for previous secondary delimiters was dropped at that time. The documentation and the Multi Field Editor have been updated.
- The Add to List statement was not properly retaining the Case and Diacritic Insensitive settings.
- The Prompt statement's Menu mode was not correctly setting the Prompt for Text List Selection named variable.
Version 6.8.1.2 (10811.10750)
Changes
- The Beatport Importer now ignores 404 errors on supplied artwork URLs.
- Enabled Work Name, Movement Name, Publisher, Catalog Number, Network Name and Show Name to support multiple values.
- Preferences - Lists - Advanced List Settings now allows all lists to be associated with the Combined Credits Editor. The previous restrictions no longer make sense now that lists can be renamed and repurposed.
Version 6.8.1.1 (10808.10750)
Bug Fix
- Depending on your preference settings, backups could fail and a crash could occur when exiting the application (v6.8.1). Subsequent starts of the application could display a 'crash warning' and it is possible that no logs are available.
- It's possible that you receive one additional 'crash warning' after installing v6.8.1.1.
- After installing the update please do a Yate>About Yate to verify that you are in fact running v6.8.1.1. If not, you will have to download the application from the website again.
- If for any reason the update does not work, you will have to download the application from the website again.
Version 6.8.1 (10806.10750)
Databases
- The File menu has a new Create Database... menu item. The function allows you to create a database using an Export set to control which columns are created. This differs from the File>Save As Database menu item which always creates a standalone database based on the currently displayed columns.
- The new function provides a UI based equivalent to the Create Track Database and Create Album Database action statements.
Database Preferences
- You can now set a character string to be displayed for the Loved column in an Album database when the value is mixed. ie. the album is not all loved, disliked or none.
- The default value is a green heart. If you want the old behaviour which was to display nothing, simply empty the new Mixed field.
Configuring the Main Window's Context Menu
- Preferences - File List - Context Menu - Configure now supports the reordering of the menu items.
- It also supports the insertion and removal of separator lines.
Menu Changes
- The File>Save As CSV/TSV File menu item and the equivalent file list context menu item have been renamed Save As Database
- The file list context menu item named Display Folder in File Browser has been renamed Show Folder in File Browser
- The Apple Apps >Add to iTunes Staging Playlist menu item and the equivalent file list context menu item have been renamed Add to Apple Apps Staging Playlist.
Bug Fixes
- When doing an Apply Database Values to Open Files from an Album database and the rows did not have a Yate Album ID, it is possible that some selected files were not updated.
- Monterey Only: If you change a Love field value to Dislike, by any means other doing it in an editing panel, the editing panel will not be updated.
- Some menu items in the save panel presented by the File>Save As CSV/TSV File function may have been greyed out.
- The Enumerate Fields and Extensions statement was messed up. Various enumerations returned an incorrect list.
- The Map Metadata to Files action statement was broken in v6.7. This caused the Search Discogs/MusicBrainz Suite of actions to fail. No changes are required to the actions.
Version 6.8 (10793.10750)
Much of the work in this release is devoted to ensuring that older Macs and older versions of macOS are supported.
Older Mac Support
- Certain third party components used by Yate do not support Macs from early 2010 or older. This is a hardware instruction set issue. We've been fighting this issue since v6.7 was released.
- Yate will now detect the incompatible Macs and will automatically start an update to a functionally identical version which will run correctly. This will only be done once.
- The About panel will have an OM designation after the build number when running the alternate build.
- Subsequent updates will work as expected and will download a newer OM version.
- If you're using the OM version and you migrate to an Apple Silicon based Mac, Yate will automatically detect the fact and you'll be told to download the standard build and install it as opposed to running the OM build.
- If you're using the OM version and you migrate to a newer Intel based Mac, Yate will not automatically detect the fact when started. In this case you should always download the latest version from the web site.
- There is no longer a need to install additional components on Macs running 10.13 or later.
Old Mac OS Support
- Many sites will not accept the SSL certificates distributed with MacOS 10.10 and 10.11.
- Manual activation and deactivation processes are now provided so that you can successfully activate or deactivate without reaching out for help. When we have to intervene it's a two step process and can take a while.
- Additional information is provided in the updated About Activating, Deactivating and Migrating topic found on the Help menu.
Opening Files
- File>Open and the Finder's Open With function can now open all image file types.
Find Tag With Content
- From time to time you might view a file in a player and see metadata displayed and you have no idea where the data is stored.
- The Edit menu has a new Find Tag With Content menu item. You're prompted for a text string which is used to search all selected files.
- The results displaying the name and type of each matched tag and its containing edit panels are displayed in the Log Viewer.
AppleScript Interaction
- There is a new action statement named Call AppleScript Function.
- AppleScript functions of the form On functionName() can be directly called.
- Note that enire scripts are not processed ... just the named function and whatever else it calls.
- There are some restrictions as to what can be passed as parameters and returned. See the documentation for more information.
- As the script source is contained in the action, you can modify the source on the fly if you so desire.
AcoustID
- The AcoustID fingerprint component now supports Apple Silicon. Thanks to the AcoustID folks for supplying this. It's amazingly fast on an M1 based Mac.
Action Statement Changes
- The Add Item to Container Array statement has a new Items in List mode. All items in the list referenced by a specified named variable and delimiter are added to the destination array.
- The File Path Manipulation statement has a new Append Filename Extension mode. This is similar to the Set Filename Extension Mode and is intended for those cases where a filename extension is not present but the filename may contain a period (.)
- The List Manipulate statement has a new Reverse function.
- The Prompt statement has a new mode named Menu. A menu is displayed at the current cursor position. The menu is formatted the same as the menu in the Prompt for Text statement.
- The Prompt and Prompt for Text statement's menus can be specified as a list or in a container. The container method supports submenus and hidden items.
- Most action statement fields which require an integer value treat an empty string as zero. The Substring statement's Range mode no longer does this and returns an empty string for an empty range. An empty range typically implies no range as opposed to the entire string which an implied range of zero would return.
Bug Fixes
- Droplets sometimes did not launch Yate on certain versions of macOS. If you have a droplet which does not work, after installing this version, you will have to recreate it.
- The Prompt for Text statement's handling of separator lines in a menu was not working as expected.
Version 6.7.0.1 (10749.10735)
Bug Fixes
- Users of older Macs (early 2010 and earlier) have reported an immediate crash when starting v6.7. This is due to an incompatibility with the latest version of our license manager. This build reverts to an earlier version of the license manager which does not have the issue. A patch was issued to various users already. Those who received the patch can safely update to this build.
- Please read the full release notes available on the Help menu to see what is in v6.7.
Version 6.7 (10747.10735)
Data Types
- Yate has a new binary data type called containers.
- This is the first binary data type supported by Yate.
- Containers are designed to be efficient mappings to JSON data and can represent all JSON data.
- Containers are arrays or objects and items can be efficiently referenced by the means of a directed path.
- Far more information is available in the various new container topics in the help.
Container Viewer
- The Container Viewer allows the display of containers in a tree format such that items can be expanded and collapsed.
- The Container Viewer can be displayed from Debug statements and from a new Display Container Item in Container Viewer action statement.
- The displayed data can be saved as JSON formatted or compressed text to a file.
- The displayed data can be displayed as formatted JSON text in the Log Viewer.
Multi Screen Support
- Yate does image manipulation in a screen independent manner. However Retina display detection is based on a screen's properties.
- Prior to v6.7 Yate had an undocumented debug setting which enabled different techniques to detect if Yate had to manipulate images using Retina display scaling. This setting has been removed.
- There is a new Preferences - Artwork setting named Determine if Retina display adjustments are required. Most of the older debug settings are still available, however the default value of Using All Screens should work for all single and multi display configurations.
Preference Changes
- The Custom Field Configurator now divides common mappings into submenus.
- The Custom Field Configurator now applies Credit and Yes/No value settings when adding a commonly used mapping.
- In FLAC/Ogg and Ape Mappings you can no longer change the field type of an item mapped to a custom field.
- Added MinimServer as an audio prefset in Preferences - Audio - Common.
- Removed the default prompt text colour settings in Preferences - Actions. Use markup in the Prompt statements.
Miscellaneous Changes
- The function buttons on most main window fields in edit panels have a Show in Popup menu item. Useful when the text is too large for the field.
- The common UDTI menus now have submenus to make it easier to access.
- When displaying the contents of a plist file, Custom Field definitions are now enumerated.
- The Action Pending Window now supports dark mode.
- Open With and all open modes now handle .json files. They are displayed in the Container Viewer.
- Open from Clipboard can handle all file types handled by File>Open
- The popup help window is now resizable.
- Added Help>Activation, Deactivation and Migrating link.
- The Action>Copy Metadata menu now has items to copy the configured metadata. Previously the configuration panel had to be displayed to copy anything other than all metadata.
Action Statement Changes
- The Close/Save Query Database statement has a new format code (A) to autosize the columns.
- The Compare Date, Compare Numeric and Compare Text statements now support a text string as the left operand. This enables the specification of a left operand which can use any escape sequence. As with track variables, a left operand of text is applied across all files. A Once option may be used to limit the execution.
- The Compare Numeric statement can now do decimal as well as integer comparisons.
- New action category named Containers. The category contains 15 new action statements.
- The Debug statement can now display containers in the Log Viewer and Container Viewer.
- New statement Decompose Titles to Classical Metadata. Basically uses the MusicBrainz wizard's algorithm to extract classical metadata when importing.
- Discogs Metadata for Release supports containers.
- Eased some of the function usage in the Evaluate Expression statement. Better documentation of functions and the use of hexadecimal numbers.
- List Numeric Functions can now treat track variables as list items so you can sum, etc. track variables.
- Map Metadata to Files supports containers.
- MusicBrainz Metadata for Release supports containers.
- Open Database for Querying statement can now open a database as read only.
- Open URL now supports headers, schemes and the downloading of artwork.
- The Make Numeric statement supports hexadecimal.
- New statement named Preference Management used to examine the contents of a preference file or to export a preference file.
- The Prompt statement's Log mode has been renamed to System Log.
- New Prompt statement mode named User Log. The message is logged to a persistent store in ~/Library/Logs/Yate-User.log which can be viewed in the Console application by clicking on Log Reports in the sidebar.
- New Prompt statement mode named Flush User Log which will drain the persistent log at ~/Library/Logs/Yate-User.log.
- Prompt category statements no longer support the settings of a text colour. Use markup instead.
- Most Prompt category statements can now display a help button.
- When Prompt category statements are now added, they clear the configurable title.
- The new Prompt from Container statement can create a table oriented UI interface. Absolutely everything is configurable. Drag and Drop is supported.
- The Prompt for Text statement now supports validation that the entered data is a decimal number.
- Regular expression replace templates now handle \n \r \t and \uhhhh sequences. These are handled while pre-escaping named and track variables.
- The Scanner statement supports hexadecimal.
- Set, Set Named Variable, Set User Defined Text Item and Set Indirect statements now support only if not empty and only if the destination is empty settings.
- Show in Log Viewer is now valid while batch processing.
- The Substring statement has additional means of specifying the bounds.
- The Stop Action and Close Files statement was renamed to Stop Action and Close Selected Files.
- The Stop Action and Open Files renamed to Stop Action and Open/Close Files.
- The Test Run Context statement has additional tests.
- The Trash Files and Folders statement can now optionally specify that items should be deleted if they cannot be moved to the trash.
- The Trash Files and Folders, Delete Files and Folders and Show in Finder statements now accept paths relative to the home folder (~/) as well as absolute paths (/).
- The User Defined Items statement's Export function has been renamed to to Save and the Import function to Set. You are saving to a track variable or setting from a track variable.
- The User Defined Items statement has a new Initial Values option which can be used when saving a value. As opposed to saving a current value you will save the initial value.
- The Version statement now accepts versions numbers with three decimal places.
- Holding down Option when inserting a markup sequence from the menu, will not insert the closing sequence.
Escape Sequences
- New escape sequence to specify a reference to a container directed path: \?[ directed path \?]
- New escape sequence to insert the content of the Log Viewer: \?lv
The Action Manager & Action Editor
- Holding Option while double clicking on an action in the Action Manager will run it.
- Open now works on a folder in the Action Manager. Every action in the folder will be opened.
- The save text to clipboard options in the Action Editor have been reworked.
- Added Display Named Variable Usage context menu to the Action Editor.
Resource Actions
- The Duplicate Credit Names, Lookup Wikipedia Artist Bio, Sync Files, Version/System Info actions have been updated.
- New: Classical Metadata from Title can be used to extract or display metadata containd in the Title field.
- New: BPM Functions used to download BPL data from AcousticBrainz and provides actions to halve or double the values. Electronically calculated BPM values may be incorrect due to tempo estimation octave errors.
- New: Read JSON and Display. Displays JSON content stored in a file in the new Container Viewer.
- ... and one other interesting action. Check out the resources web page.
Documentation
- Yate and the P Word has be revamped. All examples are now available as a download.
Bug Fixes
- Apple specific UDTIs relating to Apple store metadata were not working as Custom Fields.
- List Numeric Functions on track variables were not working.
- The List to CSV Data statement was not being aggressive enough when deciding which columns had to be escaped.
- When saving a filter in a database, the disclosure button displayed a menu of the main window filters as opposed to the filters in the database.
- After doing a Look for Duplicates in a database viewer, filters did not work until the Results column was removed.
Version 6.6.1.5 (10552.10525)
Bug Fix Missed in v6.6.1.4
- The Show in Finder statement had issues on older versions of Mac OS.
Version 6.6.1.4 (10551.10525)
Bug Fixes
- The Prompt for Text statement always hit button 1 when the text field was terminated with a return.
- Expanding or collapsing a filter in the Filter Editor could on a rare condition crash.
- Expanding or collapsing a filter while editing is taking place now preserves the changes.
- When editing a field such as Title with different values in multiple files, if the allow changes warning was disabled for all types, it was never reenabled.
- Various bugs were fixed to ensure that proper synchronization occurs when editing Custom Fields or FLAC mappings.
- The Move statement's transformations had ASCII greyed out.
- Artwork Panel description fields were clipping as opposed to truncating.
- The Beatport Importer could crash if you expanded or collapsed items while downloading metadata. You can no longer expand/collapse items while downloading.
- When using a rename template containing a Track Symbolic token, a crash could occur if the associated metadata did not exist.
Version 6.6.1.3 (10544.10525)
Bug Fixes
- The List Item at Index/Sublist statement was not registering its track variable usage.
- A Prompt category statement Copy-Cancel button type was doing a Copy-Continue.
- The Import Artwork statement's scale imported artwork if required setting could cause a crash if no scaling was required.
- The Chapters statement was ignored on files containing a video track.
Version 6.6.1.2 (10543.10525)
Bug Fixes
- The Compare Fields statement was always setting the action test state. And and Or were ignored.
- The Prompt for Text statement's config setting of Require an Integer Value could be lost when editing if a different Prompt for Text statement was selected.
Version 6.6.1.1 (10542.10525)
Bug Fixes
- If more than ~20 Custom Fields were defined it was possible that a custom field displayed on a main window column was not correctly mapped.
- The Show in Log Viewer action statement was not properly accumulating its named variable usage for display in context menus. Action runtime settings were incorrectly reported.
- The Snapshot editor was not displaying PPI for artwork.
Version 6.6.1 (10539.10525)
The Action Updater
- When installing an update to a resource action, helper actions which were previously used but are no longer necessary will be removed.
Renaming, Copying, Moving Files and Space Handling
- When renaming, copying and moving files, every manipulated path component has leading/trailing spaces removed. Additionally sequences of multiple spaces are replaced by a single space. This default behaviour can now be modified in Preferences-General. You can leave the default behaviour, only remove leading/trailing spaces or do nothing.
Action Statement Changes
- The Open URL statement can now specify that a portion of the URL should not be escaped.
- The Open URL statement's ? form can now specify a fragment. This is so we can better position help in complicated action bundles.
- The Preferences statement has a new single value setting to modify the General Preferences rename space handling setting described above.
Resource Action Changes
- The Sync Files suite of actions has been overhauled. Lots of changes, consolidation and a few surprises.
Bug Fix
- The first time Yate was opened after updating, the Action Updater would test for updates each time the main window was minimized then displayed. Closing and reopening the application solved the issue.
Version 6.6 (10532.10525)
The Main Window
- The main window's minimum height is no longer dependent on the size of the tallest custom editing panel.
- Edit panels may now be larger than the viewable area. The panels now scroll vertically when necessary.
- On a per panel basis, when a panel cannot be viewed in its entirety, its scrollable size is the minimum size required by the edit panel.
- The number of rows in a custom panel is only limited by the size of your display.
- You can now define custom named sorts for the main window. You create and delete the named sorts from the table header's context menu's Sort submenu. The Title-Artist Sort introduced in v6.5.0.1 has been removed and has been implemented as a named sort which can be deleted.
- The table on the Manage Displayed Columns panels can now be sorted by column. Initially when Yate starts the sort order is Show-descending, Column-ascending.
Backups
- Backups now occur when closing the application as opposed to when it is started. There is no real difference except that it enables the following...
- Whenever you update to a new version number of Yate, the most recent backup file will be renamed to Pre Version Backup. These files are not recycled by the usual backup mechanism. Note that if you wish to restore to one of these files and it is zipped, the file must be manually unzipped. This is due to the fact that the file which was zipped had a different name.
Custom Panel Editor
- When a panel is cleared the row count is now reset to the default of twelve rows.
- Added a new Disk/Track Combined field item which combines Disc, Disc Count, Track and Track Count in a single grid cell.
- Added a new Love/Rating Combined field item which combines Love and Rating in a single grid cell.
- Added the ability to combine most two single line fields into a single grid cell. There is a new item (at the top of the menu) named Combine Two Fields.
Preferences - File List
- The standard Mac controls for text fields with a list popup, set the width of the menu to the width of the field. This can cause cropping when the field is narrow. The Use wide menus for list display setting enables the display of a wider menu when required.
Preferences - Audio - Common
- You can automatically set the default rating to five stars whenever a track is written and it is loved.
Action Buttons on Custom Panels
- If an action button is disabled because there are no selected files, you can now access its function button to edit the action. Previously the function button was always disabled along with the button.
Action Statements
- The Build Component List statement has been enhanced. You can now explicitely specify the preference list association for each source item. This can be done in the editor or at runtime. The source can be a list where every list item is individually processed. Reverse functionality can also now be performed.
- The Compare Text statement can now elect not to escape inserted content for regular expression comparisons. This means that you can construct regular expressions at runtime.
- The Enumerate Fields and Extensions statement's Supported Image Filename Extensions function is now deprecated. For now it returns an abbreviated list of the most common image extensions. The File Path Manipulation - Is this an Image File? and the List Manipulate - Filter - Is Image File functions correctly identify all OS supported image types.
- The File Path Manipulation statement has a new function named Clean Path Component. The function does not work on full paths. It works on path components. It performs the equivalent final manipulations performed on a component when renaming. All sequences of newline, control, illegal, colon (:) and slash (/) characters are replaced with a single instance of the Preferences - General - Invalid Characters Substitution field. Leading and trailing spaces are removed and all sequences of multiple spaces are replaced with a single space.
- The Format Credits statement now has runtime configurability.
- The Involved People/Musician Credits Functions statement now has runtime configurability.
- The List Manipulate - Filter - regexp modes can now elect not to escape inserted content for the regular expression parser. This means that you can construct regular expressions at runtime.
- The List Manipulate statement has a new mode named Identify Duplicates.
- Prompt category statements
- Most settings which had to be configured by manually setting named variables can now be performed directly in the statement. The new implementation automatically sets the same named variables when required.
- New prompt statements will enable all settings to their default values. The only exception is Prompt Title as it may be desirable to set a title once for an entire action. This will reduce the dependency on the use of named variables for settings in the future. Note that all prompt statements created prior to this release will work as expected as none of the new setting will have been enabled.
- The Prompt for File or Folder statement can now override the display of the OK button by setting named variable Prompt for Path Button.
- Prompt for Fields and Prompt for Text statements can use a new button type named Exit. An Exit button closes the panel without validating against any configured formatting requirements.
- There is no longer a default title for prompt statementss.
- The line under the title area is now hidden when the title is empty.
- Markup sequences can be inserted from a context menu in the text field. Items on the menu can be assigned a keyboard shortcut in Preferences - Shortcuts (10.13+). The markup context menu is also available on Set, Set Named Variable and in the multi line edit field of Append and Prepend.
- When changing a default set on the Preferences statement, you can specify none (case insensitive) to imply that there is no set of the associated type.
- The Preference List Add/Remove statement has been renamed to Preference List Item Functions. The statement now has a Return Matches function which allows for the extraction of the rendition of each specified element as contained in the list.
- The Read Text File statement will automatically handle binary plist files.
- The Scanner statement
- New function named Scan Bracketed String. Used to scan a string with a balanced set of left and right delimiters. The delimiters are returned.
- New function named Scan Bracketed Content. Used to scan a string with a balanced set of left and right delimiters. The delimiters are not returned.
- The Show in Finder statement can now explicitly specify files and folders to be displayed. The statement is now valid when batch processing.
- The Show in Finder, Delete Files and Folders and Trash Files and Folders now support a Get Path context menu item in the path specification field.
- The Show in Log Viewer statement can now leave the named variable field empty to imply that the viewer should be closed. Empty content will still do the same.
- New statement named Zip / Unzip.
Escape Sequences
- New escape sequence \av which returns the version number on the executing action file's Version statement, if available.
- New escape sequence \at which returns the descriptive text on the executing action file's Version statement, if available.
- New escape sequence \ad which returns 1 if the executing action file has associated online help, otherwise 0.
- New escape sequence \?rx which inserts the Preferences - General - Invalid character substitution field.
- New escape sequence \ai which inserts the name of the action initially called.
Properties
- A new property named Channel Count is available. As opposed to the Channel Mode property, it always displays a numeric value.
Main Window Filters
- Added Sample Rate and Channel Count to the main window filter Properties category
Snapshot Editor
- The status bar now honours the Font>Larger/Smaller Text on Status Bars items.
- When not displaying empty values, boolean properties with a value of NO will not be displayed.
Discogs and Musicbrainz
- The search results panel's status bars now honour the Font>Larger/Smaller Text on Status Bars items.
- The search results panel's table headers now support the auto resize column functions context menu.
- Text on the status bars is now centered.
Resource Actions
- Sync Files and Permute 3
- The Permute 3 Convert Selected Files and Sync Files actions have been rewritten to support the retention of audio properties when converting files.
- As both of the actions now share much of the same code, they have been bundled together as Sync Files.
- If you previously only downloaded Permute 3 Convert Selected Files, you will not be able to auto-update. You'll have to download the updated Sync Files suite.
- The profile format used by the Sync actions has been modified. An attempt will be made to update existing profiles.
- The bundle contains a new action named Permute 3 Convert Selected Files - Select Destination. This is an easier action to use when you want to simply convert files and preserve metadat using a single fixed Permute 3 preset.
- There is a new set of actions bundled under the name of Duplicate Credit Names. The actions are used to find, resolve and repair duplicate variations of a single credit name.
Bug Fixes
- The Prompt Default Button setting was not being applied on Prompt statements using Alert styles.
- The List Manipulate - Filter - regexp modes were not escaping inserted named and track variable contents for regular expression sequences.
- The Trim statement when operating on lists was not accepting any delimiter other than the default list delimiter.
- Disabling the display of properties in the Debug statement was not working.
- The copying/moving of items between lists in Preferences - Lists was not not working for the Custom 6 through Custom 10 lists.
- The Involved People/Musician Credits Functions - Remove People function could insert a redundant = if the field was initially empty. This would be removed when the file was written but it could cause unnecessary writes.
- When importing a preference list, the names were being decomposed if advanced list settings were set to Always. This is incorrect, imported names should be inserted without decomposition.
- Preferences - Discogs - Advanced - Ignored Media was always reset to 'blu-ray,dvd,video' when manually set to empty.
Version 6.5.0.1 (10421.10417)
The Main Window
- There is a new built in sort named Title - Artist Sort.
Bug Fixes
- v6.5 updated Debug statements such that Beep was cleared and Log was set. Setting Log only makes a difference if you are debugging a batch process.
- The call stack on Debug statements had incorrect line numbers on special conditions such as 'run once'.
- If you selected a Move non Audio statement which had Delete Empty Parent Folder set, it was cleared.
- If you exported a file's metadata using File>Export more than once since Yate was started, the subsequent exports were not writing the artwork files.
- When importing metadata via File>Import, an artwork item's Picture Type was always set to Other.
- The Path Manipulation statement had issues when the path was in a track variable and the function was Set the Filename Extension or Append a Path Component.
Version 6.5 (10420.10417)
Application
- m4r files can now be loaded.
Main Window
- There is a new main window column and filter item named Tag Scheme.
Dock Icon Behaviour
- There is a new Preferences - General setting to control what happens when the dock icon is clicked.
- The default is Show the Main Window which is Yate's previous behaviour.
- Preserve the Window Layout attempts to preserve the current window layout.
- Active Dependent Behaviour is equivalent to Show the Main Window when the application is active or Preserve the Window Layout when inactive.
Opening Files
- Files can now be loaded in to the main window or to the Artwork Viewer via URLs. Do a Help>Search Yate Help for the Opening Files by URLs topic for additional information.
Droplets
- Many Yate actions do not require audio files to be loaded in order to execute. You can now create droplets to these files which run directly when opened. See Preferences - General - Droplets for additional information.
Discogs
- The Preferences-Discogs-General setting to Prefer Artist Name Variations (ANV) now has three values. Never and Always correspond to the previous settings. Latin Name Resolution will only substitute an ANV if an artist name contains non Latin-1 characters and the ANV contains only Latin-1 characters.
Lyrics
- APISEEDS is no longer handling requests. Support has been removed.
The Batch Processor
- Suppressed various logging information types unless Verbose is enabled.
- The Batch Processor can now be started from within an action. When the Batch Processor starts, its display panel will be positioned such that you have to click on the Start button to proceed. This behaviour can be avoided by the new Preferences - Actions setting named Enable Batch Processor auto start from Stop Action and Run Batch Processor.
The Combined Credits Editor
- The credits table has been updated from the latest Discogs, MusicBrainz and Roon credits lists. There are now 7427 built in credits.
- The Alias column has been renamed Alias Of.
- Note that all Roon credits which are aliases now have the Alias Of column populated with the name of the canonical credit. If an alias was previously entered for an item, it will not be modified.
- The Known Credits table has a new context menu item named Validate Known Credits table. The function looks for issues in the table. Issues are typically associated with invalid Alias Of definitions. If any issues are found they are displayed in the Log Viewer.
The View Menu
- The Credits Invalid for Roon function now performs a deeper analysis. The use of an alias is now reported.
The Help Menu
- The Help menu's Quick Reference submenu has additional items.
Search Templates
- You can now choose to use + or space as the metadata keyword delimiter.
The Action Manager
- The context menu items have been somewhat reordered.
- The Set as Toolbar action context menu items have been moved to a submenu.
- When exporting a single folder, the folder name field in the export panel will be populated.
Action Editor Windows
- You can no longer disable the display of line numbers. They're always displayed.
- The vertical bar after line numbers is now always displayed.
- The Run Action context menu item will now prompt you if there are unsaved changes and will allow you to save and run.
- The context menu items have been somewhat reordered.
- You can now search for occurrences of particular statements in the Find Panel. You must select the statement in the Function statement column before opening the Find Panel. As with other find entities you can find the next, previous or all occurrences.
Preferences - Actions
- There is a new setting which allows you to enable or disable the auto-resizing of the Action Pending window.
- The option to disable the vertical grid line after lines numbers in Action Editor windows has been removed.
- There is a new setting to enable batch processing to start immediately after execution of a Stop Action and Start Batch Processor statement.
Action Pending Window
- You no longer have to click on the displayed text to modify the size of the display font.
- If you right click on the window's icon, a menu will be displayed where you can enable or disable auto-resizing of the window. If you enable it, the window will be resized immediately.
Action Statement Changes
- The Copy Non Audio Files and Move Non Audio Files statements have a new Overwrite existing subfolders option. Careful here!
- The Artwork to Folder Icon statement has a new Silent option. You can now also save an icon to a specified folder.
- The Artwork to Folder jpg statement has a new Silent option.
- The Debug statement has been completely overhauled.
- The choice of which content is displayed is now configured at runtime.
- At runtime when the Action Pending Window is displayed for the Debug statement, there is a Configure button. This allows you to change the displayed content on the fly. You can also modify the default settings.
- To the right of the Configure button is a disclosure button which displays a menu providing additional capabilities:
- You can open an action in an editor window ... even while batch processing. As is currently the case, changes to these windows cannot be saved while action processing.
- You can display the metadata in the Log Viewer for all active files as if a View>Metadata as Text was executed.
- When executing grouped or after a Load & Run statement, you can choose to display the metadata for the current file.
- The displayed information now uses colour coding and where necessary monospace fonts to enhance the ability to quickly and properly view the information.
- Properties can now be displayed as well as track variables. You can choose which properties you are interested in.
- Empty track, named and system variables are no longer displayed. Empty properties are not displayed as well.
- The Execution Mode can now be displayed.
- A list of active files can now be displayed.
- The step info area can now be hidden as depending on the displayed content it may be redundant.
- You can no longer change the default text colour. However, markup is supported in the text prompt.
- You can no longer display a checkbox on the panel.
- The window title is now always Yate Debug.
- There is a new statement named Delete Files and Folders. This statement is extremely dangerous. Please read the documentation.
- The Import Artwork statement has a new setting to enable scaling of the imported images.
- The Involved People/Musician Credits Functions statement has two new functions: Credits Which are Aliases and Credits Which are not Defined.
- The List Contains Test statement now supports the per file testing against a list in a named variable. All fields are re-escaped wherever appropriate for each processed file. There is a new trimmed option which tests trimmed values against trimmed lists.
- There is a new statement named Load Artwork Viewer which can load an image file or the artwork contained in an audio file to the Artwork Viewer. The statement can also be used to close the Artwork Viewer.
- The Log statement now allows you to save the results to a Log named variable or per track variables.
- The Manipulate Artwork statement now accepts empty or 0 as a scale factor. It implies use the Preferences-Artwork scale value.
- The Map Metadata to Files statement can now specify criteria at runtime.
- The Open URL statement can now handle callbacks and the acquisition of downloaded data. The statement's online help contains additional information. There is a new escape sequence \?ou which serves as a callback marker in the URL.
- The Play System Sound statement can now play a sound from a file at a specified path. The sound is cropped at 5 seconds.
- Prompt category statements:
- User interface markup:
- The Ask, Debug, Prompt and Prompt for Text statements can optionally use a simple markup scheme in the displayed text.
- The markup supports the display of bold and italic text, proportional and fixed width text and text colouring.
- More information can be found in the online help for the above statements or via Help>QuickReference>Prompt Markup Sequences.
- Statements with configurable buttons no longer have a requirement that the displayed buttons have to be contiguous. Note that discontiguous buttons will not display as expected on the Prompt statement with an Alert or Critical Alert display mode.
- With statements with configurable buttons, which button, if any, is the default button can now be configured.
- Statements displaying a Cancel button have a slightly modified default behaviour. The Cancel button warning gets reset to warn each time Yate is started. You can still temporarily dismiss the warning but not when batch processing.
- You can now explicitly control whether a warning is issued when a cancel button is hit.
- Checkboxes can now be displayed without the images essentially allowing you to specify an out of bounds text label.
- The Prompt for Text statement:
- Menu items displayed on the picker list can now be displayed as a separator line.
- Menu items displayed on the picker list can be prefixed by a ✓ character.
- Menu items on the picker list can be configured to close the window when selected. Either honouring the format requirements or ignoring them.
- There are two new formatting options for the results. Sequences of multiple spaces can be compressed and characters can be marked as invalid.
- Documentation for the statement's menu item special sequences and its formatting option codes can be referenced from the Help>Quick Reference menu.
- When specifying a picker menu in the Prompt For Text List named variable, all trailing newline characters are removed. This is to avoid the inadvertent display of empty menu items.
- The Prompt for Text List R/O and Prompt for Text List Overwrite named variables are now deprecated. Their functionality has been replaced by format codes in the Prompt for Text Formatting named variable. The deprecated named variables will continue to operate for now unless. The new format codes have a higher precedence.
- The text field can now be hidden if you want the user to only be able to choose a menu item. This is controlled by the new H format code.
- There is a new button type named Continue-Always. A button of this type exits without validating the text field.
- The Re-Encode statement now has a URL escape sequence function for query values.
- The Remove Folder Icon statement can now remove an icon on a specified folder.
- The Rename Files statement has a new silent option which is enabled by default for new statements.
- New Save statements now default to Selected Files as opposed to All Files.
- The Search Discogs and Search MusicBrainz statements can now override the results limit at runtime.
- The Set Action Runtime Setting statement can now remove all settings in the currently mapped set. This is done by by setting # to empty.
- The Stop Action and Open Files statement can now selectively close and/or open individual files, ignoring the Open Mode.
- There is a new statement named Stop Action and Run Batch Processor. All configuration for the batch processor is supplied. The user is presented with the information as to which action is about to run and can select Cancel or Start. Optionally there is a new Preferences - Actions setting to allow for the immediate start of the batch processor.
- The Test File Type statement:
- When testing for MPEG-4 files, the statement can now test for Any, AAC or ALAC.
- The statement now applies the standard Set, And, Or semantics for the test state as well as any variables being saved. Previously the test state was set to true on success regardless of the specified mode.
- The Test if File Exists statement:
- The statement now returns creation and modification dates as well as file sizes.
- You can Set, And or Or the result of the test to the action test state. Tests are only performed when necessary.
- The Transfer Metadata statement, when transferring out:
- There is a new option to copy the source file's modification date to the destination file.
- There is a new option to only write a file if something has changed after transferring the metadata.
- The Trash Items statement has been renamed to Trash Files and Folders.
New Actions on the Resource Page
- Identify Apple App Metadata Discrepancies. An action to identify values in iTunes/Music which should be identical to those stored in the file but are not. This was a long standing iTunes issue.
- Lookup Wikipedia Artist Bio. A user facing action and an action which can be called to lookup artist bios and artwork on Wikipedia.
- Permute 3 Convert Selected Files. An action to encode files using Permute 3.
- Sync Files. A set of actions to synchronize metadata between files in different root folders. Copying of missing audio files and non audio files can be performed. Permute 3 can also be used to convert missing files.
- Many other actions were updated.
Bug Fixes
- When explicitly specifying a text colour of Black, Red or Blue in an Ask, Debug, Prompt or Prompt for Text statement, the colours were not optimized for dark mode.
- Error messages were incorrectly being accumulated in Discogs/MusicBrainz Metadata for Release and Search Discogs/MusicBrainz statements. This could cause incorrect results in repetitive calls. It could also cause the Data Source Access Error named variable to contain garbage. The Search Discogs/MusicBrainz actions on the resource page could be affected.
- The Preferences-MusicBrainz-General Latin artist names setting was not substituting in single names. ie. no first name.
- Exclusions on the Prompt for Fields statement were not working correctly.
- The Sort Track List statement has been patched. At some point in the distant past it started sorting on incorrect columns.
- If the Log Viewer, Notepad or the Action Pending window was closed with an open find panel, a soft crash could occur when they were reopened.
- When an explicit true/false label was set on an Ask statement, the defaults were being changed.
- The Debug statement was changing the button and picker list selection named variables.
- Debug statement lines numbers at times were off by 1 or 2.
- If you renamed an action or preference item and it initially was the same name as was referenced on a Map Action Runtime Settings statement, the statement would have its set renamed. It should only be renamed if a runtime set was being renamed.
- Disabled Start statements were being recognized at runtime and in Action Editor Windows.
- The Append and Prepend statements were not immediately updating the display after using the multi line editor.
- The Ignore Files statement was not logging its track variable usage.
- The Test File Type statement was not applying the Set, And, Or semantics to the test state ... only to variables.
- m4a UDTI Apple Store Playlist ID was being incorrectly stored as a UDTI as opposed to a plID atom. Saving a file again will correct the issue.
Version 6.4.1.3 (10309.10269)
Bug Fix
- If you were doing an auto search for artwork and multiple albums were selected and at least one of the albums had no match ... depending on the order of the albums, the application could hang.
Version 6.4.1.2 (10308.10269)
Bug Fix
- It seems as if there is a small difference in the remote and local clocking when rate limiting Discogs API calls. This can result in a 429 response code. The issue has been fixed by adding a tiny overhead to the intervals.
Version 6.4.1.1 (10307.10269)
Bug Fix
- Fixed a rare situation where an exception cannot caught by the OS. Catalina and Big Sur only.
Version 6.4.1 (10306.10269)
The Beatport Importer
- The Beatport Importer was already stripping trailing qualifiers enclosed in parenthesis on the Title field when using it in a search. However, when scoring the Title against the search results, the full title was used. Both title variants will now be used and the highest score will be retained.
- Yate used to synthesize Beatport URLs to https://pro.beatport.com/. That domain no longer seems to work. URLs are now synthesized to https://beatport.com/. An action named Fix Beatport URLs is available on the resources page if you want to update the URLs in existing files without running the importer.
- The scoring algorithm will now use mix name and release metadata to further refine results when more than one has the best score.
- By popular demand there is a new option to append a mix name to the Title field when importing titles. The format is:
title (mix name)
- The standard Edit Find functions have been mapped to the importer to make it easier to find files not marked for import. Edit>Find>Find (⌘F) will highlight all files which are not marked for import. Edit>Find>Find Next (⌘G) will highlight the next file which is not marked for import. Edit>Find>Find Previous (⇧⌘G) will highlight the previous file which is not marked for import.
yate-cli Command Line Application
- Certain versions of the OS cannot launch Yate when yate-cli is run from within the application's bundle. There is a new Yate>Setup menu item to extract yate-cli so that it can be easily accessed.
- The functionality has been expanded to open audio files.
- Do a Yate>Search Yate Help and search for yate-cli for more information.
Bug Fixes
- There was a timing issue where Prompt category statements could open a panel without any buttons. This would require a Force Quit.
- Move/Copy statements which used a rename template which added path components and did duplicate handling, duplicated the added path components if a file was a duplicate.
- Sort controls on the the Movement column were not working.
Version 6.4 (10287.10269)
Beatport Importer Options
- When specifying Automatically select matches there is an Exact option.
- You can now Aggressively search for an exact match.
- You can now hide matches which do not meet the specified criteria. This is great for hiding a long list of rejected matches.
- You can now specify thresholds to be used when matching titles, artists and optionally releases (albums). Items which do not meet the threshold are not considered. More information is available in the online help.
- These changes will help eliminate the automatic choosing of matches which are incorrect.
Lyrics
- APISEEDS is no longer accepting registrations for API keys and is migrating to a new service at happi.dev.
- As of this release we will continue to support APISEEDS and also support happi.dev. The usage and credit patterns are similar.
- There are a few differences in behaviour and they are documented in the online help.
- Every command and statement which contained APISEEDS is now named Get Lyrics.
- The auto generated UDTIs which were prefixed with APISEEDS will now be prefixed with Get Lyrics. Old UDTIs will be removed and replaced with the new when a lyrics search is performed. In order to maintain your retry dates, the APISEEDS Status UDTI will be used if Get Lyrics Status is not present.
- At some point down the road when APISEEDS shuts down we will remove support.
- In order to ease the transition for those of you who have purchased credits, we've purchased a large block of credits which can be accessed by using an API key of free. This is a shared resource and will be used up over time.
Earliest Recording Date from MusicBrainz
- Functionality has been introduced to search MusicBrainz on a per track basis to determine a track's earliest release date.
- There is a new action statement named MusicBrainz Earliest Recording which supports what gets matched, how many network accesses occur and what gets imported.
- The Actions menu has a new Earliest Recording Date from MusicBrainz item. This is a convenience method as the functionality is provided by importing an action which is executed. The functionality is configured by modifying the imported action.
- Some tracks have numerous recordings and may require many rate limited network accesses. If you're feeling lucky you can limit the process to one network access per track.
- Progress is displayed on the main window's status bar. If you see that more pages (network accesses) are required than you wish to wait for, you can do a File>Cancel or hit the toolbar Cancel button. You will be given the opportunity to skip the file or cancel. When a search is cancelled, partial results will be retained.
The Artwork Viewer
- You can now open image files via File>Open.
- You can now open image files via the Finder's Open With functionality.
- You can now open an image file from a command line via the following command:
/Applications/Yate.app/Contents/MacOS/yate-cli -av file
Custom Panels
- Custom panels can now be imported via Yate>Import Preferences and by dragging an appropriate file to the main window's file list area.
- The Custom Panel Editor's Delete All button has been renamed to Clear. It now also erases the name and tooltip fields.
Discogs and MusicBrainz Wizards
- There is now a new context menu item named Select Same Album or Folder on the mapping panel's context menu.
Rename Replacements
- A replacement item which has a from pattern of \. will replace all trailing periods in the effective string with the possibly empty to pattern. This is primarily for users copying files to Window's based PCs.
Multi Field Editor Editor
- The Trim function has a new Remove Invalid setting. It is equivalent to the Remove Invalid Characters statement and does a context sensitive removal of invalid characters on a per field basis.
Filter Editor
- When saving a filter you can now show a menu containing the names of existing filters.
Audio Information Panel
- You can display a popup version of the Audio Information panel by right clicking on a file in the main window and selecting Audio Information from the context menu. It doesn't matter how many files are selected, only information for the clicked file is displayed.
- When only one file is selected you can do a View>Audio Information for the same functionality.
Creating Apple App Playlists
- When creating an Apple App playlist from loaded files or within a Track database, there is now a disclosure button which will display the names of the existing playlists.
- The choice of which application's playlists to display is determined automatically. In the unlikely event that you are creating playlists in Music and TV at the same time, you will be asked to choose which list to display.
Sort Form Improvements
- The Last Name, First Name functionality used by the Sort Form action statement and the same named function in the Multi Field Editor was very simplistic. It basically looked for the last space in a field and flipped the contents.
- Two new replacement set types have been introduced which are now used by the functionality.
- The Sort Form Ignore Suffix set contains a list of sequences which can follow a last name. These include Band, Orchestra, etc. The sequences when found will not be considered the last name and will be isolated. For example: Ben Webster Band --> Webster, Ben (Band). There is also the ability to mark a suffix as being additive. This enables: The Gary Clark Jr. Band --> Clark, Gary (Jr. Band, The)
- The Sort Form Name Prefix set contains a list of sequences which can be considered to be part of the last name. For example: Al Di Meola --> Di Meola, Al
- The new out of the box copies of the sets will automatically be imported and can be found in Preferences-Replacements.
Action Editor Windows
- The Action Description context menu item displays an action's description in a popup window. Previously hitting the space bar would have the same effect.
- Hitting the space bar will now have the same effect unless the following holds: If a single statement is selected and it is a Comment, Force Grouped, Start, Tooltip or Version statement and has a non empty description, the description will be displayed in the popup window.
Action Statements
- Prompt Statements
- The Prompt for File or Folder statement now supports the common prompt statement functionality. This means that depending on the OS version and the New File option, a title can be specified. A check box can also be displayed.
- The Ask, Prompt, Prompt for Fields and Prompt for Text statements now support up to four buttons which can be configured in a variety of ways.
- The Prompt for Fields statement now selects Hide Info when a new statement is created.
- The Alert and Critical Alert modes of the Ask and Prompt statements now support the same functionality as the Standard display mode.
- The Enumerate Fields and Extensions statement can now enumerate the following classes of fields: credits, dates, numeric and URLs.
- The Copy Files, Create Symbolic Links, Export Metadata, Import Metadata, Import Metadata from Audio File and Move statements now allow you to specify transformations to be applied much as you can in Rename templates.
- Support for the long deprecated LyricWiki Access statement has been removed.
- The Preferences statement no longer has a dedicated section to change the Action Pending Window's text colour. This is now done via a single preference change item named Action Pending Window Text Colour.
- The Scanner statement
- The statement can now scan for Roman numerals and optionally convert them to integers.
- The statement can now save per file results to track variables.
- The Replace statement now supports regular expressions. While it has less functionality than the Regular Expression statement, it supports multiple fields at a time.
- New action statement named MusicBrainz Earliest Recording discussed above.
- The Preferences and Extract Preference Set statements have been modified to acomodate the two new preference set types used by the Sort Form functionality.
- The Compare Fields Across Files and Compare Fields statements have been merged under the Compare Fields name. All existing statements have been adjusted. Please read the documentation as there are some changes when new statements are created.
- The Add to List statement now supports diacritic insensitivity.
- The List Manipulate statement has two new functions: Combine and Combine Counted. They both merge contiguous like elements.
- The List Contains Test statment now has a Per file values setting which causes the test data and list delimiter to be evaluated for each file when testing for containment in lists in fields.
Other Action Related Changes
- The Pending Action Window now resizes to its content.
- New escape sequence \?xd imports the Non Standard Delimiters defined on the Preferences-Lists-Advanced List Settings panel. List items are delimited by a newline character (\n). Useful to be used with the new MusicBrainz Earliest Recording which has a delimiters field.
- New escape sequence \?nv imports a list of all non empty named variables. List items are delimited by the default list delimiter (\~).
Bug Fixes
- The Stop Action and Filter Files statement possibly displayed an unsorted list of filters.
- When an action was exported the Preferences statement was not automatically including referenced Replacement and Exception sets.
- If Regular Expression was chosen as a String operator in a filter, the escape menus did not revert if a non regular expression operator was chosen.
- Tracks added to the Staging Playlist were not always added to the end of the list.
- Fixed a potential issue with the Move statement's preview functionality.
- The Exists statement was not immediately updating a change of a per file variable.
- The Discogs and MusicBrainz wizards were adding unselected files by matching album AND folder as opposed to matching album OR folder.
Version 6.3.0.1 (10155.10138)
Bug Fixes
- In Rename Templates the Show Name and Sort Show Name tokens were not being inserted correctly when used with an IfExists{+} construct.
- The main window Label column was not sorting.
- The Copy Unhandled action statement was not updating its settings until saved.
- v6.3 broke the UI for the Sort Track List action statement.
Version 6.3 (10150.10138)
Artwork
- The Auto Search for Artwork functionality is no longer restricted to processing a single album at a time.
- Previously if your Mac had a Retina display and an image was modified the resultant image's resolution was 144ppi. An image's resolution is now preserved without resampling.
- An image's resolution is now displayed in the Mime type field on any artwork panel.
- The Crop/Scale/Square Artwork panel now supports the setting of the resultant image's resolution (without resampling). The panel also displays the initial image's resolution.
- The Manipulate Artwork statement now supports the setting of the resultant image's resolution (without resampling).
- The Artwork Information statement now supports returning the default, smallest and largest resolution.
- The Indexed Artwork statement now has a Get Resolution function.
- When saving artwork to a folder from an Artwork panel and from the Artwork Viewer, you can now set the resolution.
- You can now specify 0 for the Manipulate Artwork statement's Compress artwork if size is greater than setting. 0 implies the initial size of the image.
- You can now specify 0 for the Compress down to setting in the Crop/Scale/Square Artwork panel when it is available. 0 implies the initial size of the image.
- The main window filter's Artwork category now includes Artwork Count. The item was previously only in the Multiple Item Counts category.
Main Window Columns
- You can now Show/Hide multiple columns at a time via the table header context menu Manage Displayed Columns item.
- From the displayed panel you can show/hide individual columns or use the context menu to show/hide selected columns or all columns.
- You can also elect to auto size all columns after saving changes.
- The list of columns in the table header's context menu can be hidden.
Open from Clipboard
- The File>Open from Clipboard command can now open M3u(8), Cue and database files.
MusicBrainz
- MusicBrainz has primary release types and optional secondary types.
- There is a new Preferences-MusicBrainz-General setting named Append secondary type when importing Release Type.
- The Release Type metadata in previous versions returned the MusicBrainz primary release type. When the new option is set, MusicBrainz Release Type will now contain the primary and secondary release types. For compatibility reasons the values are separated by / characters. The primary release type always comes first. There can be multiple secondary types.
Discogs
- The Preferences-Discogs-General Preload releases setting will now also cause an Images column to be displayed in the list of releases. The column contains the number of available artwork items.
Escape Sequences
- New escape sequence \an returns the name of the currently executing action.
- New escape sequence \af. If not executing an inline action this sequence is the same as \an. If an inline action is executing, this sequence will always return the name of the containing non inline action.
Action Statements
- New action statement named Is Action Defined. The statement sets the action test state to true if the specified action exists, otherwise it is set to false. The statement can only test for the existence of non inline actions.
- The Stop and Open Files statement now handles, M3U(8), CUE and database files.
- In order to avoid confusion and possible unexpected behaviour at runtime, certain action statements now do limited edit time validation of integer values. The runtime validation of the values has not changed and where permitted before, an empty field will still imply zero. Where an integer value of abc would previously have been accepted and would be evaluated as zero at runtime, it will now be flagged as invalid when entered. Escape sequences are handled correctly and typically defer the validation to runtime. The following statements perform the edit time validation: Manipulate Artwork, Artwork to Folder, Crop Artwork, Duplicate Artwork, Indexed Artwork, Rearrange Artwork, Remove Artwork, Substring, Truncate, List from Column, List Item, at Index/Sublist, Remove List Item at Index, Set List Index.
- The Remove Artwork statement has a new Do not remove the default artwork item option.
- The Auto Search for Artwork statement has partially changed semantics for the returned Auto Search Status named variable.
Action Editor Windows
- You can now display a popup window which contains an action's description while editing an action. Previously this could only be done in the Action Manager. An action's description is the first non empty content in a Comment, Force Grouped, Tooltip or Version statement. A search for a description is terminated at the first enabled statement which is not one of the preceding statements or an Empty Line or Constrain Execution to a Single File statement. You display the popup via the Description... context menu item or by hitting the space bar.
- Copy Action (text) to Clipboard will only include selected rows if the Option key is pressed.
ID3 Based Files
- Items with multiple values now have all empty items removed when reading. Previously only trailing empty items were removed. Note that this could only happen with files written by other applications.
WAV File BEXT Metadata
- Wav files can contain a bext metadata chunk which describes various properties and is part of the Broadcast Wave Format (BWF) specification. Yate now processes this chunk when present.
- The metadata can be viewed in a textual format via a View menu's BEXT Metadata item or by double clicking on any audio information panel.
- The Snapshot Editor will display the data in a tree format.
- The presense of BEXT data can be tested with a main window filter.
- There is a new property named BEXT Metadata. The extracted property is formatted as a key-value list using the standard delimiters. See the online help for the Get Property statement for additional information.
Bug Fixes
- The description test in the Remove Artwork statement was broken. The test was only applied to a single file.
- The Build List statement's Grouping option was not being retained.
- When creating m3u files from within a database file, an Extended or Yate header was not written when required. Note that m3u files created from the main window were not affected. An action named Repair Missing m3u Headers is provided on the resources web page. The action patches all m3u(8) files in a folder and optionally processes subfolders.
- The size of toolbar icons was reverting to large each time Yate was run. This only occurred on Big Sur.
- Many UI tweaks for Big Sur.
Version 6.2.0.5 (10086.9092)
Bug Fixes
- The Filter editor was seemingly not updating changed controls. Only affected macOS 10.10.x and 10.11.x.
- The new alternate alert style cropped text when there was no title for the alert.
- The CCE's credits table had three items which were missing the closing qualifier character (]). The correct items were in the table. The three items in error have been removed.
Version 6.2.0.4 (10085.9092)
Bug Fix
- Alternate style alerts had issues when invoked attached to a window.
Version 6.2.0.3 (10084.9092)
Bug Fix
- Fixed a potential crash on macOS 10.10 and 10.11 when starting the application.
Version 6.2.0.2 (10082.9092)
Bug Fix
- The All Files setting in the Action Manager was ignored.
Version 6.2.0.1 (10081.9092)
Apple Silicon
- Yate is now a universal build and runs natively in Big Sur on an Apple silicon based Mac.
Cosmetic Changes
- Main window and Database viewers now use standard OS presentations for grid lines. The settings are now No Grid, Dashed Grid and Solid Grid. The Bold option has been removed. The grid settings control the appearance of horizontal lines. The grid appearance depends on the OS version.
- The alternate alert display has been updated to have a more vertically centered presentation.
Bug Fixes
- The Indexed Artwork statement's Get Width x Height function was returning the result for the Pixel Count function.
- The Evaluate Expression statement could crash if the expression was invalid.
- The new control on the Append and Prepend statements to display a multi-line editor was hidden.
- The Exists statement had a control which wasn't anchored correctly.
- Using the Remove from List function button item could cause a crash on Big Sur.
- The latest SDK seems to have introduced a bug where the rightmost column in some tables are not automatically resizing to fill the table. This affects the File Browser, and various other table displays. We are now manually forcing the resizing. This has to be done for each affected table. If we've missed any ... let us know.
- When clicking on a help button in one of the Save Artwork to panels, the display of the help was delayed.
Version 6.2 (10075.9092)
Apple Silicon
- Yate is now a universal build and runs natively in Big Sur on an Apple silicon based Mac.
Alert Messages
- Starting with Big Sur the OS displays vertical alerts with centered text.
- These alerts may not be suitable for alerts with longer text displays or those which display a full file path.
- You can enable the Preferences - General Use alternate alert style setting. These alerts display similar to pre Big Sur alerts. You can also enable the Larger text setting to use somewhat larger font sizes when displaying the alert. These settings are ignored on OS versions prior to 10.12.
- Alerts with very long text may not fit on the display. The alternate alert style encloses the text in a scrollable region. Big Sur does the same but it positions the display to the end of the text as opposed to the start.
Custom Fields
- There is no longer a limitation as to how many custom fields can be displayed as a main window column.
- All custom fields except for those marked as being Yes/No values can be associated with a list.
- The Yes/No state is now exported/imported with custom fields.
The Custom Field Editor
- The custom field editor has been rewritten to isolate the user from the internal custom field numbers.
- There are no longer controls for column association or for being marked as a popup.
- Only defined custom fields are displayed in the list and they are sorted.
- There are now edit and add buttons.
- When editing or adding you can now cancel the changes to the item being modified/created without cancelling previous changes.
- No functionality has been lost and internally nothing has changed.
Preference Lists
- Ten Custom Lists are now available in Preferences-Lists. This has been increased from 5.
- The preference lists can now be renamed in Preferences-Lists.
The Custom Panel Editor
- A custom field which is defined as being a Yes/No value is always rendered as a checkbox regardless of the Display as checkbox setting's value.
Main Window Columns
- Copyright can now be displayed as a main window column.
- Set Subtitle can now be displayed as a main window column.
- Custom fields now display sorted in place in the main window table header context menu. ie. there are no longer Custom Field # (name) menu items.
Column Display Attributes
- You now configure individual column display attributes (align, crop) by right clicking on a column's table header and using the Column Display Attributes submenu.
- The Preferences - File List - Column Display Attributes button has been removed.
Edit Panel Preset Buttons
- The edit panel preset button context menu has been rearranged. Custom edit panels are now represented by their assigned name (if any). There are no more Custom # (name) items.
- The ability to move edit panels in and out of the Others menu by holding down the Shift key and selecting them has been removed. The Others submenu has been renamed to Hidden Edit Panels. A Manage Hidden Edit Panels item is now provided which allows you to specify which edit panels should be hidden.
- The three Saved Layout menu items have been removed. You can now create, update, export and rename as many saved named layouts as you wish. If the older Saved Layout # items had associated content they will be migrated to saved layouts of the same name.
- You can now click (primary not secondary) on the preset button which is associated with the displayed edit panel to get an abbreviated menu. Example clicking on a highlighted Info preset button. This menu contains items to activate all edit panels not currently displayed on a preset button. The menu ignores items which are hidden and all custom panels which are not configured. It's an easy way to quickly access edit panels of interest to you.
- The Edit Panel Picker window has been removed.
Menu Changes
- The Custom Field Editor can now be displayed from the Edit Menu. This is a shortcut to the preference panel.
Application Presets
- The Preferences - Audio - Common - Application Presets menu has a new item named Roon - Read Only. This is a convenience function to enable all Roon settings and to force them to read only.
File Properties
- There is a new file property named Loaded File UID. The File Index property can change when a file availability statement is executed. This new property is unique for every loaded file and is retained as long as Yate is running.
Roon Settings
- New Preferences-Audio-ID3 and MPEG-4 options to remap the Release Time field to what Roon expects.
Action Statements
- The Prompt for File or Folder and Folder Contents statements now have a standardized list of delimiters for a list of filename extensions. Delimiters previously accepted in either statement are now accepted in both.
- The Copy Metadata Between Files statement now can use the File Index or Loaded File UID property for indexes. This effectively means that metadata can be copied outside the current set of available files which can be modified by file availability statements and various Run statements.
- The Fill Lists and Standardize on List Items statements now display all custom fields. The determination is made at runtime as to whether a custom field is associated with a list.
- The Append and Prepend action statements now have a control which allows you to edit the optional text in a multi-line field.
- The Exists statement now supports the saving of the results to per track variables when appropriate.
- The More than One Item statement now supports ANDing and ORing to the test state. It also supports the saving of the results to per track variables.
- The Import Artwork statement now supports single file pattern based matches where a filename extension is not supplied. This implies match any image file type.
Action Editor Windows - Find Panel
- The Find panel has been redesigned to provide faster access to the various item types that you can search for.
- You can now search for inline action definitions from a list of names. ie. Start statements.
- You can now search for callers of a selected action.
- You can now search for statements with warnings.
- The Find Track Variables menu only lists those track variables used in the action.
WavPack Streams
- The stream for WavPack files is now represented as: Lossy or Hybrid Lossy followed by (PCM) or (DSD).
Log Raw Data
- All raw data logs are now verbose. The Verbose setting has been removed from Preferences-Audio-Common.
Bug Fixes
- If the current editing panel was a custom panel and the Custom Panel Editor increased the size of a different panel, the displayed panel could appear messed up until Yate was restarted.
- The main window double-click popup menu for Yes/No custom fields was not working as expected.
- Found another case where status bar messages could be duplicated.
- Fixed a potential timing crash in the Discogs and MusicBrainz wizards when closing the windows when on the File Mapping panels.
- The Clear User Defined Items by Source action statement was not removing Beatport data saved as UFIDs.
- An extract of a full runtime settings set via an Extract Preference Set could return older data if a runtime setting had been changed since the action started.
- The Open Database statement with Silent set was failing if the associated plist sidecar file did not exist.
- When the Regular Expression Tester was opened from a Regular Expression statement a mode of Ranges+ was lost.
- Big Sur: The toolbar icons were always displayed 'small'.
Version 6.1.0.1 (9078.9067)
Bug Fix
- Fixed a timing related crash in the Beatport Importer which could occur when redrawing the table.
Version 6.1 (9077.9067)
Beatport Support
- Beatport has updated its API. The old Beatport support will no longer function shortly. If you use the Beatport functionality you have to update.
- Authentication is automatic and now handled completely by Yate.
- The 150 file limitation has been removed.
- Much better matching of Stem files.
- More rigorous attempts at matching are made when track IDs are not available.
- The following additional metadata can now be imported: Artwork (Artist), Artwork (Label), Artwork (Remixer), Artwork URLs, Encoding Date, ISRC, Label Track ID, Stem ID.
- Track numbers can no longer be imported.
- Columns can be reordered and hidden via the table header's context menu. Far more columns are available.
- The table's context menu has new view options affecting the layout of the table and how various items are displayed.
- The table now uses an image column to denote state. Grey implies not yet searched. Green implies a search has completed. Red implies an error occurred while searching.
- Starting in this version text colouring is by default disabled. You can reenable it to be the same as in previous releases via the context menu.
- You can now set tracks to be reloaded via the context menu. This is useful if you want to reload after changing options or a network error occurred and you want to resume loading.
MPEG-4 Files
- You can now pick two alternate encodings for fields with multiple values in Preferences-Audio-MPEG-4. Both of the new encodings provides a better degree of integration with MinimServer.
Artwork Viewer
- The gray background has been changed to a somewhat darker grey. This is to provide more contrast when displaying PNG images with transparent backgrounds. (such as Beatport waveform images).
- You can now set the background to Grey, White or Black from the context menu.
Preferences - Export Sets
- OOB and Variable qualifier fields now have a few more configuration items. See the documentation for more information.
- When these items are inserted and the Option key is down, and the menu text to be inserted is non empty, the text will be appended as opposed to overwriting the previous contents.
Preferences - Lists
- Sort Album Artist, Sort Artist and Sort Composer can now be associated with lists.
- Note that there are no dedicated lists for these items. You can associate the fields with the Custom lists or any of the others you're not using.
Roman Numerals
- A sequence of Roman Numeral digits immediately followed by an alphanumeric character is no longer treated as a Roman Numeral. This only affects the Make Numeric statement when converting Roman Numerals to integer values. Previously Life would return 50. It will now return 0.
- The word mix is quite prevalent in tagging. It is also a valid Roman Numeral. This can cause issues when changing alphabetic case and capitalizing Roman Numerals. There is a new Preferences - General - Basic setting named Do not treat the word 'mix' as a Roman Numeral. The new setting is initially enabled.
Action Manager
- Actions can now be constrained to be run only by a particular database. See the Action Manager documentation for more information.
- You can now view the resource web page documentation while editing an action via the new Resource Documentation context menu item.
- You can now use the Edit>Select Row/Line Number menu item to jump to a particular line.
Action Statements
- The Preferences statement has an override for the new Do not treat the word 'mix' as a Roman Numeral setting.
- The Preferences statement has an override for the verbose state and limit applied to the Log statement's raw data modes.
- The Preferences statement has an override named Extension. This item is reserved for extensibility requirements.
- The special named variable Prompt for Text List Overwrite has a new meaning when set to -1. An attempt will be made to separate items inserted from the picker control by commas.
- The Fill Lists and Standardize on List Items statements support the Sort Album Artist, Sort Artist and Sort Composer fields.
- There is a new action statement named Pause which can be used to pause action execution for a specified number of seconds. eg. Pause 1.5
- The Prompt and Ask statements now support the display of the message as a standard Mac Alert. The advantage of displaying as an alert is that the alert panel resizes automatically to the text. You should not display message with large amounts of text in this manner as text in an alert panel is not scrollable. Informational and Critical alerts can be issued.
Cue Files
- You can now load cue files via File>Open, dragging and by the Finder's Open With menu.
Menu Changes
- The Custom Panel Editor may now be launched from the application's Edit menu.
- The File>Open With menu is now available on the file list area's context menu.
Bug Fixes
- The new Export Set popup menu functionality introduced in v6.0.2 was not working correctly in databases which were displaying an artwork image or weight column.
- Main window status bar messages set via Prompt-Status statements could be duplicated.
- Include statements were not being updated when items were renamed.
- Track and Album databases if changed to Standalone could not be changed back.
- Summary lines in the main window's filter panel sometimes displayed incorrect options. This was a display only issue.
Version 6.0.2.1 (8991.8975)
Bug Fix
- If the following conditions were met a crash occurred: Batch processing; Create Album/Track Database statement; prompting for a filename; Create Only set.
Version 6.0.2 (8990.8975)
Last.fm
- You can now download Top, Artist, Release and Track tags from Last.fm.
- For now the support is only available through actions.
- A new action statement named Last.fm Tags can extract the site's top tags or tags associated with albums, tracks or artists.
- The web resources page has a download called Last.fm Suite which includes a variety of actions to access the functionally.
- The suite is capable of stripping out year, decade and artist related tags. Actions are provided to extract genres and moods. This is done by matching the downloaded tags to the Genres List and the Moods List.
- Last.fm tags entail far more than just genres and moods. A database is maintained which you implicitly mark tags as to be ignored; tags which are accepted (regardless of their presense in the Genre or Mood lists) and tags which are to be renamed.
- An action is provided which trains the database by allowing you to specify rules on all tags which can be downloaded. This includes ignoring, accepting, renaming, adding to the Genre List or adding to the Mood List.
- Given a set of downloaded tags named variables for Genres, Moods, Others, Years and Decades are available.
Action Statement Changes
- You can now specify the transformation mode on a Case statement at runtime.
- The Compare Text statement has a new Is the Same Path As as test. A rigorous test is made to determine if two paths reference the same file.
- The File Path Manipulation statement has new Abbreviate path (make relative to the home folder if possible), Standardize Path (make relative paths absolute and remove unnecessary components) and Resolve Path (Standardize and resolve symbolic links) modes.
- New statement named Last.fm Tags.
- The List Manipulate and Issue Database Query statements have a new Regex Filter function. Validation, previews and interoperability with the Regular Expression Tester is available.
- Most List Manipulate statement functions now preserve the order of the first (leftmost) list. A new option for some functions named Do not compress is now available to indicate that you do not want list items to have leading and trailing spaces trimmed and that empty items should not be removed.
- The Prompt for File or Folder statement can now set the initial folder and filename displayed via the setting of new special named variables.
- The Prompt for Text statement can now specify the initial text in a named variable.
Action Runtime Settings
- Referenced Runtime Sets are no longer exported unless they are named on an Include statement. This was always the intent.
Action Manager
- There is a new context menu item named Resource Documentation. The item will be displayed if the selected action has been downloaded from the Resources Web page. Not all Resource Web Page actions have the required linkage. They will be updated over time.
Resetting Preferences
- The Factory Reset menu item has been removed. From mow on, whenever the preferences are reset a factory reset is performed. Yate is closed after a reset and has to be reopened.
Preferences - Export Sets
- OOB and Variable items can now use the qualifier field to specify a menu that is displayed when a cell in the column is double clicked. Menu item separators can be inserted and it is possible to mark such a column as having inline editing disabled.
- Variable columns can now be Yes/No columns
Copying Metadata
- The Actions>Copy Metadata>Copy Selected Metadata... item has been renamed to Copy/Configure Selected Metadata... As the displayed metadata is used by the Copy One to Many function, the item is now always available. If the number of loaded or selected files is not appropriate for the chosen copy mode, the Copy button will display the reason.
Bug Fixes
- A rare timing based crash in the MusicBrainz wizard when accessing Discogs data is enabled and multiple requests are successively made has been resolved.
- The Q button in the Preferences-Export panel was not inline editing the qualifier field. This was introduced when Yes/No column support was added.
- The database context menu item to view a note could be hidden.
- When a new row was added to a database file and the database was being filtered, the row would not be selected.
- The Action Manager's escape menu of runtime settings was not suppressing a leading # when it had been used to represent keep empty values.
- The status bar in the Beatport Importer was not resizing correctly. If the window was made too small it was possible that the Import button was effectively disabled.
Version 6.0.1.1 (8953.8946)
Preventative Maintenance
- The Action Updater was not checking to see if an action update could be run by the installed version of Yate. While this issue could not yet be encountered, it could happen in the future. A check is now performed and the action is marked as requiring a Yate update.
Version 6.0.1 (8951.8946)
Action Updates
- You can now check for updates for actions which you have downloaded from the resources web page. This is done via Yate>Check for Action Updates. You can configure this to be done automatically via the Automatically check for action updates setting in Preferences - General.
- When checking for action updates you can update all newer versions or only those you select. Note that updates are only displayed for actions which you have installed.
- When updating the actions via this method only actions are updated. Other Yate constructs are only written if they do not exist. This means that any customizations you have performed will not be lost.
- If you have modified an action and you give it a greater version number it will not be displayed as having an update.
- Except for the preceding condition, actions are considered updatable if an installed action has a lower version number then the version which is available online. Note that for downloads which contain multiple actions one differing version number is sufficient.
- Yate>Check for Updates has been renamed Yate>Check for Application Updates.
Plist Contents
- When viewing the contents of a Yate plist file, action version numbers will be displayed.
Import and Export of Settings
- You can now directly import from and export to a zip file. The export as zip option is available on all export panels. The option has been initially set to On.
- The new functionality means that downloaded content from the resources web page no longer has to be unzipped before being imported. The includes imports done by dragging to the main window and Yate>Import Preferences.
- The functionality is very strict when determining if the zip file contains what is expected.
- Single Custom Edit Panels (from the Templates section of the Resources web page) can also be imported zipped ... unless otherwise marked in the online documentation.
Action Manager
- You can set the version number of one or more actions at the same time by selecting them and using the new Set Version context menu item.
- You can also select folders. When a folder is selected all actions in the folder will have their version modified. Note that this process is shallow not deep. ie. nested folder contents are not modified (unless they are also selected).
- A Version statement will automatically be created if one does not exist.
Preferences
- The General panel has been divided into Basic and Advanced tabs.
- The General-Basic panel has a new setting: Automatically check for action updates.
- The General-Advanced panel has a new option to export preference backup files zipped. The export as zip option has been preset to On.
- The General-Advanced panel has a new option to export synch preference files zipped. The option is initially Off. If set to On it must be done on all Macs synching the preferences.
- There is a new m3u Files setting named Filename. When creating per folder m3u files you can provide a static name for the filename. If the field is empty the old behaviour is used ... if there is a consistent album field it will be used as the name otherwise Yate will be used.
Cue Files
- If all selected files are in the same folder the file save panel will be positioned to that folder.
- The filename initially displayed in the save panel will be Cue Sheet as opposed to Untitled.
Action Statement Changes
- The Finder Tags statement now accepts the default list delimiter when writing tags.
- New escape sequence (\?ft) to return a list of the Finder's basic colour tags.
- Statements in the File Availability category can now be executed in all execution modes. With the exception of the Active Files to List statement, the action test state is set to false if the statement is not appropriate due to one of the following reasons:
- The action is executing Grouped.
- A Load & Run statement is being executed.
- A Run statement is being executed which sets the file availability by testing a track variable.
- Execution of the statement would result in no files being active. It is invalid not to have at least one active file.
- The Prompt statement's Reset checkbox has been removed. The option is now on the Mode pulldown control.
- The Prompt statement has a new mode named DB Status which is used to place a message on an open database's status bar. See the online help for more information.
- The Debug statement now supports Snapshot and Per Track at the same time.
- The Debug statement is now smarter when displaying the per track variables. If they are the same for all files a snapshot will be displayed.
Bug Fixes
- Fixed issues introduced in v6.0 when interacting with iTunes 10.7. Yes 10.7! The bug more than likely affects interaction with any version of iTunes less than 12.3.3. Not all functionality may be available with versions this old.
- The iTunes (not Music or TV) Media kind was imported as 'iTunes' as opposed to 'Music'.
- When multiple Compare statements were being ORed and Any was not specified and track variables were being set, the action test state could be incorrect.
- The Search Discogs and Search MusicBrainz action statements would hang when run in immediate mode if they were previously used in an action run through the batch processor.
Version 6.0.0.2 (8910)
Bug Fix
- Part 2 of the folder rename bug introduced in v6.0 and not completely fixed in v6.0.0.1. Argh!
Version 6.0.0.1 (8909)
Bug Fix
- Fixed a case where 'File Moved' was displayed when renaming files. The files had been moved but the message was not relevant.
Version 6.0 (8908)
The Action Manager
- Many actions are written which do not require selected audio files. These include actions which dynamically load files, those that manipulate databases, etc. The issue is that actions cannot run without at least one selected file.
- There is a new column in the Action Manager named Always. When the column is enabled, it is treated as a hint to the action runner. The hint is used as follows:
- if files are loaded and at least one is selected, there is no behaviour change.
- if files are loaded and none are selected, one file will automatically be selected. The named variable File Auto Selected will be set to 1.
- if no files are loaded, a temporary file will be supplied and selected. The named variable Temporary File Supplied will be set to 1.When the action terminates, the file is removed. Note that if the file is renamed or moved it will not automatically be removed.
- Note that the All Files column settings are applied before the Always interpretation.
- It is still your responsibility to ensure that selected files are not modified, if that is your intent.
- Actions with the Always setting will be enabled in menus, main window toolbar icons and edit panel action buttons when there are no files selected.
- Two new action statement categories were added: Import/Export and Preferences.
Filters
- The main window filter panel and the database viewer window filter panels have been completely redesigned.
- To the best of our ability, your existing filters will be converted automatically.
- The new filters are no longer serialized binary data making them much easier to open, save and export.
- The new filter system is extensible on operators and escape sequence processing.
- The new filter system has a number of new features including:
- The main window filters field menu can be collapsed into categories. There were a lot of filter types and there are now more.
- Every field can compare using text, integer, decimal and boolean operators.
- You can now use regular expressions as a text compare operator.
- Text operators support case and diacritic insensitivity options as well as a match words option.
- The main window has the following new filter items:
- Artwork Size - bytes
- Is Linked with Differences
- Named Comment
- Named User Defined Text Info
- Named User Defined URL
- The compare against field can contain escape sequences. In the main window this includes all action statement escape sequences. This allows you to compare one field to another or compare a current value to an initial value, etc. In the database filter this includes column name inclusion which allows you to compare one column to another.
- The database relative date escape sequences (slightly modified in format) are now also available in the main window filter editor and action statements.
- All filter panels can be opened by an Edit>Find menu sequence (⌘F).
- Filters can be saved by a File>Save menu sequence (⌘S).
Renaming Files
- Rename Template Changes
- There is a new Track token named Track Symbolic. The token loads the track position metadata whether it is stored in a UDTI or a named variable.
- There is a new Property token named Sample Rate.
- The token menu's Custom submenu has been renamed Custom Fields.
- The Open Filename token has been renamed Initial Filename.
- The Open Folder token has been renamed Initial Folder.
- The Start Filename token has been renamed Current Filename.
- The Start Folder token has been renamed Current Folder.
- Renaming Folders
- Previous versions of Yate only supported the renaming of the folder containing a track.
- Successive Folder Start tokens can now be used to rename any path component. The tokens are applied right to left. ie. the first Folder Start token modifies the name of the folder containing the tracks. A second Folder Start token modifies the folder containing the folder which contains the tracks, etc.
- The Current Folder and Initial Folder tokens are context sensitive. If there is no Folder Start token active, they are based on the folder containing the tracks. If there is a Folder Start token active, they are based on the path component being renamed.
Apple App Playlist Naming
- Playlists in iTunes, Music and TV use names which are case sensitive and unfortunately can be duplicated. Playlists can be stored in playlist folders which can be nested.
- Previously Yate only supported access to playlists in a flat mode where folders were ignored. This mode is still supported.
- You can now access playlists with the enclosing folder structure. All functionality which supports playlists supports the new and old naming methodologies.
- The help for all functionality which can specify a playlist name has links to an Apple App Playlist Naming Conventions topic.
- When the new naming conventions are used, you can create, delete, add to, etc. playlists within folders.
Apple App Support
- The maximum of 500 tracks previously set on the Open Items Playing In functionality has been eliminated. Be reasonable!
- If Preferences - Apple Apps - Auto Import - Media Kind is enabled, Media Kind will be imported when tracks are added to the relevant Apple App.
Album Artwork in Music/TV
- We've come up with a somewhat more aesthetic workaround for the Catalina Music/TV issue of not updating album artwork when tracks are saved.
- There is a new Artwork menu item named Patch Artwork in Apple App and a same named action statement. There are also variants which support the patching only if the default artwork item has been modified.
- This is a far less invasive workaround than the Extreme Update set of actions as the tracks are not removed from Music/TV.
- Unfortunately there is another bug in Music/TV which has a side effect. After running the new functionality the application's libraries will contain zero or one artwork item for each processed track. The number of items in the files and displayed by Yate does not change. As most people keep only one artwork item in a file it is thought that this limitation is not too oppressive.
- While not necessary, the functionality operates on iTunes as well. When run against iTunes the above mentioned side effect does not occur.
Application
- There is a Warn Before Quitting (⌘Q) item on the Yate menu. the warning is only issued for the ⌘Q keyboard sequence.
- The Quit Yate menu item can no longer be assigned a keyboard shortcut. ie. it is always bound to the system default of ⌘Q.
- The File menu has a new submenu named Open With. Applications can be placed on the menu. The menu can be use to open loaded audio files in various other applications. Selecting an application on the menu will attempt to do the following:
- If the main window is active
- all selected files will be opened in the chosen application
- If a Track database is active
- the files associated with all selected rows will be opened in the chosen application.
- if an Album database is active
- the folders associated with all selected rows will be opened in the chosen application.
Main Window
- The Description field is now available as a column.
Navigation
- The Navigate menu has a new Focus on File Browser menu item.
Low Level Audio File Changes
- MPEG-4 files are now more lenient in accepting atoms which are missing required data. In the past these items were dumped into unhandled.
- MPEG-4 files purchased from the Apple store tend to contain various non standard metadata items. Most of these items are placed onto the Unhandled editing panel. Seven items which were previously unhandled are now stored as UDTIs. These items will appear as:
- Apple Store Account Type
- a numeric value. This can be iTunes or supposedly AOL ... which we've never seen.
- Apple Store Artist ID
- a numeric value. Some others refer to this as the Album-Title ID, however as the same values are often returned for this item and the composer ID, we believe that it represents an artist.
- Apple Store Catalog ID
- a numeric value
- Apple Store Composer ID
- a numeric value
- Apple Store Genre ID
- displayed as: # (symbolic genre if available)
- Apple Store Flavour
- a text string displaying information about an item's encoding or representation
- Apple Store Playlist ID
- a numeric value. This more than likely represents the album.
- MPEG-4 files can now be configured to map the Initial Key field to initialkey as opposed to KEY. This is done in Preferences-Audio-MPEG-4.
- All audio formats now remove empty UDTIs. In the past this was done for some formats but not all.
Video Settings
- You can now override the audio free space settings and supply alternate values to be used by files containing video.
- Video files can be quite large and depending on the location of the metadata in a file it might be required to rewrite the entire file when changes are applied. This can be a lengthy process. There is a new setting named Fast rewrites which enables the functionality to speed up the process the first time a rewrite is necessary. It also removes the need to do subsequent full rewrites. There are ramifications to the approach. The online help has additional information.
- When free space is removed in MPEG-4 files, typically only free space somewhat adjacent to the tag area is released. In order to enable the removal of free space introduced by the Fast rewrites setting, there is a new option named Aggressively remove free space. This can be a length process but typically would only be so once.
Batch Processing
- The batch processor log file is now written in a semi-persistent manner. This results in a smaller memory footprint.
The Discogs Wizard
- The Master ID is now saved with the leading 'm' used to differentiate masters from releases. This changes nothing other than it is now easier to copy a master value and paste it into the wizard's search panel's ID field.
- The main window Discogs Wizard context menu item is now always enabled. Previously it was disabled if the wizard was already running. The new approach makes it easy to display the wizard's window if it is hidden.
- A new action statement was added: Search Discogs.
- A new action statement named Map Metadata to Files can map files as in the Discogs wizard from metadata downloaded by the Discogs Metadata for Release statement.
The MusicBrainz Wizard
- The wizard has a new metadata item: Discogs Master ID.
- The Discogs Wizard can be launched with the Discogs Master ID item from the context menu or by double clicking on it. (Same as Discogs Release ID).
- The main window MusicBrainz Wizard context menu item is now always enabled. Previously it was disabled if the wizard was already running. The new approach makes it easy to display the wizard's window if it is hidden.
- Additional relationship URLs are now imported.
- A new action statement was added: Search MusicBrainz.
- A new action statement named Map Metadata to Files can map files as in the MusicBrainz wizard from metadata downloaded by the MusicBrainz Metadata for Release statement.
Discogs & MusicBrainz Import Sets
- Previously you could only manage import sets from with the wizards or the Access Discogs or Access MusicBrainz action statements.
- You can now manage the import sets from the Actions menu.
Databases
- Databases can now be opened, closed and saved while batch processing.
- An open database is only accessible while batch processing when an Action Pending window is displayed. ie. when the user is being prompted for information.
- An open database has limited functionality while batch processing. They are intended to be used as an interface mechanism.
- The context menu has a new Deselect All item.
File to Tag Templates
- The token menu's Custom submenu has been renamed Custom Fields.
Action Pending Window
- You can now specify that you want the Action Pending window to use a monospace font. This is done in Preferences-Actions.
- Note that you can override this setting at runtime using the Preferences statement.
Action Runtime Settings
- Previously Action Runtime Settings were maintained in a single container. This was problematic as they could not be exported with individual actions and the list of settings could be quite long and confusing unless settings were assigned an identifying prefix.
- Action Runtime Settings are now maintained in Runtime Settings sets. These sets can be viewed in a new preference section called Runtime settings. Your previous settings will have been migrated to an Action Runtime Settings set.
- All access to runtime settings is associated with the mapped runtime settings set (initially Action Runtime Setting). You can change the mapping via the Map Action Runtime Settings statement. Setting the mapping to empty, is equivalent to setting it to Action Runtime Settings.
- Runtime sets are automatically created when settings are saved. Further, they are removed when all settings are removed.
- You no longer view the settings in Preferences-Actions. You can view them in Preferences-Runtime Settings.
- The \?rs escape sequence inserts the name of the currently mapped replacement set.
- When you update to this release the Runtime Settings item in Preferences will appear at the end of the list. You can always sort the list or drag and drop the preference setions to whatever order you prefer.
Actions and the Status Bar
- The Prompt statement has a mode which allows you to place a message on the main window status bar. Previously when running in immediate mode there was a good chance that some other function would overwrite the message.
- This has been changed so that the messages you set are preserved. If a function displays status, the Prompt written message will be appended so that it is visible. When the status bar is reset by a function, the Prompt written message will again be displayed.
- You should use the Prompt statement to clear the status bar when the message you are displaying no longer makes sense.
Action Statement Changes
- All statements which use a list of fields now support delimiters of commas, newline characters (\n) and the default list delimiter (\~) in the list.
- Any action statement which removed control characters now also removes invalid Unicode characters.
- The Access Discogs action statement now supports Loose Matching in immediate mode.
- The Access MusicBrainz action statement now supports Loose Matching in immediate mode.
- There is a new file availability statement named Active Files to List. The statement saves a list representing the current set of active files. This can be used as a restore point when used with another new action statement named List to Active Files.
- The Artwork Information statement has a new per file option which can be use to override the default stepwise mode of operation.
- The Artwork Information statement has new functions to return values relating to an artwork item's size in bytes.
- The Bracket statement now has a diacritic insensitive option.
- The Compare Date Test statement has been renamed Compare Dates
- The Compare Numeric Test statement has been renamed Compare Numeric
- The Compare Text Test statement has been renamed Compare Text
- The Close Database statement can now be executed when batch processing.
- The Close/Save Query Database statement now has additional functionality when closing a grabbed database. This includes removing an active filter and sorting. Further when closing a grabbed database with the 'stay open' open, the grabbed database will refresh its display.
- The Compare Text Test statement now has a regular expression operator.
- The Copy statement can now process named variables as the source and destination of a copy ... and more. The Copy Field to Named Variable statement no longer exists. All instances have been converted to be a Copy statement.
- The Copy Files statement, when it references a rename template, will take advantage of the enhanced preference rename template's Folder Start capabilities. This means the rename template can append any number of additional path components.
- The Count Items statement can now optionally set the action test state based on the number of items being zero.
- The Delete Apple App Playlist statement can now specify that the immediately containing or all containing empty playlist folders should be deleted.
- The Discogs Metadata for Release statement used to return error information as a key in the returned data. This was found to be too problematic due to multiple network accesses. Error information is now returned in a Data Source Access Error named variable.
- The Enumerate Tag Sets and Fields statement has been renamed Enumerate Fields and Extensions. The creation of a list of tag sets and the fields in a named tag set functions have been moved to the Extract Preference Set statement for consistency reasons. The Enumerate Fields and Extensions statement now only enumerates fully static information. This includes various classes of fields and lists of filename extensions appropriate for media, database, playlist and image files.
- The Expand Execution to Unselected Files statement is now available when batch processing. When batch processing it is identical to executing Restore Initial Set of Files.
- The Extract Preference Set statement, when returning the contents of a named item, can now optionally set the action test state as opposed to stopping the action if the named item does not exist.
- The Extract Preference Set statement can now return a list of Discogs and Musicbrainz import sets.
- The Extract Preference Set statement can now extract information from named Runtime Sets.
- The Extract Preference Set statement can now return a list of Runtime Sets sets.
- The Field List Enumerator statement has been renamed Multi Item Field List Enumerator.
- The File Path Manipulation statement can now test if a path references a database file.
- The Get Containing Playlists from Apple App statement can now specify that fully qualified playlist names should be returned.
- The Import Base Settings from Apple App statement has been renamed to Import Fields from Apple App.
- The Is Database Open statement is now available when batch processing.
- The Link to Apple App Test statement has ben deprecated.
- The List Manipulate statement's Filter mode now supports filtering on a list item being an audio or image file path component.
- The List of Apple App Playlists statement can now specify that fully qualified playlist names should be returned.
- The Lock/Unlock Database statement is now available when batch processing.
- The Modified Test statement has ben deprecated.
- The Manipulate Artwork statement now has the ability to compress artwork items if they are greater than a specific size. There are special considerations for FLAC files.
- New Action statement named Map Action Runtime Settings. The statement maps a specific runtime settings set to be used by action runtime setting assignments and loads.
- New Action statement named Map Metadata to Files. Designed to be used with the Discogs Metadata for Release and MusicBrainz Metadata for Release statements, this statement can perform a file mapping equivalent to that performed in the Discogs and MusicBrainz wizards.
- The Move statement, when it references a rename template, will take advantage of the enhanced preference rename template's Folder Start capabilities. This means the rename template can append any number of additional path components.
- The MusicBrainz Metadata for Release statement returns the Discogs Master ID.
- The MusicBrainz Metadata for Release statement used to return error information as a key in the returned data. This was found to be too problematic due to multiple network accesses. Error information is now returned in a Data Source Access Error named variable.
- The Open Database statement can now be executed when batch processing.
- The Open Database Information statement is now available when batch processing.
- The Open Query Database statement now supports diacritic insensitive keys.
- The Open Query Database statement now supports opening the database in the UI before a grab attempt is made.
- New action statement named Patch Artwork in Apple App used to force update artwork primarily in Music/TV.
- The Preferences statement has additional single setting overrides.
- The Prompt statement now has the ability to reset the various Prompt configuration named variables.
- The Prompt for Fields statement now supports a Prompt for Fields Constraints named variable. The only constraint currently supported is that the user must select at least one field.
- The Prompt for File or Folder statement now accepts the default list delimiter (\~) as a separator for file types.
- The Prompt for File or Folder statement has a new Set state option to enable the catching of a user selecting Cancel.
- The Remove Item from Query Database statement can now delete a range of rows.
- The Remove Items from Database statement is now available when batch processing.
- The Save Database statement can now be executed when batch processing.
- The Set Action Runtime Setting statement now has an override to allow the saving of empty settings.
- New action statement named Search Discogs which can search Discogs for an album/artist combination and save the results.
- New action statement named Search MusicBrainz which can search MusicBrainz for an album/artist combination and save the results.
- The Set Action Test State from File Type statement has been renamed to Test File Type.
- The Show in Log Viewer statement will close the viewer if the supplied content is empty.
- The Test Property statement has been deprecated. The Compare Numeric Test and Compare Text Test statements can do everything done by Test Property and far more.
- The Update Database statement is now available when batch processing.
- You can specify text to be appended to a status bar prompt issued by the following Statements: Discogs Metadata for Release, MusicBrainz Metadata for Release, Search Discogs and Search MusicBrainz. The text is specified in a Status Bar Message Suffix named variable.
- In order to provide runtime access to statements that specify fields to be processed in a table, standardization has occurred so that the fields can be supplied in a named variable which is processed at runtime. The following statements can now process fields specified in a table, a named variable or fields in a named variable:
- Clear
- Copy
- Exists
- Get First Line
- Re-encode
- Remove Invalid Characters
Further, many table statements can also treat each effective field or named variable as a list. The following statements can now process fields specified in a table, a named variable, fields in a named variable and support list processing:
- Append
- Bracket
- Case
- Find and Remove
- Prepend
- Replace
- Sort Form
- Trim
Escape Sequences
- There is a new escape sequence (\?om) which returns an encoded description of the current Open Mode. More information is provided on the Escape Sequence help page.
- The date offset escape sequences previously only available in database filters are now generally available. The sequences now start with \%
- There is a new escape sequence (\Z) which inserts a time stamp: yyyy:mm:ddThh:mm:ss.###
- There is a new escape sequence (\?rs) which inserts the name of the currently mapped replacement set.
File Properties
- There are seven new file properties:
- Has Chapters
- Has Modified Chapters
- Has Progressive Artwork
- Has Progressive Default Artwork
- Is Artwork Modified
- Is Default Artwork Modified
- Is Linked With Differences
The Crop/Scale/Square Artwork Panel
- The ability to compress images has been added. This is only available when the panel is invoked in the main window. ie. not when invoked in the Artwork Viewer.
FLAC Files and Artwork
- FLAC files cannot store an artwork item which is larger than ~16mb. In the past if this situation was encountered the artwork item was silently tossed. While we considered the situation extremely unlikely we've now seen one case. An error message is now issued.
- The Artwork Manipulate action statement now has the ability to compress images. You can enter the required size value as FLAC to ensure the correct limit for FLAC encoding is used.
- The Crop/Scale/Square Artwork panel, when opened from the main window, has the same compress functionality.
Web Resources
- There is a new version of the Repair Files from Audio Health Check Log action. This version runs in immediate mode, does not require any loaded files and can automatically determine the location of the AFHC log file. You have additional control over the content of the produced log file. The action can easily be run from the Actions menu.
- There are new actions to interactively search Discogs or MusicBrainz in immediate mode or via the Batch Processor. The actions use the new ability to communicate with the user via a database viewer.
- Many other actions were updated.
Big Sur
- For those of you having a look at Big Sur, we've made changes in this release which allows the application to run ... if we say so ourselves ... well. Issues will crop up in subsequent betas and we'll issue patches accordingly.
Bug Fixes
- If the Title Case preferences had - added as a start character but not an end character, a crash could result.
- The Find and Remove statement was incorrectly displaying that the Trim setting was enabled.
- The Music and TV applications have a bug where the list of available playlists cannot be immediately enumerated when they are launched by a programmatic access. In order to get around the issue the Get Apple App Playlists statement forces the application to activate if it is not running. This causes the application to be displayed. The application is then forced to be minimized but there will be a flash on the display.
- The Close/Save Query Database statement's Filter on grabbed close setting was not ignored when running through the Batch Processor.
- When a database was open and an action was being executed and the Action Pending Window was displayed, the database Open menu item was not disabled. This meant that the current open set of files could be changed.
- The Is Query Database Open statement was not valid when batch processing.
- The Access Discogs statement was incorrectly enabled in immediate mode for modes where it should have been disabled.
- The Read Text File statement's single line display was referring to a 'prefix' which was bogus.
- The Prompt for Text statement's optional R/O status was removed after choosing a value from a picker menu.
- The Count Items statement was not flagging an empty destination named variable field.
- A few controls in the CCE window were more than a little too dim in dark mode.
Latest Release Notes