Trying to solve bug 240409

Sergey Ivanov 123kash at gmail.com
Mon Feb 25 04:51:34 UTC 2013


Hi.
Actually you can get much more data using TagLib. Fields mentioned by you
can be obtained using unified TagLib API, It works for all metadata
containers. You you need to get some extra data, you have to dig It by
yourself. Take a look on shared/tag_helpers/MP4TagHelper.cpp file in amarok
repository. I didn't google how does iTunes store chapters, but I'm pretty
sure that you can grab It using TagLib. ;)

2013/2/23 Abhinandan Ramprasath <abhiin1947 at gmail.com>

> Hi,
>
> After going through the source of TagLib, I can confidently say it
> currently does not support chapters in MP4 or M4A files. The information u
> can get out of the library includes title, album, artist, comment, year,
> track, genre. This information is directly available in the header of the
> MP4 file. The problem with decoding the chapter markers is that it is not
> stored in the header ( apple's patented it apparently ) or rather,
> scattered around in the file. I am still hoping for some positive reply
> from the TagLib Developers ( they haven't replied yet ).
>
> Will let you know of any developments.
>
>
> On Thu, Feb 21, 2013 at 8:57 PM, Abhinandan Ramprasath <
> abhiin1947 at gmail.com> wrote:
>
>>
>>
>> On Thu, Feb 21, 2013 at 4:17 AM, Matěj Laitl <matej at laitl.cz> wrote:
>>
>>> On 19. 2. 2013 Abhinandan Ramprasath wrote:
>>> > This is what I've got so far,
>>>
>>> Nice research!
>>>
>>> > 1) mp4v2-2.0.0 supports chapters in mp4 files(mentioned on comment 2).
>>> The
>>> > format for chapter storage is specified between lines 2321 and 2375
>>> under
>>> > src/mp4file.cpp (
>>> >
>>> http://code.google.com/p/mp4v2/downloads/detail?name=mp4v2-2.0.0.tar.bz2) .
>>>
>>> Okay.
>>>
>>> > 2) comment 2 in https://bugs.kde.org/show_bug.cgi?id=240409 mentions
>>> that
>>> > the dependency was removed. Is it safe for me to add it back?
>>>
>>> We'd prefer not to, certainly not as a mandatory dependency.
>>>
>>> > 3) I cross checked the format of chapter storage with a simple cpp
>>> program
>>> > I wrote and got the titles of all chapters as output. But that was just
>>> > using a regex and I'm not too sure that would be accepted as a
>>> solution.
>>>
>>> RegExes are used all over Amarok, so if this is not a moving target
>>> (e.g. if
>>> the strings you match don't change with library versions), it should be
>>> fine,
>>> but see below.
>>>
>> I'm not sure if it is a moving target. Will read about it and get back.
>>
>>>
>>> > 4) An Issue was filed for TagLib
>>> > https://github.com/taglib/taglib/issues/81 asking
>>> > to expand support for chapters in mp3 files, which sadly, hasn't been
>>> > solved yet. Unfortunately, I wasn't able to find anything similar for
>>> mp4.
>>>
>>> You fan file one, then! ;) Even better would be creating a pull request
>>> for
>>> TagLib that would add support for reading chapters (ideally both from
>>> mp3 and
>>> mp4 files). Given that mp4v2 is under MPL 1.1 and TagLib is under MPL
>>> 1.1 +
>>> LGPL 2.1, it may be possible to copy & adapt code from mp4v2 to TagLib
>>> directly, but please consult this first with TagLib developers [1]. (if
>>> both
>>> mp4v2 and TagLib where updated to the newest MPL 2.0, it would be
>>> definitely
>>> possible)
>>>
>>
>> Ya, trying to get the feature working on Taglib was the next thing I was
>> going to do. I will try to find more information about it and get back.
>>
>>>
>>> Let's defer the decision how to represent this in Amarok until underlying
>>> libraries are ready, I must say that the idea to use MultiTrack may end
>>> up to
>>> be the good way, but please let us think about this more.
>>>
>> I think Multitrack is how QuickTime does it( or I have a really old
>> version ) and it looks pretty good.
>>
>> P.S sorry for submitting the patch, I was almost done with it when I read
>> the email
>>
>>> [1] https://mail.kde.org/mailman/listinfo/taglib-devel
>>>
>>>         Matěj
>>>
>>
>>
>
> _______________________________________________
> Amarok-devel mailing list
> Amarok-devel at kde.org
> https://mail.kde.org/mailman/listinfo/amarok-devel
>
>


-- 
Sergey Ivanov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/amarok-devel/attachments/20130225/a8ca9fd3/attachment.html>


More information about the Amarok-devel mailing list