Welcome To Australia's No.1 Media Center Community!
You Are Currently Viewing As A Guest - you'll need to register in order to participate in our community and make this annoying message disappear!
By registering you'll be able to post & reply to questions, set up your own image gallery & blog, communicate privately with other members, create & respond to polls, access downloads and other "members only" features.
Registration is fast, simple and absolutely free so why not join our community today - you'll be glad you did!
For any problems with the registration process or your account, please contact support.
I think my flash user interface is now at a stage where it deserves it's own thread. fhome aka the Flash Presentation Foundation is a Flash UI for MCE. It will be free for non-commerical use to other MCE developers for making applications that will mimic the quality of the official MCE interface.
It has these features:
- Fast animated graphics
- Audio
- A real MCE look and feel
- No noticable borders
- No loading between page display
- An easy API to create powerful user interfaces
- Compatibility for MCE extenders
- An API accessible through Javascript or C#
- An MCE style interface for websites
- Future proof compatibility with Windows Vista
Currently it features these controls:
- Menu left and right buttons
- Combo Box
- Image (PNG with alpha channel support)
- Input Box
- Label's
- Radio Buttons
- Tickbox
The demo I will be releasing will be controlled by Javascript. To give you an example of how easy the API is to use, attached is an image that is the output of the following javascript:
Code:
<script language="JavaScript">
<!--
menuLeftArray = new Array("Live TV", "Recorded TV", "Guide", "Search");
menuRightArray = new Array("Vincent: The Full Story", "Malaria: Defeating the Curse", "Dr Phil - \"Search For Natalee\"", "There is more to life than just the average bear, so there you");
tickBoxArray = new Array("Media Center window always on top", "Show \"Not designed for Media Center\" dialog", "Start Media Center when Windows starts");
function thisMovie(movieName) {
var isIE = navigator.appName.indexOf("Microsoft") != -1;
return (isIE) ? window[movieName] : document[movieName];
}
function fhomeReady() {
//alert("Ready to go!");
}
function createPage1() {
thisMovie("fhome").createControlImage("MyImage", "images/flash.png", 0, 20, 100, 227, 240);
thisMovie("fhome").createControlLabel("MyLabel", "FLASH PRESENTATION FOUNDATION", 19, 148, 63);
for (var i=0; i<menuLeftArray.length; i++) {
thisMovie("fhome").createControlButtonLeft("MyMenuLeft"+i, menuLeftArray[i], 0, 34, 103 + i * 37, 161, 34);
}
for (var i=0; i<menuRightArray.length; i++) {
thisMovie("fhome").createControlButtonRight("MyMenuRight"+i, menuRightArray[i], 1, 219, 106 + i * 36, 387, 32);
}
for (var i=0; i<tickBoxArray.length; i++) {
thisMovie("fhome").createControlTickBox("MyTickBox"+i, tickBoxArray[i], 1, 219, 260 + i * 36, 387, 32, false);
}
thisMovie("fhome").createControlComboBox("MyComboBox", "Test1,Test2,Test3,Test4", 1, 219, 380, 387, 32);
thisMovie("fhome").createControlRadioButton("MyRadioButton", "This is a radio button!", 1, 219, 420, 387, 32, false);
thisMovie("fhome").createControlInputBox("MyInputBox", "", 1, 219, 460, 80, 32);
}
window.onload = function () {
thisMovie("fhome").setTitle("fhomev0.1");
thisMovie("fhome").fhomeInit();
createPage1();
thisMovie("fhome").fhomeStart();
}
// -->
</script>
I hope you are as excited as I am about this. This will be a whole new way of creating nice interfaces for MCE until Vista is released. I hope to hear feedback and feature requests before I make the first public release.
Recently I have been developing a prototype for a client who wanted a "rich Internet application" - a J2EE web app using flash (front end) and springs webflow. I ended up using Laszlo (http://www.laszlosystems.com) for the flash front end, and was very impressed by it.
While I was testing it on several browsers, I was curious if MCE could handle flash? So I just wired in the prototype to see if it would work... and it did!
I was planning start building some swf components myself to mimic MCE, but notice this thread!
The fhome API looks great! Very clean.
I'm curious how you are setting / getting values from the SWF components within html/javascript? Are using the "flash javascript integration kit"? or something else?
Quick update to let you know this project is still alive and well... Everything is now written in Actionscript 2 OOP, so it should be easier for me to add new controls. I'm still getting some of the basic stuff working, but button events are now registered in javascript, and I've added textbox and better inputbox control thanks to Monster. InputBox can now do "tripple tap" input. Also I promise if I don't end up finishing this I will release the source. But right now I'm committed to getting something out there.
nice one.
does it support the shared viewport (TV at the bottom left corner)?
Also - how will it work with C# - very interested to see a sample of that..
Keep up the good work!
__________________
Gigabyte P35-DS4 . 2GB RAM . 500G Samsung SATA2 . 300G Samsung IDE . Dvico Plus . Compro E700 Dual . Silverstone LC10M . Harmony 880 . Vista Ultimate . High WAF .
nice one.
does it support the shared viewport (TV at the bottom left corner)?
Also - how will it work with C# - very interested to see a sample of that..
Keep up the good work!
Indeed it does, currently my demo application will detect if the shared viewport is active and the menu control system will move focus to the viewport when you move the selector to it. I will also be supporting a custom viewport which is a viewport that you can play video from your own application using window.external.MediaCenter.PlayMedia().
Ok, I've just started working a bit on the fhome ActiveX plugin that works with fhome to provide basic file I/O and registry functions.
Currently it has support for reading and writing ini files, and reading and writing to the registry. The former is so that options can easily be read and written for the menu system since it dosn't remember settings from page to page (at the moment), so you need to write them out to an ini file. The latter is to read and write registry settings so people can make an MCE interface for changing some of the hidden default settings within MCE.
Of course these can be used for other applications as well. I'm just curious if anyone had any other functions they would like me to add for the first release?
I can always add more later, for example I was looking into adding reading/writing support for ehthumbs.db files, but found out there is a serious lack of information about this file format. There is a bit of info one guy has for reading and writing thumbs.db files so perhaps that can be modified for ehthumbs.db.
Also, can you 'select' the images with your mouse, or are they just static? Eg, do they work like the albums in My Music? Or are they just there for decoration?
And is there any chance of a 'Flash' object to embed ANOTHER flash presentation into your interface? I'm just finishing off my 'YouTube' plugin and it'd at some point in the future I may want to look into upgrading my interface to your one.
Hmm...how about a class to make it easy to parse web pages? I've got a little class here that would probably be kind of handy.
It let's you download a web page and run a little 'almost-a-regular-expression' on it to extract that data from the page.
It'd probably be nice if we can get something like that as a standard part of the libraries. If you'd like some C++ source, I can pass it on.
That's a really good idea Ignorance. Extracting info from web pages would certainly be a good feature. I'll be looking into that, and using a regular expression technique would make that alot easier to use as well. I've written the ActiveX component in C#, but I can quite easily convert C++ to C#. I wonder if C# has built in support for regular expressions. I'll check it out. The only thing I'm a bit concerned about is the security of the ActiveX component, but it should hopefully be sorted before release.
Also, can you 'select' the images with your mouse, or are they just static? Eg, do they work like the albums in My Music? Or are they just there for decoration?
And is there any chance of a 'Flash' object to embed ANOTHER flash presentation into your interface? I'm just finishing off my 'YouTube' plugin and it'd at some point in the future I may want to look into upgrading my interface to your one.
Just lost my entire reply to this, so this is Take 2. Static images are supported for background images (they are not selectable), but there will also be image buttons and folders/tiles that can have images on them. So yes, stuff like albums in My Music will be very easy to do using the Grid Control. You will basically say how many rows and columns you want then add the images and fhome will handle all the scrolling. All you will need to do is handle the event of the control when it's selected.
And there will definately be support for swf's. Since this project was originally an interface for some Flash games I wanted to write for MCE, it was one of the first things I wanted to add. And because it's Flash it should be easy to do.
Gridbox control is nearly finished. There are some issues (as always), but I believe I've done the best I could with Flash. The problem is being able to display an unlimited number of objects means I have to use a bank switching technique to load graphics in sections, therefore there is a slight pause when a bank is changed. I can't do much about that, unless I can come up with a better way of handling image loading. In my test condition I've got 1000 buttons with over 1000 images (folders can have four images), and it scrolls ok with a slight pause during bank changing - but overall pretty good performance.
It's gonna be easy to use though, basically place it on the screen and put in the labels and images and everything else is taken care of.