<div dir="ltr">Here's an updated version of my proposal.<div>Thanks in advance.<div><br></div><div><br></div><div><b id="docs-internal-guid-728e2f7f-5fde-44a1-c56a-666fdda82161" style="color:rgb(0,0,0);font-family:'Times New Roman'"><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:16px;font-family:Arial;font-weight:bold;vertical-align:baseline;white-space:pre-wrap">Basic Details:</span></p><br><span style="font-size:13px;font-family:Arial;font-weight:bold;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">Name: Abhinandan Ramaprasath</span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">Email Address: <a href="mailto:abhiin1947@gmail.com">abhiin1947@gmail.com</a></span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">Freenode IRC Nick: abhiin1947</span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">IM Service and Username: Gtalk - abhiin1947</span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">Location (City, Country and/or Time Zone): Chennai, India, UTC+05:30</span></p><br><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:16px;font-family:Arial;font-weight:bold;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">Proposal Title: </span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt;text-align:center">
<span style="font-size:16px;font-family:Arial;font-weight:bold;vertical-align:baseline;white-space:pre-wrap">Implementing Unified CUE sheet and chapter support in Amarok</span><span style="font-size:16px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap"></span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap"> </span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:16px;font-family:Arial;font-weight:bold;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">Motivation for project:</span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">Audiobooks are usually quite lengthy and go on for hours. It is not always possible for people to finish listening to audiobooks in one go. Chapter support is pretty important for users to skip through chapters. I would find it irritating if I have to seek through to the location I want to be on every time. Since, Amarok already provides a bookmark to the location where the user left off, addition of chapter markers would make navigating an audiobook as easy as a book.</span></p>
<br><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap"><span class="" style="white-space:pre">   </span>CUE sheeted music, on the other hand, is very popular, and not providing proper support ruins the music experience people would have. It is also been a requested feature for quite a long time (5). Many bugs have been reported (6) complaining about Amarok’s lack of support for CUE sheeted music. Implementation of support has been pushed over releases (from 2.6 to 2.8) and I think that this should end with the google summer of code. </span></p>
<br><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:16px;font-family:Arial;font-weight:bold;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">Goals:</span></p><p dir="ltr" style="font-weight:normal;margin-top:0pt;margin-bottom:0pt">
<span style="font-family:Arial;font-weight:bold;vertical-align:baseline"></span><span style="font-size:13px;line-height:1.4625;font-family:Arial;font-weight:bold;vertical-align:baseline;white-space:pre-wrap">        The goals of my project would be to</span></p>
<p dir="ltr" style="margin-top:0pt;margin-bottom:0pt"><span style="font-family:Arial;vertical-align:baseline"></span><span style="font-size:13px;font-weight:normal;line-height:1.4625;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">        1) Implement Qtchapter support in TagLib</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap"><span class="" style="white-space:pre">    </span>2) Display these chapters in Amarok</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap"><span class="" style="white-space:pre">    </span>3) Integrate CUE sheet support with collection manager and Amarok for a seamless music experience.</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap"><span class="" style="white-space:pre">    </span>4) (Optional) Implement embedded CUE sheet support</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap"><span class="" style="white-space:pre">    </span>5) Implement support for NeroChapter type in TagLib</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap"><span class="" style="white-space:pre">    </span>6) Solve bugs related to my project along the way (7).</span></p>
<br><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:16px;font-family:Arial;font-weight:bold;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">Implementation Details:</span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">The project involves making changes in both TagLib and Amarok repositories. I would like to divide the project into 3 parts. </span></p>
<br><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.40625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">The first one being implementing the QtChapter (QuickTime) support in MP4/M4A/M4B files. As per the apple docs(1), the Qt chapter support can be achieved by reading the “trak” atom which contains the “chap” data. This trak atom contains the text track which contains the chapter information. The indicated text track should contain a “stbl” atom ( basically a table ) which would contain offsets to the location in the file that contain chapter title in the file. Reading data at these offsets give information about chapter titles. The time at which each each chapter marker occurs can be easily calculated using the “bitrate” of the audiofile. These would be the changes that I would make in TagLib to support QtChapters. The changes in Amarok include, displaying the chapter markers to the user in the form of bookmarks or Multi-Tracks.I plan on reading the chapter information in Amarok the same way I implemented it in the bug fix (2). For actually showing them on Amarok I’ll use the BookmarkGroupPtr to create a new bookmark group and add chapter pointers to it in the form of URLs. I would like to also store the chapter information in the database as well. </span></p>
<br><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">The second part of the project would be to implement complete CUE sheet support. </span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;font-weight:bold;vertical-align:baseline;white-space:pre-wrap">What a CUE sheet is?</span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">CUE sheet contains information related to the album and the main filename and the time offsets at which each track occurs.</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;font-weight:bold;vertical-align:baseline;white-space:pre-wrap">What needs to be done?</span><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap"> </span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">I propose to make this change in the KUrl. Parts of the Url would have data about the Base File, Time-Offset and Duration of the track (after a “?” or “#” at the end, if not possible a new protocol?). Then these URL’s would be interpreted in the UmsCollection or SqlCollection classes as separate Track files. This would also enable storing the details of each song in the database, hence there is no need to access the CUE file every time.</span></p>
<br><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">Amarok already has a basic CUE sheet support, it can read CUE sheets  added manually through the browser or from a cd. I would like to integrate this with the CollectionScanner perfectly( the way it is supposed to work, highlighted by popular bug: (4) ). The scanner will automatically recognize these CUE files and record them as separate tracks in the database as mentioned above. I would like to store any changed metadata of a specific file in the KUrl. If time permits, I plan on </span><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);vertical-align:baseline;white-space:pre-wrap">implementing</span><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap"> embedded CUE sheet support in Amarok. </span></p>
<br><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">The third and last part of the project would be to implement support for the NeroChapter type in MP4. Since, this is not so popular, I would like to keep this my last part of the project. This involves more changes in TagLib than Amarok. The chapter track information is found under the “udta” atom. This part of the project would be to automatically detect the type of chapter present in the given file and decode the chapter data and provide it neatly.</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap"> </span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:16px;font-family:Arial;font-weight:bold;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">Tentative Timeline:</span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);font-weight:bold;vertical-align:baseline;white-space:pre-wrap">June</span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:12px;font-family:Arial;color:rgb(34,34,34);font-style:italic;vertical-align:baseline;white-space:pre-wrap">< GSOC begins ></span><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);vertical-align:baseline;white-space:pre-wrap"></span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);font-weight:bold;vertical-align:baseline;white-space:pre-wrap">week 4</span><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);vertical-align:baseline;white-space:pre-wrap">: Community Bonding Period - Ask for improvement suggestions and get to know the Amarok community.</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);font-weight:bold;vertical-align:baseline;white-space:pre-wrap">July-</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);font-weight:bold;vertical-align:baseline;white-space:pre-wrap">week 1</span><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);vertical-align:baseline;white-space:pre-wrap">: Create Abstract Classes in TagLib for MP4 chapter support. Start implementing QtChapter Support.</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);font-weight:bold;vertical-align:baseline;white-space:pre-wrap">week 2</span><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);vertical-align:baseline;white-space:pre-wrap">: Finish implementing QtChapter Support in TagLib.</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);font-weight:bold;vertical-align:baseline;white-space:pre-wrap">week 3</span><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);vertical-align:baseline;white-space:pre-wrap">: Design UI in Amarok to display the chapter markers. </span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);font-weight:bold;vertical-align:baseline;white-space:pre-wrap">week 4</span><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);vertical-align:baseline;white-space:pre-wrap">: Modify the database and store the chapter data in it.</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:12px;font-family:Arial;color:rgb(34,34,34);font-style:italic;vertical-align:baseline;white-space:pre-wrap">< Mid-term  - Complete QtChapter support in Amarok></span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);font-weight:bold;vertical-align:baseline;white-space:pre-wrap">August-</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);vertical-align:baseline;white-space:pre-wrap">week 1: Integrate CUE sheet reading with the scanner and automatically detect that these are separate track files and add them to the collection. </span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);vertical-align:baseline;white-space:pre-wrap">weeks 2 and 3: Implement changes in KUrl. Make modifications in SqlCollection and other methods and classes that use url(TrackPtr , playback and other controllers).</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);vertical-align:baseline;white-space:pre-wrap">week 4: Make modifications in UmsCollection to support CUE sheets as well. </span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);font-weight:bold;vertical-align:baseline;white-space:pre-wrap">September-</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);vertical-align:baseline;white-space:pre-wrap">week 1: Implement modules that allow the user to change the metadata of CUE-sheeted tracks. I do not plan on making these changes in the CUE sheet instead store them locally/in the url so that amarok can display them</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);vertical-align:baseline;white-space:pre-wrap">week 2: Finish CUE sheet support in Amarok.</span><span style="font-size:12px;font-family:Arial;color:rgb(34,34,34);font-style:italic;vertical-align:baseline;white-space:pre-wrap"></span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);vertical-align:baseline;white-space:pre-wrap">week 3: Implement NeroChapter support in TagLib.</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:12px;font-family:Arial;color:rgb(34,34,34);font-style:italic;vertical-align:baseline;white-space:pre-wrap">< pens down ></span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;color:rgb(34,34,34);vertical-align:baseline;white-space:pre-wrap">week 4: Testing and resolving any bugs. Documentation.</span></p>
<br><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap"> </span></p><br><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:16px;font-family:Arial;font-weight:bold;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">Do you have other obligations from late May to early August (school, work, vacation, etc.)? </span></p>
<br><span style="font-size:19px;font-family:Arial;font-weight:bold;vertical-align:baseline;white-space:pre-wrap"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap"> No obligations. I am willing to work 50 hours a week,  7-8 hours everyday, maybe more during the weekends. I would like to take sundays off just to relax myself :) (Unless I’m lagging behind). College starts early august but should not be a problem because it is early in the semester and they wouldn’t mind me taking a week or 2 off.</span></p>
<br><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap"> </span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:16px;font-family:Arial;font-weight:bold;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">About Me:</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">I am a Student of SSN College of Engineering. I prefer coding in C/C++/Python. I was introduced to Amarok when my friend suggested it after looking at my android app Lyricize (3). Since then I have fallen in love with it. I would love to make any contribution that makes music more enjoyable. I am also an enthusiastic web and android developer. I am a very big FLOSS fan. I have written scripts that predict and scrape the indian stock market data and avails it to developers as an API as well as contributions to Haiku OS.</span></p>
<br><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">Introduced to C and C++ by my mother at the age of 8, I have continued to work on various projects during school and college to sharpen my skills. I have learnt to code in languages such as java,php,ruby,node(javascript), etc. I have won hackathons conducted by KRDS, Mozilla. Also, A finalist at the Yahoo open hack 2012. I try to contribute to open source as much as I can ( github: </span><a href="https://github.com/abhiin1947/" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://github.com/abhiin1947/</span></a><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap"> ).</span></p>
<br><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:16px;font-family:Arial;font-weight:bold;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">Am I comfortable working independently under a mentor or supervisor?</span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap">Yes. I have been an intern for the ULaw Software Foundation based in Canada and time zones aren’t really a problem at all.</span></p>
<br><span style="font-size:13px;font-family:Arial;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.4625;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:16px;font-family:Arial;font-weight:bold;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">After GSoC:</span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">After GSoC I plan on continuing to fix bugs and code more features for Amarok and taglib. I intend to learn about more file formats and improving support in those areas.</span><span style="font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> </span></p>
<br><span style="font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:16px;font-family:Arial;background-color:transparent;font-weight:bold;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">My experience with Amarok:</span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">I started out my Amarok journey by trying to solve bug 240409 ( which turns out to be a big part of my proposal ). It was initially marked as a junior job. I tried to implement chapter detection using library mp4v2 ( patch: </span><a href="https://git.reviewboard.kde.org/r/109079/" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://git.reviewboard.kde.org/r/109079/</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> ) which was eventually rejected. After research and learning, I implemented support for chapter detection in Amarok by using mp4atom.h from taglib explicitly ( patch: </span><a href="https://git.reviewboard.kde.org/r/109256/" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://git.reviewboard.kde.org/r/109256/</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> ). Since then, Unfortunately, exams started and I couldn’t find the time to work more on it.</span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> </span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">My Bug fixes include </span><a href="https://git.reviewboard.kde.org/r/110243/" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://git.reviewboard.kde.org/r/110243/</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> , </span><a href="https://git.reviewboard.kde.org/r/110150/" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://git.reviewboard.kde.org/r/110150/</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> . Both of them are relatively new and pending.</span></p>
<br><span style="font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:16px;font-family:Arial;background-color:transparent;font-weight:bold;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">External Links:</span></p><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.15;margin-top:4pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">(1) - </span><a href="https://developer.apple.com/library/mac/#documentation/QuickTime/qtff/QTFFChap2/qtff2.html" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://developer.apple.com/library/mac/#documentation/QuickTime/qtff/QTFFChap2/qtff2.html</span></a></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">(2) - </span><a href="https://git.reviewboard.kde.org/r/109256/" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://git.reviewboard.kde.org/r/109256/</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">(3) - </span><a href="https://play.google.com/store/apps/details?id=com.festalize.LyricMatch" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://play.google.com/store/apps/details?id=com.festalize.LyricMatch</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">(4) - </span><a href="https://bugs.kde.org/show_bug.cgi?id=187587" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://bugs.kde.org/show_bug.cgi?id=187587</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">(5) - </span><a href="https://bugs.kde.org/show_bug.cgi?id=187587" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://bugs.kde.org/show_bug.cgi?id=187587</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> reported 2009</span></p>
<br><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">(6) - </span><a href="https://bugs.kde.org/show_bug.cgi?id=187587" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://bugs.kde.org/show_bug.cgi?id=187587</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> , </span><a href="https://bugs.kde.org/show_bug.cgi?id=286089" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://bugs.kde.org/show_bug.cgi?id=286089</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> , </span><a href="https://bugs.kde.org/show_bug.cgi?id=294136" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://bugs.kde.org/show_bug.cgi?id=294136</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> , </span><a href="https://bugs.kde.org/show_bug.cgi?id=270003" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://bugs.kde.org/show_bug.cgi?id=270003</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> , </span><a href="https://bugs.kde.org/show_bug.cgi?id=279234" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://bugs.kde.org/show_bug.cgi?id=279234</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> , </span><a href="https://bugs.kde.org/show_bug.cgi?id=230272" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://bugs.kde.org/show_bug.cgi?id=230272</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span></p>
<br><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap;font-weight:normal"></span><p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.15;margin-top:0pt;margin-bottom:0pt">
<span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap">(7) - </span><a href="https://bugs.kde.org/show_bug.cgi?id=240409" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://bugs.kde.org/show_bug.cgi?id=240409</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> , </span><a href="https://bugs.kde.org/show_bug.cgi?id=187587" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://bugs.kde.org/show_bug.cgi?id=187587</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> , </span><a href="https://bugs.kde.org/show_bug.cgi?id=286089" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://bugs.kde.org/show_bug.cgi?id=286089</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> , </span><a href="https://bugs.kde.org/show_bug.cgi?id=270003" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://bugs.kde.org/show_bug.cgi?id=270003</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> , </span><a href="https://bugs.kde.org/show_bug.cgi?id=294136" style="text-decoration:none"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://bugs.kde.org/show_bug.cgi?id=294136</span></a><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"></span></p>
<p dir="ltr" style="font-weight:normal;font-size:medium;line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><span class="" style="white-space:pre"> </span></span></p>
<div style="font-weight:normal;font-size:medium"><br></div></b></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Apr 30, 2013 at 5:44 PM, Matěj Laitl <span dir="ltr"><<a href="mailto:matej@laitl.cz" target="_blank">matej@laitl.cz</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 28. 4. 2013 Abhinandan Ramprasath wrote:<br>
> I hope I'm not too late with this.<br>
<br>
</div>Not strictly late, but we cannot reply within hours, so you may have little<br>
time to process the feedback.<br>
<div class="im"><br>
> Also, I don't have many bug fixes to show for, I can see my chances of<br>
> getting in are greatly hindered by it. would any bug fix in the final few days<br>
> make a change?<br>
<br>
</div>Every bugfix counts - we need to know that students are capable of patching,<br>
building, reading code, respecting style etc.<br>
<div class="im"><br>
> Implementing Unified CUE sheet and chapter support in Amarok<br>
><br>
> Implementation Details:<br>
<br>
</div>You lack 2 very important parts:<br>
 * Motivation (what the current problem is? why it needs to be fixed?)<br>
 * Project Goal (what are the deliverables you want to provide? By what<br>
criteria we should judge whether your project is finished?)<br>
<div class="im"><br>
> The project involves making changes in both TagLib and amarok repositories.<br>
> I would like to divide the project into 3 parts.<br>
><br>
> The first one being implementing the QtChapter support in MP4/M4A/M4B<br>
> files.<br>
<br>
</div>Are you sure that this is the format used in audiobooks? The link refers to<br>
movies mostly. Also please clarify that Qt is quicktime here (better not<br>
shorten it), not Qt library.<br>
<div class="im"><br>
> As per the apple docs(1) the Qt chapter support can be achieved by<br>
> reading the “trak” atom which contains the “chap” data. This trak atom<br>
> contains the text track which contains the chapter information. The<br>
> indicated text track should contain a “stbl” atom ( basically a table )<br>
> which would contain offsets to the location in the file that contain<br>
> chapter title in the file. Reading data at these offsets give information<br>
> about chapter titles. The time at which each each chapter marker occurs to<br>
> can be easily calculated using the “bitrate” of the audiofile. These would<br>
> be the changes that I would make in TagLib to support QtChapters. The<br>
> changes in amarok include, displaying the chapter markers to the user in<br>
> the form of bookmarks or Multi-Tracks.<br>
<br>
</div>This needs to be sorted out, I think we would prefer MultiTracks.<br>
<div class="im"><br>
> I plan on reading the chapter<br>
> information in amarok the same way I implemented it in the bug fix (2). I<br>
> would like to also store the chapter information in the database as well.<br>
<br>
</div>Yes, that will be needed.<br>
<div class="im"><br>
> The second part of the project would be to implement Unified CUE sheet<br>
> support.<br>
<br>
</div>Well, the "unified" was for chapter + cue and doesn't have sense alone.<br>
<div class="im"><br>
> The CUE sheet implementation is quite straightforward. CUE sheet<br>
> contains information related to the album and the main filename and the<br>
> time offsets at which each track occurs . The challenging part would be to<br>
> implement this support in the database. I propose to make this change in<br>
> the KUrl. Parts of the Url would have data about the BaseFile, Time-Offset<br>
> and Duration of the track (after a “?” or “#” at the end, if not possible a<br>
> new protocol?). This must be done without affecting the rest of the working<br>
> of the app. Then these URL’s would be interpreted in the UmsCollection or<br>
> SqlCollection classes as separate Track files. This would also enable<br>
> storing the details of each song in the database, hence there is no need to<br>
> access the cue file everytime.<br>
<br>
</div>Yeah, this makes sense. You'll also need to handle metadata changes - I guess<br>
changing the title would be very different from changing the album.<br>
<br>
Are you aware that Amarok already has limited support for cue files?<br>
<div class="im"><br>
> The third and last part of the project would be to implement support for<br>
> the NeroChapter type in MP4. Since, this is not so popular, I would like to<br>
> keep this my last part of the project. This involves more changes in TagLib<br>
> than amarok. The chapter track information is found under the “udta” atom.<br>
> This part of the project would be to automatically detect the type of<br>
> chapter present in the given file and decode the chapter data and provide<br>
> it neatly.<br>
<br>
</div>Makes sense, also it makes sense to keep this low-priority.<br>
<div class="im"><br>
> Tentative Timeline:<br>
><br>
> June<br>
><br>
> < GSOC begins ><br>
><br>
> week 4: Community Bonding Period - Ask for improvement suggestions and get<br>
> to know the amarok community.<br>
><br>
> July-<br>
><br>
> week 1: Create Abstract Classes in TagLib for MP4 chapter support. Start<br>
> implementing QtChapter Support.<br>
><br>
> week 2: Finish implementing QtChapter Support in TagLib.<br>
><br>
> week 3: Design UI in amarok to display the chapter markers.<br>
<br>
</div>I don't there's a need for new UI, perhaps just some small tweaks. You also<br>
don't mention it in the implementation details.<br>
<div class="im"><br>
> week 4: Modify the database and store the chapter data in it.<br>
><br>
> < Mid-term  - Complete QtChapter support in amarok><br>
><br>
> August-<br>
><br>
> week 1: Create abstract classes for cue file support in amarok.<br>
<br>
</div>Well, some of them are already there, this sounds like you're unaware of it.<br>
<div class="im"><br>
> week 2: Detect and decode cue file and store the information in the classes.<br>
<br>
</div>Should be already done.<br>
<div class="im"><br>
> week 3: Implement changes in Kurl.<br>
><br>
> week 4: Make modifications in SqlCollection and other methods and classes<br>
> that use url(TrackPtr).<br>
><br>
> September-<br>
><br>
> week 1: Make modifications in UmsCollection to support cue sheets as well.<br>
><br>
> week 2: Finish cue sheet support in amarok.<br>
><br>
> week 3: Implement NeroChapter support in TagLib.<br>
><br>
> < pens down ><br>
><br>
> week 4: Testing and resolving any bugs. Documentation.<br>
<br>
</div>If the documentation stands for documenting public classes and methods, then<br>
don't do it in batch in the last week. Do it right when you introduce/change a<br>
class/method!<br>
<div class="im"><br>
> Do you have other obligations from late May to early August (school, work,<br>
> vacation, etc.)?<br>
><br>
> No obligations. I am willing to work 50 hours a week,  7-8 hours everyday,<br>
> maybe more during the weekends.<br>
<br>
</div>Have some rest, too! :-) Relaxed developers produce better code. ;-)<br>
<div class="im"><br>
> College starts early august but should not<br>
> be a problem. I will still be able to put in 50 hours a week by working a<br>
> little extra in the weekends.<br>
<br>
</div>Hmm, this is a bit early. Are you going to have regular courses from early<br>
August?<br>
<div class="im"><br>
> About Me:<br>
><br>
> I am a Student of SSN College of Engineering. I prefer coding in<br>
> C/C++/Python. I was introduced to amarok when my friend suggested it after<br>
> looking at my android app Lyricize (3). Since then I have fallen in love<br>
> with it. I would love to make any contribution that makes music more<br>
> enjoyable. I am also an enthusiastic web and android developer. I am a very<br>
> big FLOSS fan. I have written scripts that predict and scrape the indian<br>
> stock market data and avails it to developers as an API as well as<br>
> contributions to Haiku OS.<br>
<br>
</div>Have you worked with any VCS systems, e.g. git?<br>
<br>
Some experience with Qt (the library)/kdelibs?<br>
<div class="im"><br>
> Am I comfortable working independently under a mentor or supervisor?<br>
><br>
> Yes. I have been an intern for the ULaw Software Foundation based in canada<br>
> and timezones isn’t really a problem at all.<br>
<br>
</div>"aren't"<br>
<div class="im"><br>
> After GSoC:<br>
><br>
> After GSoC I plan on continuing to fix bugs and code more features for<br>
> amarok and taglib. I intend to learn about more file formats and improving<br>
> support in those areas.<br>
<br>
</div>Otherwise this doesn't look bad, but as mentioned above, 2 mandatory sections<br>
and more research of existing functionality (and code) is needed so that the<br>
proposal doesn't look uninformed.<br>
<br>
Cheers,<br>
                Matěj<br>
</blockquote></div><br></div>