diff options
Diffstat (limited to 'Src/id3v2/id3_dll.h')
-rw-r--r-- | Src/id3v2/id3_dll.h | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/Src/id3v2/id3_dll.h b/Src/id3v2/id3_dll.h new file mode 100644 index 00000000..be41b871 --- /dev/null +++ b/Src/id3v2/id3_dll.h @@ -0,0 +1,180 @@ +// The authors have released ID3Lib as Public Domain (PD) and claim no copyright, +// patent or other intellectual property protection in this work. This means that +// it may be modified, redistributed and used in commercial and non-commercial +// software and hardware without restrictions. ID3Lib is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. +// +// The ID3Lib authors encourage improvements and optimisations to be sent to the +// ID3Lib coordinator, currently Dirk Mahoney (dirk@id3.org). Approved +// submissions may be altered, and will be included and released under these terms. +// +// Mon Nov 23 18:34:01 1998 + + +#ifndef ID3LIB_DLLHEADERS_H +#define ID3LIB_DLLHEADERS_H + + +typedef unsigned char uchar; +typedef short signed int ssint; +typedef short unsigned int suint; +typedef long signed int lsint; +typedef long unsigned int luint; +typedef long double ldoub; +typedef long unsigned int * bitset; + + +struct ID3_VerInfo +{ +char name [ 30 ]; +luint version, + revision; +}; + + +enum ID3_TextEnc +{ + ID3TE_ASCII = 0, + ID3TE_UNICODE +}; + + +enum ID3_FieldID +{ + ID3FN_NOFIELD = 0, + ID3FN_TEXTENC, + ID3FN_TEXT, + ID3FN_URL, + ID3FN_DATA, + ID3FN_DESCRIPTION, + ID3FN_OWNER, + ID3FN_EMAIL, + ID3FN_RATING, + ID3FN_FILENAME, + ID3FN_LANGUAGE, + ID3FN_PICTURETYPE, + ID3FN_IMAGEFORMAT, + ID3FN_MIMETYPE, + ID3FN_COUNTER, + ID3FN_SYMBOL, + ID3FN_VOLUMEADJ, + ID3FN_NUMBITS, + ID3FN_VOLCHGRIGHT, + ID3FN_VOLCHGLEFT, + ID3FN_PEAKVOLRIGHT, + ID3FN_PEAKVOLLEFT, + + ID3FN_LASTFIELDID +}; + + +enum ID3_FrameID +{ + ID3FID_NOFRAME = 0, + ID3FID_ORIGALBUM, + ID3FID_PUBLISHER, + ID3FID_ENCODEDBY, + ID3FID_ENCODERSETTINGS, + ID3FID_ORIGFILENAME, + ID3FID_LANGUAGE, + ID3FID_PARTINSET, + ID3FID_DATE, + ID3FID_TIME, + ID3FID_RECORDINGDATES, + ID3FID_MEDIATYPE, + ID3FID_FILETYPE, + ID3FID_NETRADIOSTATION, + ID3FID_NETRADIOOWNER, + ID3FID_LYRICIST, + ID3FID_ORIGARTIST, + ID3FID_ORIGLYRICIST, + ID3FID_SUBTITLE, + ID3FID_MIXARTIST, + ID3FID_USERTEXT, + ID3FID_CONTENTGROUP, + ID3FID_TITLE, + ID3FID_LEADARTIST, + ID3FID_BAND, + ID3FID_ALBUM, + ID3FID_YEAR, + ID3FID_CONDUCTOR, + ID3FID_COMPOSER, + ID3FID_COPYRIGHT, + ID3FID_CONTENTTYPE, + ID3FID_TRACKNUM, + ID3FID_COMMENT, + ID3FID_WWWAUDIOFILE, + ID3FID_WWWARTIST, + ID3FID_WWWAUDIOSOURCE, + ID3FID_WWWCOMMERCIALINFO, + ID3FID_WWWCOPYRIGHT, + ID3FID_WWWPUBLISHER, + ID3FID_WWWPAYMENT, + ID3FID_WWWRADIOPAGE, + ID3FID_WWWUSER, + ID3FID_INVOLVEDPEOPLE, + ID3FID_UNSYNCEDLYRICS, + ID3FID_PICTURE, + ID3FID_GENERALOBJECT, + ID3FID_UNIQUEFILEID, + ID3FID_PLAYCOUNTER, + ID3FID_POPULARIMETER, + ID3FID_GROUPINGREG, + ID3FID_CRYPTOREG +}; + + +class ID3_Field; +class ID3_Frame; +class ID3_Tag; + + +void ID3_GetVersion ( ID3_VerInfo *info ); +// tag wrappers +ID3_Tag *ID3Tag_New ( void ); +void ID3Tag_Delete ( ID3_Tag *tag ); +void ID3Tag_Clear ( ID3_Tag *tag ); +bool ID3Tag_HasChanged ( ID3_Tag *tag ); +void ID3Tag_SetUnsync ( ID3_Tag *tag, bool unsync ); +void ID3Tag_SetExtendedHeader ( ID3_Tag *tag, bool ext ); +void ID3Tag_SetCompression ( ID3_Tag *tag, bool comp ); +void ID3Tag_SetPadding ( ID3_Tag *tag, bool pad ); +void ID3Tag_AddFrame ( ID3_Tag *tag, ID3_Frame *frame ); +void ID3Tag_AddFrames ( ID3_Tag *tag, ID3_Frame *frames, luint num ); +void ID3Tag_RemoveFrame ( ID3_Tag *tag, ID3_Frame *frame ); +void ID3Tag_Parse ( ID3_Tag *tag, uchar header[ ID3_TAGHEADERSIZE ], uchar *buffer ); +luint ID3Tag_Link ( ID3_Tag *tag, char *fileName ); +void ID3Tag_Update ( ID3_Tag *tag ); +void ID3Tag_Strip ( ID3_Tag *tag, bool v1Also ); +ID3_Frame *ID3Tag_FindFrameWithID ( ID3_Tag *tag, ID3_FrameID id ); +ID3_Frame *ID3Tag_FindFrameWithINT ( ID3_Tag *tag, ID3_FrameID id, ID3_FieldID fld, luint data ); +ID3_Frame *ID3Tag_FindFrameWithASCII ( ID3_Tag *tag, ID3_FrameID id, ID3_FieldID fld, char *data ); +ID3_Frame *ID3Tag_FindFrameWithUNICODE ( ID3_Tag *tag, ID3_FrameID id, ID3_FieldID fld, wchar_t *data ); +ID3_Frame *ID3Tag_GetFrameNum ( ID3_Tag *tag, luint num ); +luint ID3Tag_NumFrames ( ID3_Tag *tag ); +// frame wrappers +void ID3Frame_Clear ( ID3_Frame *frame ); +void ID3Frame_SetID ( ID3_Frame *frame, ID3_FrameID id ); +ID3_FrameID ID3Frame_GetID ( ID3_Frame *frame ); +ID3_Field *ID3Frame_GetField ( ID3_Frame *frame, ID3_FieldID name ); +// field wrappers +void ID3Field_Clear ( ID3_Field *field ); +luint ID3Field_Size ( ID3_Field *field ); +luint ID3Field_GetNumTextItems ( ID3_Field *field ); +void ID3Field_SetINT ( ID3_Field *field, luint data ); +luint ID3Field_GetINT ( ID3_Field *field ); +void ID3Field_SetUNICODE ( ID3_Field *field, wchar_t *string ); +luint ID3Field_GetUNICODE ( ID3_Field *field, wchar_t *buffer, luint maxChars, luint itemNum ); +void ID3Field_AddUNICODE ( ID3_Field *field, wchar_t *string ); +void ID3Field_SetASCII ( ID3_Field *field, char *string ); +luint ID3Field_GetASCII ( ID3_Field *field, char *buffer, luint maxChars, luint itemNum ); +void ID3Field_AddASCII ( ID3_Field *field, char *string ); +void ID3Field_SetBINARY ( ID3_Field *field, uchar *data, luint size ); +void ID3Field_GetBINARY ( ID3_Field *field, uchar *buffer, luint buffLength ); +void ID3Field_FromFile ( ID3_Field *field, char *fileName ); +void ID3Field_ToFile ( ID3_Field *field, char *fileName ); + + +#endif + + |