aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/aac/detailsdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Input/aac/detailsdialog.cpp')
-rw-r--r--src/plugins/Input/aac/detailsdialog.cpp96
1 files changed, 31 insertions, 65 deletions
diff --git a/src/plugins/Input/aac/detailsdialog.cpp b/src/plugins/Input/aac/detailsdialog.cpp
index 472046717..fbd6511c8 100644
--- a/src/plugins/Input/aac/detailsdialog.cpp
+++ b/src/plugins/Input/aac/detailsdialog.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2007 by Ilya Kotov *
+ * Copyright (C) 2008 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -24,6 +24,7 @@
#include <QFile>
#include <QFileInfo>
+#include "aacfile.h"
#include "detailsdialog.h"
#define QStringToTString_qt4(s) TagLib::String(s.toUtf8().constData(), TagLib::String::UTF8)
@@ -37,79 +38,44 @@ DetailsDialog::DetailsDialog(QWidget *parent, const QString &path)
setWindowTitle (path.section('/',-1));
path.section('/',-1);
ui.pathLineEdit->setText(m_path);
- if(QFile::exists(m_path))
- {
- loadMPCInfo();
- loadTag();
- }
+ if (QFile::exists(m_path))
+ loadAACInfo();
}
DetailsDialog::~DetailsDialog()
{}
-void DetailsDialog::loadMPCInfo()
+void DetailsDialog::loadAACInfo()
{
- TagLib::MPC::File f (m_path.toLocal8Bit());
+ QFile input(m_path);
+ if (!input.open(QIODevice::ReadOnly))
+ return;
+
+ AACFile f(&input);
+
QString text;
- text = QString("%1").arg(f.audioProperties()->length()/60);
- text +=":"+QString("%1").arg(f.audioProperties()->length()%60,2,10,QChar('0'));
+ text = QString("%1").arg(f.length()/60);
+ text +=":"+QString("%1").arg(f.length()%60,2,10,QChar('0'));
ui.lengthLabel->setText(text);
- text = QString("%1").arg(f.audioProperties()->sampleRate());
- ui.sampleRateLabel->setText(text+" "+tr("Hz"));
- text = QString("%1").arg(f.audioProperties()->channels());
- ui.channelsLabel->setText(text);
- text = QString("%1").arg(f.audioProperties()->bitrate());
- ui.bitrateLabel->setText(text+" "+tr("kbps"));
- text = QString("%1").arg(f.audioProperties()->mpcVersion());
- ui.versionLabel->setText(text);
- text = QString("%1 "+tr("KB")).arg(f.length()/1024);
+ /*text = QString("%1").arg(f.audioProperties()->sampleRate());
+ ui.sampleRateLabel->setText(text+" "+tr("Hz"));*/
+ /*text = QString("%1").arg(f.audioProperties()->channels());
+ ui.channelsLabel->setText(text);*/
+ text = QString("%1").arg(f.bitrate());
+ ui.bitrateLabel->setText(text+" "+tr("kbps"));
+ /*text = QString("%1").arg(f.audioProperties()->mpcVersion());
+ ui.versionLabel->setText(text);*/
+ text = QString("%1 "+tr("KB")).arg(input.size()/1024);
ui.fileSizeLabel->setText(text);
-}
-
-void DetailsDialog::loadTag()
-{
- TagLib::FileRef f (m_path.toLocal8Bit());
-
- if (f.tag())
- { //TODO: load codec name from config
-
- TagLib::String title = f.tag()->title();
- TagLib::String artist = f.tag()->artist();
- TagLib::String album = f.tag()->album();
- TagLib::String comment = f.tag()->comment();
- TagLib::String genre = f.tag()->genre();
- QString string = QString::fromUtf8(title.toCString(TRUE)).trimmed();
- ui.titleLineEdit->setText(string);
- string = QString::fromUtf8(artist.toCString(TRUE)).trimmed();
- ui.artistLineEdit->setText(string);
- string = QString::fromUtf8(album.toCString(TRUE)).trimmed();
- ui.albumLineEdit->setText(string);
- string = QString::fromUtf8(comment.toCString(TRUE)).trimmed();
- ui.commentLineEdit->setText(string);
- string = QString("%1").arg(f.tag()->year());
- ui.yearLineEdit->setText(string);
- string = QString("%1").arg(f.tag()->track());
- ui.trackLineEdit->setText(string);
- string = QString::fromUtf8(genre.toCString(TRUE)).trimmed();
- ui.genreLineEdit->setText(string);
- }
- QFileInfo info(m_path);
- ui.saveButton->setEnabled(info.isWritable());
- connect(ui.saveButton, SIGNAL(clicked()), SLOT(saveTag()));
-}
-
-void DetailsDialog::saveTag()
-{
- TagLib::FileRef f (m_path.toLocal8Bit());
-
- f.tag()->setTitle(QStringToTString_qt4(ui.titleLineEdit->text()));
- f.tag()->setArtist(QStringToTString_qt4(ui.artistLineEdit->text()));
- f.tag()->setAlbum(QStringToTString_qt4(ui.albumLineEdit->text()));
- f.tag()->setComment(QStringToTString_qt4(ui.commentLineEdit->text()));
- f.tag()->setGenre(QStringToTString_qt4(ui.genreLineEdit->text()));
- f.tag()->setYear(ui.yearLineEdit->text().toUInt());
- f.tag()->setTrack(ui.trackLineEdit->text().toUInt());
- f.save();
+ //show metadata
+ ui.titleLineEdit->setText(f.metaData().value(Qmmp::TITLE));
+ ui.artistLineEdit->setText(f.metaData().value(Qmmp::ARTIST));
+ ui.albumLineEdit->setText(f.metaData().value(Qmmp::ALBUM));
+ ui.commentLineEdit->setText(f.metaData().value(Qmmp::COMMENT));
+ ui.yearLineEdit->setText(f.metaData().value(Qmmp::YEAR));
+ ui.trackLineEdit->setText(f.metaData().value(Qmmp::TRACK));
+ ui.genreLineEdit->setText(f.metaData().value(Qmmp::GENRE));
+ input.close();
}