Give me some AMMO !

Stephen Orr

ATI Guru
ATI REMOTE WONDER™ Version 1.2

ATI today is pleased to release Version 1.2 of the ATI REMOTE WONDER™ software stack. Version 1.2 represents a major step forward in the interoperability of the remote control through the addition of "Plug-Ins" to extend the ability of the remote to control virtually any application running under Windows. In addition ATI today releases the AMMO SDK which makes the Plug-In API public and provides the needed header files and full source to a plug-in.

What's new in version 1.2
  • Programmable key options for launching Multimedia Center VideoCD, CD Audio, and File Player Features.
  • Programmable short cut to launch arbitrary Windows applications
  • Programmable shortcuts for the Windows START menu and Windows Shut Down
  • Support for "Keying" the remote control to allow multiple remotes to be used in the same house.
  • AMMO Plug-Ins add support for controlling 3rd party applications
  • AMMO Plug-Ins SDK allows 3rd party developers to write their own plug-ins. (more below)
AMMO Plugs-Ins give you
  • Easy ability to import / configure plug-ins
  • Ability to enable / disable plug-ins at run time.
  • Plug-ins include the ability to define programmable keys.
  • Plug-ins for WinAmp™ and PowerPoint™ included.
  • Plug-ins for TheaterTek DVD and DivX Player available from their respective authors.
AMMO Plug-In SDK for the ATI REMOTE WONDER™

Creating your own plug-in for REMOTE WONDER™ is now possible with ATI's downloadable software development kit (SDK). This SDK allows 3rd party developers to quickly extend the functionality of the ATI Remote Wonder remote control by creating Application Manipulation Modular Objects (AMMO) to control practically any software running under Windows™.

What you need
What you get
  • AMMO SDK document with a full description of the API and how to implement it.
  • AMMO "C-language" header file
  • Example plug-in for WinAmp™ with full "C-language" source code, header and make files.
  • ATI open source license agreement.
What you can do
  • Receive key event from the remote control and direct them to your applications.
  • Selectively redirect on those groups of keys that you need to re-map.
  • Provide programmable options groups to the Remote Wonder User Interface
  • Control when your plug in receives messages
  • Provide user configuration of your Plug-In.
Editorial: I'd like to say "I told you so", but I didn't, we kept this kinda secret for a long time. To all those people who said "ATI will never support non-ATI products" well you are somewhat correct. We prefer to let you support the 3rd party products and let us focus on better All In Wonder's. The challenge is yours - go and write some good plug-ins!

Stephen Orr
 
Man, you sound like you work for them or something!!! :D ;)

Seriously though... great work. Really nice to see component-out available too, as promised. :)

MuFu.
 
Thanks!

Thanks!

ok, i hear the "i told you so"...
plugin's... never would have thought of that, guess that's why i don't make the big bucks.


To everyone at Ati... thanks, it's nice to see a company actually listen to the little guy.


thanks!



now to see if i can program it to make toast and do the dishes.... heh :)
 
Easy as toast

Easy as toast

Writing a plug-in is dead easy.

Our WinAmp example plug-in took half a day (your mileage may vary) and we give you that source, all you have to do is adapt it to control, well, whatever you want to control.

Need a "C" compiler of course, and some knowledge of the thing you want to control, but tha is all.
 
i burn toast

i burn toast

Stephen Orr said:
Need a "C" compiler of course, and some knowledge of the thing you want to control, but tha is all.

ok a C compiler... no prob.. do you need to use any MFC or win32 stuff or is this just hardcore C programming... <stdio.h> and stuff.
 
Simple "C". From the SDK, the entry points are..

DWORD WhatKeysDoYouWant (void);
char *EnumerateProgrammableFunction(WORD wIndex);
void Configure(HANDLE hWnd);
int AreYouInFocus(void);
BOOL HandleKey(BOOL bCustom, WORD wKeyEvent, WORD wState);

and "Configure" is optional.

Go ahead - download it.

Stephen
 
Stephen Orr said:

Go ahead - download it.

oh, i can't wait to...

my boss might not be too happy if i am playing with the sdk all day... heh

Stupid work.. be more over!
 
you are absolutely right, the winamp plugin is stupidly easy to modify...
i've already made it so winamp will always accept the command from the remote whether it is in "focus" or not.... it's awesome for quake3.
 
Now go off and write plug-ins for other useful things....

QuickTime
Real Player
Jukeboxes

or how about

Minesweeper
Hearts
Solitaire

or prdductrivity

Better control of IE
Adobe PDF
something else..


I don't know but I am interested to see what happens...

Stephen
 
Could you post your WinAMP plugin? I'm not a programmer and the plugin that comes with 1.2 is really lacking =( Thanks.
 
Suggestion

Suggestion

To NiDan,

Might I suggest that if you want to post your "works in the background" version of the WinAmp plug in you do the following -

Modify the Configuration Dialog to have an option (checkbox) - "Control WinAmp when not in focus". Then your plug-in is a replacement (superset) of the one we include.

