TagLib  1.13.1
eventtimingcodesframe.h
Go to the documentation of this file.
1/***************************************************************************
2 copyright : (C) 2014 by Urs Fleisch
3 email : ufleisch@users.sourceforge.net
4 ***************************************************************************/
5
6/***************************************************************************
7 * This library is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU Lesser General Public License version *
9 * 2.1 as published by the Free Software Foundation. *
10 * *
11 * This library is distributed in the hope that it will be useful, but *
12 * WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14 * Lesser General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU Lesser General Public *
17 * License along with this library; if not, write to the Free Software *
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
19 * 02110-1301 USA *
20 * *
21 * Alternatively, this file is available under the Mozilla Public *
22 * License Version 1.1. You may obtain a copy of the License at *
23 * http://www.mozilla.org/MPL/ *
24 ***************************************************************************/
25
26#ifndef TAGLIB_EVENTTIMINGCODESFRAME_H
27#define TAGLIB_EVENTTIMINGCODESFRAME_H
28
29#include "id3v2frame.h"
30#include "tlist.h"
31
32namespace TagLib {
33
34 namespace ID3v2 {
35
37
41 {
42 friend class FrameFactory;
43
44 public:
45
59
106
111 SynchedEvent(unsigned int ms, EventType t) : time(ms), type(t) {}
112 unsigned int time;
114 };
115
120
125
129 explicit EventTimingCodesFrame(const ByteVector &data);
130
135
139 virtual String toString() const;
140
145
150
157
164
165 protected:
166 // Reimplementations.
167
168 virtual void parseFields(const ByteVector &data);
169 virtual ByteVector renderFields() const;
170
171 private:
175 EventTimingCodesFrame(const ByteVector &data, Header *h);
178
179 class EventTimingCodesFramePrivate;
180 EventTimingCodesFramePrivate *d;
181 };
182
183 } // namespace ID3v2
184} // namespace TagLib
185#endif
A byte vector.
Definition tbytevector.h:46
EventTimingCodesFrame(const ByteVector &data)
TagLib::List< SynchedEvent > SynchedEventList
Definition eventtimingcodesframe.h:119
TimestampFormat timestampFormat() const
virtual ByteVector renderFields() const
SynchedEventList synchedEvents() const
void setTimestampFormat(TimestampFormat f)
void setSynchedEvents(const SynchedEventList &e)
virtual String toString() const
virtual void parseFields(const ByteVector &data)
friend class FrameFactory
Definition eventtimingcodesframe.h:42
EventType
Definition eventtimingcodesframe.h:63
@ NotPredefinedSynch5
Definition eventtimingcodesframe.h:92
@ ThemeEnd
Definition eventtimingcodesframe.h:84
@ NotPredefinedSynch4
Definition eventtimingcodesframe.h:91
@ NotPredefinedSynch1
Definition eventtimingcodesframe.h:88
@ NotPredefinedSynch3
Definition eventtimingcodesframe.h:90
@ RefrainStart
Definition eventtimingcodesframe.h:71
@ OutroEnd
Definition eventtimingcodesframe.h:69
@ NotPredefinedSynch9
Definition eventtimingcodesframe.h:96
@ Profanity
Definition eventtimingcodesframe.h:85
@ ThemeStart
Definition eventtimingcodesframe.h:73
@ MainPartStart
Definition eventtimingcodesframe.h:67
@ RefrainEnd
Definition eventtimingcodesframe.h:83
@ TimeChange
Definition eventtimingcodesframe.h:76
@ IntroStart
Definition eventtimingcodesframe.h:66
@ SustainedNoiseEnd
Definition eventtimingcodesframe.h:79
@ SustainedNoise
Definition eventtimingcodesframe.h:78
@ NotPredefinedSynch8
Definition eventtimingcodesframe.h:95
@ OutroStart
Definition eventtimingcodesframe.h:68
@ NotPredefinedSynchB
Definition eventtimingcodesframe.h:98
@ IntroEnd
Definition eventtimingcodesframe.h:80
@ NotPredefinedSynchF
Definition eventtimingcodesframe.h:102
@ AudioEnd
Definition eventtimingcodesframe.h:103
@ VerseEnd
Definition eventtimingcodesframe.h:82
@ NotPredefinedSynchE
Definition eventtimingcodesframe.h:101
@ ProfanityEnd
Definition eventtimingcodesframe.h:86
@ Padding
Definition eventtimingcodesframe.h:64
@ NotPredefinedSynch2
Definition eventtimingcodesframe.h:89
@ NotPredefinedSynchD
Definition eventtimingcodesframe.h:100
@ MomentaryUnwantedNoise
Definition eventtimingcodesframe.h:77
@ NotPredefinedSynchC
Definition eventtimingcodesframe.h:99
@ NotPredefinedSynch6
Definition eventtimingcodesframe.h:93
@ KeyChange
Definition eventtimingcodesframe.h:75
@ VariationStart
Definition eventtimingcodesframe.h:74
@ EndOfInitialSilence
Definition eventtimingcodesframe.h:65
@ NotPredefinedSynch7
Definition eventtimingcodesframe.h:94
@ MainPartEnd
Definition eventtimingcodesframe.h:81
@ VerseStart
Definition eventtimingcodesframe.h:70
@ AudioFileEnds
Definition eventtimingcodesframe.h:104
@ NotPredefinedSynchA
Definition eventtimingcodesframe.h:97
@ InterludeStart
Definition eventtimingcodesframe.h:72
@ NotPredefinedSynch0
Definition eventtimingcodesframe.h:87
TimestampFormat
Definition eventtimingcodesframe.h:49
@ AbsoluteMpegFrames
Definition eventtimingcodesframe.h:54
@ Unknown
The timestamp is of unknown format.
Definition eventtimingcodesframe.h:51
@ AbsoluteMilliseconds
Definition eventtimingcodesframe.h:57
ID3v2 frame header implementation.
Definition id3v2frame.h:330
Frame(const ByteVector &data)
A generic, implicitly shared list.
Definition tlist.h:54
A wide string class suitable for unicode.
Definition tstring.h:85
An ID3v2 implementation.
Definition flacfile.h:40
A namespace for all TagLib related classes and functions.
Definition apefile.h:41
SynchedEvent(unsigned int ms, EventType t)
Definition eventtimingcodesframe.h:111
unsigned int time
Definition eventtimingcodesframe.h:112
EventType type
Definition eventtimingcodesframe.h:113
#define TAGLIB_EXPORT
Definition taglib_export.h:40