I might have succeeded in combining these. (and I added some ‘guest membranophone’ I encountered that wasn’t a guest at all)
This seems to work nicely for now:
$set(performer:drums,$if2(%performer:membranophone%,$get(performer:drums \(drum set\)),$get(performer:guest membranophone),$get(performer:additional membranophone)))
$unset(performer:membranophone)
$unset(performer:drums \(drum set\))
$unset(performer:guest membranophone)
$unset(performer:additional membranophone)
$set(performer:guitars,$get(performer:guitar family))
$unset(performer:guitar family)
$set(performer:guitars and solo,$get(performer:guitar family and solo))
$unset(performer:guitar family and solo)
$set(performer:violins,$get(performer:violin family))
$unset(performer:violin family)
I am not very versed in Picard scripting, so use this at your own risk, and feel free to comment, or propose any additions.
(updated, violin family > violins added)
.
Important note:
The script gives good results for me when using the Standardize Performers plugin.
Without it it might not result in what you are expecting/hoping for.
.
EDIT
Updated version to be found here: