id3.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #ifndef NULLSOFT_IN_MP3_IN_H
  2. #define NULLSOFT_IN_MP3_IN_H
  3. extern char *genres[];
  4. extern size_t numberOfGenres;
  5. enum
  6. {
  7. ENCODING_AUTO=0,
  8. ENCODING_FORCE_ASCII = 1,
  9. ENCODING_FORCE_UNICODE = 2,
  10. };
  11. char *ID3_GetString(ID3_Frame *frame, ID3_FieldID fldName, size_t nIndex=1);
  12. wchar_t *ID3_GetUnicodeString(ID3_Frame *frame, ID3_FieldID fldName, size_t nIndex=1);
  13. wchar_t *ID3_FillUnicodeString(ID3_Frame *frame, ID3_FieldID fldName, wchar_t *dest, size_t destlen, size_t nIndex=1);
  14. wchar_t *ID3_GetTitle(ID3_Tag *tag);
  15. wchar_t *ID3_GetArtist(ID3_Tag *tag);
  16. //char *ID3_GetAlbumLocal(ID3_Tag *tag);
  17. wchar_t *ID3_GetAlbum(ID3_Tag *tag);
  18. wchar_t *ID3_GetYear(ID3_Tag *tag);
  19. wchar_t *ID3_GetComment(ID3_Tag *tag, wchar_t *dest, size_t destlen);
  20. wchar_t *ID3_GetComment(ID3_Tag *tag, const wchar_t *desc, wchar_t *dest, size_t destlen);
  21. char *ID3_GetTUID(ID3_Tag *tag);
  22. char *ID3_GetGenre(ID3_Tag *tag);
  23. wchar_t *ID3_GetTagText(ID3_Tag *tag, ID3_FrameID f);
  24. wchar_t *ID3_GetTagText(ID3_Tag *tag, ID3_FrameID f, wchar_t *dest, size_t destlen);
  25. wchar_t *ID3_GetTagUrl(ID3_Tag *tag, ID3_FrameID f, wchar_t *dest, size_t destlen);
  26. char *ID3_GetGenreDisplayable(ID3_Tag *tag);
  27. wchar_t *ID3_GetUserText(ID3_Tag *tag, wchar_t *desc);
  28. wchar_t *ID3_GetUserText(ID3_Tag *tag, wchar_t *desc, wchar_t *dest, size_t destlen);
  29. void ID3_AddUserText(ID3_Tag *tag, wchar_t *desc, const wchar_t *value, int encoding=ENCODING_AUTO);
  30. void ID3_AddSetComment(ID3_Tag *tag, const wchar_t *comment);
  31. void ID3_AddSetRating(ID3_Tag *tag, const wchar_t *rating);
  32. wchar_t *ID3_GetRating(ID3_Tag *tag, wchar_t *dest, size_t destlen);
  33. wchar_t *ID3_GetMusicbrainzRecordingID(ID3_Tag *tag, wchar_t *dest, size_t destlen);
  34. wchar_t *ID3_GetGracenoteTagID(ID3_Tag *tag);
  35. wchar_t *ID3_GetGracenoteTagID(ID3_Tag *tag, wchar_t *dest, size_t destlen);
  36. void ID3_AddSetGracenoteTagID(ID3_Tag *tag, const wchar_t *tagID);
  37. void SetFrameEncoding(ID3_Frame *frame, int encoding = ENCODING_AUTO);
  38. #endif