So PythonCamp is in the history for this year and I couldn't talk about creating GUI application with Glade and Python in minutes.
But after finding the cool application groove-dl and creating my own Gtk based alternative with the features
I'd like to have I'm sure that the next time I will give a talk about this topic.
So now what is gSharkDown - it's player and downloader using the grooveshark.com service. With it you can download your beloved mp3s or
create a playlist and listen the songs without downloading. So how did I came to creating this application.
Some gSharkDown history
Well I like the grooveshark.com service, but sometime I like to download an mp3 and listen it in my car for a while (you know some cars
don't have Internet access). So I started searching for application that will do this. I knew how the grooveshark works and what kind of
request are made to reach the stream.php and send the methods, but I was lasy. So the search gave me a lot of useless applications (not that
the applications where useless, but they were made for Windows).
So after a while I found the groove-dl application developed by George
Stephanos and looked how simple and efficient it was. The only problem was - I had to download the song instead of hearing it first.
Groove-dl was what it says - a GrooveShark downloader, the GUI library wxPython was not my favorite and I wanted to extend my knowlage about
pyGtk. So the same day I started developing my own application based on the groove.py library. George a.k.a. jacktheripper51 gave me the
permission to include the library in gSharkDown under the GNU GPL License v.3. After 3 day of coding and testing I got a working application.
Simple and yet just the way I like it.
What can gSharkDown do
First of all - you can not do multidownload - that's what groove-dl is for. gSharkDown is more about playing, having cool features and downloading
the files one by one. Here is the list of all the implemented features:
- Searching the grooveshark.com for songs with completition (the completition strings are saved in the configuration file)
- A playlist where you can put selected song from the search results
- Integrated player that will loop trough the playlist
- A information dialog with image for a selected song from the search results
- A download button, that will download a selected song from the search results
- And a nice status icon (the icon and the tooltip are updated when the player is working)
That's almost everything that I wanted, ofcourse there are some features that I will like to implement:
- There should be some indicator to show witch song is playing in the playlist
- The playlist showld be saved somewhere, so you could load it the next time
Where to get gSharkDown
gSharkDown is hosted @ bitbucket.org and you can download either the sources or the .deb
package for Debian/Ubuntu. I'm pretty bad at packaging, so any help for making rpms, aurs etc. is welcome. A windows version will be cool to and
is possible, but first I have to figure it out how to use a custom gtk theme in my application, otherwise it looks very very ugly.
If you are going to use the sources that the following dependencies shoud be met:
If you use older version of Python (<= 2.6) then simplejson should be installed too.
I'm as always open for suggestions and code commits in the bitbucket repository.