topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Tuesday March 19, 2024, 2:22 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: SendMessage Plug-in  (Read 24372 times)

Ehtyar

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 1,237
    • View Profile
    • Donate to Member
SendMessage Plug-in
« on: July 26, 2007, 11:35 PM »
Hi all :)
I have written a new FARR plug-in that will hopefully be of more use to everyone than my last one. The SendMessage plug-in is designed to facilitate control of various third-party applications from FARR. It uses the windows PostMessage api to send standard window messages to the window/dialog of an application you the user specifies by class or title or both. The user also specifies the UINT, wParam and lParam, and thus it can be used to send any form or window message. Currently, its focus is on control of media applications (Winamp, Windows Media Player, Foobar2000 etc). Please feel free to leave feedback and/or bug reports in this thread. The complete readme is attached, and the plug-in itself can be found here.

Ehtyar.

* readme.txt (4.14 kB - downloaded 731 times.)
« Last Edit: August 01, 2007, 12:56 AM by Ehtyar »

taichimaster

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 160
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #1 on: July 26, 2007, 11:54 PM »
This is such a good idea for a plugin combining the use of aliases.  Awesome job, thanks!!  :up:

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: SendMessage Plug-in
« Reply #2 on: July 27, 2007, 12:01 AM »
fantastic  :Thmbsup:  -- also let's encourage anyone to post any other alias packs to control other programs that can be influenced by sendmessage commands.

Ehtyar

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 1,237
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #3 on: July 27, 2007, 06:49 AM »
There is more about making your own aliases in the readme, but true i forgot to mention it in my post, thanks Mouse Man :) and thank you for your kind words taichi :)

Ehtyar.

nitrix-ud

  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 560
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #4 on: July 27, 2007, 07:19 AM »
sounds great !
congratulations Ehtyar

are there interesting "messages" we could post to FARR ?? i guess there are but maybe mouser could tell us ?  :P

TucknDar

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 1,133
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #5 on: July 27, 2007, 09:18 AM »
this could definitely be incredibly useful. Thanks Ehtyar!

Lashiec

  • Member
  • Joined in 2006
  • **
  • Posts: 2,374
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #6 on: July 27, 2007, 10:13 AM »
Hmm, controlling foobar2000 via FARR :D... but no XMPlay :(

Anyway, :-*

Ehtyar

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 1,237
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #7 on: July 27, 2007, 04:19 PM »
Lashiec, i know, incredibly depressing, i use xmplay for all my music. Ironic that i should develop this plug-in, and it should not work for my own player. If you have seen any application at all that can control xmplay, i'd be more than happy to do a little reverse engineering and see what i can do :)
Also thanks to nitrix and TucknDar :)

Ehtyar.

Lashiec

  • Member
  • Joined in 2006
  • **
  • Posts: 2,374
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #8 on: July 27, 2007, 04:35 PM »
Umm, the only thing I can think about is setting up some keys in XMPlay as 'Global' shortcuts, and then make the plugin mimic those hotkeys to control the actions. I think it's possible but extremely hackyish (not very elegant, isn't it?). XMPlay can communicate its status to outside applications, just like it's been done with the various 'Now playing' plugins available, but not the other way around AFAIK, unless you talk to Ian to see if there's any solution.

Ehtyar

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 1,237
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #9 on: July 28, 2007, 04:56 PM »
Ian seems to be particularly inflexible i find when asked to modify his programs. I thought of the global shortcut thing myself, which is not difficult, but as you said extremely hackish, and probably not worth it given the number of users that would be confused about how it is supposed to work. However, i guess asking Ian for some help in this case would not be a bad idea, ill have a poke around on the un4seen forums and if i find nothing, ill give it a go.

Ehtyar.

Ehtyar

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 1,237
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #10 on: July 28, 2007, 08:32 PM »
As i suspected, there were several threads referring to this kind of feature requests (most of which reference winamp as an example, which is not a good idea given that Ian's product is in direct competition with it, but whatever...) all of which appear to have been entirely ignored by Ian. I shall not make my own post on the forums requesting this, however feel free to give it a go yourself if you feel you can sway him. Thanks again for your input Lashiec, and if you have any success, please let me know and i will be more than happy to create an alias file for you :)

Ehtyar.

Lashiec

  • Member
  • Joined in 2006
  • **
  • Posts: 2,374
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #11 on: July 29, 2007, 01:10 PM »
The particular way of requesting features in Un4Seen land works like this:

If you have a suggestion for a new feature, then the accepted way of getting it added is to form a mob armed with pitchforks and flaming torches, and march on Castle Luck. Popularity of new features is gauged by mob size, and accuracy of thrown pitchforks.

I'll post something on the forum's request thread later. I need to assemble some new suggestions to add to the unaccepted ones in the last version.

f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,153
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: SendMessage Plug-in
« Reply #12 on: July 29, 2007, 03:48 PM »
The particular way of requesting features in Un4Seen land works like this:

If you have a suggestion for a new feature, then the accepted way of getting it added is to form a mob armed with pitchforks and flaming torches, and march on Castle Luck. Popularity of new features is gauged by mob size, and accuracy of thrown pitchforks.

I'll post something on the forum's request thread later. I need to assemble some new suggestions to add to the unaccepted ones in the last version.

Seems like an arrogant bastard... wouldn't use any of the guy's products.
- carpe noctem

Ehtyar

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 1,237
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #13 on: July 29, 2007, 04:38 PM »
Seems like an arrogant bastard... wouldn't use any of the guy's products.
Lets hope you're not using foobar2000 either, same deal with its author if you ask me. However, despite Ian's shortcomings in regards to accepting user input, until now i had been yet to find fault with xmplay, i just love it.
Lashiec, let us know the thread you post to, so people can add themselves to your mob :)

