Archive

Archive for the ‘xbmc’ Category

XBMC 9.11 Annoyances

February 21st, 2010 Zordrak No comments

When I upgraded from XBMC 9.04.1 to 9.11 I discovered two major annoyances.

  1. The only method I have to access the playlist with my remote in “keyboard mode” was to select the playlist option from the on-screen menu in the Project Mayhem III skin, yet the new Confluence skin in 9.11 is missing the playlist option.
  2. The “Play” button on my remote control and media keyboard no longer enqueued content, they only worked to pause/resume playback.

Problem 1 was fixed easily.. I downloaded and installed the Project Mayhem III skin that was removed from XBMC in 9.11. I don’t understand why they did this. I can understand why they changed the default skin for something that looked better on HD outputs, but they shouldn’t have removed Project Mayhem III completely, it is such a better skin (in my opinion) and is definitely better for lower resolution displays.

Problem 2 was not so easy. In fact I would go so far as to say it was a right royal pain in the arse, completely killed the ease-of-use so much so that we stopped using it until I fixed it and still has no clear explanation for the cause.

In 9.04.1, pressing the Play/Pause button on the remote generates Action 79 (guilib/Key.h):

#define ACTION_PLAYER_PLAY 79 // Play current song. Unpauses song and sets playspeed to 1x. global action, can be used anywhere

In 9.11, the same keypress in the same configuration generates Action 12:

#define ACTION_PAUSE 12

In 9.04.1 (on Slackware), the keymap is specified in /usr/share/xbmc/system/Keymap.xml:

<keymap>
  <global>
    <keyboard>
      ...
      <play_pause>Pause</play_pause>
      ...
    </keyboard>
  </global>
</keymap>

In 9.11 (on Slackware), the keymap is specified in /usr/share/xbmc/system/keymaps/keyboard.xml:

<keymap>
  <global>
    <keyboard>
      ...
      <play_pause>Pause</play_pause>
      ...
    </keyboard>
  </global>
</keymap>

In both cases the keymap is mapping the Play/Pause button to the Pause action and there is no other definition in either set of keymaps to override the definition for specific menus.

Given the above, for both 9.04.1 and 9.11 the expected behaviour should be for the play_pause button to generate Action 12 (ACTION_PAUSE) and function only as a pause button and not play or enqueue content from a menu, just as it has been doing so far in 9.11. However, in 9.04.1 it hasn’t been doing this, it has been generating Action 79 (ACTION_PLAYER_PLAY) and therefore acting as a pause during playback, but as a play/enqueue button in menus.

For the life of me I can’t figure out why. Is it just a bug? Was it just not doing what it was supposed to in 9.04.1 and it was fixed for 9.11? If this is the case why would the chosen behaviour for play_pause be only pause? What is the purpose of Action 12? Surely you would never want a pause button if all it does is implement only one function that is already covered by Action 79?

Thankfully, there is a simple solution that makes it just work for the time being. What you need to do is remap the Play/Pause button from Pause to Play, i.e. from Action 12 to Action 79. You can do this by creating a keymap xml file in your home directory, but I choose to change it in the installation directory so that the change is made for all user accounts.

Edit /usr/share/xbmc/system/keymaps/keyboard.xml and change:

<play_pause>Pause</play_pause>

to

<play_pause>Play</play_pause>

Having done this, 9.11 is works perfectly and as expected, pausing/resuming playback and also acting to enqueue highlighted menu items.

Categories: xbmc Tags: , , ,

XBMC SlackBuild

October 7th, 2009 Zordrak 2 comments

I’ve had a number of requests for the SlackBuild I used for XBMC on Slackware 13.0.

Personally I used Larry Hajali’s SlackBuild for v9.04.1 (with patches). His post to the Slackbuilds-users Mailing list is here:
http://www.mail-archive.com/slackbuilds-users@slackbuilds.org/msg02041.html

Just in case, I’m hosting the SlackBuild here too:
XBMC v9.04.1 SlackBuild

Hopefully Larry’s will eventually make it onto SlackBuilds.Org so you can install it from there or with sbopkg but until then, this will have to do.

If you want the subversion head, then you can either modify Larry’s or head over to http://xbmc.strangled.net/source/xbmc-svn/ where there’s a SlackBuild script written specifically for the purpose.

DISCLAIMERS:

  • I have only personally used Larry’s SlackBuild exactly as provided by Larry.
  • Your Mileage May Vary.
  • I provide absolutely no guarantee that anything will work as described.
  • I take no responsibility if the above information breaks your computer, ends your marriage or otherwise destroys your life.
  • Read the README before doing ANYTHING.

UPDATE:
Larry has updated the SlackBuild a little:

I’ve made a couple of changes to the slackbuild. Fixed some
hard coded “lib/python2.5″ paths in the EventClients Makefile. The
Nvidia hack in no longer an option and is now done by default. Now
the the xbmc slackbuild will compile on Slackware64. XBMC is 64 bit
compatible but by default is not completely lib64 compatible. Mesa
7.5.1 is now needed from a slackware mirror as it has the required
glxinfo for direct rendering detection.

Thanks to fire|bird from ##slackware for helping me troubleshoot
Slackware64 compilation and to pprkut for additional script cleanup
and testing on Slackware64.

The updated version (that I have personally not used or tested) is here:
Updated XBMC SlackBuild


UPDATE 20100222:
Larry has been kind enough to update it to XBMC v9.11 (Camelot) and upload it to SlackBuilds.Org. Thank him vociferously!

Thank you, Larry.

XBMC: Truly the Greatest Media Centre Software EVER!

September 21st, 2009 Zordrak 2 comments

I have been using XBMC for about two weeks now on Slackware-13.0 using an Asus infra-red remote control that presents itself to the machine as a keyboard & mouse. My opinion is thus: it is fantastic!! The interface is beautifully crafted and easy to use. With the remote control I have it’s easier to use than an iPod Touch. It all just works. Installation is a breeze as there is a SlackBuild script for it. The script hasn’t quite made it to the SlackBuilds.Org repository yet, however thanks to a patch from Pat for Slackware-13.0, I expect the XBMC SlackBuild to be accepted at SBo any day now.

The obvious drawback is that it doesn’t have TV tuner functionality but then it doesn’t need one. It’s not what it’s designed for. If you want TV, go give the MythTV developers a hand to see if we can’t get that shocking piece of floppyware to be usable again.

I haven’t even started looking into all the plugins and other bits that are available for XBMC, but the reason is simple: I haven’t needed to. More often than not, I start going looking through customisations because I’ve needed at least one to add functionality or fix something in an application. In this case I’ve yet to discover anything I needed changing.

XBMC is AWESOME

End of discussion.