Go Back   Winamp Forums > Developer Center > Winamp Development

Reply
Thread Tools Search this Thread Display Modes
Old 2nd January 2007, 10:35   #1
johndmann
Junior Member
 
Join Date: Sep 2005
Location: Texas, Earth
Posts: 4
Send a message via AIM to johndmann
PC Gaming Overlay Possible/Available?

**Is there already something out there that will at least show the track artist/title on an overlay while gaming?**

I'm a PC gamer, and my game of choice is World of Warcraft. Now before I get started, I do know there was once an addon which interacted with Winamp a long time ago called WoWPlayer, but was canceled in the game's 1.9 patch (a long time ago) when a lot of addon methods were banned because too many people were making botting applications using the hooks available.


(WoWPlayer Screenshot)

But I'm curious... Could such a thing still be possible without directly interacting with Winamp itself? For example...

1. Winamp plugin: accepts a filename/path to a plain text file which contains a single word, and rescans the file every few seconds for any changes.
2. Game addon: lets you click on the command buttons which save the word to the plain text fire specified by #1 to whatever command you clicked (stop, play, fastforward, etc)
3. Winamp plugin: (one or the other)
---a. Writes to a plain text file the name of the song/duration/current time/etc, which would be read by the game's addon.
---b. Displays the current track info as an "overlay" which appears "on top" of the game's screen, which would be customizable for font size and location.

Now, I know this is a Winamp forum and not many here would know much about LUA scripting for writing the Warcraft addons and how THEY work, but I included descriptions of what they *would* do - and can - that part is easy for me. BUT is the Winamp portions of those ideas possible?

**Is there already something out there that will at least show the track artist/title on an overlay while gaming?**

EDIT: Just tried out http://www.winamp.com/plugins/details.php?id=142050 but it doesn't really work too well, with Warcraft anyway. It flickers for a second or two but not with any length needed to actually read it. Works great on the desktop though. Need something more stable on the game screen somehow lol.

Last edited by johndmann; 2nd January 2007 at 11:25.
johndmann is offline   Reply With Quote
Old 2nd January 2007, 16:51   #2
jheriko
Forum King
 
jheriko's Avatar
 
Join Date: Aug 2002
Location: a twist in the fabric of space
Posts: 2,149
Send a message via ICQ to jheriko
I can't seem to find an SDK for the WoW plugins anywhere... it might be useful to post a link to somewhere we can find it if you know where it is.

All I could find was a lot of scripting things...

If you can make API calls from with in the code of the plugin then it is definitely possible to implement. From what you said about botting though I would think such powerful functionality would be hidden away, however.

Also, allowing plugins to modify text files makes the game susceptible to botting once again, so I would think that you wouldn't be allowed to output text files based on pressing command buttons in the game UI.

-- Jheriko

'Everything around us can be represented and understood through numbers'
jheriko is offline   Reply With Quote
Old 3rd January 2007, 01:51   #3
johndmann
Junior Member
 
Join Date: Sep 2005
Location: Texas, Earth
Posts: 4
Send a message via AIM to johndmann
Yes, the addons in World of Warcraft (WoW) are completely scripts using a language called LUA (http://www.lua.org/). There's no real SDK for it at all, just the scripting standards, and that the game has disabled a lot of the functionality of the language for security reasons inside the game.

A long time ago you were able to make API calls from the scripts, and that's where the addon which was in that screen shot was from. I know that we can no longer interact directly with Winamp from inside WoW - The concept I'm dreaming of in that first post doesn't require that, as it uses simple text files to pass the data back and forth.

As for the comment about text file output being disabled, it's not the case. See, the LUA scripts in WoW are allowed to "save variables" to a plain text file inside one of the folders of the World of Warcraft installation path. Inside, the text is stored in a tab-delimited 'array-ish' format for whatever 'variables' you decide to 'save'. Thus, addons are allowed by the game to save settings per addon and even per user/character.

This 'saved variables' file "could" be read by (and even written to) an external application such as Winamp - essentially enabling communication between the two applications, as long as they both know to look at the file at specified intervals.

Winamp would read the saved variable text file and parse out commands such as "stop" "play" "pause" "forward" "back", and the addon in WoW would scan the file for track/title information to display in-game.

What I'm hoping to find here in the forums is if/how to get Winamp to do it's part. I know enough about LUA that the WoW addon would be simple enough to create, and don't need help/instruction for that portion. The WoW side will work in the setting and reading of text in a file - just need to figure out if Winamp can/how it can.
johndmann is offline   Reply With Quote
Old 3rd January 2007, 13:48   #4
CraigF
Passionately Apathetic
Administrator
 
CraigF's Avatar
 
Join Date: May 2000
Location: Hell
Posts: 5,437
you could maybe have a winamp plugin reading/writing to a wow SavedVariables lua file and an associated addon in wow reading/writing from that, I assume thats possible and WoW doesnt just cache the lua internally and write it out on close.

CraigF is offline   Reply With Quote
Old 3rd January 2007, 15:22   #5
jheriko
Forum King
 
jheriko's Avatar
 
Join Date: Aug 2002
Location: a twist in the fabric of space
Posts: 2,149
Send a message via ICQ to jheriko
Quote:
Originally posted by johndmann

As for the comment about text file output being disabled, it's not the case. See, the LUA scripts in WoW are allowed to "save variables" to a plain text file inside one of the folders of the World of Warcraft installation path. Inside, the text is stored in a tab-delimited 'array-ish' format for whatever 'variables' you decide to 'save'. Thus, addons are allowed by the game to save settings per addon and even per user/character.
I understand this, but surely Blizzard must realise that this functionality opens up a gateway to all sorts of unscrupulous botting type activities...

Anyway, if that functionality is there then it could be used to do this... however at the same time, I wouldn't expect it to remain there for long... at least until someone works out how to exploit it...

-- Jheriko

'Everything around us can be represented and understood through numbers'
jheriko is offline   Reply With Quote
Old 17th January 2007, 08:04   #6
wopsy
Junior Member
 
Join Date: Jan 2007
Posts: 2
There's one of two ways this can be done afaik,

One way would be a directx code hook/finding the the directx canvas and drawing it in that way..

Pain in the butt really, but it would be the smoothest..
(seems to be how Fraps works)

Another way would be to simply have an app read the title and stuff from winamp... combine it into a nice little bitmap and then just paint it over the WoW window, or to a handle with value 0....

Trouble is that way's real flickery.

Any buttons, could ofc be controlled by winamp's global hotkeys or a global mouse hook.


You wouldn't really need to make it a plugin either, but if you need a global hook then you might as well, since a .dll is required for that.
wopsy is offline   Reply With Quote
Old 17th January 2007, 09:34   #7
CraigF
Passionately Apathetic
Administrator
 
CraigF's Avatar
 
Join Date: May 2000
Location: Hell
Posts: 5,437
I assume that the way xfire works would be another way of doing it (most likely a directx hook like you say).

CraigF is offline   Reply With Quote
Reply
Go Back   Winamp Forums > Developer Center > Winamp Development

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump