XBMC4Xbox Update

July 5th, 2012 natethomas 13 comments

As you should all know by now, Team XBMC does not maintain a build for the original Xbox. With that said, a few valiant souls have continued to port over some of the more beneficial lines of XBMC code and done other bug fixing the keep the aging Xbox as a valid option for many people out there. To this day, though more than 10 years old, the Xbox 1 remains one of the best boxes in the world for gaming, pictures, and SD video playback.

Unfortunately, the dev team at our sister site XBMC4Xbox is currently dealing with some hosting problems. So for now, those of you still benefitting from your old Xbox may find them at their new site xbmc4xbox.org.uk until the hosting problems have been resolved. Plus, if you are still updating your old Xbox, it may be worth noting that their donation page is only a click away.

GSoC 2012 Statistics gathering

June 20th, 2012 topfs2 43 comments

Hi everyone!

As you all may or may not know I’ve been tasked to clean up parts of the scraping process in my GSoC project. A first step to this is to gather some information so that we statistically can say what formats your media is formatted in: do you usually have dots instead of spaces, do most add year to the folder name of a movie, etc. Many of you might alter this to fit xbmc so we want to somehow catch those we do not handle so we can try and find some pattern in those formats as well!

To do this, we’ve created a script that you can find in the Program Addons folder of your XBMC install called “Statistics gathering for scraping GSoC 2012.” What the script will gather is the bare essential metadata if scanned into the library, title, year, runtime, tvshow, episode number and season number etc. The file path is also stored as it is what generates this data and of great importance to know, saying that I want to note that we will NOT store any username or password information in any part of these URLs, this script is not meant to track the users and it cannot track you! The data is uploaded to a server which we on the team can view and no data about your system except the metadata and file urls are uploaded, no binary data from the files of any kind!

Even with these assurances, we know that not everyone will be willing to send in that limited information, so we’ve made this addon “opt in.”  In order to participate in the study, you have to install the addon from the Program Addons folder in XBMC. I urge anyone, those displeased with how our scraper handles their media and those where it works perfectly, to install this addon if you want to help do your part to make XBMC even more awesome. The more information we have, the better our scrapers will be.

Once again, the addon is called “Statistics gathering for scraping GSoC 2012,” and it may be found in the Program Addons section.

Cheers, Tobias

Update: There’s a (known) bug in the current version of the addon which makes it fail on start. It will be fixed ASAP. We are sorry for the inconvenience.

Update 2: The bug has been fixed and the updated addon is now available from the official repository. Before you install it, make sure it’s version 0.0.4. If not you can either force refresh XBMC’s official repository (using the context menu) or wait a few hours until it happens automatically. Once again, we are sorry for the inconvenience.

Update 3: The server is brought down while I go through and backup the data. You all might be interested to know that you almost took down the server with all the data :) So thank you all so much, you have given me more than I ever hoped for! I will post updates ASAP!

XBMC 11.0 - May Cycle (updated)

June 5th, 2012 natethomas 65 comments

New ConfluenceAs mentioned previously, we have now moved into a monthly development cycle, in which we merge new features at the beginning of the month and then perform bug fixes through the rest of the month. This means, at the end of every month, developers, bug-reporters, and those willing to deal with potentially highly unstable builds can try a snapshot from the current development cycle, and the organization, in turn, will have a more stable and predictable development process. For those of you who would prefer a stable version of XBMC, we will always recommend the most recent stable release (XBMC 11.0), but for the brave, you are welcome to try the end of the month build. To give an idea of just how unstable/alpha these builds can be, there will almost certainly be months in which some platforms won’t actually have usable builds. As always, we recommend you backup your userdata folder before upgrading.

With that said, let’s review some of the more notable changes in the May Changelog.

AudioEngine

As many of you no doubt already know by now, the really big code update this cycle was the inclusion of AudioEngine, led by gnif, into XBMC proper. For more information on this massive code shift, visit this post or check the wiki.

Hi10P

On an only slightly less frequently requested note, anime fans will be happy to learn that elupus has incorporated Hi10P playback into XBMC. A massive caveat to this development is that, in order to play back 1080p 10bit video, you are going to need an incredibly powerful machine with a very fast CPU (we’re talking desktop grade hardware). Users are reporting that 720p video appears to be at least workable on your lower level CPUs, but any expectations for silky smooth playback on something like the NVIDIA ION platform will almost certainly be met with disappointment. With that said, if you are currently running a fairly powerful machine, XBMC is finally ready to play your anime.

