This statement is used to decompose titles into separate classical components. title is used loosely as the Title field is not directly used.
The source parsing is the same algorithm which is used when decomposing MusicBrainz works to import classical fields. The algorithm is not foolproof.
Input and output is maintained in a container array. Any directed path can be used as long as it resolves to be an array. Every element in the array must be an object which contains a String name of title. Array items which are not Objects or do not contain a non empty title member are ignored.
The action test state will be set to false if the directed path is not an array or does not exist. It will also be set to false if no array elements are valid. Otherwise it will be set to true.
On output the objects can contain the following members. Note that all items are strings except for isClassical. All items are optional.
When determining if classical metadata is available, a test is performed to attempt to recognize false positives based on all active files. Prior to Yate v8.0 at least 50% of the active files had to have located classical metadata. If the 50% threshold was not met, a false positive was assumed and the classical metadata was discarded. You can use the Percentage of tracks which must be classical for identification control to choose a different percentage. MusicBrainz Setting will use the value of the Settings - MusicBrainz - General setting of the same name as the control. Unlimited implies that all classical metadata is available for import regardless as to what percentage of the active files have located classical metadata. 100% implies that all active files must have located classical metadata in order to be retained.
Example input container:
[ { "title" : "Piano Concerto No. 23 in a Major, K. 488: 1. Allegro" }, { "title" : "Piano Concerto No. 23 in a Major, K. 488: 2. Adagio" }, { "title" : "Piano Concerto No. 23 in a Major, K. 488: 3. Allegro Assai" }, { "title" : "Piano Concerto No. 24 in C Minor, K. 491: 1. Allegro" }, { "title" : "Piano Concerto No. 24 in C Minor, K. 491: 2. Larghetto" }, { "title" : "Piano Concerto No. 24 in C Minor, K. 491: 3. Allegretto" }, { "title" : "Impromptu for Piano in G Flat Major, D. 899/3 (Op. 90/3)" }, { "title" : "Impromptu for Piano in a Flat Major, D. 899/4 (Op. 90/4)" } ]
Example output container:
[ { "classicalCatalog" : "K. 488", "composition" : "Piano Concerto No. 23 in a Major, K. 488", "isClassical" : true, "movementCount" : "3", "movementName" : "Allegro", "movementNumber" : "1", "partName" : "I. Allegro", "title" : "Piano Concerto No. 23 in a Major, K. 488: 1. Allegro" }, { "classicalCatalog" : "K. 488", "composition" : "Piano Concerto No. 23 in a Major, K. 488", "isClassical" : true, "movementCount" : "3", "movementName" : "Adagio", "movementNumber" : "2", "partName" : "II. Adagio", "title" : "Piano Concerto No. 23 in a Major, K. 488: 2. Adagio" }, { "classicalCatalog" : "K. 488", "composition" : "Piano Concerto No. 23 in a Major, K. 488", "isClassical" : true, "movementCount" : "3", "movementName" : "Allegro Assai", "movementNumber" : "3", "partName" : "III. Allegro Assai", "title" : "Piano Concerto No. 23 in a Major, K. 488: 3. Allegro Assai" }, { "classicalCatalog" : "K. 491", "composition" : "Piano Concerto No. 24 in C Minor, K. 491", "isClassical" : true, "movementCount" : "3", "movementName" : "Allegro", "movementNumber" : "1", "partName" : "I. Allegro", "title" : "Piano Concerto No. 24 in C Minor, K. 491: 1. Allegro" }, { "classicalCatalog" : "K. 491", "composition" : "Piano Concerto No. 24 in C Minor, K. 491", "isClassical" : true, "movementCount" : "3", "movementName" : "Larghetto", "movementNumber" : "2", "partName" : "II. Larghetto", "title" : "Piano Concerto No. 24 in C Minor, K. 491: 2. Larghetto" }, { "classicalCatalog" : "K. 491", "composition" : "Piano Concerto No. 24 in C Minor, K. 491", "isClassical" : true, "movementCount" : "3", "movementName" : "Allegretto", "movementNumber" : "3", "partName" : "III. Allegretto", "title" : "Piano Concerto No. 24 in C Minor, K. 491: 3. Allegretto" }, { "classicalCatalog" : "D. 899/3", "composition" : "Impromptu for Piano in G Flat Major, D. 899/3 (Op. 90/3)", "isClassical" : true, "movementCount" : "1", "movementNumber" : "1", "opus" : "90", "title" : "Impromptu for Piano in G Flat Major, D. 899/3 (Op. 90/3)" }, { "classicalCatalog" : "D. 899/4", "composition" : "Impromptu for Piano in a Flat Major, D. 899/4 (Op. 90/4)", "isClassical" : true, "movementCount" : "1", "movementNumber" : "1", "opus" : "90", "title" : "Impromptu for Piano in a Flat Major, D. 899/4 (Op. 90/4)" } ]
The Extract Work and Part from Title action on the resources web page is a good example of how to use this statement.