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@nzbaxters.com wrote:
----- Original Message ----- From: "scott" scott@waye.co.uk To: "VDR Mailing List" vdr@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@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr