Archive

Author Archive

Linux.conf.au Report

January 28th, 2010 Jonathan 15 comments

David Teirney and I just got back from hosting a successful booth at the Linux.conf.au open day in Wellington, NZ.

It was great to meet a bunch of people and show them just what XBMC is all about.  In particular it was great meeting Erik de Castro Lopo of libsamplerate fame, which we use for resampling audio when video is synced to the refresh rate of the monitor.

We had 3 systems showing off what XBMC could do, one of which was the MSI Windtop AE2020 – an all in one unit with a 20″ touchscreen kindly on loan from MSI Europe (Look out for an upcoming post where you’ll see some of the new touch stuff being utilized within XBMC.)

Thanks heaps to the Linux.conf.au organizing committee and everyone who popped over to the booth – we’ll definitely see you all again in Brisbane at next year’s Linux.conf.au!

Left: Jonathan Right: Patrick

Left: Jonathan Marshall (almost smiling for once), Right: Patrick, JM's helper for the day

Singles support in the Music Library

September 9th, 2009 Jonathan 10 comments

I have many singles in my music collection – songs that were released independently of an album, or perhaps in parallel to an album release. As part of an album release, the single may be a particular edit (such as an edit for radio) and thus be somewhat different than the album version of the track. There’s also a whole heap of singles released that don’t end up on an album.

Singles and albums are different and it’s always irked me that music software tends to just lump the two together into a single listing, where you end up with hundreds of single-song “albums” in your listings. Of course, this is the same way XBMC has dealt with it. Until now.

Now, you have another option for your Singles, thanks to the suggestion by forum member thomash72. If you wish your singles to be separate from albums, then just remove the ALBUM tag from the track. XBMC treats any songs without an ALBUM tag as a single, and thus:

1.  Album covers aren’t cached for these blank ALBUMs – instead we cache the thumb per song, so each single from the same artist can have it’s own covers.

2.  The songs don’t show up in the Albums listing in the Music Library (after all, they’re not albums).

3.  If you browse to an artist, then it’ll list all the albums by that artist and, in addition, will group the singles by that artist into a Singles folder.

Singles item when browsing by Albums by Artist.4.  Lastly, if you have any Singles in your music library, a new Singles item will be available in your Library listing.Library listing with Singles

Finally, a nice way to have your singles available in the library without them cluttering up the albums listing!

Video library redesign - do you use the Actors/Genres nodes?

May 24th, 2009 Jonathan 20 comments

I’m currently reviewing the video library in order to make it far more flexible, as well as making it easier to use. The first thing I’m evaluating is just what sort of heirarchy is required for Movies and TV shows.  Our current heirarchy gives Genre, Actor, Director, Year, and Studio nodes in addition to the Title node.  Most of our users skip this stage by flattening the library – indeed, many skins nowadays take you directly to the Title nodes from the homepage, so some users may not know they exist!

Given that these nodes are not widely used, it seems sensible to see whether or not we can do things differently to get the same (or better) functionality without having such a heirarchy in place.

My initial thoughts:

  • Studio and Year browsing are likely not used at all.
  • Actors and Directors are better served by searching and/or a “Related movies to this movie” feature.
  • Genre browsing might be better served by some sort of “filter” system, where we just show you the movies or shows broken down by one or more genres.

One idea for a “filter” system is a Filter button which when clicked gives you a list of pre-configured filters, or allows you to design of a new filter, which is saved for later use.  Similar to smartplaylists, but simplified down a bit, and available in any listing.

If you have some thoughts, and in particular, if you make use of the current “category” nodes on a regular basis, then please head over to the forums and make yourself heard.

XBMC running on nVidia ION reference box

May 23rd, 2009 Jonathan 7 comments

nVidia have been kind enough to loan one of our devs (motd2k) an ION reference box that we can use to showcase XBMC at Linuxtag.

It has what appears to be an Atom 230 processor, so compilation of XBMC took just over an hour, but thanks to hardware accelerated video decoding, performance while running XBMC is awesome

