Summer of code

Ian Monroe ian at monroe.nu
Sun Mar 2 21:49:57 CET 2008


I've added ideas 2 - 4 in the following list, thought I would email the list
to make sure the ideas make sense to everyone. And perhaps inspire folks to add
their own ideas for Summer of
Code<http://techbase.kde.org/index.php?title=Projects/Summer_of_Code/2008/Ideas#Amarok>
.

The student submissions are coming up fast - March 24-31 IIRC. So we need to
get polish our ideas and then really get the word out. I was thinking
perhaps we could have a form letter that everyone could send out to their
local Linux User Groups or to other lists that have lots of computer science
students.

Thanks,
Ian

*Project:* Nepomuk collection

*Brief explanation:* Amarok 2 has a plug-in system that allows it to access
music metadata from various backends. A plug-in to read and write data to
and from Nepomuk should be written in this project. Additionally, Amarok
should be extended to make real use of Nepomuk's capabilities by re-adding
labels support.

*Expected results:* A plugin to use Nepomuk as a metadata store from Amarok.
Additionally, support for labels should be added to Amarok 2.

*Knowledge Prerequisite:* C++ is essential, knowledge of Qt and KDE would be
helpful

*Mentor:* Potentially one of several. Contact the amarok mailing list or ask
in our IRC channel #amarok
------------------------------

*Project:* UPnP Support

*Brief explanation:*Using the UPnP protocol users can, for example, share
music from their Vista computer to a PS3. Amarok lacks any sort of UPnP
support. Being able to act as a client (the PS3) or possibly a UPnP media
server (Vista) would be useful. See libupnp
<http://pupnp.sourceforge.net/>for more information about UPnP's
implementation in open source. The nature
of how UPnP works would need to be researched a bit more, as the creator of
this idea (Ian Monroe) has only seen it in use on friends computers. :)

*Expected results:*

   - Using either Amarok's Internet Service framework or the straight
   Amarok collection framework, create a plugin which allows Amarok to browse
   and play music off of a UPnP share. Playing music may require the creation
   of a KIO for UPnP.
   - Allow Amarok to share it's collection with other devices via UPnP.
   This is secondary priority and may not be feasible to accomplish during
   Summer of Code.

*Material Prerequisite:* Some UPnP devices or computers to test with.

*Knowledge Prerequisite:* C++ is essential, knowledge of Qt, KDE and
networking would be helpful.

*Mentor:* Potentially one of several. Contact the amarok mailing list or ask
in our IRC channel #amarok
------------------------------

*Project:* Amarok Scripting

*Brief explanation:*Starting with Amarok 1.2, Amarok has enabled scripting
through a script manager and its DCOP interface. For Amarok 2 we have a
straight port of the old DCOP API to DBus. The old API was created over
time, and perhaps could be thought out better. Additionally KDE 4 has
introduced technology like Kross that could allow true integration of
scripts into Amarok, including GUIs. In-process scripting has its own issues
though!

*Expected results:*

   - This is a more open-ended idea. Contact the Amarok mailing list or
   on IRC to get help working out the proposal.


   - Perhaps redesign the Amarok DBus API
   - ..and/or add a Kross interface and then
   - Create a script showcasing the technology.

 *Knowledge Prerequisite:* C++ is essential, knowledge of Qt, KDE and Ruby
would be helpful.

*Mentor:* Potentially one of several. Contact the amarok mailing list or ask
in our IRC channel #amarok
------------------------------

*Project:* CD Ripping

*Brief explanation:*Amarok has never really felt a need for good CD ripping
support. We always felt there were better programs suited for this task.
This hasn't stopped folks from finding ways to use Amarok to rip their CDs
though. ;)

*Expected results:*

   - An excellent CD ripping solution integrated into Amarok.
   - Cross-platform (Linux, Mac, Windows)
   - This task is not too large, so there would be higher standards of
   polish.

------------------------------

*Project:* Mass-tagging

*Brief explanation:* Users sometimes have poorly tagged tracks. Amarok has
always lacked an easy way to download information about tracks from FreeDB
or Musicbrainz and then tag multiple tracks at once.

*Expected Results:*

   - To bring the functionality of programs like EasyTag or
PicardQt<http://musicbrainz.org/doc/PicardQt>into Amarok.

------------------------------

*Project:* Advanced stream saving

*Project would mostly have to be implemented at the Phonon or phonon-backend
level or perhaps like Gst or Xine itself, only trivial code in
Amarok.*Though it would be useful!

*Brief explanation:* Amarok does not offer functionality to save Shoutcast
or other streams while listening. Additionally, many songs or mix sets have
an introductory part before the part that makes one want to save it so a
ring buffer would be a very nice thing to have. It would work like this:
-User listens to stream, Amarok starts keeping the last -say- one hour saved
to disk, discarding old stream data as new data arrives. -User wants to save
the mixset she is listening to ten minutes into the mix. She clicks on "save
stream" in the menu and now she is offered a way to choose the beginning of
the recording *from the past one hour*. After choosing a beginning and a
file name Amarok starts saving from the chosen time, adding new material as
it arrives and is being listened to.

*Expected results:* Be able to save a stream to listen to it again later
without the need to record everything out of fear of losing the beginning of
a great song/mix.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/amarok-devel/attachments/20080302/fb98c61e/attachment.html 


More information about the Amarok-devel mailing list