XBMC DevCon 2013 LiveBlog

Posted By: Nathan Betzen on Oct 11, 2013 in Site News
DevCon Day 1

Good morning, Germany!

This live blog is intended to keep users up to date with DevCon conversations. I’ll likely update roughly once at the change of each hour, so there’s no real reason to constantly hit refresh. If you don’t see an update on the hour, I’ll hold back up updating until the next hour.

Day 2

16.00 (4PM) – Short Presentations Continued

Binary Addons

Already exist in the form of screensavers and PVR addons.

The goal is to allow things like PVR addons to have their own release cycles. And we’d like to extend the concept to audio codecs and other things. To make this happen we need something that can handle numerous tasks. This thing can be Cmake.

Cmake is cross platform, can download, build, and extract, can bootstrap a source tree, can generate all existing buildsystems, can handle installation, and can handle zip (or tgz) packaging. However, it’s pretty new to almost all of us.

For now, everything needs to be expanded to fit all platforms, so dev volunteers are needed.

 

5.00 (3PM) – Short presentations Continued

Addon Frontend – Zag

An addon frontend is a central location for 3rd party addons or apps (sometimes called a Portal or an Appstore or whatever)

The purpose of the frontend is to provide a place for users to explore and interact with the add-on. And a place for creators to market their addons. It also acts as a place to centralize addon metadata, and a place to to link to addons.

A frontend has been developed, but needs several things:

Easy example addon, more complex example addon. Wiki integration. Source Code availability. Forum mentors.

 

4.00 (2PM) – Short presentations Continued

Heimdall – Topfs2

Plan is to split Heimdall into core + optional modules, then push core and modules into addon repo, then have a python scraper to call Heimdall.

What to fix before inclusion:

  • Have a way to handle API keys
  • Differentiate between errors and warnings (e.g. when site gives 404, warning)
  • Decide what to do about ontologies
  • finalize task api

A brief explanation of how Heimdall works.

Retroplayer – Garbear

Vision: Zero configuration multi-system emulator where you just show XBMC where a game is and launch it. To make this possible, we need Heimdall (uses as many scrapers as necessary) + PyRomInfo (sniffs magic words to resolve gaming platform without guesswork). It’s similar to how videos work in XBMC. It doesn’t matter what codec a video uses. XBMC just plays the video. Retroplayer should do exactly the same thing.

In addition, Public domain ROMs (which include things like Pac-Man clones, etc.) should be automatically accessible free (and legally) to users.

Current Status:

  • Games window
  • just-in-time emulator installation

Issues

  • Joystick API needs a rewrite
  • settings.xml is hacky
  • emulators are fairly buggy
  • Controller counts are wacky

Next

  • Display RGB w/o converting YUV422
  • Fixes to libretro
  • Heimdall
  • PyRomInfo
  • Scrapers (e.g. TheGamesDB.net)
  • Games Library
  • Python app for per-controller configuration (so your controller works perfectly with each system)
  • Expose info (current level, number of lives, number of coins earned, etc.) to GUI/Savestate manager
  • Hook up something like Retrode, which would be pretty cool

12.00 (Noon) – Short presentations

ActiveAE – Fernet Menta

PAPlayer was straining quite a bit in the past. ActiveAE was designed to make everything faster, easier, and more efficient. The Active Object Model used by ActiveAE is similar to message queues in DVDPlayer. It handles messages based on the state of the object.

Jenkins – Martijn

Martijn shows us how building with Jenkins works and how it integrates with Github.

 

11.00 (11AM) – Sponsor Talks

at-visions

at-visions is a company that provides XBMC inside various luxury hotels around the world, including Europe, Dubai, and, I believe, even possibly Las Vegas.

The presentation started with a review of some of their hotels and skins where they run XBMC. One hotel is a mere 800 EUR a night to stay!

at-visions has also created a pure python game that’s vaguely similar to Space Invaders. They intend ultimately on open sourcing it and making it available to the XBMC community. So cool.

Much of the remainder of at-vision time was discussion between various developers from both XBMC and at-visions about potential improvements to the system.

Pivos

Pivos is working on all kinds of cool things. New hardware, updated software. Exciting times ahead.

10.00 (10AM) – Project Management

Two issues. PRs and Release Manager

