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()47VisualAudioMetaData::VisualAudioMetaData() { 48 trackIdentifier = NULL; 49 init(); 50 } 51 52 ~VisualAudioMetaData()53VisualAudioMetaData::~VisualAudioMetaData() { 54 delete trackIdentifier; 55 } 56 57 VisualAudioMetaData(const VisualAudioMetaData & other)58VisualAudioMetaData::VisualAudioMetaData(const VisualAudioMetaData& other) { 59 this->copy(other); 60 } 61 62 operator =(const VisualAudioMetaData & other)63VisualAudioMetaData& 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)75bool 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)89bool VisualAudioMetaData::operator!=(const VisualAudioMetaData& other) { 90 return !(*this == other); 91 } 92 93 copy(const VisualAudioMetaData & other)94void 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)106void VisualAudioMetaData::setIsStream(bool isAStream) { 107 this->isStream = isAStream; 108 } 109 110 setTrackName(const VisualString & aTrackName)111void VisualAudioMetaData::setTrackName(const VisualString& aTrackName) { 112 this->trackName = aTrackName; 113 } 114 115 setTrackArtist(const VisualString & aTrackArtist)116void VisualAudioMetaData::setTrackArtist(const VisualString& aTrackArtist) { 117 this->trackArtist = aTrackArtist; 118 } 119 120 setTrackAlbum(const VisualString & aTrackAlbum)121void VisualAudioMetaData::setTrackAlbum(const VisualString& aTrackAlbum) { 122 this->trackAlbum = aTrackAlbum; 123 } 124 125 setTrackLyrics(const VisualString & someTrackLyrics)126void VisualAudioMetaData::setTrackLyrics(const VisualString& someTrackLyrics) { 127 this->trackLyrics = someTrackLyrics; 128 } 129 130 setTrackComposer(const VisualString & aComposer)131void VisualAudioMetaData::setTrackComposer(const VisualString& aComposer) { 132 this->trackComposer = aComposer; 133 } 134 135 setStreamTitle(const VisualString & aStreamTitle)136void VisualAudioMetaData::setStreamTitle(const VisualString& aStreamTitle) { 137 this->streamTitle = aStreamTitle; 138 } 139 140 setStreamMessage(const VisualString & aStreamMessage)141void VisualAudioMetaData::setStreamMessage(const VisualString& aStreamMessage) { 142 this->streamMessage = aStreamMessage; 143 } 144 145 setStreamURL(const VisualString & aStreamURL)146void VisualAudioMetaData::setStreamURL(const VisualString& aStreamURL) { 147 this->streamURL = aStreamURL; 148 } 149 150 setTrackSizeInBytes(uint32 aTrackSizeInBytes)151void VisualAudioMetaData::setTrackSizeInBytes(uint32 aTrackSizeInBytes) { 152 this->trackSizeInBytes = aTrackSizeInBytes; 153 } 154 155 setYear(uint16 aYear)156void VisualAudioMetaData::setYear(uint16 aYear) { 157 this->year = aYear; 158 } 159 160 getTrackName()161const VisualString& VisualAudioMetaData::getTrackName() { 162 return this->trackName; 163 } 164 165 getTrackArtist()166const VisualString& VisualAudioMetaData::getTrackArtist() { 167 return this->trackArtist; 168 } 169 170 getTrackAlbum()171const VisualString& VisualAudioMetaData::getTrackAlbum() { 172 return this->trackAlbum; 173 } 174 175 getTrackLyrics()176const VisualString& VisualAudioMetaData::getTrackLyrics() { 177 return this->trackLyrics; 178 } 179 180 getTrackComposer()181const VisualString& VisualAudioMetaData::getTrackComposer() { 182 return this->trackComposer; 183 } 184 185 getStreamTitle()186const VisualString& VisualAudioMetaData::getStreamTitle() { 187 return this->streamTitle; 188 } 189 190 getStreamMessage()191const VisualString& VisualAudioMetaData::getStreamMessage() { 192 return this->streamMessage; 193 } 194 195 getStreamURL()196const VisualString& VisualAudioMetaData::getStreamURL() { 197 return this->streamURL; 198 } 199 200 getTrackSizeInBytes()201uint32 VisualAudioMetaData::getTrackSizeInBytes() { 202 return this->trackSizeInBytes; 203 } 204 205 getYear()206uint16 VisualAudioMetaData::getYear() { 207 return this->year; 208 } 209 210 getTrackIdentifier()211VisualItemIdentifier VisualAudioMetaData::getTrackIdentifier() { 212 return *this->trackIdentifier; 213 } 214 215 getIsStream()216bool VisualAudioMetaData::getIsStream() { 217 return this->isStream; 218 } 219 220 init()221void 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