Search This Blog

Saturday, February 19, 2011

Some more skin tweaking



Everything is so peachy with my xbmc install that I have been looking for new tweaks to pretty it up even further.

Today, I installed 1080p weather fanart, which means the fanart on the weather page/home screen changes with the current weather / time of day. See here, and I used the .nzb here to get the fanart pack - if you use this, it's all been tidied up and named etc. for you, so you don't need to worry about anything else in that thread to do with folder renaming etc.

Next, I found a really nice tweak (credit to DuMbGuM) to pretty up the Paused dialogue (known as the seek bar, you see it when paused, ff, rw etc). This much prettier version uses 'clearart' to do a very pretty overlay effect. You can get cleararts here - I don't think any of the handy tools scrape this stuff yet (e.g. Ember, TVRename, Sickbeard etc), so it's a manual download for now. You also get codec info (720p, Dolby Digital etc) in the seek bar. Of course, I had to integrate my time remaining mini-mod. And I noticed the mod had a side effect of not showing the little 'Seeking + 00:30' type notifications which I find very handy, so I added those back as well.

I also added the end time.

Finally, to make it all look neat, I had to add an extra font size (font11_title, size 13) to font.xml to cope with videos longer than an hour.

You can see the results above (click to embiggen).

If you want these files, they're here - just unzip in to your Confluence/720p folder.

Tuesday, February 8, 2011

Ultimate PVR

Since Openelec (currently at RC1) and my Shuttle are working so wonderfully well together I have been looking for further challenges.