BR & DVD

In the steady march toward full unecrypted Bluray playback, elupus has also incorporated a virtual directory for Bluray files. While XBMC is still only able to display and navigate native HDMV Bluray menus (and not the common BD-J menus), users will be able to view a list of video files that display the video duration in the folder and select whichever video he or she would like to watch.

For users who typically watch DVDs recorded in a non-native default language, developer Montellese has subtly altered the way XBMC picks the appropriate audio language from among multiple options. Rather than simply picking the audio that has been flagged as “default,” XBMC will attempt to match the language of the XBMC installation with the audio language. So if you are running XBMC in German, and you attempt to watch a movie that typically would default in English, but happens to have a German track, XBMC will attempt to recognize and then select that track for you.

In addition, after selecting the appropriate language, XBMC will now make its audio selection based on the “best” track, rather than the first track listed. So in the past, there may have been 3 German language tracks listed in the following order: DTS-HD, MP3, and Dolby Digital. If XBMC was unable to play the DTS-HD track, it would default down to the next track and pick MP3. Now it will pick the next best track, and default to Dolby Digital.

Image Caching Improvements

One major area targeted for improvement for Frodo is the XBMC library. In particular, we are focused on making the library faster and smarter. The first step in this process, led by Jonathan Marshall, is a dramatic improvement in the way the library handles images. In the past, images would be cached in a local file and XBMC would have no knowledge of where that local file came from or what it was for. Now, XBMC will log where an art file comes from and where it is cached. In addition, XBMC will log what kind of file it is, whether it is a poster, a banner, clearart, or whatever.  This means, as this framework is extended, skinners will be able to use locally cached art in numerous different views, regardless of whether the art type is banner, thumb, or other. Users will be able to change the art, simply by placing a new art file in the folder where the media is located and letting XBMC automatically note that the file has changed. And MySQL users will no longer have to worry about pathsubstitutions, as each client will maintain its own thumbnail cache that gets registered in the bigger database.

This means XBMC needs to recache all your lovely art, which will be done as you browse each item in your library. You’ll notice the first time you browse a listing the art will take a bit longer than usual to come in, but once recached, everything will be nice and snappy again. At the moment, only the smart links to your various image files are part of the May Cycle; however, as XBMC starts to take advantage of these improvements, libraries and skins should experience dramatic improvements in the months ahead.

Confluence Updates

In the shift from Dharma to Eden, Jezz_X was tasked with making media more easily accessible from the home screen with Confluence. Now, as more devices like the Raspberry Pi become available, the goal is to make the default skin Confluence as streamlined and efficient as possible, while continuing to make the media quickly accessible. To that end, you’ll note a number of changes this cycle. First of all, throughout XBMC, users will be greeted with a single, uniform, clean background image that may be altered at the user’s preference (Note: the code to change the background image is not available in this snapshot, so keep an eye out for nightlies and the June cycle). The default font has been switched to Android’s Roboto font. Weather forecasts as well as the home screen “recently added” lists have been bumped up to 10 scrollable items, and the Music category has gotten “recently added” albums. Finally, a “global search” bar has been added to the home screen so that those who have a lot of media can go directly to whatever they are looking for. (At the time of this writing, however, the global search bar has been know to cause some issues, at least on the Windows side, so be careful when trying it out.) Update: At the time of this writing, in order to use global search, users must install it as an addon in Addons->Program Addons.

Our first second 64bit platform

On the platform side, Davilla has drastically updated the build process for OSX. As of this cycle, XBMC for PPC is no longer available. On the upside however, XBMC is now a 64bit program in OSX and users may feel a measurable performance increase. Given how long XBMC4Xbox has lasted, PPC holdouts should probably not fear too much about this shift, as, if demand continues to exist, I have no doubt that a builder somewhere will continue to build XBMC for PPC. Note: while this transition has occurred in code, the automated alpha build available below is still only 32bit. Keep an eye out next month and in nightlies for the first build by our buildbot in 64bit. Update: It appears that 64bit Linux users have actually been enjoying 64bit XBMC since 2008, thereby making OSX our second 64bit platform. Apologies for the earlier misstatement.

Conclusion

That covers some of the more notable and easily visible changes in this cycle. For a full list of all the May changes, feel free to take a look at our list of May milestones. Also, keep an eye out for the June Cycle. Or, if you are feeling a bit brave and a bit lucky, just start downloading now! At the moment, builds available are on the Windows and OSX platforms. Given the additional complexities of distribution, builds for iOS and Linux are not yet available.

