I have been coerced into going camping for the next two days, up behind the volcano. It’s apparently freezing at night, full of sharp rocks, is reminiscent of Mars, and there’s always the chance of waking up in a pool of lava. Why anyone would voluntarily subject themselves to such abuse is really beyond me, but I agreed go before hearing many of the specifics.
So while I’m freezing my ass off and probably getting devoured by dinosaurs that have survived the last 65 millions years on a strict diet of hikers, I thought it would be only fair to leave you with a beta release of what we’ve been working on for the last month. This is, to quote Scott, the “throw out your XBox” release.
NOTE NOTE NOTE: You MUST delete your Keymap.xml file, and probably should delete your entire Application Support/XBMC folder before upgrading. If you don’t and then file a bug I will feed you to the dinos myself. This is also a beta and so does still have some glitches.
This release is based on very nearly the latest “linuxport” code, which means you have a month full of bugfixes and new goodies and hard work by the rest of the XBMC team. Our motley OS X crew have mainly been drinking tequila, but in between bouts of body shots, we had a bit of time to bring you some new stuff:
- NEW: Apple Remote support. This is a big one. There’s now a helper that runs and communicates with XBMC. Among other things, this allows you to use the Apple Remote to start XBMC, a highly requested feature. The code has also been rewritten to handle the buttons much faster, so you should notice none of the pesky delay that’s been present up until now. There are preferences for the Apple Remote in Settings -> System -> Apple Remote which let you specify three modes. Disable the Apple Remote support if you want to use a third party application (e.g. Remote Buddy, Sofa Control). Isaac has been working relentlessly with both companies to ensure that you have great behavior with those apps, and he is the one who did all the Apple Remote keymap programming. Very nice work! Standard mode is what is enabled by default, and is intended for those using, well, an standard Apple Remote. The other mode is Universal Remote, which I’ll explain in the next bullet item. The Always Running option instructs the helper to start on login and always run, so that you can use it to start XBMC. If you hit the menu button when in the home screen, XBMC will exit, and another press of the menu button starts it back up again, so it works just like Front Row but without sucking.
- NEW: Universal Remote support. This is totally awesome, and the brainchild of Cayce and Scott who are both Universal Remote-aholics. When I met them in person for the first time, they had each independently brought their universal remotes along to try to convince me that their model was the best. I cannot make this stuff up. Scott sports a Harmony 550, and Cayce has an URC-MX900. Cayce’s remote could definitely best Scott’s in a fight, but Scott’s remote is sexier. Anyway, they came up with this cool scheme that I coded in the XBMC helper to allow sequences of Apple Remote buttons to allow for many more commands than the standard Apple Remote could support, even with holding down buttons. Check out this page for details on the mappings and you should be able to program your Universal Remote. You can change the sequence delay time to work best with your specific remote. Thanks to Scott for testing the crap out of this with his Harmony, and really making sure it works well.
- NEW: XBox360 controller support. Rounding out our controller portfolio is the XBox 360 controller. Good for those MAME games, when we get them working. This controller worked with SDL, but the code was buggy and once the controller shut down, you were screwed. I moved the code into the XBMC helper and tweaked d4rk’s awesome event client stuff a bit to support what we needed with analog sticks. The controller will fall asleep and wake up fine, and you can use the big X button to start XBMC if it isn’t started. You’ll need these drivers, and you may want to replace one of the kexts with the one here since it fixes a bug when plugging and unplugging the USB receiver. Again, thanks to Scott who tirelessly worked away to create a keymap for this controller.
- NEW: SSA Subtitles. This was a oft-requested feature, especially by the infamous Bad Mr Frosty. Luckily for him, a new XBMC team member named Rudd integrated support for libass (used by mplayer). We took his code, started with the default libass, integrated some fixes and enhancements from mplayer, and enabled enca support (which can detect languages in subtitle streams using some cool techniques). Fontconfig support has also been enabled and so SSA subtitles should work perfectly now, except in the case of fonts embedded in MKV files, which Rudd is working on.
- NEW: Sleep displays and computer. Cayce added two killer features for this release. There are new options in Settings -> System -> Hardware that allow you to have XBMC turn off your monitor after a specified time, and also sleep your Mac after a specified time. Great stuff! Since the Apple Remote can wake the Mac from sleep, this ends up being really nice.
- NEW/FIX: Unified upscaling, fixed problems with interlacing. The initial software upscaling code was pretty hastily thrown together. I cleaned it up for this release and the software and hardware upscaling options are all available from the on screen video settings menu when viewing a video. This is nice because you can flip through the available settings to compare them. NOTE: There is a known issue with a single frame of solid green when moving from software to hardware modes, and vice versa. My OpenGL fu is weak. We also enabled a new algorithm available in ffmpeg called “sinc” which is supposedly quite good, but also very computationally expensive. A mini is not usually enough to use sinc upscaling, but feel free to give it a try.
- NEW: Skip to next/previous chapter in DVDs. If you’re watching a DVD, hitting up/down on the Apple Remote (or keyboard) skips by chapters.
- FIX: Shoutcast crashes. The guy working on the Windows port (charlydoes) fixed the memory corruption issue with Shoutcast streams, and they should now work perfectly. Awesome work!
- FIX: Skip to next/previous video doesn’t work. I’m pretty sure d4rk fixed this one.
- FIX: Subtitles look squashed in 720p/1080p. The infamous Jmarshall fixed this one. I’ll buy him a beer or five when we visit New Zealand.
- FIX: Add “Get Album Information” back to context menu when not in library mode. I was very sad when this option didn’t work anymore so I put it back in. It doesn’t save the information to the database, but it’s useful for reading an album review or getting a thumbnail.
- FIX: Navigation through menus with Apple Remote might leave you stuck. Navigation should work perfectly now in all skins.
Remember, this is a beta release, so there are likely still little issues lurking. Python is still known to be unstable, unfortunately. Seeking using the analog triggers is still a bit strange. Weather appears to be broken. We’ll likely be making a few more tweaks to the 360 keymap. Please post issues you have with the beta either here or on the XBMC forums, and help each other out. Hopefully we’ll make the final 0.5 release within a week or two, possible with a few more beta iterations.
In terms of controller options, we realize there are many more out there, but the three described above (Apple Remote, Universal Remote, and XBox 360 controller) are the only ones we will support or write code for, as we believe they provide a complete gamut of options, and frankly we’d rather work on getting PacMan to work than on getting every last controller to work.
And now, your moment of Barkley. Yes, he’s hoarding three raquetballs, which he believes will eventually hatch into little blue squeaky smurfs.