From 7586a65427862831590a963b5f8f9d2712271ca0 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Thu, 10 Sep 2009 12:04:51 +0000 Subject: added new details dialog, disabled input plugins due api changes git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1194 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/CMakeLists.txt | 22 +- src/plugins/Input/Input.pro | 18 +- src/plugins/Input/mad/CMakeLists.txt | 7 +- src/plugins/Input/mad/coverwidget.cpp | 45 --- src/plugins/Input/mad/coverwidget.h | 50 --- src/plugins/Input/mad/decodermadfactory.cpp | 8 +- src/plugins/Input/mad/decodermadfactory.h | 4 +- src/plugins/Input/mad/detailsdialog.cpp | 391 ------------------ src/plugins/Input/mad/detailsdialog.h | 64 --- src/plugins/Input/mad/detailsdialog.ui | 450 --------------------- src/plugins/Input/mad/mad.pro | 83 ++-- src/plugins/Input/mad/mpegmetadatamodel.cpp | 325 +++++++++++++++ src/plugins/Input/mad/mpegmetadatamodel.h | 63 +++ .../Input/mad/translations/mad_plugin_cs.ts | 220 +++------- .../Input/mad/translations/mad_plugin_de.ts | 213 +++------- .../Input/mad/translations/mad_plugin_it.ts | 195 ++------- .../Input/mad/translations/mad_plugin_lt.ts | 199 ++------- .../Input/mad/translations/mad_plugin_pl.ts | 209 +++------- .../Input/mad/translations/mad_plugin_ru.ts | 215 +++------- .../Input/mad/translations/mad_plugin_tr.ts | 183 ++------- .../Input/mad/translations/mad_plugin_uk_UA.ts | 215 +++------- .../Input/mad/translations/mad_plugin_zh_CN.ts | 201 ++------- .../Input/mad/translations/mad_plugin_zh_TW.ts | 201 ++------- src/plugins/Input/modplug/decoder_modplug.cpp | 4 +- 24 files changed, 908 insertions(+), 2677 deletions(-) delete mode 100644 src/plugins/Input/mad/coverwidget.cpp delete mode 100644 src/plugins/Input/mad/coverwidget.h delete mode 100644 src/plugins/Input/mad/detailsdialog.cpp delete mode 100644 src/plugins/Input/mad/detailsdialog.h delete mode 100644 src/plugins/Input/mad/detailsdialog.ui create mode 100644 src/plugins/Input/mad/mpegmetadatamodel.cpp create mode 100644 src/plugins/Input/mad/mpegmetadatamodel.h (limited to 'src/plugins/Input') diff --git a/src/plugins/Input/CMakeLists.txt b/src/plugins/Input/CMakeLists.txt index a62066aea..3a98630c6 100644 --- a/src/plugins/Input/CMakeLists.txt +++ b/src/plugins/Input/CMakeLists.txt @@ -2,17 +2,17 @@ INCLUDE(FindPkgConfig) SET(USE_MAD TRUE CACHE BOOL "enable/disable mad plugin") -SET(USE_FLAC TRUE CACHE BOOL "enable/disable flac plugin") -SET(USE_VORBIS TRUE CACHE BOOL "enable/disable ogg vorbis plugin") -SET(USE_FFMPEG TRUE CACHE BOOL "enable/disable ffmpeg plugin") -SET(USE_MPC TRUE CACHE BOOL "enable/disable mpc plugin") -SET(USE_SNDFILE TRUE CACHE BOOL "enable/disable sndfile plugin") -SET(USE_WAVPACK TRUE CACHE BOOL "enable/disable wavpack plugin") -SET(USE_MODPLUG TRUE CACHE BOOL "enable/disable modplug plugin") -SET(USE_AAC TRUE CACHE BOOL "enable/disable aac plugin") -SET(USE_CUE TRUE CACHE BOOL "enable/disable cue plugin") -SET(USE_MPLAYER TRUE CACHE BOOL "enable/disable mplayer support") -SET(USE_CDA TRUE CACHE BOOL "enable/disable cd audio support") +#SET(USE_FLAC TRUE CACHE BOOL "enable/disable flac plugin") +#SET(USE_VORBIS TRUE CACHE BOOL "enable/disable ogg vorbis plugin") +#SET(USE_FFMPEG TRUE CACHE BOOL "enable/disable ffmpeg plugin") +#SET(USE_MPC TRUE CACHE BOOL "enable/disable mpc plugin") +#SET(USE_SNDFILE TRUE CACHE BOOL "enable/disable sndfile plugin") +#SET(USE_WAVPACK TRUE CACHE BOOL "enable/disable wavpack plugin") +#SET(USE_MODPLUG TRUE CACHE BOOL "enable/disable modplug plugin") +#SET(USE_AAC TRUE CACHE BOOL "enable/disable aac plugin") +#SET(USE_CUE TRUE CACHE BOOL "enable/disable cue plugin") +#SET(USE_MPLAYER TRUE CACHE BOOL "enable/disable mplayer support") +#SET(USE_CDA TRUE CACHE BOOL "enable/disable cd audio support") pkg_check_modules(TAGLIB taglib) diff --git a/src/plugins/Input/Input.pro b/src/plugins/Input/Input.pro index ad543d13e..63f5dc4b3 100644 --- a/src/plugins/Input/Input.pro +++ b/src/plugins/Input/Input.pro @@ -1,54 +1,54 @@ include(../../../qmmp.pri) -SUBDIRS += mad cue +SUBDIRS += mad #cue TEMPLATE = subdirs unix{ -SUBDIRS += vorbis sndfile wavpack +#SUBDIRS += vorbis sndfile wavpack contains(CONFIG, MODPLUG_PLUGIN){ - SUBDIRS += modplug +# SUBDIRS += modplug message(***************************) message(* Modplug plugin enabled *) message(***************************) } contains(CONFIG, MUSEPACK_PLUGIN){ - SUBDIRS += mpc +# SUBDIRS += mpc message(***************************) message(* Musepack plugin enabled *) message(***************************) } contains(CONFIG, FLAC_PLUGIN){ - SUBDIRS += flac +# SUBDIRS += flac message(***********************) message(* FLAC plugin enabled *) message(***********************) } contains(CONFIG, FFMPEG_PLUGIN){ - SUBDIRS += ffmpeg +# SUBDIRS += ffmpeg message(*************************) message(* FFMPEG plugin enabled *) message(*************************) } contains(CONFIG, AAC_PLUGIN){ - SUBDIRS += aac +# SUBDIRS += aac message(**********************) message(* AAC plugin enabled *) message(**********************) } contains(CONFIG, MPLAYER_PLUGIN){ - SUBDIRS += mplayer +# SUBDIRS += mplayer message(**************************) message(* Mplayer plugin enabled *) message(**************************) } contains(CONFIG, CDAUDIO_PLUGIN){ - SUBDIRS += cdaudio +# SUBDIRS += cdaudio message(***************************) message(* CD Audio plugin enabled *) message(***************************) diff --git a/src/plugins/Input/mad/CMakeLists.txt b/src/plugins/Input/mad/CMakeLists.txt index bc08f3c74..174f4f696 100644 --- a/src/plugins/Input/mad/CMakeLists.txt +++ b/src/plugins/Input/mad/CMakeLists.txt @@ -35,19 +35,17 @@ link_directories(${MAD_LIBRARY_DIRS} ${TAGLIB_LIBRARY_DIRS}) SET(libmad_SRCS decoder_mad.cpp decodermadfactory.cpp - detailsdialog.cpp settingsdialog.cpp tagextractor.cpp - coverwidget.cpp + mpegmetadatamodel.cpp ) SET(libmad_MOC_HDRS settingsdialog.h decodermadfactory.h decoder_mad.h - detailsdialog.h tagextractor.h - coverwidget.h + mpegmetadatamodel.h ) SET(libmad_RCCS translations/translations.qrc) @@ -60,7 +58,6 @@ QT4_WRAP_CPP(libmad_MOC_SRCS ${libmad_MOC_HDRS}) SET(libmad_UIS - detailsdialog.ui settingsdialog.ui ) diff --git a/src/plugins/Input/mad/coverwidget.cpp b/src/plugins/Input/mad/coverwidget.cpp deleted file mode 100644 index 6ce4eebc1..000000000 --- a/src/plugins/Input/mad/coverwidget.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2009 by Ilya Kotov * - * forkotov02@hotmail.ru * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ -#include -#include -#include - -#include "coverwidget.h" - -CoverWidget::CoverWidget(QWidget *parent) - : QWidget(parent) -{} - -CoverWidget::~CoverWidget() -{} - -void CoverWidget::setPixmap(const QPixmap &pixmap) -{ - m_pixmap = pixmap; - update(); -} - -void CoverWidget::paintEvent (QPaintEvent *p) -{ - QPainter paint(this); - if(!m_pixmap.isNull()) - paint.drawPixmap(0,0, m_pixmap.scaled(p->rect().size())); -} - diff --git a/src/plugins/Input/mad/coverwidget.h b/src/plugins/Input/mad/coverwidget.h deleted file mode 100644 index b06e66f7e..000000000 --- a/src/plugins/Input/mad/coverwidget.h +++ /dev/null @@ -1,50 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2009 by Ilya Kotov * - * forkotov02@hotmail.ru * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ -#ifndef PIXMAPWIDGET_H -#define PIXMAPWIDGET_H - -#include -#include - -/** - @author Ilya Kotov -*/ - -class CoverWidget : public QWidget -{ -Q_OBJECT -public: - CoverWidget(QWidget *parent = 0); - - ~CoverWidget(); - - virtual void setPixmap(const QPixmap&); - -protected: - void paintEvent (QPaintEvent *event); - -private: - QPixmap m_pixmap; - - - -}; - -#endif diff --git a/src/plugins/Input/mad/decodermadfactory.cpp b/src/plugins/Input/mad/decodermadfactory.cpp index fd45987c7..d4d881cd8 100644 --- a/src/plugins/Input/mad/decodermadfactory.cpp +++ b/src/plugins/Input/mad/decodermadfactory.cpp @@ -31,7 +31,7 @@ #include #include -#include "detailsdialog.h" +#include "mpegmetadatamodel.h" #include "settingsdialog.h" #include "decoder_mad.h" #include "decodermadfactory.h" @@ -207,11 +207,9 @@ QList DecoderMADFactory::createPlayList(const QString &fileName, boo return list; } -QObject* DecoderMADFactory::showDetails(QWidget *parent, const QString &path) +MetaDataModel* DecoderMADFactory::createMetaDataModel(const QString &path, QObject *parent) { - DetailsDialog *d = new DetailsDialog(parent, path); - d -> show(); - return d; + return new MPEGMetaDataModel(path, parent); } void DecoderMADFactory::showSettings(QWidget *parent) diff --git a/src/plugins/Input/mad/decodermadfactory.h b/src/plugins/Input/mad/decodermadfactory.h index c749cd86d..bd657514c 100644 --- a/src/plugins/Input/mad/decodermadfactory.h +++ b/src/plugins/Input/mad/decodermadfactory.h @@ -28,6 +28,7 @@ #include #include #include +#include @@ -43,9 +44,8 @@ public: bool canDecode(QIODevice *input) const; const DecoderProperties properties() const; Decoder *create(QObject *, QIODevice *, Output *, const QString &); - //FileInfo *createFileInfo(const QString &source); QList createPlayList(const QString &fileName, bool useMetaData); - QObject* showDetails(QWidget *parent, const QString &path); + MetaDataModel* createMetaDataModel(const QString &path, QObject *parent = 0); void showSettings(QWidget *parent); void showAbout(QWidget *parent); QTranslator *createTranslator(QObject *parent); diff --git a/src/plugins/Input/mad/detailsdialog.cpp b/src/plugins/Input/mad/detailsdialog.cpp deleted file mode 100644 index b103b5c78..000000000 --- a/src/plugins/Input/mad/detailsdialog.cpp +++ /dev/null @@ -1,391 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2006-2009 by Ilya Kotov * - * forkotov02@hotmail.ru * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "detailsdialog.h" - -DetailsDialog::DetailsDialog(QWidget *parent, const QString &path) - : QDialog(parent) -{ - ui.setupUi(this); - setAttribute(Qt::WA_DeleteOnClose); - m_path = path; - setWindowTitle (path.section('/',-1)); - ui.pathLineEdit->setText(m_path); - - if (!QFile::exists(m_path)) - return; - - QSettings settings(Qmmp::configFile(), QSettings::IniFormat); - settings.beginGroup("MAD"); - m_codec_v1 = - QTextCodec::codecForName(settings.value("ID3v1_encoding", "ISO-8859-1") - .toByteArray ()); - m_codec_v2 = - QTextCodec::codecForName(settings.value("ID3v2_encoding","UTF-8") - .toByteArray ()); - if (!m_codec_v1) - m_codec_v1 = QTextCodec::codecForName ("ISO-8859-1"); - if (!m_codec_v2) - m_codec_v2 = QTextCodec::codecForName ("UTF-8"); - - QString tag_name = settings.value("current_tag","ID3v2").toString (); - - if (tag_name == "ID3v1") - ui.id3v1RadioButton->setChecked(TRUE); - else if (tag_name == "ID3v2") - ui.id3v2RadioButton->setChecked(TRUE); - else if (tag_name == "APE") - ui.apeRadioButton->setChecked(TRUE); - else - ui.id3v2RadioButton->setChecked(TRUE); - - settings.endGroup(); - - loadMPEGInfo(); - QFileInfo info(m_path); - m_rw = info.isWritable(); - loadTag(); - connect(ui.saveButton, SIGNAL(clicked()), SLOT(save())); - connect(ui.createButton, SIGNAL(clicked()), SLOT(create())); - connect(ui.deleteButton, SIGNAL(clicked()), SLOT(deleteTag())); - connect(ui.id3v1RadioButton, SIGNAL(clicked()), SLOT(loadTag())); - connect(ui.id3v2RadioButton, SIGNAL(clicked()), SLOT(loadTag())); - connect(ui.apeRadioButton, SIGNAL(clicked()), SLOT(loadTag())); - QPixmap pix = Decoder::findCover(m_path); - if(pix.isNull()) - { - ui.coverWidget->hide(); - qobject_cast (ui.groupBox->layout ())->setDirection(QBoxLayout::LeftToRight); - } - else - ui.coverWidget->setPixmap(pix); -} - - -DetailsDialog::~DetailsDialog() -{} - -void DetailsDialog::loadMPEGInfo() -{ - TagLib::MPEG::File f (m_path.toLocal8Bit().constData()); - QString text; - QString v; - switch((int)f.audioProperties()->version()) - { - case TagLib::MPEG::Header::Version1: - v = "1"; - break; - case TagLib::MPEG::Header::Version2: - v = "2"; - break; - case TagLib::MPEG::Header::Version2_5: - v = "2.5"; - } - QMap ap; - text = QString("MPEG-%1 layer %2").arg(v).arg(f.audioProperties()->layer()); - ap.insert(tr("Format"), text); - text = QString("%1").arg(f.audioProperties()->bitrate()); - ap.insert(tr("Bitrate"), text+" "+tr("kbps")); - text = QString("%1").arg(f.audioProperties()->sampleRate()); - ap.insert(tr("Samplerate"), text+" "+tr("Hz")); - switch (f.audioProperties()->channelMode()) - { - case TagLib::MPEG::Header::Stereo: - ap.insert(tr("Mode"), "Stereo"); - break; - case TagLib::MPEG::Header::JointStereo: - ap.insert(tr("Mode"), "Joint stereo"); - break; - case TagLib::MPEG::Header::DualChannel: - ap.insert(tr("Mode"), "Dual channel"); - break; - case TagLib::MPEG::Header::SingleChannel: - ap.insert(tr("Mode"), "Single channel"); - break; - } - text = QString("%1 "+tr("KB")).arg(f.length()/1024); - ap.insert(tr("File size"), text); - if (f.audioProperties()->protectionEnabled()) - ap.insert(tr("Protection"), tr("Yes")); - else - ap.insert(tr("Protection"), tr("No")); - if (f.audioProperties()->isCopyrighted()) - ap.insert(tr("Copyright"), tr("Yes")); - else - ap.insert(tr("Copyright"), tr("No")); - if (f.audioProperties()->isOriginal()) - ap.insert(tr("Original"), tr("Yes")); - else - ap.insert(tr("Original"), tr("No")); - showAudioProperties(ap); -} - -void DetailsDialog::loadTag() -{ - TagLib::MPEG::File f (m_path.toLocal8Bit().constData()); - QTextCodec *codec = QTextCodec::codecForName ("UTF-8"); - TagLib::Tag *tag = 0; - TagLib::ID3v2::FrameListMap flm; - - if (selectedTag() == TagLib::MPEG::File::ID3v1) - { - tag = f.ID3v1Tag(); - codec = m_codec_v1; - ui.tagGroupBox->setTitle(tr("ID3v1")); - } - else if (selectedTag() == TagLib::MPEG::File::ID3v2) - { - tag = f.ID3v2Tag(); - codec = m_codec_v2; - ui.tagGroupBox->setTitle(tr("ID3v2")); - if(tag) - flm = f.ID3v2Tag()->frameListMap(); - } - else if (selectedTag() == TagLib::MPEG::File::APE) - { - ui.tagGroupBox->setTitle(tr("APE")); - tag = f.APETag(); - } - ui.saveButton->setEnabled(tag && m_rw); - ui.createButton->setEnabled(!tag && m_rw); - ui.deleteButton->setEnabled(tag && m_rw); - ui.tagGroupBox->setEnabled(tag); - //clear old values - ui.titleLineEdit->clear(); - ui.artistLineEdit->clear(); - ui.albumLineEdit->clear(); - ui.commentBrowser->clear(); - ui.yearSpinBox->clear(); - ui.trackSpinBox->setValue(0); - ui.genreLineEdit->clear(); - ui.composerLineEdit->clear(); - ui.discSpinBox->setValue(0); - - if (tag) - { - bool utf = codec->name().contains("UTF"); - if (utf) - codec = QTextCodec::codecForName ("UTF-8"); - TagLib::String title = tag->title(); - TagLib::String artist = tag->artist(); - TagLib::String album = tag->album(); - TagLib::String comment = tag->comment(); - TagLib::String genre = tag->genre(); - QString string = codec->toUnicode(title.toCString(utf)).trimmed(); - ui.titleLineEdit->setText(string); - string = codec->toUnicode(artist.toCString(utf)).trimmed(); - ui.artistLineEdit->setText(string); - string = codec->toUnicode(album.toCString(utf)).trimmed(); - ui.albumLineEdit->setText(string); - string = codec->toUnicode(comment.toCString(utf)).trimmed(); - ui.commentBrowser->setText(string); - ui.yearSpinBox->setValue(tag->year()); - ui.trackSpinBox->setValue(tag->track()); - string = codec->toUnicode(genre.toCString(utf)).trimmed(); - ui.genreLineEdit->setText(string); - if(selectedTag() == TagLib::MPEG::File::ID3v2) - { - if(!flm["TCOM"].isEmpty()) - { - string = codec->toUnicode(flm["TCOM"].front()->toString().toCString(utf)).trimmed(); - ui.composerLineEdit->setText(string); - } - if(!flm["TPOS"].isEmpty()) - { - string = QString(flm["TPOS"].front()->toString().toCString(utf)).trimmed(); - ui.discSpinBox->setValue(string.toInt()); - } - } - } -} - -void DetailsDialog::save() -{ - TagLib::MPEG::File* f = new TagLib::MPEG::File(m_path.toLocal8Bit().constData()); - TagLib::String::Type type = TagLib::String::Latin1; - - QTextCodec *codec = 0; - TagLib::Tag *tag = 0; - - if (selectedTag() == TagLib::MPEG::File::ID3v1) - { - codec = m_codec_v1; - tag = f->ID3v1Tag(TRUE); - if (codec->name().contains("UTF")) - { - delete f; - loadTag(); - } - } - if (selectedTag() == TagLib::MPEG::File::ID3v2) - { - codec = m_codec_v2; - tag = f->ID3v2Tag(TRUE); - - if (codec->name().contains("UTF")) - { - type = TagLib::String::UTF8; - if (codec->name().contains("UTF-16")) - type = TagLib::String::UTF16; - else if (codec->name().contains("UTF-16LE")) - type = TagLib::String::UTF16LE; - else if (codec->name().contains("UTF-16BE")) - type = TagLib::String::UTF16BE; - - codec = QTextCodec::codecForName ("UTF-8"); - TagLib::ID3v2::FrameFactory *factory = TagLib::ID3v2::FrameFactory::instance(); - factory->setDefaultTextEncoding(type); - f->setID3v2FrameFactory(factory); - type = TagLib::String::UTF8; - } - //set composer tag - TagLib::String composer = - TagLib::String(codec->fromUnicode(ui.composerLineEdit->text()).constData(), type); - TagLib::ID3v2::Tag *id3v2_tag = dynamic_cast(tag); - if(ui.composerLineEdit->text().isEmpty()) - id3v2_tag->removeFrames("TCOM"); - else if(!id3v2_tag->frameListMap()["TCOM"].isEmpty()) - id3v2_tag->frameListMap()["TCOM"].front()->setText(composer); - else - { - TagLib::ID3v2::TextIdentificationFrame *frame; - frame = new TagLib::ID3v2::TextIdentificationFrame("TCOM", TagLib::String::Latin1); - frame->setText(composer); - id3v2_tag->addFrame(frame); - } - //set disc number - TagLib::String discnumber = - TagLib::String(QString("%1").arg(ui.discSpinBox->value()).toAscii().constData()); - if(ui.discSpinBox->value() == 0) - id3v2_tag->removeFrames("TPOS"); - else if(!id3v2_tag->frameListMap()["TPOS"].isEmpty()) - id3v2_tag->frameListMap()["TPOS"].front()->setText(discnumber); - else - { - TagLib::ID3v2::TextIdentificationFrame *frame; - frame = new TagLib::ID3v2::TextIdentificationFrame("TPOS", TagLib::String::Latin1); - frame->setText(discnumber); - id3v2_tag->addFrame(frame); - } - } - if (selectedTag() == TagLib::MPEG::File::APE) - { - codec = QTextCodec::codecForName ("UTF-8"); - tag = f->APETag(TRUE); - type = TagLib::String::UTF8; - } - - tag->setTitle(TagLib::String(codec->fromUnicode(ui.titleLineEdit->text()).constData(), type)); - tag->setArtist(TagLib::String(codec->fromUnicode(ui.artistLineEdit->text()).constData(), type)); - tag->setAlbum(TagLib::String(codec->fromUnicode(ui.albumLineEdit->text()).constData(), type)); - tag->setComment(TagLib::String(codec->fromUnicode(ui.commentBrowser->toPlainText ()) - .constData(), type)); - tag->setGenre(TagLib::String(codec->fromUnicode(ui.genreLineEdit->text()).constData(), type)); - tag->setYear(ui.yearSpinBox->value()); - tag->setTrack(ui.trackSpinBox->value()); - - f->save(selectedTag(), FALSE); - delete f; - loadTag(); -} - -void DetailsDialog::create() -{ - TagLib::MPEG::File *f = new TagLib::MPEG::File (m_path.toLocal8Bit().constData()); - TagLib::Tag *tag = 0; - if (selectedTag() == TagLib::MPEG::File::ID3v1) - tag = f->ID3v1Tag(TRUE); - else if (selectedTag() == TagLib::MPEG::File::ID3v2) - tag = f->ID3v2Tag(TRUE); - else if (selectedTag() == TagLib::MPEG::File::APE) - tag = f->APETag(TRUE); - - f->save(selectedTag(), FALSE); - delete f; - loadTag(); - ui.tagGroupBox->setEnabled(TRUE); - ui.saveButton->setEnabled(m_rw); -} - -void DetailsDialog::deleteTag() -{ - TagLib::MPEG::File *f = new TagLib::MPEG::File (m_path.toLocal8Bit().constData()); - f->strip(selectedTag()); - delete f; - loadTag(); -} - -uint DetailsDialog::selectedTag() -{ - if (ui.id3v1RadioButton->isChecked()) - return TagLib::MPEG::File::ID3v1; - else if (ui.id3v2RadioButton->isChecked()) - return TagLib::MPEG::File::ID3v2; - else if (ui.apeRadioButton->isChecked()) - return TagLib::MPEG::File::APE; - return TagLib::MPEG::File::ID3v2; -} - -void DetailsDialog::closeEvent (QCloseEvent *) -{ - QSettings settings(Qmmp::configFile(), QSettings::IniFormat); - settings.beginGroup("MAD"); - if (ui.id3v1RadioButton->isChecked()) - settings.setValue("current_tag","ID3v1"); - else if (ui.id3v2RadioButton->isChecked()) - settings.setValue("current_tag","ID3v2"); - else if (ui.apeRadioButton->isChecked()) - settings.setValue("current_tag","APE"); - settings.endGroup(); -} - -void DetailsDialog::showAudioProperties(QMap p) -{ - QString formattedText; - formattedText.append(""); - foreach(QString key, p.keys()) - { - formattedText.append(""); - formattedText.append(""); - formattedText.append(""); - } - formattedText.append("
" + key + ": " - + p.value(key) + "
"); - ui.propertiesLabel->setText(formattedText); -} diff --git a/src/plugins/Input/mad/detailsdialog.h b/src/plugins/Input/mad/detailsdialog.h deleted file mode 100644 index 7367cbf67..000000000 --- a/src/plugins/Input/mad/detailsdialog.h +++ /dev/null @@ -1,64 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2006-2008 by Ilya Kotov * - * forkotov02@hotmail.ru * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ -#ifndef DETAILSDIALOG_H -#define DETAILSDIALOG_H - -#include -#include -#include - -#include "ui_detailsdialog.h" - -/** - @author Ilya Kotov -*/ - -class QTextCodec; - -class DetailsDialog : public QDialog -{ - Q_OBJECT -public: - DetailsDialog(QWidget *parent = 0, const QString &path = 0); - - ~DetailsDialog(); - -protected: - virtual void closeEvent (QCloseEvent *); - -private slots: - void save(); - void create(); - void deleteTag(); - void loadTag(); - -private: - void loadMPEGInfo(); - uint selectedTag(); - void showAudioProperties(QMap p); - Ui::DetailsDialog ui; - QString m_path; - QTextCodec *m_codec_v1; - QTextCodec *m_codec_v2; - bool m_rw; - -}; - -#endif diff --git a/src/plugins/Input/mad/detailsdialog.ui b/src/plugins/Input/mad/detailsdialog.ui deleted file mode 100644 index 9d5775dd2..000000000 --- a/src/plugins/Input/mad/detailsdialog.ui +++ /dev/null @@ -1,450 +0,0 @@ - - DetailsDialog - - - - 0 - 0 - 630 - 383 - - - - Details - - - - 6 - - - 6 - - - 6 - - - - - true - - - - - - - - - QLayout::SetMinAndMaxSize - - - - - - 0 - 0 - - - - - 110 - 110 - - - - - 110 - 110 - - - - - - - - - 0 - 0 - - - - Tags - - - - - - ID3v1 - - - - - - - ID3v2 - - - - - - - APE - - - - - - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - Audio Properties - - - - - - - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - - - - - ID3v1 - - - - - - - 0 - 0 - - - - Title: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - Artist: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - Album: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - - - - - Composer: - - - - - - - - - - - 0 - 0 - - - - Genre: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - Disc number: - - - - - - - ? - - - - - - - - - - 0 - 0 - - - - Track: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - - - 0 - 0 - - - - ? - - - - - - - - 0 - 0 - - - - Year: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - ? - - - - - - 2012 - - - - - - - - - - 0 - 0 - - - - Comment: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - false - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;"></p></body></html> - - - - - - - - - - Qt::Horizontal - - - - 192 - 23 - - - - - - - - Create - - - - - - - Delete - - - - - - - Save - - - - - - - Close - - - - - - - - CoverWidget - QWidget -
coverwidget.h
- 1 -
-
- - - - closeButton - clicked() - DetailsDialog - close() - - - 546 - 356 - - - 422 - 357 - - - - -
diff --git a/src/plugins/Input/mad/mad.pro b/src/plugins/Input/mad/mad.pro index b29f0c090..c77c0be5c 100644 --- a/src/plugins/Input/mad/mad.pro +++ b/src/plugins/Input/mad/mad.pro @@ -1,56 +1,49 @@ include(../../plugins.pri) - - -FORMS += detailsdialog.ui \ - settingsdialog.ui +FORMS += settingsdialog.ui HEADERS += decodermadfactory.h \ - decoder_mad.h \ - detailsdialog.h \ - settingsdialog.h \ - tagextractor.h \ - coverwidget.h + decoder_mad.h \ + settingsdialog.h \ + tagextractor.h \ + mpegmetadatamodel.h SOURCES += decoder_mad.cpp \ - decodermadfactory.cpp \ - detailsdialog.cpp \ - settingsdialog.cpp \ - tagextractor.cpp \ - coverwidget.cpp - -TARGET =$$PLUGINS_PREFIX/Input/mad -unix:QMAKE_CLEAN =$$PLUGINS_PREFIX/Input/libmad.so - - -INCLUDEPATH += ../../../ ./ + decodermadfactory.cpp \ + settingsdialog.cpp \ + tagextractor.cpp \ + mpegmetadatamodel.cpp +TARGET = $$PLUGINS_PREFIX/Input/mad +unix:QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libmad.so +INCLUDEPATH += ../../../ \ + ./ win32:INCLUDEPATH += D:\MINGW\include\taglib CONFIG += release \ -warn_on \ -plugin \ -link_pkgconfig + warn_on \ + plugin \ + link_pkgconfig TEMPLATE = lib unix:QMAKE_LIBDIR += ../../../../lib win32:QMAKE_LIBDIR += ../../../../bin -unix:LIBS += -lqmmp -lmad -unix:PKGCONFIG += taglib mad - -win32:LIBS += -lqmmp0 -lmad -ltag.dll -ltag_c.dll - +unix:LIBS += -lqmmp \ + -lmad +unix:PKGCONFIG += taglib \ + mad +win32:LIBS += -lqmmp0 \ + -lmad \ + -ltag.dll \ + -ltag_c.dll TRANSLATIONS = translations/mad_plugin_ru.ts \ - translations/mad_plugin_uk_UA.ts \ - translations/mad_plugin_zh_CN.ts \ - translations/mad_plugin_zh_TW.ts \ - translations/mad_plugin_cs.ts \ - translations/mad_plugin_pl.ts \ - translations/mad_plugin_de.ts \ - translations/mad_plugin_it.ts \ - translations/mad_plugin_tr.ts \ - translations/mad_plugin_tr.ts \ - translations/mad_plugin_lt.ts + translations/mad_plugin_uk_UA.ts \ + translations/mad_plugin_zh_CN.ts \ + translations/mad_plugin_zh_TW.ts \ + translations/mad_plugin_cs.ts \ + translations/mad_plugin_pl.ts \ + translations/mad_plugin_de.ts \ + translations/mad_plugin_it.ts \ + translations/mad_plugin_tr.ts \ + translations/mad_plugin_tr.ts \ + translations/mad_plugin_lt.ts RESOURCES = translations/translations.qrc - -unix{ -isEmpty(LIB_DIR){ - LIB_DIR = /lib -} -target.path = $$LIB_DIR/qmmp/Input -INSTALLS += target +unix { + isEmpty(LIB_DIR):LIB_DIR = /lib + target.path = $$LIB_DIR/qmmp/Input + INSTALLS += target } diff --git a/src/plugins/Input/mad/mpegmetadatamodel.cpp b/src/plugins/Input/mad/mpegmetadatamodel.cpp new file mode 100644 index 000000000..7880f64fb --- /dev/null +++ b/src/plugins/Input/mad/mpegmetadatamodel.cpp @@ -0,0 +1,325 @@ +/*************************************************************************** + * Copyright (C) 2009 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "mpegmetadatamodel.h" + +MPEGMetaDataModel::MPEGMetaDataModel(const QString &path, QObject *parent) : MetaDataModel(parent) +{ + m_path = path; + m_tags << new MpegFileTagModel(path, TagLib::MPEG::File::ID3v1); + m_tags << new MpegFileTagModel(path, TagLib::MPEG::File::ID3v2); + m_tags << new MpegFileTagModel(path, TagLib::MPEG::File::APE); +} + +MPEGMetaDataModel::~MPEGMetaDataModel() +{ + while(!m_tags.isEmpty()) + delete m_tags.takeFirst(); +} + +QHash MPEGMetaDataModel::audioProperties() +{ + QHash ap; + TagLib::MPEG::File f (m_path.toLocal8Bit().constData()); + QString text; + QString v; + switch((int)f.audioProperties()->version()) + { + case TagLib::MPEG::Header::Version1: + v = "1"; + break; + case TagLib::MPEG::Header::Version2: + v = "2"; + break; + case TagLib::MPEG::Header::Version2_5: + v = "2.5"; + } + text = QString("MPEG-%1 layer %2").arg(v).arg(f.audioProperties()->layer()); + ap.insert(tr("Format"), text); + text = QString("%1").arg(f.audioProperties()->bitrate()); + ap.insert(tr("Bitrate"), text+" "+tr("kbps")); + text = QString("%1").arg(f.audioProperties()->sampleRate()); + ap.insert(tr("Samplerate"), text+" "+tr("Hz")); + switch (f.audioProperties()->channelMode()) + { + case TagLib::MPEG::Header::Stereo: + ap.insert(tr("Mode"), "Stereo"); + break; + case TagLib::MPEG::Header::JointStereo: + ap.insert(tr("Mode"), "Joint stereo"); + break; + case TagLib::MPEG::Header::DualChannel: + ap.insert(tr("Mode"), "Dual channel"); + break; + case TagLib::MPEG::Header::SingleChannel: + ap.insert(tr("Mode"), "Single channel"); + break; + } + text = QString("%1 "+tr("KB")).arg(f.length()/1024); + ap.insert(tr("File size"), text); + if (f.audioProperties()->protectionEnabled()) + ap.insert(tr("Protection"), tr("Yes")); + else + ap.insert(tr("Protection"), tr("No")); + if (f.audioProperties()->isCopyrighted()) + ap.insert(tr("Copyright"), tr("Yes")); + else + ap.insert(tr("Copyright"), tr("No")); + if (f.audioProperties()->isOriginal()) + ap.insert(tr("Original"), tr("Yes")); + else + ap.insert(tr("Original"), tr("No")); + return ap; +} + +QList MPEGMetaDataModel::tags() +{ + return m_tags; +} + +MpegFileTagModel::MpegFileTagModel(const QString &path, TagLib::MPEG::File::TagTypes tagType) : TagModel() +{ + m_tagType = tagType; + m_file = new TagLib::MPEG::File (path.toLocal8Bit().constData()); + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); + settings.beginGroup("MAD"); + if (m_tagType == TagLib::MPEG::File::ID3v1) + { + m_tag = m_file->ID3v1Tag(); + m_codec = QTextCodec::codecForName(settings.value("ID3v1_encoding", "ISO-8859-1").toByteArray ()); + if (!m_codec) + QTextCodec::codecForName ("ISO-8859-1"); + } + else if (m_tagType == TagLib::MPEG::File::ID3v2) + { + m_tag = m_file->ID3v2Tag(); + m_codec = QTextCodec::codecForName(settings.value("ID3v1_encoding", "UTF-8").toByteArray ()); + if (!m_codec) + QTextCodec::codecForName ("UTF-8"); + } + else + { + m_tag = m_file->APETag(); + m_codec = QTextCodec::codecForName ("UTF-8"); + } + settings.endGroup(); +} + +MpegFileTagModel::~MpegFileTagModel() +{ + delete m_file; +} + +const QString MpegFileTagModel::name() +{ + if (m_tagType == TagLib::MPEG::File::ID3v1) + return "ID3v1"; + else if (m_tagType == TagLib::MPEG::File::ID3v2) + return "ID3v2"; + return "APE"; +} + +QList MpegFileTagModel::keys() +{ + QList list = TagModel::keys(); + if (m_tagType == TagLib::MPEG::File::ID3v2) + return list; + list.removeAll(Qmmp::COMPOSER); + list.removeAll(Qmmp::DISCNUMBER); + return list; +} + +const QString MpegFileTagModel::value(Qmmp::MetaData key) +{ + QTextCodec *codec = m_codec; + + if (m_tag) + { + bool utf = codec->name().contains("UTF"); + if (utf) + codec = QTextCodec::codecForName ("UTF-8"); + + TagLib::String str; + switch((int) key) + { + case Qmmp::TITLE: + str = m_tag->title(); + break; + case Qmmp::ARTIST: + str = m_tag->artist(); + break; + case Qmmp::ALBUM: + str = m_tag->album(); + break; + case Qmmp::COMMENT: + str = m_tag->comment(); + break; + case Qmmp::GENRE: + str = m_tag->genre(); + break; + case Qmmp::COMPOSER: + if(m_tagType == TagLib::MPEG::File::ID3v2 + && !m_file->ID3v2Tag()->frameListMap()["TCOM"].isEmpty()) + str = m_file->ID3v2Tag()->frameListMap()["TCOM"].front()->toString(); + break; + case Qmmp::YEAR: + return QString::number(m_tag->year()); + case Qmmp::TRACK: + return QString::number(m_tag->track()); + case Qmmp::DISCNUMBER: + if(m_tagType == TagLib::MPEG::File::ID3v2 + && !m_file->ID3v2Tag()->frameListMap()["TPOS"].isEmpty()) + str = m_file->ID3v2Tag()->frameListMap()["TPOS"].front()->toString(); + } + return codec->toUnicode(str.toCString(utf)).trimmed(); + } + return QString(); +} + +void MpegFileTagModel::setValue(Qmmp::MetaData key, const QString &value) +{ + if(!m_tag) + return; + TagLib::String::Type type = TagLib::String::Latin1; + + if (m_tagType == TagLib::MPEG::File::ID3v1) + { + if(m_codec->name().contains("UTF")) //utf is unsupported + return; + } + else if (m_tagType == TagLib::MPEG::File::ID3v2) + { + if (m_codec->name().contains("UTF")) + { + type = TagLib::String::UTF8; + if (m_codec->name().contains("UTF-16")) + type = TagLib::String::UTF16; + else if (m_codec->name().contains("UTF-16LE")) + type = TagLib::String::UTF16LE; + else if (m_codec->name().contains("UTF-16BE")) + type = TagLib::String::UTF16BE; + + m_codec = QTextCodec::codecForName ("UTF-8"); + TagLib::ID3v2::FrameFactory *factory = TagLib::ID3v2::FrameFactory::instance(); + factory->setDefaultTextEncoding(type); + m_file->setID3v2FrameFactory(factory); + type = TagLib::String::UTF8; + } + //save additional tags + TagLib::ByteVector id3v2_key; + if (key == Qmmp::COMPOSER) + id3v2_key = "TCOM"; //composer + else if (key == Qmmp::DISCNUMBER) + id3v2_key = "TPOS"; //disc number + + if (!id3v2_key.isEmpty()) + { + TagLib::String composer = TagLib::String(m_codec->fromUnicode(value).constData(), type); + TagLib::ID3v2::Tag *id3v2_tag = dynamic_cast(m_tag); + if(value.isEmpty()) + id3v2_tag->removeFrames(id3v2_key); + else if(!id3v2_tag->frameListMap()[id3v2_key].isEmpty()) + id3v2_tag->frameListMap()[id3v2_key].front()->setText(composer); + else + { + TagLib::ID3v2::TextIdentificationFrame *frame; + frame = new TagLib::ID3v2::TextIdentificationFrame(id3v2_key, type); + frame->setText(composer); + id3v2_tag->addFrame(frame); + } + return; + } + } + else if(m_tagType == TagLib::MPEG::File::APE) + type = TagLib::String::UTF8; + + TagLib::String str = TagLib::String(m_codec->fromUnicode(value).constData(), type); + + switch((int) key) + { + case Qmmp::TITLE: + m_tag->setTitle(str); + break; + case Qmmp::ARTIST: + m_tag->setArtist(str); + break; + case Qmmp::ALBUM: + m_tag->setAlbum(str); + break; + case Qmmp::COMMENT: + m_tag->setComment(str); + break; + case Qmmp::GENRE: + m_tag->setGenre(str); + break; + case Qmmp::YEAR: + m_tag->setYear(value.toInt()); + break; + case Qmmp::TRACK: + m_tag->setTrack(value.toInt()); + } +} + +bool MpegFileTagModel::exists() +{ + return (m_tag != 0); +} + +void MpegFileTagModel::create() +{ + if (m_tag) + return; + if (m_tagType == TagLib::MPEG::File::ID3v1) + m_tag = m_file->ID3v1Tag(TRUE); + else if (m_tagType == TagLib::MPEG::File::ID3v2) + m_tag = m_file->ID3v2Tag(TRUE); + else if (m_tagType == TagLib::MPEG::File::APE) + m_tag = m_file->APETag(TRUE); +} + +void MpegFileTagModel::remove() +{ + m_tag = 0; +} + +void MpegFileTagModel::save() +{ + if(m_tag) + { + m_file->save(m_tagType, FALSE); //?? + m_file->save(m_tagType, FALSE); + } + else + m_file->strip(m_tagType); +} diff --git a/src/plugins/Input/mad/mpegmetadatamodel.h b/src/plugins/Input/mad/mpegmetadatamodel.h new file mode 100644 index 000000000..0b134fd3f --- /dev/null +++ b/src/plugins/Input/mad/mpegmetadatamodel.h @@ -0,0 +1,63 @@ +/*************************************************************************** + * Copyright (C) 2009 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#ifndef MPEGMETADATAMODEL_H +#define MPEGMETADATAMODEL_H + +#include +#include + +class QTextCodec; + +class MPEGMetaDataModel : public MetaDataModel +{ +public: + MPEGMetaDataModel(const QString &path, QObject *parent); + ~MPEGMetaDataModel(); + QHash audioProperties(); + QList tags(); + +private: + QString m_path; + QList m_tags; +}; + +class MpegFileTagModel : public TagModel +{ +public: + MpegFileTagModel(const QString &path, TagLib::MPEG::File::TagTypes tagType); + ~MpegFileTagModel(); + const QString name(); + QList keys(); + const QString value(Qmmp::MetaData key); + void setValue(Qmmp::MetaData key, const QString &value); + bool exists(); + void create(); + void remove(); + void save(); + +private: + QTextCodec *m_codec; + TagLib::MPEG::File *m_file; + TagLib::Tag *m_tag; + TagLib::MPEG::File::TagTypes m_tagType; +}; + +#endif // MPEGMETADATAMODEL_H diff --git a/src/plugins/Input/mad/translations/mad_plugin_cs.ts b/src/plugins/Input/mad/translations/mad_plugin_cs.ts index f2279648e..be0ed634a 100644 --- a/src/plugins/Input/mad/translations/mad_plugin_cs.ts +++ b/src/plugins/Input/mad/translations/mad_plugin_cs.ts @@ -14,231 +14,107 @@ Soubory MPEG - + About MPEG Audio Plugin O modulu MPEG - + Qmmp MPEG Audio Plugin Vstupní modul Qmmp MPEG - + Compiled against libmad version: Zkompilováno s libmad verze: - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Autor: Ilja Kotov <forkotov02@hotmail.ru> - + Source code based on mq3 progect Zdrojový kód je založen na projektu mq3 - DetailsDialog + MPEGMetaDataModel - + Format - Formát - - - - kbps - kbps + Formát - + Bitrate - Datový tok + Datový tok - - Hz - Hz + + kbps + kbps - + Samplerate - Vzorkovací frekvence + Vzorkovací frekvence + + + + Hz + Hz - - - - + + + + Mode - Režim + Režim - + KB - KB + KB - + File size - Velikost souboru + Velikost souboru - - - - Yes - Ano + + + Protection + Ochrana - - - Protection - Ochrana + + + + Yes + Ano - - - + + + No - Ne + Ne - - + + Copyright - Copyright + Copyright - - + + Original - Originál - - - - Details - Podrobnosti - - - - - - - - - - - Save - Uložit - - - - Year: - Rok: - - - - Genre: - Žánr: - - - - Tags - Tagy - - - - Audio Properties - Vlastnosti - - - - Composer: - Skladatel: - - - - Disc number: - Číslo disku: - - - - - - ? - ? - - - - Track: - Stopa: - - - - Comment: - Komentář: - - - - Album: - Album: - - - - Artist: - Umělec: - - - - Title: - Název: - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;"></p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;"></p></body></html> - - - - Close - Zavřít - - - - - - ID3v1 - ID3v1 - - - - - ID3v2 - ID3v2 - - - - - APE - APE - - - - Create - Vytvořit - - - - Delete - Odstranit + Originál diff --git a/src/plugins/Input/mad/translations/mad_plugin_de.ts b/src/plugins/Input/mad/translations/mad_plugin_de.ts index c4b39054a..49b3ac77d 100644 --- a/src/plugins/Input/mad/translations/mad_plugin_de.ts +++ b/src/plugins/Input/mad/translations/mad_plugin_de.ts @@ -14,224 +14,107 @@ MPEG-Dateien - + About MPEG Audio Plugin Über MPEG-Audio-Modul - + Qmmp MPEG Audio Plugin Qmmp MPEG-Audio-Modul - + Compiled against libmad version: Kompiliert gegen libmad-Version: - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Autor: Ilya Kotov <forkotov02@hotmail.ru> - + Source code based on mq3 progect Quellcode basiert auf dem mq3-Projekt - DetailsDialog + MPEGMetaDataModel - + Format - Format - - - - kbps - kbps + Format - + Bitrate - Bitrate + Bitrate - - Hz - Hz + + kbps + kbps - + Samplerate - Abtastrate + Abtastrate + + + + Hz + Hz - - - - + + + + Mode - Modus + Modus - + KB - KB + KB - + File size - Dateigröße + Dateigröße - - - - Yes - Ja + + + Protection + Geschützt - - - Protection - Geschützt + + + + Yes + Ja - - - + + + No - Nein + Nein - - + + Copyright - Copyright + Copyright - - + + Original - - - - - - - - - - - - Save - Speichern - - - - Year: - Jahr: - - - - Genre: - Genre: - - - - Tags - Tags - - - - Disc number: - CD-Nummer: - - - - Composer: - Komponist: - - - - Track: - Stück: - - - - Comment: - Kommentar: - - - - Album: - Album: - - - - Artist: - Interpret: - - - - Title: - Titel: - - - - Details - Details - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - - - - Audio Properties - Audio-Eigenschaften - - - - Close - Schließen - - - - - - ID3v1 - ID3v1 - - - - - ID3v2 - ID3v2 - - - - - APE - APE - - - - Create - Erstellen - - - - Delete - Löschen + diff --git a/src/plugins/Input/mad/translations/mad_plugin_it.ts b/src/plugins/Input/mad/translations/mad_plugin_it.ts index f5dbd9405..db8dfb39f 100644 --- a/src/plugins/Input/mad/translations/mad_plugin_it.ts +++ b/src/plugins/Input/mad/translations/mad_plugin_it.ts @@ -14,221 +14,108 @@ Brani MPEG - + About MPEG Audio Plugin Info sul modulo audio MPEG - + Qmmp MPEG Audio Plugin Modulo audio MPEG per Qmmp - + Compiled against libmad version: Compilato con libmad-Version: - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Autore: Ilya Kotov <forkotov02@hotmail.ru> - + Source code based on mq3 progect Codice sorgente basato sul progetto mq3 - DetailsDialog + MPEGMetaDataModel - + Format - - kbps - kbps - - - + Bitrate - - Hz - Hz + + kbps + kbps - + Samplerate - - - - + + Hz + Hz + + + + + + Mode - + KB - KB + KB - + File size - - - - Yes - - - - - + + Protection - - - + + + + Yes + + + + + + No - No + No - - + + Copyright - - + + Original - - - - - - - - - - Save - Salva - - - - Year: - Anno: - - - - Genre: - Genere: - - - - Tags - - - - - Disc number: - - - - - Composer: - - - - - Track: - - - - - Comment: - Commento: - - - - Album: - Album: - - - - Artist: - Interprete: - - - - Title: - Titolo: - - - - Details - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - - - - - Audio Properties - - - - - Close - Chiudi - - - - - - ID3v1 - ID3v1 - - - - - ID3v2 - ID3v2 - - - - - APE - APE - - - - Create - Crea - - - - Delete - Elimina - SettingsDialog diff --git a/src/plugins/Input/mad/translations/mad_plugin_lt.ts b/src/plugins/Input/mad/translations/mad_plugin_lt.ts index e6b8b7db8..13de2c57b 100644 --- a/src/plugins/Input/mad/translations/mad_plugin_lt.ts +++ b/src/plugins/Input/mad/translations/mad_plugin_lt.ts @@ -14,221 +14,108 @@ MPEG bylos - + About MPEG Audio Plugin Apie MPEG audio įskiepį - + Qmmp MPEG Audio Plugin Qmmp MPEG įskiepis - + Compiled against libmad version: Sukurta libmad pagrindu: - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Sukūrė: Ilya Kotov <forkotov02@hotmail.ru> - + Source code based on mq3 progect Išvesties kodas sukurtas mq3 pagrindu - DetailsDialog + MPEGMetaDataModel - + Format - + Bitrate - - Hz - Hz + + kbps + kbps - + Samplerate - - - - - Mode - - - - - File size - - - - - - - Yes - Taip - - - - - Protection - - - - - - - No - Ne - - - - - Copyright - - - - - - Original - - - - - Save - Išsaugoti - - - - Year: - Metai: - - - - Details - - - - - Genre: - Žanras: + + Hz + Hz - - Tags + + + + + Mode - - Comment: - Komentaras: - - - - Album: - Albumas: - - - - Artist: - Atlikėjas: - - - - Title: - Pavadinimas: - - - - Close - Užverti - - - - - - - - - + KB - КB - - - - kbps - kbps - - - - - - ID3v1 - ID3v1 - - - - - ID3v2 - ID3v2 + КB - - - APE + + File size - - Disc number: + + + Protection - - Composer: - + + + + Yes + Taip - - Track: - + + + + No + Ne - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> + + + Copyright - - Audio Properties + + + Original - - - Create - sukurti - - - - Delete - Ištrinti - SettingsDialog diff --git a/src/plugins/Input/mad/translations/mad_plugin_pl.ts b/src/plugins/Input/mad/translations/mad_plugin_pl.ts index 24369cb28..8cddd1647 100644 --- a/src/plugins/Input/mad/translations/mad_plugin_pl.ts +++ b/src/plugins/Input/mad/translations/mad_plugin_pl.ts @@ -14,220 +14,107 @@ Pliki MPEG - + About MPEG Audio Plugin O wtyczce Audio MPEG - + Qmmp MPEG Audio Plugin Wtyczka MPEG Audio dla Qmmp - + Compiled against libmad version: Skompilowane przy użyciu biblioteki libmad w wersji: - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Autor: Ilja Kotov <forkotov02@hotmail.ru> - + Source code based on mq3 progect Kod źródłowy oparty na projekcie mq3 - DetailsDialog + MPEGMetaDataModel - + Format - Format + Format - - kbps - - - - + Bitrate - Szybkość transmisji + Szybkość transmisji - - Hz - + + kbps + - + Samplerate - Próbkowanie + Próbkowanie - - - - + + Hz + + + + + + + Mode - Tryb + Tryb - + KB - + - + File size - Wielkość pliku + Wielkość pliku - - - - Yes - Tak + + + Protection + Zabezpieczenie - - - Protection - Zabezpieczenie + + + + Yes + Tak - - - + + + No - Nie + Nie - - + + Copyright - Prawa autorskie + Prawa autorskie - - + + Original - Oryginał - - - - - - ID3v1 - - - - - - ID3v2 - - - - - - APE - - - - - - - - - - - Title: - Tytuł: - - - - Details - Informacje o pliku - - - - Artist: - Artysta: - - - - Album: - Album: - - - - Comment: - Komentarz: - - - - Year: - Rok: - - - - Tags - Tagi - - - - Disc number: - Numer albumu: - - - - Composer: - Kompozytor: - - - - Genre: - Gatunek: - - - - Track: - Numer utworu: - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - - - - - Audio Properties - Właściwości Audio - - - - Create - Utwórz - - - - Delete - Usuń - - - - Save - Zapisz - - - - Close - Zamknij + Oryginał diff --git a/src/plugins/Input/mad/translations/mad_plugin_ru.ts b/src/plugins/Input/mad/translations/mad_plugin_ru.ts index 39976d1e8..6f337c558 100644 --- a/src/plugins/Input/mad/translations/mad_plugin_ru.ts +++ b/src/plugins/Input/mad/translations/mad_plugin_ru.ts @@ -14,220 +14,107 @@ Файлы MPEG - + About MPEG Audio Plugin Об аудио-модуле MPEG - + Qmmp MPEG Audio Plugin Аудио-модуль MPEG для Qmmp - + Compiled against libmad version: Собрано с версией libmad: - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Разработчик: Илья Котов <forkotov02@hotmail.ru> - + Source code based on mq3 progect Исходный код основан на проекте mq3 - DetailsDialog + MPEGMetaDataModel - + Format - Формат + Формат - + Bitrate - Битовая частота + Битовая частота - - Hz - Гц + + kbps + Кб/с - + Samplerate - Дискретизация - - - - - - - Mode - Режим - - - - File size - Размер файла - - - - - - Yes - Есть - - - - - Protection - Защита - - - - - - No - Нет - - - - - Copyright - Авторские права + Дискретизация - - - Original - Оригинальный - - - - Save - Сохранить - - - - Year: - Год: - - - - Genre: - Жанр: - - - - Tags - Теги - - - - Disc number: - Номер диска: - - - - Composer: - Композитор: - - - - Track: - Трек: - - - - Comment: - Комментарий: - - - - Album: - Альбом: - - - - Artist: - Исполнитель: - - - - Title: - Название: - - - - Details - Иформация - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - - - - - Audio Properties - Свойства аудио - - - - Close - Закрыть + + Hz + Гц - - - - + + + + + Mode + Режим - + KB - Кб + Кб - - kbps - Кб/с + + File size + Размер файла - - - - ID3v1 - ID3v1 + + + Protection + Защита - - - ID3v2 - ID3v2 + + + + Yes + Есть - - - APE - APE + + + + No + Нет - - Create - Создать + + + Copyright + Авторские права - - Delete - Удалить + + + Original + Оригинальный diff --git a/src/plugins/Input/mad/translations/mad_plugin_tr.ts b/src/plugins/Input/mad/translations/mad_plugin_tr.ts index b6cb95e35..6678b4675 100644 --- a/src/plugins/Input/mad/translations/mad_plugin_tr.ts +++ b/src/plugins/Input/mad/translations/mad_plugin_tr.ts @@ -14,221 +14,108 @@ MPEG Dosyaları - + About MPEG Audio Plugin MPEG Ses Eklentisi Hakkında - + Qmmp MPEG Audio Plugin Qmmp MPEG Ses Eklentisi - + Compiled against libmad version: Derlendiği libmad sürümü: - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Yazan: Ilya Kotov <forkotov02@hotmail.ru> - + Source code based on mq3 progect Kaynak kodu mq3 projesi temellidir - DetailsDialog + MPEGMetaDataModel - + Format - - kbps + + Bitrate - - Bitrate + + kbps - - Hz + + Samplerate - - Samplerate + + Hz - - - - + + + + Mode - + KB - + File size - - - - Yes + + + Protection - - - Protection + + + + Yes - - - + + + No - - + + Copyright - - + + Original - - - - - ID3v1 - ID3v1 - - - - - ID3v2 - ID3v2 - - - - - APE - APE - - - - - - - - - - Title: - - - - - Details - - - - - Artist: - - - - - Album: - - - - - Comment: - - - - - Year: - - - - - Tags - - - - - Disc number: - - - - - Composer: - - - - - Genre: - - - - - Track: - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - - - - - Audio Properties - - - - - Create - - - - - Delete - - - - - Save - - - - - Close - - SettingsDialog diff --git a/src/plugins/Input/mad/translations/mad_plugin_uk_UA.ts b/src/plugins/Input/mad/translations/mad_plugin_uk_UA.ts index a0cbbc579..de32bc3e3 100644 --- a/src/plugins/Input/mad/translations/mad_plugin_uk_UA.ts +++ b/src/plugins/Input/mad/translations/mad_plugin_uk_UA.ts @@ -14,220 +14,107 @@ Файли MPEG - + About MPEG Audio Plugin Про аудіо-модуль MPEG - + Qmmp MPEG Audio Plugin Аудіо-модуль MPEG для Qmmp - + Compiled against libmad version: Зібрано з версією libmad: - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Розробник: Ілля Котов <forkotov02@hotmail.ru> - + Source code based on mq3 progect Вихідний код базується на проекті mq3 - DetailsDialog + MPEGMetaDataModel - + Format - Формат + Формат - + Bitrate - Бітрейт + Бітрейт - - Hz - Гц + + kbps + Кб/с - + Samplerate - Частота - - - - - - - Mode - Режим - - - - File size - Розмір файла - - - - - - Yes - Так - - - - - Protection - Захищено - - - - - - No - Ні - - - - - Copyright - Авторське право + Частота - - - Original - Оригінал - - - - Save - Зберегти - - - - Year: - Рік: - - - - Genre: - Жанр: - - - - Tags - Теги - - - - Disc number: - Номер диска: - - - - Composer: - Композитор: - - - - Track: - Доріжка: - - - - Comment: - Коментар: - - - - Album: - Альбом: - - - - Artist: - Виконавець: - - - - Title: - Назва: - - - - Details - Інформація - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - - - - - Audio Properties - Властивості аудіо - - - - Close - Закрити + + Hz + Гц - - - - - + + + + + Mode + Режим - + KB - Кб + Кб - - kbps - Кб/с + + File size + Розмір файла - - - - ID3v1 - ID3v1 + + + Protection + Захищено - - - ID3v2 - ID3v2 + + + + Yes + Так - - - APE - APE + + + + No + Ні - - Create - Створити + + + Copyright + Авторське право - - Delete - Видалити + + + Original + Оригінал diff --git a/src/plugins/Input/mad/translations/mad_plugin_zh_CN.ts b/src/plugins/Input/mad/translations/mad_plugin_zh_CN.ts index 0115b47f4..f25bbaf63 100644 --- a/src/plugins/Input/mad/translations/mad_plugin_zh_CN.ts +++ b/src/plugins/Input/mad/translations/mad_plugin_zh_CN.ts @@ -14,221 +14,108 @@ MPEG 文件 - + About MPEG Audio Plugin 关于 MPEG 音频插件 - + Qmmp MPEG Audio Plugin Qmmp MPEG 音频插件 - + Compiled against libmad version: 编译基于 libmad 的版本: - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> 作者:Ilya Kotov <forkotov02@hotmail.ru> - + Source code based on mq3 progect 源代码基于 mq3 项目 - DetailsDialog + MPEGMetaDataModel - + Format - + Bitrate - - Hz - Hz + + kbps + kbps - + Samplerate - - - - - Mode - - - - - File size - - - - - - - Yes - - - - - - Protection - - - - - - - No - - - - - - Copyright - - - - - - Original - - - - - Save - 保存 - - - - Year: - 年代: - - - - Genre: - 流派: + + Hz + Hz - - Tags + + + + + Mode - - Disc number: - + + KB + KB - - Composer: + + File size - - Track: + + + Protection - - Comment: - 备注: - - - - Album: - 专辑: - - - - Artist: - 艺术家: - - - - Title: - 标题: + + + + Yes + - - Details - + + + + No + - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> + + + Copyright - - Audio Properties + + + Original - - - Close - 关闭 - - - - - - - - - - - KB - KB - - - - kbps - kbps - - - - - - ID3v1 - ID3v1 - - - - - ID3v2 - ID3v2 - - - - - APE - APE - - - - Create - 创建 - - - - Delete - 删除 - SettingsDialog diff --git a/src/plugins/Input/mad/translations/mad_plugin_zh_TW.ts b/src/plugins/Input/mad/translations/mad_plugin_zh_TW.ts index fcb947694..67f9691f0 100644 --- a/src/plugins/Input/mad/translations/mad_plugin_zh_TW.ts +++ b/src/plugins/Input/mad/translations/mad_plugin_zh_TW.ts @@ -14,221 +14,108 @@ MPEG 檔案 - + About MPEG Audio Plugin 關於 MPEG 聲訊插件 - + Qmmp MPEG Audio Plugin Qmmp MPEG 聲訊插件 - + Compiled against libmad version: 編譯基於 libmad 的版本: - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> 作者:Ilya Kotov <forkotov02@hotmail.ru> - + Source code based on mq3 progect 源碼基於 mq3 項目 - DetailsDialog + MPEGMetaDataModel - + Format - + Bitrate - - Hz - Hz + + kbps + kbps - + Samplerate - - - - - Mode - - - - - File size - - - - - - - Yes - - - - - - Protection - - - - - - - No - - - - - - Copyright - - - - - - Original - - - - - Save - 儲存 - - - - Year: - 年代: - - - - Genre: - 流派: + + Hz + Hz - - Tags + + + + + Mode - - Disc number: - + + KB + KB - - Composer: + + File size - - Track: + + + Protection - - Comment: - 備註: - - - - Album: - 專輯: - - - - Artist: - 藝術家: - - - - Title: - 標題: + + + + Yes + - - Details - + + + + No + - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> + + + Copyright - - Audio Properties + + + Original - - - Close - 關閉 - - - - - - - - - - - KB - KB - - - - kbps - kbps - - - - - - ID3v1 - ID3v1 - - - - - ID3v2 - ID3v2 - - - - - APE - APE - - - - Create - 建立 - - - - Delete - 移除 - SettingsDialog diff --git a/src/plugins/Input/modplug/decoder_modplug.cpp b/src/plugins/Input/modplug/decoder_modplug.cpp index c33716f28..bee4feed4 100644 --- a/src/plugins/Input/modplug/decoder_modplug.cpp +++ b/src/plugins/Input/modplug/decoder_modplug.cpp @@ -113,7 +113,7 @@ int DecoderModPlug::bitrate() qint64 DecoderModPlug::readAudio(char *audio, qint64 maxSize) { long len = m_soundFile->Read (audio, qMin((qint64)Buffer::size(), maxSize)) * m_sampleSize; - if (m_usePreamp) + /*if (m_usePreamp) { { //apply preamp @@ -143,7 +143,7 @@ qint64 DecoderModPlug::readAudio(char *audio, qint64 maxSize) } } } - } + }*/ return len; } -- cgit v1.2.3-13-gbd6f