[vdr] XBMC with vdr-1.6.0 ??

scott scott at waye.co.uk
Fri Mar 12 09:59:56 CET 2010


Sorry for the delay.

vdr is set to run all the time, I start mine with this line in inittab but
anyway will do:

vdr:35:once:/usr/local/bin/runvdr

This is the while loop in my .xinitrc.  This has to go before any exec
lines that you might have which would be present to start window managers
etc:

### bash script excerpt start
while [ 1 -eq 1 ]
do

        XINE=/data/downloads/xine-ui/src/xitk/xine
        $XINE -A alsa --video vdpau  --post tvtime:method=use_vo_driver -f
vdr://tmp/vdr-xine/stream#demux:mpeg_pes  --no-gui --no-mouse --hide-gui 
--no-logo  --no-splash --verbose=2 2>&1 >>/tmp/xine_log

        #run xbmc
        export SDL_AUDIODRIVER=null  # I use this to workaround an issue I
had with navigation sounds in xbmc
        /usr/local/bin/xbmc --fullscreen 2>&1 >/tmp/xbmc

done
### bash script excerpt end

So this loop will just cycle between xine and xbmc unti the X session is
killed.  To stop xine I use the Music button on my Hauppauge remote, so I
have this in the my .lircrc 

begin
        remote = Hauppauge
        button = Music
        prog   = xine
        repeat = 0
        config = Quit
end

This will close xine, causing the while loop to move on and start xbmc.  I
use MediaStream as my xbmc skin and this next bit is specific to that skin,
if you use a different skin then you will have to look up how to add menu
items for that skin.  Also I think I read recently that xbmc has changed
the way skins are handled so if you are on a new svn build, or maybe the
latest release then things might have changed.  I am using a SVN build from
8 Sep 2009.  From the same home directory as the above .xinitrc, in
.xbmc/skin/MediaStream/720p (That's the resolution I'm using, I don't think
MediaStream has any other) you should have a file, Home.xml.  Near the end
there is a section which defines the main menu, normally preceded by the
comment <!-- Main Menu -->.  About 30 lines lower you should find a section
which describes the buttons available in the top level menu, something
like:

        <content>
          <item id="7">
            <description>Power Button</description>
            <label> $LOCALIZE[31007] </label>
            <label2> $LOCALIZE[31017] </label2>
            <onclick>XBMC.ActivateWindow(ShutdownMenu)</onclick>
          </item>
          <item id="6">
            <description>My System Menu</description>
            <label> $LOCALIZE[31006] </label>
            <label2> $LOCALIZE[31016] </label2>
            <onclick>SetFocus(506)</onclick>
          </item>

At a location of your choosing, but at the right xml indentation, you can
add a button with the following xml:

                  <item id="11">
                    <description>My VDR Button</description>
                        <label> $LOCALIZE[31905] </label>
                        <label2> $LOCALIZE[31906] </label2>
                        <visible>!Skin.HasSetting(HideTVShows)</visible>
                        <onclick>XBMC.Quit()</onclick>
                  </item> 

The id of 11 must be unique in this list, my last one was 10, so I picked
11.  The significant bits are the 2 numbers 31905 and 31906, plus the
XBMC.Quit() which tells XBMC to close down when the menu item is clicked,
and due to the bash while loop, xine will start up.  Finally to get the
right text for your new menu button, you need to define values for 31905
and 31906 in .xbmc/skin/MediaStream/language/English/strings.xml. 
Something like this before </strings> will do:

  <string id="31905">TV</string>
  <string id="31906">Watch</string>


As already mentioned you can achieve the same thing with less changes by
using irexec, I guess the only advantage of the technique above is that you
get a nice button in xbmc.  Apologies for putting all this xbmc specific
stuff in the vdr list, but its probably good to have the whole solution in
one message.  Its not exactly what you are after but it may give you some
clues.

--
Scott



On Wed, 10 Mar 2010 10:12:30 +1300, "Simon Baxter" <linuxtv at nzbaxters.com>
wrote:
> ----- Original Message ----- 
> From: "scott" <scott at waye.co.uk>
> To: "VDR Mailing List" <vdr at linuxtv.org>
> Sent: Monday, March 08, 2010 9:45 PM
> Subject: Re: [vdr] XBMC with vdr-1.6.0 ??
> 
> 
>> One way thats been suggested before, and which I use, is to put xbmc and
>> vdr-xine in a while loop inside a bash shell script and set up a button
>> to
>> stop vdr-xine, and a menu option in xbmc to close it down.  If you
search
>> this thread you should find some info, if not I can post my stuff.
>>
>> --
>> Scott
> 
> Thanks Scott.  Yes please, would like to see how you've implemeted it.
> 
> I found a number of threads and have achieved the following:
> * added a script (vdr.py) under the My Scripts which calls the xine 
> frontend.  But this flags an error "Errors in system config" or similar, 
> launches xine but closes xbmc at the back end
> http://forum.xbmc.org/showthread.php?t=42205
> 
> * added a phantom button on the main menu, which I'd hoped would launch 
> vdr-py (lower in the above thread).  But this just crashes xmbc
> 
> What I want to achieve is a main menu button which launches an external
> bash 
> script, to launch xine, which keeps xbmc running in the background.  I 
> currently have mms running like this and it works really well.  I then
use 
> the "power" button to kill xine (and turn off lirc), and fall back to
mms.
> 
> 
> Thanks
> Simon
> 
> 
> _______________________________________________
> vdr mailing list
> vdr at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr



More information about the vdr mailing list