• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* ------------------------------------------------------------------
2  * Copyright (C) 1998-2009 PacketVideo
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13  * express or implied.
14  * See the License for the specific language governing permissions
15  * and limitations under the License.
16  * -------------------------------------------------------------------
17  */
18 #ifndef ITUNESILSTMETADATAATOM_H_INCLUDED
19 #define ITUNESILSTMETADATAATOM_H_INCLUDED
20 
21 #include "atom.h"
22 #include "pvmi_kvp.h"
23 
24 
25 class ITunesILstMetaDataAtom
26 {
27     public:
28         ITunesILstMetaDataAtom(MP4_FF_FILE *fp, uint32 size, uint32 type);
29         virtual ~ITunesILstMetaDataAtom();
30 
getName()31         OSCL_wHeapString<OsclMemAllocator> getName() const
32         {
33             return _name;
34         }
35 
getArtist()36         OSCL_wHeapString<OsclMemAllocator> getArtist() const
37         {
38             return _artist;
39         }
40 
getAlbum()41         OSCL_wHeapString<OsclMemAllocator> getAlbum() const
42         {
43             return _album;
44         }
45 
46         // Gnre ** Starts **
getGnreID()47         uint16 getGnreID() const
48         {
49             return _gnreID;
50         }
getGnreString()51         OSCL_wHeapString<OsclMemAllocator> getGnreString() const
52         {
53             return _gnreString;
54         }
55 
56         //This function will tell the type of Genre-- TRUE- If it is Integer, FALSE- if it is String
getGnreVesion()57         bool getGnreVesion() const
58         {
59             return _gnreVersion;
60         }
61         // Gnre ** Ends **
62 
63 
64         // Returns the 4-byte YEAR when the song was recorded
getDay()65         OSCL_wHeapString<OsclMemAllocator> getDay() const
66         {
67             return _day;
68         }
69 
getTool()70         OSCL_wHeapString<OsclMemAllocator> getTool() const
71         {
72             return _tool;
73         }
74 
getWriter()75         OSCL_wHeapString<OsclMemAllocator> getWriter()
76         {
77             return _writer;
78         }
79 
getGroup()80         OSCL_wHeapString<OsclMemAllocator> getGroup()
81         {
82             return _group;
83         }
84 
getComment()85         OSCL_wHeapString<OsclMemAllocator> getComment()
86         {
87             return _comment;
88         }
89 
getThisTrackNo()90         uint16 getThisTrackNo()
91         {
92             return _thisTrackNo;
93         }
getTotalTracks()94         uint16 getTotalTracks()
95         {
96             return _totalTracks;
97         }
98 
IsCompilationPart()99         bool IsCompilationPart()
100         {
101             return _compilationPart;
102         }
103 
getBeatsPerMinute()104         uint16 getBeatsPerMinute()
105         {
106             return _beatsPerMin;
107         }
108 
getPNGImageData()109         PvmfApicStruct getPNGImageData()
110         {
111             return _PNGimageData;
112         }
113 
getThisDiskNo()114         uint16 getThisDiskNo()
115         {
116             return _thisDiskNo;
117         }
118 
getTotalDisks()119         uint16 getTotalDisks()
120         {
121             return _totalDisks;
122         }
123 
getLyrics()124         OSCL_wHeapString<OsclMemAllocator> getLyrics()
125         {
126             return _lyrics;
127         }
128 
getNormalizationData()129         OSCL_wHeapString<OsclMemAllocator> getNormalizationData()
130         {
131             return _normlizationData;
132         }
133 
getCDIdentifier()134         OSCL_wHeapString<OsclMemAllocator> getCDIdentifier()
135         {
136             return _cdIdentifier;
137         }
138 
139 
140     private:
141 
142         // Title of Song
143         OSCL_wHeapString<OsclMemAllocator> _name;
144 
145         // Artist/Performer of the Song
146         OSCL_wHeapString<OsclMemAllocator> _artist;
147 
148         // Album of Song
149         OSCL_wHeapString<OsclMemAllocator> _album;
150 
151         // Genre
152         OSCL_wHeapString<OsclMemAllocator> _gnreString; // Customized String of Genre
153         uint16 _gnreID; // Genre ID
154         bool    _gnreVersion; // Whether gnre is String or ID Number
155 
156         // 4 byte String representing Year, when song was recorded.
157         OSCL_wHeapString<OsclMemAllocator> _day;
158 
159         // Tool/Encoder used for creation of this file.
160         OSCL_wHeapString<OsclMemAllocator> _tool;
161 
162         // Writer of the Song
163         OSCL_wHeapString<OsclMemAllocator> _writer;
164 
165         // Group data.
166         OSCL_wHeapString<OsclMemAllocator> _group;
167 
168         // Comment
169         OSCL_wHeapString<OsclMemAllocator> _comment;
170 
171         // Track Number
172         uint16 _thisTrackNo;
173         uint16 _totalTracks;
174 
175         // Whether this file is the Part of Compilation or not.
176         bool _compilationPart;
177 
178         // Number of Beats per Minute
179         uint16 _beatsPerMin;
180 
181         // Album Art Data- PNG Image data
182         PvmfApicStruct _PNGimageData;
183 
184         // Disk Number
185         uint16 _thisDiskNo;
186         uint16 _totalDisks;
187 
188         // Lyrics of the Song
189         OSCL_wHeapString<OsclMemAllocator> _lyrics;
190 
191         // Free Form Data/ Normalization Data.
192         OSCL_wHeapString<OsclMemAllocator> _normlizationData;
193 
194         //CD Identifier
195         OSCL_wHeapString<OsclMemAllocator> _cdIdentifier;
196 
197 };
198 
199 
200 #endif //ITUNESILSTMETADATAATOM_H_INCLUDED
201 
202