1. MusicBrainz support for EasyTAG
1.1. Short Description
EasyTAG is a popular Tag editor for music files including mp3, wav, mp4, ogg, opus etc. Currently it supports CDDB Search to get tags online. But CDDB is not open source and its code is fragile. My project includes replacing the current CDDB Search support with MusicBrainz support. MusicBrainz is a popular online database of music tags. It is also open source. It's data is very correct.
My mentor is David King.
1.2. About Me
I am currently studying Mathematics and Computing at Indian Institute of Technology (BHU), Varanasi. I am a contributor to EasyTAG and Kivy. I also participated in Google Summer of Code 2013 under Python Software Foundation.
1.3. Contact Information
- IRC Chat: abhijangda
Email: abhijangda@hotmail.com
1.4. Timeline
- Community Bonding Period (April 21 – May 18): In this period, I will assemble all pre-requisites related to coding. I will understand the workflow of EasyTAG and GNOME Development. Moreover, this period will also include talking to my mentor and reading more documentation(s) for libmusicbrainz5 and libdiscid C API to make my concepts solid related to these APIs. I start working on the project when my mentor will give me a “Go Ahead”.
- First Coding Period (May 19 - June 26): This is the first programming period. It will begin when Coding Period starts and will go till the Mid-Term Submission. This is what will be shown in the Mid-Term Period. Moreover, I've tried to make this period as busy for me as I can, because in this period I will be at the home doing only programming for this project. It has following phases and deadlines.
Creating and Programming the MusicBrainz GUI (May 19 – May 26): In this phase, the GUI Dialog for MusicBrainz I've proposed will be created and discussed with mentor to make it more feature rich. Moreover, all the programming related to this GUI Dialog, will be done in this phase, to make it more user friendly and eye-candy.
Creating and Programming the MusicBrainz Options GUI (May 27 –May 28): This phase will involve creating the MusicBrainz Options GUI as suggested in this document and programming this GUI to make it more effective. Moreover, if there is any room for make GUI more user friendly and powerful it will be done in this phase.
- Manual Search(May 29 – June 7): This phase will involve implementing the Manual Search and displaying results in the GUI using libmusicbrainz. Different functions related to Manual Search part in GUI will also be implemented in this phase.
- Disc Lookup(June 8 –June 18): This period will involve implementing the Disc Lookup feature.
- Testing Period (June 19 - June 26): This is the final phase of this period. This will involve testing for bugs for the above features and improving them. Moreover, if there is a room for improvement in any of the above features or any feature has to be added, then it will be done in this period. Before Mid-Term Submission this will be the only Bug Testing Period. And all above implemented features will be submitted in the Mid-Term Submission.
- Final Coding Period (June 28 - August 5): After Mid-Term this is the Final Coding Period. This will go till a few days before the Pencil Down date. This period includes following phases:
- Automatic Search(June 28 – July 8): This period will involve implementing the Automatic Search feature.
- Search Files with Albums (July 9 – July 19): In this phase Search Files with Albums feature will be implemented.
- Apply TAGs (July 19 – July 29): This is one of the major feature of EasyTAG and implementing it will not be easy. Hence, I devoted this phase maximum time. This phase will involve implementing the Apply TAG features and even adding few more to make this feature more powerful.
Implementing Options (July 30 – July 31): In this phase, MusicBrainz different options as decided in the previous phase will be implemented. Moreover, the task of linking these options to the above features to make them more effective will be done in this phase.
Testing Period (July 1 – August 10): This is the final phase of this period. Here, the bug testing related to all the above features will be done. Moreover, if any new feature has to be added to make it MusicBrainz search more powerful, it will be added in this phase only. Hence, this phase is given sufficient time.
- Testing Period (August 10 – August 18): A few days before the Pencil Down announcement from Google, this phase will begin. It will involve full Testing of the above features to ensure that each feature works properly and none of them affect working of any other feature. Moreover, any documentation required will be written in this period. Mentor will review the project and will request to remove/add any feature from the project.
- Final Period(August 18 – August 22): The Final period starts according to the Google's announcement and ends according to Google's announcement. In this period, the project will be polished to make it ready for the Final Submission. And at the end Final Submission of the project will be done.