# Correct structure for INVOLVEDPEOPLE

**URL:** https://community.mp3tag.de/t/correct-structure-for-involvedpeople/66458
**Category:** Support
**Created:** [November 7, 2024, 1:42pm UTC](https://community.mp3tag.de/t/correct-structure-for-involvedpeople/66458 "2024-11-07T13:42:59Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Roland](https://community.mp3tag.de/user_avatar/community.mp3tag.de/roland/32/8001_2.png) [@Roland](https://community.mp3tag.de/u/Roland)
#### Post date: [November 7, 2024, 1:42pm UTC](https://community.mp3tag.de/t/correct-structure-for-involvedpeople/66458/1 "2024-11-07T13:42:59Z")

</div>

A lot of tracks have values for INVOLVEDPEOPLE in a wrong structure, e.g.:

![grafik](https://community.mp3tag.de/uploads/default/original/3X/a/8/a808cbeb4bbde667672895e2bb3385e0f9c85f50.png)

According to this: [https://docs.mp3tag.de/mapping/#involvedpeople](https://docs.mp3tag.de/mapping/#involvedpeople)  
I am looking for a way to swap the parts accordingly, this seems easy.  
But if one person is involved in different roles, I would like to agggregate them via role.  
I would like to get a list like:

 ![grafik](https://community.mp3tag.de/uploads/default/original/3X/a/1/a1b74d294ff86a43fa34af581f9a7f5e8c6b213e.png)

How to split these values?  
How can I sort the values according to role?

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [November 7, 2024, 2:01pm UTC](https://community.mp3tag.de/t/correct-structure-for-involvedpeople/66458/2 "2024-11-07T14:01:57Z")

</div>

> [@Roland](#):
>
> How to split these values?

Try for single strings like "Ben Tolliday, Producer, MixingEngineer"::  
`$regexp($regexp(%involvedpeople%,'(.*?), (.*)',$2: $1),'(.*), (.*): (.*)',$1: $3;$2: $3)`  
As there is no sorting function in MP3tag, I have no suggestion for that.

---

<div class="post-metadata">

### Author: ![poster](https://community.mp3tag.de/user_avatar/community.mp3tag.de/poster/32/4881_2.png) [@poster](https://community.mp3tag.de/u/poster)
#### Post date: [November 7, 2024, 2:18pm UTC](https://community.mp3tag.de/t/correct-structure-for-involvedpeople/66458/3 "2024-11-07T14:18:28Z")

</div>

I am not certain how you want to structure this field.  
Do you want to have multivalue-fields of INVOLVEDPEOPLE or do you want to put the content in 1 field?

According to your citied link the structure for 1 field would have to look like:  
Producer:Ben Tolliday;Composer:Lord Huron; ....

(no spaces after ":" and a ";" after each separate content.)

You know that there is an official field for COMPOSER (TCOM)?

---

<div class="post-metadata">

### Author: ![Roland](https://community.mp3tag.de/user_avatar/community.mp3tag.de/roland/32/8001_2.png) [@Roland](https://community.mp3tag.de/u/Roland)
#### Post date: [November 7, 2024, 2:32pm UTC](https://community.mp3tag.de/t/correct-structure-for-involvedpeople/66458/4 "2024-11-07T14:32:36Z")

</div>

I am looking for restructing a multivalue-field with multiple roles (e.g. 2-5) with a short action.  
As stated I would like to have separate fields for every role,  
seperating a multivalue is easily done,  
sorting seems to be impossible. 🤔

 ![grafik](https://community.mp3tag.de/uploads/default/original/3X/6/b/6b2d5864ee584450ea16cd6012c24f3989bcf045.png)

How looks an action that splits 2 to 5 roles per person like?

I know that there is a field COMPOSER.  
This issue is to solved in a later step.

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [November 8, 2024, 9:35am UTC](https://community.mp3tag.de/t/correct-structure-for-involvedpeople/66458/5 "2024-11-08T09:35:48Z")

</div>

To get a single field to repeat the name, try:  
`$regexp($replace('ABC DEF, composer, vocals, drums',', ',:$regexp('ABC DEF, composer, vocals, drums','(.*?), (.*)',$1;)),(.*?):.*?;(.*),$2:$1)`  
which leads to  
`composer:ABC DEF;vocals:ABC DEF;drums:ABC DEF`

(naturally, you have to replace the "'ABC DEF, composer, vocals, drums'" with the real field name - if you want to address the first multivalue field, this would be $meta(involvedpeople,0)

---

<div class="post-metadata">

### Author: ![system](https://community.mp3tag.de/uploads/default/original/2X/c/ce7035d426cb755a7916793326d23b465222a407.png) [@system](https://community.mp3tag.de/u/system)
#### Post date: [December 8, 2024, 9:36am UTC](https://community.mp3tag.de/t/correct-structure-for-involvedpeople/66458/6 "2024-12-08T09:36:28Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
