WhisperNotify

WhisperNotify displays Whispers sent to you in the middle of the screen with a fadeout, ala combat style, message and an optional audio alert.

I tend to overlook Whispers if I'm not specifically watching my chat box, especially Whispers from NPCs during quests. Hence, this little addon. The messages still show up in your chat box, they just also appear in the message area of your screen.

It will remember your settings separately for each character and set itself when loaded.

GUI based config with new options in version 1.15!

WhisperNotify slash commands

You can use /wn or /whispernotify

/wn - shows help

/wn ver - shows the version number

/wn reset - resets all options to defaults.

/wn on - turn WhisperNotify on for the current character

/wn off - turn WhisperNotify off for the current character

/wn silent - toggles alert sound on/off for the current character

/wn status - displays the WhisperNotify Status for the current character

/wn style - toggles bewteen the default and compact display styles

/wn test - sends a test whisper to the on screen diplay

/wn time S - sets time whispers stay on screen before starting to fade to S seconds (default is 5)

/wn fade S - sets time whispers take to fade out to S seconds (default is 2)

/wn move X Y - sets the offset of the frame from the center of the screen

/wn resize W H - sets the size the frame. Default is 600 x 200

To Do

Localization

Configurable Sound

Control Outline on fonts

Possibly add other chat types

05/21/2013 - v1.18.4
- Updated TOC for WoW 5.3

12/01/2012 - v1.18.3
- Updated TOC for WoW 5.1

09/11/2012 - v1.18.2
- Updated TOC for WoW 5.0x

12/01/2011 - v1.18.1
- Updated TOC for WoW 4.3

10/02/2011 - v1.18
- Updated TOC for WoW 4.2

11/29/2010 - v1.17b
- Redid the sound system - Now uses it's own sound files instead of the system sounds. Custom sounds available by replacing the "custom.mp3" file with the sound you want to use.

11/21/2010 - v1.16b
- Should now trigger on BattleNet(RealID) whispers as well. NEEDS TESTING!
- New Config Option - Time Between sounds - This keeps the sound from playing repeatedly if you've got a series of whispers coming in quick sequence.
- New Config Option - Sound to play - Choose which system sound to play.
Note: If you want custom sounds for your chat messages, I suggest the addon "ChatSounds", available on WowInterface
- Added Optional Dependancy to the TOC to make sure ChatSounds is loaded first if you are using it, this allows ChatSounds to hook the events first.

11/14/2010 - v1.15
- Fixed combat suppresion bug (I hope!)
- Added config GUI. Go to Game Menu - Interface - Addons - WhisperNotify to configure. All of the old command line options are still in place for now.
- In my personal opionion there is something wrong with a system where the code for the config needs to be twice the size of the actual program code...
- The Font, along with it's color, size and alpha(transparency) can now be set, but only from the GUI, not the command line.
- Small oddity: if the Alpha is less than fully opaque, the message will go fully opaque just before it fades out. Dunno why yet.
- Another small oddity: If the font size is raised above a certain size (30 on my system), the game ignores it and continues to disply at 30. I think this has something to do with the UI Scaling. Not sure if I can do anything about this.

11/12/2010 - v1.12b - Beta Version

11/09/2010 - v1.11b - Code and internal variable cleanup in prep for config GUI. Not released to the public.

11/10/2010 - v1.10a - Bug "fix" release, disabled combat check.

11/09/2010 - v1.10

-Added slash command to move frame
-Added slash command to resize frame
-Added slash commands to set time and fade delays
-Added option to suppress whisper display if in combat
-Added option for one line display instead having the name on a separate line.
-Fixed bug where if the sound was on, but the addon was off, the sound would still play.

11/05/2010 - v1.02 - Fixed issue with on/off command that was preventing addon from working for some.

I've been noodling a bit with this as well - trying to use it as a general notification for my 77 year old father, who just started playing and has trouble seeing when someone speaks to him in chat.

I'm trying to:

a) Change the notification color to the channel color
b) Change the font overall (Skurri is too hard for him to read)
c) Change the notification sound (or turn it off and use ChatSounds)

This is exactly what I'm looking for. But I need to expand it a bit so that if he's in party, guild or whisper that I can grab his attention.

Thanks for adding the debug option - helps me look for things a lot more easily.

Love the mod.

[edit] Would also like to be able to change when the sound is played so that it doesn't constantly spam the sound. So that for 30 seconds after the last sound it doesn't play, renewed by every chat message.

I believe I've got it working again in the version I'm working on now. Feel like playing beta tester? I was thinking of putting a copy of the one with a GUI config (and the combat fix) up in the beta section of the site.

-A

Originally posted by bossmansmith This is all a part of a new addon.

What impresses me most is your responsiveness still - keep up the great work.

I think I might know how to get combat working again.

if status=on then
..if incombat=false then
....post --if on always posting out of combat
..elseif showincombat=yes then
....post --if on and in combat and showincombat then post
..end
end

It means you have to use the posting code twice but i think the logic is sound doing it this way

Sal,
There is a problem with the Boolean logic for the combat suppress function, I've uploaded a quick fix. However, by removing the second event, you've disabled the whispers from NPCs, which was working just fine.

