# How to write to mp3 tags with a Button

**URL:** <https://resource.dopus.com/t/how-to-write-to-mp3-tags-with-a-button/29293>\
**Category:** Help & Support\
**Created:** [July 6, 2018, 4:44am UTC](https://resource.dopus.com/t/how-to-write-to-mp3-tags-with-a-button/29293 "2018-07-06T04:44:53Z")\
**Posts on this page:** 12\
**Page:** 2

<div class="post-metadata">

**Author:** ![tbone](https://resource.dopus.com/user_avatar/resource.dopus.com/tbone/32/25726_2.png) [@tbone](https://resource.dopus.com/u/tbone)\
**Post date:** [July 11, 2018, 11:31am UTC](https://resource.dopus.com/t/how-to-write-to-mp3-tags-with-a-button/29293/21 "2018-07-11T11:31:40Z")

</div>

This script button could work, you need the SelectEx script addin to be installed for the button to work in some way at all. Find it here: [Command: SelectEx (extended Select command)](https://resource.dopus.com/t/command-selectex-extended-select-command/20517)

```auto
var doCommand = 'SetAttr META "contentgroup:Compilation Album"';

function OnClick(data){
	var cmd = data.func.command, srctab = data.func.sourcetab;
	var cmdTmp = DOpus.Create.Command();
	srctab.Vars.Set("SexRes") = "";
	for(var d=0;d<srctab.selected_dirs.count;d++) {
		var folderItem = srctab.selected_dirs(d);
		DOpus.Output("Scanning folder ["+folderItem.name+"]..");
		cmd.RunCommand(	'SelectEx LINEAR FILES NAME=".+\.mp3$" PATH="'+folderItem.realpath+'" '+
						'ITEMCOUNTPERC=100 RECURSE SETVAR="SexRes" ECHO');
		var strItems = srctab.Vars.Get("SexRes"); if (strItems=="") continue;
		var arrItems = strItems.split("\r\n"); 
		for(var i=0;i<arrItems.length;i++)
			cmdTmp.AddFile(arrItems[i]);
	}
	if (cmdTmp.filecount) cmdTmp.RunCommand(doCommand);
	DOpus.Output("Done.");
}

```

---

<div class="post-metadata">

**Author:** ![Jon](https://resource.dopus.com/user_avatar/resource.dopus.com/jon/32/12713_2.png) [@Jon](https://resource.dopus.com/u/Jon)\
**Post date:** [July 11, 2018, 12:13pm UTC](https://resource.dopus.com/t/how-to-write-to-mp3-tags-with-a-button/29293/22 "2018-07-11T12:13:43Z")

</div>

Don’t you want the RunCommand outside the for loop?

---

<div class="post-metadata">

**Author:** ![tbone](https://resource.dopus.com/user_avatar/resource.dopus.com/tbone/32/25726_2.png) [@tbone](https://resource.dopus.com/u/tbone)\
**Post date:** [July 11, 2018, 1:06pm UTC](https://resource.dopus.com/t/how-to-write-to-mp3-tags-with-a-button/29293/23 "2018-07-11T13:06:42Z")

</div>

Yes we do! Fixed it, thank you. o)

---

<div class="post-metadata">

**Author:** ![wobbly](https://resource.dopus.com/letter_avatar_proxy/v4/letter/w/b782af/32.png) [@wobbly](https://resource.dopus.com/u/wobbly)\
**Post date:** [July 12, 2018, 3:59am UTC](https://resource.dopus.com/t/how-to-write-to-mp3-tags-with-a-button/29293/24 "2018-07-12T03:59:17Z")

</div>

i tried the script button but it gives me an error

i have SelectEx script installed  
an error occurred setting metadata

metadata parsing error

---

<div class="post-metadata">

**Author:** ![Leo](https://resource.dopus.com/user_avatar/resource.dopus.com/leo/32/69732_2.png) [@Leo](https://resource.dopus.com/u/Leo)\
**Post date:** [July 12, 2018, 4:01am UTC](https://resource.dopus.com/t/how-to-write-to-mp3-tags-with-a-button/29293/25 "2018-07-12T04:01:41Z")

</div>

What is the error?

---

<div class="post-metadata">

**Author:** ![wobbly](https://resource.dopus.com/letter_avatar_proxy/v4/letter/w/b782af/32.png) [@wobbly](https://resource.dopus.com/u/wobbly)\
**Post date:** [July 12, 2018, 4:06am UTC](https://resource.dopus.com/t/how-to-write-to-mp3-tags-with-a-button/29293/26 "2018-07-12T04:06:41Z")

</div>

an error occurred setting metadata

metadata parsing error

---

<div class="post-metadata">

**Author:** ![tbone](https://resource.dopus.com/user_avatar/resource.dopus.com/tbone/32/25726_2.png) [@tbone](https://resource.dopus.com/u/tbone)\
**Post date:** [July 12, 2018, 10:45am UTC](https://resource.dopus.com/t/how-to-write-to-mp3-tags-with-a-button/29293/27 "2018-07-12T10:45:14Z")

</div>

Sorry wobbly, I did this very quickly by copying and pasting together some older button parts aaand.. I had no mp3-file around for testing (being at work.. o).

I now managed to test it with actual mp3 files in some folders and it works. I've fixed the code above once more, so please re-copy&paste into your button and try again. o)

---

<div class="post-metadata">

**Author:** ![wobbly](https://resource.dopus.com/letter_avatar_proxy/v4/letter/w/b782af/32.png) [@wobbly](https://resource.dopus.com/u/wobbly)\
**Post date:** [July 12, 2018, 11:30am UTC](https://resource.dopus.com/t/how-to-write-to-mp3-tags-with-a-button/29293/28 "2018-07-12T11:30:30Z")

</div>

great that worked this time ... and iam happy you got it wrong now i can have a look and try and work out why the old one did not work 🙂

---

<div class="post-metadata">

**Author:** ![wobbly](https://resource.dopus.com/letter_avatar_proxy/v4/letter/w/b782af/32.png) [@wobbly](https://resource.dopus.com/u/wobbly)\
**Post date:** [July 12, 2018, 11:31am UTC](https://resource.dopus.com/t/how-to-write-to-mp3-tags-with-a-button/29293/29 "2018-07-12T11:31:44Z")

</div>

thank you very much everyone 😍

---

<div class="post-metadata">

**Author:** ![tbone](https://resource.dopus.com/user_avatar/resource.dopus.com/tbone/32/25726_2.png) [@tbone](https://resource.dopus.com/u/tbone)\
**Post date:** [July 12, 2018, 12:02pm UTC](https://resource.dopus.com/t/how-to-write-to-mp3-tags-with-a-button/29293/30 "2018-07-12T12:02:44Z")

</div>

No, it's not worth looking into it! o) It was the call to .split("\n") causing issues, because I had changed the separator to be "\r\n" at some point in SelectEx. Sorry for the mess, could think of various ways to enhance this, but for now you probably have something to work with.

You could also just use DOs FSUtils.ReadDir() in recursive mode to get your items. Using SelectEx might not be the most straightforward attempt here. So in case you experience performance- or other kind of issues, you still have some options. o)

---

<div class="post-metadata">

**Author:** ![wobbly](https://resource.dopus.com/letter_avatar_proxy/v4/letter/w/b782af/32.png) [@wobbly](https://resource.dopus.com/u/wobbly)\
**Post date:** [January 7, 2020, 4:25am UTC](https://resource.dopus.com/t/how-to-write-to-mp3-tags-with-a-button/29293/31 "2020-01-07T04:25:44Z")

</div>

great it worked in the end like this `SetAttr META "contentgroup:Studio Album";Christmas Album`

so now the same album shows in Studio Album and in Christmas Album  
[/quote]

is there a way to have a list a say ALBUM types eg Christmas 80's Rock and so on ...and them pick from a list  
the album types you want to set you might want one or many thanks

---

<div class="post-metadata">

**Author:** ![wobbly](https://resource.dopus.com/letter_avatar_proxy/v4/letter/w/b782af/32.png) [@wobbly](https://resource.dopus.com/u/wobbly)\
**Post date:** [January 10, 2020, 4:14am UTC](https://resource.dopus.com/t/how-to-write-to-mp3-tags-with-a-button/29293/32 "2020-01-10T04:14:41Z")

</div>

say with a check box for options for album type(s) ?

[Previous page](https://resource.dopus.com/t/how-to-write-to-mp3-tags-with-a-button/29293.md?page=1)