[HTML1]

More pics are available in the forums, and if you want to see it in action, get to Linuxtag in Berlin, June 24-27.

New multiimage control code allows background loading

May 14th, 2009 Jonathan Comments off

With the nice new background loading textures, complete with their own crossfading and so on, it made sense to rewrite the multiimage control to make use of this.  Previously the multiimage control generated however many image controls it needed and did all the fading, texture loading and sizing itself.

Now it just utilizes a single image control with <fadetime> set, and just sets the new filename when necessary.  Obviously it supports background=”true” (on the <imagepath> tag) to allow the images to load in the background.

Combined with the recently added support for static content updates, you can now do most of the background changing on different states that skins normally do with a single multiimage control, rather than having a separate control (or multiple separate controls) for each state.  Examples would be the various Aeon incarnations, Mediastream, or even PM3.HD’s homescreen.

Steps involve:

  1. Fill your container (wraplist or list) with static content.
  2. Set the <icon> tag to point to the “normal” background image you want displayed for that item (image should be outside of Textures.xpr).
  3. Set the <thumb> tag to a skin settable background images (or path of background images, or to something like Weather.Fanart etc.)
  4. Create a single multiimage control for the backdrop, using <imagepath background=”true”>ListItem.Icon</imagepath>.

Due to the “fallback” functionality of ListItem.Icon, if there is a custom background image or folder set, it’ll use it, else it’ll use the normal backdrop for that item.

As the user moves through the items in the list, the multiimage control will update the path to the current image, and you’ll get seamless transistions between the different backdrops, with no stutter due to all the image loading being done in the background.

Nicer effects and smoother navigation with far less code – what could be better!

Some texture tweaks for better background loading

May 12th, 2009 Jonathan 2 comments

Another couple of nice changes have hit SVN for you skinners.  There’s been a bug fixed in the large texture manager (that handles background loading of images) – it used to wait up to a second between loading images, which meant you couldn’t really use them in situations where you needed a lot of textures loaded all at once.  This has been remedied.

I’ve also added an attribute background=”true” to all texture related tags.  This forces the image to be loaded via the large texture manager except for textures in Textures.xpr.

Jezz_X also suggested a slight tweak to info images with <fadetime> set.  Now, if the first texture to load in a window is already in memory (due to being used in a previous window) it will load instantly, and thus forgo the usual fade in.

All these changes mean:

  • You can use the background texture loader for images within containers – this means your wall thumbs can be loaded in the background, giving silky smooth scrolling, at the expense of a slight delay in loading the image (you can mask this by using a loading image for instance).
  • You can use the background texture loader for background images that persist across window transitions – there’s no fade in due to the new window being opened.

With judicious use of background=”true” you can have texture-rich skins whilst still having nice, smooth scrolling.

Easier to adjust audio and video settings

May 11th, 2009 Jonathan 14 comments

Just thought I’d comment on a nice recently added feature. ubikdood did up a nice patch that gave a popup slider dialog, similar to the seek bar and volume bar, when the audio and subtitle delays were adjusted, to give nice, visual feedback as you adjust these settings directly via a keypress.

After discussions with Jezz_X, we thought it’d be nice to extend this feature to the other slider based settings in the Audio and Video OSDs.  The Audio and Video OSDs currently tend to take up a lot of space on screen, which makes some adjustments difficult.  If the audio and video sync is out, it’s hard enough trying to fix it without having a bunch of stuff covering up the video!

Now, when you click on “Zoom amount” from the video settings, the dialogs fade away and the slider bar pops up, allowing you to adjust the setting while in full view of the video file.  Now fine tuning of video settings is much easier.

It’s a nice touch that I’m hoping all skins take on board.  For the skinners, just add a DialogSlider.xml file based on the PM3.HD one, and modify the OSDs to animate out of the way when it pops up.

We’ve also added two new actions “AudioDelay” and “SubtitleDelay” which popup the slider allowing you to change these settings directly – a bit more remote friendly than having two buttons (one for plus and one for minus) for each feature.