Ringtoned 0.2.4 (now with vibration!)


I just released ringtoned 0.2.4 with a fix to make the N900 able to vibrate again when a call is received.
Ringtoned (displayed in the application manager as “Custom ringtones for your contacts”) is available from extras-devel (that contains a lot of other unstable software!) or from my personal repository:

Install per-contact-ringtones
Install from my personal repository
(follow the link on the N900 browser)

This release fixes the last major reproducible bugs, but I’m sure there are more. If you find any please report them in the bugzilla explaining clearly what you are doing, what you would expect to happen and what happens instead. A log attached to the bugzilla entry is very useful to understand what is going on, and can be easily created by opening a terminal and giving this command:

ringtonedctl -d stop startwait > /home/user/MyDocs/ringtoned.log 2>&1

Then attach the ringtoned.log file that is in your documents directory to the bug report.

Information and Links

Join the fray by commenting, tracking what others have to say, or linking to it from your blog.


Other Posts

Reader Comments

The version works as espected. Not much to add. The ringtone is almost sincronized with ui, a little dellay still, <= 1 second

great work! thanks!

@RaduC:
You mean that the ringtone starts after the UI? Other people were complaining that it’s annoying because it’s faster than the UI.

no!
the ringtone is first then after a second the ui shows up.
sometimes the ui is faster. there are smalll variations of the ui but the ringtone is always first!

Perfect… this version works great…

Hey Marco,

First, congrats on your newest update :). I havn’t had a chance to try it yet, but I’m curious — if you had some time would you mind writing out some of the technical problems you had fixing the few remaining bugs (vibration, delayed ringtones) and your eventual solutions? Mostly just for the curious reader :)

Congratulations for your progress with this project. I haven’t yet installed it, but will give it a try soon.

It was interesting to read the blog posts about this project, and the comments. I’m a programmer myself (though not for the N900), and I’d like to share my thoughts for what it’s worth.

One comment on a previous blog post, mentioned how hard it is to wrap advanced ringtone settings into a GUI that is easy to understand. He said:

How do you present what will happen if:
- that specific number calls when you are in a meeting?
- that number calls during office hours?
- that number calls evenings/weekends?

- that number calls while you are busy using voice chat?

I think such a flexible configuration can be solved with “ringtone profiles”. A profile can be created in a special editor, which can either live in the “settings” area or in the “ringtone” app. Several (named) profiles can be created, with as complex definitions as desired. Then, in the contacts area, a profile can be assigned to the contact to activate it. The same menu that lets you assign the profile, can also contain a shortcut to the editor for creating a new profile on the fly.

Another of my thoughts is about what Marco said about delays in incoming calls. One of the things you mentioned, is that contacts have to be looked up to find the ringtone to play. This may not be the slowest part of the whole chain, but it’s the easiest to improve.

On incoming calls, you must match the number to a ringtone. For an agenda of 1000 contacts (for example), and a maximum length of a phone number of say 20 digits (I know numbers used to have 15 digits max but believe this was changed recently), and 65536 possible ringtones, all data you REALLY need is 22 kb.

Yet the contacts application surely reads a lot more data from storage, and occupies quite some memory in itself too. And possibly the reads are extra-inefficient when your application and the telephony application scan the contacts concurrently.

The smartest way to speed up this portion of the chain, is to CACHE the necessary information in your own realm – in your own memory (and preferrably memlocked). Obviously this requires the existence of some notification system for when a new contact is added or an old one is changed, so that your application can update the cache. I don’t know if that exists, an the workaround would be ugly (re-scan periodically and/or on user demand).

Just my 2 cents..

@marc:
Note that at the moment I don’t want to implement any advanced setting: it takes time, it makes the UI more complicated for the vast majority of people that use the basic features, it makes testing and maintaining painful.
But ringtoned uses plugins to do the policy decisions, if anybody wants he can implement a plugin as complicated as he likes and the difficult generic bits are done by ringtoned.

Contacts lookup can be improved, but it’s not trivial as it looks. The address book library already does almost everything we need and it’s fast enough. You have to consider that matching phone numbers is a bit tricky, there is also voip support, etc.

Thanks for the update, the app works perfectly now! You’re a genious!! Didn’t miss the vibration much, but it’s still practical to have the possibility to use it :) Thank you for this app, this makes the phone complete for me :)

