1 /*
2  * Project: VizKit
3  * Version: 2.3
4 
5  * Date: 20090823
6  * File: VisualAudioMetaData.cpp
7  *
8  */
9 
10 /***************************************************************************
11 
12 Copyright (c) 2004-2009 Heiko Wichmann (http://www.imagomat.de/vizkit)
13 
14 
15 This software is provided 'as-is', without any expressed or implied warranty.
16 In no event will the authors be held liable for any damages
17 arising from the use of this software.
18 
19 Permission is granted to anyone to use this software for any purpose,
20 including commercial applications, and to alter it and redistribute it
21 freely, subject to the following restrictions:
22 
23 1. The origin of this software must not be misrepresented;
24    you must not claim that you wrote the original software.
25    If you use this software in a product, an acknowledgment
26    in the product documentation would be appreciated
27    but is not required.
28 
29 2. Altered source versions must be plainly marked as such,
30    and must not be misrepresented as being the original software.
31 
32 3. This notice may not be removed or altered from any source distribution.
33 
34  ***************************************************************************/
35 
36 #include "VisualAudioMetaData.h"
37 #include "VisualDataStore.h"
38 #include "VisualString.h"
39 #include "VisualErrorHandling.h"
40 #include "VisualMainAction.h"
41 #include "VisualItemIdentifier.h"
42 
43 
44 using namespace VizKit;
45 
46 
VisualAudioMetaData()47 VisualAudioMetaData::VisualAudioMetaData() {
48 	trackIdentifier = NULL;
49 	init();
50 }
51 
52 
~VisualAudioMetaData()53 VisualAudioMetaData::~VisualAudioMetaData() {
54 	delete trackIdentifier;
55 }
56 
57 
VisualAudioMetaData(const VisualAudioMetaData & other)58 VisualAudioMetaData::VisualAudioMetaData(const VisualAudioMetaData& other) {
59 	this->copy(other);
60 }
61 
62 
operator =(const VisualAudioMetaData & other)63 VisualAudioMetaData& VisualAudioMetaData::operator=(const VisualAudioMetaData& other) {
64 
65 	if (this == &other) return *this;
66 
67 	delete this->trackIdentifier;
68 
69 	this->copy(other);
70 
71 	return *this;
72 }
73 
74 
operator ==(const VisualAudioMetaData & other)75 bool VisualAudioMetaData::operator==(const VisualAudioMetaData& other) {
76 	bool compareResult = false;
77 	if ((this->trackSizeInBytes == other.trackSizeInBytes) &&
78 		(this->trackName == other.trackName) &&
79 		(this->trackArtist == other.trackArtist) &&
80 		(this->trackAlbum == other.trackAlbum) &&
81 		(this->isStream == other.isStream) &&
82 		(this->streamTitle == other.streamTitle)) {
83 		compareResult = true;
84 	}
85 	return compareResult;
86 }
87 
88 
operator !=(const VisualAudioMetaData & other)89 bool VisualAudioMetaData::operator!=(const VisualAudioMetaData& other) {
90 	return !(*this == other);
91 }
92 
93 
copy(const VisualAudioMetaData & other)94 void VisualAudioMetaData::copy(const VisualAudioMetaData& other) {
95 	this->trackName = other.trackName;
96 	this->trackArtist = other.trackArtist;
97 	this->trackAlbum = other.trackAlbum;
98 	this->trackLyrics = other.trackLyrics;
99 	this->streamTitle = other.streamTitle;
100 	this->trackSizeInBytes = other.trackSizeInBytes;
101 	this->isStream = other.isStream;
102 	this->trackIdentifier = new VisualItemIdentifier(*(other.trackIdentifier));
103 }
104 
105 
setIsStream(bool isAStream)106 void VisualAudioMetaData::setIsStream(bool isAStream) {
107 	this->isStream = isAStream;
108 }
109 
110 
setTrackName(const VisualString & aTrackName)111 void VisualAudioMetaData::setTrackName(const VisualString& aTrackName) {
112 	this->trackName = aTrackName;
113 }
114 
115 
setTrackArtist(const VisualString & aTrackArtist)116 void VisualAudioMetaData::setTrackArtist(const VisualString& aTrackArtist) {
117 	this->trackArtist = aTrackArtist;
118 }
119 
120 
setTrackAlbum(const VisualString & aTrackAlbum)121 void VisualAudioMetaData::setTrackAlbum(const VisualString& aTrackAlbum) {
122 	this->trackAlbum = aTrackAlbum;
123 }
124 
125 
setTrackLyrics(const VisualString & someTrackLyrics)126 void VisualAudioMetaData::setTrackLyrics(const VisualString& someTrackLyrics) {
127 	this->trackLyrics = someTrackLyrics;
128 }
129 
130 
setTrackComposer(const VisualString & aComposer)131 void VisualAudioMetaData::setTrackComposer(const VisualString& aComposer) {
132 	this->trackComposer = aComposer;
133 }
134 
135 
setStreamTitle(const VisualString & aStreamTitle)136 void VisualAudioMetaData::setStreamTitle(const VisualString& aStreamTitle) {
137 	this->streamTitle = aStreamTitle;
138 }
139 
140 
setStreamMessage(const VisualString & aStreamMessage)141 void VisualAudioMetaData::setStreamMessage(const VisualString& aStreamMessage) {
142 	this->streamMessage = aStreamMessage;
143 }
144 
145 
setStreamURL(const VisualString & aStreamURL)146 void VisualAudioMetaData::setStreamURL(const VisualString& aStreamURL) {
147 	this->streamURL = aStreamURL;
148 }
149 
150 
setTrackSizeInBytes(uint32 aTrackSizeInBytes)151 void VisualAudioMetaData::setTrackSizeInBytes(uint32 aTrackSizeInBytes) {
152 	this->trackSizeInBytes = aTrackSizeInBytes;
153 }
154 
155 
setYear(uint16 aYear)156 void VisualAudioMetaData::setYear(uint16 aYear) {
157 	this->year = aYear;
158 }
159 
160 
getTrackName()161 const VisualString& VisualAudioMetaData::getTrackName() {
162 	return this->trackName;
163 }
164 
165 
getTrackArtist()166 const VisualString& VisualAudioMetaData::getTrackArtist() {
167 	return this->trackArtist;
168 }
169 
170 
getTrackAlbum()171 const VisualString& VisualAudioMetaData::getTrackAlbum() {
172 	return this->trackAlbum;
173 }
174 
175 
getTrackLyrics()176 const VisualString& VisualAudioMetaData::getTrackLyrics() {
177 	return this->trackLyrics;
178 }
179 
180 
getTrackComposer()181 const VisualString& VisualAudioMetaData::getTrackComposer() {
182 	return this->trackComposer;
183 }
184 
185 
getStreamTitle()186 const VisualString& VisualAudioMetaData::getStreamTitle() {
187 	return this->streamTitle;
188 }
189 
190 
getStreamMessage()191 const VisualString& VisualAudioMetaData::getStreamMessage() {
192 	return this->streamMessage;
193 }
194 
195 
getStreamURL()196 const VisualString& VisualAudioMetaData::getStreamURL() {
197 	return this->streamURL;
198 }
199 
200 
getTrackSizeInBytes()201 uint32 VisualAudioMetaData::getTrackSizeInBytes() {
202 	return this->trackSizeInBytes;
203 }
204 
205 
getYear()206 uint16 VisualAudioMetaData::getYear() {
207 	return this->year;
208 }
209 
210 
getTrackIdentifier()211 VisualItemIdentifier VisualAudioMetaData::getTrackIdentifier() {
212 	return *this->trackIdentifier;
213 }
214 
215 
getIsStream()216 bool VisualAudioMetaData::getIsStream() {
217 	return this->isStream;
218 }
219 
220 
init()221 void VisualAudioMetaData::init() {
222 	this->isStream = false;
223 	this->trackSizeInBytes = 0;
224 	this->year = 0;
225 	this->trackName.clear();
226 	this->trackArtist.clear();
227 	this->trackAlbum.clear();
228 	this->trackLyrics.clear();
229 	this->trackComposer.clear();
230 	this->streamTitle.clear();
231 	this->streamMessage.clear();
232 	this->streamURL.clear();
233 	if (this->trackIdentifier != NULL) {
234 		delete this->trackIdentifier;
235 	}
236 	this->trackIdentifier = new VisualItemIdentifier;
237 }
238