(Side note - open issues do remain but they are minor:
- Mono files play without sound
- some AAC files seem to be missing the center channel
- Suspend/resume works but the remote can be lost on wake up after long periods of sleep (I leave my Shuttle on all the time anyway)
- Some apple trailers lose the sound and at 30fps seem a bit oddly timed
- other minor glitches with some YouTube content
- apparently there is a simple fix for some of this I have just found - set the audio output to optical and even though you're still listening via HDMI, the problem goes away - will try this tonight!).

All of these are really pretty insignificant for my needs in any case.

What I really love about XBMC is the library side of it - other than that, a popcorn hour or whatever plays video just as well. It's the library and the beautiful GUI that really make XBMC extra special for me.

Now, we currently have about 100 separate TV shows on our 'watching' list. Not all at once, obviously, but all in all we pull roughly this many in (and watch an average of 3 episodes of whatever a day). This is quite a task to keep track of, and to keep neat. We pretty much never re-watch stuff, but a lot of my friends/rellos pinch content from us by bringing over big hard drives. So I like the library to be neat and very readily traversable and accessible.

In addition, our movie library is currently at about 600, with 200 unwatched. We're a bit behind with that, but it's nice to have that sort of choice available when we do want to watch a flick. I've been using Ember Media Manager to keep on top of that, which works well enough, although it's kind of abandonware at this point and I haven't had much luck with the new 'revisited' version so far.

So - computers are good at automating stuff, so it was really high time to offload some (most) of this labour to the server so I could spend more time watching and less time fiddling and cleaning up. Enter Sickbeard and Couch Potato.

These are two auto downloading apps - you tell it what you want, e.g. movie title or tv series title, and by and large it does ALL the rest. Searches for & finds stuff, at quality levels you can specify, and then brings it down and automatically cleans up names, files things in the right places, creates XBMC .nfo files and pokes XBMC to update the library. Both of these basically find nzbs (CP does torrents too) and send them to SABnzbd for the actual downloading (or uTorrent).

It's seriously cool. Watching these proggies neatly fill up your library with ad free, hi-def goodness it pretty amazing.


Sickbeard
does TV and is pretty much only friendly with NZBs (I use nzbmatrix as my source). Setup was a doddle - just pointed it at my various TV storage folders and away it went. It appears to work almost perfectly so far, although occasionally it marks something as skipped when it should download it, due as far as I can tell to date issues. But we're talking only one or two things from a vast library of 300 odd tv shows (with 100 'active' - i.e. ongoing now or in the future). It's even capable of going back and replacing old files with better quality ones as they appear. So you can watch in HDTV rip but later add the bluray rips - all without ever searching for anything manually, or browsing any new release lists.

Couch Potato is the same sort of thing, for movies. It is a little rougher so far - the odd crash etc, but it's working quite well in all and is good at the finding and download things part, but is a bit basic at the post processing. It renames OK but the .nfo it generates it just the IMDB URL and I want a bit more in it than that to speed up library creation/indexing etc - so Ember is still in regular use. But eliminating TV shows from all the processing has made a big difference. CP is even clever enough to progressively download better and better versions of things and improve your library as/when things become available. CP should take a leaf in this respect from SBs book and look at your existing library as part of its initial setup, as for now it only tracks things you put in it post install.

All in all this is very very close to the ultimate PVR. A fair bit of work to set this all up, from building a home server, wiring the house, building the XBMC heads, neatening up all the thousands of files in the library, etc etc. But at the end of it there really is the video equivalent of the pot of gold.

Wednesday, February 2, 2011

Tweaking a Harmony remote with Openelec

I've done a few things to tune my Harmony remote to my liking.

First, in the Harmony software my base device for the XBMC machine is set to 'MicrosoftMedia Center Extender' (found under HTPC options I think - I've found this is a better starting map than the other options people recommend. I think a lot of people's remote problems start right here, they use the wrong base map.

From there, the basic method is this is to look at the 'keys' defined for the remote, and then remap what those keys do in a custom keymap.xml

To find the keys, we look in:
/usr/share/irtrans/remotes/mediacenter.rem

This file defines the signals/names that will come through to XBMC (and therefore what we can easily remap). I suspect speeds can be tweaked in here and I find it a little too fast when scrolling long lists so I will experiment with this later...

[REMOTE]
[NAME]mediacenter

[TIMING]
[0][N]0[RC]2[RP]87[FREQ]36[SB][RS][RC6]

[COMMANDS]
[1][T]0[D]S11101010000000000011110000010000000001
[2][T]0[D]S11101010000000000011110000010000000010
[3][T]0[D]S11101010000000000011110000010000000011
[4][T]0[D]S11101010000000000011110000010000000100
[5][T]0[D]S11101010000000000011110000010000000101
[6][T]0[D]S11101010000000000011110000010000000110
[7][T]0[D]S11101010000000000011110000010000000111
[8][T]0[D]S11101010000000000011110000010000001000
[9][T]0[D]S11101010000000000011110000010000001001
[0][T]0[D]S11101010000000000011110000010000000000
[ok][T]0[D]S11101010000000000011110000010000100010
[left][T]0[D]S11101010000000000011110000010000100000
[right][T]0[D]S11101010000000000011110000010000100001
[down][T]0[D]S11101010000000000011110000010000011111
[up][T]0[D]S11101010000000000011110000010000011110
[play][T]0[D]S11101010000000000011110000010000010110
[power][T]0[D]S11101010000000000011110000010000001100
[Stop][T]0[D]S11101010000000000011110000010000011001
[Rec][T]0[D]S11101010000000000011110000010000010111
[Rew][T]0[D]S11101010000000000011110000010000010101
[Fwd][T]0[D]S11101010000000000011110000010000010100
[Pause][T]0[D]S11101010000000000011110000010000011000
[Next][T]0[D]S11101010000000000011110000010000011010
[Prev][T]0[D]S11101010000000000011110000010000011011
[eHome][T]0[D]S11101010000000000011110000010000001101
[Back][T]0[D]S11101010000000000011110000010000100011
[EPG][T]0[D]S11101010000000000011110000010000100110
[Info][T]0[D]S11101010000000000011110000010000001111
[LiveTV][T]0[D]S11101010000000000011110000010000100101
[Video][T]0[D]S11101010000000000011110000010001001010
[Music][T]0[D]S11101010000000000011110000010001000111
[TV][T]0[D]S11101010000000000011110000010001000110
[Pictures][T]0[D]S11101010000000000011110000010001001001
[Vol+][T]0[D]S11101010000000000011110000010000010000
[Vol-][T]0[D]S11101010000000000011110000010000010001
[Mute][T]0[D]S11101010000000000011110000010000001110
[Ch+][T]0[D]S11101010000000000011110000010000010010
[Ch-][T]0[D]S11101010000000000011110000010000010011
[Enter][T]0[D]S11101010000000000011110000010000001011
[Clear][T]0[D]S11101010000000000011110000010000001010
[DVDMenu][T]0[D]S11101010000000000011110000010000100100
[Rectv][T]0[D]S11101010000000000011110000010001001000
[Messenger][T][0][D]S11101010000000000011110000010001100100
[Radio][T][0][D]S11101010000000000011110000010001010000
[Teletext][T][0][D]S11101010000000000011110000010001011010
[Red][T][0][D]S11101010000000000011110000010001011011
[Green][T][0][D]S11101010000000000011110000010001011100
[Yellow][T][0][D]S11101010000000000011110000010001011101
[Blue][T][0][D]S11101010000000000011110000010001011110


The main work from here is done in .xbmc/userdata/keymaps/keymap.xml

I've commented my file so it should be easy to follow. To work out waht functions to call, I combed the forums a bit and use the wiki page on functions - http://wiki.xbmc.org/?title=List_of_Built_In_Functions - the only really tricky one is calling a showwindow command to toggle between just unwatched stuff & everything views.

<keymap>

<!-- ************* GLOBAL ***************************** -->
<!-- Define R as reload skin, S as screenshot, anywhere -->
<!-- and define some special remote keys
<!-- Red toggles fullscreen view -->
<!-- Green Toggles the watched status of an item -->
<!-- And yellow will toggle the library views between 'show everything' and 'show watched only' -->

<global>
<keyboard>
<r>XBMC.ReloadSkin()</r>
<s>Screenshot</s>
</keyboard>
<remote>
<Red>FullScreen</Red>
<Green>ToggleWatched</Green>
<Yellow>SendClick(25,14)</Yellow>
</remote>
</global>

<!-- ************************************************ -->

<!-- On the home screen, 1 cleans the library, 2 triggers an update -->

<home>
<remote>
<one>XBMC.CleanLibrary(video)</one>
<two>XBMC.UpdateLibrary(video)</two>
</remote>
</home>

<!-- Set up Audio Delay Easy Keys -->

<FullscreenVideo>
<remote>
<Yellow>AudioDelayMinus</Yellow>
<Blue>AudioDelayPlus</Blue>
</remote>
</FullscreenVideo>

<!-- Set up zooming in picture slideshows -->

<Slideshow>
<remote>
<Yellow>ZoomOut</Yellow>
<Blue>ZoomIn</Blue>
</remote>
</Slideshow>

<!-- make the info window close when info is pressed again -->

<movieinformation>
<remote>
<info>Close</info>
</remote>
</movieinformation>
<musicinformation>
<remote>
<info>Close</info>
</remote>
</musicinformation>

</keymap>


Some other stuff - I have done a bit of key mapping in the Harmony software - e.g in additional buttons I have mapped a button for next subtitle so I can easily cycle between subtitles (from none - sub 1 (if there is a sub 1) - sub 2 (if there is a sub 2) - ... - subs off

You can remap any other button you like this way.