-A

Originally posted by Salvadore1981 I delete this Line but it only works if i whisper my self.
I delete the follow several parts and test it with my Guild Mates. Now it works fine for me.

Hmm.. Booleans don't seem to be working as per the LUA specification in Blizzard's implementation. I've posted an update with the combat suppress functionality removed until I can figure out what's going on.

-A

Originally posted by bossmansmith New options are great.

HOWEVER, the test message will display but no whispers are displaying now.

Tried to trouble shot but I am not that good with .lua. NO ERRORS thrown out.

EDIT:
tracked it down to the arguement in this line
if WhisperNotify_State == 'ON' and (WhisperNotify_Combat ~= 'Y' and UnitAffectingCombat("player") ~= true) then
If I deleted everything after 'ON' works fine, so it is in the combat checking part

HOWEVER, the test message will display but no whispers are displaying now.

Tried to trouble shot but I am not that good with .lua. NO ERRORS thrown out.

EDIT:
tracked it down to the arguement in this line
if WhisperNotify_State == 'ON' and (WhisperNotify_Combat ~= 'Y' and UnitAffectingCombat("player") ~= true) then
If I deleted everything after 'ON' works fine, so it is in the combat checking part

I delete this Line but it only works if i whisper my self.
I delete the follow several parts and test it with my Guild Mates. Now it works fine for me.

HOWEVER, the test message will display but no whispers are displaying now.

Tried to trouble shot but I am not that good with .lua. NO ERRORS thrown out.

EDIT:
tracked it down to the arguement in this line
if WhisperNotify_State == 'ON' and (WhisperNotify_Combat ~= 'Y' and UnitAffectingCombat("player") ~= true) then
If I deleted everything after 'ON' works fine, so it is in the combat checking part

Ok, this is weird. I replied to you last night, about 12:30 AM Eastern, giving you that exact same line and telling everyone about all the new features for today's release and it never showed up here. I haven't got time to retype the whole thing so I'll have to condense it down:

Expect a new release later today with almost all the features that have been asked for!

-A

Originally posted by bossmansmith If i wanted the output to be:
Name: Message

Might I suggest adding a frame and option for Officer chat - I am not an officer in my guild but I know they use it alot and they might like an addon that allows them to see the messages in a pop-up frame in their UI.

Only thing left for me is some way to change size and location of frame itself by slash command.

Might I suggest adding a frame and option for Officer chat - I am not an officer in my guild but I know they use it alot and they might like an addon that allows them to see the messages in a pop-up frame in their UI.

Only thing left for me is some way to change size and location of frame itself by slash command.

Interesting. It's actually a basic MessageFrame, not a ScrollingMessageFrame. The definition you found for the MessageFrame is not the same as the one I used though. The definition I worked from was from wowwiki/wowpedia and is as follows:

The time the message stays on screen is the last parameter passed. I did some experimentation this evening and found that it actually seems to have no effect! My code had it set for 7 seconds and whispers are staying on for 10 seconds, then fading for 3, regardless of it's setting. I've seen this format used in other addons as well though and it's not throwing an error... makes you wonder. Probably changed in a patch somewhere along the line and the wiki didn't get updated.

I did some tinkering and both the time before fade and the fade time will be configurable in the next release, with a default of 5 and 2, respectively, for a total of the original design plan of 7 seconds.

As for the frame size, the size I picked is meant to work with both older 4:3 screens and newer wide-screen monitors. If you've got a widescreen and want it wider, that is indeed an easy mod in the XML file.

Still working on moving the frame with slash commands. (Although, at the rate I'm adding settings, I think I need to look into how to do a GUI based config!)

-A

Originally posted by bossmansmith I have been able to resize the frame in the .xml not overly difficult since you set it up very straight forward.

EDIT:
I managed to get it to fade out at 2 secs and change the default fading time of 3secs to a shorter 1 secs using this code:
WhisperNotifyFrame:SetTimeVisible(2);
WhisperNotifyFrame:SetFadeDuration(1);

I have been able to resize the frame in the .xml not overly difficult since you set it up very straight forward.

i tried to find the delay in the .lua but couldn't.

To me it appears that you are using scrollingmessegeframe which does not have a timer available to it.
info here :
http://wowprogramming.com/docs/widgets/ScrollingMessageFrame/AddMessage

This page appears to show how to set a fade timer:
http://wowprogramming.com/docs/widgets/MessageFrame/SetTimeVisible

Perhaps this website page would be helpful in allowing the frame to be set by .lua and in the end set by /comand:
http://wowprogramming.com/docs/widgets/MessageFrame

EDIT:
I managed to get it to fade out at 2 secs and change the default fading time of 3secs to a shorter 1 secs using this code:
WhisperNotifyFrame:SetTimeVisible(2);
WhisperNotifyFrame:SetFadeDuration(1);

Other than directly in the LUA code, no, not at the moment. You're the second person to ask for a way to change the fade timer, so I'll probably work on that one next. Shouldn't be too hard, as that's set in the LUA. The font... could be more difficult, as at the moment, it's set in the XML.