[Touch Diamond, MDA Compact IV Themes and Apps] shirreer:
Credits:

Foremost, let us all acknowledge Koushik for his brilliant "Sensors" library upon which most if not all non-HTC apps that use the G-Sensor, Light-Sensor, and Navi-Sensor are built, simply ingenious. Moreover, I would like to recognize No2chem for the NeuLed2 library which is an equally exquisite peace of code that allows access to the Diamond/Pro Leds. Without those two guys, accessing these advance interfaces on the diamond/pro would be inapproachable at best.

Reason: HTC gave these phones lots of sensors, lets give them.."Sense".

......... EXTRA-Sense ...........

* Hopefully an innovaton, though mostly an integration of RANDOM but needful features...

Features:

1. Courtesy Profiles:

- Set Volume Profiles to activate on Face-Down & Face-UP events. Choose from: None, Silent, Normal, and Vibrate. You can also choose to suspend the Phone when its facing down.

2. Notifications-Sense:

- IF there is/are any outstanding notification(s), the device will vibrate whenever you move it - at customizable intervals: Missed Call(s), Voice Mail, and SMS.

3. Stylus-Sense:- When the Stylus is in/out: Will play sound + Blink the Back button's light.

- When the Stylus is out and the device is moved: Device will vibrate faintly + blink the Back button's light to REMIND you that the Stylus has not been placed back in. This goes on UNTIL the Stylus is placed where it should be.

* Uses "in.wav" & "out.wav" files in the \XSense\ Dir; you can use whatever wave files for this. OR, use the UI to select whichever wave files you want!

4. General Settings:

- Polling Interval: From 200 to 3000 Miliseconds. This determines the rate at which the G-Sensor is polled. Lower values give higher response times and fluid operation at the cost of battery life & CPU utilization.

- Flash Navi Lights: Will blink button lights to notify you of Profile changes and Stylus In/Out.

- Vibrate on Events: Will induce very subtle vibrations to notify you of Notifications and Profile changes.

- Suspend when UP-Side-Down: ???

- Light Navi Button When Suspended: Will do just that when the Light Sensor senses Dim or Dark conditions. This is an independent setting that turns ON the Navi button's light at suspend time, and OFF at Resume time (this is Event Driven, so no polling is involved). This feature really helps if, like me, you want to see where the damn thing is in the dark - before you launch it against the floor.

5. Installs to "\Program Files\XSense", and Creates 2 shortcuts:

"Start Menu\Programs\XSense" and "Startup\XSenseSvc".

Program Settings are saved to the Registry at "HKCU\Software\XSense\".

Use of System Resources:

1. Diskspace: 162 KB RAM footprint: 374-535 KB Battery: NOT observed.

2. CPU Usage: %0.29 Average. Spikes for 2 seconds to %2.7 - %8.5.

3. Battery Impact: Neligeable if at all!

* Indicated CPU usage occurs ONLY when there is an EVENT (posture changed, stylus in/out Sounds playing,

etc)

- Vibration: The way I like it is in waves of 200 miliseconds length! I generally hate vibrations, so if you want it at 201 ms. you're welcome to make your own program and exercise your personal taste.

- This prgram Registers Event Handlers for: "G-Sensor", "Incoming Call", "Phone Call in Progress", "Stylus in/out", and Power Manager events. DO NOT move it to Internal Storage, you have been warned.

Requirements:

.NET 3.5 + HTC device with GSensor & Light Sensor.

Compatibility:

Specifically designed for Diamond & Raphael, but will work fine on HD/Rhodium/Topaz/HD2 etc...

Bugs/Limitations:

Knock yourself out...

Release Notes:

- This is the LAST revision/release/app I make; programming too much work

- Download & Install the CAB

- Run the XSense from your Start Menu\Programs, customize to taste, and enjoy!

Change Log:

- Brand New UI: VERY "finger friendly" this should be especially useful if you have a WVGA Device

i.e. HD/Rhodium/Topaz/HD2 etc...

- Revised entire code for existing & potential bugs, and Performance

tweaked to death.

- Removed various functions (auto speakerphone, car-kit options, etc...). Use "Touch InCall Screen Tweak" for these,

its handles Phone/Speaker brilliantly!

- Shortcut added to Startup for automatic launch after reboot.

- Shortcut with a nice icon added to Start Menu (Credit to

VetVito

).

- General Tab:

- Navi Button will only light up if the device is in a dark place, i.e. You will

always see where your phone is (before you trash it against the wall).

- Stylus Tab:

- UI elements to select & set sounds for Stylus-in/out events.

Disclaimer:

This program is provided strictly on "as is" basis. It is intended only as a proof-of-concept. Although fully functional, it must NOT be considered for daily use. This software is very likely to compromise the integrity of your data as well as invariabley cause your device to malfunction in any way, shape, or form. Therefore, the developer shall be absolved of all responsibility towards testers and/or their computers & devices. While using this software you agree to be solely liable for all and any damages you do to yourself, your device, or any damn thing you possess and care for!