$set(_instrumentsFieldName,instruments) $if($eq_any($upper(%_extension%),MP3),$set(_instrumentsFieldName,$upper(%_instrumentsFieldName%))) $foreach(%_instruments%, $set(_currentInstrument,%_loop_value%) $if($eq(%_skipInstrument%,1),, $set(_standardizedInstrument,$lower(%_currentInstrument%)) $set(_standardizedInstrument,$replace(%_standardizedInstrument%,vocals,vocal)) $set(_currentCustomPerformerField,performer %_standardizedInstrument%) $if($eq($upper(%_extension%),MP3),$set(_currentCustomPerformerField,$upper(%_currentCustomPerformerField%))) $set(_temp_currentCustomPerformerField,temp performer %_standardizedInstrument%) $if($eq(%_skipInstrument%,1),, $foreach(; additional ; guest ; solo ; guest solo , $set(_currentInstrumentRegex,^\(.*\, \)?\(.* and \)?%_loop_value%$replace($replace(%_currentInstrument%,\(,\\\(),\),\\\))\(\, .*\)?\( and .*\)?\$) $setmulti(_currentInstrumentMains,$rperformer(%_currentInstrumentRegex%, ), ) $foreach($unique(%_currentInstrumentMains%), $set(_performer,%_loop_value%) $set(_performer,$replace($get(_performer),‐,-)) $set(_performer,$replace($get(_performer),“,")) $set(_performer,$replace($get(_performer),”,")) $set(_performer,$replace($get(_performer),’,')) $if($or($find(%_performer%,\(CV:),$find(%_performer%,\(CV.)), $set(_performer,$rreplace(%_performer%,\(.*\)\\\(CV[.:]\(.*\)\\\),\\2)) ) $if($or($find(%_performer%,\(cv:),$find(%_performer%,\(cv.)), $set(_performer,$rreplace(%_performer%,\(.*\)\\\(cv[.:]\(.*\)\\\),\\2)) ) $copymerge(%_temp_currentCustomPerformerField%,_performer) ) ) $set(_temp_ordered_currentCustomPerformerField,) $foreach($unique($get(%_currentCustomPerformerField%)), $set(_oldPerformerValue,%_loop_value%) $set(_foundOldPerformerValue,0) $foreach($unique($get(%_temp_currentCustomPerformerField%)), $if($eq(%_loop_value%,%_oldPerformerValue%),$set(_foundOldPerformerValue,1),) ) $if($eq(%_foundOldPerformerValue%,1),$copymerge(_temp_ordered_currentCustomPerformerField,_oldPerformerValue),$set(NOT FOUND,NOT FOUND)) ) $if(%_currentCustomPerformerField%,$delete(%_currentCustomPerformerField%)) $copymerge(%_currentCustomPerformerField%,_temp_ordered_currentCustomPerformerField) $copymerge(%_currentCustomPerformerField%,%_temp_currentCustomPerformerField%) $if(%_temp_currentCustomPerformerField%,$delete(%_temp_currentCustomPerformerField%)) $if(%_temp_ordered_currentCustomPerformerField%,$delete(%_temp_ordered_currentCustomPerformerField%)) $copymerge(_standardizedInstruments,_standardizedInstrument) ) ) $set(_skipInstrument,) ) $foreach($unique(%instruments%), $set(_currentCustomPerformerField,performer %_loop_value%) $if($find(%_standardizedInstruments%,%_loop_value%),,$delete(%_currentCustomPerformerField%)) ) $delete(%_instrumentsFieldName%) $foreach($unique(%_standardizedInstruments%), $set(_standardizedInstrument,%_loop_value%) $copymerge(%_instrumentsFieldName%,_standardizedInstrument) $if($eq($upper(%_extension%),M4A), $set(_currentCustomPerformerField,performer %_standardizedInstrument%) $set(%_currentCustomPerformerField%,$join($get(%_currentCustomPerformerField%),; )) ) ) $if($eq($upper(%_extension%),M4A), $set(instruments,$join(%instruments%,; )) ) $unset(performer:*)