mirror of
https://git.freebsd.org/ports.git
synced 2025-07-17 09:19:15 -04:00
Update to 3.6.1
Add KDE Frameworks 5 (KF5) support and slave port Add regression tests and remove Qt testlib as a hard dependency Make COMMENT more generic since kid3 can tag many different types of files Improve pkg-descr and update WWW
This commit is contained in:
parent
9453399d66
commit
c22b28fe66
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=476239
13 changed files with 305 additions and 82 deletions
|
@ -366,6 +366,7 @@
|
|||
SUBDIR += julius
|
||||
SUBDIR += kexis
|
||||
SUBDIR += kid3-kde4
|
||||
SUBDIR += kid3-kf5
|
||||
SUBDIR += kid3-qt4
|
||||
SUBDIR += kid3-qt5
|
||||
SUBDIR += kio-audiocd-kde4
|
||||
|
|
|
@ -1,76 +1,96 @@
|
|||
# $FreeBSD$
|
||||
|
||||
PORTNAME= kid3
|
||||
PORTVERSION= 3.5.1
|
||||
PORTREVISION?= 2
|
||||
PORTVERSION= 3.6.1
|
||||
PORTREVISION?= 0
|
||||
CATEGORIES= audio kde
|
||||
MASTER_SITES= SF
|
||||
PKGNAMESUFFIX= -${SLAVE}
|
||||
|
||||
MAINTAINER= jhale@FreeBSD.org
|
||||
COMMENT?= MP3/Ogg/FLAC tag editor for KDE
|
||||
COMMENT= Audio file tag editor
|
||||
|
||||
LICENSE= GPLv2+
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
USES= cmake:outsource kde:4 pkgconfig
|
||||
BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/html/docbook.xsl:textproc/docbook-xsl
|
||||
|
||||
USES= cmake:outsource pkgconfig
|
||||
USE_GNOME= libxslt:build
|
||||
USE_LDCONFIG= yes
|
||||
CMAKE_ARGS= -DWITH_DOCBOOKDIR=${LOCALBASE}/share/xsl/docbook \
|
||||
|
||||
CMAKE_ARGS= -DWITH_DOCBOOKDIR="${LOCALBASE}/share/xsl/docbook" \
|
||||
-DWITH_LIBDIR=lib \
|
||||
-DWITH_MANDIR=man \
|
||||
-DWITH_PLUGINSDIR=lib/kid3 \
|
||||
-DFFMPEG_ROOT=${LOCALBASE} \
|
||||
-DWITH_QML=OFF
|
||||
-DFFMPEG_ROOT="${LOCALBASE}" \
|
||||
-DWITH_QML=OFF \
|
||||
-DWITH_APPS="${KID3_APPS:S/ /;/gW}"
|
||||
PLIST_SUB+= SHLIB_VER=${PORTVERSION}
|
||||
|
||||
OPTIONS_DEFINE= CLI ACOUSTID FLAC MP3 MP4 VORBIS TAGLIB PHONON
|
||||
SLAVE?= kde4
|
||||
.if ${SLAVE} == qt4 || ${SLAVE} == qt5
|
||||
# Qt4 and Qt5
|
||||
USES+= desktop-file-utils
|
||||
PLIST_SUB+= KDE="@comment " KDE4="@comment " KF5="@comment " QT="" QT_SUFX="-qt"
|
||||
KID3_APPS+= QT
|
||||
.else
|
||||
# KDE4 and KF5
|
||||
PLIST_SUB+= KDE="" QT="@comment " QT_SUFX=""
|
||||
KID3_APPS+= KDE
|
||||
.endif
|
||||
|
||||
.if ${SLAVE} == kde4 || ${SLAVE} == qt4
|
||||
# KDE4 and Qt4
|
||||
USES+= qt:4
|
||||
USE_QT+= corelib dbus gui network xml \
|
||||
qmake_build moc_build rcc_build uic_build \
|
||||
linguisttools_build
|
||||
CMAKE_ON+= WITH_QT4
|
||||
.else
|
||||
# KF5 and Qt5
|
||||
USES+= qt:5
|
||||
USE_QT+= core dbus gui multimedia network xml widgets \
|
||||
buildtools_build linguisttools_build qmake_build
|
||||
CMAKE_ON+= WITH_QT5
|
||||
OPTIONS_EXCLUDE+= PHONON
|
||||
.endif
|
||||
|
||||
.if ${SLAVE} == kde4
|
||||
# KDE4 only
|
||||
USES+= kde:4
|
||||
USE_KDE+= kdelibs automoc4
|
||||
USE_QT+= svg
|
||||
PLIST_SUB+= KDE4="" KF5="@comment "
|
||||
OPTIONS_SLAVE+= PHONON
|
||||
.elif ${SLAVE} == kf5
|
||||
# KF5 only
|
||||
USES+= desktop-file-utils kde:5
|
||||
USE_KDE+= auth bookmarks codecs completion config configwidgets \
|
||||
coreaddons doctools_build ecm_build itemviews jobwidgets \
|
||||
kio service solid widgetsaddons xmlgui
|
||||
USE_QT+= concurrent
|
||||
PLIST_SUB+= KDE4="@comment " KF5=""
|
||||
.endif
|
||||
|
||||
.for s in kde4 kf5 qt4 qt5
|
||||
. if ${SLAVE} != ${s}
|
||||
CONFLICTS_INSTALL+= kid3-${s}
|
||||
. endif
|
||||
.endfor
|
||||
|
||||
OPTIONS_DEFINE= CLI ACOUSTID FLAC MP3 MP4 VORBIS TAGLIB PHONON TEST
|
||||
OPTIONS_DEFAULT= CLI ACOUSTID FLAC MP3 MP4 VORBIS TAGLIB
|
||||
OPTIONS_SUB= yes
|
||||
NO_OPTIONS_SORT= yes
|
||||
|
||||
.if defined(PKGNAMESUFFIX)
|
||||
# Qt 4 and Qt 5
|
||||
BUILD_DEPENDS+= ${LOCALBASE}/share/xsl/docbook/html/docbook.xsl:textproc/docbook-xsl
|
||||
|
||||
USES+= desktop-file-utils
|
||||
USE_GNOME= libxslt:build
|
||||
CMAKE_ARGS+= -DWITH_APPS="${KID3_CLI}QT"
|
||||
PLIST_SUB+= QT="" KDE="@comment "
|
||||
. if ${PKGNAMESUFFIX} == "-qt5"
|
||||
# Qt 5 only
|
||||
CONFLICTS_INSTALL= kid3-3.* kid3-qt4-3.*
|
||||
USES+= qt:5
|
||||
USE_QT= core dbus gui multimedia network testlib xml widgets \
|
||||
buildtools_build linguisttools_build qmake_build
|
||||
CMAKE_ARGS+= -DWITH_QT5=true
|
||||
OPTIONS_EXCLUDE=PHONON
|
||||
. elif ${PKGNAMESUFFIX} == "-qt4"
|
||||
# Qt 4 only
|
||||
CONFLICTS_INSTALL= kid3-3.* kid3-qt5-3.*
|
||||
USES+= qt:4
|
||||
USE_QT= corelib dbus gui network xml \
|
||||
qmake_build moc_build rcc_build uic_build \
|
||||
linguisttools_build
|
||||
. endif
|
||||
.else
|
||||
# KDE 4 only
|
||||
CONFLICTS_INSTALL= kid3-qt4-3.* kid3-qt5-3.*
|
||||
USES+= qt:4
|
||||
USE_QT= corelib dbus gui network svg xml \
|
||||
qmake_build moc_build rcc_build uic_build \
|
||||
linguisttools_build
|
||||
USE_KDE= kdelibs automoc4
|
||||
CMAKE_ARGS+= -DWITH_APPS="${KID3_CLI}KDE"
|
||||
PLIST_SUB+= QT="@comment " KDE=""
|
||||
OPTIONS_SLAVE= PHONON
|
||||
.endif
|
||||
|
||||
PLIST_SUB+= SHLIB_VER=${PORTVERSION}
|
||||
|
||||
ACOUSTID_LIB_DEPENDS= libchromaprint.so:audio/chromaprint \
|
||||
libavcodec.so:multimedia/ffmpeg
|
||||
ACOUSTID_CMAKE_BOOL= WITH_CHROMAPRINT WITH_FFMPEG
|
||||
|
||||
CLI_DESC= Build and install command line utility
|
||||
CLI_USES= readline
|
||||
CLI_VARS= KID3_CLI=CLI;
|
||||
CLI_USES= python:3.4+,test readline
|
||||
CLI_VARS= KID3_APPS+=CLI
|
||||
|
||||
FLAC_LIB_DEPENDS= libFLAC.so:audio/flac
|
||||
FLAC_CMAKE_BOOL= WITH_FLAC
|
||||
|
@ -81,7 +101,6 @@ MP3_CMAKE_BOOL= WITH_ID3LIB
|
|||
MP4_LIB_DEPENDS= libmp4v2.so:multimedia/mp4v2
|
||||
MP4_CMAKE_BOOL= WITH_MP4V2
|
||||
|
||||
PHONON_USES= qt:4
|
||||
PHONON_USE= QT=phonon
|
||||
PHONON_CMAKE_BOOL= WITH_PHONON
|
||||
|
||||
|
@ -89,6 +108,15 @@ TAGLIB_DESC= Various audio formats support via Taglib
|
|||
TAGLIB_LIB_DEPENDS= libtag.so:audio/taglib
|
||||
TAGLIB_CMAKE_BOOL= WITH_TAGLIB
|
||||
|
||||
TEST_USE= LOCALE=en_US.UTF-8
|
||||
.if ${SLAVE} == qt4 || ${SLAVE} == kde4
|
||||
TEST_USE+= QT=qtestlib_build
|
||||
.else
|
||||
TEST_USE+= QT=testlib_build
|
||||
.endif
|
||||
TEST_WRKSRC= ${BUILD_WRKSRC}/src/test
|
||||
TEST_VARS= KID3_APPS+=TEST
|
||||
|
||||
VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis \
|
||||
libogg.so:audio/libogg
|
||||
VORBIS_CMAKE_BOOL= WITH_VORBIS
|
||||
|
@ -101,4 +129,16 @@ PLIST_SUB+= OGGFLAC=""
|
|||
PLIST_SUB+= OGGFLAC="@comment "
|
||||
.endif
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|aiff|aif|g' ${WRKSRC}/src/test/test_cli_functions.py
|
||||
|
||||
pre-test:
|
||||
@${CP} ${WRKSRC}/src/test/*.py ${TEST_WRKSRC}
|
||||
|
||||
do-test:
|
||||
-@(cd ${TEST_WRKSRC}; ${SETENV} ${TEST_ENV} ./kid3-test)
|
||||
|
||||
do-test-CLI-on:
|
||||
-@(cd ${TEST_WRKSRC}; ${SETENV} ${TEST_ENV} ${PYTHON_CMD} test_cli_functions.py)
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1517047885
|
||||
SHA256 (kid3-3.5.1.tar.gz) = 88c20826deb13f81bcdfa7033a4b9ff9ca8957112b2fa2ccc0a9a1076df73926
|
||||
SIZE (kid3-3.5.1.tar.gz) = 1414829
|
||||
TIMESTAMP = 1524559677
|
||||
SHA256 (kid3-3.6.1.tar.gz) = 4644b2955265920d78c0d689545603a59e5020e98319be74c5b141f5a46976ad
|
||||
SIZE (kid3-3.6.1.tar.gz) = 1428799
|
||||
|
|
30
audio/kid3-kde4/files/patch-CMakeLists.txt
Normal file
30
audio/kid3-kde4/files/patch-CMakeLists.txt
Normal file
|
@ -0,0 +1,30 @@
|
|||
Qt5Test is only needed for running the regression tests.
|
||||
|
||||
--- CMakeLists.txt.orig 2018-04-25 11:23:10 UTC
|
||||
+++ CMakeLists.txt
|
||||
@@ -258,7 +258,9 @@ if (NOT WITH_QT4 AND NOT Qt4_FOUND AND NOT QT4_FOUND)
|
||||
set(Qt5Xml_DIR "${_qt5Dir}/lib/cmake/Qt5Xml")
|
||||
set(Qt5Multimedia_DIR "${_qt5Dir}/lib/cmake/Qt5Multimedia")
|
||||
set(Qt5LinguistTools_DIR "${_qt5Dir}/lib/cmake/Qt5LinguistTools")
|
||||
- set(Qt5Test_DIR "${_qt5Dir}/lib/cmake/Qt5Test")
|
||||
+ if (BUILD_TEST_APP)
|
||||
+ set(Qt5Test_DIR "${_qt5Dir}/lib/cmake/Qt5Test")
|
||||
+ endif (BUILD_TEST_APP)
|
||||
if (WITH_DBUS)
|
||||
set(Qt5DBus_DIR "${_qt5Dir}/lib/cmake/Qt5DBus")
|
||||
endif (WITH_DBUS)
|
||||
@@ -299,9 +301,11 @@ if (NOT WITH_QT4 AND NOT Qt4_FOUND AND NOT QT4_FOUND)
|
||||
endif (Qt5${_qt5Component}_FOUND)
|
||||
endforeach ()
|
||||
find_package(Qt5LinguistTools)
|
||||
- find_package(Qt5Test)
|
||||
- set(QT_QTTEST_LIBRARY Qt5::Test)
|
||||
- set(QT_QTTEST_INCLUDE_DIR ${Qt5Test_INCLUDE_DIRS})
|
||||
+ if (BUILD_TEST_APP)
|
||||
+ find_package(Qt5Test)
|
||||
+ set(QT_QTTEST_LIBRARY Qt5::Test)
|
||||
+ set(QT_QTTEST_INCLUDE_DIR ${Qt5Test_INCLUDE_DIRS})
|
||||
+ endif (BUILD_TEST_APP)
|
||||
if (Qt5DBus_FOUND)
|
||||
set(HAVE_QTDBUS 1)
|
||||
endif (Qt5DBus_FOUND)
|
45
audio/kid3-kde4/files/patch-src_app_kde_kdemainwindow.cpp
Normal file
45
audio/kid3-kde4/files/patch-src_app_kde_kdemainwindow.cpp
Normal file
|
@ -0,0 +1,45 @@
|
|||
Squash startup warnings for KF5 app.
|
||||
|
||||
Shortcut for action "open_directory" "O&pen Directory..." set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead.
|
||||
Shortcut for action "filelist_rename" "&Rename" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead.
|
||||
Shortcut for action "filelist_delete" "&Move to Trash" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead.
|
||||
|
||||
--- src/app/kde/kdemainwindow.cpp.orig 2018-03-18 20:56:24 UTC
|
||||
+++ src/app/kde/kdemainwindow.cpp
|
||||
@@ -162,7 +162,12 @@ void KdeMainWindow::initActions()
|
||||
action = new KAction(KIcon(QLatin1String("document-open")),
|
||||
tr("O&pen Directory..."), this);
|
||||
action->setStatusTip(tr("Opens a directory"));
|
||||
+#if QT_VERSION >= 0x050000
|
||||
+ collection->setDefaultShortcut(action,
|
||||
+ QKeySequence(Qt::CTRL + Qt::Key_D));
|
||||
+#else
|
||||
action->setShortcut(KShortcut(QLatin1String("Ctrl+D")));
|
||||
+#endif
|
||||
collection->addAction(QLatin1String("open_directory"), action);
|
||||
connect(action, SIGNAL(triggered()), impl(), SLOT(slotFileOpenDirectory()));
|
||||
action = new KAction(KIcon(QLatin1String("document-import")),
|
||||
@@ -359,13 +364,23 @@ void KdeMainWindow::initActions()
|
||||
collection->addAction(QLatin1String("filelist_focus"), action);
|
||||
connect(action, SIGNAL(triggered()), form(), SLOT(setFocusFileList()));
|
||||
action = new KAction(tr("&Rename"), this);
|
||||
+#if QT_VERSION >= 0x050000
|
||||
+ collection->setDefaultShortcut(action,
|
||||
+ QKeySequence(Qt::Key_F2));
|
||||
+#else
|
||||
action->setShortcut(QKeySequence(Qt::Key_F2));
|
||||
+#endif
|
||||
action->setShortcutContext(Qt::WidgetShortcut);
|
||||
connect(action, SIGNAL(triggered()), impl(), SLOT(renameFile()));
|
||||
collection->addAction(QLatin1String("filelist_rename"), action);
|
||||
form()->getFileList()->setRenameAction(action);
|
||||
action = new KAction(tr("&Move to Trash"), this);
|
||||
+#if QT_VERSION >= 0x050000
|
||||
+ collection->setDefaultShortcut(action,
|
||||
+ QKeySequence::Delete);
|
||||
+#else
|
||||
action->setShortcut(QKeySequence::Delete);
|
||||
+#endif
|
||||
action->setShortcutContext(Qt::WidgetShortcut);
|
||||
connect(action, SIGNAL(triggered()), impl(), SLOT(deleteFile()));
|
||||
collection->addAction(QLatin1String("filelist_delete"), action);
|
|
@ -0,0 +1,15 @@
|
|||
Fix import of track duration from Discogs.
|
||||
|
||||
--- src/plugins/discogsimport/discogsimporter.cpp.orig 2018-04-18 18:01:00 UTC
|
||||
+++ src/plugins/discogsimport/discogsimporter.cpp
|
||||
@@ -526,8 +526,8 @@ void DiscogsImporter::parseAlbumResults(const QByteArr
|
||||
QRegExp titleRe(QLatin1String(
|
||||
"class=\"tracklist_track_title\"[^>]*>([^<]+)<"));
|
||||
QRegExp durationRe(QLatin1String(
|
||||
- "<td [^>]*class=\"tracklist_track_duration\"[^>]*>(?:<meta[^>]*>)?"
|
||||
- "(?:<span>)?(\\d+):(\\d+)</"));
|
||||
+ "<td [^>]*class=\"tracklist_track_duration\">"
|
||||
+ "(?:<meta[^>]*>)(?:\\s+<span>)(\\d+):(\\d+)</"));
|
||||
QRegExp indexRe(QLatin1String("<td class=\"track_index\">([^<]+)$"));
|
||||
QRegExp rowEndRe(QLatin1String("</td>[\\s\\r\\n]*</tr>"));
|
||||
ImportTrackDataVector::iterator it = trackDataVector.begin();
|
|
@ -0,0 +1,53 @@
|
|||
cmID and xid atoms only supported in mp4v2 >= 2.0.0
|
||||
|
||||
--- src/plugins/mp4v2metadata/m4afile.cpp.orig 2018-04-18 18:01:00 UTC
|
||||
+++ src/plugins/mp4v2metadata/m4afile.cpp
|
||||
@@ -136,6 +136,8 @@ static const struct {
|
||||
{ "geID", Frame::FT_Other },
|
||||
{ "purl", Frame::FT_Other },
|
||||
{ "egid", Frame::FT_Other },
|
||||
+#endif
|
||||
+#if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0200
|
||||
{ "cmID", Frame::FT_Other },
|
||||
{ "xid ", Frame::FT_Other },
|
||||
#endif
|
||||
@@ -346,8 +348,11 @@ static QByteArray getValueByteArray(const char* name,
|
||||
#if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0109
|
||||
} else if (std::strcmp(name, "tvsn") == 0 || std::strcmp(name, "tves") == 0 ||
|
||||
std::strcmp(name, "sfID") == 0 || std::strcmp(name, "cnID") == 0 ||
|
||||
- std::strcmp(name, "atID") == 0 || std::strcmp(name, "geID") == 0 ||
|
||||
- std::strcmp(name, "cmID") == 0) {
|
||||
+ std::strcmp(name, "atID") == 0 || std::strcmp(name, "geID") == 0
|
||||
+#if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0200
|
||||
+ || std::strcmp(name, "cmID") == 0
|
||||
+#endif
|
||||
+ ) {
|
||||
if (size >= 4) {
|
||||
uint val = value[3] + (value[2] << 8) +
|
||||
(value[1] << 16) + (value[0] << 24);
|
||||
@@ -712,11 +717,13 @@ bool M4aFile::writeTags(bool force, bool* renamed, boo
|
||||
} else if (name == QLatin1String("geID")) {
|
||||
uint32_t val = str.toULong();
|
||||
MP4TagsSetGenreID(tags, &val);
|
||||
+#if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0200
|
||||
} else if (name == QLatin1String("cmID")) {
|
||||
uint32_t val = str.toULong();
|
||||
MP4TagsSetComposerID(tags, &val);
|
||||
} else if (name == QLatin1String("xid ")) {
|
||||
MP4TagsSetXID(tags, str);
|
||||
+#endif
|
||||
} else {
|
||||
MP4ItmfItem* item;
|
||||
if (name.length() == 4 &&
|
||||
@@ -1306,7 +1313,10 @@ QStringList M4aFile::getFrameIds(Frame::TagNumber tagN
|
||||
QLatin1String("plID") << QLatin1String("purd") << QLatin1String("rtng") << QLatin1String("sfID") <<
|
||||
QLatin1String("sosn") << QLatin1String("stik") << QLatin1String("tven") <<
|
||||
QLatin1String("tves") << QLatin1String("tvnn") << QLatin1String("tvsh") << QLatin1String("tvsn") <<
|
||||
- QLatin1String("purl") << QLatin1String("egid") << QLatin1String("cmID") << QLatin1String("xid ");
|
||||
+ QLatin1String("purl") << QLatin1String("egid");
|
||||
+#endif
|
||||
+#if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0200
|
||||
+ lst << QLatin1String("cmID") << QLatin1String("xid ");
|
||||
#endif
|
||||
return lst;
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
Fix test to reflect the current data in the MusicBrainz database.
|
||||
|
||||
--- src/test/testmusicbrainzreleaseimporter.cpp.orig 2018-04-18 18:01:00 UTC
|
||||
+++ src/test/testmusicbrainzreleaseimporter.cpp
|
||||
@@ -38,7 +38,7 @@ void TestMusicBrainzReleaseImporter::testQueryAlbums()
|
||||
{
|
||||
queryAlbums(QLatin1String("Wizard"), QLatin1String("Odin"));
|
||||
QStandardItemModel* albumModel = m_importer->getAlbumListModel();
|
||||
- QCOMPARE(albumModel->rowCount(), 3);
|
||||
+ QCOMPARE(albumModel->rowCount(), 4);
|
||||
AlbumListItem* item = static_cast<AlbumListItem*>(albumModel->item(0, 0));
|
||||
QVERIFY(item);
|
||||
QVERIFY(item->type() == AlbumListItem::Type);
|
||||
@@ -53,12 +53,12 @@ void TestMusicBrainzReleaseImporter::testQueryTracks()
|
||||
|
||||
QStringList titles;
|
||||
titles << QLatin1String("The Prophecy") << QLatin1String("Betrayer") << QLatin1String("Dead Hope") << QLatin1String("Dark God")
|
||||
- << QLatin1String("Loki's Punishment") << QLatin1String("Beginning of the End") << QLatin1String("Thor's Hammer")
|
||||
+ << QString::fromUtf8("Loki\u2019s Punishment") << QLatin1String("Beginning of the End") << QString::fromUtf8("Thor\u2019s Hammer")
|
||||
<< QLatin1String("Hall of Odin") << QLatin1String("The Powergod") << QLatin1String("March of the Einheriers")
|
||||
<< QLatin1String("End of All");
|
||||
QStringList lengths;
|
||||
lengths << QLatin1String("5:19") << QLatin1String("4:53") << QLatin1String("6:02") << QLatin1String("5:42") << QLatin1String("5:08") << QLatin1String("4:01") << QLatin1String("5:01")
|
||||
- << QLatin1String("5:06") << QLatin1String("5:21") << QLatin1String("5:40") << QLatin1String("3:53");
|
||||
+ << QLatin1String("5:06") << QLatin1String("5:21") << QLatin1String("5:40") << QLatin1String("3:55");
|
||||
QCOMPARE(m_trackDataModel->rowCount(), 11);
|
||||
for (int row = 0; row < 11; ++row) {
|
||||
QCOMPARE(m_trackDataModel->index(row, 0).data().toString(), lengths.at(row));
|
|
@ -1,4 +1,18 @@
|
|||
Kid3 is an application to edit the ID3v1 and ID3v2 tags in MP3 files in
|
||||
an efficient way. Also tags in Ogg/Vorbis and FLAC files are supported.
|
||||
Kid3 is an efficient audio file tag editor that allows you to easily
|
||||
edit the tags of multiple different types of audio files without having
|
||||
to type the same information repeatedly.
|
||||
|
||||
WWW: http://kid3.sourceforge.net
|
||||
* Edit and convert ID3v1.1 tags and all ID3v2.3 and ID3v2.4 frames
|
||||
* Edit tags in MP3, Ogg/Vorbis, DSF, FLAC, MPC, MP4/AAC, MP2, Opus,
|
||||
Speex, TrueAudio, WavPack, WMA, WAV, AIFF files and tracker
|
||||
modules (MOD, S3M, IT, XM)
|
||||
* Edit tags of multiple files, e.g. the artist, album, year and genre of all
|
||||
files of an album typically have the same values and can be set together
|
||||
* Generate tags from filenames or the contents of tag fields
|
||||
* Generate filenames and rename and create directories from tags
|
||||
* Import from gnudb.org, TrackType.org, MusicBrainz, Discogs, and Amazon
|
||||
* Export tags as CSV, HTML, playlists, Kover XML and other formats
|
||||
* Edit synchronized lyrics and event timing codes, import/export LRC files
|
||||
* Automate tasks using QML/JavaScript, D-Bus or the command-line interface
|
||||
|
||||
WWW: https://kid3.sourceforge.io
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
%%KDE%%bin/kid3
|
||||
bin/kid3%%QT_SUFX%%
|
||||
%%CLI%%bin/kid3-cli
|
||||
%%QT%%bin/kid3-qt
|
||||
lib/libkid3-core.so
|
||||
lib/libkid3-core.so.%%SHLIB_VER%%
|
||||
lib/libkid3-gui.so
|
||||
|
@ -20,30 +19,27 @@ man/de/man1/kid3.1.gz
|
|||
%%CLI%%man/man1/kid3-cli.1.gz
|
||||
%%QT%%man/man1/kid3-qt.1.gz
|
||||
man/man1/kid3.1.gz
|
||||
%%KDE%%share/applications/kde4/kid3.desktop
|
||||
%%KDE4%%share/applications/kde4/kid3.desktop
|
||||
%%KF5%%share/applications/kid3.desktop
|
||||
%%QT%%share/applications/kid3-qt.desktop
|
||||
%%KDE%%share/apps/kid3/kid3ui.rc
|
||||
%%KDE4%%share/apps/kid3/kid3ui.rc
|
||||
%%KDE%%share/dbus-1/interfaces/net.sourceforge.Kid3.xml
|
||||
%%KDE%%share/doc/HTML/de/kid3/common
|
||||
%%KDE4%%share/doc/HTML/de/kid3/common
|
||||
%%KDE%%share/doc/HTML/de/kid3/index.cache.bz2
|
||||
%%KDE%%share/doc/HTML/de/kid3/index.docbook
|
||||
%%KDE%%share/doc/HTML/en/kid3/common
|
||||
%%KDE4%%share/doc/HTML/en/kid3/common
|
||||
%%KDE%%share/doc/HTML/en/kid3/index.cache.bz2
|
||||
%%KDE%%share/doc/HTML/en/kid3/index.docbook
|
||||
%%QT%%share/doc/kid3-qt/kid3_de.html
|
||||
%%QT%%share/doc/kid3-qt/kid3_en.html
|
||||
%%QT%%share/icons/hicolor/128x128/apps/kid3-qt.png
|
||||
%%KDE%%share/icons/hicolor/128x128/apps/kid3.png
|
||||
%%QT%%share/icons/hicolor/16x16/apps/kid3-qt.png
|
||||
%%KDE%%share/icons/hicolor/16x16/apps/kid3.png
|
||||
%%QT%%share/icons/hicolor/32x32/apps/kid3-qt.png
|
||||
%%KDE%%share/icons/hicolor/32x32/apps/kid3.png
|
||||
%%QT%%share/icons/hicolor/48x48/apps/kid3-qt.png
|
||||
%%KDE%%share/icons/hicolor/48x48/apps/kid3.png
|
||||
%%QT%%share/icons/hicolor/64x64/apps/kid3-qt.png
|
||||
%%KDE%%share/icons/hicolor/64x64/apps/kid3.png
|
||||
share/icons/hicolor/128x128/apps/kid3%%QT_SUFX%%.png
|
||||
share/icons/hicolor/16x16/apps/kid3%%QT_SUFX%%.png
|
||||
share/icons/hicolor/32x32/apps/kid3%%QT_SUFX%%.png
|
||||
share/icons/hicolor/48x48/apps/kid3%%QT_SUFX%%.png
|
||||
share/icons/hicolor/64x64/apps/kid3%%QT_SUFX%%.png
|
||||
%%QT%%share/icons/hicolor/scalable/apps/kid3-qt.svg
|
||||
%%KDE%%share/icons/hicolor/scalable/apps/kid3.svgz
|
||||
%%KF5%%share/kxmlgui5/kid3/kid3ui.rc
|
||||
%%DATADIR%%/translations/kid3_cs.qm
|
||||
%%DATADIR%%/translations/kid3_da.qm
|
||||
%%DATADIR%%/translations/kid3_de.qm
|
||||
|
@ -62,5 +58,4 @@ man/man1/kid3.1.gz
|
|||
%%DATADIR%%/translations/kid3_tr.qm
|
||||
%%DATADIR%%/translations/kid3_zh_CN.qm
|
||||
%%DATADIR%%/translations/kid3_zh_TW.qm
|
||||
%%QT%%share/metainfo/kid3-qt.appdata.xml
|
||||
%%KDE%%share/metainfo/kid3.appdata.xml
|
||||
share/metainfo/kid3%%QT_SUFX%%.appdata.xml
|
||||
|
|
6
audio/kid3-kf5/Makefile
Normal file
6
audio/kid3-kf5/Makefile
Normal file
|
@ -0,0 +1,6 @@
|
|||
# $FreeBSD$
|
||||
|
||||
SLAVE= kf5
|
||||
MASTERDIR= ${.CURDIR}/../../audio/kid3-kde4
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
|
@ -1,8 +1,6 @@
|
|||
# $FreeBSD$
|
||||
|
||||
PKGNAMESUFFIX= -qt4
|
||||
SLAVE= qt4
|
||||
MASTERDIR= ${.CURDIR}/../../audio/kid3-kde4
|
||||
|
||||
COMMENT= Qt 4 based MP3/Ogg/FLAC tag editor
|
||||
|
||||
MASTERDIR= ${.CURDIR}/../kid3-kde4
|
||||
.include "${MASTERDIR}/Makefile"
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
# $FreeBSD$
|
||||
|
||||
PKGNAMESUFFIX= -qt5
|
||||
SLAVE= qt5
|
||||
MASTERDIR= ${.CURDIR}/../../audio/kid3-kde4
|
||||
|
||||
COMMENT= Qt 5 based MP3/Ogg/FLAC tag editor
|
||||
|
||||
MASTERDIR= ${.CURDIR}/../kid3-kde4
|
||||
.include "${MASTERDIR}/Makefile"
|
||||
|
|
Loading…
Add table
Reference in a new issue