3AlarmHack
User's Manual

v2.0


Table of Contents

  1. Introduction
  2. Installation
  3. 3Alarm Controls
  4. Per-Application Alarm Settings
  5. Interactions with Other Applications
  6. Additional Alarm Sounds
  7. Ordering

1. Introduction

3AlarmHack is a HackMaster hack that enhances alarms for Palm Computing® platform devices that use Palm OS(tm) 3.x. It provides enhanced alarm indication for any application that generates alarms:

With one small exception, 3AlarmHack does not have any effect upon the alarm dialog (the display indication of an alarm). 3AlarmHack controls the audible alarm indication, and also provides some additional indications (backlight and Tale Device). That one small exception is the full-screen dismiss button option.

1.1 The Behavior of Alarms

Most Palm applications provide both an audible alarm indication (sound), and a visual indication (the alarm dialog, having some kind of dismiss button, and perhaps snooze and other option buttons). When an application alarms, it first makes a sound, and then puts up its alarm dialog. The dialog remains on the screen until you tap a button to make it go away.

3AlarmHack detects the playing of the alarm sound, and replaces it with the sound that you have selected. While playing the sound, it can also flash or turn on the backlight, and also flash or activate a Tale Device. In addition, 3AlarmHack can be made to repeat the selected sound for a specified number of times, at a specified repeat interval time. 3AlarmHack will continue to play the sound at the specified repeat interval time, until the repeat count is finished, or until you dismiss the application's alarm dialog (whichever comes first).

1.2 A Brief History

The Palm OS devices available today differ greatly from the original Pilot in many ways, and all for the better. One of the improvements is in the area of alarms. Today's devices come with a Date Book built in that can play one of seven different MIDI sounds whenever an alarm occurs, and can repeat the alarm. The original Pilot came with one alarm sound: a single monotone beep. It was not very loud, and it could not be repeated. That one single beep was all the alarm you got. Period.

Shortly after the Pilot went on sale, Wes Cherry introduced an application that pretty much solved the alarm problem: AlarmHack. This little app contained 9 additional alarm sounds, along with the ability to make the alarm repeat. It also could enlarge the small OK button on the alarm dialog to fill the entire screen, so that you could cancel the alarm just by tapping anywhere on the screen, even with the Pilot in its case. Also, AlarmHack could impart these additional alarm features to any app on the device that sounded alarms. (Date Book is not the only way to make alarms on your Palm device.)

When Palm Computing introduced the Palm III, they put the afore-mentioned alarm improvements into Date Book. Unfortunately, AlarmHack would not run on the new Palm OS 3.0 that came in the Palm III. Thus, the alarm improvements in the Palm III were only for Date Book alarms, and not for alarms generated by other applications. And even though Date Book had improved alarms, the improvements were not spectacular. The minimum repeat interval of the alarm is one minute, and the maximum number of repeats is 10 times. The Date Book alarm, even at it's most annoying setting, is only 11 single tones, spaced one minute apart.

3AlarmHack is designed to make up for these deficiencies in the alarm features provided in Palm OS 3.0, since AlarmHack is no longer available to fill that void.

2. Installation

3AlarmHack comes packaged in either a ZIP or a SIT archive. You should have downloaded the one that is appropriate for your desktop computer system. When you unzip or unstuff the archive file, as the case may be, you should have the following files:

2.1 System Requirements

Palm OS 3.0 or greater. Before you install 3AlarmHack you should ensure that your device runs Palm OS 3.0 or higher. To do so, follow these steps. If at any point your device does not behave as indicated in these instructions, then it is not running Palm OS 3.0 or higher.

  1. Tap the launcher silkscreen button
  2. Tap the menu silkscreen button
  3. Select App->Info...
  4. Tap the Version button
  5. The top line of the display shows the Palm OS version

If you are not sure how to install software on your device, see the User's Guide that came with your device.

HackMaster or EVPlugBase. 3AlarmHack is a HackMaster hack. You must have HackMaster (or EVPlugBase) installed in order for 3AlarmHack to work. Without HackMaster or EVPlugBase, 3AlarmHack will run, and not crash your device, but it will not do anything. HackMaster is shareware, and you can download it from DaggerWare. EVPlugBase is freeware, and can be downloaded from Tucows.

2.2 Installation Procedure

