FORUMS
Remove All Ads from XDA

[APP][SVC][Apr 4 2010]ReRemind V7 / Periodic audible reminders for waiting events

893 posts
Thanks Meter: 60
 
By thx1200, Recognized Developer on 27th March 2009, 05:44 AM
Post Reply Email Thread
Although I do read every post here in this thread, it would make my life easier if people submitted bugs and requested features on CodePlex and saved this thread more for general discussion and peer-to-peer help. Thank you!

Submit bugs on CodePlex: http://www.codeplex.com/ReRemind/WorkItem/List.aspx
Request features on CodePlex: http://www.codeplex.com/ReRemind/Thread/List.aspx

Overview
ReRemind is a simple Windows Mobile service that will play a sound at a specified interval when an event is waiting your attention. This is particularly useful for devices that lack standard amber/green notification LEDs (like the Diamond / Touch Pro), but can be used with any WM device if you want audible notifications.

CodePlex
ReRemind development is hosted at Microsoft CodePlex! http://www.codeplex.com/ReRemind

Tip Jar
Like this app? Want more like it or quicker updates? Tip a buck (or Euro or Pound or whatever) or two to help the author out! Click here to make a safe donation via PayPal.

Current features
- ReRemind will notify you when reminders (calendar) are active, there are missed calls, new voicemails, unread SMS, unread MMS, and/or unread email.
- You can be reminded at any interval you specify, in minutes.
- Rereminders can be turned off during a time span (such as overnight).
- Play any WAV file! But sound must be less than about 10 seconds long, or it may be cut off as the device moves from UNATTENDED power state back to SUSPENDED power state.
- Optionally vibrate device in addition to playing a sound.
- Specify that ReRemind stops reminding after a certain number of rereminders.
- AppToDate support
- Very power efficient. All checks are done using the State and Notification Broker and Named Events in the notification queue. Playback is done (by default) in unattended mode. The service does not periodically "ping" because it waits for events, so it's completely idle as long as the state of the monitored events are not changing.
- Cleans up after itself! Don't you hate it when apps use the notificaton queue but leave stale notification events lying around requiring you to run something like MemMaid to clean it up? ReRemind always checks to see if a notification is waiting when it is signalled to exit. If a notification is waiting, it clears it out.
- TRUE SERVICE! Does NOT use one of the precious few 32 process slots on Windows Mobile. The app you see in the StartUp folder is simply to turn on the service. This is due to unsigned services being unable to autostart.
- Can optionally work around the bug in Windows Phone 6.5 noted here: http://forum.xda-developers.com/showthread.php?t=469186

** If you edit ReRemind's settings in the registry directly, you must restart the service. This is most easily accomplished using the StopReRemindSvc and StartReRemindSvc EXEs in \Program Files\ReRemind

Planned features
- A different WAV for each event
- Maybe custom events by monitoring arbitrary registry locations for changes

Known Issues
- None right now...

History - More details at CodePlex
V7 - Added notification: unread MMS. Config app supports wav and vibration preview. Works around bug in WM6.5 where all-day reminders will not make a sound or vibrate. There are limitations, however: sound file specified in Sounds and Notifications for Reminders MUST be a WAV; AutoSnooze is not supported.
V6.1 - Fixed a bug where VGA devices no longer could see the "select a folder" button.
V6 - Added support for standard devices to use the config app (untested); Fixed a bug where some pre-6.1 devices detected as 6.5 devices, leading to alarm notification problems.
V5 - Startup bug fix, WM 6.5 bug fixes, vibrate support, stop reminding after time (optional), AppToDate support.
V4 - BETA - Fixed SMS/Email notification bugs. Deletes stale notification queue entries on startup/exit for if device crashes. Added 10 second delay to start service on boot.
V3 - BETA - Fixed (very) minor resource leak. Silent service start options.
V2 - ALPHA - Added Unread SMS and Email notifications. Added config app. Added messageboxes for starting/stopping service.
V1 - ALPHA - Initial release

Detailed changelog is available on CodePlex in the notes of each version

Download
CAB Installer: http://www.codeplex.com/ReRemind/Rel...tReleases.aspx
Source Code: http://www.codeplex.com/ReRemind/Sou...leCommits.aspx

Installation
1. Install the CAB
2. That's it! Seriously!

Requirements
- Windows Mobile 6.0 and newer.
- Standard devices (no touch screen) can use the service but the config app will not work. You will need to edit the registry and restart your device to change settings.
The Following User Says Thank You to thx1200 For This Useful Post: [ View ]
 
 
27th March 2009, 05:44 AM |#2  
thx1200's Avatar
OP Recognized Developer
Flag Raleigh, North Carolina
Thanks Meter: 60
 
More
Registry Settings
Settings are stored in HKCU\Software\Avian Waves\ReRemind

