boomboom
Mar 4 2004, 05:08 AM
Tonight is my first night experimenting with ActionScript. With all of the power it has, it occurred to me that it may be possible to write your own skinning engine using ActionScript, duplicating the functionality of MXM's own skinner technology, or, say, UnleashX.
You could even use the same XML layout that UnleashX (or MXM) uses. This way, you wouldn't even need a converter to use UnleashX skins...
ActionScript veterans, is ActionScripting mature/developed enough to handle all the functionality needed to produce your own "skinning" engine?
If so, we could simply create an ActionScript version of the MXM skinning engine, BJ could simply stop working on that part of MXM and focus more on ActionScripting?
geniusalz
Mar 4 2004, 05:35 AM
I don't think the engine itself can be replaced by scripts (due to speed issues)
However, a 'preview skin' thing could be done using a script. I guess scripting is good enough (except maybe fonts, which aren't supported right now)
And skin conversion can also be done, probably.
Yuyu
Mar 4 2004, 05:42 AM
Yes, you could have the script search for the available skins on the HD... Then Have it display these skins in a list box I would think, and have a preview image of the skin shown maybe ?? Then when the skin is selected, it edits the pref.xml lines :
| CODE |
<usersetting> <skin>MXM Tivo</skin> </usersetting> |
Then they just have to revoot, which the skin selector could do for them....
Just a thought, jotting it down here...
boomboom
Mar 4 2004, 07:48 PM
You could even take it a step further, and instead of showing a preview image, you could parse the skin and show what it would actually look like. Of course, geniusalz makes a good point in that we would need font support in ActionScripting to make this happen.
Kthulu
Mar 5 2004, 07:14 PM
yes, font support is something i've wanted for a long-time but no one else seemed to...
here's an idea somewhat related to this thread...an actionscript skinner...in other words...
an actionscript that let's you develop skins right there on the screen. of course you'd have to already have whatever graphics you wanted to use in your skin on the hard-drive, but you could use a 'pointer' to position things and see it exactly as it would look when the skin is loaded.
flattspott
Mar 5 2004, 07:27 PM
It'd really be doable if if were used for just resourceless skins. Like Boxes and lines
Kthulu
Mar 5 2004, 07:56 PM
well, i haven't really played with the new image control(s) but wouldn't open up the use of 'image' resources?
boomboom
Mar 5 2004, 08:04 PM
Cool idea, Kthulu. The potential of ActionScripting is emerging in a major way. I guess this is the vision that BJ had while he was developing it, and I'm only just catching on right now.
Can you download binary files (ZIP, JPG, PNG) with the current WIP's HTTP client? If so, I want to start on the Skin Downloader/installer, and tie it right to Allxboxskins.com...
Kthulu
Mar 5 2004, 08:14 PM
theoretically, that is possible, but i believe i've read a post somewhere that WEBFETCH didn't like www.allxboxskins...i could have just dreamed that up tho...
BenJeremy
Mar 5 2004, 08:20 PM
Binaries with WebFileFetch soon.... give me a little time. The current routine builds a big string, and it's Simple HTTP.
Tonight's release will be HTTP 1.x, and I'll get it working with full binary capability shortly. Expect a POST sometime in the near future as well.
flattspott
Mar 5 2004, 08:25 PM
My point was this, to use extra images for an on Xbox Skinner they would have to be on your Xbox to begin with. With just boxes, lines, etc you wouldn't have to worry about that.
Kthulu
Mar 5 2004, 08:54 PM
true, but if you're making a skin that uses image resources, you've got have those images somewhere on hand anyway
geniusalz
Mar 5 2004, 10:10 PM
I like this idea, and am willing to work on it. If anyone starts on it, let me know.
flattspott
Mar 5 2004, 10:29 PM
Or at least we could get a on Xbox Skin Editor. So you can tweak existing skins. Change the gadjet strings and the position of elements would be a good start..
BenJeremy
Mar 6 2004, 04:18 AM
Well, the binaries WebFileFetch is in WIP 1191, so let me know how this works out for you guys.
flattspott
Mar 6 2004, 04:29 AM
that fast. I just got 1190
flattspott
Mar 6 2004, 04:31 AM
how deos this new fetch work. do we have to pass an arg to tell it it's binary
BenJeremy
Mar 6 2004, 04:35 AM
| QUOTE (flattspott @ Mar 6 2004, 01:29 AM) |
| that fast. I just got 1190 |
Yeah... once I added the routines to handle the headers, it became fairly simple.
On a technical note, I had to add some special buffering, which is always the case when dealing with strings over a stream input.
I just need a URL to test the redirection with. It "should" work, but without testing it, who knows? It should even handle multiple redirections, though a circular reference would be bad (one redirect pointing to a previous redirect location). I should probably add a max number of redirects.
BenJeremy
Mar 6 2004, 04:35 AM
| QUOTE (flattspott @ Mar 6 2004, 01:31 AM) |
| how deos this new fetch work. do we have to pass an arg to tell it it's binary |
Nope.
WebFileFetch <Filename> <URL>
Just that simple....
flattspott
Mar 6 2004, 04:42 AM
Cool, I can't test this till tommore cause i got to get offline in sec. Sucks for me
flattspott
Mar 6 2004, 04:53 AM
| CODE |
| WebFileFetch <Filename> <URL> |
Maybe you should change the readme's to say this instead so no one get confused.
WebFileFetch <LocalPathandFilename> <WebPathandFilename>
boomboom
Mar 6 2004, 05:34 AM
That was quick! Now all we need are fonts!
The more we talk about this, the more I want to write this.
Even better, though. How about supporting "SuperSkins", pluggable skinning engines. BJ could simply let the DLL write to the screen. And when a user presses a button/controller, send that keystroke to the DLL. The skin would be responsible for maintaining the screen appearance of MXM, while MXM handles the rest (FTP, etc).
Skins written this way could support all KINDS of stuff-- dynamic skins, skins that support other dashboard skins (UnleashX, evox, etc).
BenJeremy
Mar 6 2004, 12:35 PM
| QUOTE (boomboom @ Mar 6 2004, 02:34 AM) |
That was quick! Now all we need are fonts!
The more we talk about this, the more I want to write this.
Even better, though. How about supporting "SuperSkins", pluggable skinning engines. BJ could simply let the DLL write to the screen. And when a user presses a button/controller, send that keystroke to the DLL. The skin would be responsible for maintaining the screen appearance of MXM, while MXM handles the rest (FTP, etc).
Skins written this way could support all KINDS of stuff-- dynamic skins, skins that support other dashboard skins (UnleashX, evox, etc). |
Well, I'll add font support soon to ActionDraw lists. I might see if there's a way to add it to dialogs, too...
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please
click here.