I've written a script called "RandomRingtone". This script allows to automatically change the ringtone after each incoming call. It needs MortScript to run (I'm using 4.3b15) and .NET Compact Framework 3.5. Tested on Benq E72, Windows Mobile 6.5 Standard.
Features:
Various work modes:
Regular - it doesn't change ringtone, little useless, but good if we want to "lock" current ringtone for a while,
Random - allows to select random ringtone,
List - user can specify the order of use.
Exlcusion lists: user can specify which ringtones shouldn't be used by script or which calling numbers shouldn't cause to change the ringtone.
Various notification types: after each incoming call name of actually selected ringtone can be shown as a message, displayed on the homescreen or omitted.
Ignore missed calls: when enabled, only answered call will cause to change the ringtone.
Don't change when meeting profile is active: in this profile no ringtone is used so there is no need to change the ringtone.
Detailed informations:
When work mode is set to "Regular", you still can change ringtones. Just click "Next ringtone", then new random ringtone will be chosen. When work mode is set to "Random", each incoming call will cause to select random ringtone. You can also force the change like previously, clicking "Next ringtone". In this mode, when "Loop" option is enabled, each ringtone will be used only once as long as there are ringtones which have been not used yet. When all ringtones will be used, the cycle starts from the beginning. Even if this option is disabled, next ringtone always is different than actually used. When work mode is set to "List", user can create the list with specified usage order. Clicking on ringtone's name will show context menu with options ("Remove", "Move up", "Move down"). When the list ends, it can be repeated or mode can be changed to random or regular (with given default ringtone). Regardless of chosen work mode, user may select to ignore missed calls - ringtone's change will be done only when call was answered.
User can specify excluded ringtones list. These ringtones will not be used by script, so e.g. these ringtones can be assigned individually to some contacts. Clicking on ringtone's name will display additional context menu. There is also one option which may be useful for that purposes - excluding some contacts. Contacts added to the list will not cause change ringtone when they are calling to us. These options are not connected, but when we assign static ringtone to specified contacts, it would be good if their calls will not cause to change the ringtone .. These options give us ability to do that.
Main script ("RandomRingtone.mscr") is automatically executed after each incoming call through other script, "RandomRingtone_loader.mscr", which is executed by "RandomRingtone_preloader0.mscr" or "RandomRingtone_preloader1.mscr". Those scripts are executed by a small program, "RandomRingtone.exe", which is running in the background and checking for incoming call. User should always run main script, not preloader's application or loader's script. When we want to turn on/off preloader, there is an option in main menu - "Active". To automatically start preloader when system starts, enable "Autorun" option in Settings.
After incoming call script can inform us which ringtone is actually choosen. This can be done in two ways: displaying automatically hiding message with countdown (5 sec.) or through plugin on homescreen. I used "CTestUIPlugin" which is the part of "SlidingPanel" (Bronze plugin), unfortunately I don't know how it looks in other phones. In the attachements I've added modified .xml and .cpr files. User may also supress this notifications selecting proper option.
Strings are stored in file "Language.ini". I've created two files (polish and english, sorry for poor translation, there are probably many linguistic errors, so it will be nice if someone would correct this file...). Error / warning / information messages are part of scripts and are only in english. While normal work you shouldn't even see these messages, but when something going wrong, see if in directory where script is stored exists file "ErrorLog.txt".
Ringtones need to be stored in "\Windows" or directly on "\Storage Card".
Installation:
Unpack archive and run "RandomRingtone.mscr". You need to have MortScript installed (tested on 4.3b15).
If you are using "AppToDate", place "RandomRingtone.xml" into your AppToDate folder (usually "\Application Data\AppToDate").
If you are using "SlidingPanel" (Bronze plugin), you can put "SlidingPanel.home.xml" into "\Application Data\Home" and "SlidingPanel_240x320.cpr" into "\Windows" directory. Standard plugin's icon was changed to "2401;2401" (you can do this manually, key "HKLM\Software\Microsoft\CHome\CTestUIPlugin", value "ICONPATHS").
I've attached polish language file, if you want to use them, change name to "Language.ini" and replace with existing one.
Known bugs:
Please report in this topic any bugs, even small or related with poor english translation...
Code:
1. Actual MortScript beta version (4.3b15) seems to has a problem with ExitSub or If...EndIf section, what causes unexpected behaviour even when ExitSub command is in condition which is not true, so shouldn't be processed. By this reason, there is no "Exit" option when we enter into "Ringtones list" submenu, instead of this we need to use "Cancel" softkey.
2. Probably from this same reason MortScript doesn't serve correctly some strings (in "Choice" window), so some ringtones name or options can be displayed incorrectly.
3. Very short incoming calls can cause to not recognize incoming caller number, so when we are using "Excluded contacts" list, script may change ringtone although user is on the list.
4. Few times when system was very low on memory and caller with unknown ID was calling while "Ignore missed calls" was disabled, my phone changed ringtone to default stored in rom.
5. When system is very busy, message which informs about used ringtone may stay in background and not shown.
Changelog:
Version number describes release date (YYMMDD) and version number released in that day.
Code:
100927.01
- Now small .exe application is responsible for incoming call detection, not script like previously. This application is less power consuming than continously running script, which was draining battery too fast.
100503.01
- User can enter script for meeting profile. When meeting profile is active, script will not change the ringtone.
- Minor bugs fixed.
100502.01
- Initial version.
I like it!
An exceptional piece of work!
is it supporting Inesoft Phone 6 ??
I didn't use Inesoft Phone, but it will be working, script uses system registry entries to detect incoming call, not dialer window's title. I don't know exactly what are the features of Inesoft Phone, so some functions may be overlapping but I don't think this happen.
Hi,
I don't know if u r interested in adding any features, but with all the architecture in your script, you might:
Personal tones for text messages
You could also select contacts by using the Cyclone command line app. This way it would pull up the contact list and then select a contact from their...
Of course you would need to handle the playing of the sound for sms.
Mortscript forever?
Hello,
I want to create a "sound only profile" (only sound for calls and sms, NO vibration) in the "System Settings / General / Profiles" section, but it seems I can't set the correct values to do that :laugh:
I have played with the "Ring Mode", "Applications Groups", "Vibrate Mode", ... parameters with no luck. Can any1 help me out here?
s74r69 said:
Hello,
I want to create a "sound only profile" (only sound for calls and sms, NO vibration) in the "System Settings / General / Profiles" section, but it seems I can't set the correct values to do that :laugh:
I have played with the "Ring Mode", "Applications Groups", "Vibrate Mode", ... parameters with no luck. Can any1 help me out here?
Click to expand...
Click to collapse
I'm also on Slim 4.3. I don't actually use the profiles, but having a quick play around with it just now, what happens when you:
1. Pick the settings of a profile (I randomly chose 'Home')
2. Scroll to the bottom of the profile settings
3. Click 'Phone'
4. Turn vibrate off, and sound on.
5. Repeat 3&4 for SMS.
If you also want to disable all vibration in all apps other than the ones specifically listed, then what about repeating steps 3&4 for the 'Other' listing? Ie, two listings above SMS? I would think that would disable all the vibration but make all apps able to play notification sounds, that is for all the apps which aren't specifically listed there. I guess you'd have to configure those individually using steps 3&4.
I have made sure of...
1) Volume is on for the ringer
2) Do not disturb is not enable
3) I can hear the audio from apps - youtube videos, podcasts, music etc
This only started happening with the latest update. After a certain point during up time, I no longer will hear any notification sounds - phone calls, text messages, emails to my inbox, keep alerts, assistant activating
A reboot fixes this.
Anyone else experiencing this?
I've just been around a similar frustrating loop. I'm not a developer and I don't have GAPPS installed so try this and if it doesn't work somebody else more expert may eventually help. Use the settings search box it helps to find your way around. First make sure you have 'Do not Disturb' options turned off (gray). Sound options on my Samsung Lineage17 seem to be in 2 places. The place you find from Settings\Sound shows the volume sliders which should be up. Tap them and check the sound is there. In sound settings you can mute any of these and the green sound bar will show gray. I don't link the ring and notification volumes (gray, off).
Now type 'default notification sound' in the search box and tap the result Default notification sound/sound. Very strangely this puts up the same sound settings as before but with more options to change sound files. I've not yet discovered how to get to this extended screen from Settings. With no GAPPS the default lineageOS sounds are in the OS somewhere I haven't found yet. Installing GAPPS puts Google sound files in the usual root folder.
Before I tried changing from the LineageOS default sound to point my file browser to my custom folder I had no SMS default sound. I had to wipe the System and Dalvick caches then reboot. Since you said you have sounds until some time later, I'm wondering if you have delayed 'Do Not disturb' options set? When you first boot and sound works, check the volume sliders all show green (unmuted). Then when your sounds stop, go back and see if the volume sliders now show gray (muted)? In the past I've found some 3rd party Apps using sounds can interfere with normal default operation and you have to go through the pain of finding the culprit. Good luck.
Hello
I reinstalled my phone. Exactly same as before. Resurrection Remix 6.2. There is one thing I can't set up anymore.
In the status bar, there is an icon to toggle to enable / disable 'do not disturb'. Either it's on or off. Before I had a 3rd option. Do not disturb, except calls. Now, I can't use three profiles. Only two.
I'm sure someone has an suggestion how to set it up correctly.
Again:
Profile 1: Do not disturb (except alarms)
Profile 2: disable 'do not disturb'
Profile 3: do not disturb but calls
I was able to click the icon two times to change the profiles.
Now, if I want activate Profile 3 I have to pull down the icon to enter the settings.
I barely remember that I somewhere changed what the phone understands as high priority. And suddenly a 3rd. type of the icon appeared. But now, I can't reproduce it. Even though it must be possible since I installed the same OS.
nobody?
How do I get a custom ring tone to work? Moto G Power (2020) stock Motorola firmware. Google Fi.
I have downloaded one in mp3 format, put it into the ringtones folder. It plays fine as an mp3 on the phone (audio player).
I go into phone -> settings -> "sounds and vibration" -> "advanced" -> "phone ringtone" and select the mp3.
But whenever the phone rings, it just emits a chime, 1 second delay, chime, 1 second delay sound.
Phone was behaving very oddly. Ring tone was correct when tested in system file picker but as soon as phone rang, it was incorrect and was then incorrect in system file picker. I reset media storage "app". Rebooted to rebuild db. Then readded the ringtone.
I also installed a custom file picker (amaze) and must have initially selected it as "open always" for ringtone. Bad idea as only the default system selector knows about the pre-defined ringtones, so you lose access to these if you switch to a non default