id3lib 3.8.3
|
00001 // -*- C++ -*- 00002 // $Id: helpers.h,v 1.9 2002/07/02 22:10:45 t1mpy Exp $ 00003 00004 // id3lib: a C++ library for creating and manipulating id3v1/v2 tags 00005 // Copyright 1999, 2000 Scott Thomas Haug 00006 00007 // This library is free software; you can redistribute it and/or modify it 00008 // under the terms of the GNU Library General Public License as published by 00009 // the Free Software Foundation; either version 2 of the License, or (at your 00010 // option) any later version. 00011 // 00012 // This library is distributed in the hope that it will be useful, but WITHOUT 00013 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00014 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public 00015 // License for more details. 00016 // 00017 // You should have received a copy of the GNU Library General Public License 00018 // along with this library; if not, write to the Free Software Foundation, 00019 // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00020 00021 // The id3lib authors encourage improvements and optimisations to be sent to 00022 // the id3lib coordinator. Please see the README file for details on where to 00023 // send such submissions. See the AUTHORS file for a list of people who have 00024 // contributed to id3lib. See the ChangeLog file for a list of changes to 00025 // id3lib. These files are distributed with id3lib at 00026 // http://download.sourceforge.net/id3lib/ 00027 00028 #ifndef _ID3LIB_HELPERS_H_ 00029 #define _ID3LIB_HELPERS_H_ 00030 00031 #include "id3/id3lib_strings.h" 00032 #include "id3/globals.h" //has <stdlib.h> "id3/sized_types.h" 00033 00034 class ID3_TagImpl; 00035 class ID3_Frame; 00036 00037 namespace dami 00038 { 00039 namespace id3 00040 { 00041 namespace v2 00042 { 00043 ID3_C_EXPORT String getString(const ID3_Frame*, ID3_FieldID); 00044 ID3_C_EXPORT String getStringAtIndex(const ID3_Frame*, ID3_FieldID, size_t); 00045 00046 ID3_C_EXPORT String getFrameText(const ID3_TagImpl&, ID3_FrameID); 00047 ID3_C_EXPORT ID3_Frame* setFrameText(ID3_TagImpl&, ID3_FrameID, String); 00048 ID3_C_EXPORT size_t removeFrames(ID3_TagImpl&, ID3_FrameID); 00049 00050 ID3_C_EXPORT ID3_Frame* hasArtist(const ID3_TagImpl&); 00051 ID3_C_EXPORT String getArtist(const ID3_TagImpl&); 00052 ID3_C_EXPORT ID3_Frame* setArtist(ID3_TagImpl&, String); 00053 ID3_C_EXPORT size_t removeArtists(ID3_TagImpl&); 00054 00055 ID3_C_EXPORT ID3_Frame* hasAlbum(const ID3_TagImpl&); 00056 ID3_C_EXPORT String getAlbum(const ID3_TagImpl&); 00057 ID3_C_EXPORT ID3_Frame* setAlbum(ID3_TagImpl&, String); 00058 ID3_C_EXPORT size_t removeAlbums(ID3_TagImpl&); 00059 00060 ID3_C_EXPORT ID3_Frame* hasTitle(const ID3_TagImpl&); 00061 ID3_C_EXPORT String getTitle(const ID3_TagImpl&); 00062 ID3_C_EXPORT ID3_Frame* setTitle(ID3_TagImpl&, String); 00063 ID3_C_EXPORT size_t removeTitles(ID3_TagImpl&); 00064 00065 ID3_C_EXPORT ID3_Frame* hasYear(const ID3_TagImpl&); 00066 ID3_C_EXPORT String getYear(const ID3_TagImpl&); 00067 ID3_C_EXPORT ID3_Frame* setYear(ID3_TagImpl&, String); 00068 ID3_C_EXPORT size_t removeYears(ID3_TagImpl&); 00069 00070 ID3_C_EXPORT ID3_Frame* hasV1Comment(const ID3_TagImpl&); 00071 // ID3_C_EXPORT ID3_Frame* hasComment(const ID3_TagImpl&, String desc); 00072 ID3_C_EXPORT ID3_Frame* hasComment(const ID3_TagImpl&); 00073 ID3_C_EXPORT String getComment(const ID3_TagImpl&, String desc); 00074 ID3_C_EXPORT String getV1Comment(const ID3_TagImpl&); 00075 ID3_C_EXPORT ID3_Frame* setComment(ID3_TagImpl&, String, String, String); 00076 ID3_C_EXPORT size_t removeComments(ID3_TagImpl&, String); 00077 ID3_C_EXPORT size_t removeAllComments(ID3_TagImpl&); 00078 00079 ID3_C_EXPORT ID3_Frame* hasTrack(const ID3_TagImpl&); 00080 ID3_C_EXPORT String getTrack(const ID3_TagImpl&); 00081 ID3_C_EXPORT size_t getTrackNum(const ID3_TagImpl&); 00082 ID3_C_EXPORT ID3_Frame* setTrack(ID3_TagImpl&, uchar ucTrack, uchar ucTotal); 00083 ID3_C_EXPORT size_t removeTracks(ID3_TagImpl&); 00084 00085 ID3_C_EXPORT ID3_Frame* hasGenre(const ID3_TagImpl&); 00086 ID3_C_EXPORT String getGenre(const ID3_TagImpl&); 00087 ID3_C_EXPORT size_t getGenreNum(const ID3_TagImpl&); 00088 ID3_C_EXPORT ID3_Frame* setGenre(ID3_TagImpl&, size_t ucGenre); 00089 ID3_C_EXPORT size_t removeGenres(ID3_TagImpl&); 00090 00091 ID3_C_EXPORT ID3_Frame* hasLyrics(const ID3_TagImpl&); 00092 ID3_C_EXPORT String getLyrics(const ID3_TagImpl&); 00093 ID3_C_EXPORT ID3_Frame* setLyrics(ID3_TagImpl&, String, String, String); 00094 ID3_C_EXPORT size_t removeLyrics(ID3_TagImpl&); 00095 00096 ID3_C_EXPORT String getLyricist(const ID3_TagImpl&); 00097 ID3_C_EXPORT ID3_Frame* setLyricist(ID3_TagImpl&, String); 00098 ID3_C_EXPORT size_t removeLyricists(ID3_TagImpl&); 00099 00100 ID3_C_EXPORT ID3_Frame* hasSyncLyrics(const ID3_TagImpl&, String lang, String desc); 00101 ID3_C_EXPORT ID3_Frame* setSyncLyrics(ID3_TagImpl&, BString, ID3_TimeStampFormat, 00102 String, String, ID3_ContentType); 00103 ID3_C_EXPORT BString getSyncLyrics(const ID3_TagImpl& tag, String lang, String desc); 00104 }; 00105 }; 00106 }; 00107 00108 #endif /* _ID3LIB_HELPERS_H_ */ 00109