diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-10-31 20:30:38 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-10-31 20:30:38 +0000 |
| commit | 9afdb33ec0ab2b4c8ad98ff7641999af45b315f2 (patch) | |
| tree | d14c9a436f1b6130250b83c356e1e84f623498b5 /src/plugins/Input/aac/detailsdialog.cpp | |
| parent | 311224cda472f8d308884353960cab6231bb769d (diff) | |
| download | qmmp-9afdb33ec0ab2b4c8ad98ff7641999af45b315f2.tar.gz qmmp-9afdb33ec0ab2b4c8ad98ff7641999af45b315f2.tar.bz2 qmmp-9afdb33ec0ab2b4c8ad98ff7641999af45b315f2.zip | |
AAC plugin: added details dialog
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@607 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/aac/detailsdialog.cpp')
| -rw-r--r-- | src/plugins/Input/aac/detailsdialog.cpp | 96 |
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(); } |
