My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
Development  
How to build Mobbler and make contributions
Featured, Phase-Implementation
Updated Jan 14, 2010 by eartle@gmail.com

Introduction

Mobbler is an open source project. Please feel free to checkout the source and build it yourself. Instructions below.

If there is something you want to change, please change it. I would love to include your improvements in the project.

If you raise an issue on the issues tab and attach your changes, I will try to include them as soon as possible. If it's a large change or something that might be controversial, please raise an issue first so that we can discuss it before putting any work in.

I may consider adding you as a project member after making a few changes (not really sure on the criteria yet) so that you will be able to submit changes yourself.

Build Instructions

Get the Mobbler source code

Please go to this page for instructions on how to check out Mobbler using Mercurial.

I recommend that Windows users use TortoiseHG which is a lovely Windows Explorer plugin that makes it easy to do pretty much everything you would want to do with Mercurial. It's not as polished as TortoiseSVN yet though.

Install Carbide

If you are reading this then you probably already have Carbide installed, but if not, you can go to the Symbian tools and kits page to download and install the latest version of the Application Development Kit (ADT) which includes Carbide. It's an IDE based on Eclipse that you will do your developing in.

Get a Symbian SDK

Download and install a Symbian SDK linked to from here. You can also use the 3rd edition Feature Pack 2 SDK, if you prefer, which can be found here.

Install S60 SDK API Plug-ins

To do a complete build of Mobbler you will need a few Nokia SDK API Plug-ins. If you just want to build a basic version of Mobbler, without music player observing and some other features, you can skip to the next step.

The page containing the main SDK API Plug-ins can be found here.

The plug-ins you will need for Mobbler are the Browser Launcher API, Music Player Remote Control API, SW Installer Launcher API and the Audio Metadata Reader API which are all included in the zip file here. You will need to install the 5th edition SDK extension bundle for the MPX APIs found here. You will also need the Nokia Sensor APIs from here.

Build Mobbler

Without plugins

Without the SDK plugins you will only be able to build the main Mobbler executable.

If you are using Carbide, you should import the project, but untick everything except for mobbler.mmp and icons.mk. You can then build it as usual.

You can also build on the command line using the normal build tools as below.

cd group
bldmake bldfiles
abld build icons
abld build winscw udeb mobbler
abld build gcce urel mobbler

With plugins

This should just be the normal Symbian build process.

If you are using Carbide, you should just import the project and build it as usual.

You can also build on the command line using the normal build tools as below.

cd group
bldmake bldfiles
abld build winscw udeb
abld build gcce urel 

Create the .SIS file

The mobbler.pkg file included in the Mobbler source is written to be used within Carbide. You can get Carbide to build the .SIS for you by adding it in the project settings. Please choose to self sign the .SIS file and select the mobbler.cer and mobbler.key provided. The mobbler.pkg is also written to include all the plugins, if you are building without the plugins and want to install to your device, you can comment out the line that include the plugins.

Comment by project member hugovk@gmail.com, Oct 17, 2008

Create the .SIS file on the command line

1. First edit the mobbler..pkg and replace $(EPOCROOT) and $(PLATFORM)\$(TARGET) with real values, for example: "D:\S60\devices\S60_3rd_FP2_SDK_v1.1" and "gcce\urel\"

2. Then type the following to make the .SIS and then sign it.

makesis mobbler.pkg
signsis mobbler.SIS mobbler.SIS mobbler.cer mobbler.key
Comment by pbextreme@gmail.com, Dec 8, 2008

There were 2 things I wanted to fix in 0.3.1 of Mobbler and I've been success in that quest. The first was an issue that surfaced when I switched from 0.2.4 to 0.3.1 on my Nokia N95 8GB. The older version provided rock-solid audio playback (except when buffering). On the newer version however there were many tiny breaks in the audio (perhaps less than 1/10th of a second, but very annoying).

I originally thought it was just a matter of increasing the priority of either the applet or the Active Object used to read in the stream. Neither of these things helped, and so I looked at what you were doing to advance the progress bar. Apparently you are rebuilding the ENTIRE SCREEN countless times each second and this uses tons of processor power. By rewriting code so that ONLY the progress bar is rebuilt and repainted the micro breaks GO AWAY. You should consider this in your official version.

The second problem I wanted to address was the rather short buffer time, which depending upon the time of day sometimes results in a lot of re-buffers (even when using a WiFi? connection). The problem is the latency to your server over there in the UK (I'm in Canada). Changing the buffer time was of course a piece of cake, but a great suggestion would be providing a user-settable buffer time. I added that to my copy.

Comment by project member eartle@gmail.com, Dec 9, 2008

@pbexterme

If you would like to see these changes in Mobbler then please create a new issue for each one, using the issues tab above. Add a diff containing your changes and I will then look into including them.

Cheers!

Comment by pbextreme@gmail.com, Dec 9, 2008

The modifications I made are rather sloppy, since they were based on just 12 hours of exposure to the source code. In other words, they are hacks that also include changes I made to suit my own personal tastes.

I'd hoped that describing how I dealt with the issue (the excessive use of processor power to update the screen needlessly) would help you to formulate a fix that better integrates with your application as a whole.

Comment by mhbrug...@gmail.com, Mar 1, 2009

Hi guys. I like the approach that you are taking here. Would it be possible to modify the code to work on simple series 40 devices (Nokia 6300?). Just a way to scrobble plays would be fantastic. Thanks

Comment by liepumar...@gmail.com, Mar 2, 2009

I'm also looking for a s40 last.fm scrobbler, one that I could use offline and upload info to last.fm via PC.

Comment by afzal...@gmail.com, Mar 22, 2009

@liepumartins and mhbrugman, for any app to work on S40 devices, it has to be a j2ME app

Comment by quincasb...@gmail.com, Jun 8, 2009

Hey, I'm a very interested s40 user. I'm wondering if it is possible to create the same functional scrobbler for s40. Users like me really miss the possibility to scrobbler songs listened in a mobile phone.

Comment by mawarn...@gmail.com, Jun 16, 2009

hi im trying to import the project into carbide with very little success, would it be possible to have a couple of quick points on how to do it?

Comment by c.rosenf...@gmail.com, Jul 1, 2009

Just curious -- Is there a way you can select for Mobbler to only get tracks when connected to Wifi, rather than going to the cellular network for data? Or is that functionality there and I'm simply missing it? (Sorry, still an S60 and Last.fm noob.)

Comment by ashwin.murali, Jun 30, 2010

Hi guys! Great work and even greater codebase!

Is there a document detailing the codebase for someone to start off???

Comment by project member hugovk@gmail.com, Jul 1, 2010

Thanks Ashmin,

No documentation other than this wiki and the code itself. The best thing to do is pick an existing bug or enhancement (and leave a comment), or create one yourself, and dive right in!


Sign in to add a comment
Powered by Google Project Hosting