void AudioFileModel_MetaInfo::update(const AudioFileModel_MetaInfo &model, const bool replace)
{
- qDebug("\n-------[AudioFileModel_MetaInfo::update]-------");
- qDebug("Updating (%p):", this);
- print();
- qDebug("\nUpdating with (%p):", &model);
- model.print();
-
if((!model.m_titel.isEmpty()) && (replace || m_titel.isEmpty())) m_titel = model.m_titel;
if((!model.m_artist.isEmpty()) && (replace || m_artist.isEmpty())) m_artist = model.m_artist;
if((!model.m_album.isEmpty()) && (replace || m_album.isEmpty())) m_album = model.m_album;
if((!model.m_cover.isEmpty()) && (replace || m_cover.isEmpty())) m_cover = model.m_cover;
if((model.m_year > 0) && (replace || (m_year == 0))) m_year = model.m_year;
if((model.m_position > 0) && (replace || (m_position == 0))) m_position = model.m_position;
-
- qDebug("\nResult:");
- print();
- qDebug("-----------------------------------------------\n\n");
}
AudioFileModel_MetaInfo::~AudioFileModel_MetaInfo(void)
nTracksTotal += m_model->getTrackCount(i);
}
- emit progressMaxChanged(nTracksTotal);
+ emit progressMaxChanged(10 * nTracksTotal);
emit progressValChanged(0);
const AudioFileModel_MetaInfo *albumInfo = m_model->getAlbumInfo();
{
int nTracks = m_model->getTrackCount(i);
QString trackFile = m_model->getFileName(i);
- int maxProgress = 0;
//Process all tracks
for(int j = 0; j < nTracks; j++)
//Call split function
emit fileSelected(shortName(QFileInfo(outputFile).fileName()));
- splitFile(outputFile, trackNo, trackFile, trackOffset, trackLength, trackMetaInfo, maxProgress);
- emit progressValChanged(++nTracksComplete);
+ splitFile(outputFile, trackNo, trackFile, trackOffset, trackLength, trackMetaInfo, nTracksComplete);
+ emit progressValChanged(nTracksComplete += 10);
if(m_abortFlag)
{
}
}
- emit progressValChanged(nTracksTotal);
+ emit progressValChanged(10 * nTracksTotal);
lamexp_sleep(333);
qDebug("All files were split.\n");
// Privtae Functions
////////////////////////////////////////////////////////////
-void CueSplitter::splitFile(const QString &output, const int trackNo, const QString &file, const double offset, const double length, const AudioFileModel_MetaInfo &metaInfo, int &maxProgress)
+void CueSplitter::splitFile(const QString &output, const int trackNo, const QString &file, const double offset, const double length, const AudioFileModel_MetaInfo &metaInfo, const int baseProgress)
{
qDebug("[Track %02d]", trackNo);
qDebug("File: <%s>", file.toUtf8().constData());
qDebug("Title: <%s>", metaInfo.title().toUtf8().constData());
qDebug("Album: <%s>", metaInfo.album().toUtf8().constData());
+ int prevProgress = baseProgress;
+
if(!m_decompressedFiles.contains(file))
{
qWarning("Unknown or unsupported input file, skipping!");
QString decompressedInput = m_decompressedFiles[file];
qDebug("Input: <%s>", decompressedInput.toUtf8().constData());
- //emit fileSelected(QString("%1 [%2%]").arg(baseName, QString::number(maxProgress)));
-
AudioFileModel outFileInfo(output);
outFileInfo.setMetaInfo(metaInfo);
int progress = rxProgress.cap(1).toInt(&ok);
if(ok)
{
- maxProgress = qMax(maxProgress, progress);
- //emit fileSelected(QString("%1 [%2%]").arg(baseName, QString::number(maxProgress)));
+ const int newProgress = baseProgress + qRound(static_cast<double>(qBound(0, progress, 100)) / 10.0);
+ if(newProgress > prevProgress)
+ {
+ emit progressValChanged(newProgress);
+ prevProgress = newProgress;
+ }
}
}
else if(rxChannels.lastIndexIn(text) >= 0)
void abortProcess(void) { m_abortFlag = true; }
private:
- void splitFile(const QString &output, const int trackNo, const QString &file, const double offset, const double length, const AudioFileModel_MetaInfo &metaInfo, int &maxProgress);
+ void splitFile(const QString &output, const int trackNo, const QString &file, const double offset, const double length, const AudioFileModel_MetaInfo &metaInfo, const int baseProgress);
QString indexToString(const double index) const;
QString shortName(const QString &longName) const;