Application icon

Involved People/Musician Credits Functions

This statement is used to extract information from or modify the contents of the Involved People or Musician Credits fields. The text fields may contain any of the escape sequences described in Escape Sequences. Note that escape sequences are evaluated per file regardless of the execution mode.

You specify if a function is to operate on the Involved People or Musician Credits field.

The following functions return lists using the default list delimiter (\~).

All Credits
A list containing the names of all credits is saved to the specified Track Variable.

All People
A list containing the names of all people is saved to the specified Track Variable.

People for Credit
A list of people associated with the supplied credit is saved to the specified Track Variable.

Credits for Person
A list of credits associated with the supplied person is saved to the specified Track Variable.

People for Empty Credit
It is possible to have a list of people which are not associated with a credit. This function returns the list of people which have an empty credit.

Credits Unsupported by Roon
A list of credits which are unsupported by Roon. Note that the empty credit is not returned by this function. Empty credits are always invalid. This returns credits which do not exist as is in the credits database or are not marked as supported by Roon. The Combined Credits Functions statement can return a similar list which also contains repair information by supplying an explicit or implicit alias.

Credits Which are Aliases
A list of credits which are aliases to others.

Credits Which are not Defined
A list of credits which are not defined as known credits in the Combined Credits Editor.

The following functions modify the source field. With these functions you must set the post function sort options. The sort field specifies what you would like sorted while formatting. Sorting by Credits will effectively sort each row. Sorting by People will sort the people associated with each credit. Sorting by Both will sort everything.

You can elect to merge or not merge names with the same credit to a single item when updating the fields.

Remove Credits
After unescaping the credits field is treated as a list of credits separated by the default list delimiter (\~). The specified credits are removed.

Remove People
After unescaping the people field is treated as a list of people separated by the default list delimiter (\~). All occurrences of the specified people are removed. Note that this will also remove credits which were only associated with the specified people.

Add Credits for People
After unescaping, both fields are treated as lists with components separated by the default list delimiter (\~). Each specified credit will be associated with the supplied people.

Remove Credits for People
After unescaping, both fields are treated as lists with components separated by the default list delimiter (\~). The list of people will be removed from every specified credit.

Remove Empty Credits
Credits with no name are entirely removed. Credits not associated with any people are removed.

Combine Credits
The credits across all files are combined such that they are the union of the individual credits.

Rename Credits
Any credits with the specified from name will be renamed to the to name. This function is always case and diacritic insensitive. If the to name already exists, all people associated with the from and to credits (they might be the same) will be merged. The to name's alphabetic case is enforced.

Rename People
Any people with the specified from name will be renamed to the to name. This function is always case and diacritic insensitive. If the to name already exists, the to name's alphabetic case is enforced.

Move to Custom Fields if Possible
Involved People and Musician Credits are used to store credits which do not map to standard fields such as Composer, etc. When this function is performed, any credit which has the same case insensitive name as a custom field which is defined as a credit, will be moved to the custom field.

example: remove all credits in Involved People where the credit name contains 'photo'. The first and third statements are this statement. The second is a List Manipulate statement.

1: Save all credits in Involved People to Variable 0
2: List Manipulate Filter items in 'Variable 0'(⏎) using text contains "photo" (case insensitive).
Save to 'Variable 0'(⏎) 3: Remove credits "\v0" in Involved People

Overriding The Settings at Runtime

You can override certain settings by enabling Runtime override. When enabled, the IPMC Runtime Override named variable will be analyzed. The following codes are supported (case insensitive):

M
the source of the statement will be changed to Musician Credits
I
the source of the statement will be changed to Involved People
0
disables Merge Names
1
enables Merge Names
N
sets the sort to None
C
sets the sort to Credits
P
sets the sort to People
B
sets the sort to Both
X
sets text matching to case sensitive as opposed to the default of case insensitive.

Overriding Which Files are Modified

By default, these function work on the current list of active files. In order to make it easier to apply credit changes to specific files, you can enable the Runtime track list option. When this option is enabled, named variable IPMC Track Override is parsed. Note that if the named variable is empty, it is treated as all active files. When not empty, the named variable must contain a list of tracks (and possible discs) which are to be modified.

The named variable can contain a list of track numbers and/or ranges of track numbers to be modified. eg: 5,6,10-13 means modify any active files with a track number of 5, 6 or 10 through 13.

You can also explicitly associate tracks with disc numbers. eg. 1:1,3-5,3:4,5 means modify any active files on disc 1 with a track number of 1,3,4,5 and on disc 3 with a track number of 4 or 5. Disc associations persist until the next #: sequence is encountered.

Note that all or no tracks must be specified with a disc number. ie. 3,2:5 is invalid.


The Action Test State

This statement always sets the action test state to true unless Runtime track list is enabled and an error parsing the IPMC Track Override named variable occurred.