On Mon, Feb 25, 2013 at 10:21 AM, Sergey Ivanov <123k...@gmail.com> wrote:
> 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. ;) > Thanks a lot for your reply. It took me a while to search the "atom" structure of an mp4 file, but I've finally found it! :D Will implement the patch using TagLib and submit it soon. :) > > 2013/2/23 Abhinandan Ramprasath <abhiin1...@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 < >> abhiin1...@gmail.com> wrote: >> >>> >>> >>> On Thu, Feb 21, 2013 at 4:17 AM, Matěj Laitl <ma...@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@kde.org >> https://mail.kde.org/mailman/listinfo/amarok-devel >> >> > > > -- > Sergey Ivanov > > _______________________________________________ > Amarok-devel mailing list > Amarok-devel@kde.org > https://mail.kde.org/mailman/listinfo/amarok-devel > >
_______________________________________________ Amarok-devel mailing list Amarok-devel@kde.org https://mail.kde.org/mailman/listinfo/amarok-devel