Plex Media Center for OS X Leopard

Archive for May, 2008

Release 0.5.0b4: Weekend update

Here’s a tasty release which hopefully takes the edge off the weekend like a cold beer on a hot day. I felt bad because I think the last beta took a few steps back. Hopefully this one will set things back on the path to stability. Download is here (Bittorrent, HTTP) and source is here.

  • FIX: “Pulsing” icons problem. Also fixes poor performance in library mode, and crashes when removing items from library or renaming them.
  • FIX: Extremely ill-advised change to fix the “simultaneous SSA subtitles problem“. I’m relying on bmfrosty, God Emperor of Subtitles, to tell me if it works and if I broke anything else in the process.
  • FIX: Logs are now saved in ~/Library/Logs, where they belong.
  • FIX: VobSub subtitles seem to show up now (this bug).
  • NEW: Rudd’s latest SSA patch for extracting embedded fonts. bmfrosty can play around and see if it helps things.
  • Updates to latest ffmpeg and linuxport code. This includes a few months of ffmpeg development, so quite a bit of things might be working better now. Let me know if you see any regressions.

Look for fixes and improvements to the Apple Remote and power/screensaver issues in the next betas.

Believe it or not, this is what Barkley used to look like.

40D-6864.jpg
22 comments

Support Forums

It *totally* slipped my mind to mention in the release notes, but we have new support forums here. Come on in, make yourself an account, say hello. Many, many thanks to Isaac (a.k.a. iordonez) for setting them up.

5 comments

Release 0.5.0b3: Back on Track

Alright, it’s been way too long since the last release! I apologize. Profusely. I’ve been busy getting the code moved over to Github and taking care of some other related things. It might seem like all I’ve been doing is drinking beer, but I assure you, that’s far from the truth. Really.

I’m going to write another post tomorrow detailing how totally awesome git and GitHub are, with some detailed instructions on how you can contribute to the project as a developer. For now, I’ll leave you with a link to the tagged source for this release.

Clearly we still have some rebranding/renaming to do; for now, imagine OSXBMC as standing for “OS X Barkley’s Media Center” or “OS X Bad-ass Media Center”.

Here is what’s new in this release:

  • NEW : Support for Aliases.
  • FIX: Listing directories with broken symlinks is wonky (things went missing).
  • FIX : Timezone off-by-one issue (really fixed this time!)
  • FIX : Mouse cursor sometimes shows up. I double-doggy dare it to show up now!
  • NEW: libdvdcss is included, which should help with DVD playing (thanks, tokyovigilante!)

Also, I’ve updated to the latest Linux code, which has lots of good stuff as well. Vulkanr has made some great progress on getting libcdio into shape (with the help of davilla), and as a result, support for media on optical disks should be along shortly.

Here are the links (torrent, HTTP) to the release. Since a lot has changed since the last one, I’m sure I probably screwed something up.

Here’s your dose of Barkley; he’s swimming around in some salt water pools and watching Anna take a dive (and probably wondering why it looks like she only has one leg).

40D-0942.jpg
33 comments

Exodus

A few days ago, there was a heated internal email discussion going on amongst the XBMC team members. The topic: whether or not to kick me and the other OS X people off the team. There was an actual vote taking place, with retractions, explanations, concessions. One of the OS X people got called a rather offensive name.

I watched this all with a calm sense of detachment. Why? Because I’m totally over it.

When I started porting XBMC to OS X, and then joined up with our little ragtag team of like-minded individuals, the goals were simple: To take what we considered to be the best media center in existence, and make it run on the Mac. The second goal was to make it stable. The third goal was to integrate it fully into the Mac ecosystem. And the fourth goal was to make it even better than it already was.

What became clear to me watching this vote is that these goals can no longer be met as members of Team XBMC. That’s why I voted in favor of kicking us all off the team. I simply do not have the stamina, patience, or desire, to deal with all the drama surrounding our union. I will not go into details here, for the sake of professionalism, and it must be said that I still have a great deal of respect for nearly all of the XBMC team.

Having covered that, where to from here?

We will continue to work on XBMC for the Mac. We are forking the code (it will be hosted on Github). We will still keep roughly in sync with the Linux code, and of course the XBMC team is welcome to merge our changes back into their tree.

The biggest change here is that we will no longer be operating under the restrictions imposed by the team. We can clean up and simplify the settings as we see fit. We can remove features that don’t work right (sometimes, less is more). We can add whatever new features our users are asking for, in the manner of our choosing.

We will be announcing new support forums shortly, and we will be posting details on the Github repository.