hi mr. thanks for the latest version wif vibrate. u r genius man. just install n notice some problem. fyi, i also using controlpanel profilex before i install ur application in my n900. ok firstly, i set custom ringtone then i try call to my n900. so far ok. then i rechange the ringtone to other song. i call again what happen both default ringtone from profilex n custom ringtone are hear at the same time. what i did? i go to terminal x, type ringtonedctl stop, then ringtonedctl -d stopwait, ctrl c, then ringtonedctl start. close terminal x. i try call again ok. sorry for my english.

I had to disable tweak app to get the ringtone working. Custom ringtone > Tweak

Thanks

P.S. Please custom ringtone for SMS too :)

Great work man. It is working fine. I tested it and everything is working pretty well.
Excellent job man …

Awesome work man. Looks like you have it dialed in for the most part.

mr barisione, problem that i wrote at 9th posting is my mistake. forgot to reboot after install. now everything ok. thanks ya…

Downloaded it last night – great work. No problems so far. Cheers

Hi Barisione

Simply great job! Its working for my one assigned contact.

Please develop something for group ringtone that will be very useful for various groups like business, personal, friends etc.

Thanks a lot one more time.

No vibration on my N900.. What i´ve done wrong?

@Hase:
Are you sure you are using the right version? (“dpkg -l ringtoned” should show 0.2.4)
Is the vibration enabled for the current profile?
If the answer is yes to both question, does it still not work if you reboot?
Please let me know the answer to these 2 questions. If you are not doing anything wrong I will tell you how to debug the problem.

Yes, version is 0.2.4-0 and vibration is enabled both of my profiles. I have rebooted and I took battery off and back on. No help.

One more thing, I dont know is this important but when my phone rings, it sounds that there is some high frequency “sound” on the background. I think that might be the vibration but no actually vibration happened.

If I change ringtones, same sound comes. And sms sounds…yes..same background sound.

And once more…sorry guys.

Now I disabled vibration and that high frequency noise is gone!

So vibration is there but actually no vibration is happened, only that sounds which indicate vibration. Something is really wrong.

@Hase:
What happens if you uninstall ringtoned.
You said you don’t get vibration also for SMSes, are you sure? Ringtoned doesn’t do anything related to SMSes.

Yes, my problem is somewhere else. It seems like that vibration do not work at all.

Hi Mario.

finally I was able to test this version.
and it works very great at the moment.
ringtone play < 1sec before UI starts, which is good. No more delay.
Also vibration is working good on my side.

So what now? ^^ You should take some times off and relax yourself.

Then maybe we can think about making ringtoned multilanguage.

:)
Thanks again!

Custom Ringtones Nokia N900 available in
http://blog.barisione.org/2010-07/custom-ringtones-for-your-contacts/
Thanks Marco Barisone, it is a GREAT JOB, it work almost perfectly
Almost…because some times sound two tones at same time, may be my sound format?

Where can I get the source code?

I released ringtoned 0.2.5 that fixes some bugs, add some features and makes it possible to translate ringtoned.

@NightShift79:
Translations were already planned ;)

@Filipe Giusti:
http://git.collabora.co.uk/?p=user/bari/ringtoned.git;a=summary
(If you cannot find the source of some program you can alway use apt-get source).

It’s easier to contribute and keep in sync with the latest code if you can read from the official repository.
:)

Hi Marco.

Just installed your new 0.2.5 version.
Works good, as expected… didn’t notice any changes compared to 0.2.4.

Could you tell how ringtoned can be translated? I would start a german translation, then.

regards.

Hi Barisione

After installing 0.2.5, I noticed following new changes in “Contacts”:

In “Settings” inside the default “contacts” there are 2 new things.

1. Ringtone for unknown callers
2. Ringtone for anonymous callers

Now after installation I have set 2 different tones for above two things which is apart from the default ringtone & a two custom ringtones for my two contacts.

When I called from one number that is not saved in my “Contacts” i.e. my phone book, the default ringtone only sounded. None of the unknown/anonymous ringtone rang.

May be I am not clear in “unknown” & “anonymous” terms. Please explain.

All my default/custom/unknown/anonymous ringtones are different MP3s.

Please explain.

@NightShift79:
I will blog about it later today.

@Samir:
Anonymous is for when the phone number doesn’t appear. Unknown when the caller is not save in the contacts.
If it doesn’t work for you can you please report a bug with the log as explained in this blog post?

Hi Barisione

Today installed the very recent 1.0 version (the version mentioned may be wrong but surely the latest one) & found working perfectly alright.

Being a new to maemo/bugs reporting, I couldn’t get how to report the bug log. Please help me out how to generate the one.

I released a new version of per contact ringtones with more translations. If it works for you could you upvote it on its page on maemo.org so I can promote it to extras?