ID3_C_EXPORT ID3Tag* CCONV ID3Tag_New(void) { ID3_Tag* tag = NULL; ID3_CATCH(tag = new ID3_Tag); return reinterpret_cast<ID3Tag *>(tag); }
ID3_C_EXPORT ID3Frame* ID3Frame_New(void) { ID3_Frame* frame = NULL; ID3_CATCH(frame = new ID3_Frame); return reinterpret_cast<ID3Frame *>(frame); }
ID3_C_EXPORT ID3Frame* CCONV ID3Frame_NewID(ID3_FrameID id) { ID3_Frame* frame = NULL; ID3_CATCH(frame = new ID3_Frame(id)); return reinterpret_cast<ID3Frame *>(frame); }
ID3_C_EXPORT void CCONV ID3TagConstIterator_Delete(ID3TagConstIterator *iter) { if (iter) { ID3_CATCH(delete reinterpret_cast<ID3_Tag::ConstIterator*>(iter)); } }
ID3_C_EXPORT void CCONV ID3Tag_AddFrames(ID3Tag *tag, const ID3Frame *frames, size_t num) { if (tag) { ID3_CATCH(reinterpret_cast<ID3_Tag *>(tag)->AddFrames(reinterpret_cast<const ID3_Frame *>(frames), num)); } }
ID3_C_EXPORT void CCONV ID3Tag_AddFrame(ID3Tag *tag, const ID3Frame *frame) { if (tag) { ID3_CATCH(reinterpret_cast<ID3_Tag *>(tag)->AddFrame(reinterpret_cast<const ID3_Frame *>(frame))); } }
ID3_C_EXPORT void CCONV ID3Tag_SetPadding(ID3Tag *tag, bool pad) { if (tag) { ID3_CATCH(reinterpret_cast<ID3_Tag *>(tag)->SetPadding(pad)); } }
ID3_C_EXPORT void ID3Field_FromFile(ID3Field *field, const char *fileName) { if (field) { ID3_CATCH(reinterpret_cast<ID3_Field *>(field)->FromFile(fileName)); } }
ID3_C_EXPORT void ID3Field_SetASCII(ID3Field *field, const char *string) { if (field) { ID3_CATCH(reinterpret_cast<ID3_Field *>(field)->Set(string)); } }
ID3_C_EXPORT void ID3Field_SetUNICODE(ID3Field *field, const unicode_t *string) { if (field) { ID3_CATCH(reinterpret_cast<ID3_Field *>(field)->Set(string)); } }
ID3_C_EXPORT void CCONV ID3Frame_SetID(ID3Frame *frame, ID3_FrameID id) { if (frame) { ID3_CATCH(reinterpret_cast<ID3_Frame *>(frame)->SetID(id)); } }
ID3_C_EXPORT void CCONV ID3Tag_SetExtendedHeader(ID3Tag *tag, bool ext) { if (tag) { ID3_CATCH(reinterpret_cast<ID3_Tag *>(tag)->SetExtendedHeader(ext)); } }
ID3_C_EXPORT void ID3TagIterator_Delete(ID3TagIterator *iter) { if (iter) { ID3_CATCH(delete reinterpret_cast<ID3_Tag::Iterator*>(iter)); } }
ID3_C_EXPORT void CCONV ID3Frame_Clear(ID3Frame *frame) { if (frame) { ID3_CATCH(reinterpret_cast<ID3_Frame *>(frame)->Clear()); } }
ID3_C_EXPORT void CCONV ID3Tag_Delete(ID3Tag *tag) { if (tag) { ID3_CATCH(delete reinterpret_cast<ID3_Tag*>(tag)); } }
ID3_C_EXPORT void ID3Tag_AttachFrame(ID3Tag *tag, ID3Frame *frame) { if (tag) { ID3_CATCH(reinterpret_cast<ID3_Tag *>(tag)->AttachFrame(reinterpret_cast<ID3_Frame *>(frame))); } }
ID3_C_EXPORT void CCONV ID3Field_ToFile(const ID3Field *field, const char *fileName) { if (field) { ID3_CATCH(reinterpret_cast<const ID3_Field *>(field)->ToFile(fileName)); } }
ID3_C_EXPORT void CCONV ID3Tag_SetUnsync(ID3Tag *tag, bool unsync) { if (tag) { ID3_CATCH(reinterpret_cast<ID3_Tag *>(tag)->SetUnsync(unsync)); } }
ID3_C_EXPORT void CCONV ID3Field_SetBINARY(ID3Field *field, const uchar *data, size_t size) { if (field) { ID3_CATCH(reinterpret_cast<ID3_Field *>(field)->Set(data, size)); } }
ID3_C_EXPORT void CCONV ID3Field_GetBINARY(const ID3Field *field, uchar *buffer, size_t buffLength) { if (field) { ID3_CATCH(reinterpret_cast<const ID3_Field *>(field)->Get(buffer, buffLength)); } }
ID3_C_EXPORT void CCONV ID3Field_AddASCII(ID3Field *field, const char *string) { if (field) { ID3_CATCH(reinterpret_cast<ID3_Field *>(field)->Add(string)); } }
ID3_C_EXPORT void CCONV ID3Tag_Clear(ID3Tag *tag) { if (tag) { ID3_CATCH(reinterpret_cast<ID3_Tag*>(tag)->Clear()); } }
ID3_C_EXPORT void CCONV ID3Frame_Delete(ID3Frame *frame) { if (frame) { ID3_CATCH(delete reinterpret_cast<ID3_Frame *>(frame)); } }
ID3_C_EXPORT void CCONV ID3Field_AddUNICODE(ID3Field *field, const unicode_t *string) { if (field) { ID3_CATCH(reinterpret_cast<ID3_Field *>(field)->Add(string)); } }
ID3_C_EXPORT void CCONV ID3Field_SetINT(ID3Field *field, uint32 data) { if (field) { ID3_CATCH(reinterpret_cast<ID3_Field *>(field)->Set(data)); } }
ID3_C_EXPORT void CCONV ID3Field_Clear(ID3Field *field) { if (field) { ID3_CATCH(reinterpret_cast<ID3_Field *>(field)->Clear()); } }
ID3_C_EXPORT void CCONV ID3Frame_SetCompression(ID3Frame *frame, bool comp) { if (frame) { ID3_CATCH(reinterpret_cast<ID3_Frame *>(frame)->SetCompression(comp)); } }
ID3_C_EXPORT ID3_Err CCONV ID3Tag_Strip(ID3Tag *tag, flags_t ulTagFlags) { if (tag) { ID3_CATCH(reinterpret_cast<ID3_Tag *>(tag)->Strip(ulTagFlags)); } return ID3E_NoError; }
ID3_C_EXPORT const ID3Frame* CCONV ID3TagConstIterator_GetNext(ID3TagConstIterator *iter) { const ID3_Frame* frame = NULL; if (iter) { ID3_CATCH(frame = reinterpret_cast<ID3_Tag::ConstIterator*>(iter)->GetNext()); } return reinterpret_cast<const ID3Frame*>(frame); }
ID3_C_EXPORT bool CCONV ID3Frame_GetCompression(const ID3Frame *frame) { bool compressed = false; if (frame) { ID3_CATCH(compressed = reinterpret_cast<const ID3_Frame *>(frame)->GetCompression()); } return compressed; }