XBMC Audio goes HD

May 30th, 2012 dddamian 118 comments

It’s been long-awaited, oft-discussed and it’s finally here – AudioEngine for XBMC!

What is AudioEngine? A complete re-write of the core audio sub-system of XBMC, and a two-year project comprising some 22,000 lines of code.

Spear-headed by lead-developer gnif, with contributions from many other team developers (dddamian, gimli, fneufneu, anssi, memphiz and others!), AudioEngine brings high-definition audio to the already amazing XBMC. No matter the audio source, AE handles the decoding, resampling, transcoding, encoding and streaming of your media, including for the first time DTS-MA, TrueHD and 24-bit audio. XBMC has never sounded better!

With full floating-point audio pipes, even mp3’s sound audibly better, with dithering built-in to further reduce quantization noise.

After a herculean effort and many lost evenings, the team is happy to announce that AudioEngine has been merged with the master branch as of May 15th 2012.  As such, it is now possible for the team as a whole to participate in it’s further development and for users to enjoy via the nightlies or your own builds.

Features of AE include:

support for DTS-MA / Dolby TrueHD Bluray formats (OSX pending)
support for 24-bit and floating-point audio at up to 384,000hz
mixing of all streams including GUI sounds even when transcoding audio
start-up enumeration of hardware audio devices and their capablities with log output
bitstreaming support in PAPlayer (XBMC’s music player)
upmixing of stereo to full channel layout
tighter syncing of A/V streams
floating-point processing of audio
24-bit and floating-point decoding/handling of mp3
full support for ReplayGain
built-in sample-rate conversion and transcoding

Planned Features for upcoming AE releases:

rules-based decisions for output formats based on hardware capabilites
a range of DSP’s (digital signal processors) including headphone head-related transfer function processing, DRC (dynamic range compression), low-pass filtering for subs and an equalizer function
custom channel-mixing/mapping for up and downmixing

It’s still early days for AE. Bugs will be found, and new and exciting features added. It’s stability and feature-set will develop as it matures and grows in the amazing open-source environment of XBMC.  We’d especially like to thank all the testers who helped make it possible to bring this merge about.

If you want to give it a try just grab one of the nightly versions on one of XBMC’s mirrors. For further details and support links please visit the AudioEngine page in our Wiki where you will also find links to the support threads in our forum, if you have additional questions.  From the development team, enjoy!

New translation service

May 30th, 2012 blittan 17 comments

As some of you might have noticed, we are in the process of making life for all hard working translators a whole lot easier. And for those of you who wanted to contribute with translating XBMC but have always thought it was too much hassle, we have now made it easier than ever.

Attila Jakosa have been working hard on changing the current xml-based translations into gettext standard, allowing for the use of a web based translation service.

With this standard in mind, the Team has decided to use Transifex as a collabarative online translation service, with advantages like

  • Translation teams
  • Shared translation memory
  • Syntax checking
  • Web editor
  • Suggestions

See the forum post for more information and discussion on this.

If you feel like contributing, please don’t hesitate to register @ Transifex and request to join your native language team.

Transifex should be fairly easy to pick up and use in translations, but if you have any questions, post them in the appropriate forum.

Note to add-on developers: This will in the near future extend to all add-ons in the XBMC repository, so there is no need to go about creating your own projects.

UPDATE: If you have in the past translated XBMC to your language, please PM blittan on the forums and you will automatically become a coordinator for your language.

UPDATE2: There is now a wiki page for some help regarding Transifex.

XBMC 11.0 - April Cycle

May 2nd, 2012 natethomas 64 comments

As mentioned previously, we have now moved into a monthly development cycle, in which we merge new features at the beginning of the month and then perform bug fixes through the rest of the month. This means, at the end of every month, developers, bug-reporters, and those willing to deal with potentially highly unstable builds can try a snapshot from the current development cycle, and the organization will have a more stable and predictable development cycle. For those of you who would prefer a stable version of XBMC, we will always recommend the most recent stable release (XBMC 11.0), but for the brave, you are welcome to try the end of the month build. To give an idea of just how unstable/alpha these builds can be, there will almost certainly be months in which some platforms won’t actually have usable builds. For example, the iOS build will not be available this round. As always, we recommend you backup your userdata folder before upgrading.

