id3lib 3.8.3

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
ID3_FrameInfo Class Reference

Provides information about the frame and field types supported by id3lib. More...

`#include <id3/field.h>`

## Public Member Functions
| ID3_FrameInfo ()
| ~ID3_FrameInfo ()
char * | ShortName (ID3_FrameID frameid)
char * | LongName (ID3_FrameID frameid)
const char * | Description (ID3_FrameID frameid)
int | MaxFrameID ()
int | NumFields (ID3_FrameID frameid)
ID3_FieldType | FieldType (ID3_FrameID frameid, int fieldnum)
size_t | FieldSize (ID3_FrameID frameid, int fieldnum)
flags_t | FieldFlags (ID3_FrameID frameid, int fieldnum)

## Detailed Description

Provides information about the frame and field types supported by id3lib.

You normally only need (at most) one instance of the ID3_FrameInfo. It has no member data – only methods which provide information about the frame types (and their component fields) supported by id3lib as defined in field.cpp .

Usage is straightforward. The following function uses ID3_FrameInfo to display a summary of all the frames known to id3lib:

**
** void ShowKnownFrameInfo {
** ID3_FrameInfo myFrameInfo;
** for (int cur = ID3FID_NOFRAME+1; cur <= myFrameInfo.MaxFrameID(); cur ++)
** {
** cout << "Short ID: " << myFrameInfo.ShortName(ID3_FrameID(cur)) <<
** " Long ID: " << myFrameInfo.LongName(ID3_FrameID(cur)) <<
** " Desription: " << myFrameInfo.Description(ID3_FrameID(cur)) << endl;
** }
** }
**

Functions are also provided to glean more information about the individual fields which make up any given frame type. The following for() loop, embedded into the previous for() loop would provide a raw look at such information. Realize, of course, that the field type is meaningless when printed. Only when it is taken in the context of the ID3_FieldType enum does it take on any meaningful significance.

** for (int cur = ID3FID_NOFRAME+1; cur <= fi.MaxFrameID(); cur ++)
** {
** int numfields = fi.NumFields(ID3_FrameID(cur));
**
** cout << "ID: " << fi.LongName(ID3_FrameID(cur)) <<
** " FIELDS: " << numfields << endl;
** for(int i=0;i<numfields;i++) {
** cout << "TYPE: " << fi.FieldType(ID3_FrameID(cur),i) <<
** " SIZE: " << fi.FieldSize(ID3_FrameID(cur),i) <<
** " FLAGS: " << fi.FieldFlags(ID3_FrameID(cur),i) << endl;
**
** }
**
** cout << endl;
**
** }
**

Author
  Cedric Tefft

Version

Id:
  field.cpp,v 1.47 2002/11/03 00:41:27 t1mpy Exp

Definition at line 96 of file field.h.

## Constructor & Destructor Documentation

ID3_FrameInfo::ID3_FrameInfo | ( |  | ) |
| inline

Definition at line 100 of file field.h.

ID3_FrameInfo::~ID3_FrameInfo | ( |  | ) |
| inline

Definition at line 101 of file field.h.

## Member Function Documentation

const char * ID3_FrameInfo::Description | ( | ID3_FrameID | frameid | ) |

Definition at line 1262 of file field.cpp.

flags_t ID3_FrameInfo::FieldFlags | ( | ID3_FrameID | frameid,
|  | int | fieldnum
| ) |  |

Definition at line 1308 of file field.cpp.

size_t ID3_FrameInfo::FieldSize | ( | ID3_FrameID | frameid,
|  | int | fieldnum
| ) |  |

Definition at line 1299 of file field.cpp.

ID3_FieldType ID3_FrameInfo::FieldType | ( | ID3_FrameID | frameid,
|  | int | fieldnum
| ) |  |

Definition at line 1290 of file field.cpp.

char * ID3_FrameInfo::LongName | ( | ID3_FrameID | frameid | ) |

Definition at line 1253 of file field.cpp.

int ID3_FrameInfo::MaxFrameID | ( |  | ) |

Definition at line 1271 of file field.cpp.

int ID3_FrameInfo::NumFields | ( | ID3_FrameID | frameid | ) |

Definition at line 1276 of file field.cpp.

char * ID3_FrameInfo::ShortName | ( | ID3_FrameID | frameid | ) |

Definition at line 1244 of file field.cpp.

The documentation for this class was generated from the following files:

- include/id3/field.h
- src/field.cpp