PRs: Right now it’s very difficult to know who to ping when you want your PR reviewed. Or in some cases, it’s easy to know the first person to ping, but after that there’s a blank. First solution, create a spreadsheet that actually lists the people who are knowledgeable about all the various components.

Selecting a release manager for XBMC 13 was put off for later.

 

End of Day 1

16.00 (4PM) – XBMC 14: What’s next?

This year, we’re going to have a race for version 14. Whichever of the following three features is finished first will be the one to signal feature freeze for 14 and will be the main feature for 14.

  • Retroplayer/ Game Library
  • UPnP Multi-Client
  • Bump ffmpeg 2.x.y (bluray mvc support)

14.00 (2PM) – XBMC 13: Gotham Release

What features do we still want to push into XBMC 13 before we freeze?

Gotham: What will be in?

  • 3d Support
  • Audio settings
  • ActiveAE
  • Wayland

Feature Freeze November 10th

Nice to have:

  • Settings refactor (JSON/python)
  • Pulse Audio sink
  • SDL (Either 2.0 or drop it)
  • ActiveAE CA sink
  • bump ffmpeg 2.0

Freeze: If these are going to be in, they need to be in the 10th of December, PR has to be in by the 1st.

No (For 14 or beyond):

  • Heimdall
  • Retroplayer
  • UPnP Multi-client
  • Google Play Store (size and licensing issues)
  • Binary Addons

 

13.00 (1PM)

Multi-Client XBMC – Jonathan Marshall

What we want:

  • Each client has a local library
  • Each shares that library over UPnP
  • Each client then adds what it picks up over UPnP to its own library, flagging as remote
  • Thus, each client has access to everything

Necessary ingredients:

  • local libraries
  • UPnP server/client to share those libraries
  • flagging of local content

Missing bits: duplicate handling

  • More than one path to the same content is probably going to happen
  • multi-formats
  • Several ways to handle duplicates

 

 

12.00 PM

Updated Settings System – Presentation by Montellese

In the past, settings were directly connected with the GUI. Which means the only way to change the setting was to make the change in the GUI. The new settings are defined in settings.xml and are completely decoupled from the GUI. In the future, this will allow settings will be manipulatable by addons and other outside systems, allowing for things like settings optimization addons.

Settings can also be manipulated on a platform or appliance level, so Pivos could add pivos-specific settings without needing to touch any of the original settings. So it will be possible now to add new settings sections, categories, groups, etc.  Also possible to overwrite any value.

Global elements:

  • visible – useful for assigning specific elements to specific platforms
  • requirements – makes it so a setting is only visible when a requirement is met. For example, if zeroconf is available and turned on, other settings can appear
  • parent  -
  • levels – basic, standard, advanced, expert, internal (never visible, should never be changed)
  • default – it is now possible to reset values back to “factory” default
  • control – spinner, list, text input, defines how to input setting in gui
  • constraints
  • dependencies – Setting is only visible/enabled/etc. when other setting is enabled

 

11.00 AM

Statistics/ Public Relations

Year over year user growthFirst topic of the day was stats. As noted on the Raspberry Pi blog, there are quite a lot of R-Pi users these days. It appears all that growth in Raspberry Pi and now Android appears to have fairly dramatically increased the number of XBMC users from last August to this August. The number is even higher in September.

A couple suggestions for the future. First, we should increase the number of blog posts so that we talk about already existing features in depth. Second, we should seriously consider making semi-official statements about hardware to give users better guidance.

Broadly speaking, more info is better.

Also, this t-shirt sale is going awesomely. With 3 days left, we’ve already sold between 3 and 4 times the minimum.

Development Cycle

Is our commit window too short in our development cycle? At the moment, the first 10 days of every month are open for new features and changes. The remainder of the month is set aside for fixes and stability. Is this too short? Too long?

The primary problem is reviewing. What happens if everything is fine on the 9th or 10th day, except for one or two things that only got pinged on review on the very last day? Do we have to wait until next month to merge?

Generally speaking, the agreement appears to be that the window is fine. The change ought to be that the coder and reviewer agree that maybe you enter the PR on the 10th, and then apply the minor fixes over the next few days.

Second, we need better info on who to ping for reviews. Perhaps actually creating a wiki page with reviewer names and project areas where they have knowledge/are experts in.

Jenkins, and the Jenkins test build system, is working really well.

