Python 2.7 tagpy:python中的自动_ptr?

Python 2.7 tagpy:python中的自动_ptr?,python-2.7,boost-python,taglib,auto-ptr,Python 2.7,Boost Python,Taglib,Auto Ptr,我不是专业人士,我只是对几乎没有linux音频播放器支持id3v2 composer标记感到失望,我想知道如何添加它。Taglib不直接支持composer标记,但有一种解决方法,可以从头构建标记。我正试着把它翻译成tagpy 以下几行用于创建新的id3v2框架并将其添加到新的框架列表中 newframe = tagpy.id3v2.TextIdentificationFrame( 'TCOM' ) newframe.setText( "Bruckner" ) newframelist = ta

我不是专业人士,我只是对几乎没有linux音频播放器支持id3v2 composer标记感到失望,我想知道如何添加它。Taglib不直接支持composer标记,但有一种解决方法,可以从头构建标记。我正试着把它翻译成tagpy

以下几行用于创建新的id3v2框架并将其添加到新的框架列表中

newframe = tagpy.id3v2.TextIdentificationFrame( 'TCOM' )
newframe.setText( "Bruckner" )
newframelist = tagpy.id3v2.FrameList()
newframelist.append( newframelist )
但是最后一行抛出了一个错误

newframelist.append( newframelist )
Boost.Python.ArgumentError: Python argument types in
id3v2_FrameList.append(id3v2_FrameList, id3v2_FrameList) did not match C++ signature:
append(TagLib::List<TagLib::ID3v2::Frame*> {lvalue}, std::auto_ptr<TagLib::ID3v2::Frame>)
newframelist.append(newframelist)
ArgumentError:中的Python参数类型
ID3V2YFrAMelist.AppDead(ID3V2YFrAMELIST,ID3V2YFrAMELLIST)与C++签名不匹配:
追加(TagLib::List{lvalue},std::auto\u ptr)
我没有正确使用append命令吗?还有别的办法吗?tagpy是否存在问题,即无法正确包装append方法

请注意,将最后一行替换为“newframelist[0]=newframe”会引发类似的错误

newframelist[ 0 ] = newframe
Boost.Python.ArgumentError: Python argument types in
id3v2_FrameList.__setitem__(id3v2_FrameList, int, id3v2_TextIdentificationFrame) did not match C++ signature:
__setitem__(TagLib::List<TagLib::ID3v2::Frame*> {lvalue}, unsigned int, std::auto_ptr<TagLib::ID3v2::Frame>)
newframelist[0]=newframe
ArgumentError:中的Python参数类型
ID3V2FrAMELList.Y.SeTimTime*(ID3V2FRAMELLIST,INT,ID3V2OTXC++)不匹配C++签名:
__setitem(TagLib::List{lvalue},unsigned int,std::auto_ptr)

我试图在太低的级别上完成它。我只需要使用id3v2.tag.addTag()