<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Plex &#187; Coding</title>
	<atom:link href="http://elan.plexapp.com/category/coding/feed/" rel="self" type="application/rss+xml" />
	<link>http://elan.plexapp.com</link>
	<description></description>
	<lastBuildDate>Wed, 01 Sep 2010 11:31:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Use the Source, Luke</title>
		<link>http://elan.plexapp.com/2008/06/02/use-the-source-luke/</link>
		<comments>http://elan.plexapp.com/2008/06/02/use-the-source-luke/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 01:24:28 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/?p=112</guid>
		<description><![CDATA[OK, so you&#8217;d like to build from source and contribute to the project. Git (and GitHub) make this really easy, and give you powers far beyond what non-distributed version control systems like Subversion provide. The problem with Subversion and CVS in open source projects is that they&#8217;re like a walled fortress, and you&#8217;re either on [...]]]></description>
			<content:encoded><![CDATA[<p>OK, so you&#8217;d like to build from source and contribute to the project. Git (and GitHub) make this really easy, and give you powers far beyond what non-distributed version control systems like Subversion provide.</p>
<p>The problem with Subversion and CVS in open source projects is that they&#8217;re like a walled fortress, and you&#8217;re either on the inside or the outside. If you&#8217;re a &#8220;member&#8221; you&#8217;re given commit access, and then you can develop on your own branches, checkpoint your work, etc. However, life isn&#8217;t so good on the outside. You essentially work without a version control system! You can pull in updates as they get committed to the repository (hoping they merge cleanly with your code), but in terms of keeping order to your local changes and check-pointing them, you&#8217;re shit out of luck.</p>
<p>Distributed version control systems like Git essentially democratize the process, giving everyone first-class revision control capabilities. GitHub takes this a step further and puts the &#8220;official&#8221; people making releases of a project on the *exact* same footing as everyone else with an Internet connection. With a click of a button, you can fork an existing project, work on it with a bunch of your friends, and then request a pull from the parent project. Check out the <a href="http://github.com/rails/rails/network/members">fork tree</a> for the Ruby on Rails source.</p>
<p>I&#8217;ve used quite a few revision control systems (CVS, Perforce, Subversion, and Clearcase &#8212; ick), and Git is the only one that both got me excited and fundamentally changed the way I work.</p>
<p>There are two basic ways to start. You can fork my repository on GitHub, or you can simply clone it. I recommend the former because that way you get instant offsite backup of your work.</p>
<p>First steps:</p>
<ul>
<li><a href="http://svn.macports.org/repository/macports/downloads/MacPorts-1.6.0/MacPorts-1.6.0-10.5-Leopard.dmg">Download</a> and install MacPorts.</li>
<li>Download and install XCode. I use the new 3.1 version that&#8217;s part of the <a href="http://developer.apple.com/iphone/">iPhone SDK</a>.</li>
</ul>
<p>Now install Git (which pulls in quite a bit of stuff with it). Why you need to manually specify gawk is beyond me. If you&#8217;re uncomfortable with the Terminal, you probably want to do some calisthenics or a shot at this point.</p>
<pre>
$ sudo port install gawk git-core +svn
</pre>
<p><code><span style="font-family: Helvetica;">Let's get your Git environment set up. Skip the "color" configuration if you don't like color highlighting.</span></code></p>
<pre>
$ git config --global user.name "Barkley Dawg"
$ git config --global user.email "barkley@woof.com"
$ git config --global color.diff auto
$ git config --global color.status auto
$ git config --global color.branch auto
$ git config --global core.excludesfile ~/.gitignore
</pre>
<p><span style="white-space: normal;"><span style="font-family: Helvetica; white-space: normal;">Edit the ~/.gitignore file and add the following to it:</span></span></p>
<pre>
.DS_Store
*.o
*.lo
.libs
*.la
</pre
<span style="white-space: normal;"><span style="font-family: Helvetica; white-space: normal;">Now we need to clone the repository. As I mentioned above, you can either clone mine, or fork on GitHub and clone that one. The example below clones mine; simply substitute your URL if you forked.</span></span>
<pre>
$ git clone git://github.com/elan/xbmc-fork.git
</pre>
<p><span style="white-space: normal;"><span style="font-family: Helvetica; white-space: normal;">At this point you'll need to wait a while, during which time you probably want to have MacPorts install the rest of the dependencies:</span></span></p>
<pre>
$ sudo port install libsdl libsdl_image libsdl_mixer glew fribidi
            freetype python24 mysql5 lzo libmad pcre
            fontconfig py-pyobjc
</pre>
<p><span style="white-space: normal;"><span style="font-family: Helvetica; white-space: normal;"><br />
(Note that for SAMBA, you should follow the instructions <a href="http://forums.plexapp.com/index.php?showtopic=401&#038;pid=3322&#038;st=0&#entry3322">here</a>).<br />
</span></span></p>
<p><span style="white-space: normal;"><span style="font-family: Helvetica; white-space: normal;">Now sit back and relax, or do shots of tequila while your machine crunches away. When it's done, you can make yourself a branch to work on. I'm currently working on the v0.5 branch for releases, so you can create yourself a tracking branch starting from there to work from, and check it out:</span></span></p>
<pre>
$ git branch --track my-branch origin/v0.5
$ git checkout my-branch
</pre>
<p><span style="white-space: normal;"><span style="font-family: Helvetica; white-space: normal;">Now we'll build the code and run it. You can also do this inside XCode, of course.</span></span></p>
<pre>
$ xcodebuild -parallelizeTargets -configuration Debug
$ export XBMC_HOME=/Path/To/OSXBMC.app/Contents/Resources/XBMC
$ ./build/Debug/XBMC
</pre>
<p><span style="white-space: normal;"><span style="font-family: Helvetica; white-space: normal;">Time to write some code! If you want to merge in the latest changes to the branch, you can issue a pull:</span></span></p>
<pre>
$ git pull origin/v0.5
</pre>
<p><span style="white-space: normal;"><span style="font-family: Helvetica; white-space: normal;">In order to push to the remote repository, you'll need to tell it which local branch to push. This next operation will only work if you did fork my repository (in which case you would likely add my v0.5 branch as a remote).</span></span></p>
<pre>
$ git push origin my-branch  # First time.
$ git push origin            # Subsequent times.
</pre>
<p><span style="white-space: normal;"><span style="font-family: Helvetica; white-space: normal;">
<p>So now you're set. You can do development on one or more branches locally, push them to GitHub, get updates from my branch (or other people's branches!) and when the code is ready to be integrated, simply issue a pull request on the GitHub site.</p>
<p>
I haven't really even covered all the different cool things you can do with Git, but hopefully this will serve as a reasonable primer. Notice I never talked about "commit access" -- why is that? Well, if you're doing the occasional one-off patch or experiment, you really don't need it, and you get all the benefits of version control and offsite backup without it. If you're starting to get more involved and you want commit access because I'm slowing you down with my pokey pulls, just ask for it and I'll give it to you, provided you're not a raging psychopath. That's the funny thing about Git; commit access doesn't stand in the way of getting stuff done. And remember, using Git means you never have to say you're sorry!</p>
<p></span></span></p>
<p>Some great Git resources:</p>
<ul>
<li><a href="http://uk.youtube.com/watch?v=4XpnKHJAok8">This</a> is a brilliant video of Linus talking about Git at Google. Really hilarious, if only to watch him call lots of people stupid in a way only he can get away with.</li>
<li>I can't recommend <a href="http://peepcode.com/products/git-internals-pdf">this booklet</a> on Git enough. The nine bucks is more than worth it.</li>
<li>A nice <a href="http://cheat.errtheblog.com/s/git">cheat-sheet</a> for the common commands and their usage.</li>
</ul>
<p><span style="white-space: normal;"><span style="font-family: Helvetica; white-space: normal;"></p>
<p>
Please let me know if any of the above doesn't work for you. We'll be moving these instructions somewhere more permanent once I know they're correct. Also, I'll post most Git tips over time. I've been especially loving the bash autocompletion.
</p>
<p></span></span></p>
<p style="text-align: center;"><img src="http://elan.plexapp.com/wp-content/uploads/2008/06/0602081520.png" width="384" height="98" alt="Tab completion" /></p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/06/02/use-the-source-luke/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Support Forums</title>
		<link>http://elan.plexapp.com/2008/05/30/support-forums/</link>
		<comments>http://elan.plexapp.com/2008/05/30/support-forums/#comments</comments>
		<pubDate>Fri, 30 May 2008 17:32:41 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Status]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/05/30/support-forums/</guid>
		<description><![CDATA[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.]]></description>
			<content:encoded><![CDATA[<p>It *totally* slipped my mind to mention in the release notes, but we have new <a href="http://forums.osxbmc.com/">support forums</a> here. Come on in, make yourself an account, say hello. Many, many thanks to Isaac (a.k.a. iordonez) for setting them up.</p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/05/30/support-forums/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Release 0.5.0b3: Back on Track</title>
		<link>http://elan.plexapp.com/2008/05/30/release-050b3-back-on-track/</link>
		<comments>http://elan.plexapp.com/2008/05/30/release-050b3-back-on-track/#comments</comments>
		<pubDate>Fri, 30 May 2008 10:08:35 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/05/30/release-050b3-back-on-track/</guid>
		<description><![CDATA[Alright, it&#8217;s been way too long since the last release! I apologize. Profusely. I&#8217;ve been busy getting the code moved over to Github and taking care of some other related things. It might seem like all I&#8217;ve been doing is drinking beer, but I assure you, that&#8217;s far from the truth. Really. I&#8217;m going to [...]]]></description>
			<content:encoded><![CDATA[<p>Alright, it&#8217;s been way too long since the last release! I apologize. Profusely. I&#8217;ve been busy getting the code moved over to Github and taking care of some other related things. It might seem like all I&#8217;ve been doing is drinking beer, but I assure you, that&#8217;s far from the truth. Really.</p>
<p>I&#8217;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&#8217;ll leave you with a link to <a href="http://github.com/elan/xbmc-fork/commits/v0-5-0b3">the tagged source</a> for this release.</p>
<p>Clearly we still have some rebranding/renaming to do; for now, imagine OSXBMC as standing for &#8220;OS X Barkley&#8217;s Media Center&#8221; or &#8220;OS X Bad-ass Media Center&#8221;.</p>
<p>Here is what&#8217;s new in this release:</p>
<ul>
<li><strong><a href="http://dn-0.com/xbmc-trac/ticket/108">NEW</a></strong> : Support for Aliases.</li>
<li><strong>FIX</strong>: Listing directories with broken symlinks is wonky (things went missing).</li>
<li><strong><a href="http://dn-0.com/xbmc-trac/ticket/124">FIX</a></strong> : Timezone off-by-one issue (really fixed this time!)</li>
<li><strong><a href="http://dn-0.com/xbmc-trac/ticket/223">FIX</a></strong> : Mouse cursor sometimes shows up. I double-doggy dare it to show up now!</li>
<li><strong>NEW</strong>: libdvdcss is included, which should help with DVD playing (thanks, tokyovigilante!)</li>
</ul>
<p>Also, I&#8217;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.</p>
<p>Here are the links (<a href="http://s3.amazonaws.com/OSXBMC_Host/OSXBMC-0.5.0b3.dmg?torrent">torrent</a>, <a href="http://s3.amazonaws.com/OSXBMC_Host/OSXBMC-0.5.0b3.dmg">HTTP</a>) to the release. Since a lot has changed since the last one, I&#8217;m sure I probably screwed something up.</p>
<p>Here&#8217;s your dose of Barkley; he&#8217;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).</p>
<p></p>
<div style="text-align: center;">
  <img src="http://elan.plexapp.com/wp-content/uploads/2008/05/40d-0942.jpg" width="401" height="266" alt="40D-0942.jpg" />
</div>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/05/30/release-050b3-back-on-track/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>Exodus</title>
		<link>http://elan.plexapp.com/2008/05/21/exodus/</link>
		<comments>http://elan.plexapp.com/2008/05/21/exodus/#comments</comments>
		<pubDate>Thu, 22 May 2008 08:17:32 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Status]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/05/21/exodus/</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>I watched this all with a calm sense of detachment. Why? Because I&#8217;m totally over it.</p>
<p>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.</p>
<p>What became clear to me watching this vote is that these goals can no longer be met as members of Team XBMC. That&#8217;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.</p>
<p>Having covered that, where to from here?</p>
<p>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.</p>
<p>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&#8217;t work right (sometimes, less is more). We can add whatever new features our users are asking for, in the manner of our choosing.</p>
<p>We will be announcing new support forums shortly, and we will be posting details on the Github repository.</p>
<p>Also, we&#8217;re definitely looking for talented graphic designers with an eye for typography to work on a top-notch Mac-themed skin.</p>
<p>If you&#8217;d like to join us, we&#8217;d love to have you. And by &#8220;join&#8221;, I mean &#8220;work with us&#8221;. 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.</p>
<p>It&#8217;s an exciting time, and there is a lot more to discuss. Peace out.</p>
<p><i>EDIT</i>: I&#8217;ve closed comments for this thread. It&#8217;s time to get some work done. </p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/05/21/exodus/feed/</wfw:commentRss>
		<slash:comments>97</slash:comments>
		</item>
		<item>
		<title>The Source</title>
		<link>http://elan.plexapp.com/2008/05/13/the-source/</link>
		<comments>http://elan.plexapp.com/2008/05/13/the-source/#comments</comments>
		<pubDate>Tue, 13 May 2008 20:37:03 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Status]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/05/13/the-source/</guid>
		<description><![CDATA[Just to dispel any rumors or myths to the contrary, we are &#8211; of course &#8211; planning on checking our changes back into the Linux branch of XBMC, just as we&#8217;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 [...]]]></description>
			<content:encoded><![CDATA[<p>Just to dispel any rumors or myths to the contrary, we are &#8211; <span style="font-style: italic;">of course</span> &#8211; planning on checking our changes back into the Linux branch of XBMC, just as we&#8217;ve done with all previous releases.</p>
<p>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&#8217;t easy. I&#8217;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.</p>
<p>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.</p>
<p>In the longer term, we&#8217;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.</p>
<p>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.</p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/05/13/the-source/feed/</wfw:commentRss>
		<slash:comments>59</slash:comments>
		</item>
		<item>
		<title>Version 0.5 is just around the corner</title>
		<link>http://elan.plexapp.com/2008/05/02/version-05-is-just-around-the-corner/</link>
		<comments>http://elan.plexapp.com/2008/05/02/version-05-is-just-around-the-corner/#comments</comments>
		<pubDate>Fri, 02 May 2008 20:50:47 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Status]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/05/02/version-05-is-just-around-the-corner/</guid>
		<description><![CDATA[As some of you have accurately pointed out, we&#8217;ve slipped past the release date listed for 0.5. Before the comparisons with Windows Vista start arising, let me assure you that we&#8217;re working hard on it, and have one or two minor things to finish up before releasing. We&#8217;re thinking about doing a couple of beta [...]]]></description>
			<content:encoded><![CDATA[<p>As some of you have accurately pointed out, we&#8217;ve slipped past the release date listed for 0.5. Before the comparisons with Windows Vista start arising, let me assure you that we&#8217;re working hard on it, and have one or two minor things to finish up before releasing. We&#8217;re thinking about doing a couple of beta releases before the final 0.5, just to ensure the greatest success.</p>
<p>Stay tuned&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/05/02/version-05-is-just-around-the-corner/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Interview with AutomatedHome</title>
		<link>http://elan.plexapp.com/2008/04/28/interview-with-automatedhome/</link>
		<comments>http://elan.plexapp.com/2008/04/28/interview-with-automatedhome/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 08:53:10 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Status]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/04/28/interview-with-automatedhome/</guid>
		<description><![CDATA[Mark McCall from AutomatedHome was kind enough to interview me about the direction of XBMC for OS X. I know what you&#8217;re all thinking, I should stop wasting time and just get back to coding, and you&#8217;re absolutely right. I&#8217;m totally ashamed of myself. But if it brings new users to our beloved media centre [...]]]></description>
			<content:encoded><![CDATA[<p>Mark McCall from <a href="http://www.automatedhome.co.uk/">AutomatedHome</a> was kind enough to <a href="http://www.automatedhome.co.uk/New-Products/Interview-with-the-OSXBMC-Developers.html">interview me</a> about the direction of XBMC for OS X. I know what you&#8217;re all thinking, I should stop wasting time and just get back to coding, and you&#8217;re absolutely right. I&#8217;m totally ashamed of myself. But if it brings new users to our beloved media centre (notice my annoying British spelling), then perhaps it&#8217;s for the better.</p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/04/28/interview-with-automatedhome/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Accessing your iTunes library</title>
		<link>http://elan.plexapp.com/2008/04/27/accessing-your-itunes-library/</link>
		<comments>http://elan.plexapp.com/2008/04/27/accessing-your-itunes-library/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 09:28:09 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/04/27/accessing-your-itunes-library/</guid>
		<description><![CDATA[I&#8217;ve read about a few ways of doing this, but this evening it occurred to me that using iTunesFS might be really easy and work quite well. Sure enough, load it up, add the new share and you&#8217;re browsing and playing your iTunes library. The only thing I haven&#8217;t figured out is how to share [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve read about a few ways of doing this, but this evening it occurred to me that using <a href="http://www.mulle-kybernetik.com/software/iTunesFS/">iTunesFS</a> might be really easy and work quite well. Sure enough, load it up, add the new share and you&#8217;re browsing and playing your iTunes library.</p>
<p>The only thing I haven&#8217;t figured out is how to share this new FUSE filesystem via SMB. It appears that you have to set the allow_other option, but I had no luck getting this to work via sysctl. If you can figure it out, post a comment!</p>
<p style="text-align: center;"><img src="http://elan.plexapp.com/wp-content/uploads/2008/04/untitled3.jpg" width="328" height="190" alt="untitled.jpg" /></p>
<p style="text-align: left;"></p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/04/27/accessing-your-itunes-library/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Survey Results and Status</title>
		<link>http://elan.plexapp.com/2008/04/23/survey-results-and-status/</link>
		<comments>http://elan.plexapp.com/2008/04/23/survey-results-and-status/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 08:02:25 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/04/23/survey-results-and-status/</guid>
		<description><![CDATA[We&#8217;ve gotten over 1200 responses on the survey, and I wanted to start by just thanking everyone for taking the time to complete it (and cullman for suggesting the idea and writing the survey)! We learned a lot, and will use this information as we move towards 1.0, in terms of features and bug-fixes. First [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve gotten over 1200 responses on the survey, and I wanted to start by just thanking everyone for taking the time to complete it (and cullman for suggesting the idea and writing the survey)! We learned a lot, and will use this information as we move towards 1.0, in terms of features and bug-fixes.</p>
<p>First of all, let&#8217;s look at the demographics. Here are the top five countries; I&#8217;m amazed at how many people are in Sweden (unless <a href="http://xbmc.org/wiki/?title=User:Pike">Pike</a> was busy clicking).</p>
<p></p>
<div style="text-align: center;padding-top:5px; padding-bottom:15px;">
  <img src="http://elan.plexapp.com/wp-content/uploads/2008/04/untitled2.jpg" width="346" height="134" alt="untitled.jpg" />
</div>
<div style="text-align: center;">
  
</div>
<div style="text-align: left;">
  The next countries were Canada (62 results), Germany (49), Spain (45), Norway (41), France (31), Denmark (30), and Finland (27). The long tail drops off, and we had one respondent each from Slovenia, Thailand, Taiwan, Qatar, and Jamaica (and others).
</div>
<div style="text-align: left;">
  
</div>
<div style="text-align: left;">
  Moving on to looking at the results:
</div>
<div style="text-align: left;">
<ul>
<li><span style="font-style: italic;">What kind of Mac do you plan to use as your primary OSXBMC machine?</span> 64% of you have a Mac Mini, 11% have Macbook, 11% have Macbook Pro, 7% have iMac, 3% have Mac Pro. That&#8217;s in line with what we were expecting, although I think I was surprised that over a fifth of you are using laptops.</li>
<li><span style="font-style: italic;">How much RAM does your Mac have?</span> Most people here (66%) have 2GB or more, which means lot of room for a decode buffer. (Even those with only 1GB will be able to store quite a few decompressed frames).</li>
<li><span style="font-style: italic;">D</span><span style="font-style: italic;">o you have multiple displays connected to your computer?</span> We were surprised to learn that 25% of you do connect multiple displays. This means that we need to make sure that secondary/multiple screen support is solid.</li>
<li><span style="font-style: italic;">What kind of display do you plan to use as your primary OSXBMC display?</span> A full 75% of you will be connecting to some sort of TV (48% to an LCD). 8% use a projector, 8% use built-in display, and only 8 of you use a CRT monitor.</li>
<li><span style="font-style: italic;">What kind of audio set up do you plan on using OSXBMC with?</span> The majority (58%) of you make a digital connection to a receiver. Another 20% use analog connection to TV speakers or receiver. The rest use built-in speakers (6%), or external computer speakers (8%).</li>
<li><span style="font-style: italic;">Keyboard you plan to use? 55</span>% Bluetooth or other wireless, 22% none, 16% built-in.</li>
<li><span style="font-style: italic;">Mouse you plan to use?</span> 57% Bluetooth or other wireless, 24% none, 18% wired or built-in.</li>
<li><span style="font-style: italic;">Network connection you plan to use with OSXBMC?</span> 54% use wired connections, 17% use 802.11N, 28% use 802.11a/b/g. To those in the last category, if your wife doesn&#8217;t mind you snaking a cable through the kid&#8217;s crib, around the microwave, and under the carpet, going to a wired connection will likely really improve performance, especially with HD content.</li>
<li><span style="font-style: italic;">Type of remote control you plan to use with OSXBMC?</span> A full 61% of you plan to use the Apple Remote and should be very happy with the next release. 21% of you use a Universal Remote, and will be very happy with the next release (we&#8217;re going to have downloadable Harmony maps and other goodies). 3% of you use XBox 360 wireless controller, and will also be happy. Those are the officially supported options, and it looks like 85% of our users will be thrilled, and the rest will hopefully be willing to either move to one of these options, or use Remote Buddy or other third party software.</li>
<li><span style="font-style: italic;">What kind of remote access software do you plan on using with OSXBMC?</span> I had a bet going with cullman about this one (I believe my exact words were &#8220;There are going to be three fuckers out there using Remote Desktop, and you&#8217;re one of them.&#8221;). Turns out cullman was right, as usual. While the majority (52%) are not planning on using any remote access software, a full 48% of you use remote access software. If you wouldn&#8217;t mind satisfying my curiosity, why? The only scenario that makes sense to me is if you&#8217;re a laptop junkie and always have a laptop with you, even when you sit down to watch a movie. Otherwise, with the great remote support coming in the next version, I&#8217;m curious to know how many of you will still be using remote access software, and for what reasons.</li>
<li><span style="font-style: italic;">Did you or do you use the original XBOX version of XBMC?</span> This was a pleasant surprise to me, a full 38% of you have never used the original XBox version.</li>
</ul>
<p>As you can see from <a href="http://dn-0.com/xbmc-trac/query?group=status&amp;order=priority&amp;milestone=Version+0.5">the report</a>, we&#8217;re making good progress on 0.5, and expect to be able to make a release within the next week or two.</p>
<p>Last, but not least, if you&#8217;re bored, head over to <a href="http://www.macupdate.com/info.php/id/27302/xbmc">MacUpdate</a> and review XBMC!</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/04/23/survey-results-and-status/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
		<item>
		<title>Please take our survey</title>
		<link>http://elan.plexapp.com/2008/04/16/please-take-our-survey/</link>
		<comments>http://elan.plexapp.com/2008/04/16/please-take-our-survey/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 18:43:08 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/04/16/please-take-our-survey/</guid>
		<description><![CDATA[While we sweat away perfecting the Apple Remote/Universal Remote code, please help us out by taking our short survey. We&#8217;re trying to get a better sense of our community, which will help us prioritize features and schedule things better in general. I wish I could say that one lucky respondent to the survey will win [...]]]></description>
			<content:encoded><![CDATA[<p>While we sweat away perfecting the Apple Remote/Universal Remote code, please help us out by taking our <a href="http://www.polldaddy.com/survey.aspx?id=4BA79390CC02760C">short survey</a>. We&#8217;re trying to get a better sense of our community, which will help us prioritize features and schedule things better in general.</p>
<p>I wish I could say that one lucky respondent to the survey will win an all expenses trip to Maui, where he or she will be forced to work cleaning our house for a week. In reality all you&#8217;ll get will be our eternal gratitude. Thank you all in advance!</p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/04/16/please-take-our-survey/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
		</item>
		<item>
		<title>A Quick 1080p Tip</title>
		<link>http://elan.plexapp.com/2008/04/12/a-quick-1080p-tip/</link>
		<comments>http://elan.plexapp.com/2008/04/12/a-quick-1080p-tip/#comments</comments>
		<pubDate>Sun, 13 Apr 2008 05:35:25 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/04/12/a-quick-1080p-tip/</guid>
		<description><![CDATA[For some reason, OS X seems to be reluctant to output 1080p to TVs, and usually defaults to 1080i. At first I thought it was the cable (a 50&#8242; HDMI cable purchased from Eforcity for $40), but that turned out to work perfectly. The problem was that the only option for 1920&#215;1080 that showed up [...]]]></description>
			<content:encoded><![CDATA[<p>For some reason, OS X seems to be reluctant to output 1080p to TVs, and usually defaults to 1080i. At first I thought it was the cable (a 50&#8242; HDMI cable purchased from <a href="http://www.eforcity.com/pothhdmid50f.html">Eforcity</a> for $40), but that turned out to work perfectly. The problem was that the only option for 1920&#215;1080 that showed up in the Displays System Preference was interlaced.</p>
<p style="text-align: left;">However, when I checked the &#8220;Show displays in menu bar&#8221; option, lo and behold, there were two options. Both of these looked exactly the same, but when I switched between them, I found that one was 1080p and the other was 1080i.</p>
<p style="text-align: left;">I found this to be the case on both Macs I tried it on, so check your TV and make sure you&#8217;ve got progressive mode enabled!</p>
<p style="text-align: center;"><img src="http://elan.plexapp.com/wp-content/uploads/2008/04/untitled1.jpg" width="246" height="238" alt="untitled.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/04/12/a-quick-1080p-tip/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Release 0.4.5: An interim release</title>
		<link>http://elan.plexapp.com/2008/04/08/release-045-an-interim-release/</link>
		<comments>http://elan.plexapp.com/2008/04/08/release-045-an-interim-release/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 10:11:21 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/04/08/release-045-an-interim-release/</guid>
		<description><![CDATA[The Apple Remote work is taking a bit longer than I expected, so another release is probably a good idea, to share some of the bug-fixes and new features that are complete. Here are the changes in this release: NEW: High quality software upscaling is now supported. You can specify preferences in Video -&#62; Player [...]]]></description>
			<content:encoded><![CDATA[<p>The Apple Remote work is taking a bit longer than I expected, so another release is probably a good idea, to share some of the bug-fixes and new features that are complete. Here are the changes in <a href="http://dn-0.com/xbmc-trac/wiki">this release</a>:</p>
<ul>
<li><strong>NEW</strong>: High quality software upscaling is now supported. You can specify preferences in Video -&gt; Player as to when the scaling is enabled and what scaling algorithm is used. This makes a huge difference when viewing SD content. It takes quite a bit of processing power, but the good news is that decoding SD content doesn&#8217;t.</li>
<li><strong><a href="http://dn-0.com/xbmc-trac/ticket/144">NEW</a></strong>: Monitor blanking is now supported. When selecting a full-screen mode, you have the option of telling XBMC to blank the other monitors. The preference is in Appearance -&gt; Screen. I suspect Martin will be happy that he can stop throwing a sweater over his iMac, which sounded like a total fire hazard to me.</li>
<li><strong><a href="http://dn-0.com/xbmc-trac/ticket/133">NEW</a></strong>: The built-in web server now works. Among other things, it serves as an alternate remote control for those of you using a laptop as an expensive remote. Make sure to set a port above 1024.</li>
<li><strong>NEW</strong>: You can now store your own skins in the /Users/XXX/Library/Application Support/XBMC/skin directory, to avoid having to move aside and reinstall skins every time you upgrade. Thanks to d4rk for coding this up!</li>
<li><strong><a href="http://dn-0.com/xbmc-trac/ticket/120">FIX</a></strong>: A crash when reading WMA files.</li>
<li><strong><a href="http://dn-0.com/xbmc-trac/ticket/77">FIX</a></strong>: The OS X mouse cursor sometimes made an unwelcome appearance in full-screen mode.</li>
<li><strong><a href="http://dn-0.com/xbmc-trac/ticket/156">FIX</a></strong>: Settings that made no sense for OS X have been removed to reduce confusion.</li>
</ul>
<p>The XBMC source has been updated to near-trunk as well, which means a host of improvements and fixes. Note that the new music library features may still have some kinks, but hopefully things work pretty well for you.</p>
<p>We&#8217;ve got some good stuff in the pipeline for 0.5.0, including the improved Apple Remote support and some display/computer sleep stuff that Cayce&#8217;s been working on.</p>
<p>Also, as a side note, if you have a moment, register your usage of the application on http://osx.iusethis.com/. I&#8217;ve tried to update the version on there, but unfortunately someone else &#8220;owns&#8221; the application and doesn&#8217;t seem willing to give it up.</p>
<p>And now of course, the moment you&#8217;ve all been waiting for.</p>
<p style="text-align: center;"><img src="http://elan.plexapp.com/wp-content/uploads/2008/04/img-1735.jpg" width="252" height="358" alt="IMG_1735.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/04/08/release-045-an-interim-release/feed/</wfw:commentRss>
		<slash:comments>65</slash:comments>
		</item>
		<item>
		<title>High quality upscaling in next release</title>
		<link>http://elan.plexapp.com/2008/04/05/high-quality-upscaling-in-next-release/</link>
		<comments>http://elan.plexapp.com/2008/04/05/high-quality-upscaling-in-next-release/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 10:07:14 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/04/05/high-quality-upscaling-in-next-release/</guid>
		<description><![CDATA[OK, I just adding software upscaling as a full-fledged feature for the next release. Both bicubic and lanczos upscaling is selectable, and you can enable it for SD content only, or if you&#8217;re feeling like making your CPU sweat, for all content (meaning 720p is upscaled to 1080p using the same algorithms, and &#8212; to [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">OK, I just adding software upscaling as a full-fledged feature for the next release. Both bicubic and lanczos upscaling is selectable, and you can enable it for SD content only, or if you&#8217;re feeling like making your CPU sweat, for all content (meaning 720p is upscaled to 1080p using the same algorithms, and &#8212; to my eyes, at least &#8212; little visual effect).</p>
<p style="text-align: center;"><img src="http://elan.plexapp.com/wp-content/uploads/2008/04/untitled.jpg" width="480" height="58" alt="untitled.png" /></p>
<p style="text-align: left;">I think the next thing I want to look into on the quality front is ffmpeg&#8217;s ability to post-process. If you look at the bottom of <a href="http://mplayerosx.sourceforge.net/">this page</a>, you&#8217;ll see what looks like a very impressive example of (I think) a deblocking filter. It even looks like the XBox XBMC code had preferences for post-processing (with mplayer), but they were lost in the port to Linux (which doesn&#8217;t use mplayer). If anyone out there has experience with ffmpeg and knows some good settings to use, please let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/04/05/high-quality-upscaling-in-next-release/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Experimenting with Bicubic scaling</title>
		<link>http://elan.plexapp.com/2008/04/04/experimenting-with-bicubic-scaling/</link>
		<comments>http://elan.plexapp.com/2008/04/04/experimenting-with-bicubic-scaling/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 10:43:10 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/04/04/experimenting-with-bicubic-scaling/</guid>
		<description><![CDATA[So for lack of anything better to do, I played around with getting swscale (a component of ffmpeg) to attempt performing high quality software upscaling. By default we perform bilinear upscaling, and with SD content, it looks pretty crappy, with lots of jagged lines. After getting it to work, I took a couple of screenshots [...]]]></description>
			<content:encoded><![CDATA[<p>So for lack of anything better to do, I played around with getting swscale (a component of ffmpeg) to attempt performing high quality software upscaling. By default we perform bilinear upscaling, and with SD content, it looks pretty crappy, with lots of jagged lines.</p>
<p>After getting it to work, I took a couple of screenshots to show you the difference. In terms of performance, my desktop had enough power to do bicubic upscaling of both SD and 720p content to 1080p. It has to be said that it is definitely an expensive operation.</p>
<p>The win was most obvious &#8212; to my eyes, at least &#8212; with SD content. Here&#8217;s a sample from the intro of a movie. The first is bilinear (notice the jagged circle), and the second is bicubic.</p>
<p></p>
<div style="text-align: center;">
  <img src="http://elan.plexapp.com/wp-content/uploads/2008/04/bilinear.jpg" width="340" height="340" alt="bilinear.png" />
</div>
<p style="text-align: center;"><img src="http://elan.plexapp.com/wp-content/uploads/2008/04/bicubic.jpg" width="340" height="340" alt="bicubic.png" /></p>
<p style="text-align: left;">Pretty nice, right? Now let&#8217;s try 720p, with some good diagonal lines taken from Kevin Spacey&#8217;s jawline:</p>
<p style="text-align: left;"></p>
<div style="text-align: center;">
  <img src="http://elan.plexapp.com/wp-content/uploads/2008/04/bilinear2.jpg" width="257" height="257" alt="bilinear2.png" />
</div>
<div style="text-align: center;">
  <img src="http://elan.plexapp.com/wp-content/uploads/2008/04/bicubic2.jpg" width="257" height="257" alt="bicubic2.png" />
</div>
<div style="text-align: center;">
  
</div>
<div style="text-align: left;">
  Again, the first is bilinear, the second is bicubic. The screenshot is unfortunately not taken from the same exact frame, and I think that&#8217;s why his face looks more &#8220;textured&#8221; in the second shot. But you&#8217;ll also notice that there doesn&#8217;t appear be a great deal of difference between the two. It&#8217;s possible that I didn&#8217;t pick a very good spot, but it&#8217;s also possible that the difference between the two algorithms doesn&#8217;t really kick in until you&#8217;re doing more than a 2x scaling. This kind of makes sense to me, but it&#8217;s late and I&#8217;ve been drinking.
</div>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/04/04/experimenting-with-bicubic-scaling/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Roadmap improved</title>
		<link>http://elan.plexapp.com/2008/04/02/roadmap-improved/</link>
		<comments>http://elan.plexapp.com/2008/04/02/roadmap-improved/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 22:03:39 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/04/02/roadmap-improved/</guid>
		<description><![CDATA[We&#8217;ve restructured the milestones on our Trac site to correspond to specific versions and better illustrate the bugs and features that will make it into these versions. A few things to note about this: When you&#8217;re reporting a bug or requesting a feature, please leave the milestone blank! Please do indicate the version for bug [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve restructured the milestones on our <a href="http://dn-0.com/xbmc-trac/roadmap">Trac site</a> to correspond to specific versions and better illustrate the bugs and features that will make it into these versions. A few things to note about this:</p>
<ul>
<li>When you&#8217;re reporting a bug or requesting a feature, please leave the milestone blank! Please do indicate the version for bug reports.</li>
<li>We&#8217;ll decide which milestone (if any) will include the bug-fix/feature based upon a few things: the number of comments the ticket receives, how difficult it is to implement/fix, and how important it is to our core user group, comprised primarily of our wives and Barkley. (Hence, anything requiring opposable thumbs is out.)</li>
</ul>
<p>Remember, the more detailed the bug report, the more likely it is that (a) we&#8217;ll look at it and (b) we&#8217;ll be able to fix it.</p>
<p>Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/04/02/roadmap-improved/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Release 0.4.0: Python and Virtual File System</title>
		<link>http://elan.plexapp.com/2008/03/30/release-040-python-and-virtual-file-system/</link>
		<comments>http://elan.plexapp.com/2008/03/30/release-040-python-and-virtual-file-system/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 09:13:17 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/30/release-040-python-and-virtual-file-system/</guid>
		<description><![CDATA[It&#8217;s been hell trying to get anything done lately. A friend is in town getting married and we&#8217;ve been partaking in all the wedding activities, which involve an ungodly amount of high quality alcohol. And we all all know how alcohol and coding don&#8217;t mix. Anyway, better late than never. We&#8217;ve decided to push the [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been hell trying to get anything done lately. A friend is in town getting married and we&#8217;ve been partaking in all the wedding activities, which involve an ungodly amount of high quality alcohol. And we all all know how alcohol and coding don&#8217;t mix.</p>
<p>Anyway, better late than never. We&#8217;ve decided to push the version number up a bit more than usual, to reflect the major changes in <a href="http://dn-0.com/xbmc-trac/attachment/wiki/WikiStart/">this version</a>:</p>
<ul>
<li><strong>NEW</strong>: Work has been completed on the Mach5 Ruby script, which processes Mach-O library files and performs mapping on symbols (so that <span style="font-style: italic;">printf</span> calls <span style="font-style: italic;">__wrap_printf</span>, for example). This enables the XBMC virtual file system to work. I&#8217;ve processed all the libraries, so we should be good to go. What this means in practical terms is that things like reading images over SMB shares should now work.</li>
<li><strong>NEW:</strong> Relying also on Mach5 is Python scripting support, new to this release. I will note first and foremost that Python support is unstable, and crashes a lot. This is a known problem with the Linux port of XBMC too, and I consider it a high priority issue. However, Python is stable enough for you to play a few games of Tetris, or even view some Apple Movie Trailers (remember that 5-channel AAC support is lacking).</li>
<li><strong>UPDATED</strong>: I&#8217;ve updated ffmpeg to the latest trunk, and added a few XBMC patches that were missing. Certain MKV files that wouldn&#8217;t play at all or would crash will now work.</li>
<li><strong>UPDATED</strong>: The XBMC code is near trunk as well; I&#8217;m missing a bunch of changes that went in the day or two, because I haven&#8217;t had a chance to test things out.</li>
<li><strong>FIX:</strong> Bug #<a href="http://dn-0.com/xbmc-trac/ticket/141">141</a> has been fixed (XBMC crashes when changing aspect ratio with the &#8220;z&#8221; key).</li>
<li><strong>FIX</strong>: Bug #<a href="http://dn-0.com/xbmc-trac/ticket/106">106</a> has been fixed (Initial graphics glitch when playing a movie). Thanks to d4rk for helping me out with this fix.</li>
<li><strong>FIX</strong>: The skin hang-on-exit problem (which I worked around) was actually fixed by charlydoes. Unfortunately I&#8217;ve noticed that Python can cause a similar problem.</li>
<li><strong>FIX</strong>: Bug #<a href="http://dn-0.com/xbmc-trac/ticket/135">135</a> has been fixed (Playing Apple Lossless files in Library mode doesn&#8217;t work).</li>
</ul>
<p>There is also a known issue in this version with loading RAW files. I worked for a while today trying to work around it, to no avail. Essentially, the problem is that the performance reading the RAW files (which appear to be read byte by byte) is extremely bad through XBMC&#8217;s VFS layer. I tried to enable some file buffering, but I wasn&#8217;t able to get it to work.</p>
<p>This photo of Barley illustrates how I feel after the last week&#8230;</p>
<p></p>
<div style="text-align: center;">
  <img src="http://elan.plexapp.com/wp-content/uploads/2008/03/img-8408.jpg" width="387" height="205" alt="IMG_8408.jpg" />
</div>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/03/30/release-040-python-and-virtual-file-system/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>XBMC and Google Summer of Code</title>
		<link>http://elan.plexapp.com/2008/03/25/xbmc-and-google-summer-of-code/</link>
		<comments>http://elan.plexapp.com/2008/03/25/xbmc-and-google-summer-of-code/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 23:00:30 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/25/xbmc-and-google-summer-of-code/</guid>
		<description><![CDATA[XBMC is participating in the most excellent Google Summer of Code this year. You can see a list of some ideas for projects over here and discuss in the forum. There are a few days left for submitting applications, so if you&#8217;re interested, by all means go for it! This would be a fun project [...]]]></description>
			<content:encoded><![CDATA[<p>XBMC is participating in the most excellent Google Summer of Code this year. You can see a list of some ideas for projects <a href="http://xbmc.org/wiki/?title=Google_Summer_of_Code_2008">over here</a> and discuss in the <a href="http://xbmc.org/forum/showthread.php?t=31986">forum</a>. There are a few days left for submitting applications, so if you&#8217;re interested, by all means go for it! This would be a fun project for a student to work on and get paid for doing so.</p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/03/25/xbmc-and-google-summer-of-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>More Python goodness</title>
		<link>http://elan.plexapp.com/2008/03/25/more-python-goodness/</link>
		<comments>http://elan.plexapp.com/2008/03/25/more-python-goodness/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 21:42:23 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/25/more-python-goodness/</guid>
		<description><![CDATA[I fixed a few more issues with Python, and now Apple Movies Trailers work! Browsing, playing, it all works. I did need to replace some of the Python libraries in the downloaded script with the OS X version. This raises the issue of how to support downloading scripts for different platforms, when the scripts need [...]]]></description>
			<content:encoded><![CDATA[<p>I fixed a few more issues with Python, and now Apple Movies Trailers work! Browsing, playing, it all works. I did need to replace some of the Python libraries in the downloaded script with the OS X version. This raises the issue of how to support downloading scripts for different platforms, when the scripts need binary components.</p>
<p></p>
<div style="text-align: center;">
  <img src="http://elan.plexapp.com/wp-content/uploads/2008/03/trailers.jpg" width="480" height="278" alt="trailers.png" />
</div>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/03/25/more-python-goodness/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Good news and bad news</title>
		<link>http://elan.plexapp.com/2008/03/22/good-news-and-bad-news/</link>
		<comments>http://elan.plexapp.com/2008/03/22/good-news-and-bad-news/#comments</comments>
		<pubDate>Sat, 22 Mar 2008 23:44:31 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/22/good-news-and-bad-news/</guid>
		<description><![CDATA[The good news is that I&#8217;ve made substantial progress in getting Python to work in OSXBMC. The bad news? I&#8217;m now addicted to the Tetris script and likely won&#8217;t get much more work done this weekend. There are still some issues to be figured out, but hopefully I&#8217;ll be able to make a release this [...]]]></description>
			<content:encoded><![CDATA[<p>The good news is that I&#8217;ve made substantial progress in getting Python to work in OSXBMC. The bad news? I&#8217;m now addicted to the Tetris script and likely won&#8217;t get much more work done this weekend.</p>
<p>There are still some issues to be figured out, but hopefully I&#8217;ll be able to make a release this coming week with Python enabled.</p>
<p>(This also means that the Mach-O processor that wraps some stdio/stdlib calls seems to be working, which means that the full power of XBMC&#8217;s virtual file system should work once I run the processor on all the libraries. Which means thumbnails over SMB and probably lot of other things.)</p>
<p>Now I have to get back to Tetris.</p>
<p></p>
<div style="text-align: center;">
  <img src="http://elan.plexapp.com/wp-content/uploads/2008/03/tetris.jpg" width="404" height="335" alt="tetris.png" />
</div>
<div style="text-align: center;">
  Luckily my C++ is better than my Tetris
</div>
<div style="text-align: center;">
  
</div>
<div style="text-align: center;">
  <br />
  <img src="http://elan.plexapp.com/wp-content/uploads/2008/03/untitled.jpg" width="480" height="278" alt="untitled.png" />
</div>
<div style="text-align: center;">
  Downloads the zip, but is unable to unzip it.
</div>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/03/22/good-news-and-bad-news/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Working on Python and VFS</title>
		<link>http://elan.plexapp.com/2008/03/21/working-on-python-and-vfs/</link>
		<comments>http://elan.plexapp.com/2008/03/21/working-on-python-and-vfs/#comments</comments>
		<pubDate>Fri, 21 Mar 2008 18:35:44 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/21/working-on-python-and-vfs/</guid>
		<description><![CDATA[Why so quiet lately? I&#8217;ve been working on a tool that processing Mach-O shared libraries and remaps symbols, so that libraries that we load inside OSXBMC call our own versions of some functions. This is needed in order to make paths and virtual file system behavior work (e.g. so that ImageLib can be told to [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Why so quiet lately? I&#8217;ve been working on a tool that processing Mach-O shared libraries and remaps symbols, so that libraries that we load inside OSXBMC call our own versions of some functions. This is needed in order to make paths and virtual file system behavior work (e.g. so that ImageLib can be told to open &#8220;smb://&#8230;..&#8221;).</p>
<p style="text-align: left;">Having this working will not only allow scripts to work (with correct paths, especially), but will also fix a number of problems people have reported like &#8220;Thumbnails don&#8217;t work over SMB shares&#8221;. At least, that&#8217;s the theory.</p>
<p style="text-align: center;"><img src="http://elan.plexapp.com/wp-content/uploads/2008/03/mach5.jpg" width="421" height="154" alt="mach5.png" /></p>
<p style="text-align: left;">I&#8217;ve gotten things near working to the point where the resulting libraries appear to be valid, and hooked functions are getting called, but now I&#8217;m running into some other issues. If you&#8217;d like to take a peek at the code for the Mach-O processor, it&#8217;s <a href="http://dn-0.com/xbmc-trac/wiki/MachFive">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/03/21/working-on-python-and-vfs/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Release 0.1.7: A Few Small Repairs</title>
		<link>http://elan.plexapp.com/2008/03/17/release-017-a-few-small-repairs/</link>
		<comments>http://elan.plexapp.com/2008/03/17/release-017-a-few-small-repairs/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 09:03:49 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/17/release-017-a-few-small-repairs/</guid>
		<description><![CDATA[I had a bit of time to patch a few holes, so hopefully this will fix some issues with the last release. This version is also built with the new XCode 3.1 compilers, although I wasn&#8217;t brave enough to try gcc-4.2.1. Pick it up in the usual place. NEW: I hacked on CxImage some more, [...]]]></description>
			<content:encoded><![CDATA[<p>I had a bit of time to patch a few holes, so hopefully this will fix some issues with the last release. This version is also built with the new XCode 3.1 compilers, although I wasn&#8217;t brave enough to try gcc-4.2.1. Pick it up in the <a href="http://dn-0.com/xbmc-trac/wiki">usual place</a>.</p>
<ul>
<li><strong>NEW</strong>: I hacked on CxImage some more, and now we extract thumbnails directly out of the RAW files if we can. This means that browsing though directories of RAW files is now extremely fast. The embedded thumbnails are also resized and rotated appropriately.</li>
<li><strong>FIX</strong>: A merge got messed up, and the exit-on-hang (with Aeon skin, mostly?) returned. The skin unloading is again disabled, so exiting should never hang.</li>
<li><strong>NEW</strong>: I updated to the latest code, and so D4rk&#8217;s event server is now included. This means that someone could now work on building support for the PS3 remote (using <a href="http://lightblue.sourceforge.net/">this</a>, perhaps?), as well as maybe move the Apple Remote code out into a daemon so that pressing the Menu button starts XBMC. The daemon could be written in Obj-C or Python (or any other language, of course).</li>
<li><strong>FIX</strong>: Scrapers have also been updated. If you have problems, hit the C key, select &#8220;Set Content&#8221; and then select Settings to make sure the scraper preferences are up to date and compatible with the new scrapers.</li>
<li><strong>NEW</strong>: Added the fancy disc image background that Fredrik made for us to the DMG. Thanks!</li>
</ul>
<p>This is Barkley out on his first kayaking trip. The canoe tipped, we were all thrown into the ocean, and Barkley swam over to Anna and took away her life jacket. I&#8217;m so not kidding.</p>
<p style="text-align: center;"><img src="http://elan.plexapp.com/wp-content/uploads/2008/03/img-0710.jpg" width="359" height="168" alt="IMG_0710.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/03/17/release-017-a-few-small-repairs/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Family in Town</title>
		<link>http://elan.plexapp.com/2008/03/15/family-in-town/</link>
		<comments>http://elan.plexapp.com/2008/03/15/family-in-town/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 19:19:48 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/15/family-in-town/</guid>
		<description><![CDATA[My dad has been in town for the last week, hence the lack of updates. I need a few days to take care of things that have fallen by the wayside, and then I&#8217;ll hop back in the fray. Apologies to those waiting for replies to posts and emails.]]></description>
			<content:encoded><![CDATA[<p>My dad has been in town for the last week, hence the lack of updates. I need a few days to take care of things that have fallen by the wayside, and then I&#8217;ll hop back in the fray. Apologies to those waiting for replies to posts and emails.</p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/03/15/family-in-town/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>All checked in</title>
		<link>http://elan.plexapp.com/2008/03/10/all-checked-in/</link>
		<comments>http://elan.plexapp.com/2008/03/10/all-checked-in/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 08:20:52 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/10/all-checked-in/</guid>
		<description><![CDATA[If you want to build the source yourself, you should be able to replicate my latest build now. If you&#8217;re interested in helping out, let me know, as I have plenty of tasks I could use help with.]]></description>
			<content:encoded><![CDATA[<p>If you want to build the source yourself, you should be able to replicate my latest build now. If you&#8217;re interested in helping out, let me know, as I have plenty of tasks I could use help with.</p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/03/10/all-checked-in/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Release 0.1.6: For RAW lovers</title>
		<link>http://elan.plexapp.com/2008/03/08/release-016-for-raw-lovers/</link>
		<comments>http://elan.plexapp.com/2008/03/08/release-016-for-raw-lovers/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 01:37:35 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/08/release-016-for-raw-lovers/</guid>
		<description><![CDATA[A few quick changes, so that I can go off and enjoy the weekend&#8230;the release can be downloaded here. NEW: Improved handling of situations where display refresh rate &#60; video frame rate. Allows doing things like watching 60 FPS videos on a 24 Hz display (although this doesn&#8217;t work perfectly yet). It also improves how [...]]]></description>
			<content:encoded><![CDATA[<p>A few quick changes, so that I can go off and enjoy the weekend&#8230;the release can be downloaded <a href="http://dn-0.com/xbmc-trac/wiki/WikiStart">here</a>.</p>
<ul>
<li><strong><span style="font-weight: normal;"><strong>NEW</strong>: Improved handling of situations where display refresh rate &lt; video frame rate. Allows doing things like watching 60 FPS videos on a 24 Hz display (although this doesn&#8217;t work perfectly yet). It also improves how 24p content displays in 24p mode. (N.B. the mode on your display should really be 23.976 Hz. It doesn&#8217;t sound like a big difference but it accumulates). Thanks to elupus for pointing me in the right direction.</span></strong></li>
<li><strong>NEW</strong>: RAW thumbnails are now built using the embedded JPEG (when present), so previewing directories of RAWs is now really quick.</li>
<li><strong>FIX</strong>: I was seeing occasional crashes when using FTP, due to an apparent incorrect ordering of libcurl operations. I&#8217;ve also increased the idle time from 5 seconds to 30, because when browsing, the connection would tend to close and need to be reestablished. It could probably be longer.</li>
<li><strong>FIX</strong>: The hang in library mode has been fixed.</li>
<li><strong>FIX</strong>: TV and movie scrapers have been updated and should now work.</li>
<li><strong>FIX</strong>: Don&#8217;t default to digital audio mode anymore, as we don&#8217;t need to now that we do mix-down.</li>
</ul>
<p>And one again, here&#8217;s Barkley, who has agreed to sponsor all future releases. He thinks that the ball in the mirror is a duplicate and he&#8217;s trying to figure out how to get them both.</p>
<p></p>
<div style="text-align: center;">
  <img src="http://elan.plexapp.com/wp-content/uploads/2008/03/img-0801.jpg" width="380" height="233" alt="IMG_0801.jpg" />
</div>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/03/08/release-016-for-raw-lovers/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
		<item>
		<title>Some Thoughts on 1080p</title>
		<link>http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/</link>
		<comments>http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comments</comments>
		<pubDate>Sat, 08 Mar 2008 18:53:05 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/</guid>
		<description><![CDATA[After reading John&#8217;s excellent post over here, I got to thinking about 1080p content (or &#8220;difficult&#8221; content, really) and how we might be able to better handle it. To begin, let&#8217;s go over the numbers: A typical uncompressed 1080p frame takes up 3 MB (megabytes). This is full resolution for the Y plane, and subsampled [...]]]></description>
			<content:encoded><![CDATA[<p>After reading John&#8217;s excellent post <a href="http://blog.kozubik.com/john_kozubik/2008/03/high-definition.html">over here</a>, I got to thinking about 1080p content (or &#8220;difficult&#8221; content, really) and how we might be able to better handle it. To begin, let&#8217;s go over the numbers:</p>
<ul>
<li>A typical uncompressed 1080p frame takes up 3 MB (megabytes). This is full resolution for the Y plane, and subsampled U and V planes.</li>
<li>This means that a single second of uncompressed video (24p) takes up almost 73 MB.</li>
</ul>
<p>That&#8217;s a huge amount of bandwidth, compared to the compressed video. An episode of Lost I&#8217;m watching right now is hovering around 8 Mbps, which is 1 MB/sec. This is a pretty impressive compression ratio, and there also a few possibly interesting takeaways from it:</p>
<ul>
<li>Streaming uncompressed 1080p content over Gigabit Ethernet is theoretically possible, but only just barely.</li>
<li>Streaming uncompressed 1080p content off a typical hard drive is theoretically possible, but again, only just barely and only in &#8220;best case scenarios&#8221;.</li>
</ul>
<p>Most of the problems we run into playing 1080p video content have to do with two the combination of two things:</p>
<ol>
<li>The existence of bursts of high bit-rate frame sequences (some only a second or two long, some 10s of seconds).</li>
<li>The fact that we do real-time decoding, so if a frame is late, we drop it.</li>
</ol>
<p>So here are some random ideas that were running through my head as I woke up this morning:</p>
<ul>
<li><strong>Decode buffer</strong>: Disk buffers work to smooth out arrival jitter in data from the disk, so we don&#8217;t we have a decode buffer to smooth out arrival jitter in the decoded frames? That way, if we run into a frame sequence where we would get behind, we can simply empty frames from the decode buffer. Since the CPU is usually ahead, we could simply decode as fast as we can, and accumulate some number of pre-decoded frames (in RAM). To keep 2 seconds of decoded frames would cost about 150MB of RAM, which is chump change these days. And even if we pre-filled the buffer before playing, the pre-roll delay would only be increased by at *most* 2 seconds.</li>
<li><strong>Grid computing</strong>: Harness the power of your idle computers and have them decoding frames for you. The problem is the extreme bandwidth of the decoded frames, as mentioned. But perhaps apply some high quality MPEG-2 compression, and it becomes much more manageable. Presumably they could decode sequences between keyframes.</li>
<li><strong>Sidecar Preprocessing</strong>: Since MPEG-2 is easier to decompress, why not simply run a preprocessor over H.264 files? Any spots that are higher than a specified bitrate would be pre-decoded, encoded to high quality MPEG-2, and then stored in a &#8220;sidecar&#8221;, alongside the original media. Imagine &#8220;Planet.Earth.01.mkv&#8221; and then &#8220;Planet.Earth.01.mkv.sidecar.00:02:01-00:02:40.mpeg2&#8243; (assuming the sidecars start and end on second boundaries). The sidecar format could be anything appropriate, and it wouldn&#8217;t have to store audio or other metadata (e.g. subtitles). Best of all, they could be whacked at any point or recomputed.</li>
</ul>
<p><strong>EDIT</strong>: Of course, the sidecar media could also just be lower bit-rate H.264, that way ffmpeg wouldn&#8217;t need to be any the wiser.</p>
<p>Hope you&#8217;re all having a great weekend.</p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Release 0.1.5: No more fast video</title>
		<link>http://elan.plexapp.com/2008/03/07/release-015-no-more-fast-video/</link>
		<comments>http://elan.plexapp.com/2008/03/07/release-015-no-more-fast-video/#comments</comments>
		<pubDate>Fri, 07 Mar 2008 10:18:36 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/07/release-015-no-more-fast-video/</guid>
		<description><![CDATA[I&#8217;m pretty drunk, so there&#8217;s a good chance that I&#8217;ll screw up this release, but I&#8217;ll give it a good run. This is mostly a bug-fix release, with a few new features thrown in for good measure. I also updated to the very latest ffmpeg and XBMC code, which will hopefully only improve things. Here [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m pretty drunk, so there&#8217;s a good chance that I&#8217;ll screw up this release, but I&#8217;ll give it a good run. This is mostly a bug-fix release, with a few new features thrown in for good measure. I also updated to the very latest ffmpeg and XBMC code, which will hopefully only improve things.</p>
<p>Here are the changes in <a href="http://dn-0.com/xbmc-trac/wiki">this release</a>:</p>
<ul>
<li><strong>FIX</strong>: I re-enabled the pixel shader for &#8220;advanced&#8221; OpenGL cards, which was mistakenly left disabled in the last release due to the X3100 debugging. Nobody even noticed, so it&#8217;s likely you won&#8217;t notice it being on again, but feel free to pretend like everything suddenly got a whole lot faster or better looking.</li>
<li><strong>FIX</strong>: Crash on exit that was due to you naughty users having Python scripts in the scripts folder. I know who you are.</li>
<li><strong>FIX</strong>: FLAC files should now play, as I fixed the linkage on the FLAC library.</li>
<li><strong>FIX</strong>: Make sure the &#8220;Application Support&#8221; directory is there before trying to create the XBMC directory inside it. For those of you with really virgin Macs.</li>
<li><strong>NEW</strong>: Down-mixing of AC3 and DTS. Finally, those of you having to sit there in silence watching your movies at high speed, perhaps having to suffer through a loved one nagging you over your shoulder. Set your output mode to analog, turn up the volume, and ignore that loved one. (P.S. Those of you anime fiends with 5-channel AAC, sorry people, no such luck. Post a link to a sample video with that sound format and I&#8217;ll try to look into it.)</li>
<li><strong>NEW</strong>: Support for 4:2:2 MPEG video. This corresponds to the &#8220;30secondfergie.mpg&#8221; clip, for those of you in the know. Thanks to d4rk and elupus for the final tip on how to scale down the chroma planes. I also updated the libmpeg2 library to the latest and greatest, which adds SSE2 decoding acceleration, and probably lots of bug-fixes. There is still a problem thumbnailing certain MPEG videos. It seems to be a bug in libmpeg2, but I haven&#8217;t had time to track it down further.</li>
<li><strong>NEW</strong>: Preliminary support for Xbox 360 wireless controllers. I have one, and I&#8217;ve modified the keymap.xml file for basic support. I&#8217;m using the drivers found <a href="http://tattiebogle.net/index.php/ProjectRoot/Xbox360Controller/OsxDriver">here</a>, and they seem to work pretty well, except for a few small issues (and I want to get idle mode working so that the system shuts down the controller). I&#8217;m looking for a volunteer to finish up the keymap. It&#8217;s going to be a pretty sweet option for controlling XBMC, especially once I get MAME integrated.</li>
<li><strong>FIX</strong>: Exiting with certain skins caused a hang, which was deadly and downright rude in fullscreen mode. Being unable to quickly find the bug, I&#8217;ve simply disabled skin unloading upon exit. The pros: No more hangs. The cons: Lack of &#8220;final&#8221; animation. The pros: It exits much more quickly. So go ahead and try to have a problem exiting. I double doggy dare you.</li>
<li><strong>FIX</strong>: Watching a movie and then switching to fullscreen mode with the &#8216;\&#8217; key could result in vertical sync being disabled, which led to video tearing and hair-tearing posts on the forum and blog.</li>
<li><strong>NEW</strong>: I updated CxImage to version 6.0 (used in displaying photos). Besides incorporating years of fixes and enhancements, the one thing I was excited about was RAW support. However, there are a few downsides I&#8217;ve found: It takes forever to thumbnail RAW files, and the thumbnails are corrupted (ha!). However, it will actually display RAW images properly in a slideshow. N.B. To enable RAW display, you&#8217;ll need an advancedsettings.xml file that looks <a href="http://dn-0.com/xbmc-trac/wiki/RawSupport">like this</a>.</li>
<li><strong>FIX</strong>: When switching between fullscreen and windowed mode, the fonts would get kind of messed up, in that their sizes were wrong. d4rk explained what was going on, and I fixed it.</li>
<li><strong>NEW</strong>: Lots of improvements on the scrapers (which load movie/TV show information) from others on the XBMC team. Hopefully they work for you.</li>
</ul>
<p>One more thing, on the topic of &#8220;skiploopfilter&#8221;. I did a bunch of experimenting, and I&#8217;ve come to the conclusion that it may not be worth the effort. First, let me share some numbers with you; these are all playing the infamous &#8220;bird scene&#8221; from Planet Earth.</p>
<p>NO: 449 dropped, 159% CPU usage.<br />
ALL: 443 dropped, 147% CPU usage.<br />
BIDIR: 449 dropped, 157% CPU usage.</p>
<p>As you can see, there&#8217;s really not much difference. My theory is that the CABAC patch that is applied to ffmpeg, which does prediction+idct+deblock in a separate thread from decoding, already improves things to the extent that deblocking is really not the bottleneck.</p>
<p>Yes, I know, I need to check in my changes. Now that I&#8217;m all synced up, I&#8217;ll work on that tomorrow. I promise.</p>
<p></p>
<div style="text-align: center;">
  <img src="http://elan.plexapp.com/wp-content/uploads/2008/03/img-1610.jpg" width="370" height="221" alt="IMG_1610.jpg" />
</div>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/03/07/release-015-no-more-fast-video/feed/</wfw:commentRss>
		<slash:comments>41</slash:comments>
		</item>
		<item>
		<title>Quick Update</title>
		<link>http://elan.plexapp.com/2008/03/04/quick-update-2/</link>
		<comments>http://elan.plexapp.com/2008/03/04/quick-update-2/#comments</comments>
		<pubDate>Wed, 05 Mar 2008 09:25:13 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/04/quick-update-2/</guid>
		<description><![CDATA[I&#8217;m working on getting a new release out the door, hopefully within the next day or two. The main focus is bug-fixes, but it will also include a highly desired feature: AC3 and DTS down-mixing. After the release, I will move to (finally) get synced up and checked in, and then work on getting Python [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working on getting a new release out the door, hopefully within the next day or two. The main focus is bug-fixes, but it will also include a highly desired feature: AC3 and DTS down-mixing. After the release, I will move to (finally) get synced up and checked in, and then work on getting Python working.</p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/03/04/quick-update-2/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>Release 0.1.4: Pink-be-gone!</title>
		<link>http://elan.plexapp.com/2008/02/27/release-014-pink-be-gone/</link>
		<comments>http://elan.plexapp.com/2008/02/27/release-014-pink-be-gone/#comments</comments>
		<pubDate>Thu, 28 Feb 2008 09:03:26 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/02/27/release-014-pink-be-gone/</guid>
		<description><![CDATA[The big change in this release (or perhaps the one which will make the most people happy) is the fix for the &#8220;pink screen&#8221; issue affecting GMA X3100 video hardware. It turns out that there is a serious bug (apparently one of many!) in the OS X driver which completely breaks support for the negation [...]]]></description>
			<content:encoded><![CDATA[<p>The big change in <a href="http://dn-0.com/xbmc-trac/wiki">this release</a> (or perhaps the one which will make the most people happy) is the fix for the &#8220;pink screen&#8221; issue affecting GMA X3100 video hardware. It turns out that there is a serious bug (apparently one of many!) in the OS X driver which completely breaks support for the negation of constants in shaders. I had to modify the output of the NVidia compiler to make sure that constants were never negated (the constants are the things like &#8220;c[0].x&#8221;). I can&#8217;t even tell you how serious a bug this is. Just imagine if this were the case in a C++ compiler&#8230; Many thanks to d4rk for showing me how to get the shader compiling in the first place.</p>
<div style="text-align: center;">
  <img src="http://elan.plexapp.com/wp-content/uploads/2008/02/untitled2.jpg" width="382" height="240" alt="untitled.jpg" />
</div>
<p>Here the the other changes in this release:</p>
<ul>
<li><strong>NEW</strong>: Support for using the scroll wheel with the mouse.</li>
<li><strong>FIX</strong>: International character sets (and funky characters in English) now work. Go Spanish! Non Western European characters probably work too with that Unicode font. N.B. There is still a problem when displaying *filesystem* entries; I&#8217;m working on it.</li>
<li><strong>FIX</strong>: Don&#8217;t dim the screen when the screensaver kicks in unless we&#8217;re in full-screen mode. It&#8217;s scary and makes people think their LCD is dying.</li>
<li><strong>NEW</strong>: Make &#8216;Done&#8217; the default key selected in the virtual keyboard. It really makes keyboard entry much more natural. Thanks to ScottTFrazer for the suggestion!</li>
<li><strong>NEW</strong>: All standard output logging has been moved to the /var/tmp/xbmc.log file. This means that (a) I will never ask you to run from the terminal again and (b) I&#8217;ll be asking you for that file a lot more.</li>
<li><strong>FIX</strong>: The audio output is no longer stuck in digital mode.</li>
<li><strong>NEW</strong>: Support for mounting SMB filesystems using the OS&#8217; support for it. This was introduced by vulkanr in this <a href="http://dn-0.com/xbmc-trac/changeset/11749">change</a>. It seems to work well, but if the SMB share is inaccessible, XBMC hangs on start for quite a while waiting for the mount to timeout. Let me know which options provides better performance.</li>
<li><strong>FIX</strong>: Store mediasources.xml in the Application Support/XBMC directory, instead inside the application bundle. You&#8217;ll have to move yours there if you want to maintain settings.</li>
<li><strong>FIX</strong>: There was a naming conflict between the SMB client code and some other library I can&#8217;t remember, which was causing the application to crash quite a bit when using SMB.</li>
<li><strong>FIX</strong>: The infamous hang-or-crash-on-exit bug has been nailed. I double-dare any of you to hang XBMC on exit!</li>
<li><strong>NOTE</strong>: Make sure your vertical sync is enabled (set to Always Enabled). People were complaining of video issues and tearing. It&#8217;s in Settings -&gt; Appearance -&gt; Screen.</li>
<li><strong>NOTE</strong>: I&#8217;ve been able to play FLAC files without a problem. I&#8217;m not sure why people (or only a couple of people?) are unable to play them.</li>
</ul>
<p>The surprise feature in this release is basic support for the Apple Remote. It&#8217;s very basic and will be enhanced much more, but here is what&#8217;s supported for now:</p>
<ul>
<li><strong>Left, Right, Up, Down</strong>: As expected, and no support for volume (isn&#8217;t everyone using their receiver remote for this anyway?)</li>
<li><strong>Play/pause</strong>: As expected.</li>
<li><strong>Menu</strong>: Up one level.</li>
<li><strong>Double-click Play</strong> brings up context menu.</li>
<li>When in full-screen video, the <strong>menu</strong> button brings up the menu, and <strong>holding down the menu</strong> button stops and returns you to the browser.</li>
</ul>
<p>Really simple, but hopefully useful, and also hopefully it doesn&#8217;t break people who are using Remote Buddy.</p>
<p>As usual, enjoy the release, brought to you by Barkley and my sweet wife, who have both been really supportive of all my late nights.</p>
<div style="text-align: center;">
  <img src="http://elan.plexapp.com/wp-content/uploads/2008/02/img-9287.jpg" width="366" height="243" alt="IMG_9287.jpg" />
</div>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/02/27/release-014-pink-be-gone/feed/</wfw:commentRss>
		<slash:comments>66</slash:comments>
		</item>
		<item>
		<title>X3100 problem fixed!</title>
		<link>http://elan.plexapp.com/2008/02/27/x3100-problem-fixed-2/</link>
		<comments>http://elan.plexapp.com/2008/02/27/x3100-problem-fixed-2/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 21:51:19 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/02/27/x3100-problem-fixed-2/</guid>
		<description><![CDATA[I need to clean up some code and then I&#8217;ll make a release later on tonight (and check in my changes, sorry it&#8217;s been so long). It turned out to be a blatant bug in the fragment shader runtime or assembler, which I have worked around. More details later.]]></description>
			<content:encoded><![CDATA[<p>I need to clean up some code and then I&#8217;ll make a release later on tonight (and check in my changes, sorry it&#8217;s been so long). It turned out to be a blatant bug in the fragment shader runtime or assembler, which I have worked around. More details later.</p>
<p style="text-align: center;">
<img src="http://elan.plexapp.com/wp-content/uploads/2008/02/grab21.jpg" width="480" height="338" alt="grab2.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/02/27/x3100-problem-fixed-2/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>X3100 Battle Continues</title>
		<link>http://elan.plexapp.com/2008/02/26/x3100-battle-continues/</link>
		<comments>http://elan.plexapp.com/2008/02/26/x3100-battle-continues/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 09:38:37 +0000</pubDate>
		<dc:creator>elan</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://elan.plexapp.com/2008/02/26/x3100-battle-continues/</guid>
		<description><![CDATA[Very strange&#8230;there appears to be something fundamentally wrong or different with the X3100, as best I can tell from my extremely limited experience with such things. Which probably means I&#8217;m completely wrong. D4rk helped me get set up compiling my own fragment programs (thank you!). The approach I took is what I always do, which [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: 'Lucida Grande'; white-space: pre-wrap;">Very strange&#8230;there appears to be something fundamentally wrong or different with the X3100, as best I can tell from my extremely limited experience with such things. Which probably means I&#8217;m completely wrong.</span></p>
<p><span style="font-family: 'Lucida Grande'; white-space: pre-wrap;">D4rk helped me get set up compiling my own fragment programs (thank you!). The approach I took is what I always do, which is get the working code on one end, the non-working code on the other, and then move towards the middle until you find out what breaks.</span></p>
<p><span style="font-family: 'Lucida Grande'; white-space: pre-wrap;">I took out all the matrix multiplication, and just started with some basic transformations to see what worked. While rgb.r = 1.164 * yuv.r; produced the expected pixel color rgb.r = 1.164 * (yuv.r &#8211; 16.0/256.0) + 1.596 * (yuv.b &#8211; 128.0/256.0); doesn&#8217;t (at least according to my Numbers spreadsheet). So tomorrow I&#8217;ll do some more back and forth to see if I can figure out why the second formula isn&#8217;t working. (Note that it DOES work on an NVidia card). Doing debugging where the only way to output debugging information is through 0-1 values in pixel color components has given me new respect for people who work in that field.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://elan.plexapp.com/2008/02/26/x3100-battle-continues/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
