- list = p_tag->frameListMap()["TXXX"];
- ID3v2::UserTextIdentificationFrame* p_txxx;
- for( ID3v2::FrameList::Iterator iter = list.begin();
- iter != list.end(); iter++ )
- {
- p_txxx = dynamic_cast<ID3v2::UserTextIdentificationFrame*>(*iter);
- const char *psz_desc= p_txxx->description().toCString();
- vlc_meta_AddExtra( p_meta, psz_desc,
- p_txxx->fieldList().toString().toCString());
- }
-#if 0
- list = p_tag->frameListMap()["RVA2"];
- ID3v2::RelativeVolumeFrame* p_rva2;
- for( ID3v2::FrameList::Iterator iter = list.begin();
- iter != list.end(); iter++ )
- {
- p_rva2 = dynamic_cast<ID3v2::RelativeVolumeFrame*>(*iter);
- /* TODO: process rva2 frames */
- }
-#endif
- list = p_tag->frameList();
- ID3v2::Frame* p_t;
- char psz_tag[4];
- for( ID3v2::FrameList::Iterator iter = list.begin();
- iter != list.end(); iter++ )
- {
- p_t = dynamic_cast<ID3v2::Frame*> (*iter);
- memcpy( psz_tag, p_t->frameID().data(), 4);
-
-#define SET( foo, bar ) if( !strncmp( psz_tag, foo, 4 ) ) \
-vlc_meta_Set##bar( p_meta, p_t->toString().toCString(true))
- SET( "TPUB", Publisher );
- SET( "TCOP", Copyright );
- SET( "TENC", EncodedBy );
- SET( "TLAN", Language );
- //SET( "POPM", Rating ); /* rating needs special handling in id3v2 */
- //if( !strncmp( psz_tag, "RVA2", 4 ) )
- /* TODO */