Modifying tags with flexible attributes

I’m trying to populate a (custom) tag field with the value of a flexible attribute. I’m using beets on Win10.
In this specific case, I populated my library with playcounts from which are stored within the attribute “play_count”. But whenever I try to pass the “play_count” value to another field by e.g.:

beet modify artist=$play_count

it passes the string “$play_count” to the field, instead of its value. How can I pass the actual value of the flexible attribute to a different field?

Hello! It’snot yet possible to do that, sadly. Please see:

Ah thank you, that’s unfortunate to hear.
Is there any workaround to add the playcounts to the files?

You can always try writing your own plugin!

Too bad, that goes beyond my abilities :confused:

Thank you anyway!

i have written a plugin to do this exact thing for my iTunes catalog. iTunes does not show the label tag and i like to see that. so i copy the data from the label tag to the composer tag on import. i wrote a plugin to do this. it could be easily modified to do what you want. i would be glad to share it.

I’d be really happy to try your plugin @mattbarnicle
Trying to write internal db fields such as ‘mood_acoustic’ to the media file tag.


Great! The code is hosted on Github. I think the examples I provided should explain how to use the plugin. But let me know if you need any help.

Thanks a lot for the reply!
I’ve tried to get it to work but keep on getting - KeyError: ‘mood_acoustic’
Trying these config lines:
only_empty_tags: no
copy_tags: MD_ACOUSTIC=mood_acoustic