To install 3AlarmHack:

  1. Important: If you have 3AlarmHack v1.x installed on your device, you must first delete it, using the application launcher. If you are unsure how to do this, consult the handbook that came with your device.
  2. Install the following files onto your device: 3Alarm.prc, 3AlarmHack.prc, and HackMaster.prc (or EVPlugBase.prc). (The AlarmHack_MIDI_Sounds.pdb file is optional additional alarm sounds, discussed later in this manual.
  3. Launch HackMaster or EVPlugBase
  4. Find 3AlarmHack in the HackMaster or EVPlugBase list, and enable it
  5. Launch 3Alarm to set up 3AlarmHack to your liking

When you first launch 3Alarm you will see a registration dialog. If you have registered 3AlarmHack, you can enter your unlock code. Otherwise, just tap the "Not now" button. (After you have unlocked 3Alarm, the dialog will no longer appear every time you launch 3Alarm.)

3. 3Alarm Controls

3AlarmHack provides a variety of controls that govern what happens when an application sounds an alarm. You access these controls by launching the 3Alarm application. Refer to Figure 1 while reading the descriptions of the controls.

3.1 Miscellaneous Controls

1: Monitored Application selector (for per-application alarm settings; see the Per-Application Alarm Settings section).

2: Ignore alarms Enable this checkbox to make 3AlarmHack entirely ignore alarms. In this case, any alarms will sound just as though 3AlarmHack were not installed on your device. This is especially useful when combined with the per-application alarm settings feature.

3: Test Tap this button to test your Alarm Sound and Alarm Visual settings. This does not test the Repeat settings. If you have the Ignore alarms control enabled, the Test button does not appear on the 3Alarm screen. The reason: if 3AlarmHack is going to ignore an application's alarm, then that application will control its own alarm indication, and so there is nothing to test.

19: About Tap this button to bring up the About dialog.

3.2 Alarm Sound Controls

4: Play Disable this checkbox to cause 3AlarmHack to produce a silent alarm. 3AlarmHack will not play any sound, but will still perform the selected Alarm Visual indications. NOTE: If you disable the Play control, and do not have any Alarm Visual options enabled, you will get no alarm indication.

5: Sound selector Tap this control to pop up a list of available sounds from which you may choose. See the Additional Alarm Sounds section for more details.

6: Uninterruptably With this checkbox enabled, pressing a hardware button on the device, or tapping on the screen, will not interrupt the playing of an alarm sound. This option is useful if you carry your device in a pocket or in a case, where there may be something pressing on the device's screen. The device will respond to button presses and screen taps between alarm sounds.

7: times Tap the number to pop up a list of available play counts. Each time the alarm sounds, it will play the selected number of times, each separated by about a half second.

3.3 Alarm Visual Controls

There are a couple of devices that are capable of running 3AlarmHack and that do not have a backlight. On these devices, the backlight controls do not appear on the 3Alarm screen. As of this writing, the only such devices are the Palm IIIc, and the Pilot 1000/5000 with the 2M Upgrade.

8: Backlight Flash Enable this checkbox to cause the backlight to flash on and off while the alarm sound is playing. This control is mutually exclusive with Backlight Turn on.

9: Backlight Turn on Enable this checkbox to cause the backlight to turn on at the first occurence of an alarm. The backlight will remain on until either you turn it off, you turn off the device, or the device auto powers off. This control is mutually exclusive with Backlight Flash.

10: Tale Device Flash Enable this checkbox to cause an installed Tale Device (e.g. a TaleLight) to flash while the alarm sound is playing. You can find out more about Tale Devices at Tech Center Labs. This control is mutually exclusive with Tale Device Activate.

11: Tale Device Activate Enable this checkbox to cause an installed Tale Device (e.g. a TaleVibes) to turn on continuously while the alarm sound is playing. This control is mutually exclusive with Tale Device Flash.

12: Full-screen dismiss checkbox: If you enable this control, 3AlarmHack will expand one button on the application's alarm dialog to fill the entire screen. Normally you would select the application's "OK" button to be full-screen. This way, you can tap anywhere on the screen to dismiss the alarm dialog and cancel the alarm indication. The full-screen dismiss controls appear on the 3Alarm screen only when the application selector is set to a particular application. You cannot use the full-screen option with the Default application.

13: Full-screen dismiss button name: Enter the exact name of the button on the application's alarm dialog that you want to become full-screen. This is case sensitive; pay attention to upper and lower case letters.

3.4 Repeat Controls

14: Repeat count This is the number of times the alarm sound and visual indications will repeat, after the first indication. If you set this to zero, the alarm will still play, but will not repeat.

15 and 16: Repeat interval These controls dictate how often the alarm indication will repeat. You can set any value from 1 second to 9999 minutes.

3.5 Saving and Undoing Changes

When you make a change to any control, the Undo (17) and Apply (18) buttons appear. You have not actually changed the 3AlarmHack settings until you have tapped the Apply button. This allows you to experiment with the settings and test them, without actually changing the saved settings.

4. Per-Application Alarm Settings

3AlarmHack can determine which application is alarming, and provide different alarm indications for each application. The alarm settings visible on the screen are for the application whose name is shown in the application selector in the upper right corner of the screen. This list of applications is referred to as the list of Monitored Applications. 3AlarmHack treats these applications specially.

When you tap the Monitored Applications selector, the Monitored Applications list appears. When you first install 3AlarmHack, there is already one "application" in the selector list, called Default. The Default alarm settings are used for any application that does not explicitly appear in the Monitored Applications list. That is, whenever 3AlarmHack detects an alarm, it determines which application is sounding the alarm. If that application is in the Monitored Applications list, 3AlarmHack uses those specific settings. Otherwise, it uses the Default settings.

The last item in the list is "Edit List...". If you select this, a dialog appears that lets you add applications to the list. Refer to Figure 2.

1: Monitored Applications This list shows the names of all applications for which 3AlarmHack currently has individual alarm settings. "Default" is always in the list.

2: Add... Tap this button to pop up a list of all applications that are installed on your device and that are not already in the Monitored Applications list (see Figure 3). You tap on an application in this popup list to add it to the Monitored Applications list. When you add an application to the list, it starts with the Default alarm settings.

3: Delete Tap on an application in the Monitored Applications list, then tap the Delete button to delete that application from the list. You are not permitted to delete the Default "application".

4: Done Tap this button to return the the 3Alarm main screen.

5. Interaction with Other Applications

3AlarmHack gets along very well with other applications on your device, as long as you have 3AlarmHack and the other application(s) configured properly. This section gives general recommendations, as well as specific recommendations for some applications.

To detect when an application is sounding its alarm, 3AlarmHack watches for an app to play the system alarm sound. If you want 3AlarmHack to take over the alarm for a particular application, and that application has selectable alarm sounds, be sure to set the application's alarm sound to "Alarm" or "Use system alarm", or whatever other name the application's author may have given it. (If an application does not have any programmable setting for alarm sound, it is nearly certain that it does use the system alarm sound.) Here is a method you can use to ensure that the application in question is configured correctly:

  1. If you are not sure what the standard system alarm sounds like, you can hear it by launching the Prefs application, switching to the General settings, and choosing a different setting for the Alarm Sound.
  2. Disable 3AlarmHack (in HackMaster).
  3. Program the application in question to generate an alarm, and set its alarm sound to be the standard system sound.
  4. When the application's alarm sounds, if it sounds like what you heard in the Prefs application, then you have the application configured correctly.
  5. Enable 3AlarmHack.
  6. Once again, program the application to generate an alarm, and observe that the alarm sounds according to the settings you have selected in 3alarm.

Hacks

3AlarmHack can interfere with other alarm and sound related hacks that you have installed on your device, and vice versa. In general, 3AlarmHack works best with other hacks whenever it appears higher in the HackMaster list than the other hacks. When you enable a hack, HackMaster places it at the top of the list. So, to get 3AlarmHack to be higher than the other hacks, disable and then re-enable 3AlarmHack.

TrekSounds Hack
Make sure that the sound selected in 3Alarm is "Alarm". Also, make sure that in HackMaster you enable 3AlarmHack AFTER you have enabled TrekSoundsHack (so that 3AlarmHack appears higher up in the list). Now the alarm sound you choose in TrekSounds Hack will play according to the settings in 3Alarm! The net effect is that TrekSounds Hack overrides only the alarm sound selection (Alarm, Alert, Bird, Concerto, etc.), but all the other 3Alarm settings (repeat, backlight, etc.) are still in control.
TaleMute
You can use TaleMute to drive a Screecher audio device (or any device that TaleMute supports), and still use 3AlarmHack to control the repeats. In 3Alarm's "Alarm Visual" section, make sure that both of the Tale Device controls are unchecked. Also, in HackMaster, make sure that 3AlarmHack is higher in the list than TaleMute.

Applications

There are some applications that do not seem to work well with 3AlarmHack. 3AlarmHack's per-application settings feature lets you tailor 3AlarmHack for best behavior with these applications.

ReDo
ReDo allows you to set an alarm for a To Do item that it has added to your To Do list (see your ReDo documentation for more details). However, ReDo repeats its own alarms at 30 second intervals, and there is no way to disable this feature. Therefore, allowing 3AlarmHack to repeat ReDo alarms causes both ReDo and 3AlarmHack to play the repeat. For this reason, it is best to set repeat count to zero for ReDo alarms. All of the other 3Alarm settings work well with ReDo.
Datebk3, Datebk4, and Handspring Visor Date Book
These applications provide very flexible alarm settings in and of themselves. You may want to set 3AlarmHack to completely ignore alarms from these applications, but allow 3AlarmHack to handle alarms from other applications that you have installed on your device. To do this, create an entry in the Monitored Applications list for Datebk3 (or whatever), then enable the Ignore alarms checkbox in that application's settings. One additional note about Datebk3 and Datebk4: if you disable the "Datebk Handles Alarms" option on their alarm preferences screen, 3AlarmHack will treat the alarms they generate as though they come from the built-in Date Book application.
BigClock
Edit one of the BigClock sounds so that the "Use system sound" checkbox is enabled, then use that sound for your BigClock alarms. If you don't enable "Use system sound", 3AlarmHack will not detect the BigClock alarm.

6. Additional Alarm Sounds

Beginning with Palm OS 3.0, Palm devices have the ability to play simple MIDI sounds (MIDI is an industry standard sound file format). The seven different alarm sounds that the built-in Date Book can play are MIDI sounds, and are contained in a special system database that is already installed in the Palm device from the factory. It is possible, however, to replace this MIDI sound file, or to install additional ones. Indeed, quite a few replacement sound files have appeared as shareware; when you install one of them on your device, it replaces (overwrites) the standard MIDI sound database, and you get a different set of alarm sounds.

The built-in Date Book, as well as nearly all other applications that access the MIDI sound database, do not utilize all of the MIDI sound databases that may happen to be installed on the device. Instead, when they do a search for MIDI sounds, they stop when they have succeeded in finding the first MIDI sound database. This means that even if you install additional MIDI sound files on your device, these applications will give you only the sounds that are in the first MIDI sound database that they find. This is why the replacement sound files actually replace whatever MIDI sound database already exists on the device. If instead, the new MIDI sound database became the second such database on the device, the applications that use MIDI sounds might never even find it.

3AlarmHack does not have this limitation. Instead, 3AlarmHack will find all of the MIDI sound databases that are installed on the device, and give you access to every sound in all of them.

Wes Cherry's original AlarmHack had a collection of sounds that was, by all accounts, very good. Some of them in particular seemed to make the weak speaker in the device sound noticeably louder. Many 3AlarmHack users requested that 3AlarmHack somehow provide the original AlarmHack sounds. This request is fulfilled in the additional MIDI sound file (AlarmHack_MIDI_Sounds.pdb) that comes in the 3AlarmHack package. If you install this file on your device, you will instantly have access to an additional 8 alarm sounds. (NOTE: Those who have used AlarmHack may remember that it had 9 sounds, not 8. The "Chirp" sound is not included in AlarmHack_MIDI_Sounds.pdb, since the Palm-provided "Bird" sound is so very similar.) The AlarmHack_MIDI_Sounds.pdb file does not replace the standard alarm sounds; after you have installed it, you will have the eight new sounds plus your original seven.

6.1 Turning Replacement MIDI Sounds Into Additional Sounds

Since you now know that 3AlarmHack can use multiple MIDI sound databases, you may want to make use of that feature. But, since you also now know that nearly all add-on sound files replace (overwrite) the existing MIDI sound database, you may be wondering what it takes to actually get multiple sound databases installed on your device. The key to knowing the answer is in understanding just how PalmOS decides to overwrite an existing database when you're installing a new one.

Every database in a Palm OS device has a unique name (the key word here is "unique"). This name is determined by the creator of the database, and is generally not changeable by the user. If you are installing a new database onto your device, and it has the same name as a database already existing on your device, the database being installed overwrites the database already existing. So, the key to being able to install additional MIDI sound databases is in being able to either rename the one already existing on your device, or to change the name of the new database that you want to install.

Some very good utilities exist that permit you to manipulate databases on a Palm OS device. One of these is the freeware Z'Catalog. Here is an example, illustrating how to install an additional sound database using Z'Catalog.

Let's say that you have downloaded a sound database that contains excepts from jazz standards like Humpty Dumpty, 'Round Midnight, and others, and you want to be able to use these sounds in addition to the seven that come with Palm OS. This new database is in a file named jazzsounds.pdb. Since this sound database is intended to replace the one already on the Palm device, its name is "System MIDI Sounds", although you cannot tell this by looking at the name of the PDB file. The Palm-supplied database already on your device that contains the seven standard sounds has this name, too.

The first thing to do is to ensure that you have a backup copy of the Palm-supplied "System MIDI Sounds" database. If you have ever performed a HotSync® operation on your device, you already have a copy of this database on your desktop computer. To find it, look in the directory where your Palm Desktop software is installed, and find the subdirectory that corresponds to your Palm User Name. For example, my device's Palm User Name is "Roger Chaplin", and the corresponding subdirectory is named ChapliR. In that directory you will find a Backup subdirectory, and there you will find a file named System_MIDI_Sounds.PDB. Make a copy of this file somewhere else.

Now, install your new jazzsounds.pdb file, and also install Z'Catalog while you are at it. The jazz sounds database will overwrite the "System MIDI Sounds" database, but that's okay because you have a copy safely tucked away.

Now that you have the new sound database and Z'Catalog installed, launch Z'Catalog. Before you will be able to use it for our purposes here, you will have to enable it to Allow Dangerous Actions (use Menu->Options->Preferences). Then, in the list of databases, find the one named "System MIDI Sounds", and tap it to highlight it. Use Menu->DB->View Info to open the database's info screen. The top line of the display shows the database name. Change the name to something different, for example "Jazz MIDI Sounds". Tap Done, and then tap Yes to apply the change.

Now that your new jazz sounds database no longer has the name "System MIDI Sounds", you can re-install the System_MIDI_Sounds.PDB file that you copied to a safe location, and it will not overwrite your jazz sounds.

Finally, to test your work, launch 3Alarm and pop up the list of sounds. You will see the original seven sounds along with the new jazz sounds.

You will have to do this every time you want to install an additional MIDI sound database. However, the AlarmHack_MIDI_Sounds.PDB file that comes in the 3AlarmHack package already has a name that causes it to not overwrite the "System MIDI Sounds" database, so you can just install it without performing these extra steps.

7. Ordering

3AlarmHack is shareware. You can purchase it from PalmGear H.Q. or Handango. When you purchase it, you will receive by email an unlock key that you enter into 3Alarm's registration screen. Registered users are entitled to free upgrades forever, and get first priority for technical support. You can always download the latest version of 3AlarmHack from our web site: http://home.att.net/~foursquaredev/.

When ordering, please include the Pilot User Name and RegCode that appears on the registration screen. If you desire, you can copy the RegCode and paste it into a Memo Pad memo, then HotSync your device, after which the RegCode will be on your desktop computer (in the Memo Pad part of the Palm Desktop). You can then copy and paste it into the order form in your web browser. To copy the RegCode, drag your stylus across it to highlight it, then tap Menu, then select Edit->Copy.

We welcome all comments, suggestions, bug reports, praise, and criticism. Send all correspondence to Foursquare Development via email to foursquaredev@att.net. If you are reporting a bug, please be sure to include the following information:

7.1 Shareware Limitations

Until you unlock 3AlarmHack with a valid unlock key, it contains two limitations:

  1. The nag screen appears every time you launch 3Alarm. This nag screen will disappear forever once you have unlocked 3AlarmHack.
  2. 3AlarmHack will ignore every 10th alarm. That is, one alarm out of every 10, your device will behave as though 3AlarmHack is not even installed. Once you unlock 3AlarmHack, it will ignore only those alarms that you have specified in the settings.

License

Read carefully the following terms and conditions before using this software. Use of this software indicates your acceptance of this license agreement and warranty.

Evaluation and Purchase

This is not free software. Subject to the terms below, you are hereby licensed to use this software for evaluation purposes without charge for a period of 30 days. if you use this software after the 30-day trial period, you must pay the purchase price of $10. See above for information on how to purchase 3AlarmHack. All purchases are final; use the trial period to your advantage.

Unlicensed use of 3AlarmHack after the 30-day evaluation period is in violation of U.S. and international copyright laws.

Governing Law

The laws of the State of Ohio shall govern this agreement.

Disclaimer of Warranty

THIS SOFTWARE AND THE ACCOMPANYING FILES ARE SOLD "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OR MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED. NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED.

Distribution of Evaluation Version

You are hereby licensed to make as many copies of the evaluation version of this software and documentation as you wish; give exact copies of the original evaluation version to anyone; and distribute the evaluation version of the software and documentation in its unmodified form via electronic means. There is no charge for any of the above.

You are specifically prohibited from charging, or requesting donations, for any such copies, however made; and from distributing the software and/or documentation with other products (commercial or otherwise) without prior written permission.


Palm Computing and HotSync are registered trademarks, and Palm, Palm III, Palm IIIx, Palm IIIe, Palm V, Palm Vx, Palm VII, Palm OS, and the Palm Computing platform logo are trademarks of Palm Computing, Inc., 3Com Corporation or its subsidiaries.