NotifyInterval (DWORD) - Minutes between rereminders
UseInactiveTime (DWORD) - Enable the 'do not notify between these hours' setting.
HourInactiveStart (DWORD) - Hour (in 24hr format) for the inactive (do not notify) start time (inclusive).
HourInactiveEnd (DWORD) - Hour (in 24hr format) for the inactive (do not notify) end time (exclusive).
NotifyReminder (DWORD) - Notify with undismissed reminders
NotifyMissedCall (DWORD) - Notify with unread missed calls
NotifyVoiceMail (DWORD) - Notify with unread voicemails
NotifySMS (DWORD) - Notify with unread SMS messages
NotifyMMS (DWORD) - Notify with unread MMS messages
NotifyEmail (DWORD) - Notify with unread emails
NotifyWhileOn (DWORD) - Play notification while device is powered on (screen is on)
PowerOnBeforePlay (DWORD) - Wake device fully before playing sound
StopNotifyAfter (DWORD) - Stop rereminding after this many rereminds (0 = infinite)
Vibrate (DWORD) - Vibrate while playing notification
VibrateLEDIndex (DWORD) - LED index of the vibrator (usually 1)
SoundFile (STRING) - full path to the sound file to play (must be WAV)
AllDayWorkaroundHack (DWORD) - Enable the All Day reminder workaround (see top post)
27th March 2009, 08:05 AM |#3  
Ather's Avatar
Retired Senior Moderator
Thanks Meter: 731
 
Donate to Me
More
ReRemind V1 Config Tool
Requirements : .NetCF 2.0!
Overview : a little proggy i coded just now to config ReRemind V1


When the app loads, it lists the defaults value in the boxes, so just change it according to your needs

Download Link :
see attached


Ps. excuse the image, its my irfan's view setting, i forgot to change it, and im not in the mood to run the Emulator again, as my device is currently busted ;/
Attached Files
File Type: cab Ather ReRemind V1 Config.cab - [Click for QR Code] (12.6 KB, 371 views)
27th March 2009, 08:35 AM |#4  
oldsap's Avatar
Senior Member
Thanks Meter: 10
 
More
thanks ather for the config tool
27th March 2009, 08:39 AM |#5  
oldsap's Avatar
Senior Member
Thanks Meter: 10
 
More
@thx, does this work for sms too?
27th March 2009, 10:05 AM |#6  
DANDANA's Avatar
Senior Member
Thanks Meter: 17
 
More
@ather90
i think your conf prog will mess up few keys from dword to string..
or i'm doing something wrong...
27th March 2009, 10:44 AM |#7  
Ather's Avatar
Retired Senior Moderator
Thanks Meter: 731
 
Donate to Me
More
hmm, my app just reads the default values, and lets u replace them, dont know about them messing them up

as i said, i only tested in an emulator, not a real device ;/
27th March 2009, 10:53 AM |#8  
DANDANA's Avatar
Senior Member
Thanks Meter: 17
 
More
Well, initially all the keys are dwords except the SoundFile witch is string. After using your conf and press set all keys except HourInactivityStart and NotifyInterval are changed to strings.
27th March 2009, 11:46 AM |#9  
BlockbusterF's Avatar
Senior Member
Thanks Meter: 10
 
More
If it could also remind me at unread SMS/MMS messages this little tool would be perfect.
Keep on the good work. :)

fRED
27th March 2009, 12:09 PM |#10  
Quote:
Originally Posted by BlockbusterF

If it could also remind me at unread SMS/MMS messages this little tool would be perfect.
Keep on the good work. :)

fRED

+1
And of course e-mail...
Neet little app...
Prefer it over missedcallreminders
27th March 2009, 12:27 PM |#11  
Ather's Avatar
Retired Senior Moderator
Thanks Meter: 731
 
Donate to Me
More
hmm weird, here is the full code
Code:
using System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;

namespace ReRemind_V1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            //telling the program to load the current reg entry on startup

            RegistryKey rk = Registry.CurrentUser.OpenSubKey(@"\Software\Avian Waves\ReRemind");
            textBox1.Text = rk.GetValue("NotifyInterval").ToString();
            textBox2.Text = rk.GetValue("UseInactiveTime").ToString();
            textBox3.Text = rk.GetValue("HourInactiveStart").ToString();
            textBox4.Text = rk.GetValue("HourInactiveEnd").ToString();
            textBox5.Text = rk.GetValue("NotifyReminder").ToString();
            textBox6.Text = rk.GetValue("NotifyMissedCall").ToString();
            textBox7.Text = rk.GetValue("NotifyVoiceMail").ToString();
            textBox8.Text = rk.GetValue("NotifyWhileOn").ToString();
            textBox9.Text = rk.GetValue("SoundFile").ToString();
            textBox10.Text = rk.GetValue("PowerOnBeforePlay").ToString();
        }

        private void menuItem2_Click(object sender, EventArgs e)
        {
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(@"\Software\Avian Waves\ReRemind", true);
            rk.SetValue("NotifyInterval", textBox1.Text);
            rk.SetValue("UseInactiveTime", textBox2.Text);
            rk.SetValue("HourInactiveStart", textBox3.Text);
            rk.SetValue("HourInactiveEnd", textBox4.Text);
            rk.SetValue("NotifyReminder", textBox5.Text);
            rk.SetValue("NotifyMissedCall", textBox6.Text);
            rk.SetValue("NotifyVoiceMail", textBox7.Text);
            rk.SetValue("NotifyWhileOn", textBox8.Text);
            rk.SetValue("SoundFile", textBox9.Text);
            rk.SetValue("PowerOnBeforePlay", textBox10.Text);
        }

        private void menuItem1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("ReRemind V1 by thx1200\nConfig Tool by Ather");
        }
    }
}
Post Reply Subscribe to Thread

Tags
notify, remind, reminder, reremind

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes