Media X Menu Version 0.9n.6 Beta Tutorials Page at: http://www.writersgallery.com/MXM/TUT NOTE: Do not use prior versions (you've been warned!) 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 "styles" to be added in, both with simple visual changes (skins), or adding 3D effects (later) to the presentation of the menus by re-writing the software. It was intended to supercede Complex Menu X, which has some bugs and is lacking many desired features that MXM now has. 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, JPG image formats as well as WMV video files! * All settings are done via XML file support, a format familiar to many users. * Supports 640x480 at the moment. Sorry, just ran out of time to get the multi-res support in. ================================================== === IR Remote Support === ================================================== Thanks to d7o3g4q and RUNTiME for releasing their source code as without this Remote support wouldn't have been possible. Here is the latest Build with full IR Remote Support. The COntrols are as Follows: ============================ IR Remote up/down = scroll trhough the menu list IR Remote Select = Select's the Game / Emulator IR Remote Info = Media X Menu Version Info Displayed IR Remote Back = Return To Media X Menu Title Screen IR Remote 0 = Reboot XBOX back to Dashboard Any button on the IR Remote will come out of the screensaver and skip past menu's like the Controller does. IR Support By SpOoK with thanks to d7o3g4q and RUNTiME for their IR Remote Code. Note from BenJeremy: I don't have the remote, but the code looks good and SpOok has tested this with most of the releases. ================================================== === A Note about XML === ================================================== For those not familiar with XML, it's basically a method of tagging information in a text file. Configuration XML files in MXM, for example take on the following structure:
My Collection MAME 1
The entire config is surrounded by the tags, and each section has their own group. Generic skins will get much more sophisticated, due to the nature of what needs to be done... When these are implimented, there will be a very detailed description of how these XML files must be built. In the meantime, all INI files can be converted into MXM XML files using the INItoXML converter for Windows in this binary release. ================================================== === Auto-Config Items === ================================================== To make things a bit more bulletproof, MXM now supports "Auto-config" I would encourage those who make software releases for the Xbox to include a game/logo screenshot and an MXM_Entry.xml file as part of the release. Auto-config loading sequence: 1. First MXM loads all the entries in the MXM.xml file 2. MXM then searches the IMMEDIATE subdirectories for MXM_Entry.xml files. If found it will attempt to load those values... missing values or non-existant files will cause MXM to fall back to the following steps. 3. If an executable has not been assigned by the MXM_Entry.xml file, MXM will look for "default.xbe", failing to find default.xbe, it will search for the FIRST *.xbe file it finds in the directory and use that. 4. If an executable has been found, but no title has been assigned, it will use the title stored as part of the XBE's built-in certificate. 5. Lastly, if there is no game/logo screenshot assigned at this point, the system will look for the first MXM_SS.* file that is a JPG, BMP, TGA, or PNG and use that file. So the easiest thing to do, for each game, is to simply through a screenshot in the directory named "MXM_SS.jpg" (or whatever the extension is for the chosen format). Next easiest thing is the above screenshot file, with an MXM_Entry.xml file including the following: ---------- Mame Vol#3 CAPCOM collection! ---------- The node may also include the following: [image filename] The image file, relative to the location of this entry ini file. [xbe filename] The filename only, of the XBE to use in this directory. Ex: "Exe=XMarbles.xbe" =================================================================== 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. Q: I don't like the Sky-and-logo splash screen. How do I get rid of it. A: You don't. 1) Internal images: Does not require ANY external resources to load. External Resources=BAD. 2) It's Initialization. If MXM crashes, I have a very good idea WHERE based on the progress with relation to the splash screen (before during or after) 3) Well, it's initialization, you don't want to load up anything externally (there's that first point again). You can't grab information from a config file that hasn't been loaded yet. 4) It's an ID logo. Call me vain, but it's been months of hard work to put this together. At least I haven't put my face or something there. 5) MXM is open source. If somebody wants to, they can re-write the code themselves for their personal version. They can also support such a version when people screw up their config files or something and can't boot - because it will be harder to do. 6) Loading times. Part of the reason it was added was to let people know MXM was doing something while it spent the time loading files and looking for executables. (though that load time has been reduced a bit) Look, I know the sky-and-logo clash sometimes with people's skins. That's part of the reason I fade it to black before displaying the title screen or menu screen. The new version will be enhanced by adding a variety of "Init Screens", including a Matrix-style tumbling symbol thing. I am also considering adding a plasma-lightning animation as well. You will be able to choose with a simple patch to the XBE file. The splash will ALWAYS be there in my versions, in some format. =================================================================== 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. Beta 0.9 * AutoConfig!! See the section on AutoConfig for complete details. * Sped up menuing by offloading screenshots to a seperate thread. Beta 0.9b * Added IR support, courtesy of SpOoK from the xboxhacker.net forums (See the section on the IR support) * Fixed 'overzealous' keypress issue. * Changed dashboard sequence for the controller from BACK+START to RIGHT STICK+LEFT STICK It remains "PrntScr" for the keyboard. Beta 0.9c * Added the ability to navigate using the thumbsticks * Fixed the PersistDisplay() issue. Loading screens now display. * WMV is now a supported format! The videos will loop, and sound is disabled in this release by default. I'll add parameters to change those (sound does work) shortly. WMV files can be used ANYWHERE an image file is used. Thanks go out to Syn3rgy @ the xboxhacker.net forums for knocking down the remaining barriers on this feature. * Moving away from ini files. XML will be the new standard (faster loading) To make things easier, I've included a converter, to modify existing files to the new format. * Disable for auto-config - Set Main->AllowAutoConfig to No (or Off/false) * Main->MoveDelay - Time between pressing down/up and the menu changing selections in Repeat mode. * Main->RepeatDelay - Time between holding down/up and the program repeating the move. * Main->LoadSkin parameter to select a specific skin (Based on directory name) * Main->ExitApp allows you to specify a dashboard other than the 'default' one, such as "C:\evoxdash.xbe" when using the dashboard sequence. This solves a problem when using MXM as your default dashboard application. * Well, a lot of work, but I've sped things up a bit (well, not really sped up, as much as shuffled things around) and added a nice fade in to a moving sky and MXM logo just before hitting the title screen. * Smooth transitions now occur between menu states * the slight "stutter" from the music when MXM starts up is now fixed. Beta 0.9d * Fixed a problem that prevented Auto-config from finding the correct *.xbe file, even if it was specified in the MXM_Entry.xml file. It will work correctly now. * Added WMV as an Auto-config media type (It will use a file named MXM_SS.wmv in the game directory.) Beta 0.9e * Fixed glitchy graphics issues. This included messed up looking menus and the odd flash before the title screen faded in. * Changed the "intro" screen to fade out to black before the title screen. The textures are no longer loaded externally. * Fixed (hopefully all) the issues with the music manager. Random and global should work with skin soundtracks. * Dpad, stick and IR direction "repeat delay" issues are now resolved. They should act the same. * Added "VerticalSelection" to "Menu" options, defaults to TRUE. When set to FALSE, will allow the controller input Left to Right to select menu items. * I ==THINK== I have the empty description bug fixed. It has been tested, and should work. The details are still a mystery to me, though... but my fix has done the trick. * A little change in the way autoconfig works... if you define entries in the MXM.xml file, then AllowAutoConfig defaults to FALSE, if there are no entries in the MXM.xml file, it defaults to TRUE. Of course, you can specify your own value for this as well. Beta 0.9f * Moved "Font16.xpr" internal to the xbe, so no media directory is required anymore. * Added the ability to put passcodes in the game entries. This will allow those with children to prevent easy access to games without having to enable parental controls or prevent unauthorized access to programs. (I added this so my 10 year old son would not have easy access to BMXXX) * Changed IR remote "boot to dash" function to "Title" (Was "0" key) * Added support for MXM and game help screens. There are 3 built-in help screens for MXM. See "Entry" and "Help" configuration for more details on these options. * Help for games may also be auto-config'd like the screenshots, using MXM_GHxx.* where xx is a value from 01-99 (must start with 01 and continue contiguously) and '*' is a valid image extension. * A TitleDelay of 0 prevents the display of the title screen. * Added a TitleImage.xbx icon to be 'friendly' with NexGen. It will install the icon on startup, if it doesn't already exist (internally generated, no extra files needed). * Cleaned up the launch code a bit. Now it checks to make sure a title exists before launching it; if the xbe does not exist, it puts up a detailed message and kicks back to the menu screen. * Added ability of AutoConfig items to pull title and description from the Game's ID. A few titles have regular descriptions (in many cases, this is the part of the title following the colon) and for those without, the publisher's name can be used in their place. * Odd, for some reason, the system was not initializing all of the drives (T:, U:). * MXM should run without any MXM.xml file or support files. If it doesn't find entries, it will display the likely entries it finds for a dashboard. * A new switch "AllowVideoSound" allows you to pause the music when videos are shown as screenshots, so the audio may play (good option to use on DVDs, too, due to speed/disc access issues) Beta 0.9g * Reorganizing MusicManager to stomp all known issues with song selection and local soundtrack. * Added two additional "intro" screens that can be configured with patching 0 = Matrix Effect intro screen 1 = Large Logo with sky 2 = Small Logo with sky * Added Matrix effect to screen saver; Saver will SOON allow combination of several elements: - Background can be black or shifting colors - Matrix Effect "falling symbols" - Bouncing MXM logo * Added a system menu accessed with "Back" button * Fixed memory/resource leak with fading screen logic * Matrix Symbolic font was added to "built-in" data - Font designed by me (BJ), includes 12 symbols and letters A,D,E,I,M,N,U,X * MenuX Compatibility BROKEN - DO NOT USE THIS ONE - SORRY. Beta 0.9h * MenuX Compatibility - MXM's default.xbe can be dropped in as a direct replacement for the MenuX app... it will use the XDI file to configure the games, and also use the PNGs and sounds from the MenuX media directory as a 'skin', unless another skin is loaded (If 'real' MXM skins are available, the MenuX 'skin' will be randomly selected with the other choices). Was broken on 0.9g - That's what I get for not testing completely!! I am very sorry, while I could rattle off a slew of excuses, it doesn't change the fact that I screwed up. Expect the goodies in the next version. None of the future features were ready for prime time at the time of this bug fix. Beta 0.9i * Setting TitleDelay to "-1" will leave the title screen on until the user presses a button (Unless selected in image for layout) * New skinning technology (See accompanying SkinningOverview.doc for details) Key Features: - Font cache: Fonts are skin loadable resources. One is built in, and the MenuX fonts are loaded in in that mode. - "Old School" MenuX style menublock. While MXM's version is much more configurable, in MenuX mode, we make it look EXACTLY like the original, provided correct fonts are present. - Dynamic text fields with numerous effects using modifiers. Uses fonts from cache. * Added capability to use SubMenus and load from secondary menu files. This is a big one... still works the old way, but with true XML loading of the menu information, you can now group items in a variety of ways and also you don't need to worry anymore about the indexing. * I think the dashboard issues are fixed. More detail will be explained in the new User's Guide. It should run from any partition, but it does so by searching for itself as a dashboard (this is due to the fact that I have no way that I can tell where MXM is run from). * MXM supports multiple directories and files to be added to the local soundtrack (supported in skin) * Added power off to System Menu * Supports TitleImage.xbx (Program Icons) for image types. Using the XBE as an image source now redirects to the appropriate TitleImage.xbx file. * AutoDir supports "Flatten" and "Recurse" flags. Flatten keeps all entries, regardless of how deep they are in the directories, in the same menu level as the AutoDir tag - defaults to FALSE. Recurse, causes the AutoDir search to look into subfolders beyond one level down - defaults to TRUE. * option will eliminate multiple occurances of the same app from popping up. Defaults to TRUE. * Internal images can be used as resources. These have unique filenames: ::SkyTile ::Logo ::HelpGCScreen ::HelpKBScreen ::HelpIRScreen * Ugh. Dashboards menu doens't work too well. Not sure what's going on there. Hopefully it will be fixed by 0.9h * FTP server is enabled, but it will likely lock up on use. It requires a valid FileZilla.xml file, and I've run out of time to get it sorted out. Beta 0.9j * Does not exist. There is no spoon. These are not the versions you are looking for. Beta 0.9k * Fixed a nasty parsing bug in the XML parser that was hosing menu XML configs. The parser I used failed to consider nested nodes with the same node name, so it would stop parsing the node at the first end tag, instead of doing a reference count and incrementing/decrementing the reference count on pairs of tags. Understandable, as the code gets more complex. Hopefully my fix will hold :) * Fixed problem with FontBundle toolkit created XPR files. The tool used a newer version of the XDK tool, resulting in a version conflict with the MXM font routines. MXM now supports both versions of fonts without complaint. * Soundtrack issues seem to be cleaned up. * Fixed problem with "Passcode" conditionals * FTP Server Working! No longer using XBFileZilla, using J.P.Patches' code. Not perfect yet, as I've got configuration and such. For now, l/p: xbox/xbox Configuration will come in on the next version. * Fixed minor issue with MXM style menu block - if you specify "Scale Y"a dn number of items, it didn't use the proper height, and failed to display allthe items, now it does. * Fixed synchronization issue with gadget timers * Added new strings: MAC XboxVersion SerialNumber VideoStandard ShortDriveCSize ShortDriveESize ShortDriveFSize ShortDriveCFree ShortDriveEFree ShortDriveFFree * Text elements can be used as horizontal menus. Suggested usage is to include conditional triangles on either side, with "CGTitle" as the string source... Tag for Text Gadgets is: true "Horizontal" attribute changes the control to left/right instead of up/down. All the usual Text attributes apply... so have fun with it. * Cacheing Menus! Turn off this feature in the MXM.xml with False under the Main node. Otherwise, cache_menu.xml will be generated when running from the hard drive, and used by the program whenever it is more current than the MXM.xml and/or the menu.xml file. It can be reset from the System Menu (Y Button) * Fixed problem with Soundtracks! Didn't reveal itself until testing for release... The problem would cause lockups on the transition between Title and Menu states. **************************************************************************************************************** **************************************************************************************************************** Big shout out to J.P.Patches for his FTP Server code. J.P.Patches shouted back to send back a thanks to Myself (BenJeremy) and HSDEMONZ for assisting in the testing of the server, way back when... **************************************************************************************************************** **************************************************************************************************************** Beta 0.9l * New strings: TempSys TempCPU TempSysF TempSysC TempCPUF TempCPUC BIOSMD5 BIOSName CurrentSubMenu TrayState (Open/Closed/Init) DVDType (Identifies the type of disc currently inserted: Game, Movie, Unknown, Empty) Name (Identifies the nickname) CurrentSong CurrentSoundtrack NumFTPUsers DefaultGateway (These new IPs do not have 'dressing' - add with Compound Strings) SubnetMask DNS1 DNS2 * Added Preferences node to configuration. - If True, displays temps in degrees Celsius, otherwise uses Farenheit - 0=24-hour format, 1=am/pm format - 0=American mm/dd/yy, 1=Euro yy/mm/dd (More to follow) - Adds the nickname of your choice to the head of the nickname cache - Will run single game discs and load multi-game compilations into the menu (MXM and MenuX) Defaults to FALSE - Loads multidisc DVD compilations into the menu (Like AutoLaunchGame, but won't run single game discs) Defaults to TRUE - When loading discs, this indicates whether the AutoLoad should search beyond the first layer of subdirectories - Will run movie discs using the selected movie player Defaults to FALSE - and get called when playing a DVD movie disc that's autolaunched If not specified, it will search all menu items for the DVD Region X v2 player. * Added "Overrides" - have to be careful here.... overriding music/video interaction could lead to issues!! Overrides::PreviewEnableSound True/False Overrides::PreviewSuspendMusic True/False Overrides::ForceGlobalMusic True/False Overrides::ForceLocalMusic True/False Overrides::ForceRandomMusic True/False * Added new conditionals: SubMenu - True when current menu displayed is submenu MainMenu - True when current menu displayed is main menu (topmost) * Fixed potential issues with multiple FTP users accessing DVD drive. * Item element now supported. Untested, but should work. * On StrongBad's suggestion, added "B" button to act as "Back" when navigating menus. * Fixed nonworking tag in Menu::MenuX gadget. * Skins now may assign menu and message box colors: MessageBox::BoxColor (Defaults to 0x80000000) MessageBox::BorderColor (Defaults to 0xffffff00) MessageBox::TextColor (Defaults to 0xffffffff) MessageBox::ShadowColor (Defaults to 0xff000000) SystemMenu::BoxColor (Defaults to 0x80000000) SystemMenu::BorderColor (Defaults to 0xffffff00) SystemMenu::TextColor (Defaults to 0xff909090) SystemMenu::SelectColor (Defaults to 0xffffffff) SystemMenu::ValueColor (Defaults to 0xff000090) SystemMenu::SelectValueColor (Defaults to 0xffc0c0ff) * Added check to prevent AutoDir from loading MXM as an item * "X" button on gamepad now skips to the next song in the menu screen. * Added new image sources, menu based ones, analogous to the entry ones... for the current menu: Menu MenuNamed MenuBase MenuBaseIdx (These are untested) * FTPServer was "slightly rewritten" - J.P.Patches core was great, I just re-did it using a bit more robust string object (no overflows) and added XML configuration. Some testing was done, looks OK. PASV mode still going to be an issue. * New Node in Text Gadget to support compound strings Example: This is This will create a compound string that combines the values. * Fixed nasty little parsing issue - It didn't affect too much before, but arose under certain circumstances. * XML values now support HTML Codes: < > & for "<", ">", and "&" respectively. * Added Time Synchronization. Supports network Timeservers (port 13) at the moment, more will be added. Preferences::SynchronizeClock (True/False, false if TimeServer is not defined, otherwise defaults to True) Preferences::TimeServerIP (Defaults to null) * Added Network settings node: Network::UseDHCP (True/False, defaults to last setting, otherwise) Network::IP Network::DNS1 Network::DNS2 Network::DefaultGateway Network::SubnetMask * FTP Priority setting: Preferences::FTPPriority (Lowest/Low/BelowNormal/Normal/AboveNormal/High/Highest Defaults to Normal) * Made improvements to speed on FTP uploads and downloads * Tweaked startup to use the undocumented XeImageFileName to determine the startup path. This should fix a few problems, hopefully. * In the skins, multiple image resources can be randomly selected from at bootup. See the skinning guide for details. (This is untested) * If no items are found in the MXM.xml as subnodes of "Config" then it will also look for a "Menu" subnode as second chance. * Added System Information screen - It's not too exciting for now, but it does consolidate much of the info available. * Fixed issue with FTP and root directories. Beta 0.9m * Fixed FTP Issues: - Can now properly overwrite files - Corrected issue with some FTP Clients not displaying directory listings - RMD should work 100% now - Directory Listings clone Evo-X output - PASV now works (some testing done) Beta 0.9n * Fixed problem with "Bounce" modifier that caused the size to be screwed up for dynamic strings when they changed. * Implimented for
node. Defaults to MXM path, but this will override the value and search will occur in the path specified in this element. * Implemented FTP SITE commands: SITE reboot SITE shutdown * Added property to item entries. If True, it overrides check for duplicates. False has no effect. * Fixed some issues with the FTP Server, works with AceFTP 2 * Fixed XML "cooking" - use of escaped symbols ampersand, greater and less than. Tested with Toejam & Earl * Added "FlashID" Text String (smell anything burning?) * Added Screenshot capability!!!! RIGHT-TRIGGER and "X" will capture screen captures to Z:\\ * Added X:, Y:, and Z: to the FTP Served drives. * Added internal images: ::ICO_ACTION, ::ICO_DIR, ::ICO_DVD, ::ICO_EMU, ::ICO_FILE, ::ICO_HD, ::ICO_LOCK, ::ICO_MEDIA, ::ICO_MUSIC, ::ICO_WAVE, ::ICO_XBE * Internalized a master XML script that will hold internal skins, infoscreens and various other things. * Added masahiko's "Simplicity" skin to the internal skin list. * Skin Selection... not terribly stable, due to a number of factors, I am forcing a reboot after you select anything but "Random" - The changes go into MXM's "User" directory (U:\Pref.xml or E:\UDATA\00004321\Pref.xml) * Some Newsfeed capability... Add a Newsfeed node into the Config node of MXM.xml: : : True False http://www.xbox-scene.com/xbox1data/xbox-scene.xml 28 10 : : Access it with a text source of "newsfeed" The user MUST have a proper DNS defined, otherwise, they have to use the dotted 'numeric' IP for the server. * Added status indicator to MatrixEffect screen (also entailed new, more complete font; as a consequence, the internal Matrix Font is usable now... lowercase alphas OK, uppercase are Matrix Symbols) * Added Oswald's "Uyenbox3" skin to the internal skin list. * Changed "Reboot" to full Power Cycle * Added "PowerCycle" to menu options (SITE command) * Added new attributes to AutoDir: "NoDemo" - If "True" will prevent AutoDir from including any searches into directories with 'demo' in name "DefaultOnly" - Prevents AutoDir from seeing anything but "default.xbe" files when searching for xbe files (This does not affect directories with MXM_Entry.xml files) * Corrected filetimes in FTP Server to LOCAL TIME!!!! * Fixed DateFormat bug. Added new formats for Time and Date: Time - 0=24 hour clock HH:MM:SS 1=12 hour clock HH:MM:SSxm with AM/PM indicator 2=24 hour clock HH:MM 3=12 hour clock HH:MMxm with AM/PM indicator Date - 0=American, MM/DD/YY 1=Euro1, YY/MM/DD 2=Euro2, DD/MM YY 3=Euro3, DD/MM/YY TimeSepChar and DateSepChar will replace the ":" and "/" respectively. * FINALLY! Fixed the issue with no-audio WMVs. It seems it WAS my fault after all. Well, not entirely... M$ is a bit lame on how the routine I was using worked; so after a bit of re-working, videos should work both with and without audio. * Fixed problem with Pref.xml not being saved, if you never ran MXM as an app (only dash) - the UDATA and TDATA directories were never created. This is now checked on startup and these directories are created. * OK, found the bug preventing Command Lines from working. Try again... * Finally! Alpha sorting! Current WIP is defaults to alpha sorting, it should cascade to all submenu levels. tag in an item begins the sorting (you cannot next these) which continues until the end of the entries or an tag is encountered. * Alpha Sorting has been expanded to support up to three sort fields - just use additional tags * Preferences menu has been beefed up. * Additional AutoConfig type added... "Apps & Games" set by the Preferences menu. * Fixed IR Remote operation in system menus * Fixed Random Soundtrack using a randomized index table (Shuffle play). * Fixed "pam" in time (She didn't need to be in there anyway...) * Fixed Video Standard String * Added tag to item entries... used INSTEAD OF if additional security is desired. It's the MD5 hash of the 5 character alphanumeric uppercase passcode * Added ability to select video standard from preferences/local menu * "SAFE MODE" - if initialization fails on startup, rebooting should result in a safe mode menu. This is pretty straightforward from there. You can initiate "Safe Mode" by pressing "START" during initialization. * tag in entry allows you to set NTSC or PAL, IF you set "Multi Standard" in TV Type Preference setting. * Added "SITE VIDEO PAL" and "SITE VIDEO NTSC" as recovery commands available using the FTP Server. These will set the video and reboot the Xbox. Use these if your display gets hosed completely (then heed the warnings!). * Added "No Music" option to safe mode choices * Reworked a couple things on the soundtrack manager * Work done on FTP Server. XBRenamer now works (Found bug in RETR code) * Fixed issue with FTP Server when moronic client attempts to create an existing directory (succeeds now) * Added "CGEntryValueDWORD" string source, to report values as 10 character, 8 digit, C-Style hex values (0x00000000) * Added "CGEntryMode" to report the desired video mode * Added and to Text Elements - scaling is based on this width (implied), and fonts are displayed proportionally. * Fixed "bug" that caused seeming random selection in the root menu (legacy from DVD Menu days) * Better "Game Info" screen. * Added "Simple Init" screen (See MXM_Patcher) * Added Color Selection, good for Matrix and Simple Init Screens (See MXM_Patcher) * DVD Compilations have several options to alter the behavior of the skins loader: Main::UsePrefSkin (Defaults to FALSE) If TRUE, uses setting in Preferences menu Main::RandomSkins (Defaults to FALSE) If TRUE, and in XDI/MenuX compatibility, allows randomizer to pick skin Main::DVDSkinsOnly (Defaults to TRUE) If TRUE, prevents usage of internal skins, forces skin searching to D:\ * NOTE: Renaming failures in FTP are due to open files in those directories!! I'll need to come up with something to work around this limitation. It is an unfortunate side affect of having a feature-rich skinning system :( * The USer's guide needs some work... expect updates soon on the MXM tutorials page I tested some word-wrap code as well, for true multi-line support, but I need to think on a few things to correctly implement this in the Text Gadget. The word-wrapping function is working, so as soone as I determine the implementation details, skinners will have access to it. Beta 0.9n.1 (Bug Fixes) [*] Extremely bad situation with PAL/NTSC mode switching affecting people's systems. Now disabled until further notice. Beta 0.9n.2 (Bug Fixes) [*] Fixed FTP reconnection issue (non-random ports generated for PASV - "rand()" wasn't working) [*] Fixed Xbox Version not showing up for some people. [*] Dunno... newsfeeds weren't cycling. I suspect a bug in the compiler optimizations - it suddenly started working. [*] Hmmm... changed some of the newsfeed stuff. Should work on more feeds? [*] Added a bit more game information (Content Size) [*] Added Music Volume to preferences [*] Moved DVD menu option [*] Added the ability to screenshot in menus and messageboxes (Right-Trigger + "X") [*] Added a few more Preferences options (Saver delay, "Remove" menu options) [*] Re-arranged the skin loading a bit to fix a couple minor issues (seems to be faster now, too) [*] Fixed bug in AppMenu (which drives the "Y" System Menus) that sometimes prevented a submenu from working. [*] Added "Emulators" to the Apps and Games style auto-config [*] Clarified options specific to "AutoCfg" menus [*] Added No Demos and Default.xbe options [*] Fixed (I hope) issues when global soundtracks were uninitialized on the Xbox [*] Added "Use Internal Skins" Option while re-arranging some preference menus. [*] Added tag to Layout nodes in skins (to disable music in a layout) Beta 0.9n.3 (Bug Fixes) [*] Changed a little bit about the way the menu cache works. [*] Removed "B"/Back to activate the System Menu (Use only "Y" now) [*] Fixed issue with SortFields being used with AutoDir (not propogated to cache menu) [*] Newsfeed "sticking" issue seems to have been fixed, finally (didn't happen in Debug). [*] Fixed problem with newsfeed updates retried almost continuously when they fail. Beta 0.9n.4 (Bug Fixes) [*] Added tag to layouts, which prevent the fade in if set to FALSE [*] Fixed issue with Alpha-masked PNG files not displaying properly [*] Fixed another issue with Alpha on Fonts not being displayed correctly! [*] xISO xFER now works with MXM (tested on 2.02) - xFER didn't like my MKD response code. [*] New SITE commands: SITE ResetMenuCache FTP Client apps could refresh the menu selections SITE trayopen Opens Drive Tray SITE trayclose Closes Drive Tray [*] Oh, just for kicks, I added a "System..." submenu and implemented the "Action" tag for menu items. This is pretty simple, at the moment, but I'll build this up as time progresses. The test menu features "Tray Eject" and "Tray Close" as well as reboot options. [*] Added conditional "itemaction" [*] Fixed small problem with the Time Synch not being disabled when the network was disabled by SAFE MODE [*] Tweaked the menu loading again. Beta 0.9n.5 (Bug Fixes) [*] Fixed Music Enable [*] Checked Enable Global Music - works on my test machine [*] Added "Enable Network" to configuration menus. [*] Explaination of the tag to add your own "Systme" commands to the 'regular' menus: Instead of defining an "Exe" You define an Action for the item: trayopen Open DVD Tray ::ICO_ACTION ::ICO_ACTION Actions currently available: - ResetMenuCache - trayopen - trayclose - reboot - shutdown - PowerCycle More will follow [*] Totally new FTP server code. Should be no more hangups... you can now ABOR during transfers. [*] Recognizes "G:" drive [*] Toggle for "Action..." menu (Formarly "System..." but confusing name with "Y" menu) [*] Hard drive Formatting! - SITE commands: FORMAT C: FORMAT E: FORMAT F: FORMAT G: FORMAT X: FORMAT Y: FORMAT Z: Of course, use these at your own risk!! As usual, these SITE commands can also be used in ACTION menu items Requires a toggle of the configuration menu (Misc settings) before first usage. [*] Drive-related Strings have "G" equivalents now. [*] Conditionals: cdrivepresent, edrivepresent, fdrivepresent, gdrivepresent [*] Added "not" attribute to conditionals, for testing OPPOSITE condition. To use, set not="true" i.e.: GDrivePresent [*] Added "fanspeed" gadget string. [*] Added ATTR ro|rw CHMOD 777 (This command is compatible with FlashFXP's "Attributes" action) LaunchDVD EEPROMBackup [Filename] (Backs up EEPROM contents, encrypted, to a file, file defaults to "eeprom.bin" in current directory) EEPROMRestore [Filename] (Restores EEPROM contents, encrypted, from a file, file defaults to "eeprom.bin" in current directory) MKDIR RMDIR CD (GUI only, sets default directory, which starts as MXM's path) COPY RENAME DELETE :