To Tracker 00,

Other than the "not controlling WinAmp when not in focus" whcih was a deliberate choice to ensure the Plug-In always controls what IS in focus... what is lacking? If it is this then I suggest you reconcider your "tone" in the message, after all we diod provide this for FREE.

Stephen
 
Re: Suggestion

Re: Suggestion

Stephen Orr said:
To NiDan,

Might I suggest that if you want to post your "works in the background" version of the WinAmp plug in you do the following -

Modify the Configuration Dialog to have an option (checkbox) - "Control WinAmp when not in focus". Then your plug-in is a replacement (superset) of the one we include.


i have no problem with posting it somewhere, i have no webspace though. I'd need someone to host it for me.

All i did was go through the code of the plugin and make the "AreYouInFocus" function always return true if winamp is running. Then the command will be sent to winamp, but it will not become the app in focus.

the checkbox is a good idea.. it'd probably only be a small matter of:

if(box_checked)
return(true);
return(false);

i haven't really followed the code closely enough to see how it interacts with everything, but i'll see what other stuff i can put together tonight.

If this "plugin's" idea takes off you think ati would ever consider having a page on their website dedicated to them. Since all the plugins are open source they could be on the "ati developer" pages.
 
Re: Suggestion

Re: Suggestion

Sorry, I didn't mention what was lacking. It only lets you map the ABCDEF buttons and I don't see where you can select the Backward/Play/Pause/Stop/Forward commands to custom keys. I'm sorry for the "tone" of my post, but I am not a native English speaker. Could I also ask what was wrong with me "tone"? Thank you.

Stephen Orr said:
To NiDan,

Might I suggest that if you want to post your "works in the background" version of the WinAmp plug in you do the following -

Modify the Configuration Dialog to have an option (checkbox) - "Control WinAmp when not in focus". Then your plug-in is a replacement (superset) of the one we include.

To Tracker 00,

Other than the "not controlling WinAmp when not in focus" whcih was a deliberate choice to ensure the Plug-In always controls what IS in focus... what is lacking? If it is this then I suggest you reconcider your "tone" in the message, after all we diod provide this for FREE.

Stephen
 
Last edited:
Linux?

Linux?

Hi Stephen!
I'm very satisfied with my 'toy', Remote Wonder :) - especially since ATI has released the v1.2 and SDK. :D
Maybe later I will have some time to write some new plugins. ;)

My question is:
Is there any chance to see from ATI release a Linux driver package? I know it's not a big problem, it's only a marketing decision - could you guys write a driver for Linux?
If it's not possible right now - for example 'cause of DX9 releasing if you understand what I think ;) ;) - maybe later?
 
Re: Re: Suggestion

Re: Re: Suggestion

NiDan said:

If this "plugin's" idea takes off you think ati would ever consider having a page on their website dedicated to them. Since all the plugins are open source they could be on the "ati developer" pages.

If ATI isn't thinking about doing a page dedicated to making remote wonder plug-ins available, then we will here at rage3d.
 
Re: Re: Re: Suggestion

Re: Re: Re: Suggestion

Ichneumon said:


If ATI isn't thinking about doing a page dedicated to making remote wonder plug-ins available, then we will here at rage3d.

Good idea. :cool:
 
I think that we intend to watch this forum to find out what plug-ins exist and where to get them. When we identify particularly good plug-ins we will likely contact the authors about adding a link to them from ATI's site but currently we don;t plan a "download library".

This is today's thinking and not written in stone. Let's see how many (good) plug-ins appear before we worry to much about whether ATI will host them.
 
Re: Linux?

Re: Linux?

T2k said:
Hi Stephen!
I'm very satisfied with my 'toy', Remote Wonder :) - especially since ATI has released the v1.2 and SDK. :D
Maybe later I will have some time to write some new plugins. ;)

My question is:
Is there any chance to see from ATI release a Linux driver package? I know it's not a big problem, it's only a marketing decision - could you guys write a driver for Linux?
If it's not possible right now - for example 'cause of DX9 releasing if you understand what I think ;) ;) - maybe later?

Stephen? :cool:
 
We currently have no plans for a Linux driver.

Realize that we didn't write the Windows driver for the remote either, that came with the remote, we wrote the appliization, plug-in systems, and all the code that takes button down, repeat and up events and turns them into some sort of action (including mouse simulation).

So a Linux version would require us to write a USB driver for Linux for this thing based on no experience what-so-ever.

Can't say its likely.

Stephen.
 
Stephen Orr said:
Simple "C". From the SDK, the entry points are..

DWORD WhatKeysDoYouWant (void);
char *EnumerateProgrammableFunction(WORD wIndex);
void Configure(HANDLE hWnd);
int AreYouInFocus(void);
BOOL HandleKey(BOOL bCustom, WORD wKeyEvent, WORD wState);

and "Configure" is optional.

You might want to stick in the keyword CALLBACK for VC++ users or otherwise indicate the calling convention.
 
Last edited:
Back
Top