1 ///////////////////////////////////////////////////////////////////////////////
2 // LameXP - Audio Encoder Front-End
3 // Copyright (C) 2004-2010 LoRd_MuldeR <MuldeR2@GMX.de>
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 2 of the License, or
8 // (at your option) any later version.
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License along
16 // with this program; if not, write to the Free Software Foundation, Inc.,
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 // http://www.gnu.org/licenses/gpl-2.0.txt
20 ///////////////////////////////////////////////////////////////////////////////
22 #include "Model_AudioFile.h"
26 ////////////////////////////////////////////////////////////
27 // Constructor & Destructor
28 ////////////////////////////////////////////////////////////
30 AudioFileModel::AudioFileModel(const QString &path, const QString &name)
37 m_formatAudioSamplerate = 0;
38 m_formatAudioChannels = 0;
39 m_formatAudioBitdepth = 0;
42 AudioFileModel::~AudioFileModel(void)
46 ////////////////////////////////////////////////////////////
48 ////////////////////////////////////////////////////////////
50 // ---------------------------------
52 // ---------------------------------
54 const QString &AudioFileModel::filePath(void) const
59 const QString &AudioFileModel::fileName(void) const
64 const QString &AudioFileModel::fileArtist(void) const
69 const QString &AudioFileModel::fileAlbum(void) const
74 const QString &AudioFileModel::fileGenre(void) const
79 const QString &AudioFileModel::fileComment(void) const
84 unsigned int AudioFileModel::fileYear(void) const
89 unsigned int AudioFileModel::filePosition(void) const
91 return m_filePosition;
94 unsigned int AudioFileModel::fileDuration(void) const
96 return m_fileDuration;
99 const QString &AudioFileModel::formatContainerType(void) const
101 return m_formatContainerType;
104 const QString &AudioFileModel::formatContainerProfile(void) const
106 return m_formatContainerProfile;
109 const QString &AudioFileModel::formatAudioType(void) const
111 return m_formatAudioType;
114 const QString &AudioFileModel::formatAudioProfile(void) const
116 return m_formatAudioProfile;
119 const QString &AudioFileModel::formatAudioVersion(void) const
121 return m_formatAudioVersion;
124 unsigned int AudioFileModel::formatAudioSamplerate(void) const
126 return m_formatAudioSamplerate;
129 unsigned int AudioFileModel::formatAudioChannels(void) const
131 return m_formatAudioChannels;
134 unsigned int AudioFileModel::formatAudioBitdepth(void) const
136 return m_formatAudioBitdepth;
139 const QString AudioFileModel::fileDurationInfo(void) const
143 QTime time = QTime().addSecs(m_fileDuration);
144 return time.toString("hh:mm:ss");
152 const QString AudioFileModel::formatContainerInfo(void) const
154 if(!m_formatContainerType.isEmpty())
156 QString info = m_formatContainerType;
157 if(!m_formatContainerProfile.isEmpty()) info.append(" (Profile: ").append(m_formatContainerProfile).append(")");
166 const QString AudioFileModel::formatAudioBaseInfo(void) const
168 if(m_formatAudioSamplerate || m_formatAudioChannels || m_formatAudioBitdepth)
171 if(m_formatAudioChannels)
173 if(!info.isEmpty()) info.append(", ");
174 info.append("Channels: ").append(QString::number(m_formatAudioChannels));
176 if(m_formatAudioSamplerate)
178 if(!info.isEmpty()) info.append(", ");
179 info.append("Samplerate: ").append(QString::number(m_formatAudioSamplerate)).append(" Hz");
181 if(m_formatAudioBitdepth)
183 if(!info.isEmpty()) info.append(", ");
184 info.append("Bitdepth: ").append(QString::number(m_formatAudioBitdepth)).append(" Bit");
194 const QString AudioFileModel::formatAudioCompressInfo(void) const
196 if(!m_formatAudioType.isEmpty())
199 if(!m_formatAudioProfile.isEmpty() || !m_formatAudioVersion.isEmpty())
201 info.append("Type: ");
203 info.append(m_formatAudioType);
204 if(!m_formatAudioProfile.isEmpty())
206 info.append(", Profile: ").append(m_formatAudioProfile);
208 if(!m_formatAudioVersion.isEmpty())
210 info.append(", Version: ").append(m_formatAudioVersion);
220 // ---------------------------------
222 // ---------------------------------
224 void AudioFileModel::setFilePath(const QString &path)
229 void AudioFileModel::setFileName(const QString &name)
234 void AudioFileModel::setFileArtist(const QString &artist)
236 m_fileArtist = artist;
239 void AudioFileModel::setFileAlbum(const QString &album)
244 void AudioFileModel::setFileGenre(const QString &genre)
249 void AudioFileModel::setFileComment(const QString &comment)
251 m_fileComment = comment;
254 void AudioFileModel::setFileYear(unsigned int year)
259 void AudioFileModel::setFilePosition(unsigned int position)
261 m_filePosition = position;
264 void AudioFileModel::setFileDuration(unsigned int duration)
266 m_fileDuration = duration;
269 void AudioFileModel::setFormatContainerType(const QString &type)
271 m_formatContainerType = type;
274 void AudioFileModel::setFormatContainerProfile(const QString &profile)
276 m_formatContainerProfile = profile;
279 void AudioFileModel::setFormatAudioType(const QString &type)
281 m_formatAudioType = type;
284 void AudioFileModel::setFormatAudioProfile(const QString &profile)
286 m_formatAudioProfile = profile;
289 void AudioFileModel::setFormatAudioVersion(const QString &version)
291 m_formatAudioVersion = version;
294 void AudioFileModel::setFormatAudioSamplerate(unsigned int samplerate)
296 m_formatAudioSamplerate = samplerate;
299 void AudioFileModel::setFormatAudioChannels(unsigned int channels)
301 m_formatAudioChannels = channels;
304 void AudioFileModel::setFormatAudioBitdepth(unsigned int bitdepth)
306 m_formatAudioBitdepth = bitdepth;