With that said, let’s review some of the more notable changes in the April Changelog.

First on the list is a major reshuffle of XBMC settings. In the past, many of the controls for allowing XBMC to interact with your network were found on the Network page. Because the Network group was primarily being used for interacting with various external services, the Network page has been entirely replaced with a Services page. The “Internet Access” setting, which was the only other purpose of the Network page, has been moved to the System page.

Confluence_Service_Settings

XBMC has quite a lot of services to deal with these days!

Next, extending XBMC’s default ability to scrape sets, we’ve now added a new “Sets” submenu item.

Eden_sets

For all you iOS users out there, we have an even more exciting announcement. Those of you with iPads, recent iPod Touches, and recent iPhones that are running XBMC will now be able to switch your screen from the local screen to your TV using one of the available TV Out cords provided by Apple.  Then, you can use your local screen as a remote control. Or, to put it more succinctly, mirroring for XBMC is now enabled. For a video on how this works, see below. (Note: as already mentioned, the lack of an iOS build for April means this feature will not actually be available until iOS nightly builds start back up again. Keep an eye on our social network pages, as those will likely be the first places with news on the builds.)

On the library front, in addition to Names, Year, Runtime, and many others, a new Date Added sort field has been enabled. This field works slightly differently than the old “Recently Added” sorting. Rather than sorting the files by how recently they’ve been added to XBMC, the files are now sorted by when they were added to your local computer or server. This way, when refreshing an old show, that show won’t suddenly take up all the spaces in your Recently Added field. Instead, Recently Added really will only show items that you have recently added to your collection.

Finally, Addon, Remote Control, and Skin Developers will be happy to hear that yet more json-rpc controls and websocket support have been added, along with PictureInfo tags.

Conclusion

For a full list of all the April changes, feel free to take a look at our list of closed April milestones. Also, keep an eye out for the May Cycle. Our developers are working extra hard to hopefully include one of the most requested feature additions of the past two years. Feel free to make some guesses as to which feature that is in the comments. Or, if you are feeling a bit brave and a bit lucky, just start downloading now!

Update Grab-bag

April 25th, 2012 theuni 26 comments

There is lots going on in XBMC-land, so now seems like a good time for an update on all fronts. I’d like to touch quickly on several areas, there are sure to be some follow-ups coming soon.

We’ve been busy

This was mentioned a few weeks ago on the forum but was never brought up here: In a recent presentation to the Linux Foundation, XBMC was listed in the top 50 live projects (gleaned from Ohloh’s statistics). It is truly an honor to be among the others in that list!

Releases

We have struggled in the past to put out timely releases, because it’s hard to get everyone to quit adding new features long enough to freeze for testing and go through the release motions. To counter that we have borrowed a page from the Linux kernel’s development flow, and added our own touches. We consider this an experiment and we’re not sure if this will be what we settle on going forward, but it’s certainly a start in the right direction. Here’s how it works:

For each major release, we will have monthly merge windows. For roughly a week we will furiously merge in the approved features that have been queued up in the form of pull requests at Github. That leaves the rest of the month for testing and bug-fixing. Then we’re back to a fun new merge window. After a few of these cycles, we will do a hard freeze and enter the Beta/RC stage, followed by release. The hope is that we can move away from a model of constant code-churn to one broken into chunks of stable/unstable periods.

So there it is in its theoretical glory. There are still lots of details to work out, but so far it has been working well. Having features queued up gives us a more clear way to discuss what is going in, and for users to know what to expect. For now, we are using issues at github to manage milestones as it provides a nice interface for discussion (and even a shiny green ‘merge’ button). It will take a few of these merge windows for us to get a feel for things, and from there we’ll begin charting out the Frodo release schedule.

Nightlies

As the April merge window is closed and things have settled down, nightly builds have resumed. It remains to be seen if it will make sense to host nightly builds during the chaotic merge windows.

A few things are up in the air for the Ubuntu PPA, since we have now been accepted into the official repositories. We want to be sure that nightly users have seamless transitions to official releases if they choose, so unstable PPA builds are still on hold. Also, due to some issues with iOS5, ios/atv2 nightly builds are on hold as well.

GSOC

We have 4 students participating in GSOC this year! Congratulations (and thanks) to Tobias Arrskog, Sascha Montellese, Andres Mejia, and Alasdair Campbell. We’ll certainly dedicate a post in the next few days to their projects, for now their proposals can be seen on the clunky GSOC Page.