Ehtyar.

Lashiec

  • Member
  • Joined in 2006
  • **
  • Posts: 2,374
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #14 on: July 29, 2007, 05:39 PM »
Seems like an arrogant bastard... wouldn't use any of the guy's products.

HAHAHA! f0dder, I think you didn't catch the joke. There's this joke going since a lot ago in the forums that basically Ian is a medieval lord ruling over the 'English' land from his Luck castle. He is a ruthless lord, albeit thoughtful, and the only way to request something from him is by force. Basically, if you want something implemented either in BASS or XMPlay, the more people requesting it, the better. The explanation is a bit made-up, partly true, partly my interpretations on the matter. The guy did accept lots of request on the past, even some ones from me, although I'm not exactly a regular there, but exactly the reversal.

Lets hope you're not using foobar2000 either, same deal with its author if you ask me.

Peter Pawlowski is worse in that regard. He does accept requests. You post an idea in the forums, and if you're lucky, next foobar2000 version will have that feature implemented. But you don't have a mean to know if Peter will do something about it or not, and that's including comments on the matter. Ian doesn't comment everything, but at least he make some input. Peter is totally silent.

Of course, foobar2000 is practically user-programmable, so Peter only sets up the basics. It's up to plugin coders and foobar users to shape up the player. And plugin coders does accept suggestions. I mean, they live on that ;D

Lashiec, let us know the thread you post to, so people can add themselves to your mob :)

Sure thing. The usual thing done there is once a new version is out, a new thread with requests for the new version is started. Much more like the thing we do here with FARR, but instead of requesting BEFORE the developing phase, we do it DURING the developing, to prevent mouser for releasing the new version before the next Windows version or something >:D. Oh yeah, the link

WHOA! I think I got carried on a bit...
« Last Edit: July 29, 2007, 05:42 PM by Lashiec »

Ehtyar

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 1,237
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #15 on: July 31, 2007, 06:36 AM »
Well I've made my post, now come be my mob everyone :P

Ehtyar.

icekin

  • Supporting Member
  • Joined in 2007
  • **
  • default avatar
  • Posts: 264
    • View Profile
    • icekin.com Technology,Computers and the Internet
    • Read more about this member.
    • Donate to Member
Re: SendMessage Plug-in
« Reply #16 on: January 23, 2008, 04:48 PM »
Hi, with foobar 0.9.5, I get a message saying (SendMessageError) FARR Window Not Found. Any way to modify the alias to work? foobar was running, but in tray when I tried this.

Lashiec

  • Member
  • Joined in 2006
  • **
  • Posts: 2,374
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #17 on: January 23, 2008, 06:57 PM »
I guess that's because the window class changed in 0.9.5. I still haven't updated it, but if you have a window spy utility like Spy++ or the AutoIt3 Window Spy, you can check it by yourself, and change the class in the alias (read the documentation to know how to do it). Or wait until Ehtyar comes around, and updates the plugin :)
« Last Edit: January 23, 2008, 07:10 PM by Lashiec »

Ehtyar

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 1,237
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #18 on: January 23, 2008, 07:10 PM »
Nor have I (I hate foobar, but the mouse b**ch made me write aliases for it) but I will update them none the less, give me a few minutes....
-later-
Well it would seem I've forgotten how much I also hate the author of foobar2000. In his long standing tradition of being an ignorant pain in the behind, he has not only changed the class of the main window (who the hell uses a guid for their window class?) but has also changed the IDs of each of the menu items i was using to control the player. To add insult to injury, it seems Winspector does not work in vista, which happens to be running on the only computer I have access to at the moment (not my own, don't worry ;)). Soon (hopefully) I can try this again on an XP machine, but until then you can try the foo_winamp_spam plugin which should allow you to use the winamp aliases with foobar until this problem is resolved.

Ehtyar.
« Last Edit: January 23, 2008, 08:04 PM by Ehtyar »

Lashiec

  • Member
  • Joined in 2006
  • **
  • Posts: 2,374
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #19 on: January 23, 2008, 07:11 PM »
Em, w00t! mouser uses foobar! ;D

icekin

  • Supporting Member
  • Joined in 2007
  • **
  • default avatar
  • Posts: 264
    • View Profile
    • icekin.com Technology,Computers and the Internet
    • Read more about this member.
    • Donate to Member
Re: SendMessage Plug-in
« Reply #20 on: January 24, 2008, 04:04 AM »
Sorry for the trouble Ehtyar, but FARR and foobar users will eternally thank you for this. Its only because your plugin is good that it is in demand.

f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,153
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: SendMessage Plug-in
« Reply #21 on: January 24, 2008, 05:04 AM »
I use either GUIDs or something very specific for my windows classes, that way I know for certain I won't clash with anything else. Of course this isn't as important as a lot of developers probably think, since the window class namespace is per-process and not shared, but hey :)
- carpe noctem

Ehtyar

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 1,237
    • View Profile
    • Donate to Member
Re: SendMessage Plug-in
« Reply #22 on: January 24, 2008, 04:57 PM »
Sorry for the trouble Ehtyar, but FARR and foobar users will eternally thank you for this. Its only because your plugin is good that it is in demand.
Hell, it's just nice to know someone actually uses it at all. Hopefully it won't be too long...
Of course this isn't as important as a lot of developers probably think, since the window class namespace is per-process and not shared, but hey :)
My point exactly...

Ehtyar.