Changing MP4::Tag ItemListMap

Lukáš Lalinský lalinsky at
Sun Nov 29 22:58:16 CET 2009

2009/11/28 Новичков А.А. <novichko at>:
>> Take a look at the MP4::Tag source code. The usual way is something >
>> like:
>> file->tag()->itemListMap()["aART"] = TagLib::StringList("Album artist");
>> file->tag()->itemListMap()["\251wrt"] = TagLib::StringList("Composer");
>> Or, if you want to write a new free-form tag:
>> file->tag()->itemListMap()[""] =
>> TagLib::StringList("Some custom tag");
> I tried
> map.insert("some key",TagLib::MP4::Item(TagLib::StringList("value")));
> but nothing happened.

What specifically is "some key". Is it a valid MP4 atom name?

> Is it possible to modify MP4::Tag itemListMap taken by reference?

I don't see why not.

> And what does  the save() method in the MP4::Tag public methods do?

Saves tags to the file.

> Another problem: when trying to save tags in MP4 file with TagLib extras v.0.1.? (in Ubuntu Jaunty)
> my program crashes with segfault even if I do just
> TagLib::MP4::File *f=new TagLib::MP4::File(filename);
> f->save();

Can you try with plain TagLib? To debug the issue, it's necessary to
see the backtrace.

Lukas Lalinsky
lalinsky at

More information about the taglib-devel mailing list