Message Notifier 1.39 OS's this should work with: Win95/98/ME/NT/2000/XP/Vista/7/8. Trillian Versions: All. (Last tested is 5.4) Copyright 2003-2013 - Josh Rosenbaum Website: http://www.joshrosenbaum.org/ Email: JoshProgramming@yahoo.com If you have any input, bug reports, or feature requests, please send them to me. This program does not communicate outside of Trillian, and contains no spyware. Information About This Release: Well, this plugin took quite a bit of research on my part, as it is really the first windows programming I've done. I spent more time programming, and not too much time on this document, so if there are errors, I apologize. I wanted to get this out right away, so that you could use it immediately and give feedback. 1.3 Update: Well there now have been a few versions. :-) Always more features to add it seems. Maybe it'll end up being a word processor. ;-) 1.38 Update: Well, I have seemingly very little time, so this plugin hasn't been developed to its full potential. I'm pretty happy to get these bug fixes out the door finally, though. 1.39 Update: It's been over 6 years since the last update. It's doubtful this plugin will see much further development. Looking at the code now after all these years I feel it could use a complete rewrite. The Why Of This Plugin: It's simple really. I have my computer hooked up to a stereo, and the stereo isn't always on. I thought it'd be great to just use the PC Speaker inside of the computer. My stereo isn't the only thing that isn't on all the time, though. My monitor is off a lot too. So, I figured I needed a visual method to notify me of messages. Hence, the keyboard lights. Why is it so big? Most people will laugh at the word 'big' here since hard drive space is so cheap these days, but some may want to know. The reason this DLL is a little larger is because I have included the songs within the plugin. You can use UPX (http://upx.sourceforge.net/) to compress the dll if you want to save disk space. Disclaimer: This plugin SHOULD be safe, and I have tested it. I made this for you to use freely. I'm not responsible for any damage, and I don't guarantee or warranty anything. Installation: New Method: Copy files in archive to %APPDATA%\Trillian\plugins\MessageNotifier\. Trillian should automatically pick the plugin up. (Preferences->Plugins) Old Method: Not sure how this will be packaged, but if it doesn't have an install program then extract the dll somewhere (i.e. "C:\Program Files\Trillian"), then under preferences in Trillian, go to the Plugins section, and click on add. Find MessageNotifier.dll, and open it. That's it. NOTE: If you aren't using Windows 2000 or up, make sure kbhook.dll is in the same dir as MessageNotifier.dll. In Trillian 3.x the manual install process seems to be different. It appears you may have to put the dll directly in your Trillian plugins folder. (Probably would be a good idea to uninstall the previous one first.) Usage: Enable Notification somehow. You can do this through the Trillian list option, by setting it to start automatically in the preferences, or by activating the screen saver option on the Trillian list or in the preferences.) You may want to select a certain audio that is to your liking. Check out the preferences page for options. Removal: Just go into preferences, under the plugin section, click on Message Notifier, and then click remove or uncheck. A window will popup asking if you want to delete your configuration. Go ahead and do this if you never plan on using this plugin again, or you just want to start from scratch. (It's probably a good idea to remove this before each upgrade.) Help Needed: I'm not really working on this plugin much anymore, but will keep the following text for nostalgia. For starters, not all the songs in this plugin are Grade A 100% quality beeping songs. :) That needs to be fixed. I'd also like to add more sounds/songs to this program. If you can help, here's the information I need for each sound: I need each note, the octave, and the duration of the note. Perhaps in the format (F#, 300) where the 300 is the number of milliseconds. I can't use chords. I can also use notes in (frequency, duration) format as well. Such as: (3000,300). Here is a sample file: =========== ALARM.DAT ============= Alarm 750 400 600 400 =================================== The first line is the title of the song. Second line: Frequency of 750, and 400ms duration Third Line: Frequency of 600, and 400ms duration If you don't know what frequency of the note is, just put the note. (i.e. A, C, F#, etc) and I can convert them. Features: * - Flash Num/Caps/Scroll Locks keys (selectable) when message received (until some user input found) * - Play audio (i.e. songs, sounds) when message received. (Until user input found) * - Options to select various sounds/songs. * - Decrease/increase speed of audio. * - Option to start detection when screen saver starts or when you go away/invisible. * - Trillian list options to enable detection, the PC Speaker, and screen saver detection. * - Priority text options. When certain text (case doesn't matter) is typed in a message, priority audio will be played. If a message is received while the normal audio alarm is active, the priority audio will take over. In this same fashion, priority one audio will take precedence over priority two messages. * - Option to enable detection as soon as plugin is started. * - Play audio for a certain number of times. * - Play audio for a certain amount of seconds. 1.3 - Tabbed preferences. (A bit different layout, but basically the same.) 1.3 - Ignore Online/Offline Messages. This option will ignore the information messages that can occur in the windows. (Such as online/offline ones.) 1.3 - Option to only alert on private IRC messages. (default) 1.3 - Notification based on medium. Now you can ignore messages from certain mediums. (I also included a custom field. I was thinking this might be useful for Trillian 2.0, but I honestly don't really know as I haven't tried Trillian 2.0) 1.3 - Filter out certain nicks from any medium. Put your IRC nicks here, as the IRC server sends your outgoing messages back, and they are registered as incoming messages in Trillian. 1.3 - Blink the number of messages received. (I think this is best use with "Alternate LEDs" on.) Also, this ignores the number of blinks times, and blink duration options. 1.3 - Blink # of seconds. 1.3 - Blink # of times. 1.3 - Blink only when sound on. This will shut off notification if there is no sound, or a sound limit has been reached. If you set the sound to shut off in 3 seconds, and this option is selected, then notification (including lights) will shut down. 1.3 - Make priority sounds when certain users send messages. 1.39 - Wake display when message received 1.39 - Close screensaver when message received Known Bugs/Errata: * - Some songs play too fast or too slow. Use the multiplier feature in preferences for now * - Some songs have messed up notes * - Mail notification overrides away status, so the "Enable When Away/Invisible" option will not work correctly when mail comes in unless you are away on another connection. Possible Bugs/Errata: * - Windows NT 4 or below with a USB keyboard: May not work, because of an alternate LED flashing function used for some(all?) USB keyboards. I haven't been able to test it, but if you do, please let me know if the plugin works. Basically, what could possibly happen is that the notification is shut down right away. So you don't have to worry about anything harmful. :) * - Windows 9x/ME: Sometimes numlock/caplock/scrolllock might be in different state at the end of a notification than they were at the start. I tried working on this, however, the solution seems to cause other problems. Solution: For now the only one is to upgrade to a windows NT based OS. (NT/2000/XP/2003) I might look into this more for later versions. Future Features I Am Thinking of Adding: * - Not a feature, but I have a bunch of optimizing I'd like to do * - Perhaps a 'light' version with not so many songs * - Knight Rideresque Lights * - Use sound card for notes * - Activate alarm when monitor power goes off * - Allow people to send music strings and have them played * - Allow people to send a certain jukebox command and have song played * - Maybe make priority text case sensitive? * - Some different light usage * - Option to continuously blink until message is acknowledged. * - Use sounds only on certain actions. Like window out of focus, window creation, etc. * - Allow priority text to be turned off. Perhaps by new text or maybe by typing text again? Maybe have option to disable priority when user who enabled it logs off? * - For the ignore nicks option, I would like to use a list instead of four text boxes. * - I have a list of many features from the users of Message Notifier as well. Hopefully, I'll get to develop them eventually. I would like to thank the following people for providing source, tunes, or help: * - Mark J. McGinty (NTKbdLites) * - Irek Zielinski (CLights) * - Anonymous: Whoever created the Tunes package * - Alexei Efros - Melody Master tunes * - arkon@ragestorm.com for keyhook source. * - Others on the Internet for help Changes: Version 1.39 (2013/11/20): * - Update old website references to my new website. * - Make update check work again, but disable automatic checks by default. It is rare that this plugin will be updated. You can enable auto-checking in the preferences if you would like or you can just use the Check For Updates button. * - New option in preferences to wake up the display when a message is received. * - New option in preferences to close the screensaver when a message is received. * - Other minor code cleanup. Version 1.38 (2007/03/18): * - Fix crashes related to exiting Trillian when the "Screen Saver Detection" or "Enable When Away/Invisible" options are activated. Both of these options have been switched to a non-threaded mode. * - Away/Invisible detection will only activate the alarm if away/invisible is set on the connection of the incoming message. Previously, if any connection was marked as away/invisible, we did an alert. * - Fix crash when "Ignore Online/Offline Messages" is unchecked and an msn window for an offline user is opened. * - Don't alert when sending a group message. Version 1.37: * - Fixed a problem in Windows 9x/ME where priority by username drop downs weren't showing the users. Added a version checker. Defaults to checking everytime the plugin is started. (Not loaded.) You can turn this off in the preferences, though. There is also a button you can press to manually check for updates. This feature requires Trillian 2.0+ as I use the Trillian API for this functionality. Also, ignore names should work better. On Trillian 2.0+ it will match either the displayed name or the network id of the user. (1.0 will match only display name.) Version 1.36: * - Added USB checkbox that allows a user to manually specify they have a USB keyboard. Hopefully this will solve some problems. Of note, when using a USB keyboard (or Windows 9x/ME) you should turn off the on screen key lock notifications, as this will significantly slow down the plugin. For my Logitech, this was in the Logitech iTouch Configuration, under Options and marked: "Show lock key notifications". Version 1.35: * - Updated to 2.0 API plugin.h. Also fixed a bug in Trillian 2.0, as it has switched the way message_broadcast works. (name => display_name) This caused a problem with priority sounds based on username. Should work fine now. Note: 1.0 users, please let me know if this works OK for you Version 1.34: * - Whoops! Debugging popups for Win9x and NT below 4 are gone now. Version 1.33: * - Added a new Misc tab that I will use in the future. Also for NT based computers, there a checkbox that is togglable so that people with problems on those machines can try an alternate light method. I also found a bug that would cause one of the blinking routines not to work right. Version 1.32: * - Fixed problem with crashing when using "Blink Number Of Messages." If you use this option I highly recommend you update! (THANKS Lord Dukinger!) * - Also fixed problem of alert exiting out too early when this option was selected. * - Using a brand new Windows NT,2000,xp,and up light flashing routine for USB keyboards, and any other that causes problems for the normal routine. Hopefully this works better. * - Changed starting clear all lights to just clear lights that are going to be blinked. Version 1.31: * - Fixed resource duplicate ID problem where clicking checkmarks would activate other features. Version 1.3 (I've put the 1.3 new features up in the features area up above.) * - Fixed LED's so that they started off all blank. Also sets them back to what they were when notification started. (Although Windows 9x may have problems with that.) * - Fixed invalid pointer in configFile. * - Fixed certain text boxes not updating main program variables. * - Who knows what else. :P Version 1.1-1.2 * - Added a different LED Toggle method for USB keyboards, or others that might have problems. * - Fixed some values not being loaded on startup. * - Added option (set to default) that alternates lights now instead of flashing all at once. * - Moved LED options around in preferences. * - Changed various startup defaults. * - Added song durations to title listing. * - Increased size of drop down song window. * - Added audio test feature. * - Changed website. My college one was finally taken down. :( * - Added option to detect when you are set to away, and to automatically enable notification. (Currently this activates when any connection goes to away/brb/invisible/etc. I may make it connection based later.) * - Added keyboard detection for 95, 98, ME, and NT (Global hook) (kbhook.dll needs to be in same dir as MessageNotifier.dll) * - Fixed bug where clearing priority text wouldn't actually clear it while the plugin was running.