If you’ve been saying the above statement before, this program is for you.
It’s an alarm clock application for S60 phones (more specifically Nokia 5800) written in Python
The code is NOWHERE near what you’d expect of released code to be – this is NOT a release, rather a preview
This is my first piece of code written in S60 Python. The code is not pretty, not well designed, not nothing – it’s just a proof of concept; helping me get to know the S60 python modules, and wake up on time.
The main feature of this program, that I could not find a ready-made S60 application that already accomplishes this, is the use of a random tune for every alarm.
Don’t you hate it when you choose a song for an alarm clock, and find yourself hating the song ever after? Spazzing just a little bit every time you hear it?
By choosing a random song every morning, you get to hear many of your favorite songs, without slowly developing hate towards them.
The second feature, is “fade in”. The song is initially played in low volume, which is gradually turned up.
Don’t rely on this code to wake you up for important meetings, it is probably full of bugs. It can’t save your last alarm properly (even though it tries to), but it will save your songs path.
It is also semi-automatic, meaning you’ll have to set the alarm every night, it won’t do so automatically (yet!).
It won’t survive phone shutdown either.
It seems like python can’t overcome these obstacles easily, but I’ll try to improve it in the future. If I tried to code it with the bare Symbian API, it wouldn’t have reached the somewhat functional state it is in today…
I only post it here because I have started using it almost daily, and that both lowered my motivation to work for a more complete solution, and urged me to post the code somewhere, as other people may find it useful.
It can also serve as a demo for S60 Python API use.
I have only tested it on Nokia 5800 which is S60 5th edition, with python 1.9.4.
Other configurations may cause nuclear fusion.
Feel free to do whatever you want with the code.
As a side note, during development I have used pys60-compat which is a wxPython based implementation of portions of the S60 python framework – meaning it let’s you run python code written for s60 in a testing environment on your desktop.
It is somewhat outdated, and I have added some extensions of my own, which I may release in the future.