Hello community, here is the log from the commit of package kid3 for openSUSE:Factory checked in at 2018-08-27 13:00:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kid3 (Old) and /work/SRC/openSUSE:Factory/.kid3.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kid3" Mon Aug 27 13:00:08 2018 rev:21 rq:631642 version:3.6.2 Changes: -------- --- /work/SRC/openSUSE:Factory/kid3/kid3.changes 2018-04-24 15:34:40.702859640 +0200 +++ /work/SRC/openSUSE:Factory/.kid3.new/kid3.changes 2018-08-27 13:00:11.132870934 +0200 @@ -1,0 +2,19 @@ +Sun Aug 26 17:31:09 UTC 2018 - [email protected] + +- update to version 3.6.2 + * Improved: + + Format from tags with custom strings prepended/appended when + replaced format code is not empty %{"t1"code"t2"}. + * Fixed: + + MP4 free form names longer than 4 characters with TagLib. + + Support DOS line endings with "Import CSV". + + Set CTOC and CHAP element ID from values in the frame table. + + Correctly add frame when "Edit" is clicked on non existing + frame. + + Show correct icon in Wayland session. + + Improve editing of ISO date/time values with validation + enabled. + + Bundle OpenSSL libraries with self-contained Linux package. +- Some cleanings in spec file. + +------------------------------------------------------------------- Old: ---- kid3-3.6.1.tar.gz kid3-3.6.1.tar.gz.asc New: ---- kid3-3.6.2.tar.gz kid3-3.6.2.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kid3.spec ++++++ --- /var/tmp/diff_new_pack.hSy305/_old 2018-08-27 13:00:11.976871855 +0200 +++ /var/tmp/diff_new_pack.hSy305/_new 2018-08-27 13:00:11.976871855 +0200 @@ -16,16 +16,8 @@ # -%if 0%{?suse_version} > 1320 || 0%{?sle_version} -%bcond_without build_qt5 -%endif - -%if ! ( 0%{?suse_version} == 1315 && ! 0%{?is_opensuse} ) -%bcond_without build_kde -%endif - Name: kid3 -Version: 3.6.1 +Version: 3.6.2 Release: 0 Summary: Efficient ID3 Tag Editor License: GPL-2.0+ @@ -52,12 +44,9 @@ BuildRequires: pkgconfig(libavutil) BuildRequires: pkgconfig(libchromaprint) BuildRequires: pkgconfig(libswresample) -%if %{with build_qt5} -%if %{with build_kde} BuildRequires: kf5-filesystem BuildRequires: cmake(KF5DocTools) BuildRequires: cmake(KF5KIO) -%endif BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5DBus) BuildRequires: pkgconfig(Qt5Gui) @@ -68,28 +57,11 @@ BuildRequires: pkgconfig(Qt5UiTools) BuildRequires: pkgconfig(Qt5Widgets) BuildRequires: pkgconfig(Qt5Xml) -%else -BuildRequires: libkde4-devel -BuildRequires: libqt4-devel >= 4.7 -%endif -%if 0%{?suse_version} > 1210 BuildRequires: libxslt-tools -%endif -%if 0%{?suse_version} > 1310 BuildRequires: pkgconfig(gstreamer-1.0) -%else -BuildRequires: pkgconfig(gstreamer-0.10) -%endif -%if 0%{?suse_version} BuildRequires: hicolor-icon-theme BuildRequires: update-desktop-files -%endif -%if 0%{?suse_version} > 1210 Requires: libxslt-tools -%endif -%if %{without build_qt5} -%{?kde4_runtime_requires} -%endif %description f you want to easily tag multiple MP3, Ogg/Vorbis, Opus, DSF, FLAC, @@ -179,7 +151,6 @@ This package contains a command line interface for Kid3, for a GUI you can use kid3-qt or kid3. -%if %{with build_kde} %package doc Summary: Documentation for %{name} Group: Productivity/Multimedia/Sound/Utilities @@ -188,8 +159,6 @@ %description doc This package provides documentation and help files for %{name}. -%endif - %package qt-doc Summary: Documentation for %{name}-qt Group: Productivity/Multimedia/Sound/Utilities @@ -215,40 +184,18 @@ options+="-DWITH_LIBDIR=%{_lib}/kid3 -DWITH_PLUGINSDIR=%{_lib}/kid3/plugins " options+="-DWITH_CHROMAPRINT_FFMPEG=ON -DWITH_FFMPEG=ON -DWITH_GSTREAMER=ON " options+="-DWITH_DOCDIR=share/doc/packages/kid3-qt " -%if %{with build_qt5} options+="-DCMAKE_SKIP_RPATH=ON -DWITH_QMLDIR=%{_lib}/qt5/qml/kid3 " -%if %{without build_kde} -%cmake -DWITH_APPS="Qt;CLI" $options -%else %cmake_kf5 -d build -- $options -%endif -%else -%cmake_kde4 -d build -- $options -%endif %make_jobs %install -%if %{with build_qt5} -%if %{without build_kde} -%cmake_install -%else %kf5_makeinstall -C build -%endif -%else -%kde4_makeinstall -C build -%endif -%if %{with build_kde} pushd %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/ gzip -dS .svgz kid3.svgz mv kid3 kid3.svg popd -%endif - -%if %{without build_qt5} -%kde_post_install -%endif %find_lang %{name} %{name}-core.lang --without-kde --with-qt --all-name --without-mo @@ -259,7 +206,7 @@ rm %{buildroot}%{_libdir}/kid3/libkid3-*.so -%if %{with build_kde} +%if 0%{?suse_version} < 1500 %post %desktop_database_post %icon_theme_cache_post @@ -267,7 +214,6 @@ %postun %desktop_database_postun %icon_theme_cache_postun -%endif %post qt %desktop_database_post @@ -276,28 +222,20 @@ %postun qt %desktop_database_postun %icon_theme_cache_postun +%endif %post core -p /sbin/ldconfig %postun core -p /sbin/ldconfig -%if %{with build_kde} %files %defattr(-,root,root,-) %dir %{_datadir}/metainfo -%if %{with build_qt5} %{_kf5_bindir}/kid3 %{_kf5_iconsdir}/hicolor/*/apps/kid3.* %{_kf5_kxmlguidir}/kid3/ -%{_kf5_applicationsdir}/kid3.desktop -%else -%{_kde4_applicationsdir}/kid3.desktop -%{_kde4_appsdir}/kid3/ -%{_kde4_bindir}/kid3 -%{_kde4_iconsdir}/hicolor/*/apps/kid3.* -%endif +%{_kf5_applicationsdir}/net.sourceforge.kid3.desktop %{_datadir}/metainfo/kid3.appdata.xml -%endif %files qt %defattr(-,root,root,-) @@ -317,31 +255,19 @@ %files core %defattr(-,root,root,-) -%doc AUTHORS ChangeLog COPYING LICENSE README kid3.lsm +%doc AUTHORS ChangeLog README kid3.lsm +%license COPYING LICENSE %{_libdir}/kid3/ -%if %{with build_qt5} %{_libdir}/qt5/qml/kid3/ -%else -%{_datadir}/kid3/qml/ -%endif %config %{_sysconfdir}/ld.so.conf.d/kid3.conf -%if %{with build_kde} %{_datadir}/dbus-1/interfaces/net.sourceforge.Kid3.xml -%endif %{_mandir}/man1/kid3.1%{ext_man} %{_mandir}/de/man1/kid3.1%{ext_man} -%if %{with build_kde} %files doc %defattr(-,root,root,-) -%if %{with build_qt5} %doc %{_kf5_htmldir}/de/kid3/ %doc %{_kf5_htmldir}/en/kid3/ -%else -%doc %{_kde4_htmldir}/de/kid3/ -%doc %{_kde4_htmldir}/en/kid3/ -%endif -%endif %files qt-doc %defattr(-,root,root,-) @@ -351,10 +277,5 @@ %defattr(-,root,root,-) %dir %{_datadir}/kid3 %dir %{_datadir}/kid3/translations -%if 0%{?suse_version} < 1230 -%{_datadir}/kid3/translations/[email protected] -%{_datadir}/kid3/translations/[email protected] -%{_datadir}/kid3/translations/[email protected] -%endif %changelog ++++++ kid3-3.6.1.tar.gz -> kid3-3.6.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/CMakeLists.txt new/kid3-3.6.2/CMakeLists.txt --- old/kid3-3.6.1/CMakeLists.txt 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/CMakeLists.txt 2018-08-23 19:28:00.000000000 +0200 @@ -115,7 +115,7 @@ # Version information set(CPACK_PACKAGE_VERSION_MAJOR 3) set(CPACK_PACKAGE_VERSION_MINOR 6) -set(CPACK_PACKAGE_VERSION_PATCH 1) +set(CPACK_PACKAGE_VERSION_PATCH 2) set(KID3_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") set(CPACK_PACKAGE_VERSION ${KID3_VERSION}) #set(CPACK_PACKAGE_VERSION "git20170517") @@ -147,7 +147,7 @@ set(WITH_LIBDIR_DEFAULT ".") set(WITH_PLUGINSDIR_DEFAULT ".") set(QT_ANDROID_APP_VERSION ${KID3_VERSION}) - set(QT_ANDROID_APP_VERSION_CODE 12) + set(QT_ANDROID_APP_VERSION_CODE 13) else (APPLE) set(WITH_DATAROOTDIR_DEFAULT "share") set(WITH_DOCDIR_DEFAULT "share/doc/kid3-qt") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/ChangeLog new/kid3-3.6.2/ChangeLog --- old/kid3-3.6.1/ChangeLog 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/ChangeLog 2018-08-23 19:28:00.000000000 +0200 @@ -1,3 +1,20 @@ +Fri Aug 24 12:15:09 CEST 2018 Urs Fleisch <[email protected]> + + * Release 3.6.2 + + * Improved: + + Format from tags with custom strings prepended/appended when + replaced format code is not empty %{"t1"code"t2"}. + + * Fixed: + + MP4 free form names longer than 4 characters with TagLib. + + Support DOS line endings with "Import CSV". + + Set CTOC and CHAP element ID from values in the frame table. + + Correctly add frame when "Edit" is clicked on non existing frame. + + Show correct icon in Wayland session. + + Improve editing of ISO date/time values with validation enabled. + + Bundle OpenSSL libraries with self-contained Linux package. + Mon Apr 23 11:26:19 CEST 2018 Urs Fleisch <[email protected]> * Release 3.6.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/Doxyfile new/kid3-3.6.2/Doxyfile --- old/kid3-3.6.1/Doxyfile 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/Doxyfile 2018-08-23 19:28:00.000000000 +0200 @@ -38,7 +38,7 @@ # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 3.6.1 +PROJECT_NUMBER = 3.6.2 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/buildlibs.sh new/kid3-3.6.2/buildlibs.sh --- old/kid3-3.6.1/buildlibs.sh 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/buildlibs.sh 2018-08-23 19:28:00.000000000 +0200 @@ -164,7 +164,7 @@ libvorbis_version=1.3.5 libvorbis_patchlevel=4 ffmpeg_version=3.4.2 -ffmpeg_patchlevel=1 +ffmpeg_patchlevel=2 #libav_version=11.12 #libav_patchlevel=1 libflac_version=1.3.2 @@ -186,7 +186,7 @@ elif test -f osxcross.cmake; then COMPILER=cross-macos QTPREFIX=$(sed -ne '1 s/set(QT_PREFIX \([^)]\+\))/\1/p' osxcross.cmake) - elif test -d openssl-${openssl_version}; then + elif test -f openssl-${openssl_version}/Setenv-android.sh; then COMPILER=cross-android test -f kid3/CMakeCache.txt && QTPREFIX=$(sed -ne 's/^QT_QMAKE_EXECUTABLE[^=]*=\(.*\)\/bin\/qmake$/\1/p' kid3/CMakeCache.txt) @@ -416,7 +416,7 @@ test -f mp4v2_${mp4v2_version}~dfsg0-${mp4v2_patchlevel}.debian.tar.xz || $DOWNLOAD http://ftp.de.debian.org/debian/pool/main/m/mp4v2/mp4v2_${mp4v2_version}~dfsg0-${mp4v2_patchlevel}.debian.tar.xz -if test "$compiler" = "cross-android"; then +if test "$compiler" = "cross-android" || test "$compiler" = "gcc-self-contained"; then # See http://doc.qt.io/qt-5/opensslsupport.html test -f Setenv-android.sh || $DOWNLOAD https://wiki.openssl.org/images/7/70/Setenv-android.sh @@ -2558,6 +2558,13 @@ cd .. fi +elif test "$compiler" = "gcc-self-contained"; then + +if ! test -d openssl-${openssl_version}; then + echo "### Extracting openssl" + tar xzf source/openssl-${openssl_version}.tar.gz +fi + fi # Build from sources @@ -2623,10 +2630,10 @@ if ! test -d kid3; then echo "### Creating kid3 build directory" - mkdir kid3 cat >kid3/build.sh <<EOF -_java_root=/usr/lib/jvm/java-7-openjdk-amd64 +#!/bin/bash +_java_root=(/usr/lib/jvm/java-[78]-openjdk-amd64) _android_sdk_root=$_android_sdk_root _android_ndk_root=$_android_ndk_root _android_abi=$_android_abi @@ -2721,6 +2728,22 @@ done fi + if test "$compiler" = "gcc-self-contained" && test ! -d openssl-${openssl_version}/inst; then + echo "### Building OpenSSL" + + cd openssl-${openssl_version} + ./Configure shared no-ssl3-method enable-ec_nistp_64_gcc_128 linux-x86_64 -Wa,--noexecstack + make depend || true + make build_libs + mkdir -p inst/usr/local/ssl + cp --dereference libssl.so libcrypto.so inst/usr/local/ssl/ + strip -s inst/usr/local/ssl/*.so + cd inst + tar czf ../../bin/openssl-${openssl_version}.tgz usr + cd ../.. + tar xmzf bin/openssl-${openssl_version}.tgz -C $BUILDROOT + fi + if test -n "$ZLIB_ROOT_PATH" && test ! -d zlib-${zlib_version}/inst; then echo "### Building zlib" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/deb/changelog new/kid3-3.6.2/deb/changelog --- old/kid3-3.6.1/deb/changelog 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/deb/changelog 2018-08-23 19:28:00.000000000 +0200 @@ -1,3 +1,9 @@ +kid3 (3.6.2-0) unstable; urgency=low + + * New upstream release. + + -- Urs Fleisch <[email protected]> Fri, 24 Aug 2018 12:15:09 +0200 + kid3 (3.6.1-0) unstable; urgency=low * New upstream release. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/deb/kid3.install new/kid3-3.6.2/deb/kid3.install --- old/kid3-3.6.1/deb/kid3.install 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/deb/kid3.install 2018-08-23 19:28:00.000000000 +0200 @@ -2,7 +2,7 @@ /usr/share/metainfo/kid3.appdata.xml /usr/share/icons/hicolor/*/apps/kid3.* # KDE 5 BEGIN -/usr/share/applications/kid3.desktop +/usr/share/applications/net.sourceforge.kid3.desktop /usr/share/doc/HTML/*/kid3/* /usr/share/kxmlgui5/kid3/kid3ui.rc # KDE 5 END diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/doc/de/index.docbook new/kid3-3.6.2/doc/de/index.docbook --- old/kid3-3.6.1/doc/de/index.docbook 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/doc/de/index.docbook 2018-08-23 19:28:00.000000000 +0200 @@ -27,8 +27,8 @@ </copyright> <legalnotice id="fdl-notice">&FDLNotice;</legalnotice> -<date>2018-04-23</date> -<releaseinfo>3.6.1</releaseinfo> +<date>2018-08-24</date> +<releaseinfo>3.6.2</releaseinfo> <abstract> <para> @@ -463,6 +463,22 @@ </para> <para> +Es ist möglich, zusätzlichen Text vor und nach dem Wert, welcher für einen +Formatcode ersetzt wird, einzufügen indem man diesen in Anführungszeichen +innerhalb der geschwungenen Klammern hinzufügt. Dieser Text wird nur dann +eingefügt, wenn der Wert für den Formatcode nicht leer ist. Als Beispiel +könnte man für einen Dateinamen, welcher sowohl den Titel als auch den +Untertitel enthalten soll, <userinput>%{title} [%{subtitle}]</userinput> als +Format verwenden. Aber dies würde im Falle von nicht vorhandenem Untertitel +dazu führen, dass der resultierende Dateinamen mit +<computeroutput> []</computeroutput> endet. Um diese leeren Klammern am Ende +zu verhindern, kann <userinput>%{title}%{" ["subtitle"]"}</userinput> +verwendet werden. Dieses Format lässt die eckigen Klammern, das führende +Leerzeichen und den Untertitel weg, wenn kein entsprechendes Element vorhanden +ist. +</para> + +<para> Ein zweites <guilabel>Format</guilabel> Auswahlfeld (mit Pfeil runter) wird verwendet, um die Tags aus dem Dateinamen zu generieren. Falls der Dateinamen nicht diesem Format entspricht, werden noch @@ -2189,13 +2205,7 @@ </para> <para> <guilabel>Version für neue Tags</guilabel> legt fest, ob neue ID3v2 Tags mit -der Version 2.3.0 oder 2.4.0 erzeugt werden. Im ersteren Fall wird id3lib -verwendet, TagLib kommt nur dann zum Einsatz, wenn ein ID3v2.4.0 Tag -bearbeitet werden muss. Mit der Einstellung <guilabel>ID3v2.4.0 -(TagLib)</guilabel> wird für MP3-Dateien immer die TagLib verwendet; -veränderte oder neu erstellte Tags werden dann als ID3v2.4.0 gespeichert. -Mit <guilabel>ID3v2.3.0 (TagLib)</guilabel> wird TagLib auch für ID3v2.3.0 -Tags verwendet. +der Version 2.3.0 oder 2.4.0 erzeugt werden. </para> <para> <guilabel>Anzahl der Stellen in Tracknummer</guilabel> bestimmt die Zahl der @@ -2485,25 +2495,22 @@ <listitem><para><guilabel>Id3libMetadata</guilabel>: Benutzt <ulink url="http://id3lib.sourceforge.net">id3lib</ulink> für ID3v1.1 und ID3v2.3 Tags in MP3, MP2 und AAC Dateien; unterstützt einige Frame-Typen -mehr als TagLib. Ein weiterer Grund für die Verwendung ist, dass TagLib -ID3v2.3 erst seit Version 1.8 unterstützt.</para></listitem> +mehr als TagLib.</para></listitem> <listitem><para><guilabel>OggFlacMetadata</guilabel>: Benutzt <ulink url="http://xiph.org/ogg/">libogg</ulink>, <ulink url="http://xiph.org/vorbis/">libvorbis und libvorbisfile</ulink> für Ogg Dateien und zusätzlich <ulink url="http://flac.sourceforge.net">libFLAC++ -und libFLAC</ulink> für FLAC Dateien. Gründe für die Benutzung sind Bilder in -Ogg Dateien - solche werden von TagLib nicht unterstützt - und dass es die -offiziellen Bibliotheken dieser Formate sind.</para></listitem> +und libFLAC</ulink> für FLAC Dateien. Dies sind die offiziellen Bibliotheken +dieser Formate.</para></listitem> <listitem><para><guilabel>TaglibMetadata</guilabel>: Benutzt <ulink url="http://taglib.github.io/">TagLib</ulink>, welche viele -Datei-Formate unterstützt, seit Version 1.8 auch ID3v2.3, so dass sie für -alle Audio-Dateien verwendet werden kann, welche &kid3; unterstützt. +Datei-Formate unterstützt und für alle Audio-Dateien verwendet werden kann, +welche &kid3; unterstützt. </para></listitem> <listitem><para><guilabel>Mp4v2Metadata</guilabel>: <ulink url="http://code.google.com/p/mp4v2">mp4v2</ulink> wurde ursprünglich -von &kid3; für M4A-Dateien verwendet. Mittlerweile ist die Unterstützung von -TagLib für dieses Format so gut, dass dieses Plugin nur erstellt wird, wenn -dies explizit gefordert wird. +von &kid3; für M4A-Dateien verwendet. Kann bei Problemen mit der +M4A-Unterstützung von TagLib verwendet werden. </para></listitem> </itemizedlist> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/doc/en/index.docbook new/kid3-3.6.2/doc/en/index.docbook --- old/kid3-3.6.1/doc/en/index.docbook 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/doc/en/index.docbook 2018-08-23 19:28:00.000000000 +0200 @@ -27,8 +27,8 @@ </copyright> <legalnotice id="fdl-notice">&FDLNotice;</legalnotice> -<date>2018-04-23</date> -<releaseinfo>3.6.1</releaseinfo> +<date>2018-08-24</date> +<releaseinfo>3.6.2</releaseinfo> <abstract> <para> @@ -443,6 +443,20 @@ </para> <para> +It is possible to prepend and append strings to the replacement for a format +code by adding them in double quotes inside the curly braces of a format +code. These strings will only be put into the resulting string if the format +code yields a nonempty value. For example, if the file name shall +both contain the title and the subtitle, one could use +<userinput>%{title} [%{subtitle}]</userinput> in the format string. But this +would result in a string ending with <computeroutput> []</computeroutput> if +no subtitle frame exists for a file. In order to omit the brackets if no +subtitle is present, <userinput>%{title}%{" ["subtitle"]"}</userinput> shall +be used instead. This will omit the brackets, the leading space and the +subtitle if not subtitle exists. +</para> + +<para> A second <guilabel>Format</guilabel> combo box (with arrow down) is used to generate the tags from the filename. If the format of the filename does not match this pattern, a few other commonly used formats @@ -2060,13 +2074,7 @@ </para> <para> <guilabel>Version used for new tags</guilabel> determines whether new ID3v2 -tags are created as version 2.3.0 or 2.4.0. In the first case, id3lib is used -as it was in earlier versions of &kid3; and TagLib is only applied when an -ID3v2.4.0 tag is encountered. In the second case, <guilabel>ID3v2.4.0 -(TagLib)</guilabel>, TagLib is generally used for MP3 files; changed or newly -created tags will then be saved in version 2.4.0. -When <guilabel>ID3v2.3.0 (TagLib)</guilabel> is selected, TagLib is also used -for ID3v2.3.0 tags. +tags are created as version 2.3.0 or 2.4.0. </para> <para> <guilabel>Track number digits</guilabel> is the number of digits in Track @@ -2329,23 +2337,21 @@ <listitem><para><guilabel>Id3libMetadata</guilabel>: Uses <ulink url="http://id3lib.sourceforge.net">id3lib</ulink> for ID3v1.1 and ID3v2.3 tags in MP3, MP2, AAC files. Supports a few more frame types -than TagLib. Another reason to use it is that TagLib only supports -ID3v2.3 since version 1.8.</para></listitem> +than TagLib.</para></listitem> <listitem><para><guilabel>OggFlacMetadata</guilabel>: Uses <ulink url="http://xiph.org/ogg/">libogg</ulink>, <ulink url="http://xiph.org/vorbis/">libvorbis, libvorbisfile</ulink> for Ogg files, and additionally <ulink url="http://flac.sourceforge.net">libFLAC++ -and libFLAC</ulink> for FLAC files. Reasons to use them are pictures in Ogg -files, which are not supported by TagLib and that these are the official +and libFLAC</ulink> for FLAC files. These are the official libraries for these formats.</para></listitem> <listitem><para><guilabel>TaglibMetadata</guilabel>: Uses <ulink url="http://taglib.github.io/">TagLib</ulink> which supports a -lot of audio file formats. Since version 1.8, it also supports ID3v2.3, so it -can be used for all audio files supported by &kid3;.</para></listitem> +lot of audio file formats. It can be used for all audio files supported by +&kid3;.</para></listitem> <listitem><para><guilabel>Mp4v2Metadata</guilabel>: <ulink url="http://code.google.com/p/mp4v2">mp4v2</ulink> was originally used -by &kid3; to support M4A files. However, newer versions of TagLib provide good -M4A support, so this plugin is not built by default. +by &kid3; to support M4A files. Can be used in case of problems with the M4A +support of TagLib. </para></listitem> </itemizedlist> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/kid3.lsm new/kid3-3.6.2/kid3.lsm --- old/kid3-3.6.1/kid3.lsm 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/kid3.lsm 2018-08-23 19:28:00.000000000 +0200 @@ -1,7 +1,7 @@ Begin4 Title: Kid3 -- Efficient Audio Tagger -Version: 3.6.1 -Entered-date: 2018-04-23 +Version: 3.6.2 +Entered-date: 2018-08-24 Description: Audio tagger to edit ID3v1.1, ID3v2.3, ID3v2.4, Ogg/Vorbis, Opus, DSF FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV and AIFF tags, multiple files, generate tags from file names @@ -12,7 +12,7 @@ Home-page: http://kid3.sourceforge.net Alternate-site: http://www.kde-apps.org/content/show.php?content=10415 Primary-site: http://www.sourceforge.net/projects/kid3 - http://prdownloads.sourceforge.net/kid3/kid3-3.6.1.tar.gz?download + http://prdownloads.sourceforge.net/kid3/kid3-3.6.2.tar.gz?download Platform: Linux, Windows. Copying-policy: GPL End diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/kid3.spec new/kid3-3.6.2/kid3.spec --- old/kid3-3.6.1/kid3.spec 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/kid3.spec 2018-08-23 19:28:00.000000000 +0200 @@ -6,7 +6,7 @@ License: GPL Group: Applications/Multimedia Summary: Efficient ID3 tag editor -Version: 3.6.1 +Version: 3.6.2 Release: 1%{?dist} URL: http://kid3.sourceforge.net/ Source0: http://downloads.sourceforge.net/kid3/%{name}-%{version}.tar.gz diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/cs.po new/kid3-3.6.2/po/cs.po --- old/kid3-3.6.1/po/cs.po 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/cs.po 2018-08-23 19:28:00.000000000 +0200 @@ -1,14 +1,13 @@ -# Czech translation of Kid3 +# Kid3 Czech Translation. # This file is put in the public domain. # -# Pavel Fric <[email protected]>, 2009, 2011. +# Pavel Fric <[email protected]>, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016. # Urs Fleisch <[email protected]>, 2010. -# Pavel Fric <[email protected]>, 2010, 2011, 2012, 2013, 2014, 2015, 2016. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2016-12-23 12:48+0100\n" "Last-Translator: Pavel Fric <[email protected]>\n" "Language-Team: Czech <[email protected]>\n" @@ -1522,6 +1521,9 @@ msgid "All Tags" msgstr "Všechny značky" +msgid "Prepend t1/append t2 if not empty" +msgstr "Přepojte t1/připojit t2, pokud není prázdný" + msgid "Truncated" msgstr "Zkrácená" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/da.po new/kid3-3.6.2/po/da.po --- old/kid3-3.6.1/po/da.po 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/da.po 2018-08-23 19:28:00.000000000 +0200 @@ -1,16 +1,18 @@ # Kid3 Danish Translation. +# This file is put in the public domain. # # Martin Eilsøe <[email protected]>, 2017. msgid "" msgstr "" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Language: da_DK\n" -"X-Source-Language: en_GB\n" +"X-Language: da\n" +"X-Source-Language: en\n" "X-Qt-Contexts: \n" msgid "Timeout" @@ -1512,6 +1514,9 @@ msgid "All Tags" msgstr "Alle Tags" +msgid "Prepend t1/append t2 if not empty" +msgstr "Forord t1/tilføj t2 hvis ikke tom" + msgid "Truncated" msgstr "Afbrudte" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/de.po new/kid3-3.6.2/po/de.po --- old/kid3-3.6.1/po/de.po 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/de.po 2018-08-23 19:28:00.000000000 +0200 @@ -1,15 +1,13 @@ -# translation of de.po to English -# translation of de.po to # Kid3 German Translation. -# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# This file is put in the public domain. # # Urs Fleisch <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011. # Frank Steinmetzger <[email protected]>, 2011. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2011-04-26 23:41+0200\n" "Last-Translator: Frank Steinmetzger <[email protected]>\n" "Language-Team: German <[email protected]>\n" @@ -1521,6 +1519,9 @@ msgid "All Tags" msgstr "Alle Tags" +msgid "Prepend t1/append t2 if not empty" +msgstr "t1 voranstellen/t2 anhängen, wenn nicht leer" + msgid "Truncated" msgstr "Abgeschnitten" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/es.po new/kid3-3.6.2/po/es.po --- old/kid3-3.6.1/po/es.po 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/es.po 2018-08-23 19:28:00.000000000 +0200 @@ -1,15 +1,13 @@ -# translation of es.po to English -# translation of es.po to # Kid3 Spanish Translation. -# Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# This file is put in the public domain. # # Sergio Cambra García <[email protected]>, 2004. # Urs Fleisch <[email protected]>, 2005, 2006, 2007, 2008, 2009, 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2011-01-15 17:29+0100\n" "Last-Translator: \n" "Language-Team: Spanish <[email protected]>\n" @@ -1521,6 +1519,9 @@ msgid "All Tags" msgstr "Todas las etiquetas" +msgid "Prepend t1/append t2 if not empty" +msgstr "Anteponer t1/anexar t2 si no está vacío" + msgid "Truncated" msgstr "Truncado" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/et.po new/kid3-3.6.2/po/et.po --- old/kid3-3.6.1/po/et.po 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/et.po 2018-08-23 19:28:00.000000000 +0200 @@ -1,13 +1,13 @@ -# Estonian translation of Kid3 +# Kid3 Estonian Translation. # This file is put in the public domain. # # Mihkel Tõnnov <[email protected]>, 2007–2010, 2014. # Urs Fleisch <[email protected]>, 2010. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2014-01-23 22:00+0200\n" "Last-Translator: Mihkel Tõnnov <[email protected]>\n" "Language-Team: Estonian <[email protected]>\n" @@ -1520,6 +1520,9 @@ msgid "All Tags" msgstr "Kõik sildid" +msgid "Prepend t1/append t2 if not empty" +msgstr "Sisestage t1/lisa t2, kui see pole tühi" + msgid "Truncated" msgstr "Lühikeseks" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/fi.po new/kid3-3.6.2/po/fi.po --- old/kid3-3.6.1/po/fi.po 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/fi.po 2018-08-23 19:28:00.000000000 +0200 @@ -1,4 +1,4 @@ -# Finnish translation of Kid3 +# Kid3 Finnish Translation. # This file is put in the public domain. # # Tommi Nieminen <[email protected]>, 2009. @@ -6,9 +6,9 @@ # Ville Skyttä <[email protected]>, 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2014-01-25 00:31+0200\n" "Last-Translator: Tommi Nieminen <[email protected]>\n" "Language-Team: Finnish <[email protected]>\n" @@ -1520,6 +1520,9 @@ msgid "All Tags" msgstr "Kaikki tunnisteet" +msgid "Prepend t1/append t2 if not empty" +msgstr "Lähetä t1/lisää t2, jos se ei ole tyhjä" + msgid "Truncated" msgstr "Lyhennetyt" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/fr.po new/kid3-3.6.2/po/fr.po --- old/kid3-3.6.1/po/fr.po 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/fr.po 2018-08-23 19:28:00.000000000 +0200 @@ -1,15 +1,13 @@ -# translation of fr.po to English -# translation of fr.po to -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. +# Kid3 French Translation. +# This file is put in the public domain. # # pierre <[email protected]>, 2006. # Urs Fleisch <[email protected]>, 2006, 2007, 2008, 2009, 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2011-01-15 17:32+0100\n" "Last-Translator: \n" "Language-Team: French <[email protected]>\n" @@ -1521,6 +1519,9 @@ msgid "All Tags" msgstr "Toutes les balises" +msgid "Prepend t1/append t2 if not empty" +msgstr "Préfixer t1/ajouter t2 si non vide" + msgid "Truncated" msgstr "Tronqué" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/it.po new/kid3-3.6.2/po/it.po --- old/kid3-3.6.1/po/it.po 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/it.po 2018-08-23 19:28:00.000000000 +0200 @@ -1,13 +1,13 @@ -# translation of it.po to English +# Kid3 Italian Translation. # This file is put in the public domain. # # Valter Mura <[email protected]>, 2007. # Urs Fleisch <[email protected]>, 2008, 2009, 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2011-01-15 17:33+0100\n" "Last-Translator: \n" "Language-Team: Italian <[email protected]>\n" @@ -1520,6 +1520,9 @@ msgid "All Tags" msgstr "Tutti i Tag" +msgid "Prepend t1/append t2 if not empty" +msgstr "Anteporre t1/aggiungi t2 se non vuoto" + msgid "Truncated" msgstr "Troncato" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/kid3.pot new/kid3-3.6.2/po/kid3.pot --- old/kid3-3.6.1/po/kid3.pot 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/kid3.pot 2018-08-23 19:28:00.000000000 +0200 @@ -1,14 +1,13 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the Kid3 package. +# Kid3 LANGUAGE Translation. +# This file is put in the public domain. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <[email protected]>\n" @@ -1516,6 +1515,9 @@ msgid "All Tags" msgstr "" +msgid "Prepend t1/append t2 if not empty" +msgstr "" + msgid "Truncated" msgstr "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/nl.po new/kid3-3.6.2/po/nl.po --- old/kid3-3.6.1/po/nl.po 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/nl.po 2018-08-23 19:28:00.000000000 +0200 @@ -1,14 +1,13 @@ -# translation of nl.po to English # Kid3 Dutch Translation. -# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# This file is put in the public domain. # -# Urs Fleisch <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010. # Kenny Verstraete <[email protected]>, 2008, 2011. +# Toon van Gerwen <[email protected]>, 2012, 2013, 2014, 2017. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2017-01-25 21:40+0100\n" "Last-Translator: toon <[email protected]>\n" "Language-Team: Dutch <[email protected]>\n" @@ -1520,6 +1519,9 @@ msgid "All Tags" msgstr "Alle tags" +msgid "Prepend t1/append t2 if not empty" +msgstr "t1 doorvoegen/t2 toevoegen als deze niet leeg is" + msgid "Truncated" msgstr "Afgebroken" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/pl.po new/kid3-3.6.2/po/pl.po --- old/kid3-3.6.1/po/pl.po 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/pl.po 2018-08-23 19:28:00.000000000 +0200 @@ -1,15 +1,14 @@ -# translation of pl.po to English -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. +# Kid3 Polish Translation. +# This file is put in the public domain. # # Tomasz Argasiński <[email protected]>, 2007. # Michał Smoczyk <[email protected]>, 2007. # Urs Fleisch <[email protected]>, 2008, 2009, 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2011-01-15 17:37+0100\n" "Last-Translator: \n" "Language-Team: Polish <[email protected]>\n" @@ -1522,6 +1521,9 @@ msgid "All Tags" msgstr "Wszystkie znaczniki" +msgid "Prepend t1/append t2 if not empty" +msgstr "Dodaj t1/dołącz t2, jeśli nie jest pusty" + msgid "Truncated" msgstr "Obcięte" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/ru.po new/kid3-3.6.2/po/ru.po --- old/kid3-3.6.1/po/ru.po 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/ru.po 2018-08-23 19:28:00.000000000 +0200 @@ -1,15 +1,13 @@ -# translation of ru.po to English -# translation of ru.po to # Kid3 Russian Translation. -# Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# This file is put in the public domain. # -# Urs Fleisch <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010. # "Egor S. Orlov" <[email protected]>, 2003, 2011. +# Urs Fleisch <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2011-01-15 17:41+0100\n" "Last-Translator: \n" "Language-Team: Russian <[email protected]>\n" @@ -1522,6 +1520,9 @@ msgid "All Tags" msgstr "Все теги" +msgid "Prepend t1/append t2 if not empty" +msgstr "Подготовьте t1/добавьте t2, если не пусто" + msgid "Truncated" msgstr "Обрезанные" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/sr.po new/kid3-3.6.2/po/sr.po --- old/kid3-3.6.1/po/sr.po 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/sr.po 2018-08-23 19:28:00.000000000 +0200 @@ -1,13 +1,12 @@ # Kid3 Serbian Translation. -# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. Free Software Foundation, Inc. +# This file is put in the public domain. # -# Urs Fleisch <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. # Mladen Pejaković <[email protected]>, 2012. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2011-04-26 23:41+0200\n" "Last-Translator: Mladen Pejaković <[email protected]>\n" "Language-Team: Serbian <[email protected]>\n" @@ -18,7 +17,7 @@ "X-Generator: Lokalize 0.3\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Language: sr\n" -"X-Source-Language: C\n" +"X-Source-Language: en\n" msgid "Timeout" msgstr "Прековреме" @@ -1523,6 +1522,9 @@ msgid "All Tags" msgstr "Сви ознаке" +msgid "Prepend t1/append t2 if not empty" +msgstr "Припремите t1/аппенд t2 ако није празно" + msgid "Truncated" msgstr "Одсечена" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/[email protected] new/kid3-3.6.2/po/[email protected] --- old/kid3-3.6.1/po/[email protected] 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/[email protected] 2018-08-23 19:28:00.000000000 +0200 @@ -1,13 +1,12 @@ # Kid3 Serbian Ijekavian Translation. -# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. Free Software Foundation, Inc. +# This file is put in the public domain. # -# Urs Fleisch <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. # Mladen Pejaković <[email protected]>, 2012. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2011-04-26 23:41+0200\n" "Last-Translator: Mladen Pejaković <[email protected]>\n" "Language-Team: Serbian <[email protected]>\n" @@ -18,7 +17,7 @@ "X-Generator: Lokalize 0.3\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Language: sr\n" -"X-Source-Language: C\n" +"X-Source-Language: en\n" msgid "Timeout" msgstr "Прековријеме" @@ -1520,6 +1519,9 @@ msgid "All Tags" msgstr "Сви ознаке" +msgid "Prepend t1/append t2 if not empty" +msgstr "Припремите t1/аппенд t2 ако није празно" + msgid "Truncated" msgstr "Одсјечена" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/[email protected] new/kid3-3.6.2/po/[email protected] --- old/kid3-3.6.1/po/[email protected] 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/[email protected] 2018-08-23 19:28:00.000000000 +0200 @@ -1,13 +1,12 @@ # Kid3 Serbian Ijekavian Latin Translation. -# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. Free Software Foundation, Inc. +# This file is put in the public domain. # -# Urs Fleisch <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. # Mladen Pejaković <[email protected]>, 2012. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2011-04-26 23:41+0200\n" "Last-Translator: Mladen Pejaković <[email protected]>\n" "Language-Team: Serbian <[email protected]>\n" @@ -18,7 +17,7 @@ "X-Generator: Lokalize 0.3\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Language: sr\n" -"X-Source-Language: C\n" +"X-Source-Language: en\n" msgid "Timeout" msgstr "Prekovrijeme" @@ -1520,6 +1519,9 @@ msgid "All Tags" msgstr "Svi oznake" +msgid "Prepend t1/append t2 if not empty" +msgstr "Prebrojite t1/dodajte t2 ako nisu prazni" + msgid "Truncated" msgstr "Odsječena" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/[email protected] new/kid3-3.6.2/po/[email protected] --- old/kid3-3.6.1/po/[email protected] 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/[email protected] 2018-08-23 19:28:00.000000000 +0200 @@ -1,13 +1,12 @@ # Kid3 Serbian Latin Translation. -# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. Free Software Foundation, Inc. +# This file is put in the public domain. # -# Urs Fleisch <[email protected]>, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. # Mladen Pejaković <[email protected]>, 2012. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2011-04-26 23:41+0200\n" "Last-Translator: Mladen Pejaković <[email protected]>\n" "Language-Team: Serbian <[email protected]>\n" @@ -18,7 +17,7 @@ "X-Generator: Lokalize 0.3\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Language: sr\n" -"X-Source-Language: C\n" +"X-Source-Language: en\n" msgid "Timeout" msgstr "Prekovreme" @@ -1520,6 +1519,9 @@ msgid "All Tags" msgstr "Svi oznake" +msgid "Prepend t1/append t2 if not empty" +msgstr "Prebrojite t1/dodajte t2 ako nisu prazni" + msgid "Truncated" msgstr "Odsečena" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/tr.po new/kid3-3.6.2/po/tr.po --- old/kid3-3.6.1/po/tr.po 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/tr.po 2018-08-23 19:28:00.000000000 +0200 @@ -1,13 +1,13 @@ -# translation of Kid3 to Türkçe +# Kid3 Turkish Translation. # This file is put in the public domain. # # Mehmet Yilmaz SUSLU <[email protected]>, 2006. # Urs Fleisch <[email protected]>, 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2011-01-15 17:42+0100\n" "Last-Translator: \n" "Language-Team: Turkish <[email protected]>\n" @@ -1520,6 +1520,9 @@ msgid "All Tags" msgstr "Tüm etiketler" +msgid "Prepend t1/append t2 if not empty" +msgstr "t1'i ekle/t2'yi ekle, boş değilse" + msgid "Truncated" msgstr "Kirpildi" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/zh_CN.po new/kid3-3.6.2/po/zh_CN.po --- old/kid3-3.6.1/po/zh_CN.po 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/zh_CN.po 2018-08-23 19:28:00.000000000 +0200 @@ -1,12 +1,12 @@ -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. +# Kid3 Chinese Simplified Translation. +# This file is put in the public domain. # # shlinux <[email protected]>, 2014. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.1\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2014-08-24 15:11+0800\n" "Last-Translator: shlinux <[email protected]>\n" "Language-Team: Chinese Simplified <[email protected]>\n" @@ -17,7 +17,7 @@ "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Lokalize 1.5\n" "X-Language: zh_CN\n" -"X-Source-Language: C\n" +"X-Source-Language: en\n" msgid "Timeout" msgstr "超时" @@ -1519,6 +1519,9 @@ msgid "All Tags" msgstr "所有标签" +msgid "Prepend t1/append t2 if not empty" +msgstr "如果不為空,則前置t1/追加t2" + msgid "Truncated" msgstr "截断" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/po/zh_TW.po new/kid3-3.6.2/po/zh_TW.po --- old/kid3-3.6.1/po/zh_TW.po 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/po/zh_TW.po 2018-08-23 19:28:00.000000000 +0200 @@ -1,13 +1,13 @@ -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. +# Kid3 Chinese (traditional) Translation. +# This file is put in the public domain. # # ChungYu, Hsu <[email protected]>, 2010. # Urs Fleisch <[email protected]>, 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: Kid3 3.6.0\n" +"Project-Id-Version: Kid3 3.6.2\n" "Report-Msgid-Bugs-To: http://sourceforge.net/p/kid3/bugs/\n" -"POT-Creation-Date: 2018-03-18 16:04+0100\n" +"POT-Creation-Date: 2018-08-04 12:12+0200\n" "PO-Revision-Date: 2011-01-15 17:43+0100\n" "Last-Translator: \n" "Language-Team: Chinese (traditional) <[email protected]>\n" @@ -1523,6 +1523,9 @@ msgid "All Tags" msgstr "所有標籤" +msgid "Prepend t1/append t2 if not empty" +msgstr "如果不为空,则前置t1/追加t2" + msgid "Truncated" msgstr "截斷" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/app/CMakeLists.txt new/kid3-3.6.2/src/app/CMakeLists.txt --- old/kid3-3.6.1/src/app/CMakeLists.txt 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/app/CMakeLists.txt 2018-08-23 19:28:00.000000000 +0200 @@ -33,7 +33,7 @@ include(KDECMakeSettings) include(FeatureSummary) - find_package(KF5 REQUIRED COMPONENTS KIO) + find_package(KF5 REQUIRED COMPONENTS Config ConfigWidgets CoreAddons WidgetsAddons XmlGui) if (BUILD_SHARED_LIBS) # KDECMakeSettings.cmake will overwrite our RPATH if LIB_INSTALL_DIR is diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/app/kde/CMakeLists.txt new/kid3-3.6.2/src/app/kde/CMakeLists.txt --- old/kid3-3.6.1/src/app/kde/CMakeLists.txt 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/app/kde/CMakeLists.txt 2018-08-23 19:28:00.000000000 +0200 @@ -13,10 +13,11 @@ add_executable(kid3 ${kde_SRCS}) - target_link_libraries(kid3 kid3-gui KF5::KIOFileWidgets -lstdc++) + target_link_libraries(kid3 kid3-gui KF5::ConfigCore KF5::ConfigGui KF5::ConfigWidgets KF5::CoreAddons KF5::WidgetsAddons KF5::XmlGui -lstdc++) install(TARGETS kid3 DESTINATION ${BIN_INSTALL_DIR}) - install(FILES ../kid3.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) + install(FILES ../kid3.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} + RENAME net.sourceforge.kid3.desktop) install(FILES ../kid3.appdata.xml DESTINATION "${WITH_DATAROOTDIR}/metainfo") install(FILES kid3ui.rc DESTINATION ${KXMLGUI_INSTALL_DIR}/kid3) else (HAVE_QT5) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/app/qt/CMakeLists.txt new/kid3-3.6.2/src/app/qt/CMakeLists.txt --- old/kid3-3.6.1/src/app/qt/CMakeLists.txt 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/app/qt/CMakeLists.txt 2018-08-23 19:28:00.000000000 +0200 @@ -212,6 +212,27 @@ ") endif (CMAKE_CROSSCOMPILING AND NOT APPLE) + if (LINUX_SELF_CONTAINED) + # CMake 3.11.1 gets the prerequisites type wrong if a plugin uses a + # library which is in a parent directory but still inside the bundle. + # Override the type from "other" to "local" in such cases. + install(CODE " + function(gp_resolved_file_type_override resolved_file type_var) + if(\${\${type_var}} STREQUAL other) + get_filename_component(bundle_app_path \"${bundle_app}\" PATH) + string(LENGTH \"\${bundle_app_path}/\" bundle_app_length) + string(LENGTH \"\${resolved_file}\" resolved_file_length) + if(\${resolved_file_length} GREATER \${bundle_app_length}) + string(SUBSTRING \"\${resolved_file}\" 0 \${bundle_app_length} resolved_file_path) + if(resolved_file_path STREQUAL \"\${bundle_app_path}/\") + set(\${type_var} local PARENT_SCOPE) + endif() + endif() + endif() + endfunction() + ") + endif() + # Install and fix up all dependencies of the executable and the plugins. # On Mac OS X only keep the i386 code in the Qt libraries and plugins. install(CODE " @@ -276,4 +297,11 @@ ") install(DIRECTORY "${_qtLibDir}/icu_reduced/" DESTINATION ${WITH_BINDIR} OPTIONAL) + if (Qt5Widgets_VERSION VERSION_LESS 5.7.0) + # Qt 5.6.3 searches for OpenSSL 1.0, which is not found on distributions + # as new as Ubuntu 18.04. Install them in the application directory. + install(FILES "${CMAKE_BINARY_DIR}/../buildroot/usr/local/ssl/libssl.so" + "${CMAKE_BINARY_DIR}/../buildroot/usr/local/ssl/libcrypto.so" + DESTINATION ${WITH_BINDIR}) + endif () endif (LINUX_SELF_CONTAINED) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/core/config/fileconfig.cpp new/kid3-3.6.2/src/core/config/fileconfig.cpp --- old/kid3-3.6.1/src/core/config/fileconfig.cpp 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/core/config/fileconfig.cpp 2018-08-23 19:28:00.000000000 +0200 @@ -37,7 +37,7 @@ "%{track}. %{artist} - %{title}", "%{artist} - %{track} - %{title}", "%{artist} - %{album} - %{track} - %{title}", - "%{artist} - [%{year}] %{album} - %{track} - %{title}", + "%{artist} - %{\"[\"year\"] \"}%{album} - %{track} - %{title}", "%{artist} - %{title}", "%{artist}-%{title}", "(%{artist}) %{title}", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/core/config/rendirconfig.cpp new/kid3-3.6.2/src/core/config/rendirconfig.cpp --- old/kid3-3.6.1/src/core/config/rendirconfig.cpp 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/core/config/rendirconfig.cpp 2018-08-23 19:28:00.000000000 +0200 @@ -29,12 +29,12 @@ /** Default directory format list */ static const char* dirFmt[] = { "%{artist} - %{album}", - "%{artist} - [%{year}] %{album}", - "%{artist} - %{album} (%{year})", + "%{artist} - %{\"[\"year\"] \"}%{album}", + "%{artist} - %{album}%{\" (\"year\")\"}", "%{artist}/%{album}", - "%{artist}/[%{year}] %{album}", + "%{artist}/%{\"[\"year\"] \"}%{album}", "%{album}", - "[%{year}] %{album}", + "%{\"[\"year\"] \"}%{album}", 0 // end of StrList }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/core/export/playlistcreator.cpp new/kid3-3.6.2/src/core/export/playlistcreator.cpp --- old/kid3-3.6.1/src/core/export/playlistcreator.cpp 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/core/export/playlistcreator.cpp 2018-08-23 19:28:00.000000000 +0200 @@ -219,6 +219,27 @@ m_ctr.m_playlistFileName = QDir(m_ctr.m_playlistDirName).dirName(); } else { m_ctr.m_playlistFileName = formatString(m_ctr.m_cfg.fileNameFormat()); + + // Replace illegal characters in the playlist file name. + // Use replacements from the file name format config if enabled, + // otherwise remove the characters. + const FormatConfig& fnCfg = FilenameFormatConfig::instance(); + QMap<QString, QString> replaceMap; + if (fnCfg.strRepEnabled()) { + replaceMap = fnCfg.strRepMap(); + } +#ifdef Q_OS_WIN32 + static const char illegalChars[] = "<>:\"|?*\\/"; +#else + static const char illegalChars[] = "/"; +#endif + for (int i = 0; + i < static_cast<int>(sizeof(illegalChars) / sizeof(illegalChars[0])); + ++i) { + QChar illegalChar = QLatin1Char(illegalChars[i]); + QString replacement = replaceMap.value(illegalChar); + m_ctr.m_playlistFileName.replace(illegalChar, replacement); + } } QString ext; switch (m_ctr.m_cfg.format()) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/core/model/kid3application.cpp new/kid3-3.6.2/src/core/model/kid3application.cpp --- old/kid3-3.6.1/src/core/model/kid3application.cpp 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/core/model/kid3application.cpp 2018-08-23 19:28:00.000000000 +0200 @@ -1878,6 +1878,9 @@ if (selectedFrame->getIndex() != -1) { framelist->editFrame(); } else { + // Edit a frame which does not exist, switch to add mode. + m_addFrameTaggedFile = m_editFrameTaggedFile; + m_editFrameTaggedFile = 0; framelist->addAndEditFrame(); } } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/core/tags/formatreplacer.cpp new/kid3-3.6.2/src/core/tags/formatreplacer.cpp --- old/kid3-3.6.1/src/core/tags/formatreplacer.cpp 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/core/tags/formatreplacer.cpp 2018-08-23 19:28:00.000000000 +0200 @@ -93,6 +93,7 @@ int codePos = pos + 1; int codeLen = 0; + QString prefix, postfix; bool urlEncode = false; bool htmlEscape = false; QString repl; @@ -109,6 +110,20 @@ if (closingBracePos > codePos + 1) { QString longCode = m_str.mid(codePos + 1, closingBracePos - codePos - 1).toLower(); + if (longCode.startsWith(QLatin1Char('"'))) { + int prefixEnd = longCode.indexOf(QLatin1Char('"'), 1); + if (prefixEnd != -1 && prefixEnd < longCode.length() - 2) { + prefix = longCode.mid(1, prefixEnd - 1); + longCode.remove(0, prefixEnd + 1); + } + } + if (longCode.endsWith(QLatin1Char('"'))) { + int postfixStart = longCode.lastIndexOf(QLatin1Char('"'), -2); + if (postfixStart != -1 && postfixStart > 1) { + postfix = longCode.mid(postfixStart + 1, longCode.length() - postfixStart - 2); + longCode.truncate(postfixStart); + } + } repl = getReplacement(longCode); codeLen = closingBracePos - pos + 1; } @@ -129,6 +144,14 @@ if (htmlEscape) { repl = escapeHtml(repl); } + if (!repl.isEmpty()) { + if (!prefix.isEmpty()) { + repl = prefix + repl; + } + if (!postfix.isEmpty()) { + repl += postfix; + } + } if (!repl.isNull() || codeLen > 2) { m_str.replace(pos, codeLen, repl); pos += repl.length(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/core/tags/frame.cpp new/kid3-3.6.2/src/core/tags/frame.cpp --- old/kid3-3.6.1/src/core/tags/frame.cpp 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/core/tags/frame.cpp 2018-08-23 19:28:00.000000000 +0200 @@ -1696,6 +1696,12 @@ str += QCoreApplication::translate("@default", "Genre"); str += QLatin1String("</td></tr>\n"); + str += QLatin1String("<tr><td></td><td>%{\"t1\"title\"t2\"}...</td><td>"); + const char* const prependAppendStr = + QT_TRANSLATE_NOOP("@default", "Prepend t1/append t2 if not empty"); + str += QCoreApplication::translate("@default", prependAppendStr); + str += QLatin1String("</td></tr>\n"); + if (!onlyRows) str += QLatin1String("</table>\n"); return str; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/gui/dialogs/playlistdialog.cpp new/kid3-3.6.2/src/gui/dialogs/playlistdialog.cpp --- old/kid3-3.6.1/src/gui/dialogs/playlistdialog.cpp 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/gui/dialogs/playlistdialog.cpp 2018-08-23 19:28:00.000000000 +0200 @@ -141,7 +141,7 @@ m_fileNameFormatComboBox->setEnabled(false); m_fileNameFormatComboBox->addItems( QStringList() << - QLatin1String("%{artist} - %{album}") << QLatin1String("%{artist} - [%{year}] %{album}") << QLatin1String("%{album}") << + QLatin1String("%{artist} - %{album}") << QLatin1String("%{artist} - %{\"[\"year\"] \"}%{album}") << QLatin1String("%{album}") << QLatin1String("playlist_%{artist}_-_%{album}") << QLatin1String("playlist")); connect(m_fileNameFormatButton, SIGNAL(toggled(bool)), m_fileNameFormatComboBox, SLOT(setEnabled(bool))); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/gui/widgets/frameitemdelegate.cpp new/kid3-3.6.2/src/gui/widgets/frameitemdelegate.cpp --- old/kid3-3.6.1/src/gui/widgets/frameitemdelegate.cpp 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/gui/widgets/frameitemdelegate.cpp 2018-08-23 19:28:00.000000000 +0200 @@ -79,6 +79,77 @@ /** + * Validator for date/time values. + */ +class DateTimeValidator : public QValidator { +public: + /** + * Constructor. + * @param parent parent object + */ + explicit DateTimeValidator(QObject* parent = 0); + + /** + * Destructor. + */ + virtual ~DateTimeValidator(); + + /** + * Validate input string. + * @param input input string + * @param pos current position in input string + * @return validation state. + */ + virtual State validate(QString& input, int& pos) const; + + /** + * Attempt to change input string to be valid. + * @param input input string + */ + virtual void fixup(QString& input) const; + +private: + const QRegExp m_re; + mutable QString m_lastValidInput; +}; + +DateTimeValidator::DateTimeValidator(QObject* parent) + : QValidator(parent), m_re(FrameNotice::isoDateTimeRexExp()) +{ +} + +DateTimeValidator::~DateTimeValidator() +{ +} + +QValidator::State DateTimeValidator::validate(QString& input, int& pos) const +{ + QRegExp dateTimeRe = m_re; + if (dateTimeRe.exactMatch(input)) { + m_lastValidInput = input; + return Acceptable; + } else { + const int len = dateTimeRe.matchedLength(); + if (len == input.size()) { + return Intermediate; + } else if (len > 0 && m_lastValidInput.endsWith(input.mid(len))) { + return Intermediate; + } else { + pos = input.size(); + return Invalid; + } + } +} + +void DateTimeValidator::fixup(QString& input) const +{ + if (!m_lastValidInput.isEmpty()) { + input = m_lastValidInput; + } +} + + +/** * Helper class providing methods to paint stars for a rating. */ class StarPainter { @@ -261,8 +332,7 @@ QItemDelegate(parent), m_genreModel(genreModel), m_trackNumberValidator(new TrackNumberValidator(this)), - m_dateTimeValidator(new QRegExpValidator(FrameNotice::isoDateTimeRexExp(), - this)) { + m_dateTimeValidator(new DateTimeValidator(this)) { setObjectName(QLatin1String("FrameItemDelegate")); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/plugins/CMakeLists.txt new/kid3-3.6.2/src/plugins/CMakeLists.txt --- old/kid3-3.6.1/src/plugins/CMakeLists.txt 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/plugins/CMakeLists.txt 2018-08-23 19:28:00.000000000 +0200 @@ -19,6 +19,10 @@ set(PLUGIN_LIBRARIES ${PLUGIN_LIBRARIES} ${_target} PARENT_SCOPE) set(PLUGIN_NAMES ${PLUGIN_NAMES} ${_name}Plugin PARENT_SCOPE) endif (BUILD_SHARED_LIBS) + if (LINUX_SELF_CONTAINED) + # Just to keep CMake quiet, not needed at run time. + set_target_properties(${_target} PROPERTIES INSTALL_RPATH "\$ORIGIN/..") + endif (LINUX_SELF_CONTAINED) endmacro (INSTALL_KID3_PLUGIN _target _name) add_definitions(-DKID3_BUILD_PLUGIN_LIB) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/plugins/acoustidimport/ffmpegfingerprintdecoder.cpp new/kid3-3.6.2/src/plugins/acoustidimport/ffmpegfingerprintdecoder.cpp --- old/kid3-3.6.1/src/plugins/acoustidimport/ffmpegfingerprintdecoder.cpp 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/plugins/acoustidimport/ffmpegfingerprintdecoder.cpp 2018-08-23 19:28:00.000000000 +0200 @@ -504,7 +504,9 @@ FFmpegFingerprintDecoder::FFmpegFingerprintDecoder(QObject* parent) : AbstractFingerprintDecoder(parent) { +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 9, 100) ::av_register_all(); +#endif ::av_log_set_level(AV_LOG_ERROR); m_buffer1 = reinterpret_cast<qint16*>(::av_malloc(BUFFER_SIZE + 16)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/plugins/kid3qml/CMakeLists.txt new/kid3-3.6.2/src/plugins/kid3qml/CMakeLists.txt --- old/kid3-3.6.1/src/plugins/kid3qml/CMakeLists.txt 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/plugins/kid3qml/CMakeLists.txt 2018-08-23 19:28:00.000000000 +0200 @@ -58,6 +58,11 @@ string(REPLACE "<CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG><TARGET_SONAME>" "" CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_CXX_CREATE_SHARED_MODULE}") endif (ANDROID) +if (LINUX_SELF_CONTAINED) + # Just to keep CMake quiet, not needed at run time. + set_target_properties( + ${plugin_TARGET} PROPERTIES INSTALL_RPATH "\$ORIGIN/../../..") +endif (LINUX_SELF_CONTAINED) if (WIN32) set(_qmldirPluginName libkid3qml) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/plugins/qmlcommand/qmlcommandplugin.cpp new/kid3-3.6.2/src/plugins/qmlcommand/qmlcommandplugin.cpp --- old/kid3-3.6.1/src/plugins/qmlcommand/qmlcommandplugin.cpp 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/plugins/qmlcommand/qmlcommandplugin.cpp 2018-08-23 19:28:00.000000000 +0200 @@ -27,6 +27,9 @@ #include "qmlcommandplugin.h" #include <QDir> #if QT_VERSION >= 0x050000 +#ifndef NDEBUG +#define QT_QML_DEBUG +#endif #include <QQuickView> #include <QQmlApplicationEngine> #include <QQmlContext> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/plugins/taglibmetadata/taglibfile.cpp new/kid3-3.6.2/src/plugins/taglibmetadata/taglibfile.cpp --- old/kid3-3.6.1/src/plugins/taglibmetadata/taglibfile.cpp 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/plugins/taglibmetadata/taglibfile.cpp 2018-08-23 19:28:00.000000000 +0200 @@ -3549,6 +3549,18 @@ } template <> +void setValue(TagLib::ID3v2::ChapterFrame* f, const TagLib::String& text) +{ + f->setElementID(text.data(TagLib::String::Latin1)); +} + +template <> +void setValue(TagLib::ID3v2::TableOfContentsFrame* f, const TagLib::String& text) +{ + f->setElementID(text.data(TagLib::String::Latin1)); +} + +template <> void setData(TagLib::ID3v2::ChapterFrame* f, const Frame::Field& fld) { @@ -4336,7 +4348,8 @@ it != items.end(); ++it) { const TagLib::String& key = it->first; - if (key.substr(key.length() - nameLen, nameLen) == name) { + if (key.length() >= nameLen && + key.substr(key.length() - nameLen, nameLen) == name) { freeFormName = key; break; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/qml/script/ImportCsv.qml new/kid3-3.6.2/src/qml/script/ImportCsv.qml --- old/kid3-3.6.1/src/qml/script/ImportCsv.qml 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/qml/script/ImportCsv.qml 2018-08-23 19:28:00.000000000 +0200 @@ -43,7 +43,7 @@ function readCsvFile(filePath) { var filePathCol = -1 - var lines = ("" + script.readFile(filePath)).split("\n") + var lines = ("" + script.readFile(filePath)).split(/[\r\n]+/) for (var i = 0; i < lines.length; ++i) { var line = lines[i] if (line.length > 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kid3-3.6.1/src/test/test_cli_functions.py new/kid3-3.6.2/src/test/test_cli_functions.py --- old/kid3-3.6.1/src/test/test_cli_functions.py 2018-04-18 20:01:00.000000000 +0200 +++ new/kid3-3.6.2/src/test/test_cli_functions.py 2018-08-23 19:28:00.000000000 +0200 @@ -749,7 +749,7 @@ ' 12- 06 Kingdom Come.ape\n' ' -2- 08 Hail And Kill.wav\n' ' -2- 09 The Warriors Prayer.opus\n' - ' -2- 10 Blood Of The Kings.aiff\n') + ' -2- 10 Blood Of The Kings.aif\n') self.assertEqual(call_kid3_cli( ['-c', 'tag 2', '-c', 'numbertracks 101', @@ -781,7 +781,7 @@ ['- 01 Wheels Of Fire.m4a', '- 02 Kings Of Metal.flac', '- 03 Heart Of Steel.spx', '+ 05 The Crown And The Ring (Lament Of The Kings).mp3', '- 06 Kingdom Come.ape', '+ 08 Hail And Kill.wav', '- 09 The Warriors Prayer.opus', - '- 10 Blood Of The Kings.aiff', 'Finished']) + '- 10 Blood Of The Kings.aif', 'Finished']) call_kid3_cli(['-c', 'renamedir "%{artist} - [%{year}] %{album}" "create"', tmpdir]) new_dirname = 'Manowar - [1988] Kings Of Metal' new_dirpath = os.path.join(tmpdir, new_dirname) @@ -798,7 +798,7 @@ '06 Kingdom Come.ape\n' '08 Hail And Kill.wav\n' '09 The Warriors Prayer.opus\n' - '10 Blood Of The Kings.aiff\n') + '10 Blood Of The Kings.aif\n') def test_filename_tag_format(self): with tempfile.TemporaryDirectory() as tmpdir:
