diff options
Diffstat (limited to 'kfile-plugins/mpc')
-rw-r--r-- | kfile-plugins/mpc/Makefile.am | 22 | ||||
-rw-r--r-- | kfile-plugins/mpc/configure.in.in | 1 | ||||
-rw-r--r-- | kfile-plugins/mpc/kfile_mpc.cpp | 253 | ||||
-rw-r--r-- | kfile-plugins/mpc/kfile_mpc.desktop | 56 | ||||
-rw-r--r-- | kfile-plugins/mpc/kfile_mpc.h | 49 |
5 files changed, 0 insertions, 381 deletions
diff --git a/kfile-plugins/mpc/Makefile.am b/kfile-plugins/mpc/Makefile.am deleted file mode 100644 index 11a639e7..00000000 --- a/kfile-plugins/mpc/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -## Makefile.am for MPC file meta info plugin - -# set the include path for X, qt, KDE and TagLib -INCLUDES = $(all_includes) $(taglib_includes) - -# these are the headers for your project -noinst_HEADERS = kfile_mpc.h - -kde_module_LTLIBRARIES = kfile_mpc.la - -kfile_mpc_la_SOURCES = kfile_mpc.cpp -kfile_mpc_la_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_KIO) -ltdetexteditor $(taglib_libs) -module $(KDE_PLUGIN) -kfile_mpc_la_LIBADD = $(LIB_KIO) - -# let automoc handle all of the meta source files (moc) -METASOURCES = AUTO - -messages: rc.cpp - $(XGETTEXT) kfile_mpc.cpp -o $(podir)/kfile_mpc.pot - -services_DATA = kfile_mpc.desktop -servicesdir = $(kde_servicesdir) diff --git a/kfile-plugins/mpc/configure.in.in b/kfile-plugins/mpc/configure.in.in deleted file mode 100644 index 6590e6c5..00000000 --- a/kfile-plugins/mpc/configure.in.in +++ /dev/null @@ -1 +0,0 @@ -AM_CONDITIONAL(include_mpc_SUBDIR, test "x$have_taglib_mpc" = xyes) diff --git a/kfile-plugins/mpc/kfile_mpc.cpp b/kfile-plugins/mpc/kfile_mpc.cpp deleted file mode 100644 index 830feb54..00000000 --- a/kfile-plugins/mpc/kfile_mpc.cpp +++ /dev/null @@ -1,253 +0,0 @@ -/* This file is part of the KDE project - * Copyright (C) 2003-2004 Allan Sandfeld Jensen <kde@carewolf.com> - * - * Originally based upon the kfile_ogg plugin: - * Copyright (C) 2001, 2002 Rolf Magnus <ramagnus@kde.org> - * Interfacing to TagLib is copied from kfile_mp3 plugin: - * Copyright (C) 2003 Scott Wheeler <wheeler@kde.org> - * - * 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 version 2. - * - * 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; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include "kfile_mpc.h" - -#include <tqcstring.h> -#include <tqfile.h> -#include <tqdatetime.h> -#include <tqdict.h> -#include <tqvalidator.h> -#include <tqfileinfo.h> - -#include <kdebug.h> -#include <kurl.h> -#include <kprocess.h> -#include <klocale.h> -#include <kgenericfactory.h> -#include <ksavefile.h> - -#include <tstring.h> -#include <tfile.h> -#include <mpcfile.h> -#include <tag.h> - -#include <sys/stat.h> -#include <unistd.h> -#include <ctype.h> - -K_EXPORT_COMPONENT_FACTORY(kfile_mpc, KGenericFactory<KMpcPlugin>("kfile_mpc")) - -KMpcPlugin::KMpcPlugin( TQObject *parent, const char *name, - const TQStringList &args ) - : KFilePlugin( parent, name, args ) -{ - kdDebug(7034) << "mpc plugin\n"; - - KFileMimeTypeInfo* info = addMimeTypeInfo( "audio/x-musepack" ); - - KFileMimeTypeInfo::GroupInfo* group = 0; - - // comment group - group = addGroupInfo(info, "Comment", i18n("Comment")); - setAttributes(group, KFileMimeTypeInfo::Addable | - KFileMimeTypeInfo::Removable); - - KFileMimeTypeInfo::ItemInfo* item = 0; - - item = addItemInfo(group, "Artist", i18n("Artist"), TQVariant::String); - setHint(item, KFileMimeTypeInfo::Author); - setAttributes(item, KFileMimeTypeInfo::Modifiable); - - item = addItemInfo(group, "Title", i18n("Title"), TQVariant::String); - setHint(item, KFileMimeTypeInfo::Name); - setAttributes(item, KFileMimeTypeInfo::Modifiable); - - item = addItemInfo(group, "Album", i18n("Album"), TQVariant::String); - setAttributes(item, KFileMimeTypeInfo::Modifiable); - - item = addItemInfo(group, "Genre", i18n("Genre"), TQVariant::String); - setAttributes(item, KFileMimeTypeInfo::Modifiable); - - item = addItemInfo(group, "Tracknumber", i18n("Track Number"), TQVariant::String); - setAttributes(item, KFileMimeTypeInfo::Modifiable); - - item = addItemInfo(group, "Date", i18n("Date"), TQVariant::String); - setAttributes(item, KFileMimeTypeInfo::Modifiable); - - item = addItemInfo(group, "Description", i18n("Description"), TQVariant::String); - setAttributes(item, KFileMimeTypeInfo::Modifiable); - - item = addItemInfo(group, "Organization", i18n("Organization"), TQVariant::String); - setAttributes(item, KFileMimeTypeInfo::Modifiable); - - item = addItemInfo(group, "Location", i18n("Location"), TQVariant::String); - setAttributes(item, KFileMimeTypeInfo::Modifiable); - - item = addItemInfo(group, "Copyright", i18n("Copyright"), TQVariant::String); - setAttributes(item, KFileMimeTypeInfo::Modifiable); - - - addVariableInfo(group, TQVariant::String, KFileMimeTypeInfo::Addable | - KFileMimeTypeInfo::Removable | - KFileMimeTypeInfo::Modifiable); - - // technical group - group = addGroupInfo(info, "Technical", i18n("Technical Details")); - setAttributes(group, 0); - - addItemInfo(group, "Channels", i18n("Channels"), TQVariant::Int); - - addItemInfo(group, "Version", i18n("Version"), TQVariant::Int); - - item = addItemInfo(group, "Sample Rate", i18n("Sample Rate"), TQVariant::Int); - setSuffix(item, i18n(" Hz")); - - item = addItemInfo(group, "Bitrate", i18n("Average Bitrate"), - TQVariant::Int); - setAttributes(item, KFileMimeTypeInfo::Averaged); - setHint(item, KFileMimeTypeInfo::Bitrate); - setSuffix(item, i18n( " kbps")); - - item = addItemInfo(group, "Length", i18n("Length"), TQVariant::Int); - setAttributes(item, KFileMimeTypeInfo::Cummulative); - setHint(item, KFileMimeTypeInfo::Length); - setUnit(item, KFileMimeTypeInfo::Seconds); -} - -bool KMpcPlugin::readInfo( KFileMetaInfo& info, uint what ) -{ - - bool readComment = false; - bool readTech = false; - if (what & (KFileMetaInfo::Fastest | - KFileMetaInfo::DontCare | - KFileMetaInfo::ContentInfo)) readComment = true; - - if (what & (KFileMetaInfo::Fastest | - KFileMetaInfo::DontCare | - KFileMetaInfo::TechnicalInfo)) readTech = true; - - if ( info.path().isEmpty() ) // remote file - return false; - - TagLib::File *file = new TagLib::MPC::File(TQFile::encodeName(info.path()).data(), readTech); - - if (!file->isOpen()) - { - kdDebug(7034) << "Couldn't open " << file->name() << endl; - delete file; - return false; - } - - if(readComment) - { - KFileMetaInfoGroup commentgroup = appendGroup(info, "Comment"); - - TQString date = file->tag()->year() > 0 ? TQString::number(file->tag()->year()) : TQString(); - TQString track = file->tag()->track() > 0 ? TQString::number(file->tag()->track()) : TQString(); - - appendItem(commentgroup, "Title", TQString(TStringToQString(file->tag()->title())).stripWhiteSpace()); - appendItem(commentgroup, "Artist", TQString(TStringToQString(file->tag()->artist())).stripWhiteSpace()); - appendItem(commentgroup, "Album", TQString(TStringToQString(file->tag()->album())).stripWhiteSpace()); - appendItem(commentgroup, "Date", date); - appendItem(commentgroup, "Comment", TQString(TStringToQString(file->tag()->comment())).stripWhiteSpace()); - appendItem(commentgroup, "Tracknumber", track); - appendItem(commentgroup, "Genre", TQString(TStringToQString(file->tag()->genre())).stripWhiteSpace()); - } - - if (readTech) - { - KFileMetaInfoGroup techgroup = appendGroup(info, "Technical"); - TagLib::MPC::Properties *properties = - (TagLib::MPC::Properties*)(file->audioProperties()); - - appendItem(techgroup, "Bitrate", properties->bitrate()); - appendItem(techgroup, "Sample Rate", properties->sampleRate()); - appendItem(techgroup, "Channels", properties->channels()); - appendItem(techgroup, "Length", properties->length()); - appendItem(techgroup, "Version", properties->mpcVersion()); - } - - delete file; - return true; - -} - -/** - * Do translation between KFileMetaInfo items and TagLib::String in a tidy way. - */ - -class Translator -{ -public: - Translator(const KFileMetaInfo &info) : m_info(info) {} - TagLib::String operator[](const char *key) const - { - return QStringToTString(m_info["Comment"][key].value().toString()); - } - int toInt(const char *key) const - { - return m_info["Comment"][key].value().toInt(); - } -private: - const KFileMetaInfo &m_info; -}; - -bool KMpcPlugin::writeInfo(const KFileMetaInfo& info) const -{ - TagLib::File *file; - - if (!TagLib::File::isWritable(TQFile::encodeName(info.path()).data())) { - kdDebug(7034) << "can't write to " << info.path() << endl; - return false; - } - - file = new TagLib::MPC::File(TQFile::encodeName(info.path()).data(), false); - - if(!file->isOpen()) - { - kdDebug(7034) << "couldn't open " << info.path() << endl; - delete file; - return false; - } - - Translator t(info); - - file->tag()->setTitle(t["Title"]); - file->tag()->setArtist(t["Artist"]); - file->tag()->setAlbum(t["Album"]); - file->tag()->setYear(t.toInt("Date")); - file->tag()->setComment(t["Comment"]); - file->tag()->setTrack(t.toInt("Tracknumber")); - file->tag()->setGenre(t["Genre"]); - - file->save(); - - delete file; - return true; -} - -TQValidator* KMpcPlugin::createValidator( const TQString&, - const TQString &group, const TQString &key, - TQObject* parent, const char* name) const -{ - if(key == "Tracknumber" || key == "Date") - { - return new TQIntValidator(0, 9999, parent, name); - } - else - return new TQRegExpValidator(TQRegExp(".*"), parent, name); -} - -#include "kfile_mpc.moc" diff --git a/kfile-plugins/mpc/kfile_mpc.desktop b/kfile-plugins/mpc/kfile_mpc.desktop deleted file mode 100644 index f2dceec0..00000000 --- a/kfile-plugins/mpc/kfile_mpc.desktop +++ /dev/null @@ -1,56 +0,0 @@ -[Desktop Entry] -Type=Service -Name=Musepack Info -Name[bg]=Информация за Musepack -Name[br]=Titouroù Musepack -Name[bs]=Musepack informacije -Name[ca]=Informació Musepack -Name[cs]=Musepack info -Name[de]=Musepack-Info -Name[el]=Πληροφορίες Musepack -Name[eo]=epack-informo -Name[es]=Info Musepack -Name[et]=Musepacki info -Name[eu]=Musepack informazioa -Name[fa]=اطلاعات Musepack -Name[fi]=Musepack-tiedot -Name[fr]=Informations Musepack -Name[ga]=Eolas faoi Musepack -Name[gl]=Información Musepack -Name[he]=מידע Musepack -Name[hu]=Musepack-jellemzők -Name[is]=Musepack upplýsingar -Name[it]=Informazioni Musepack -Name[ja]=Musepack 情報 -Name[kk]=Musepack мәліметі -Name[km]=ព័ត៌មាន Musepack -Name[ko]=Musepack 정보 -Name[lt]=Musepack informacija -Name[mk]=Musepack информации -Name[nb]=Musepack-info -Name[nds]=Musepack-Info -Name[ne]=म्युजप्याक सूचना -Name[nl]=Musepack-informatie -Name[nn]=Musepack-info -Name[pa]=Musepack ਜਾਣਕਾਰੀ -Name[pl]=Informacja Musepack -Name[pt]=Informação do Musepack -Name[pt_BR]=Informações sobre Musepack -Name[ro]=Informaţii Musepack -Name[ru]=Сведения о Musepack -Name[sl]=Podatki o Musepack -Name[sr]=Информације о Musepack-у -Name[sr@Latn]=Informacije o Musepack-u -Name[sv]=Musepack-information -Name[ta]=MP3 தகவல் -Name[th]=ข้อมูล Musepack -Name[tr]=MusePack Bilgisi -Name[uk]=Інформація по Musepack -Name[zh_CN]=Musepack 信息 -Name[zh_HK]=Musepack 資訊 -Name[zh_TW]=Musepack 資訊 -ServiceTypes=KFilePlugin -X-TDE-Library=kfile_mpc -MimeType=audio/x-musepack -PreferredGroups=Comment,Technical -PreferredItems=Title,Artist,Album,Tracknumber,Genre,Bitrate,Length,Channels, Date,Description,Organization,Location,Copyright diff --git a/kfile-plugins/mpc/kfile_mpc.h b/kfile-plugins/mpc/kfile_mpc.h deleted file mode 100644 index c37fa953..00000000 --- a/kfile-plugins/mpc/kfile_mpc.h +++ /dev/null @@ -1,49 +0,0 @@ -/* This file is part of the KDE project - * Copyright (C) 2004 Allan Sandfeld Jensen <kde@carewolf.com> - * - * Originally based upon the kfile_ogg plugin: - * Copyright (C) 2001, 2002 Rolf Magnus <ramagnus@kde.org> - * Interfacing to TagLib is copied from kfile_mp3 plugin: - * Copyright (C) 2003 Scott Wheeler <wheeler@kde.org> - * - * 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 version 2. - * - * 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; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef __KFILE_MPC_H__ -#define __KFILE_MPC_H__ - -#include <kfilemetainfo.h> - -class TQString; -class TQStringList; - -class KMpcPlugin: public KFilePlugin -{ - Q_OBJECT - - -public: - KMpcPlugin( TQObject *parent, const char *name, const TQStringList& args ); - - virtual bool readInfo( KFileMetaInfo& info, uint what); - virtual bool writeInfo( const KFileMetaInfo& info ) const; - virtual TQValidator* createValidator( const TQString& mimetype, - const TQString &group, - const TQString &key, - TQObject* parent, const char* name) const; -}; - - -#endif |