Trac is something we’re all rapidly paying less attention to, which is honestly too bad, as bug reports are finally becoming manageable and verified. Later today, we’re going to review all the ~ 50 bugs that Martijn assigned to 13.0.

Share on reddit


Discussion - 54 Comments

  • HunterZ Oct 11, 2013 

    I’m not really comfortable with UPnP as a database sharing solution. I tried browsing my HTPC’s XBMCBuntu library on my Android tablet’s XBMC client via UPnP, and there were a significant number of movies/videos that the tablet was not able to play that way. This was definitely a UPnP issue, as the tablet was *was* able to play them if I browsed to the videos “directly” in the Android XBMC client via Samba.

    I really wish that XBMC could store relative paths to videos in a shared/sychronized database, and allow each client to specify their own base paths. This would make libraries portable without too much fuss.

    • Ned Scott Oct 12, 2013 

      What we have in mind is a whole other level of UPnP and not just what you see now. We have a video of that segment of the conference, and I think people are going to really like what they hear once I get it uploaded.

  • eema Oct 11, 2013 

    I read the update about xbmc 14 and about mvc…
    It is one of the biggest missing codecs but is there someone actually working on it on ffmpeg or is it just a hope? Because for what i’m aware actually there aren’t plans…

  • jose cardoso Oct 11, 2013 

    the big problem on xbmc ja the librtmp update in windows its easy to fix , but in othe platforms its hard, tanks XBMC Deve teem

    • Dave Roberts Oct 11, 2013 

      If Wayland is to be adopted does this mean a move away from an Ubuntu based distro (XBMCbuntu) is likely?

  • Szymon Oct 11, 2013 

    No retroplayer in 14? Buuu….. hope you will add simple way to run outside app within xbmc so i can startup ScummVm, uae4all or vice within xbmc :/

  • Steven Oct 11, 2013 

    Why is there not more talk about Live TV / PVR. This function takes this program from an extra box that most wives just deal with to a full solution that wives will thank us for.
    I have a Server and 5 external machines, MySQL drives the libraries and it all works awesome. I have three -4 tuner Cards in the server and each TV gets live TV. But The scheduling and such in the front end of the PVR in XBMC is just A. written like a nerd, B. Most options not there.

    I have been a long long time user of XBMC and Donator on many Occasions.
    I am not here to insult.

    • Hugh Oct 14, 2013 

      100% agree. Xbmc is awesome but pvr scheduling and series link would be really good.

    • Archie456 Oct 21, 2013 

      Steven – your exactly right. XBMC is excellent, but really let down by the lack of PVR features which means my family wont use it and I can’t get rid of WMC.

      Surely this would be a better feature than support for some obscure OS?

      • Martijn Oct 22, 2013 

        this is of course your opinion.
        others will disagree

  • Michael Oct 12, 2013 

    What have you planned for the next days?

  • Michael_2 Oct 12, 2013 

    Where are you meeting?

    *Damn*, if I had known about this meeting a bit earlier, and if it is not on the completely other side of germany, I would have come by and thrown in some free beer/Club Mate, chocolate and very big and huge THANK YOUs!

  • Cassiel Oct 12, 2013 

    Maybe you should fix all open bugs from 12.2 FIRST before taking the bugs to version 13! RetroPlayer maybe in 14? Yeah why not in 20 or 21? As far as I know the PR for RetroPlayer has been submitted weeks ago. Why not test and implement in 13? What about all those Live TV improvements from the PVR teams? Make Live TV stable and fast, this is by far the most neglected feature since its implementation…

    • Ned Scott Oct 12, 2013 

      Do not make the mistake that just because we talk about one thing, we are ignoring other areas of XBMC. That is not happening. Also, only a small few are able or want to work on PVR. We cannot tell people to stop working on other areas just because one area isn’t polished yet. An open source and community driven project simply doesn’t work like that.

      The way XBMC works is that not everyone works on the same thing. That is all.

      PVR is a part of XBMC, and it is a part of the future of XBMC. Make no mistake, it is being worked on, and will continue to be worked on.

      • Steven Oct 12, 2013 

        Cool,
        The implementation, no backend, and lack of talk about PVR scared many of us into thinking it was a pie dream. Using another backend does not bother most of us it is the end result that matters. :) “XBMC Front end”

      • Cassiel Oct 13, 2013 

        Sorry mate, I don’t want to offend anyone… just feeling a bit sad about RetroPlayer not making it into Gotham and PVR not being high priority. :-/

        • Ned Scott Oct 13, 2013 

          The team now wants to make releases more based on when a feature is ready, rather than releasing things based on date when they might not be finished, or have long since been finished. Meaning it is totally possible to have a situation where we release v13, then three months later (just an example) Retroplayer gets finished, then we release v14, rather than waiting a whole year :)

  • sanmiguel9 Oct 12, 2013 

    What does PR stand for?
    As in: “Right now it’s very difficult to know who to ping when you want your PR reviewed.”
    Two letter accronyms are sometimes very hard to deciffer for a novice… ;-)

    • Nathan Betzen Oct 12, 2013 

      Pull Request. Which probably also doesn’t help. :) It basically is a really clear way of merging new code into the main XBMC trunk. Extremely useful for developers.

      • sanmiguel9 Oct 12, 2013 

        Pull Request, thx!!
        Although I am not an active coder, I understand at least the basic process of software development ;-)

  • 0wing Oct 12, 2013 

    So I guess this time RetroPlayer will be the new feature that people whine about not getting into the next release, even though it’s not ready.
    It’s like AudioEngine all over again.

  • Ulrich Oct 12, 2013 

    Hey XMBC Team,

    thanks for the great evening yesterday! Moritz an I enjoyed it very much to meet you all and to get the sprit ot the Team. Really awesome! We will continue to watch closely the next steps and look Forward to get approval to become Wiki Editor.
    Best regards to all DevCon participants

    Moritz and Ulrich

    • blittan Oct 13, 2013 

      Thanks for coming, it’s always nice to meet new people and especially users.

    • Zag Oct 13, 2013 

      Thanks for coming!

    • Kib Oct 14, 2013 

      It was great meeting the two of you. I am sure garbear was very interested to see his ‘baby’ RetroPlayer be rigorously playtested by Moritz who seemed to thoroughly enjoy himself in the process.

      *jumps in flames*
      *dies*
      *rewinds*
      *jumps over flames*

  • Lee Oct 13, 2013 

    UPnP Multi-client will not be on 13? So to share XBMC across different devices I would need to set up the shares and an SQL server? This is so disappointing for me… This is the one thing I wanted from this release. So, any release date for 14? :)

    • Ned Scott Oct 13, 2013 

      The ability to share a library already works, but there will be a lot of additional features that will make it more integrated with the main library.

      • Lee Oct 15, 2013 

        So the basic functionality of sharing media and basic metadata (mostly “watched/unwatched and resume from X) across XBMC installations without configuring shares and such will exist on 13?

        • Ned Scott Oct 16, 2013 

          Yep

          • Lee Oct 16, 2013 

            Thanks for the (great) feedback.

  • marcus Oct 13, 2013 

    RETROPLAYER PLEEEAS:))))))

  • LEE Oct 14, 2013 

    Hi there

    will XBMC 13 fix audio problems with 24hz and DTS playpack lipsync problems as xbmc 10, 11,12 all have to have around about -175ms delay to fix it.

    • fritsch Oct 19, 2013 

      Hi,

      sadly we cannot fix this. As most vendors don’t implement lipsync functionality in their drivers – or don’t let us use it in a way we could easily do.

      On difference here is AMD oss, they just merged code in yesterday, that will – when implemented in ALSA – they will have it.

      For constant delay, i don’t really consider it as a problem, as you can easily fix that delay per refreshrate fitting your system.

      We’d like to have it done a other way, but currently I don’t see it technically possible.

    • Joe D Oct 21, 2013 

      Just create rule in “advancedsettings.xml” that will automatically create audio delay for video with 23-24fps.

      23
      24
      175

  • Jakke Oct 14, 2013 

    Addon Frontend sounds pretty cool, as would be nice to have reviews and a star rating review system for addons.

    Please consider adding both star rate voting from both XBMC GUI and a website, similar to Apple App Store and iTunes, and add support for optional written reviews and comments.

    Link to support ticket tracking for specific addons would also be good to have

    • Zag Oct 14, 2013 

      Yep all planned for the future, but one step at a time ;)

  • ralphdov Oct 14, 2013 

    Hi,

    What about picture module ? I read that there wa some works to add library support (like video module), + many improvements.
    Is it planned for gotham ? for next release ? not at all ?

  • EJG Oct 15, 2013 

    For the project management issue about having the PR reviewed, perhaps this tools can help. http://www.reviewboard.org/

    I used at work for code reviews, but the functionality might be useful for your situation.

    Thanks for such a great product!

    • Martijn Oct 16, 2013 

      Adding another tool is pointless if we still lack proper time to do the review. Github already offers more than enough. Also from first looks it’s not something we’d even want to use.

      • EJG Oct 17, 2013 

        The issue mentioned was related to identify who can do the review and tracking the review status. Based on what your reply, time to do the review is another issue. The tool facilitates assigning reviewers and following up the status of the review, but it won’t help creating more time ;)

        We also use Jenkins and is very useful too.

        Note: I am not affiliated to the product in any way other than a user

  • Stephen E. Baker Oct 15, 2013 

    Why all the fuss about retroplayer peoples? Advanced Launcher + favourite emulator works nicely in the mean time.

    • Szymon Oct 15, 2013 

      http://wiki.xbmc.org/index.php?title=Add-on:Advanced_Launcher

      AFAIK Advenced Launcher is broken now. That is why i can’t incorporate Vice, ScummVm, Uae4all with my OpenElec rPI installation. Lets start with something so simple like making this plugin reliable.

      • henryford Oct 23, 2013 

        You’re mistaken: AL works fine – it’s just that the version in the official repo currently isn’t working as far as I can see.

  • apollo Oct 15, 2013 

    i will die for retroplayer inside of xbmc
    come on guys lets make it real:))

  • Jomel Oct 17, 2013 

    Hoping to be part of this great wizard team. Jomel from at-visions Philippines :)

  • Hedda Oct 17, 2013 

    No discussions at this years DevCon about XBMC GUI to have integrated HTML5 Layout Engine such as WebKit embedded for full Web Addons like Netflix inside XBMC?

  • JOe K. Oct 18, 2013 

    It’d be nice if there was a screensaver that used MilkDrop instead of pictures or dimming the screen.

    • Jakke Oct 23, 2013 

      @JOe K., already exist for OpenGL as vis name ProjectM

      Suspect that you might specifically be wanting ProjectM 2.x with OpenGL ES 2.0 support in XBMC, at least if what you want is MilkDrop on Android, iOS, or Raspberry Pi?

      XBMC already support ProjectM 1.x which is an open source visualization that reverse-engineered MilkDrop 1.x, but that vis does not support MilkDrop 2.x or those mobile platforms, for that you need ProjectM 2.x with OpenGL ES 2.0 support in XBMC

      • JOe K. Oct 24, 2013 

        Doesn’t that only work with Music playing though? Or is it a screen saver that just happens when there is inactivity?

        • Jakke Oct 24, 2013 

          Both; yes it only works when music is playing since ProjectM/MilkDrop by definition is an “real-time audio visualizer”, and yes it can act as a screensaver but only if and when music is playing at that time. For it to act differently you would have to change the code of the vis.

          For ProjectM/MilkDrop to work without as a screensaver without music playing you would either have to fake some audio input, like an random audio generator, or have some audio samples like Midi files that you code to play in the background with mute sound, or you with have to pre-record the the events you want it to display.

  • Rhedox Oct 23, 2013 

    I love XBMC especially along with Yatse.

    Instead of adding emulators you should focus on your existing media. For example blu ray playback.

    Or better web videos for example YouTube. The addons UI sucks.
    I love how sending an Youtube URL or a local video from Yatse opens the video in xbmc.

  • Landis Oct 24, 2013 

    I think XBMC should support ASIO output and a GUI settings option to remap keys.

    Suggestions:

    1) Make it run in portable mode by default. Less hassle and easier to backup
    .
    2) Comes per-configured with optimized advanced configs for different kinds of hardware setups.

    3) GUI cookie handler & option to clear data except for plugins, skins, user settings, etc.

    Great work guys.

About XBMC

XBMC is a free and open source media player application developed by the XBMC Foundation, a non-profit technology consortium. XBMC is available for multiple operating-systems and hardware platforms, featuring a 10-foot user interface for use with televisions and remote controls. It allows users to play and view most videos, music, podcasts, and other digital media files from local and network storage media and the internet.