id3lib 3.8.3
helpers.h
Go to the documentation of this file.
1// -*- C++ -*-
2// $Id: helpers.h,v 1.9 2002/07/02 22:10:45 t1mpy Exp $
3
4// id3lib: a C++ library for creating and manipulating id3v1/v2 tags
5// Copyright 1999, 2000 Scott Thomas Haug
6
7// This library is free software; you can redistribute it and/or modify it
8// under the terms of the GNU Library General Public License as published by
9// the Free Software Foundation; either version 2 of the License, or (at your
10// option) any later version.
11//
12// This library is distributed in the hope that it will be useful, but WITHOUT
13// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
15// License for more details.
16//
17// You should have received a copy of the GNU Library General Public License
18// along with this library; if not, write to the Free Software Foundation,
19// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20
21// The id3lib authors encourage improvements and optimisations to be sent to
22// the id3lib coordinator. Please see the README file for details on where to
23// send such submissions. See the AUTHORS file for a list of people who have
24// contributed to id3lib. See the ChangeLog file for a list of changes to
25// id3lib. These files are distributed with id3lib at
26// http://download.sourceforge.net/id3lib/
27
28#ifndef _ID3LIB_HELPERS_H_
29#define _ID3LIB_HELPERS_H_
30
31#include "id3/id3lib_strings.h"
32#include "id3/globals.h" //has <stdlib.h> "id3/sized_types.h"
33
34class ID3_TagImpl;
35class ID3_Frame;
36
37namespace dami
38{
39 namespace id3
40 {
41 namespace v2
42 {
43 ID3_C_EXPORT String getString(const ID3_Frame*, ID3_FieldID);
44 ID3_C_EXPORT String getStringAtIndex(const ID3_Frame*, ID3_FieldID, size_t);
45
46 ID3_C_EXPORT String getFrameText(const ID3_TagImpl&, ID3_FrameID);
47 ID3_C_EXPORT ID3_Frame* setFrameText(ID3_TagImpl&, ID3_FrameID, String);
48 ID3_C_EXPORT size_t removeFrames(ID3_TagImpl&, ID3_FrameID);
49
50 ID3_C_EXPORT ID3_Frame* hasArtist(const ID3_TagImpl&);
51 ID3_C_EXPORT String getArtist(const ID3_TagImpl&);
52 ID3_C_EXPORT ID3_Frame* setArtist(ID3_TagImpl&, String);
53 ID3_C_EXPORT size_t removeArtists(ID3_TagImpl&);
54
55 ID3_C_EXPORT ID3_Frame* hasAlbum(const ID3_TagImpl&);
56 ID3_C_EXPORT String getAlbum(const ID3_TagImpl&);
57 ID3_C_EXPORT ID3_Frame* setAlbum(ID3_TagImpl&, String);
58 ID3_C_EXPORT size_t removeAlbums(ID3_TagImpl&);
59
60 ID3_C_EXPORT ID3_Frame* hasTitle(const ID3_TagImpl&);
61 ID3_C_EXPORT String getTitle(const ID3_TagImpl&);
62 ID3_C_EXPORT ID3_Frame* setTitle(ID3_TagImpl&, String);
63 ID3_C_EXPORT size_t removeTitles(ID3_TagImpl&);
64
65 ID3_C_EXPORT ID3_Frame* hasYear(const ID3_TagImpl&);
66 ID3_C_EXPORT String getYear(const ID3_TagImpl&);
67 ID3_C_EXPORT ID3_Frame* setYear(ID3_TagImpl&, String);
68 ID3_C_EXPORT size_t removeYears(ID3_TagImpl&);
69
70 ID3_C_EXPORT ID3_Frame* hasV1Comment(const ID3_TagImpl&);
71 // ID3_C_EXPORT ID3_Frame* hasComment(const ID3_TagImpl&, String desc);
72 ID3_C_EXPORT ID3_Frame* hasComment(const ID3_TagImpl&);
73 ID3_C_EXPORT String getComment(const ID3_TagImpl&, String desc);
74 ID3_C_EXPORT String getV1Comment(const ID3_TagImpl&);
75 ID3_C_EXPORT ID3_Frame* setComment(ID3_TagImpl&, String, String, String);
76 ID3_C_EXPORT size_t removeComments(ID3_TagImpl&, String);
77 ID3_C_EXPORT size_t removeAllComments(ID3_TagImpl&);
78
79 ID3_C_EXPORT ID3_Frame* hasTrack(const ID3_TagImpl&);
80 ID3_C_EXPORT String getTrack(const ID3_TagImpl&);
81 ID3_C_EXPORT size_t getTrackNum(const ID3_TagImpl&);
82 ID3_C_EXPORT ID3_Frame* setTrack(ID3_TagImpl&, uchar ucTrack, uchar ucTotal);
83 ID3_C_EXPORT size_t removeTracks(ID3_TagImpl&);
84
85 ID3_C_EXPORT ID3_Frame* hasGenre(const ID3_TagImpl&);
86 ID3_C_EXPORT String getGenre(const ID3_TagImpl&);
87 ID3_C_EXPORT size_t getGenreNum(const ID3_TagImpl&);
88 ID3_C_EXPORT ID3_Frame* setGenre(ID3_TagImpl&, size_t ucGenre);
89 ID3_C_EXPORT size_t removeGenres(ID3_TagImpl&);
90
91 ID3_C_EXPORT ID3_Frame* hasLyrics(const ID3_TagImpl&);
92 ID3_C_EXPORT String getLyrics(const ID3_TagImpl&);
93 ID3_C_EXPORT ID3_Frame* setLyrics(ID3_TagImpl&, String, String, String);
94 ID3_C_EXPORT size_t removeLyrics(ID3_TagImpl&);
95
96 ID3_C_EXPORT String getLyricist(const ID3_TagImpl&);
97 ID3_C_EXPORT ID3_Frame* setLyricist(ID3_TagImpl&, String);
98 ID3_C_EXPORT size_t removeLyricists(ID3_TagImpl&);
99
100 ID3_C_EXPORT ID3_Frame* hasSyncLyrics(const ID3_TagImpl&, String lang, String desc);
101 ID3_C_EXPORT ID3_Frame* setSyncLyrics(ID3_TagImpl&, BString, ID3_TimeStampFormat,
102 String, String, ID3_ContentType);
103 ID3_C_EXPORT BString getSyncLyrics(const ID3_TagImpl& tag, String lang, String desc);
104 };
105 };
106};
107
108#endif /* _ID3LIB_HELPERS_H_ */
109
The representative class of an id3v2 frame.
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_FrameID
Enumeration of the different types of frames recognized by id3lib.
Definition globals.h:230
ID3_TimeStampFormat
Definition globals.h:418
ID3_C_EXPORT ID3_Frame * hasComment(const ID3_TagImpl &)
Definition helpers.cpp:237
ID3_C_EXPORT size_t removeAllComments(ID3_TagImpl &)
Definition helpers.cpp:303
ID3_C_EXPORT String getLyrics(const ID3_TagImpl &)
Definition helpers.cpp:434
ID3_C_EXPORT String getArtist(const ID3_TagImpl &)
Definition helpers.cpp:130
ID3_C_EXPORT size_t removeTracks(ID3_TagImpl &)
Definition helpers.cpp:370
ID3_C_EXPORT size_t getGenreNum(const ID3_TagImpl &)
Definition helpers.cpp:388
ID3_C_EXPORT String getTitle(const ID3_TagImpl &)
Definition helpers.cpp:188
ID3_C_EXPORT size_t removeYears(ID3_TagImpl &)
Definition helpers.cpp:221
ID3_C_EXPORT ID3_Frame * setLyricist(ID3_TagImpl &, String)
Definition helpers.cpp:483
ID3_C_EXPORT String getString(const ID3_Frame *, ID3_FieldID)
Definition helpers.cpp:43
ID3_C_EXPORT ID3_Frame * setLyrics(ID3_TagImpl &, String, String, String)
Definition helpers.cpp:439
ID3_C_EXPORT ID3_Frame * setAlbum(ID3_TagImpl &, String)
Definition helpers.cpp:170
ID3_C_EXPORT String getAlbum(const ID3_TagImpl &)
Definition helpers.cpp:165
ID3_C_EXPORT String getV1Comment(const ID3_TagImpl &)
Definition helpers.cpp:243
ID3_C_EXPORT ID3_Frame * setTitle(ID3_TagImpl &, String)
Definition helpers.cpp:193
ID3_C_EXPORT ID3_Frame * setArtist(ID3_TagImpl &, String)
Definition helpers.cpp:136
ID3_C_EXPORT ID3_Frame * setYear(ID3_TagImpl &, String)
Definition helpers.cpp:216
ID3_C_EXPORT size_t removeTitles(ID3_TagImpl &)
Definition helpers.cpp:198
ID3_C_EXPORT String getLyricist(const ID3_TagImpl &)
Definition helpers.cpp:478
ID3_C_EXPORT ID3_Frame * hasArtist(const ID3_TagImpl &)
Definition helpers.cpp:120
ID3_C_EXPORT String getYear(const ID3_TagImpl &)
Definition helpers.cpp:211
ID3_C_EXPORT ID3_Frame * hasGenre(const ID3_TagImpl &)
Definition helpers.cpp:377
ID3_C_EXPORT String getComment(const ID3_TagImpl &, String desc)
Definition helpers.cpp:252
ID3_C_EXPORT ID3_Frame * setFrameText(ID3_TagImpl &, ID3_FrameID, String)
Definition helpers.cpp:105
ID3_C_EXPORT ID3_Frame * hasSyncLyrics(const ID3_TagImpl &, String lang, String desc)
Definition helpers.cpp:495
ID3_C_EXPORT ID3_Frame * setComment(ID3_TagImpl &, String, String, String)
Definition helpers.cpp:258
ID3_C_EXPORT ID3_Frame * hasV1Comment(const ID3_TagImpl &)
Definition helpers.cpp:228
ID3_C_EXPORT size_t removeGenres(ID3_TagImpl &)
Definition helpers.cpp:421
ID3_C_EXPORT ID3_Frame * setTrack(ID3_TagImpl &, uchar ucTrack, uchar ucTotal)
Definition helpers.cpp:356
ID3_C_EXPORT BString getSyncLyrics(const ID3_TagImpl &tag, String lang, String desc)
Definition helpers.cpp:527
ID3_C_EXPORT ID3_Frame * hasTrack(const ID3_TagImpl &)
Definition helpers.cpp:339
ID3_C_EXPORT String getFrameText(const ID3_TagImpl &, ID3_FrameID)
Definition helpers.cpp:99
ID3_C_EXPORT size_t removeLyricists(ID3_TagImpl &)
Definition helpers.cpp:488
ID3_C_EXPORT ID3_Frame * hasTitle(const ID3_TagImpl &)
Definition helpers.cpp:182
ID3_C_EXPORT String getGenre(const ID3_TagImpl &)
Definition helpers.cpp:383
ID3_C_EXPORT size_t removeFrames(ID3_TagImpl &, ID3_FrameID)
Definition helpers.cpp:84
ID3_C_EXPORT size_t removeComments(ID3_TagImpl &, String)
Definition helpers.cpp:309
ID3_C_EXPORT size_t getTrackNum(const ID3_TagImpl &)
Definition helpers.cpp:350
ID3_C_EXPORT String getTrack(const ID3_TagImpl &)
Definition helpers.cpp:345
ID3_C_EXPORT ID3_Frame * hasYear(const ID3_TagImpl &)
Definition helpers.cpp:205
ID3_C_EXPORT ID3_Frame * setGenre(ID3_TagImpl &, size_t ucGenre)
Definition helpers.cpp:414
ID3_C_EXPORT size_t removeLyrics(ID3_TagImpl &)
Definition helpers.cpp:473
ID3_C_EXPORT ID3_Frame * hasLyrics(const ID3_TagImpl &)
Definition helpers.cpp:428
ID3_C_EXPORT String getStringAtIndex(const ID3_Frame *, ID3_FieldID, size_t)
Definition helpers.cpp:63
ID3_C_EXPORT ID3_Frame * hasAlbum(const ID3_TagImpl &)
Definition helpers.cpp:159
ID3_C_EXPORT ID3_Frame * setSyncLyrics(ID3_TagImpl &, BString, ID3_TimeStampFormat, String, String, ID3_ContentType)
Definition helpers.cpp:503
ID3_C_EXPORT size_t removeAlbums(ID3_TagImpl &)
Definition helpers.cpp:175
ID3_C_EXPORT size_t removeArtists(ID3_TagImpl &)
Definition helpers.cpp:142