Also, we’re definitely looking for talented graphic designers with an eye for typography to work on a top-notch Mac-themed skin.

If you’d like to join us, we’d love to have you. And by “join”, I mean “work with us”. There will be no formal team, nor will there be any getting voted off the team. Think of projects like Mono, Wine, or Linux as models.

It’s an exciting time, and there is a lot more to discuss. Peace out.

EDIT: I’ve closed comments for this thread. It’s time to get some work done.

97 comments

Keeping me company

OK, seriously, how am I supposed to focus on coding when this monster is hanging about three feet away from my door (which is open to let in the breeze)? It’s so big that I found Barkley in its web this morning, poor pup, and when I tried to shoo it away with a broom, it broke the handle over one of its leg pairs.

40D-0905.jpg

22 comments

The Source

Just to dispel any rumors or myths to the contrary, we are – of course – planning on checking our changes back into the Linux branch of XBMC, just as we’ve done with all previous releases.

Trying to release a stable and polished product to our beloved OS X community while the Linux XBMC code churns like an Amish farmer making butter ain’t easy. I’ve been burned in the past trying to get some changes checked in and then finding that I had to update more of my local tree than I wanted to as a result.

In addition, posting comments here about violating licenses, harassing our team every few hours on IRC, and sending accusatory emails are really not the best way to get on our Christmas list. Contrary to popular belief, we do this for fun, and the less fun it becomes, the less likely we are to continue doing it.

In the longer term, we’re looking into solutions to this which will likely involve either creating an OS X branch in SVN, or creating a GIT repository somewhere where you can get access to more realtime source updates.

Until then, please, be kind and patient as we work to resolve a few more issues in the betas and then get our changes back in SVN.

59 comments

Release 0.5.0b2: Duct tape

I am back from hiking 20 miles in two days down into the Haleakala volcano crater. I wish I could say I missed Internet access (I did try to check my email on Anna’s iPhone in a moment of weakness, but there was no service), but in reality it felt great to get out and explore the island.

This is another in a series of betas in which we’re focusing on fixing bugs. Here are the fixes that made it into this release:

  • FIX: Scott updated the XBox360 controller keymap, mapping the white and black buttons to the two buttons above the triggers and made some other improvements and fixes. NOTE: You will have to remove your existing keymap.xml in ~/Library/Application Support/XBMC/UserData. As before, failure to do so may result in your having fairly unpleasant interactions with carnivorous dinosaurs.
  • FIX: The screensaver kicked in after 10 seconds no matter what the time was set to.
  • FIX: Our European friends will be happy to know that accented characters now show up correctly when browsing files and directories. Thanks to Roman for pointing me in the right direction. Total amount of time spent tracking this down including the time I invested last time (in which I gave up) was probably about 10 hours, so it feels really good to nail this one.
  • FIX: Timezone selection has been removed, and we now use the OS X timezone. This fixes the DST problem people reported, and allows the timezone selection to be handled in a single place.
  • FIX: Weather is fixed.
  • FIX: Scripts are fixed (silly release building error).
  • FIX: Red and blue were swapped in SSA subtitles.
  • FIX: Allow selecting any available audio device as a passthrough device. This should enable people with external USB interfaces with digital output to use them. NOTE: You may have to reselect your audio output device if you’re doing passthrough.
  • FIX: Much improved bold-ing and italic-ing thanks to jmarshall.
  • FIX: Mediasources.xml and profiles and plugins were incorrectly read from and written to application bundle.
  • FIX: Potential fix for the XBMC helper losing exclusive access to the Apple Remote (and thus holding down play putting the machine to sleep). Please test, and if you still run into the problem, let me know if you’re running in full-screen mode, windowed, or both, along with any other details that may help track the problem down.

As we all know, making a release is just another excuse to post yet another picture of Barkley, who turned three on Saturday. The release is available here as a torrent, or here as an HTTP download. Enjoy!

40D-8848.jpg
37 comments

Release 0.5.0b1: Mo betta beta

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:

untitled.jpg

  • 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.

The new release is available here as a torrent, or here by regular HTTP download.

And now, your moment of Barkley. Yes, he’s hoarding three raquetballs, which he believes will eventually hatch into little blue squeaky smurfs.

40D-0726.jpg
86 comments

Version 0.5 is just around the corner

As some of you have accurately pointed out, we’ve slipped past the release date listed for 0.5. Before the comparisons with Windows Vista start arising, let me assure you that we’re working hard on it, and have one or two minor things to finish up before releasing. We’re thinking about doing a couple of beta releases before the final 0.5, just to ensure the greatest success.

Stay tuned…

19 comments