Bug 812653 - kid3 not built against libmp4v2-devel..
Summary: kid3 not built against libmp4v2-devel..
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: kid3
Version: 16
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Ville Skyttä
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-04-15 18:38 UTC by Simon Lewis
Modified: 2012-05-31 19:08 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-05-31 19:08:24 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Simon Lewis 2012-04-15 18:38:28 UTC
kid3 needs to be built against libmp4v2-devel (as found in the official fedora repo) for images to be correctly stored in mp4 audio files. Specifically -DWITH_MP4V2=ON has to be specified on the cmake command. (See spec file below)

Without this, the images will be incorrectly insert in the files and do not display on digital media devices such as sony walkman devices. 


%global vendor sl

Name:           kid3
Version:        2.0.1
Release:        1.1.%{vendor}%{?dist}

Summary:        Efficient KDE ID3 tag editor
License:        GPLv2+
URL:            http://kid3.sourceforge.net/

#http://downloads.sourceforge.net/kid3/
Source0:        %{name}-%{version}.tar.gz

BuildRequires:  kdelibs4-devel
BuildRequires:  cmake
BuildRequires:  id3lib-devel
BuildRequires:  taglib-devel >= 1.4
BuildRequires:  flac-devel
BuildRequires:  libtunepimp-devel
BuildRequires:  libvorbis-devel
BuildRequires:  libmp4v2-devel
BuildRequires:  gettext
Requires:       xdg-utils

%description
If you want to easily tag multiple MP3, Ogg/Vorbis, FLAC, MPC,
MP4/AAC, MP2, Speex, TrueAudio and WavPack files (e.g. full albums)
without typing the same information again and again and have control
over both ID3v1 and ID3v2 tags, then Kid3 is the program you are
looking for.

%package        qt
Summary:        Efficient Qt ID3 tag editor
Group:          Applications/Multimedia
Requires:       xdg-utils

%description    qt
If you want to easily tag multiple MP3, Ogg/Vorbis, FLAC, MPC,
MP4/AAC, MP2, Speex, TrueAudio and WavPack files (e.g. full albums)
without typing the same information again and again and have control
over both ID3v1 and ID3v2 tags, then Kid3 is the program you are
looking for. The %{name}-qt package provides Kid3 built without KDE
dependencies.

%prep
%setup -q

%build
mkdir _kid3 ; cd _kid3
%cmake_kde4 -DWITH_MP4V2=ON -DBUILD_SHARED_LIBS:BOOL=OFF ..
make %{?_smp_mflags}
cd ..

mkdir _kid3-qt ; cd _kid3-qt
%cmake -DWITH_MP4V2=ON -DBUILD_SHARED_LIBS:BOOL=OFF -DWITH_KDE=OFF \
    -DWITH_DOCDIR=share/doc/%{name}-qt-%{version} ..
make %{?_smp_mflags}
cd ..

%install
make -C _kid3 install DESTDIR=%{buildroot}
make -C _kid3-qt install DESTDIR=%{buildroot}

install -dm 755 %{buildroot}%{_mandir}/man1
install -pm 644 deb/kid3{,-qt}.1 %{buildroot}%{_mandir}/man1/

# preserve desktop entry location for upgrades
mv %{buildroot}%{_datadir}/applications/{kde*/kid3,fedora-kid3}.desktop
rmdir %{buildroot}%{_datadir}/applications/kde*

desktop-file-install \
    --delete-original \
    --vendor %{vendor} \
    --dir %{buildroot}%{_datadir}/applications \
    %{buildroot}%{_datadir}/applications/fedora-kid3.desktop

%find_lang %{name} --with-kde --with-qt
grep -vF kid3-qt %{name}.lang > %{name}-kde.lang
grep -F  kid3-qt %{name}.lang > %{name}-qt.lang

install -pm 644 AUTHORS ChangeLog COPYING LICENSE README \
    %{buildroot}%{_docdir}/%{name}-qt-%{version}


%post -p <lua>
posix.utime("%{_datadir}/icons/hicolor")

%post qt -p <lua>
posix.utime("%{_datadir}/icons/hicolor")

%postun
if [ $1 -eq 0 ] ; then
    update-desktop-database %{_datadir}/applications &>/dev/null
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi

%postun qt
if [ $1 -eq 0 ] ; then
    update-desktop-database %{_datadir}/applications &>/dev/null
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi

%posttrans
update-desktop-database %{_datadir}/applications &>/dev/null
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :

%posttrans qt
update-desktop-database %{_datadir}/applications &>/dev/null
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :

%files -f %{name}-kde.lang
%doc AUTHORS ChangeLog COPYING LICENSE README
%{_bindir}/kid3
%{_datadir}/applications/*kid3.desktop
%{_datadir}/icons/hicolor/*x*/apps/kid3.png
%{_datadir}/icons/hicolor/scalable/apps/kid3.svgz
%{_datadir}/dbus-1/interfaces/*.xml
%{_kde4_appsdir}/kid3/
%{_mandir}/man1/kid3.1*

%files qt -f %{name}-qt.lang
%doc %{_docdir}/%{name}-qt-%{version}/
%{_bindir}/kid3-qt
%{_datadir}/applications/*kid3-qt.desktop
%{_datadir}/icons/hicolor/*x*/apps/kid3-qt.png
%{_datadir}/icons/hicolor/scalable/apps/kid3-qt.svgz
%{_datadir}/dbus-1/interfaces/*.xml
%dir %{_datadir}/kid3-qt/
%dir %{_datadir}/kid3-qt/translations/
%{_mandir}/man1/kid3-qt.1*

%changelog
* Sun Apr 15 2012 Simon Lewis <simon.lewis> - 2.0.1-1.0.sl
- Update to 2.0.1

Comment 1 Ville Skyttä 2012-04-17 05:21:02 UTC
kid3 can tag mp4 files through taglib.  I just grabbed a random mp4 file, tagged it with a random image and some other data, and that data shows just fine in rhythmbox.  If there's something wrong with how taglib does the tagging, I suggest filing a bug against taglib, or if kid3 uses taglib incorrectly, filing an upstream kid3 bugs with more information.

Comment 2 Simon Lewis 2012-04-21 11:47:07 UTC
Yes, I made the same experience. With the default kid3 package I can embed the cover image in the mp4 files and see the embedded image on the computer.

But when the file is transferred to a mp4 player, e.g. sony walkman, the image is not shown in the album menu or track view.

When kid3 is built with -DWITH_MP4V2=ON this is not a problem...

libtag has only basic functionality for mp4 tagging and this will not change in the near future - so I ask once again for the benefit of all fedora users to build against libmp4v2-devel (as found in the official fedora repo)

Simon

Comment 3 Ville Skyttä 2012-05-31 19:08:24 UTC
I tested building with libmp4v2, and it made things much worse than they're now.  

The only case where it made no difference was my Nokia E71 which for some reason failed to display cover art no matter whether a m4a file was tagged with taglib or libmp4v2 enabled kid3.

But cover art for files tagged with libmp4v2 enabled kid3 would no longer show in nautilus nor totem - in fact the only thing they did display any more was the same kid3 they were tagged with.

So as it stands right now, I'm not going to build kid3 with libmp4v2.  Maybe when libmp4v2 gets an upgrade to 2.0.0+ (bug 620531) it's time to see if anything's changed.


Note You need to log in before you can comment on or make changes to this bug.