id3lib 3.8.3
misc_support.h
Go to the documentation of this file.
1// -*- C++ -*-
2// $Id: misc_support.h,v 1.29 2002/09/19 10:21:57 t1mpy Exp $
3
4// id3lib: a C++ library for creating and manipulating id3v1/v2 tags
5// Copyright 1999, 2000 Scott Thomas Haug
6// Copyright 2002 Thijmen Klok (thijmen@id3lib.org)
7
8// This library is free software; you can redistribute it and/or modify it
9// under the terms of the GNU Library General Public License as published by
10// the Free Software Foundation; either version 2 of the License, or (at your
11// option) any later version.
12//
13// This library is distributed in the hope that it will be useful, but WITHOUT
14// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
16// License for more details.
17//
18// You should have received a copy of the GNU Library General Public License
19// along with this library; if not, write to the Free Software Foundation,
20// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21
22// The id3lib authors encourage improvements and optimisations to be sent to
23// the id3lib coordinator. Please see the README file for details on where to
24// send such submissions. See the AUTHORS file for a list of people who have
25// contributed to id3lib. See the ChangeLog file for a list of changes to
26// id3lib. These files are distributed with id3lib at
27// http://download.sourceforge.net/id3lib/
28
29#ifndef _ID3LIB_MISC_SUPPORT_H_
30#define _ID3LIB_MISC_SUPPORT_H_
31
32#include <id3/tag.h>
33
35ID3_C_EXPORT char* ID3_GetString(const ID3_Frame *, ID3_FieldID, size_t nItems);
36
37ID3_C_EXPORT void ID3_FreeString(char *str);
38
39// defined in 'id3_misc_support.cpp'
40// these are 'convenience functions,' to make using the library easier for the
41// most common of operations
43ID3_C_EXPORT ID3_Frame* ID3_AddArtist(ID3_Tag*, const char*, bool replace = false);
45
47ID3_C_EXPORT ID3_Frame* ID3_AddAlbum(ID3_Tag*, const char*, bool replace = false);
49
51ID3_C_EXPORT ID3_Frame* ID3_AddTitle(ID3_Tag*, const char*, bool replace = false);
53
54ID3_C_EXPORT char* ID3_GetYear(const ID3_Tag*);
55ID3_C_EXPORT ID3_Frame* ID3_AddYear(ID3_Tag*, const char*, bool replace = false);
57
58ID3_C_EXPORT char* ID3_GetComment(const ID3_Tag*, const char* desc = NULL);
59ID3_C_EXPORT ID3_Frame* ID3_AddComment(ID3_Tag*, const char*, bool = false);
60ID3_C_EXPORT ID3_Frame* ID3_AddComment(ID3_Tag*, const char*, const char*, bool = false);
61ID3_C_EXPORT ID3_Frame* ID3_AddComment(ID3_Tag*, const char*, const char*, const char*,
62 bool = false);
63ID3_C_EXPORT size_t ID3_RemoveComments(ID3_Tag*, const char * = NULL);
64
67//following routine courtesy of John George
69 bool replace = false);
71
74ID3_C_EXPORT ID3_Frame* ID3_AddGenre(ID3_Tag*, size_t ucGenre, bool replace = false);
75//following routine courtesy of John George
76ID3_C_EXPORT ID3_Frame* ID3_AddGenre(ID3_Tag*, const char *, bool replace = false);
78
80ID3_C_EXPORT ID3_Frame* ID3_AddLyrics(ID3_Tag*, const char*, bool = false);
81ID3_C_EXPORT ID3_Frame* ID3_AddLyrics(ID3_Tag*, const char*, const char*, bool = false);
82ID3_C_EXPORT ID3_Frame* ID3_AddLyrics(ID3_Tag*, const char*, const char*, const char*,
83 bool = false);
85
87ID3_C_EXPORT ID3_Frame* ID3_AddLyricist(ID3_Tag *, const char *, bool replace = false);
89
91 ID3_TimeStampFormat, bool = false);
93 ID3_TimeStampFormat, const char *, bool = false);
95 ID3_TimeStampFormat, const char *, const char *,
96 bool = false);
98 ID3_TimeStampFormat, const char *, const char *,
99 ID3_ContentType, bool = false);
101 const char *desc, char &stampformat,
102 char &type, size_t &size);
103ID3_C_EXPORT ID3_Frame* ID3_GetSyncLyrics(const ID3_Tag* tag, const char* lang,
104 const char* desc, const uchar* &pData, size_t& size);
105
106
107//following routine courtesy of John George
108ID3_C_EXPORT int ID3_GetPictureData(const ID3_Tag*, const char* TempPicPath);
109
110//following routine courtesy of John George
112
113//following routine courtesy of John George
115
116//following two routines courtesy of John George
117ID3_C_EXPORT ID3_Frame* ID3_AddPicture(ID3_Tag*, const char* TempPicPath, const char* MimeType, bool replace = false);
118ID3_C_EXPORT ID3_Frame* ID3_AddPicture(ID3_Tag*, const char* TempPicPath, const char* MimeType, ID3_PictureType pictype, const char* Description, bool replace = false);
119
120//following routine courtesy of John George
122
123//following routine courtesy of John George
124ID3_C_EXPORT size_t ID3_GetPictureDataOfPicType(ID3_Tag*, const char* TempPicPath, ID3_PictureType pictype);
125
126//following routine courtesy of John George
128
129//following routine courtesy of John George
131
132//following routine courtesy of John George
134
135
136#endif /* _ID3LIB_MISC_SUPPORT_H_ */
137
The representative class of an id3v2 frame.
The representative class of an id3 tag.
Definition tag.h:42
#define NULL
Definition globals.h:743
ID3_FieldID
Enumeration of the different types of fields in a frame.
Definition globals.h:198
ID3_ContentType
Definition globals.h:382
#define ID3_C_EXPORT
This file defines common macros, types, constants, and enums used throughout id3lib.
Definition globals.h:78
unsigned char uchar
Definition globals.h:114
ID3_PictureType
Definition globals.h:393
ID3_TimeStampFormat
Definition globals.h:418
ID3_C_EXPORT ID3_Frame * ID3_AddTrack(ID3_Tag *, uchar ucTrack, uchar ucTotal=0, bool replace=false)
ID3_C_EXPORT char * ID3_GetTrack(const ID3_Tag *)
ID3_C_EXPORT ID3_Frame * ID3_GetSyncLyrics(const ID3_Tag *tag, const char *lang, const char *desc, const uchar *&pData, size_t &size)
ID3_C_EXPORT char * ID3_GetComment(const ID3_Tag *, const char *desc=NULL)
ID3_C_EXPORT ID3_Frame * ID3_AddGenre(ID3_Tag *, size_t ucGenre, bool replace=false)
ID3_C_EXPORT ID3_Frame * ID3_AddArtist(ID3_Tag *, const char *, bool replace=false)
ID3_C_EXPORT char * ID3_GetYear(const ID3_Tag *)
ID3_C_EXPORT size_t ID3_RemoveLyrics(ID3_Tag *)
ID3_C_EXPORT ID3_Frame * ID3_GetSyncLyricsInfo(const ID3_Tag *tag, const char *lang, const char *desc, char &stampformat, char &type, size_t &size)
ID3_C_EXPORT char * ID3_GetAlbum(const ID3_Tag *)
ID3_C_EXPORT char * ID3_GetGenre(const ID3_Tag *)
ID3_C_EXPORT size_t ID3_RemoveComments(ID3_Tag *, const char *=NULL)
ID3_C_EXPORT size_t ID3_RemoveLyricist(ID3_Tag *)
ID3_C_EXPORT size_t ID3_RemoveGenres(ID3_Tag *)
ID3_C_EXPORT size_t ID3_RemoveArtists(ID3_Tag *)
ID3_C_EXPORT size_t ID3_RemoveYears(ID3_Tag *)
ID3_C_EXPORT size_t ID3_RemoveAlbums(ID3_Tag *)
ID3_C_EXPORT ID3_Frame * ID3_AddPicture(ID3_Tag *, const char *TempPicPath, const char *MimeType, bool replace=false)
ID3_C_EXPORT char * ID3_GetString(const ID3_Frame *, ID3_FieldID)
ID3_C_EXPORT char * ID3_GetArtist(const ID3_Tag *)
ID3_C_EXPORT char * ID3_GetTitle(const ID3_Tag *)
ID3_C_EXPORT ID3_Frame * ID3_AddLyrics(ID3_Tag *, const char *, bool=false)
ID3_C_EXPORT char * ID3_GetPictureMimeType(const ID3_Tag *)
ID3_C_EXPORT ID3_Frame * ID3_AddLyricist(ID3_Tag *, const char *, bool replace=false)
ID3_C_EXPORT ID3_Frame * ID3_AddAlbum(ID3_Tag *, const char *, bool replace=false)
ID3_C_EXPORT int ID3_GetPictureData(const ID3_Tag *, const char *TempPicPath)
ID3_C_EXPORT ID3_Frame * ID3_AddComment(ID3_Tag *, const char *, bool=false)
ID3_C_EXPORT char * ID3_GetLyricist(const ID3_Tag *)
ID3_C_EXPORT size_t ID3_RemovePictures(ID3_Tag *)
ID3_C_EXPORT size_t ID3_GetTrackNum(const ID3_Tag *)
ID3_C_EXPORT size_t ID3_GetPictureDataOfPicType(ID3_Tag *, const char *TempPicPath, ID3_PictureType pictype)
ID3_C_EXPORT char * ID3_GetMimeTypeOfPicType(ID3_Tag *, ID3_PictureType pictype)
ID3_C_EXPORT size_t ID3_RemovePictureType(ID3_Tag *, ID3_PictureType pictype)
ID3_C_EXPORT ID3_Frame * ID3_AddTitle(ID3_Tag *, const char *, bool replace=false)
ID3_C_EXPORT bool ID3_HasPicture(const ID3_Tag *)
ID3_C_EXPORT ID3_Frame * ID3_AddSyncLyrics(ID3_Tag *, const uchar *, size_t, ID3_TimeStampFormat, bool=false)
ID3_C_EXPORT char * ID3_GetDescriptionOfPicType(ID3_Tag *, ID3_PictureType pictype)
ID3_C_EXPORT void ID3_FreeString(char *str)
ID3_C_EXPORT char * ID3_GetLyrics(const ID3_Tag *)
ID3_C_EXPORT size_t ID3_RemoveTitles(ID3_Tag *)
ID3_C_EXPORT size_t ID3_GetGenreNum(const ID3_Tag *)
ID3_C_EXPORT size_t ID3_RemoveTracks(ID3_Tag *)
ID3_C_EXPORT ID3_Frame * ID3_AddYear(ID3_Tag *, const char *, bool replace=false)

Generated for id3lib by doxygen 1.10.0