Media X Menu Version 0.8 Beta NOTE: Do not use 0.5 or 0.6 on a DVD-R. There was a bug that is now fixed in 0.7 and above... sorry for the confusion. Media X Menu is a menu system to launch applications from a DVD collection or from a hard drive. It is intended to be very configurable and allow new "themes" to be added in, both with simple visual changes, or adding 3D effects to the presentation of the menus by re-writing the software. It is now in "Beta" status. It should be stable to use on DVD-R discs, but who knows? As usual, use at your own risk. I am releasing this source code for others to use for both their own projects, and hopefully, to enhance this project. The current features are as follows: There *ARE* still some bugs with this thing.... but I've tried to do as much testing as possible without spending three weeks on it. I believe most of it relates to the handling of the soundtracks at the moment, but tracking down everything is time consuming and at the moment, it seems to work 99.9% of the time. My suggestion would be to not use "random" soundtrack play, and it will be turned of by default. * Impliments the "Simple" theme, allowing a title screen, menu screen, loading screen and saver screen, each with configurable elements (custom backgrounds, custom bouncing logo for the screen saver) * Simple theme uses Skins based in subdirectories, and can use randomly selected skins on every run of the program. * Launches applications from the hard drive and the CD/DVD drive. * Screen saver! * Can play one or more music tracks, with multiple options, such as- - Disc-specific tracks (played from subdirectory, for example) - Can play from the XBox soundtracks the user has on his hard drive - Can play random or in order * Supports BMP, PNG, TGA, and JPG image formats * All settings are done via INI file support, a format familiar to most users. * Supports 640x480 at the moment. Sorry, just ran out of time to get the multi-res support in. =================================================================== FAQ: =================================================================== Q: I've got an Enigmah Beta, why doesn't this run? A: I don't have a patch tool for Enigmah users. Sorry.... if you have such a tool, please get a hold of me at xbox-scene or xboxhacker.net. Q: I don't like the title screen. Can you get rid of it? A: Well, it's simple enough to give the title screen delay a value of '0' to skip by it. Q: I don't like the screen saver feature, how do I get rid of that? A: Same thing, a delay time of zero will de-activate the saver. Q: Where can I find skins? A: I'll try and release a few, but at the moment, nobody is hosting skins specifically for my menu system; HOWEVER, since the 'default' layout for simple happens to match up to Complex MenuX, you can use skins created for that system with this menu (of course, MXM is far more flexible in positioning screens and items) Q: How about a tutorial on using this? A: I'd love to put one together for it, but to be honest, I'm probably the wrong person to do the job (as the developer, I'd have a hard time making a tutorial from a nontechnical perspective). If anybody out there feels up to the task, please do and send it to our good friends at xbox-scene. Q: I can't get this to boot. A: Well, I need a copy of your INI file, at the very least, in order to determine what the problem is. Try checking your image files and make sure they are there and are correctly formatted. Get a hold of me at xbox-scene if all else fails. =================================================================== HISTORY: =================================================================== Alpha 0.2 Minor bug fix release * Fixed problem identifying the correct partitions. (Thanks ITM of xboxhacker.net for the fix) * Added speed enhancement, again, thanks ITM for this code. * Moved soundtrack to it's own thread to prevent pausing in screen saver * "About" box added when pressing "White button" in the menu screen * Added the PersistDisplay() call, but didn't notice a difference. No loading screen joy. * Added "DrawDescription" to Menu section to allow you the ability to turn off the description. * Keyboard support - Cursor Up/Down, ENTER to select. Keys skip title and saver, F1 brings up "about box" and PrintScreen key will reboot to the dashboard. Alpha 0.3 Minor bug fix release * Fixed problem identifying the correct partition for F:. AGAIN. Bah! The generic code didn't want to work, even after I identified a problem with the code. Fixed it with a specific case for F: Alpha 0.4 * More bug fixes! Didn't realize that C:, E:, and F: were unmounted, causing problems when the image files didn't "live" in the directory below the menu system and get called as "D:\***" This problem is now fixed. * Changed option "Theme" in section [Main] to "Style" This will represent the type of menu displayed (simple, or in the future, 3-D styles) * Smooth scrolling menu items and descriptions. * Menus and description placement are fully configurable. Defaults to MenuX style, to be compatible with existing MenuX skins. Now menus, screenshots, and the description can be placed anywhere on the screen and in just about any size. You can also select the maximum number of options displayed at any given time (that is, how many item rows are displayed in the menu item box) Alpha 0.5 * Phew. Bug fix. Sorry about that, people, but there was a big bug causing instability in the system. It's very difficult to debug an app wthout a debug console. Many problems solved now. * SKINS! SKINS! SKINS! SKINS! This is the first release supporting self-contained skins! "DefaultSkin" is included with the release, basically the same images and sounds as in the previous releases, now in a handly subdirectory with their own ini file. Beta 0.6 * Cleaned up a couple of cosmetic bugs. * Fixed a problem with the skin soundtracks * Implimented a few more skin attributes. Not all are there yet. * Changed the screensaver slightly. * Release will be a bit cleaner than before, with the ini files cleaned up. Beta 0.7 * Fixed a bug that prevented skins from working in 0.5 and 0.6 I now will test each release with a XDFS formatted CD-RW (problems and time make testing on DVD-RW or DVD-R prohibitive at the moment) Beta 0.8 * Fixed issue with descriptions that are missing. * Cleaned up message box popping up when a screenshot is missing. KNOWN ISSUES: * Speed when cycling items - At the moment, all I can say is that it will take a while. The issue is that screenshot images must be loaded when you select an item, and this takes a moment to happen. I need to work up a good solution, since I can't load all of those images at once. * Not all skinning options supported yet - Still working on these. * Setting Random on with Global off prevents local skin track from working. * More themes needed =================================================================== Things that couldn't make it into this release, but are planned: =================================================================== * More detailed directions. Look, this stuff takes forever, and this will have to do until the later. Sorry. * Video based images, clips can be used for screen shots or backgrounds. * Automatic menu population... drop this system on a disc with multiple subdirectories, each containing "item" configuration files, and the menu system can automatically set them up. (i.e. the game directory might contain an MXM_ITEM.ini and an MXM_ITEM.png file) * Smarter relative paths. For now, we must assume any relative path is a CD/DVD. There is still work to be done to examine symbolic links so the menu system knows "where" it actually is being run from. * More eye-candy. - Animated menus (M$ Dash style or a rotating screenshot cube, for example) - Soundtrack-aware visuals in a screensaver * Support for all video modes (HDTV, PAL). * Full support for external fonts. =================================================================== Other ideas: =================================================================== * Remote control support * A PC-side app to handhold through the process of making and verifying a menu. =================================================================== Configuring MXM: =================================================================== Most users only need to modify the Menu Item entries and a couple of "Main" items (DiscTitle and DiscSubTitle). Everything else can be left alone or modified using the "skin" feature. They are only included for backwards compatibility now. Items marked with "*" are now better handled by the skin configuration files. Please refer to the skin configuration files for more information. ------------------- Menu items: ------------------- Each menu item will be listed in its own section, using "Item_x" as the name. It will read each item in order, starting with Item_1, until it fails to find the "next" one.... See the sample INI file for a detailed example. Example: [Item_1] Title=ToeJam and Earl III Description=Platforming classic returns! Media=TOEJAM3.png Dir=TOEJAM Title=