📄 id3v2.h
字号:
/***************************************** Copyright (c) 2001-2002 Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//* This file is part of the Jasper DVD player *//** @file id3v2.cpp @brief ID3 tag library <long description> @author TKG @date 2002-06*/#ifndef __ID3V2_H__#define __ID3V2_H__#include "caribbean_plainc.h"#ifdef __cplusplusextern "C" {#endif // This structure holds all the relevant tag information from a filestruct tag_ID3FileInf {#ifdef ID3v2 //File Flags RMbool HasID3v24TagFront; // Whether there is a ID3v2 v4.0 tag in the front of the file RMbool HasID3v24TagEnd; // Whether there is a ID3v2 v4.0 tag at the end of the file RMbool HasID3v22Tag; // Whether there is a ID3v2 v2.0 tag in the file#endif /* ID3v2 */ RMbool HasID3v1Tag; // Whether there is a ID3v1 tag in the file RMbool IsWaveFile; // Whether this is just a wave file int FooterPresent; //Whether an ID3v2 v4.0 footer is present in the header // General File Data int StartAddr; // Address (offset) of where actual audio data begins int EndAddr; // Address (offset) of where actual audio data ends //Wave File Information int SampleRate; // Sample Rate int DataLen; // Length of wave data int AudioType; // Audio type int NumChannels; // Number of channels int BitSample; // Bits per sample #ifdef ID3v2 //ID3v2 version 2.0 TAG Data //Each type of frame data is formatted as follows: //Where XXX is the frame ID //XXXoff - Offset as to where the actual frame data begins (without the header) //XXXlen - Length of the actualy frame data (minus the header) int TT1off; int TT1len; int TT2off; int TT2len; int TT3off; int TT3len; int TP1off; int TP1len; int TP2off; int TP2len; int TP3off; int TP3len; int TP4off; int TP4len; int TCMoff; int TCMlen; int TXToff; int TXTlen; int TLAoff; int TLAlen; int TCOoff; int TCOlen; int TALoff; int TALlen; int TPAoff; int TPAlen; int TRKoff; int TRKlen; int TRCoff; int TRClen; int TYEoff; int TYElen; int TDAoff; int TDAlen; int TIMoff; int TIMlen; int TRDoff; int TRDlen; int TMToff; int TMTlen; int TFToff; int TFTlen; int TBPoff; int TBPlen; int TCRoff; int TCRlen; int TPBoff; int TPBlen; int TENoff; int TENlen; int TSSoff; int TSSlen; int TOFoff; int TOFlen; int TLEoff; int TLElen; int TSIoff; int TSIlen; int TDYoff; int TDYlen; int TKEoff; int TKElen; int TOToff; int TOTlen; int TOAoff; int TOAlen; int TOLoff; int TOLlen; int TORoff; int TORlen; int WAFoff; int WAFlen; int WARoff; int WARlen; int WASoff; int WASlen; int WCMoff; int WCMlen; int WCPoff; int WCPlen; int WPBoff; int WPBlen; int IPLoff; int IPLlen; int MCIoff; int MCIlen; int MLLoff; int MLLlen; int ETCoff; int ETClen; int STCoff; int STClen; int ULToff; int ULTlen; int SLToff; int SLTlen; int COMoff; int COMlen;// char COMlang[3]; int RVAoff; int RVAlen; int EQUoff; int EQUlen; int REVoff; int REVlen; int PICenc;// char PICformat[3]; int PICtype; int PICoff; int PIClen; int GEOoff; int GEOlen; int CNToff; int CNTlen; int POPoff; int POPlen; int BUFoff; int BUFlen; int CRMoff; int CRMlen; int CRAoff; int CRAlen; int LNKoff; int LNKlen; int UFIoff; int UFIlen; //ID3v2 version 3.0 and 4.0 TAG Data //Each type of frame data is formatted as follows: //Where XXXX is the frame ID //XXXXoff - Offset as to where the actual frame data begins (without the header) //XXXXlen - Length of the actualy frame data (minus the header) int TIT1off; int TIT1len; int TIT2off; int TIT2len; int TIT3off; int TIT3len; int TALBoff; int TALBlen; int TOALoff; int TOALlen; int TRCKoff; int TRCKlen; int TPOSoff; int TPOSlen; int TSSToff; int TSSTlen; int TSRCoff; int TSRClen; int TPE1off; int TPE1len; int TPE2off; int TPE2len; int TPE3off; int TPE3len; int TPE4off; int TPE4len; int TOPEoff; int TOPElen; int TEXToff; int TEXTlen; int TOLYoff; int TOLYlen; int TCOMoff; int TCOMlen; int TMCLoff; int TMCLlen; int TENCoff; int TENClen; int TBPMoff; int TBPMlen; int TLENoff; int TLENlen; int TKEYoff; int TKEYlen; int TLANoff; int TLANlen; int TCONoff; int TCONlen; int TFLToff; int TFLTlen; int TMEDoff; int TMEDlen; int TMOOoff; int TMOOlen; int TCOPoff; int TCOPlen; int TPROoff; int TPROlen; int TPUBoff; int TPUBlen; int TOWNoff; int TOWNlen; int TRSNoff; int TRSNlen; int TRSOoff; int TRSOlen; int TOFNoff; int TOFNlen; int TDLYoff; int TDLYlen; int TDENoff; int TDENlen; int TDORoff; int TDORlen; int TDRCoff; int TDRClen; int TDRLoff; int TDRLlen; int TDTGoff; int TDTGlen; int TSSEoff; int TSSElen; int TSOAoff; int TSOAlen; int TSOPoff; int TSOPlen; int TSOToff; int TSOTlen; int TXXXoff; int TXXXlen; int UFIDoff; int UFIDlen; int WCOMoff; int WCOMlen; int WCOPoff; int WCOPlen; int WOAFoff; int WOAFlen; int WOARoff; int WOARlen; int WOASoff; int WOASlen; int WORSoff; int WORSlen; int WPAYoff; int WPAYlen; int WPUBoff; int WPUBlen; int WXXXoff; int WXXXlen; int MCDIoff; int MCDIlen; int MLLToff; int MLLTlen; int SYTCoff; int SYTClen; int USLToff; int USLTlen; int SYLToff; int SYLTlen; int COMMoff; int COMMlen; int RVA2off; int RVA2len; int EQU2off; int EQU2len; int RVRBoff; int RVRBlen; int APICoff; int APIClen; int GEOBoff; int GEOBlen; int PCNToff; int PCNTlen; int POPMoff; int POPMlen; int RBUFoff; int RBUFlen; int AENCoff; int AENClen; int LINKoff; int LINKlen; int POSSoff; int POSSlen; int USERoff; int USERlen; int OWNEoff; int OWNElen; int COMRoff; int COMRlen; int ENCRoff; int ENCRlen; int GRIDoff; int GRIDlen; int PRIVoff; int PRIVlen; int SIGNoff; int SIGNlen; int SEEKoff; int SEEKlen; int ASPIoff; int ASPIlen;#endif /* ID3v2 */ //ID3v1 Tag Data //Includes extracted Song Title, Artist, Album, Year, Comment, Track, and Genre char v1SongTitle[31]; char v1Artist[31]; char v1Album[31]; char v1Year[5]; char v1Comment[31]; RMuint8 v1Track; RMuint8 v1Genre; //General MP3 Audio data extracted from file int MP3MpegSpec; int MP3Bitrate; int MP3Frequency; int MP3Channel; int MP3FrameSize; //Ignore ------------------------------------------------------------- int FileSize; RMuint32 FrameSize; char *FileType;};typedef struct tag_ID3FileInf ID3FileInf;// int ParseAudioTags(char* filename, ID3FileInf *Filedata); int ParseID3v1Tags(const char *filename, ID3FileInf *FileData);#ifdef __cplusplus}#endif #endif //__ID3V2_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -