GSOC 2012/Fedora Audio Spin

=Fedora Audio Spin=

Overview
My aim is to collect all the package sources(tarballs) and create RPMs as per the Fedora Packaging Guidelines and hence create a spin which contains all the packages that I have created(which will be included in the main repository) and the packages already in the main repository. All the packages will be audio related, other than that there will be some packages like text editors etc.

The need
1.Making people move their entire Music Production to Fedora.

2.Also, allowing many enthusiasts to do what was previously impossible due to paid third-party applications.

3.The Live-CD version makes it possible for enthusiasts and professionals to carry this in their USB stick or have a CD which will allow for music development/production on the go.

Experience
I have experience writing shell scripts(Bash).

I have basic understanding of Python.

Although I am new to RPM packaging,I am learning it at a fast pace and have tried the same with some tarballs.

Community Bonding Period
1.Searching and adding relevant packages to the final list by holding IRC meetings and talking with the mentor.

The packages will be classified into any of these three groups,


 * The existing packages in the main Fedora Repository.


 * The list of unmaintained packages which will be required.


 * The packages which are only available in Sources(Tarballs).

2.Having detailed discussions with the community and mentor, on Desktop Environment and themes and finalizing it(See the note section in PHASE II for further details).

PHASE I
1.Creating the final list of final packages/tarballs to be added to the main repository and hence to the spin.

2.The packages are those which are chosen from the main RPMFusion and CCRMA.

3.Other packages will be created using rpmbuild and source Tarballs.

4.Submit multiple packages for review( It is the lenghthiest process of all !) and hence add them to the main repository.

Note:Adding additional documentation to Musicians guide if required will be done as per timeline.

PHASE II
1. Configuring a low latency kernel from the stock-kernel which can be done by ,


 * getting IRQ settings right.


 * investigate the possibility of adding realtime patches to the current Fedora kernels.

Why is a Low-Latency kernel required ?

The requirement of a low-latency kernel can be illustrated with the following example,

Say we are playing a drum and it gets recorded to our system and when we try to playback the same or mix it with other tracks, the instrument notes seems to be out of place , ruining the the entire experience and this is due to latency.It feels as if the notes are lagging behind.

So a low latency kernel is ideal for Audio/Video applications.

This task is of HIGH PRIORITY.

2. Pulseaudio to jack bridging and device configuration support will be provided right out of the box either using Fedora Musicians guide or with the help of other documents.Cadence in Kxstudio collection can make the task easier by providing an alternate solution only if it does not ask for LADISH support and is released as a final version.

This task is of HIGH PRIORITY since this is a serious issue reported by many users.

3. Creating the spin as per the Fedora spin guidelines, which will come in two flavors ,


 * A DVD containing all the Desktop Environments and all the packages.


 * A Live-CD containing a smaller subset of all the packages,the most important ones and a lightweight(smaller in size and resource requirements) Desktop Environment.

Note: The Desktop Environment and themes will be finalized only after having discussions with mentor and IRC meetings. Though preference will be given to LXDE for the Live-CD while the DVD will have every desktop environment. Darker themes will be preferred(but may change after having discussions).

Final deliverables
1.Adding new audio packages to the Fedora repository.

2.Creating a spin dedicated to audio which will come in two flavors


 * A DVD containing all the packages


 * A Live-CD containing a small subset of the packages included in the DVD.Only the most important packages will be added.

Timeline
1.April 23 - May 15 : Getting Started (Community Bonding Period) During this I will compile the list of final packages.

2.May 16-June 1 : End-Semester Exams Note:My exam dates may shift two or three days or even a week due to my college administration changing it at the last minute,I will contact my mentor and inform him about the new dates(if any) a week before so that we can reschedule if required.

3.June2 - June23 : Creating and submitting RPM packages for review and adding them to main repository.

4.June-24 - July 13 : Completing at least Phase II -1,2 i.e. configuring the kernel. and pulse->jack bridging.

5.July 13 : Mid Term Evaluations.

6.July 13-30 : Creating the spin and documentation.

7.July 31- August 13 : Adding additional features like KXStudio(See Phase II-2) if a stable version is released.

8.August 13 : Suggested "pencils down" date.

9.August 15 - August 20 : Final polishing and documentation.

10.August 20 : Firm "pencils down" date.

Other details
Other than the details mentioned above, I will be a part of the community forever and will be maintaining the packages that I have packaged during this program and will add new packages.

Have you communicated with a potential mentor? If so, who?
I have been in constant touch with Mr.Brendan Jones User:Bsjones.