The Alarm++ file format (.alarm) is in XML format. Since this is a text file, you can edit it yourself. This can be useful if you want to modify all of your alarms the same way. For example, you might move your media files to a different directory or want to change all instances of notepad.exe to some other text editor.
For example, an Alarm++ data file might contain this:
<media type="media" repeat="no"> <beep frequency_hz="500" duration_ms="250" /> <file>C:\Users\Guest\My Documents\My Sounds\Television\MyClip.wav</file> </media>
If you move the MyClip.wav file and have a lot of alarms that refer to it, you can edit each alarm in Alarm++ one at a time, but editing the Alarm++ data file is a faster way to make those changes.
If you do edit an Alarm++ data file, you must ensure that Alarm++ does not have it open when you do.
Every .alarm file begins with this line:
<?xml version="1.0" ?>
This tag is the main container of the file. There can be only one.
The document_alarm_plus_plus tag must have the correct version attribute. You should look at an existing alarm data file to determine the current version number.
version="10"
The tag must also have the Alarm++ version and current timestamp as attributes.
alarm_plus_plus="8.0.0.418" timestamp="Saturday 28 March 2009 3:00 PM"
This tag describes workdays and vacation days. There can be only one.
This tag contains a list of the weekdays you want to designate as workdays. There can be only one. It can contain any or all of the following values:
<sun /> <mon /> <tue /> <wed /> <thu /> <fri /> <sat />
This tag contains a list of specific dates that aren't workdays. There can be only one. It can contain any number of non_workday tags.
<non_workday>7 September 2009</non_workday> <non_workday>1 January 2010</non_workday>
This tag contains all of the alarms. There can be only one.
This tag represents a single alarm. There can be one or more of these tags.
Each alarm tag must have the correct version attribute. You should look at an existing alarm data file to determine the current version number.
version="30"
The following tags are used to specify the various properties of an alarm.
<name><![CDATA[... name ...]]></name>
The message tag is only used if the message_rtf tag isn't specified. No special formatting is applied to this text.
<message><![CDATA[... message ...]]></message>
The message_rtf tag can be used to specify font size and color and other text formatting in the message text.
<message_rtf><![CDATA[... RTF code ...]]></message_rtf>
This tag contains the information the alarm uses to calculate when events go off and how they repeat.
<event_datetime_base found_event="1">1 October 2007 18:00</event_datetime_base>
The event_datetime_base is when the next event will occur. Note that this value does not take into account the alarm's (optional) offset.
<repeat magnitude="1" type="months" />
The repeat type can be one of these values:
minutes hours days weeks months years
This optional tag contains the restrictions on the alarm's events.
The weekdays tag indicates the weekdays on which the event can occur.
<sun /> <mon /> <tue /> <wed /> <thu /> <fri /> <sat />
The weeks_of_month tag indicates the weeks on which the event can occur.
<first /> <second /> <third /> <fourth /> <last />
The time_restriction tag indicates the time range within which the events can occur.
<time_restriction> <begin>07:00</begin> <end>19:00</end> </time_restriction>
The event_datetime_post_offset tag is when the next event will occur. This value takes into account the alarm's (optional) offset.
<event_datetime_post_offset>30 September 2007 18:00</event_datetime_post_offset>
The workdays tag limits the types of days on which an event can occur.
<workdays value="Any day" />
Its value attribute can be one of the following:
Any day Only workdays (next event) Only workdays (next workday) Never workdays (next event) Never workdays (next non-workday)
The offset tag specifies how the event's date/time is modified after it's determined.
<offset magnitude="-1" type="workdays" />
The magnitude attribute is an integer. A value less than zero makes the event earlier, and a value greater than zero makes the event later. Its type attribute can have one of the following values:
minutes hours days workdays non-workdays weeks
The duration tag specifies how the event repeats. If the type attribute is "instances," the number attribute specifies how many times the event can occur.
<duration type="instances" number="1" />
If the type attribute is "until," the tag contains a datetime tag that is the date of the last event.
<duration type="until"> <datetime>5 June 2017</datetime> </duration>
The type attribute can also be "forever."
<duration type="forever" />
The offset tag specifies how the event's date/time is modified after it's determined.
<snooze_interval magnitude="10" type="minutes" />
The magnitude attribute must be a positive integer. Its type attribute can have one of the following values:
minutes hours days
This tag stores the date/time of the event when it first went off (i.e., not counting the times it's been snoozed). It's used to display the original date/time of the event in the event window.
<datetime_original>31 August 2007 18:00</datetime_original>
This tag stores the most recent snooze values when the user changes the default values in the event window.
<snooze_recent magnitude="10" type="minutes" />
The magnitude attribute must be a positive integer. Its type attribute can have one of the following values:
minutes hours days
This tag stores when this alarm's next event expires.
<expiration magnitude="0" type="days" />
The magnitude attribute must be zero or a positive integer. Its type attribute can have one of the following values:
minutes hours days weeks
This tag indicates whether the alarm is deleted after the last event occurs. The value is either "yes" or "no."
<delete_when_inactive value="no" />
<event_window display="yes" position="mouse position" size="small" transparency="255"> <animation type="none" duration_ms="200" /> </event_window>
Its position attribute can have one of the following values:
default center of parent center of screen top-left top-right bottom-left bottom-right mouse position top-middle bottom-middle middle-left middle-right center of current window
Its size attribute can have one of the following values:
tiny small medium large
The transparency attribute's value must be between 0 and 255, inclusive.
The animation tag's duration_ms attribute is in milliseconds and must be a positive integer. Its type attribute can have one of the following values:
none fade expand slide right slide left slide down slide up
This optional tag describes the balloon tip that should be displayed when the event occurs. The duration_ms attribute is in milliseconds and must be a positive integer.
<balloon display="no" duration_ms="10" />
This optional tag describes the media that is played when the event occurs.
<media type="media" repeat="no"> <beep frequency_hz="500" duration_ms="250" /> <file>C:\Users\Guest\Documents\Sounds\SomeSound.wav</file> </media>
The duration_ms attribute is in milliseconds and must be a positive integer. The type attribute can be one of the following:
media none beep
This tag specifies the application that will run when the event goes off, according to the attributes whose values are "yes."
<run first_event="yes" snooze_event="yes" snooze_click="yes" off_click="yes" run_click="yes"> <application>c:\Program Files\Internet Explorer\IEXPLORE.EXE</application> <arguments>-new http://trkcnfrm1.smi.usps.com/netdata-cgi/db2www/cbd_243.d2w/output?CAMEFROM=OK&strOrigTrackNum=%message%</arguments> </run>
This tag specifies the e-mail to be sent when the event occurs. It includes the e-mail addresses (to, cc, and bc) and attachments.
<email> <addresslist_to> <contact> <name>FedEx</name> <email>track@fedex.com</email> </contact> </addresslist_to> <addresslist_cc> </addresslist_cc> <addresslist_bc> </addresslist_bc> <attachments> <file>C:\Users\Guest\Documents\SomeDocument.doc</file> </attachments> </email>
You can specify one or more of the addresslist_to, addresslist_cc, and addresslist_bc tags. You can specify one or more contact tags. The attachment tag is optional, and you can specify one or more file tags.
This optional tag specifies the speech that will performed when the event occurs.
<speech voice="Microsoft Anna - English (United States)" volume="80"> <text>Time to change the furnace filter.</text> </speech>
The voice attribute is optional. Its available values depend on what speech system is installed. The volume attribute's value is between 1 and 100, inclusive.