Simultaneous animations: planets orbiting sun

Hey all,
I'm trying to create two animations in keynote and failing to get them right.
The first is a central circle with dots (like planets) 'orbiting' around it from different angles. I can get the movement ok but I can't a) get all the dots to move on their individual orbits at once (they only move after each successive build) and b) get the animation to loop.
The second is a box with dots inside each circling around an axis outside of themselves. Again same problem. I can't get them to move all at the same time.
Do I need to do this in a different app and import it in or can I do it directly in keynote.
Any suggestions greatly appreciated.
Thanks
M.

twsims wrote:
> Hello Everyone,
>
> I am pretty much a noob when it comes to flash. HOwever,
I am eager to learn
> and a project I have decided to pursue involves orbiting
items around a central
> figure. Just like plantes orbiting around the sun. Does
anyone have any how -
> to items or where I should begin. I have all the movie
clips, symbols and
> buttons necessary just putting them all together is my
problem. I have done
> programming in the past for Java, C# and the like so I
shouldn't be too lost
> with any instructions.
You could do it as suggested in other reply, with code, or
you could do it with
simple masking and motion tween. Old but still valid tutorial
of such :
(motion tween and masking)
http://www.cbtcafe.com/flash/3dtext/page3.html
Best Regards
Urami
!!!!!!! Merry Christmas !!!!!!!
Happy New Year
<urami>
If you want to mail me - DO NOT LAUGH AT MY ADDRESS
</urami>

Similar Messages

  • Simultaneous Animation?

    Is it possible within a UIKit animation block (not using Core Animation layers) to perform two simultaneous animations/transformations?
    For example, I would like to have an image view increase in size (scale) while at the same time spinning (rotate) e.g. like a spinning newspaper zooming out from the center of a screen. I know you can nest animation blocks, and within each block you can do a transformation but aren't those animations are performed in a linear fashion (scale, then rotate, instead of scale and rotate)?
    Thanks for any tips on how to do this.

    Well what I have done is made an implicit animation + explicit animation, but you should be able to add as many explicit animations to a layer as you want. Just declare them all and then add the animations to the layer, they should all happen at the same time. There's also an object called CAAnimationGroup which might be of interest to you

  • Playing simultaneous animations when clicking on a button

    Hello,
    Does anyone knows how to make two animations on the timeline in edge animate play simultaneously when i click on a button ?
    I have a button in my menu, when i click on it i need to play to animations from the timeline.
    Thanks for helping me.

    hey Vincent,
    Try adding the animation to a symbols and playing the symbols. When you make these symbols have auto play un-ticked as the animation will play automatically  from the start of the main timeline otherwise. Then on your button you can access the symbols by add code:
    sym.getSymbol("symbolname1").play();
    sym.getSymbol("symbolname2").play();
    If you don't want to put the code in yourself use the auto coder and you go playback/play/stage/symbolname1
    The play works the same as if it was on the main timeline so you can play from a label, time on the timeline or just leave play() to play from the beginning of the symbol.
    Hope this helps

  • Simple question about 2 simultaneous animations

    Hi all, I'm a newbie in Flash and I have to do some work to
    school.
    I have one animation that I want to run in loop, and this
    animation is the stage for another animation that is not in loop.
    So, how can I do an looping animation to be the stage/background of
    another animation.
    Thank you in advance.
    Ricardo.

    Ricardo,
    > So, how can I do an looping animation to be the
    > stage/background of another animation.
    Put the looping animation inside a movie clip symbol. Movie
    clips have
    their own timelines, and theirs are independent from the main
    timeline. In
    this way, your movie clip animation can loop while the main
    timeline does
    not.
    David Stiller
    Adobe Community Expert
    Dev blog,
    http://www.quip.net/blog/
    "Luck is the residue of good design."

  • Need help with jerky animation in Flash CC

    Hello,
    I'm creating an animation of a planet orbiting the sun and it is stuttering a little bit no matter what I try.  I'm working in Flash CC, the animation is done with a custom ease and only 2 keyframes (one at the slowest point and one at the fastest).  The end result has to be .mp4 so I am exporting as video.  But even the swf is a little jerky.  My frame rate is 29.97.  The animation path is oval in shape (using an oval guide path which the planet follows), the planet is small, maybe 6 mm across,  and the planet's speed varies as it orbits the sun (thus the custom ease).  The number of frames in the animation is 202, that's how long it takes for the planet to complete one rotation.  That anim is then looped in the movie as a graphic.
    thanks in advance for any help you can give.  

    Here would be a similar example, linear versus an ease tossed in. I made an oval similar to yours (633px by 446px) and just used it as a guide:
    Here's some videos showing the movement I get per frame. You can even see Flash Pro (CS6 in this case) exporting some odd frame choices. For example right before the 5 second mark the circle jumps 2 movements and stays in place for an extra frame (easy to see stepping through it using arrows and Quicktime player). It does this consistently even when using "None" for Quicktime compression, or using a codec.
    Here's some video examples (30FPS over 202 frames, 6.7 seconds):
    Linear Movement
    -60 to 60 ease at the opposite side
    (Source MOV (Animation codec @ 85 quality) to verify MP4 is the same)
    I imagine your results are the same. It's just too much movement for to little time to really get it to play back smooth. Double the time and you'll cut that in half and I think you'll be happier. Increasing FPS beyond 30 might not be a good idea as playback will start to become machine dependant at that resolution and it could bog even worse.

  • CS4- How to orbit?

    Hi all, I've just recently gotten into AE and had a bit of a snag . I was wondering how - if even possible - to orbit a light around an object? Ex, a comet caught in a planets orbit. My light is either in front or behind my object. I want it so, at first, it is behind my obj and than gradually travels through 3D space to wind up in front of it. Thank you, anyone/everyone, for your help.

    You should be able to use keyframes to animate the light's position around whatever object you want.
    What part of it are you having trouble with?
    Also, as someone just starting off, I highly suggest you go through all of the resources here before you try other things.

  • Flickering animated text

    Hi there,
    Animating disks (orbiting another disk) with labels inside, I observe small variations in the location of the label relative to its parent circle, hence a flickering effect.
    I used AntiAliasType.ADVANCED.
    And I replaced the original Event.ENTER_FRAME event listener by a TimerEvent.TIMER one. But still flickering.
    Any suggestion ? Thanks.
    Gil

    Hi kglad,
    I just tried embedding the font. But as I feared, the result is the same, whether using the system font or the one embedded :-(
    I suspect it has to do with the fact that the labels jump from pixel rounded coordinates, while the circles are rendered un twix coordinates. With a text created at authoring, there are options Anti-alias for legibility versus Anti-alias for animation. I expected AntiAliasType.ADVANCED to be equivalent to the latter.
    But may be seing the problem will help ? The files are there : https://app.box.com/s/y4dez4l7mswcndpuw6q2
    Gil

  • How to store large text in clob column???

    i have create a table this ..
    create table realistic_docs
    id number primary key,
    text clob
    and i want to load text data into clob column
    the data is ....
    The solar system may not be alone. Yesterday
    astronomers announced the first ever
    discovery of a planetary system like our own.
    Three planets, they say, orbit a nearby star, Upsilon
    Andromedae.
    If confirmed, their discovery suggests that the Milky
    Way galaxy is filled with planets. "This shows that
    [outside of the solar system] it is possible to have more
    than one planet going around a star. If we can prove
    this once, we can extrapolate that it may happen
    elsewhere," said Adam Contos from the
    Harvard-Smithsonian Center for Astrophysics.
    The planets orbiting Upsilon Andromedae are believed
    to be gas giants like Jupiter and are not thought to
    harbor life. According to Contos, however, the more
    planetary systems there are, the greater the chance of
    finding a planet with the elements essential for life.
    The astronomers detected the proposed planets by
    measuring the wavelengths of light from stars similar
    to our sun. The presence of a planet would be
    indicated by a tiny shift in wavelength known as a
    gravitational wobble.
    how to do this?kindly list me steps which are required...
    thanks a lot .....

    Here is the code. You will have to create a directory object first. The idea is to get the clob by reading it from a file using bfile and dbms_lob package.
    declare
         l_clob          clob;
         l_bfile          bfile;
    begin
         dbms_lob.createtemporary ( l_clob, false );
         l_bfile := bfilename ( 'MY_FILE_DIR', 'file_name.txt' );
         dbms_lob.fileopen ( l_bfile );
         dbms_lob.loadfromfile ( l_clob, l_bfile, dbms_lob.getlength ( l_bfile ) );
         dbms_lob.fileclose ( l_bfile );
         insert into table ( l_clob );
         dbms_lob.freetemporary ( l_clob );
    end;
    Pratap

  • Need some code help please

    I am trying to make a sun and planet with the planet orbiting the sun. It is all working but the complier is having a problem with the instance variable _ball in the programs.  Can anyone help me fix this, I think I'm almost there.
    public class MovingBall extends javax.swing.JPanel
        int X0 = 100, Y0 = 100;
        double X2, Y2;
        double r = 10;
        double a = 0;
        double da = .04;
        double ecc = 1;
        double TWOPI = 2 * Math.PI;
        private javax.swing.JPanel _panel;
        public MovingBall (java.awt.Color aColor, javax.swing.JPanel aPanel)
         super();
         _panel = aPanel;
         X2 = X0 + r * Math.cos(a);
         Y2 = Y0 + r * Math.sin(a);
         //this.setLocation(X2, Y2);
        public void move()
         a = a + da;
         a = a % TWOPI;
         X2 = X0 + r * ecc * Math.sin(a);
         Y2 = Y0 + r * ecc * Math.sin(a);
         //this.setLocation (X2, Y2);
        public boolean inFront()
         return (a <= Math.PI);
        public void SetCircle(int x, int y)
         X0 = x;
         Y0 = y;
         //ecc = 1.0 - (double)pct/100;
    public class MovingBallPanel extends javax.swing.JPanel implements Mover, Controller
        private final int INIT_X = 250;
        private final int INIT_Y = 200;
        private SmartEllipse _sun;
        private Sky _sky;
        private final int SUN_DIAMETER = 60;
        //private MovingBall _ball;
        private final int PLANET_DIAMETER = 35;
        private final int ORBIT_DIAMETER = 185;
        int _da = 1;
        int _ecc = 1;
        private final int INTERVAL = 100;
        private MoveTimer _timer;
        public MovingBallPanel()
         super();
         this.setBackground(java.awt.Color.BLACK);
         _sun = new SmartEllipse(java.awt.Color.YELLOW);
         _sun.setSize(SUN_DIAMETER, SUN_DIAMETER);
         _sun.setLocation(INIT_X - SUN_DIAMETER/2, INIT_Y - SUN_DIAMETER/2);
         //_ball = new MovingBall();
         //_ball.setCenter((INIT_X - PLANET_DIAMETER)/2, (INIT_Y - PLANET_DIAMETER)/2);
         //_ball.setAngleIncrement(_da);
         _sky = new Sky();
         _timer = new MoveTimer(INTERVAL, this);
         _timer.start();
        public void move()
            //_ball.move();
            this.repaint();
        public void go (boolean g)
         //if (g) _ball.setAngleIncrement(_da);
            //else _ball.setAngleIncrement(0);
        public void setSpeed(int degrees)
         _da = 2 * degrees;
         //_ball.setAngleIncrement(_da);
        public void setEccentricity(int pct)
         _ecc = pct;
         //_ball.setEccentricity(_ecc);
        public void paintComponent(java.awt.Graphics aBrush)
         super.paintComponent (aBrush);
         java.awt.Graphics2D betterBrush = (java.awt.Graphics2D) aBrush;
         _sky.paintSky(betterBrush);
         _sun.draw(betterBrush);
         _sun.fill(betterBrush);
         //_ball.fill(betterBrush);
    }I think only those classes affect the problem. Thanks.

    They all complie separately, but when I complie PlanetApp which creates the frame it has the problem. It says it can't find the symbol for ball for all the methods that I call with it, such as ball.setEccentricity(...) or _ball.fill(...).  Here is the PlanetApp class.  Thanks.
    public class PlanetApp extends javax.swing.JFrame
        ControlPanel _controlPanel;
        MovingBallPanel _movingBallPanel;
        public PlanetApp (String title)
         super(title);
         this.setSize(600,500);
         this.setBackground(java.awt.Color.BLACK);
         this.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
         _movingBallPanel = new MovingBallPanel();
         _controlPanel = new ControlPanel(_movingBallPanel);
         this.add(_movingBallPanel, java.awt.BorderLayout.CENTER);
         this.add(_controlPanel, java.awt.BorderLayout.SOUTH);
         this.setVisible(true);
        public static void main (String [] args)
         PlanetApp app =  new PlanetApp("Lab 7");
    }

  • Sphere lighting problems

    Hello, I am relatively new to Java3D and was unable to find an answer to my problem via a forum search, so I'll post it here:
    I'm working on a program that is basically a Solor System simulator in which I have textured, spherical planets orbiting about a sun as well as rotating about their own axes. The scene is lit by a point source from the sun and a small amount of ambient light.
    My problem is seen in the day/night breaks on the planets: they are very sharp, jagged and uneven, apparently just following the polygon edges, rather than being a nice, straight line. These breaks jump back and forth as the planets rotates and new polygons are lit, giving rise a a rather unrealistic sunrise.
    Increasing the number of divisions in the sphere (I'm currently experimenting with 64 or 128) helps a bit, but it requires an unreasonably large number of divisions to get an acceptable appearance. Is there some way for me to fix this problem, perhaps there's a better method of generating normals of which I am not aware? Thank you very much.

    Now with non-scrolling goodness, sorry :/
    Howdy,
    I'm working on a very similar-sounding program. One thing you may want to try is setting the "shininess"
    of the material that you put on the spheres you use on your planets. Here's a great reference:
    http://java.sun.com/developer/onlineTraining/java3d/j3d_tutorial_ch6.pdf
    Check out the sample on the top of page 28. Also, am I the only one who thinks the term "shininess" is
    funny? Shouldn't it be just "shine" or something?
    I actually came to the forum looking for a solution for this solar system problem as well. In particular,
    I created a point light at the center of a sphere (picturing it as a star or the sun). The light shines
    on other spheres in the system, but doesn't shine on the surface of the sphere that encloses it. You get
    something like a black hole that gives off light (there's no ambient lighting).
    This behavior makes sense, but I can't think of a way to have that same light color shine as the surface
    color of the (textured) sphere as well. Any suggestions?

  • [SOLVED] tv_grab_nl_py works with python 2.6.5, fails on 3.1.2

    Hi All,
    I have updated my mediacenter. Now tv_grab_nl_py does not work anymore:
    [cedric@tv ~]$ tv_grab_nl_py --output ~/listings.xml --fast
    File "/usr/bin/tv_grab_nl_py", line 341
    print 'tv_grab_nl_py: A grabber that grabs tvguide data from tvgids.nl\n'
    ^
    SyntaxError: invalid syntax
    [cedric@tv ~]$
    the version of python on the mediacenter (running arch linux):
    [cedric@tv ~]$ python
    Python 3.1.2 (r312:79147, Oct 4 2010, 12:35:40)
    [GCC 4.5.1] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    I have copied the file to my laptop, there it looks like it's working:
    ./tv_grab_nl_py --output ~/listings.xml --fast
    Config file /home/cedric/.xmltv/tv_grab_nl_py.conf not found.
    Re-run me with the --configure flag.
    cedric@laptop:~$
    the version of python on my laptop (running arch linux):
    cedric@laptop:~$ python
    Python 2.6.5 (r265:79063, Apr 1 2010, 05:22:20)
    [GCC 4.4.3 20100316 (prerelease)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    the script I'm trying to run:
    [cedric@tv ~]$ cat tv_grab_nl_py
    #!/usr/bin/env python
    # $LastChangedDate: 2009-11-14 10:06:41 +0100 (Sat, 14 Nov 2009) $
    # $Rev: 104 $
    # $Author: pauldebruin $
    SYNOPSIS
    tv_grab_nl_py is a python script that trawls tvgids.nl for TV
    programming information and outputs it in XMLTV-formatted output (see
    http://membled.com/work/apps/xmltv). Users of MythTV
    (http://www.mythtv.org) will appreciate the output generated by this
    grabber, because it fills the category fields, i.e. colors in the EPG,
    and has logos for most channels automagically available. Check the
    website below for screenshots. The newest version of this script can be
    found here:
    http://code.google.com/p/tvgrabnlpy/
    USAGE
    Check the web site above and/or run script with --help and start from there
    HISTORY
    tv_grab_nl_py used to be called tv_grab_nl_pdb, first released on
    2003/07/09. The name change was necessary because more and more people
    are actively contributing to this script and I always disliked using my
    initials (I was just too lazy to change it). At the same time I switched
    from using CVS to SVN and as a result the version numbering scheme has
    changed. The lastest official release of tv_grab_nl_pdb is 0.48. The
    first official release of tv_grab_nl_py is 6.
    QUESTIONS
    Questions (and patches) are welcome at: paul at pwdebruin dot net.
    IMPORTANT NOTES
    If you were using tv_grab_nl from the XMLTV bundle then enable the
    compat flag or use the --compat command-line option. Otherwise, the
    xmltvid's are wrong and you will not see any new data in MythTV.
    CONTRIBUTORS
    Main author: Paul de Bruin (paul at pwdebruin dot net)
    Michel van der Laan made available his extensive collection of
    high-quality logos that is used by this script.
    Michael Heus has taken the effort to further enhance this script so that
    it now also includes:
    - Credit info: directors, actors, presenters and writers
    - removal of programs that are actually just groupings/broadcasters
    (e.g. "KETNET", "Wild Friday", "Z@pp")
    - Star-rating for programs tipped by tvgids.nl
    - Black&White, Stereo and URL info
    - Better detection of Movies
    - and much, much more...
    Several other people have provided feedback and patches (these are the
    people I could find in my email archive, if you are missing from this
    list let me know):
    Huub Bouma, Roy van der Kuil, Remco Rotteveel, Mark Wormgoor, Dennis van
    Onselen, Hugo van der Kooij, Han Holl, Ian Mcdonald, Udo van den Heuvel.
    # Modules we need
    import re, urllib2, getopt, sys
    import time, random
    import htmlentitydefs, os, os.path, pickle
    from string import replace, split, strip
    from threading import Thread
    from xml.sax import saxutils
    # Extra check for the datetime module
    try:
    import datetime
    except:
    sys.stderr.write('This script needs the datetime module that was introduced in Python version 2.3.\n')
    sys.stderr.write('You are running:\n')
    sys.stderr.write('%s\n' % sys.version)
    sys.exit(1)
    # XXX: fix to prevent crashes in Snow Leopard [Robert Klep]
    if sys.platform == 'darwin' and sys.version_info[:3] == (2, 6, 1):
    try:
    urllib2.urlopen('http://localhost.localdomain')
    except:
    pass
    # do extra debug stuff
    debug = 1
    try:
    import redirect
    except:
    debug = 0
    pass
    # globals
    # compile only one time
    r_entity = re.compile(r'&(#x[0-9A-Fa-f]+|#[0-9]+|[A-Za-z]+);')
    tvgids = 'http://www.tvgids.nl/'
    uitgebreid_zoeken = tvgids + 'zoeken/'
    # how many seconds to wait before we timeout on a
    # url fetch, 10 seconds seems reasonable
    global_timeout = 10
    # Wait a random number of seconds between each page fetch.
    # We want to be nice and not hammer tvgids.nl (these are the
    # friendly people that provide our data...).
    # Also, it appears tvgids.nl throttles its output.
    # So there, there is not point in lowering these numbers, if you
    # are in a hurry, use the (default) fast mode.
    nice_time = [1, 2]
    # Maximum length in minutes of gaps/overlaps between programs to correct
    max_overlap = 10
    # Strategy to use for correcting overlapping prgramming:
    # 'average' = use average of stop and start of next program
    # 'stop' = keep stop time of current program and adjust start time of next program accordingly
    # 'start' = keep start time of next program and adjust stop of current program accordingly
    # 'none' = do not use any strategy and see what happens
    overlap_strategy = 'average'
    # Experimental strategy for clumping overlapping programming, all programs that overlap more
    # than max_overlap minutes, but less than the length of the shortest program are clumped
    # together. Highly experimental and disabled for now.
    do_clump = False
    # Create a category translation dictionary
    # Look in mythtv/themes/blue/ui.xml for all category names
    # The keys are the categories used by tvgids.nl (lowercase please)
    cattrans = { 'amusement' : 'Talk',
    'animatie' : 'Animated',
    'comedy' : 'Comedy',
    'documentaire' : 'Documentary',
    'educatief' : 'Educational',
    'erotiek' : 'Adult',
    'film' : 'Film',
    'muziek' : 'Art/Music',
    'informatief' : 'Educational',
    'jeugd' : 'Children',
    'kunst/cultuur' : 'Arts/Culture',
    'misdaad' : 'Crime/Mystery',
    'muziek' : 'Music',
    'natuur' : 'Science/Nature',
    'nieuws/actualiteiten' : 'News',
    'overige' : 'Unknown',
    'religieus' : 'Religion',
    'serie/soap' : 'Drama',
    'sport' : 'Sports',
    'theater' : 'Arts/Culture',
    'wetenschap' : 'Science/Nature'}
    # Create a role translation dictionary for the xmltv credits part
    # The keys are the roles used by tvgids.nl (lowercase please)
    roletrans = {'regie' : 'director',
    'acteurs' : 'actor',
    'presentatie' : 'presenter',
    'scenario' : 'writer'}
    # We have two sources of logos, the first provides the nice ones, but is not
    # complete. We use the tvgids logos to fill the missing bits.
    logo_provider = [ 'http://visualisation.tudelft.nl/~paul/logos/gif/64x64/',
    'http://static.tvgids.nl/gfx/zenders/' ]
    logo_names = {
    1 : [0, 'ned1'],
    2 : [0, 'ned2'],
    3 : [0, 'ned3'],
    4 : [0, 'rtl4'],
    5 : [0, 'een'],
    6 : [0, 'canvas_color'],
    7 : [0, 'bbc1'],
    8 : [0, 'bbc2'],
    9 : [0,'ard'],
    10 : [0,'zdf'],
    11 : [1, 'rtl'],
    12 : [0, 'wdr'],
    13 : [1, 'ndr'],
    14 : [1, 'srsudwest'],
    15 : [1, 'rtbf1'],
    16 : [1, 'rtbf2'],
    17 : [0, 'tv5'],
    18 : [0, 'ngc'],
    19 : [1, 'eurosport'],
    20 : [1, 'tcm'],
    21 : [1, 'cartoonnetwork'],
    24 : [0, 'canal+red'],
    25 : [0, 'mtv-color'],
    26 : [0, 'cnn'],
    27 : [0, 'rai'],
    28 : [1, 'sat1'],
    29 : [0, 'discover-spacey'],
    31 : [0, 'rtl5'],
    32 : [1, 'trt'],
    34 : [0, 'veronica'],
    35 : [0, 'tmf'],
    36 : [0, 'sbs6'],
    37 : [0, 'net5'],
    38 : [1, 'arte'],
    39 : [0, 'canal+blue'],
    40 : [0, 'at5'],
    46 : [0, 'rtl7'],
    49 : [1, 'vtm'],
    50 : [1, '3sat'],
    58 : [1, 'pro7'],
    59 : [1, 'kanaal2'],
    60 : [1, 'vt4'],
    65 : [0, 'animal-planet'],
    73 : [1, 'mezzo'],
    86 : [0, 'bbc-world'],
    87 : [1, 'tve'],
    89 : [1, 'nick'],
    90 : [1, 'bvn'],
    91 : [0, 'comedy_central'],
    92 : [0, 'rtl8'],
    99 : [1, 'sport1_1'],
    100 : [0, 'rtvu'],
    101 : [0, 'tvwest'],
    102 : [0, 'tvrijnmond'],
    103 : [1, 'tvnoordholland'],
    104 : [1, 'bbcprime'],
    105 : [1, 'spiceplatinum'],
    107 : [0, 'canal+yellow'],
    108 : [0, 'tvnoord'],
    109 : [0, 'omropfryslan'],
    114 : [0, 'omroepbrabant']}
    # A selection of user agents we will impersonate, in an attempt to be less
    # conspicuous to the tvgids.nl police.
    user_agents = [ 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',
    'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9',
    'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)',
    'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7',
    'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)',
    'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.9) Gecko/20071105 Firefox/2.0.0.9',
    'Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9',
    'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.8) Gecko/20071022 Ubuntu/7.10 (gutsy) Firefox/2.0.0.8'
    # Work in progress, the idea is to cache program categories and
    # descriptions to eliminate a lot of page fetches from tvgids.nl
    # for programs that do not have interesting/changing descriptions
    class ProgramCache:
    A cache to hold program name and category info.
    TVgids stores the detail for each program on a separate URL with an
    (apparently unique) ID. This cache stores the fetched info with the ID.
    New fetches will use the cached info instead of doing an (expensive)
    page fetch.
    def __init__(self, filename=None):
    Create a new ProgramCache object, optionally from file
    # where we store our info
    self.filename = filename
    if filename == None:
    self.pdict = {}
    else:
    if os.path.isfile(filename):
    self.load(filename)
    else:
    self.pdict = {}
    def load(self, filename):
    Loads a pickled cache dict from file
    try:
    self.pdict = pickle.load(open(filename,'r'))
    except:
    sys.stderr.write('Error loading cache file: %s (possibly corrupt)' % filename)
    sys.exit(2)
    def dump(self, filename):
    Dumps a pickled cache, and makes sure it is valid
    if os.access(filename, os.F_OK):
    try:
    os.remove(filename)
    except:
    sys.stderr.write('Cannot remove %s, check permissions' % filename)
    pickle.dump(self.pdict, open(filename+'.tmp', 'w'))
    os.rename(filename+'.tmp', filename)
    def query(self, program_id):
    Updates/gets/whatever.
    try:
    return self.pdict[program_id]
    except:
    return None
    def add(self, program):
    Adds a program
    self.pdict[program['ID']] = program
    def clear(self):
    Clears the cache (i.e. empties it)
    self.pdict = {}
    def clean(self):
    Removes all cached programming before today.
    Also removes erroneously cached programming.
    now = time.localtime()
    dnow = datetime.datetime(now[0],now[1],now[2])
    for key in self.pdict.keys():
    try:
    if self.pdict[key]['stop-time'] < dnow or self.pdict[key]['name'].lower() == 'onbekend':
    del self.pdict[key]
    except:
    pass
    def usage():
    print 'tv_grab_nl_py: A grabber that grabs tvguide data from tvgids.nl\n'
    print 'and stores it in XMLTV-combatible format.\n'
    print 'Usage:'
    print '--help, -h = print this info'
    print '--configure = create configfile (overwrites existing file)'
    print '--config-file = name of the configuration file (default = ~/.xmltv/tv_grab_py.conf'
    print '--capabilities = xmltv required option'
    print '--desc-length = maximum allowed length of programme descriptions in bytes.'
    print '--description = prints a short description of the grabber'
    print '--output = file where to put the output'
    print '--days = # number of days to grab'
    print '--preferredmethod = returns the preferred method to be called'
    print '--fast = do not grab descriptions of programming'
    print '--slow = grab descriptions of programming'
    print '--quiet = suppress all output'
    print '--compat = append tvgids.nl to the xmltv id (use this if you were using tv_grab_nl)'
    print '--logos 0/1 = insert urls to channel icons (mythfilldatabase will then use these)'
    print '--nocattrans = do not translate the grabbed genres into MythTV-genres'
    print '--cache = cache descriptions and use the file to store'
    print '--clean_cache = clean the cache file before fetching'
    print '--clear_cache = empties the cache file before fetching data'
    print '--slowdays = grab slowdays initial days and the rest in fast mode'
    print '--max_overlap = maximum length of overlap between programming to correct [minutes]'
    print '--overlap_strategy = what strategy to use to correct overlaps (check top of source code)'
    def filter_line_identity(m, defs=htmlentitydefs.entitydefs):
    # callback: translate one entity to its ISO Latin value
    k = m.group(1)
    if k.startswith("#") and k[1:] in xrange(256):
    return chr(int(k[1:]))
    try:
    return defs[k]
    except KeyError:
    return m.group(0) # use as is
    def filter_line(s):
    Removes unwanted stuff in strings (adapted from tv_grab_be)
    # do the latin1 stuff
    s = r_entity.sub(filter_line_identity, s)
    s = replace(s,'&nbsp;',' ')
    # Ik vermoed dat de volgende drie regels overbodig zijn, maar ze doen
    # niet veel kwaad -- Han Holl
    s = replace(s,'\r',' ')
    x = re.compile('(<.*?>)') # Udo
    s = x.sub('', s) #Udo
    s = replace(s, '~Q', "'")
    s = replace(s, '~R', "'")
    # Hmm, not sure if I understand this. Without it, mythfilldatabase barfs
    # on program names like "Steinbrecher &..."
    # We most create valid XML -- Han Holl
    s = saxutils.escape(s)
    return s
    def calc_timezone(t):
    Takes a time from tvgids.nl and formats it with all the required
    timezone conversions.
    in: '20050429075000'
    out:'20050429075000 (CET|CEST)'
    Until I have figured out how to correctly do timezoning in python this method
    will bork if you are not in a zone that has the same DST rules as 'Europe/Amsterdam'.
    year = int(t[0:4])
    month = int(t[4:6])
    day = int(t[6:8])
    hour = int(t[8:10])
    minute = int(t[10:12])
    #td = {'CET': '+0100', 'CEST': '+0200'}
    #td = {'CET': '+0100', 'CEST': '+0200', 'W. Europe Standard Time' : '+0100', 'West-Europa (standaardtijd)' : '+0100'}
    td = {0 : '+0100', 1 : '+0200'}
    pt = time.mktime((year,month,day,hour,minute,0,0,0,-1))
    timezone=''
    try:
    #timezone = time.tzname[(time.localtime(pt))[-1]]
    timezone = (time.localtime(pt))[-1]
    except:
    sys.stderr.write('Cannot convert time to timezone')
    return t+' %s' % td[timezone]
    def format_timezone(td):
    Given a datetime object, returns a string in XMLTV format
    tstr = td.strftime('%Y%m%d%H%M00')
    return calc_timezone(tstr)
    def get_page_internal(url, quiet=0):
    Retrieves the url and returns a string with the contents.
    Optionally, returns None if processing takes longer than
    the specified number of timeout seconds.
    txtdata = None
    txtheaders = {'Keep-Alive' : '300',
    'User-Agent' : user_agents[random.randint(0, len(user_agents)-1)] }
    try:
    #fp = urllib2.urlopen(url)
    rurl = urllib2.Request(url, txtdata, txtheaders)
    fp = urllib2.urlopen(rurl)
    lines = fp.readlines()
    page = "".join(lines)
    return page
    except:
    if not quiet:
    sys.stderr.write('Cannot open url: %s\n' % url)
    return None
    class FetchURL(Thread):
    A simple thread to fetch a url with a timeout
    def __init__ (self, url, quiet=0):
    Thread.__init__(self)
    self.quiet = quiet
    self.url = url
    self.result = None
    def run(self):
    self.result = get_page_internal(self.url, self.quiet)
    def get_page(url, quiet=0):
    Wrapper around get_page_internal to catch the
    timeout exception
    try:
    fu = FetchURL(url, quiet)
    fu.start()
    fu.join(global_timeout)
    return fu.result
    except:
    if not quiet:
    sys.stderr.write('get_page timed out on (>%s s): %s\n' % (global_timeout, url))
    return None
    def get_channels(file, quiet=0):
    Get a list of all available channels and store these
    in a file.
    # store channels in a dict
    channels = {}
    # tvgids stores several instances of channels, we want to
    # find all the possibile channels
    channel_get = re.compile('<optgroup label=.*?>(.*?)</optgroup>', re.DOTALL)
    # this is how we will find a (number, channel) instance
    channel_re = re.compile('<option value="([0-9]+)" >(.*?)</option>', re.DOTALL)
    # this is where we will try to find our channel list
    total = get_page(uitgebreid_zoeken, quiet)
    if total == None:
    return
    # get a list of match objects of all the <select blah station>
    stations = channel_get.finditer(total)
    # and create a dict of number, channel_name pairs
    # we do this this way because several instances of the
    # channel list are stored in the url and not all of the
    # instances have all the channels, this way we get them all.
    for station in stations:
    m = channel_re.finditer(station.group(0))
    for p in m:
    try:
    a = int(p.group(1))
    b = filter_line(p.group(2))
    channels[a] = b
    except:
    sys.stderr.write('Oops, [%s,%s] does not look like a valid channel, skipping it...\n' % (p.group(1),p.group(2)))
    # sort on channel number (arbitrary but who cares)
    keys = channels.keys()
    keys.sort()
    # and create a file with the channels
    f = open(file,'w')
    for k in keys:
    f.write("%s %s\n" % (k, channels[k]))
    f.close()
    def get_channel_all_days(channel, days, quiet=0):
    Get all available days of programming for channel number
    The output is a list of programming in order where each row
    contains a dictionary with program information.
    now = datetime.datetime.now()
    programs = []
    # Tvgids shows programs per channel per day, so we loop over the number of days
    # we are required to grab
    for offset in range(0, days):
    channel_url = 'http://www.tvgids.nl/zoeken/?d=%i&z=%s' % (offset, channel)
    # For historic purposes, the old style url that gave us a full week in advance:
    # channel_url = 'http://www.tvgids.nl/zoeken/?trefwoord=Titel+of+trefwoord&interval=0&timeslot='+\
    # '&station=%s&periode=%i&genre=&order=0' % (channel,days-1)
    # Sniff, we miss you...
    if offset > 0:
    time.sleep(random.randint(nice_time[0], nice_time[1]))
    # get the raw programming for the day
    total = get_page(channel_url, quiet)
    if total == None:
    return programs
    # Setup a number of regexps
    # checktitle will match the title row in H2 tags of the daily overview page, e.g.
    # <h2>zondag 19 oktober 2008</h2>
    checktitle = re.compile('<h2>(.*?)</h2>',re.DOTALL)
    # getrow will locate each row with program details
    getrow = re.compile('<a href="/programma/(.*?)</a>',re.DOTALL)
    # parserow matches the required program info, with groups:
    # 1 = program ID
    # 2 = broadcast times
    # 3 = program name
    parserow = re.compile('(.*?)/.*<span class="time">(.*?)</span>.*<span class="title">(.*?)</span>', re.DOTALL)
    # normal begin and end times
    times = re.compile('([0-9]+:[0-9]+) - ([0-9]+:[0-9]+)?')
    # Get the day of month listed on the page as well as the expected date we are grabbing and compare these.
    # If these do not match, we skip parsing the programs on the page and issue a warning.
    #dayno = int(checkday.search(total).group(1))
    title = checktitle.search(total)
    if title:
    title = title.group(1)
    dayno = title.split()[1]
    else:
    sys.stderr.write('\nOops, there was a problem with page %s. Skipping it...\n' % (channel_url))
    continue
    expected = now + datetime.timedelta(days=offset)
    if (not dayno.isdigit() or int(dayno) != expected.day):
    sys.stderr.write('\nOops, did not expect page %s to list programs for "%s", skipping it...\n' % (channel_url,title))
    continue
    # and find relevant programming info
    allrows = getrow.finditer(total)
    for r in allrows:
    detail = parserow.search(r.group(1))
    if detail != None:
    # default times
    start_time = None
    stop_time = None
    # parse for begin and end times
    t = times.search(detail.group(2))
    if t != None:
    start_time = t.group(1)
    stop_time = t.group(2)
    program_url = 'http://www.tvgids.nl/programma/' + detail.group(1) + '/'
    program_name = detail.group(3)
    # store time, name and detail url in a dictionary
    tdict = {}
    tdict['start'] = start_time
    tdict['stop'] = stop_time
    tdict['name'] = program_name
    if tdict['name'] == '':
    tdict['name'] = 'onbekend'
    tdict['url'] = program_url
    tdict['ID'] = detail.group(1)
    tdict['offset'] = offset
    #Add star rating if tipped by tvgids.nl
    tdict['star-rating'] = '';
    if r.group(1).find('Tip') != -1:
    tdict['star-rating'] = '4/5'
    # and append the program to the list of programs
    programs.append(tdict)
    # done
    return programs
    def make_daytime(time_string, offset=0, cutoff='00:00', stoptime=False):
    Given a string '11:35' and an offset from today,
    return a datetime object. The cuttoff specifies the point where the
    new day starts.
    Examples:
    In [2]:make_daytime('11:34',0)
    Out[2]:datetime.datetime(2006, 8, 3, 11, 34)
    In [3]:make_daytime('11:34',1)
    Out[3]:datetime.datetime(2006, 8, 4, 11, 34)
    In [7]:make_daytime('11:34',0,'12:00')
    Out[7]:datetime.datetime(2006, 8, 4, 11, 34)
    In [4]:make_daytime('11:34',0,'11:34',False)
    Out[4]:datetime.datetime(2006, 8, 3, 11, 34)
    In [5]:make_daytime('11:34',0,'11:34',True)
    Out[5]:datetime.datetime(2006, 8, 4, 11, 34)
    h,m = [int(x) for x in time_string.split(':')];
    hm = int(time_string.replace(':',''))
    chm = int(cutoff.replace(':',''))
    # check for the cutoff, if the time is before the cutoff then
    # add a day
    extra_day = 0
    if (hm < chm) or (stoptime==True and hm == chm):
    extra_day = 1
    # and create a datetime object, DST is handled at a later point
    pt = time.localtime()
    dt = datetime.datetime(pt[0],pt[1],pt[2],h,m)
    dt = dt + datetime.timedelta(offset+extra_day)
    return dt
    def correct_times(programs, quiet=0):
    Parse a list of programs as generated by get_channel_all_days() and
    convert begin and end times to xmltv compatible times in datetime objects.
    if programs == []:
    return programs
    # the start time of programming for this day, times *before* this time are
    # assumed to be on the next day
    day_start_time = '06:00'
    # initialise using the start time of the first program on this day
    if programs[0]['start'] != None:
    day_start_time = programs[0]['start']
    for program in programs:
    if program['start'] == program['stop']:
    program['stop'] = None
    # convert the times
    if program['start'] != None:
    program['start-time'] = make_daytime(program['start'], program['offset'], day_start_time)
    else:
    program['start-time'] = None
    if program['stop'] != None:
    program['stop-time'] = make_daytime(program['stop'], program['offset'], day_start_time, stoptime=True)
    # extra correction, needed because the stop time of a program may be on the next day, after the
    # day cutoff. For example:
    # 06:00 - 23:40 Long Program
    # 23:40 - 00:10 Lala
    # 00:10 - 08:00 Wawa
    # This puts the end date of Wawa on the current, instead of the next day. There is no way to detect
    # this with a single cutoff in make_daytime. Therefore, check if there is a day difference between
    # start and stop dates and correct if necessary.
    if program['start-time'] != None:
    # make two dates
    start = program['start-time']
    stop = program['stop-time']
    single_day = datetime.timedelta(1)
    startdate = datetime.datetime(start.year,start.month,start.day)
    stopdate = datetime.datetime(stop.year,stop.month,stop.day)
    if startdate - stopdate == single_day:
    program['stop-time'] = program['stop-time'] + single_day
    else:
    program['stop-time'] = None
    def parse_programs(programs, offset=0, quiet=0):
    Parse a list of programs as generated by get_channel_all_days() and
    convert begin and end times to xmltv compatible times.
    # good programs
    good_programs = []
    # calculate absolute start and stop times
    correct_times(programs, quiet)
    # next, correct for missing end time and copy over all good programming to the
    # good_programs list
    for i in range(len(programs)):
    # Try to correct missing end time by taking start time from next program on schedule
    if (programs[i]['stop-time'] == None and i < len(programs)-1):
    if not quiet:
    sys.stderr.write('Oops, "%s" has no end time. Trying to fix...\n' % programs[i]['name'])
    programs[i]['stop-time'] = programs[i+1]['start-time']
    # The common case: start and end times are present and are not
    # equal to each other (yes, this can happen)
    if programs[i]['start-time'] != None and \
    programs[i]['stop-time'] != None and \
    programs[i]['start-time'] != programs[i]['stop-time']:
    good_programs.append(programs[i])
    # Han Holl: try to exclude programs that stop before they begin
    for i in range(len(good_programs)-1,-1,-1):
    if good_programs[i]['stop-time'] <= good_programs[i]['start-time']:
    if not quiet:
    sys.stderr.write('Deleting invalid stop/start time: %s\n' % good_programs[i]['name'])
    del good_programs[i]
    # Try to exclude programs that only identify a group or broadcaster and have overlapping start/end times with
    # the actual programs
    for i in range(len(good_programs)-2,-1,-1):
    if good_programs[i]['start-time'] <= good_programs[i+1]['start-time'] and \
    good_programs[i]['stop-time'] >= good_programs[i+1]['stop-time']:
    if not quiet:
    sys.stderr.write('Deleting grouping/broadcaster: %s\n' % good_programs[i]['name'])
    del good_programs[i]
    for i in range(len(good_programs)-1):
    # PdB: Fix tvgids start-before-end x minute interval overlap. An overlap (positive or
    # negative) is halved and each half is assigned to the adjacent programmes. The maximum
    # overlap length between programming is set by the global variable 'max_overlap' and is
    # default 10 minutes. Examples:
    # Positive overlap (= overlap in programming):
    # 10:55 - 12:00 Lala
    # 11:55 - 12:20 Wawa
    # is transformed in:
    # 10:55 - 11.57 Lala
    # 11:57 - 12:20 Wawa
    # Negative overlap (= gap in programming):
    # 10:55 - 11:50 Lala
    # 12:00 - 12:20 Wawa
    # is transformed in:
    # 10:55 - 11.55 Lala
    # 11:55 - 12:20 Wawa
    stop = good_programs[i]['stop-time']
    start = good_programs[i+1]['start-time']
    dt = stop-start
    avg = start + dt / 2
    overlap = 24*60*60*dt.days + dt.seconds
    # check for the size of the overlap
    if 0 < abs(overlap) <= max_overlap*60:
    if not quiet:
    if overlap > 0:
    sys.stderr.write('"%s" and "%s" overlap %s minutes. Adjusting times.\n' % \
    (good_programs[i]['name'],good_programs[i+1]['name'],overlap / 60))
    else:
    sys.stderr.write('"%s" and "%s" have gap of %s minutes. Adjusting times.\n' % \
    (good_programs[i]['name'],good_programs[i+1]['name'],abs(overlap) / 60))
    # stop-time of previous program wins
    if overlap_strategy == 'stop':
    good_programs[i+1]['start-time'] = good_programs[i]['stop-time']
    # start-time of next program wins
    elif overlap_strategy == 'start':
    good_programs[i]['stop-time'] = good_programs[i+1]['start-time']
    # average the difference
    elif overlap_strategy == 'average':
    good_programs[i]['stop-time'] = avg
    good_programs[i+1]['start-time'] = avg
    # leave as is
    else:
    pass
    # Experimental strategy to make sure programming does not disappear. All programs that overlap more
    # than the maximum overlap length, but less than the shortest length of the two programs are
    # clumped.
    if do_clump:
    for i in range(len(good_programs)-1):
    stop = good_programs[i]['stop-time']
    start = good_programs[i+1]['start-time']
    dt = stop-start
    overlap = 24*60*60*dt.days + dt.seconds
    length0 = good_programs[i]['stop-time'] - good_programs[i]['start-time']
    length1 = good_programs[i+1]['stop-time'] - good_programs[i+1]['start-time']
    l0 = length0.days*24*60*60 + length0.seconds
    l1 = length1.days*24*60*60 + length0.seconds
    if abs(overlap) >= max_overlap*60 <= min(l0,l1)*60 and \
    not good_programs[i].has_key('clumpidx') and \
    not good_programs[i+1].has_key('clumpidx'):
    good_programs[i]['clumpidx'] = '0/2'
    good_programs[i+1]['clumpidx'] = '1/2'
    good_programs[i]['stop-time'] = good_programs[i+1]['stop-time']
    good_programs[i+1]['start-time'] = good_programs[i]['start-time']
    # done, nothing to see here, please move on
    return good_programs
    def get_descriptions(programs, program_cache=None, nocattrans=0, quiet=0, slowdays=0):
    Given a list of programs, from get_channel, retrieve program information
    # This regexp tries to find details such as Genre, Acteurs, Jaar van Premiere etc.
    detail = re.compile('<li>.*?<strong>(.*?):</strong>.*?<br />(.*?)</li>', re.DOTALL)
    # These regexps find the description area, the program type and descriptive text
    description = re.compile('<div class="description">.*?<div class="text"(.*?)<div class="clearer"></div>',re.DOTALL)
    descrtype = re.compile('<div class="type">(.*?)</div>',re.DOTALL)
    descrline = re.compile('<p>(.*?)</p>',re.DOTALL)
    # randomize detail requests
    nprograms = len(programs)
    fetch_order = range(0,nprograms)
    random.shuffle(fetch_order)
    counter = 0
    for i in fetch_order:
    counter += 1
    if programs[i]['offset'] >= slowdays:
    continue
    if not quiet:
    sys.stderr.write('\n(%3.0f%%) %s: %s ' % (100*float(counter)/float(nprograms), i, programs[i]['name']))
    # check the cache for this program's ID
    cached_program = program_cache.query(programs[i]['ID'])
    if (cached_program != None):
    if not quiet:
    sys.stderr.write(' [cached]')
    # copy the cached information, except the start/end times, rating and clumping,
    # these may have changed.
    tstart = programs[i]['start-time']
    tstop = programs[i]['stop-time']
    rating = programs[i]['star-rating']
    try:
    clump = programs[i]['clumpidx']
    except:
    clump = False
    programs[i] = cached_program
    programs[i]['start-time'] = tstart
    programs[i]['stop-time'] = tstop
    programs[i]['star-rating'] = rating
    if clump:
    programs[i]['clumpidx'] = clump
    continue
    else:
    # be nice to tvgids.nl
    time.sleep(random.randint(nice_time[0], nice_time[1]))
    # get the details page, and get all the detail nodes
    descriptions = ()
    details = ()
    try:
    if not quiet:
    sys.stderr.write(' [normal fetch]')
    total = get_page(programs[i]['url'])
    details = detail.finditer(total)
    descrspan = description.search(total);
    descriptions = descrline.finditer(descrspan.group(1))
    except:
    # if we cannot find the description page,
    # go to next in the loop
    if not quiet:
    sys.stderr.write(' [fetch failed or timed out]')
    continue
    # define containers
    programs[i]['credits'] = {}
    programs[i]['video'] = {}
    # now parse the details
    line_nr = 1;
    # First, we try to find the program type in the description section.
    # Note that this is not the same as the generic genres (these are searched later on), but a more descriptive one like "Culinair programma"
    # If present, we store this as first part of the regular description:
    programs[i]['detail1'] = descrtype.search(descrspan.group(1)).group(1).capitalize()
    if programs[i]['detail1'] != '':
    line_nr = line_nr + 1
    # Secondly, we add one or more lines of the program description that are present.
    for descript in descriptions:
    d_str = 'detail' + str(line_nr)
    programs[i][d_str] = descript.group(1)
    # Remove sponsored link from description if present.
    sponsor_pos = programs[i][d_str].rfind('<i>Gesponsorde link:</i>')
    if sponsor_pos > 0:
    programs[i][d_str] = programs[i][d_str][0:sponsor_pos]
    programs[i][d_str] = filter_line(programs[i][d_str]).strip()
    line_nr = line_nr + 1
    # Finally, we check out all program details. These are generically denoted as:
    # <li><strong>(TYPE):</strong><br />(CONTENT)</li>
    # Some examples:
    # <li><strong>Genre:</strong><br />16 oktober 2008</li>
    # <li><strong>Genre:</strong><br />Amusement</li>
    for d in details:
    type = d.group(1).strip().lower()
    content_asis = d.group(2).strip()
    content = filter_line(content_asis).strip()
    if content == '':
    continue
    elif type == 'genre':
    # Fix detection of movies based on description as tvgids.nl sometimes
    # categorises a movie as e.g. "Komedie", "Misdaadkomedie", "Detectivefilm".
    genre = content;
    if (programs[i]['detail1'].lower().find('film') != -1 \
    or programs[i]['detail1'].lower().find('komedie') != -1)\
    and programs[i]['detail1'].lower().find('tekenfilm') == -1 \
    and programs[i]['detail1'].lower().find('animatiekomedie') == -1 \
    and programs[i]['detail1'].lower().find('filmpje') == -1:
    genre = 'film'
    if nocattrans:
    programs[i]['genre'] = genre.title()
    else:
    try:
    programs[i]['genre'] = cattrans[genre.lower()]
    except:
    programs[i]['genre'] = ''
    # Parse persons and their roles for credit info
    elif roletrans.has_key(type):
    programs[i]['credits'][roletrans[type]] = []
    persons = content_asis.split(',');
    for name in persons:
    if name.find(':') != -1:
    name = name.split(':')[1]
    if name.find('-') != -1:
    name = name.split('-')[0]
    if name.find('e.a') != -1:
    name = name.split('e.a')[0]
    programs[i]['credits'][roletrans[type]].append(filter_line(name.strip()))
    elif type == 'bijzonderheden':
    if content.find('Breedbeeld') != -1:
    programs[i]['video']['breedbeeld'] = 1
    if content.find('Zwart') != -1:
    programs[i]['video']['blackwhite'] = 1
    if content.find('Teletekst') != -1:
    programs[i]['teletekst'] = 1
    if content.find('Stereo') != -1:
    programs[i]['stereo'] = 1
    elif type == 'url':
    programs[i]['infourl'] = content
    else:
    # In unmatched cases, we still add the parsed type and content to the program details.
    # Some of these will lead to xmltv output during the xmlefy_programs step
    programs[i][type] = content
    # do not cache programming that is unknown at the time
    # of fetching.
    if programs[i]['name'].lower() != 'onbekend':
    program_cache.add(programs[i])
    if not quiet:
    sys.stderr.write('\ndone...\n\n')
    # done
    def title_split(program):
    Some channels have the annoying habit of adding the subtitle to the title of a program.
    This function attempts to fix this, by splitting the name at a ': '.
    if (program.has_key('titel aflevering') and program['titel aflevering'] != '') \
    or (program.has_key('genre') and program['genre'].lower() in ['movies','film']):
    return
    colonpos = program['name'].rfind(': ')
    if colonpos > 0:
    program['titel aflevering'] = program['name'][colonpos+1:len(program['name'])].strip()
    program['name'] = program['name'][0:colonpos].strip()
    def xmlefy_programs(programs, channel, desc_len, compat=0, nocattrans=0):
    Given a list of programming (from get_channels())
    returns a string with the xml equivalent
    output = []
    for program in programs:
    clumpidx = ''
    try:
    if program.has_key('clumpidx'):
    clumpidx = 'clumpidx="'+program['clumpidx']+'"'
    except:
    print program
    output.append(' <programme start="%s" stop="%s" channel="%s%s" %s> \n' % \
    (format_timezone(program['start-time']), format_timezone(program['stop-time']),\
    channel, compat and '.tvgids.nl' or '', clumpidx))
    output.append(' <title lang="nl">%s</title>\n' % filter_line(program['name']))
    if program.has_key('titel aflevering') and program['titel aflevering'] != '':
    output.append(' <sub-title lang="nl">%s</sub-title>\n' % filter_line(program['titel aflevering']))
    desc = []
    for detail_row in ['detail1','detail2','detail3']:
    if program.has_key(detail_row) and not re.search('[Gg]een detailgegevens be(?:kend|schikbaar)', program[detail_row]):
    desc.append('%s ' % program[detail_row])
    if desc != []:
    # join and remove newlines from descriptions
    desc_line = "".join(desc).strip()
    desc_line.replace('\n', ' ')
    if len(desc_line) > desc_len:
    spacepos = desc_line[0:desc_len-3].rfind(' ')
    desc_line = desc_line[0:spacepos] + '...'
    output.append(' <desc lang="nl">%s</desc>\n' % desc_line)
    # Process credits section if present.
    # This will generate director/actor/presenter info.
    if program.has_key('credits') and program['credits'] != {}:
    output.append(' <credits>\n')
    for role in program['credits']:
    for name in program['credits'][role]:
    if name != '':
    output.append(' <%s>%s</%s>\n' % (role, name, role))
    output.append(' </credits>\n')
    if program.has_key('jaar van premiere') and program['jaar van premiere'] != '':
    output.append(' <date>%s</date>\n' % program['jaar van premiere'])
    if program.has_key('genre') and program['genre'] != '':
    output.append(' <category')
    if nocattrans:
    output.append(' lang="nl"')
    output.append ('>%s</category>\n' % program['genre'])
    if program.has_key('infourl') and program['infourl'] != '':
    output.append(' <url>%s</url>\n' % program['infourl'])
    if program.has_key('aflevering') and program['aflevering'] != '':
    output.append(' <episode-num system="onscreen">%s</episode-num>\n' % filter_line(program['aflevering']))
    # Process video section if present
    if program.has_key('video') and program['video'] != {}:
    output.append(' <video>\n');
    if program['video'].has_key('breedbeeld'):
    output.append(' <aspect>16:9</aspect>\n')
    if program['video'].has_key('blackwhite'):
    output.append(' <colour>no</colour>\n')
    output.append(' </video>\n')
    if program.has_key('stereo'):
    output.append(' <audio><stereo>stereo</stereo></audio>\n')
    if program.has_key('teletekst'):
    output.append(' <subtitles type="teletext" />\n')
    # Set star-rating if applicable
    if program['star-rating'] != '':
    output.append(' <star-rating><value>%s</value></star-rating>\n' % program['star-rating'])
    output.append(' </programme>\n')
    return "".join(output)
    def main():
    # Parse command line options
    try:
    opts, args = getopt.getopt(sys.argv[1:], "h", ["help", "output=", "capabilities",
    "preferredmethod", "days=",
    "configure", "fast", "slow",
    "cache=", "clean_cache",
    "slowdays=","compat",
    "desc-length=","description",
    "nocattrans","config-file=",
    "max_overlap=", "overlap_strategy=",
    "clear_cache", "quiet","logos="])
    except getopt.GetoptError:
    usage()
    sys.exit(2)
    # DEFAULT OPTIONS - Edit if you know what you are doing
    # where the output goes
    output = None
    output_file = None
    # the total number of days to fetch
    days = 6
    # Fetch data in fast mode, i.e. do NOT grab all the detail information,
    # fast means fast, because as it then does not have to fetch a web page for each program
    # Default: fast=0
    fast = 0
    # number of days to fetch in slow mode. For example: --days 5 --slowdays 2, will
    # fetch the first two days in slow mode (with all the details) and the remaining three
    # days in fast mode.
    slowdays = 6
    # no output
    quiet = 0
    # insert url of channel logo into the xml data, this will be picked up by mythfilldatabase
    logos = 1
    # enable this option if you were using tv_grab_nl, it adjusts the generated
    # xmltvid's so that everything works.
    compat = 0
    # enable this option if you do not want the tvgids categories being translated into
    # MythTV-categories (genres)
    nocattrans = 0
    # Maximum number of characters to use for program description.
    # Different values may work better in different versions of MythTV.
    desc_len = 475
    # default configuration file locations
    hpath = ''
    if os.environ.has_key('HOME'):
    hpath = os.environ['HOME']
    # extra test for windows users
    elif os.environ.has_key('HOMEPATH'):
    hpath = os.environ['HOMEPATH']
    # hpath = ''
    xmltv_dir = hpath+'/.xmltv'
    program_cache_file = xmltv_dir+'/program_cache'
    config_file = xmltv_dir+'/tv_grab_nl_py.conf'
    # cache the detail information.
    program_cache = None
    clean_cache = 1
    clear_cache = 0
    # seed the random generator
    random.seed(time.time())
    for o, a in opts:
    if o in ("-h", "--help"):
    usage()
    sys.exit(1)
    if o == "--quiet":
    quiet = 1;
    if o == "--description":
    print "The Netherlands (tv_grab_nl_py $Rev: 104 $)"
    sys.exit(0)
    if o == "--capabilities":
    print "baseline"
    print "cache"
    print "manualconfig"
    print "preferredmethod"
    sys.exit(0)
    if o == '--preferredmethod':
    print 'allatonce'
    sys.exit(0)
    if o == '--desc-length':
    # Use the requested length for programme descriptions.
    desc_len = int(a)
    if not quiet:
    sys.stderr.write('Using description length: %d\n' % desc_len)
    for o, a in opts:
    if o == "--config-file":
    # use the provided name for configuration
    config_file = a
    if not quiet:
    sys.stderr.write('Using config file: %s\n' % config_file)
    for o, a in opts:
    if o == "--configure":
    # check for the ~.xmltv dir
    if not os.path.exists(xmltv_dir):
    if not quiet:
    sys.stderr.write('You do not have the ~/.xmltv directory,')
    sys.stderr.write('I am going to make a shiny new one for you...')
    os.mkdir(xmltv_dir)
    if not quiet:
    sys.stderr.write('Creating config file: %s\n' % config_file)
    get_channels(config_file)
    sys.exit(0)
    if o == "--days":
    # limit days to maximum supported by tvgids.nl
    days = min(int(a),6)
    if o == "--compat":
    compat = 1
    if o == "--nocattrans":
    nocattrans = 1
    if o == "--fast":
    fast = 1
    if o == "--output":
    output_file = a
    try:
    output = open(output_file,'w')
    # and redirect output
    if debug:
    debug_file = open('/tmp/kaas.xml','w')
    blah = redirect.Tee(output, debug_file)
    sys.stdout = blah
    else:
    sys.stdout = output
    except:
    if not quiet:
    sys.stderr.write('Cannot write to outputfile: %s\n' % output_file)
    sys.exit(2)
    if o == "--slowdays":
    # limit slowdays to maximum supported by tvgids.nl
    slowdays = min(int(a),6)
    # slowdays implies fast == 0
    fast = 0
    if o == "--logos":
    logos = int(a)
    if o == "--clean_cache":
    clean_cache = 1
    if o == "--clear_cache":
    clear_cache = 1
    if o == "--cache":
    program_cache_file = a
    if o == "--max_overlap":
    max_overlap = int(a)
    if o == "--overlap_strategy":
    overlap_strategy = a
    # get configfile if available
    try:
    f = open(config_file,'r')
    except:
    sys.stderr.write('Config file %s not found.\n' % config_file)
    sys.stderr.write('Re-run me with the --configure flag.\n')
    sys.exit(1)
    #check for cache
    program_cache = ProgramCache(program_cache_file)
    if clean_cache != 0:
    program_cache.clean()
    if clear_cache != 0:
    program_cache.clear()
    # Go!
    channels = {}
    # Read the channel stuff
    for blah in f.readlines():
    blah = blah.lstrip()
    blah = blah.replace('\n','')
    if blah:
    if blah[0] != '#':
    channel = blah.split()
    channels[channel[0]] = " ".join(channel[1:])
    # channels are now in channels dict keyed on channel id
    # print header stuff
    print '<?xml version="1.0" encoding="ISO-8859-1"?>'
    print '<!DOCTYPE tv SYSTEM "xmltv.dtd">'
    print '<tv generator-info-name="tv_grab_nl_py $Rev: 104 $">'
    # first do the channel info
    for key in channels.keys():
    print ' <channel id="%s%s">' % (key, compat and '.tvgids.nl' or '')
    print ' <display-name lang="nl">%s</display-name>' % channels[key]
    if (logos):
    ikey = int(key)
    if logo_names.has_key(ikey):
    full_logo_url = logo_provider[logo_names[ikey][0]]+logo_names[ikey][1]+'.gif'
    print ' <icon src="%s" />' % full_logo_url
    print ' </channel>'
    num_chans = len(channels.keys())
    channel_cnt = 0
    if program_cache != None:
    program_cache.clean()
    fluffy = channels.keys()
    nfluffy = len(fluffy)
    for id in fluffy:
    channel_cnt += 1
    if not quiet:
    sys.stderr.write('\n\nNow fetching %s(xmltvid=%s%s) (channel %s of %s)\n' % \
    (channels[id], id, (compat and '.tvgids.nl' or ''), channel_cnt, nfluffy))
    info = get_channel_all_days(id, days, quiet)
    blah = parse_programs(info, None, quiet)
    # fetch descriptions
    if not fast:
    get_descriptions(blah, program_cache, nocattrans, quiet, slowdays)
    # Split titles with colon in it
    # Note: this only takes place if all days retrieved are also grabbed with details (slowdays=days)
    # otherwise this function might change some titles after a few grabs and thus may result in
    # loss of programmed recordings for these programs.
    if slowdays == days:
    for program in blah:
    title_split(program)
    print xmlefy_programs(blah, id, desc_len, compat, nocattrans)
    # save the cache after each channel fetch
    if program_cache != None:
    program_cache.dump(program_cache_file)
    # be nice to tvgids.nl
    time.sleep(random.randint(nice_time[0], nice_time[1]))
    if program_cache != None:
    program_cache.dump(program_cache_file)
    # print footer stuff
    print "</tv>"
    # close the outputfile if necessary
    if output != None:
    output.close()
    # and return success
    sys.exit(0)
    # allow this to be a module
    if __name__ == '__main__':
    main()
    # vim:tw=0:et:sw=4
    [cedric@tv ~]$
    Best regards,
    Cedric
    Last edited by cdwijs (2010-11-04 18:44:51)

    Running the script by python2 solves it for me:
    su - mythtv -c "nice -n 19 python2 /usr/bin/tv_grab_nl_py --output ~/listings.xml"
    Best regards,
    Cedric

  • [solved]arch mythfrontend does not fully work, mythbuntu works perfect

    Hi All,
    I have a PC running mythbackend and frontend. I call this PC "server"
    I have a second PC, with only mythfrontend. I call this PC "Laptop"
    Mythfrontend on the server works fine, all recordings are visible under "media library->watch recordings".
    Mythfrontend on the laptop shows a different list of recordings under "media library->watch recordings".
    I don't get it, why are these 2 not identical?
    The server has a TV tuner, and does all the recordings.
    on the server, I can start mythfrontend, goto media library->watch recordings. Now I see 68 recordings, and every recording can be played back. I choose one recording, let it play for a few second, and close mythfrontend. Then i kill mythbackend. This all works perfectly.
    console output mythfrontend on the server:
    [cedric@tv ~]$ mythfrontend
    2010-09-16 08:05:29.302 mythfrontend version: tags/release-0-23 [0.23] www.mythtv.org
    2010-09-16 08:05:29.303 Using runtime prefix = /usr
    2010-09-16 08:05:29.303 Using configuration directory = /home/cedric/.mythtv
    2010-09-16 08:05:29.805 Empty LocalHostName.
    2010-09-16 08:05:29.805 Using localhost value of tv
    2010-09-16 08:05:29.828 New DB connection, total: 1
    2010-09-16 08:05:29.851 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-16 08:05:29.853 Closing DB connection named 'DBManager0'
    2010-09-16 08:05:29.904 ScreenSaverX11Private: Gnome screen saver support enabled
    2010-09-16 08:05:29.907 DPMS is active.
    2010-09-16 08:05:29.912 Primary screen: 0.
    2010-09-16 08:05:29.926 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-16 08:05:29.935 Using screen 0, 720x576 at 0,0
    2010-09-16 08:05:30.046 Desktop video mode: 720x576 50 Hz
    2010-09-16 08:05:30.307 MythUI Image Cache size set to 20971520 bytes
    2010-09-16 08:05:30.398 Enabled verbose msgs: important general
    2010-09-16 08:05:30.447 Primary screen: 0.
    2010-09-16 08:05:30.450 Using screen 0, 720x576 at 0,0
    2010-09-16 08:05:30.452 Using theme base resolution of 1280x720
    2010-09-16 08:05:30.517 LIRC, Error: Failed to connect to Unix socket '/var/run/lirc/lircd'
    eno: No such file or directory (2)
    2010-09-16 08:05:30.518 JoystickMenuThread Error: Joystick disabled - Failed to read /home/cedric/.mythtv/joystickmenurc
    2010-09-16 08:05:30.708 Using Frameless Window
    2010-09-16 08:05:30.708 Using Full Screen Window
    2010-09-16 08:05:30.751 Using the Qt painter
    2010-09-16 08:05:31.686 XMLParseBase: Loaded base theme from '/usr/share/mythtv/themes/Terra/base.xml'
    2010-09-16 08:05:31.801 XMLParseBase: Loaded base theme from '/usr/share/mythtv/themes/default-wide/base.xml'
    2010-09-16 08:05:31.850 XMLParseBase: Loaded base theme from '/usr/share/mythtv/themes/default/base.xml'
    2010-09-16 08:05:31.886 Current MythTV Schema Version (DBSchemaVer): 1254
    2010-09-16 08:05:33.672 Registering Internal as a media playback plugin.
    2010-09-16 08:05:33.868 Cannot load language en_us for module mytharchive
    2010-09-16 08:05:33.886 Cannot load language en_us for module mythbrowser
    2010-09-16 08:05:33.922 Registering WebBrowser as a media playback plugin.
    2010-09-16 08:05:33.922 Cannot load language en_us for module mythbrowser
    2010-09-16 08:05:34.068 MMUnix::AddDevice() Error: failed to stat /dev/bdi,
    eno: No such file or directory (2)
    2010-09-16 08:05:34.073 MMUnix::AddDevice() Error: failed to stat /dev/power,
    eno: No such file or directory (2)
    2010-09-16 08:05:34.086 MMUnix::AddDevice() Error: failed to stat /dev/trace,
    eno: No such file or directory (2)
    2010-09-16 08:05:34.105 MonitorRegisterExtensions(0x100, gif,jpg,png)
    2010-09-16 08:05:34.106 Cannot load language en_us for module mythgallery
    2010-09-16 08:05:34.168 Cannot load language en_us for module mythgame
    2010-09-16 08:05:34.196 Cannot load language en_us for module mythmovies
    2010-09-16 08:05:34.756 Current MythMusic Schema Version (MusicDBSchemaVer): 1017
    2010-09-16 08:05:34.970 MonitorRegisterExtensions(0x40, mp3,mp2,ogg,oga,flac,wma,wav,ac3,oma,omg,atp,ra,dts,aac,m4a,aa3,tta,mka,aiff,swa,wv)
    2010-09-16 08:05:35.019 Cannot load language en_us for module mythmusic
    2010-09-16 08:05:35.090 Cannot load language en_us for module mythnetvision
    2010-09-16 08:05:35.137 Cannot load language en_us for module mythnews
    2010-09-16 08:05:35.242 Current MythVideo Schema Version (mythvideo.DBSchemaVer): 1032
    2010-09-16 08:05:35.379 Cannot load language en_us for module mythvideo
    2010-09-16 08:05:35.435 Cannot load language en_us for module mythweather
    2010-09-16 08:05:35.476 Cannot load language en_us for module mythzoneminder
    2010-09-16 08:05:35.485 XMLParseBase: Loading window theme from /usr/share/mythtv/themes/Terra/menu-ui.xml
    2010-09-16 08:05:35.882 Loading menu theme from /usr/share/mythtv/themes/defaultmenu//mainmenu.xml
    2010-09-16 08:05:35.887 Found mainmenu.xml for theme 'Terra'
    2010-09-16 08:05:36.063 MythContext: Connecting to backend server: 192.168.31.205:6543 (try 1 of 1)
    2010-09-16 08:05:36.070 Using protocol version 56
    2010-09-16 08:06:23.221 Loading menu theme from /usr/share/mythtv/themes/defaultmenu//library.xml
    2010-09-16 08:06:31.196 New DB connection, total: 2
    2010-09-16 08:06:31.207 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-16 08:06:31.221 XMLParseBase: Loading window theme from /usr/share/mythtv/themes/Terra/recordings-ui.xml
    2010-09-16 08:07:39.786 TV: Attempting to change from None to WatchingPreRecorded
    2010-09-16 08:07:40.421 AFD: Opened codec 0x9b26170, id(MPEG2VIDEO) type(Video)
    2010-09-16 08:07:40.422 AFD: codec MP2 has 2 channels
    2010-09-16 08:07:40.422 AFD: Opened codec 0x9b26cb0, id(MP2) type(Audio)
    2010-09-16 08:07:40.545 Opening audio device 'default'. ch 2(2) sr 48000 (reenc 0)
    2010-09-16 08:07:40.545 Opening ALSA audio device 'default'.
    ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL /dev/mixer
    2010-09-16 08:07:40.555 AudioOutput Warning: Mixer attach error -2: No such file or directory
    Check Mixer Name in Setup: '/dev/mixer'
    2010-09-16 08:07:40.848 VideoOutputXv: XVideo Adaptor Name: 'NV30 texture adapter'
    2010-09-16 08:07:40.985 OSD Theme Dimensions W: 1280 H: 720
    2010-09-16 08:07:41.896 TV: Changing from None to WatchingPreRecorded
    2010-09-16 08:07:41.913 Realtime priority would require SUID as root.
    2010-09-16 08:07:41.973 [mpeg2video @ 0xb4f3dca0]warning: first frame is no keyframe
    2010-09-16 08:07:41.984 [mpeg2video @ 0xb4f3dca0]warning: first frame is no keyframe
    2010-09-16 08:07:41.997 ScreenSaverX11Private: DPMS Deactivated 1
    2010-09-16 08:07:42.032 Video timing method: USleep with busy wait
    2010-09-16 08:07:58.675 TV: Attempting to change from WatchingPreRecorded to None
    2010-09-16 08:07:58.676 TV: Changing from WatchingPreRecorded to None
    2010-09-16 08:07:58.677 ScreenSaverX11Private: DPMS Reactivated 1
    2010-09-16 08:07:59.209 mythbackend version: tags/release-0-23 [0.23] www.mythtv.org
    2010-09-16 08:07:59.209 Using runtime prefix = /usr
    2010-09-16 08:07:59.213 Using configuration directory = /home/cedric/.mythtv
    2010-09-16 08:07:59.214 Empty LocalHostName.
    2010-09-16 08:07:59.214 Using localhost value of tv
    2010-09-16 08:07:59.241 mythbackend version: tags/release-0-23 [0.23] www.mythtv.org
    2010-09-16 08:07:59.242 Using runtime prefix = /usr
    2010-09-16 08:07:59.242 Using configuration directory = /home/cedric/.mythtv
    2010-09-16 08:07:59.247 Empty LocalHostName.
    2010-09-16 08:07:59.247 Using localhost value of tv
    2010-09-16 08:07:59.286 New DB connection, total: 1
    2010-09-16 08:07:59.315 New DB connection, total: 1
    2010-09-16 08:07:59.324 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-16 08:07:59.324 Closing DB connection named 'DBManager0'
    2010-09-16 08:07:59.358 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-16 08:07:59.396 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-16 08:07:59.396 Closing DB connection named 'DBManager0'
    2010-09-16 08:07:59.410 Current MythTV Schema Version (DBSchemaVer): 1254
    2010-09-16 08:07:59.418 ProgramInfo(): Updated pathname '':'' -> '1017_20100821000000.mpg'
    2010-09-16 08:07:59.419 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-16 08:07:59.488 Current MythTV Schema Version (DBSchemaVer): 1254
    2010-09-16 08:07:59.510 ProgramInfo(): Updated pathname '':'' -> '1017_20100821000000.mpg'
    2010-09-16 08:07:59.971 AFD: Opened codec 0x96bb020, id(MPEG2VIDEO) type(Video)
    2010-09-16 08:07:59.971 AFD: codec MP2 has 2 channels
    2010-09-16 08:07:59.972 AFD: Opened codec 0x96bb9b0, id(MP2) type(Audio)
    2010-09-16 08:08:00.009 NVP(0): GetScreenGrabAtFrame: Recording does not have position map so we will be unable to grab the desired frame.
    2010-09-16 08:08:00.009 Run 'mythcommflag --file 1017_20100821000000.mpg --rebuild' to fix.
    2010-09-16 08:08:00.009 If that does not work and this is a .mpg file, try 'mythtranscode --mpeg2 --buildindex --allkeys -c 1017 -s 20100821000000'.
    2010-09-16 08:08:00.039 AFD: Opened codec 0x89c83c0, id(MPEG2VIDEO) type(Video)
    2010-09-16 08:08:00.039 AFD: codec MP2 has 2 channels
    2010-09-16 08:08:00.039 AFD: Opened codec 0x89c8930, id(MP2) type(Audio)
    2010-09-16 08:08:00.097 NVP(0): GetScreenGrabAtFrame: Recording does not have position map so we will be unable to grab the desired frame.
    2010-09-16 08:08:00.097 Run 'mythcommflag --file 1017_20100821000000.mpg --rebuild' to fix.
    2010-09-16 08:08:00.097 If that does not work and this is a .mpg file, try 'mythtranscode --mpeg2 --buildindex --allkeys -c 1017 -s 20100821000000'.
    2010-09-16 08:08:00.392 [mpeg2video @ 0xb5133ca0]warning: first frame is no keyframe
    2010-09-16 08:08:00.433 [mpeg2video @ 0xb4fe1ca0]warning: first frame is no keyframe
    2010-09-16 08:08:00.475 Preview: Grabbed preview '/storage-1T/tv/1017_20100821000000.mpg' 720x576@664s
    2010-09-16 08:08:00.518 Preview: Grabbed preview '/storage-1T/tv/1017_20100821000000.mpg' 720x576@664s
    2010-09-16 08:08:00.985 ~MythContext waiting for threads to exit.
    2010-09-16 08:08:00.988 ~MythContext waiting for threads to exit.
    2010-09-16 08:10:13.797 Deleting UPnP client...
    [cedric@tv ~]$
    console output mythbackend on the server:
    [mythtv@tv cedric]$ cd
    [mythtv@tv ~]$ mythbackend
    2010-09-16 08:05:11.872 mythbackend version: tags/release-0-23 [0.23] www.mythtv.org
    2010-09-16 08:05:11.874 Using runtime prefix = /usr
    2010-09-16 08:05:11.875 Using configuration directory = /home/mythtv/.mythtv
    2010-09-16 08:05:11.876 Empty LocalHostName.
    2010-09-16 08:05:11.876 Using localhost value of tv
    2010-09-16 08:05:11.897 New DB connection, total: 1
    2010-09-16 08:05:11.913 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:05:11.914 Closing DB connection named 'DBManager0'
    2010-09-16 08:05:11.916 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:05:11.937 Current MythTV Schema Version (DBSchemaVer): 1254
    2010-09-16 08:05:11.946 MythBackend: Starting up as the master server.
    2010-09-16 08:05:11.959 New DB connection, total: 2
    2010-09-16 08:05:11.961 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:05:11.991 New DB connection, total: 3
    2010-09-16 08:05:11.997 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:05:12.211 New DB scheduler connection
    2010-09-16 08:05:12.213 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:05:12.332 Enabling Upnpmedia rebuild thread.
    2010-09-16 08:05:13.544 Main::Registering HttpStatus Extension
    2010-09-16 08:05:13.544 Enabled verbose msgs: important general
    2010-09-16 08:05:13.553 AutoExpire: CalcParams(): Max required Free Space: 1.0 GB w/freq: 15 min
    2010-09-16 08:05:15.353 Reschedule requested for id -1.
    2010-09-16 08:05:15.877 Scheduled 41 items in 0.5 = 0.03 match + 0.43 place
    2010-09-16 08:05:15.896 Seem to be woken up by USER
    2010-09-16 08:05:16.932 I'm idle now... shutdown will occur in 600 seconds.
    2010-09-16 08:05:22.611 UPnpMedia: BuildMediaMap VIDEO scan starting in :/storage/linked:
    2010-09-16 08:05:24.408 UPnpMedia: BuildMediaMap Done. Found 1107 objects
    2010-09-16 08:05:36.071 MainServer::ANN Playback
    2010-09-16 08:05:36.071 adding: tv as a client (events: 0)
    2010-09-16 08:05:36.074 MainServer::ANN Monitor
    2010-09-16 08:05:36.074 adding: tv as a client (events: 1)
    2010-09-16 08:06:32.229 AutoExpire: CalcParams(): Max required Free Space: 1.0 GB w/freq: 15 min
    2010-09-16 08:07:39.795 ProgramInfo(): Updated pathname '':'' -> '1017_20100821000000.mpg'
    2010-09-16 08:07:58.686 ProgramInfo(): Updated pathname '':'' -> '1017_20100821000000.mpg'
    2010-09-16 08:07:58.848 ProgramInfo(): Updated pathname '':'' -> '1017_20100821000000.mpg'
    2010-09-16 08:10:16.060 I'm idle now... shutdown will occur in 600 seconds.
    ^C
    [mythtv@tv ~]$
    Now I start mythbackend again on the server, and start mythfrontend on my laptop. Then I go to media library->watch recordings. Now I see 38 recordings. All recordings are 0 minutes, except 1, this has 3 minutes runtime. This 3 minute one is the live TV recording of yesterday. This 3 minute one is the only recoring I can watch. I close mythfrontend, and kill mythbackend.
    console output mythfrontend on the laptop:
    cedric@laptop:/storage/home/cedric$ mythfrontend
    2010-09-16 08:17:28.473 mythfrontend version: tags/release-0-23 [0.23] www.mythtv.org
    2010-09-16 08:17:28.473 Using runtime prefix = /usr
    2010-09-16 08:17:28.473 Using configuration directory = /home/cedric/.mythtv
    2010-09-16 08:17:29.017 Empty LocalHostName.
    2010-09-16 08:17:29.017 Using localhost value of laptop
    2010-09-16 08:17:29.027 New DB connection, total: 1
    2010-09-16 08:17:29.049 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-16 08:17:29.069 Closing DB connection named 'DBManager0'
    2010-09-16 08:17:29.089 ScreenSaverX11Private: Gnome screen saver support enabled
    2010-09-16 08:17:29.089 DPMS is disabled.
    2010-09-16 08:17:29.090 Primary screen: 0.
    2010-09-16 08:17:29.114 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-16 08:17:29.118 Using screen 0, 1440x900 at 0,0
    2010-09-16 08:17:29.191 Desktop video mode: 1440x900 60.042 Hz
    2010-09-16 08:17:29.293 MythUI Image Cache size set to 20971520 bytes
    2010-09-16 08:17:29.315 Enabled verbose msgs: important general
    2010-09-16 08:17:29.346 Primary screen: 0.
    2010-09-16 08:17:29.350 Using screen 0, 1440x900 at 0,0
    2010-09-16 08:17:29.351 Using theme base resolution of 1280x720
    2010-09-16 08:17:29.425 LIRC, Error: Failed to connect to Unix socket '/var/run/lirc/lircd'
    eno: No such file or directory (2)
    2010-09-16 08:17:29.425 JoystickMenuThread Error: Joystick disabled - Failed to read /home/cedric/.mythtv/joystickmenurc
    2010-09-16 08:17:29.704 Using Frameless Window
    2010-09-16 08:17:29.704 Using Full Screen Window
    2010-09-16 08:17:29.711 Using the Qt painter
    2010-09-16 08:17:30.071 XMLParseBase: Loaded base theme from '/usr/share/mythtv/themes/Terra/base.xml'
    2010-09-16 08:17:30.093 XMLParseBase: Loaded base theme from '/usr/share/mythtv/themes/default-wide/base.xml'
    2010-09-16 08:17:30.108 XMLParseBase: Loaded base theme from '/usr/share/mythtv/themes/default/base.xml'
    2010-09-16 08:17:30.141 Current MythTV Schema Version (DBSchemaVer): 1254
    2010-09-16 08:17:31.896 Registering Internal as a media playback plugin.
    2010-09-16 08:17:31.899 No plugins directory /usr/lib/mythtv/plugins
    2010-09-16 08:17:31.917 MMUnix::AddDevice() Error: failed to stat /dev/bdi,
    eno: No such file or directory (2)
    2010-09-16 08:17:31.924 MMUnix::AddDevice() Error: failed to stat /dev/power,
    eno: No such file or directory (2)
    2010-09-16 08:17:31.926 MMUnix::AddDevice() Error: failed to stat /dev/trace,
    eno: No such file or directory (2)
    2010-09-16 08:17:31.943 XMLParseBase: Loading window theme from /usr/share/mythtv/themes/Terra/menu-ui.xml
    2010-09-16 08:17:32.059 Loading menu theme from /usr/share/mythtv/themes/defaultmenu//mainmenu.xml
    2010-09-16 08:17:32.072 Found mainmenu.xml for theme 'Terra'
    2010-09-16 08:17:32.125 MythContext: Connecting to backend server: 192.168.31.205:6543 (try 1 of 1)
    2010-09-16 08:17:32.129 Using protocol version 56
    2010-09-16 08:17:32.375 Warning! Time difference between the master backend and this system is 25 seconds.
    2010-09-16 08:17:33.497 Loading menu theme from /usr/share/mythtv/themes/defaultmenu//library.xml
    2010-09-16 08:17:34.064 New DB connection, total: 2
    2010-09-16 08:17:34.079 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-16 08:17:34.088 XMLParseBase: Loading window theme from /usr/share/mythtv/themes/Terra/recordings-ui.xml
    2010-09-16 08:17:49.409 TV: Attempting to change from None to WatchingPreRecorded
    2010-09-16 08:17:50.244 [mp2 @ 0xb5038200]Header missing
    2010-09-16 08:17:50.244 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:50.245 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:50.245 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:50.245 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:50.245 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:50.245 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:50.245 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:50.245 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:50.245 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:50.246 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:50.246 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:51.467 AFD: Opened codec 0xa95f4600, id(MPEG2VIDEO) type(Video)
    2010-09-16 08:17:51.467 AFD: codec MP2 has 2 channels
    2010-09-16 08:17:51.467 AFD: Opened codec 0xa7bdf4b0, id(MP2) type(Audio)
    2010-09-16 08:17:51.656 Opening audio device 'default'. ch 2(2) sr 48000 (reenc 0)
    2010-09-16 08:17:51.657 Opening ALSA audio device 'default'.
    ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL /dev/mixer
    2010-09-16 08:17:51.775 AudioOutput Warning: Mixer attach error -2: No such file or directory
    Check Mixer Name in Setup: '/dev/mixer'
    2010-09-16 08:17:52.584 VideoOutputXv: XVideo Adaptor Name: 'NV17 Video Texture'
    2010-09-16 08:17:52.642 OSD Theme Dimensions W: 1280 H: 720
    2010-09-16 08:17:53.099 TV: Changing from None to WatchingPreRecorded
    2010-09-16 08:17:53.100 New DB connection, total: 3
    2010-09-16 08:17:53.104 Realtime priority would require SUID as root.
    2010-09-16 08:17:53.112 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:53.113 AFD Error: Unknown decoding error
    2010-09-16 08:17:53.113 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:53.113 AFD Error: Unknown decoding error
    2010-09-16 08:17:53.113 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:53.113 AFD Error: Unknown decoding error
    2010-09-16 08:17:53.113 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:53.113 AFD Error: Unknown decoding error
    2010-09-16 08:17:53.113 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:53.113 AFD Error: Unknown decoding error
    2010-09-16 08:17:53.113 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:53.113 AFD Error: Unknown decoding error
    2010-09-16 08:17:53.113 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:53.113 AFD Error: Unknown decoding error
    2010-09-16 08:17:53.113 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:53.113 AFD Error: Unknown decoding error
    2010-09-16 08:17:53.114 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:53.114 AFD Error: Unknown decoding error
    2010-09-16 08:17:53.114 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:53.114 AFD Error: Unknown decoding error
    2010-09-16 08:17:53.114 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:17:53.114 AFD Error: Unknown decoding error
    2010-09-16 08:17:53.118 [mpeg2video @ 0xb5038200]warning: first frame is no keyframe
    2010-09-16 08:17:53.118 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-16 08:17:53.121 [mpeg2video @ 0xb5038200]warning: first frame is no keyframe
    2010-09-16 08:17:53.123 Video timing method: USleep with busy wait
    2010-09-16 08:17:53.548 WriteAudio: device is suspended
    2010-09-16 08:17:53.587 AO: dropping back audio_buffer_unused
    2010-09-16 08:17:53.633 AO: dropping back audio_buffer_unused
    2010-09-16 08:17:53.685 AO: dropping back audio_buffer_unused
    2010-09-16 08:17:53.742 AO: dropping back audio_buffer_unused
    2010-09-16 08:17:53.775 AO: dropping back audio_buffer_unused
    2010-09-16 08:17:53.806 AO: dropping back audio_buffer_unused
    2010-09-16 08:17:53.837 AO: dropping back audio_buffer_unused
    2010-09-16 08:17:53.868 AO: dropping back audio_buffer_unused
    2010-09-16 08:17:53.901 AO: dropping back audio_buffer_unused
    2010-09-16 08:17:53.932 AO: dropping back audio_buffer_unused
    2010-09-16 08:17:53.963 AO: dropping back audio_buffer_unused
    2010-09-16 08:17:53.994 AO: dropping back audio_buffer_unused
    2010-09-16 08:17:54.026 AO: dropping back audio_buffer_unused
    2010-09-16 08:17:54.057 AO: dropping back audio_buffer_unused
    2010-09-16 08:18:48.279 TV: Attempting to change from WatchingPreRecorded to None
    2010-09-16 08:18:48.338 TV: Changing from WatchingPreRecorded to None
    2010-09-16 08:18:52.757 TV: Attempting to change from None to WatchingPreRecorded
    2010-09-16 08:18:53.346 [mp2 @ 0xb5038200]Header missing
    2010-09-16 08:18:53.346 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:53.346 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:53.346 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:53.347 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:53.347 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:53.347 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:53.347 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:53.347 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:53.347 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:53.347 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:53.347 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:54.132 AFD: Opened codec 0xa7bc3880, id(MPEG2VIDEO) type(Video)
    2010-09-16 08:18:54.132 AFD: codec MP2 has 2 channels
    2010-09-16 08:18:54.132 AFD: Opened codec 0xa7bc4680, id(MP2) type(Audio)
    2010-09-16 08:18:54.180 Opening audio device 'default'. ch 2(2) sr 48000 (reenc 0)
    2010-09-16 08:18:54.180 Opening ALSA audio device 'default'.
    ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL /dev/mixer
    2010-09-16 08:18:54.182 AudioOutput Warning: Mixer attach error -2: No such file or directory
    Check Mixer Name in Setup: '/dev/mixer'
    2010-09-16 08:18:54.616 VideoOutputXv: XVideo Adaptor Name: 'NV17 Video Texture'
    2010-09-16 08:18:54.651 OSD Theme Dimensions W: 1280 H: 720
    2010-09-16 08:18:54.750 Realtime priority would require SUID as root.
    2010-09-16 08:18:54.752 Video timing method: USleep with busy wait
    2010-09-16 08:18:54.787 TV: Changing from None to WatchingPreRecorded
    2010-09-16 08:18:54.846 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:54.846 AFD Error: Unknown decoding error
    2010-09-16 08:18:54.846 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:54.846 AFD Error: Unknown decoding error
    2010-09-16 08:18:54.847 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:54.847 AFD Error: Unknown decoding error
    2010-09-16 08:18:54.847 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:54.847 AFD Error: Unknown decoding error
    2010-09-16 08:18:54.847 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:54.847 AFD Error: Unknown decoding error
    2010-09-16 08:18:54.847 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:54.847 AFD Error: Unknown decoding error
    2010-09-16 08:18:54.847 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:54.847 AFD Error: Unknown decoding error
    2010-09-16 08:18:54.847 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:54.847 AFD Error: Unknown decoding error
    2010-09-16 08:18:54.847 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:54.848 AFD Error: Unknown decoding error
    2010-09-16 08:18:54.848 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:54.848 AFD Error: Unknown decoding error
    2010-09-16 08:18:54.848 [mpeg2video @ 0xb5038200]mpeg_decode_postinit() failure
    2010-09-16 08:18:54.848 AFD Error: Unknown decoding error
    2010-09-16 08:18:54.852 [mpeg2video @ 0xb5038200]warning: first frame is no keyframe
    2010-09-16 08:18:54.876 [mpeg2video @ 0xb5038200]warning: first frame is no keyframe
    2010-09-16 08:18:54.995 AO: dropping back audio_buffer_unused
    2010-09-16 08:18:55.042 AO: dropping back audio_buffer_unused
    2010-09-16 08:18:55.094 AO: dropping back audio_buffer_unused
    2010-09-16 08:18:55.150 AO: dropping back audio_buffer_unused
    2010-09-16 08:18:55.182 AO: dropping back audio_buffer_unused
    2010-09-16 08:18:55.213 AO: dropping back audio_buffer_unused
    2010-09-16 08:18:55.244 AO: dropping back audio_buffer_unused
    2010-09-16 08:18:55.275 AO: dropping back audio_buffer_unused
    2010-09-16 08:18:55.306 AO: dropping back audio_buffer_unused
    2010-09-16 08:18:55.337 AO: dropping back audio_buffer_unused
    2010-09-16 08:18:55.342 AO: dropping back audio_buffer_unused
    2010-09-16 08:18:55.373 AO: dropping back audio_buffer_unused
    2010-09-16 08:18:55.404 AO: dropping back audio_buffer_unused
    2010-09-16 08:18:55.435 AO: dropping back audio_buffer_unused
    2010-09-16 08:18:57.870 [mp2 @ 0xb5038200]incomplete frame
    2010-09-16 08:18:57.870 AFD Error: Unknown audio decoding error
    2010-09-16 08:18:59.900 TV: Attempting to change from WatchingPreRecorded to None
    2010-09-16 08:18:59.901 TV: Changing from WatchingPreRecorded to None
    2010-09-16 08:18:59.922 TV: Attempting to change from None to None
    2010-09-16 08:19:20.529 Deleting UPnP client...
    Error in my_thread_global_end(): 1 threads didn't exit
    cedric@laptop:/storage/home/cedric$
    console output mythbackend on the server:
    [mythtv@tv ~]$ mythbackend
    2010-09-16 08:16:59.829 mythbackend version: tags/release-0-23 [0.23] www.mythtv.org
    2010-09-16 08:16:59.830 Using runtime prefix = /usr
    2010-09-16 08:16:59.830 Using configuration directory = /home/mythtv/.mythtv
    2010-09-16 08:16:59.831 Empty LocalHostName.
    2010-09-16 08:16:59.831 Using localhost value of tv
    2010-09-16 08:16:59.852 New DB connection, total: 1
    2010-09-16 08:16:59.866 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:16:59.867 Closing DB connection named 'DBManager0'
    2010-09-16 08:16:59.869 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:16:59.887 Current MythTV Schema Version (DBSchemaVer): 1254
    2010-09-16 08:16:59.899 MythBackend: Starting up as the master server.
    2010-09-16 08:16:59.913 New DB connection, total: 2
    2010-09-16 08:16:59.915 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:16:59.943 New DB connection, total: 3
    2010-09-16 08:16:59.944 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:17:00.147 New DB scheduler connection
    2010-09-16 08:17:00.149 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:17:00.269 Enabling Upnpmedia rebuild thread.
    2010-09-16 08:17:01.481 Main::Registering HttpStatus Extension
    2010-09-16 08:17:01.482 Enabled verbose msgs: important general
    2010-09-16 08:17:01.491 AutoExpire: CalcParams(): Max required Free Space: 1.0 GB w/freq: 15 min
    2010-09-16 08:17:03.284 Reschedule requested for id -1.
    2010-09-16 08:17:03.794 Scheduled 41 items in 0.5 = 0.03 match + 0.42 place
    2010-09-16 08:17:03.824 Seem to be woken up by USER
    2010-09-16 08:17:04.841 I'm idle now... shutdown will occur in 600 seconds.
    2010-09-16 08:17:07.378 MainServer::ANN Playback
    2010-09-16 08:17:07.378 adding: laptop as a client (events: 0)
    2010-09-16 08:17:07.381 MainServer::ANN Monitor
    2010-09-16 08:17:07.381 adding: laptop as a client (events: 1)
    2010-09-16 08:17:10.428 UPnpMedia: BuildMediaMap VIDEO scan starting in :/storage/linked:
    2010-09-16 08:17:12.225 UPnpMedia: BuildMediaMap Done. Found 1108 objects
    2010-09-16 08:17:24.683 ProgramInfo(): Updated pathname '':'' -> '1007_20100915192646.mpg'
    2010-09-16 08:17:24.708 MainServer::ANN Playback
    2010-09-16 08:17:24.708 adding: laptop as a client (events: 0)
    2010-09-16 08:17:24.714 MainServer::HandleAnnounce FileTransfer
    2010-09-16 08:17:24.714 adding: laptop as a remote file transfer
    2010-09-16 08:17:24.721 ProgramInfo(): Updated pathname '':'' -> '1007_20100915192646.mpg'
    2010-09-16 08:17:24.818 ProgramInfo(): Updated pathname '':'' -> '1007_20100915192646.mpg'
    2010-09-16 08:17:24.899 ProgramInfo(): Updated pathname '':'' -> '1007_20100915192646.mpg'
    2010-09-16 08:18:20.170 AutoExpire: CalcParams(): Max required Free Space: 1.0 GB w/freq: 15 min
    2010-09-16 08:18:23.731 ProgramInfo(): Updated pathname '':'' -> '1007_20100915192646.mpg'
    2010-09-16 08:18:23.751 ProgramInfo(): Updated pathname '':'' -> '1007_20100915192646.mpg'
    2010-09-16 08:18:27.993 ProgramInfo(): Updated pathname '':'' -> '1000_20100821142124.mpg'
    2010-09-16 08:18:28.021 MainServer::ANN Playback
    2010-09-16 08:18:28.021 adding: laptop as a client (events: 0)
    2010-09-16 08:18:28.024 MainServer::HandleAnnounce FileTransfer
    2010-09-16 08:18:28.024 adding: laptop as a remote file transfer
    2010-09-16 08:18:28.030 ProgramInfo(): Updated pathname '':'' -> '1000_20100821142124.mpg'
    2010-09-16 08:18:28.121 ProgramInfo(): Updated pathname '':'' -> '1000_20100821142124.mpg'
    2010-09-16 08:18:28.200 ProgramInfo(): Updated pathname '':'' -> '1000_20100821142124.mpg'
    2010-09-16 08:18:35.286 ProgramInfo(): Updated pathname '':'' -> '1000_20100821142124.mpg'
    2010-09-16 08:18:35.294 ProgramInfo(): Updated pathname '':'' -> '1000_20100821142124.mpg'
    2010-09-16 08:18:57.880 I'm idle now... shutdown will occur in 600 seconds.
    ^C
    [mythtv@tv ~]$
    Now I start mythbackend again on the server, and start mythfrontend on my laptop. Then I go to watch TV. This works perfectly, I can watch TV, switch channels, no problem. I let the TV run for a few minutes. (there could be some funky messages on the console, My cat jumped on the keyboard of the laptop). Next I go to media library->watch recordings. The TV show I just watched is added, and I can play it back. next I exit mythfrontend and kill mythbackend.
    console output mythfrontend on the laptop:
    cedric@laptop:/storage/home/cedric$ mythfrontend
    2010-09-16 08:28:39.533 mythfrontend version: tags/release-0-23 [0.23] www.mythtv.org
    2010-09-16 08:28:39.534 Using runtime prefix = /usr
    2010-09-16 08:28:39.534 Using configuration directory = /home/cedric/.mythtv
    2010-09-16 08:28:40.073 Empty LocalHostName.
    2010-09-16 08:28:40.073 Using localhost value of laptop
    2010-09-16 08:28:40.082 New DB connection, total: 1
    2010-09-16 08:28:40.108 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-16 08:28:40.109 Closing DB connection named 'DBManager0'
    2010-09-16 08:28:40.128 ScreenSaverX11Private: Gnome screen saver support enabled
    2010-09-16 08:28:40.128 DPMS is disabled.
    2010-09-16 08:28:40.130 Primary screen: 0.
    2010-09-16 08:28:40.145 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-16 08:28:40.149 Using screen 0, 1440x900 at 0,0
    2010-09-16 08:28:40.228 Desktop video mode: 1440x900 60.042 Hz
    2010-09-16 08:28:40.327 MythUI Image Cache size set to 20971520 bytes
    2010-09-16 08:28:40.350 Enabled verbose msgs: important general
    2010-09-16 08:28:40.383 Primary screen: 0.
    2010-09-16 08:28:40.401 Using screen 0, 1440x900 at 0,0
    2010-09-16 08:28:40.402 Using theme base resolution of 1280x720
    2010-09-16 08:28:40.463 LIRC, Error: Failed to connect to Unix socket '/var/run/lirc/lircd'
    eno: No such file or directory (2)
    2010-09-16 08:28:40.463 JoystickMenuThread Error: Joystick disabled - Failed to read /home/cedric/.mythtv/joystickmenurc
    2010-09-16 08:28:40.732 Using Frameless Window
    2010-09-16 08:28:40.732 Using Full Screen Window
    2010-09-16 08:28:40.739 Using the Qt painter
    2010-09-16 08:28:41.124 XMLParseBase: Loaded base theme from '/usr/share/mythtv/themes/Terra/base.xml'
    2010-09-16 08:28:41.147 XMLParseBase: Loaded base theme from '/usr/share/mythtv/themes/default-wide/base.xml'
    2010-09-16 08:28:41.157 XMLParseBase: Loaded base theme from '/usr/share/mythtv/themes/default/base.xml'
    2010-09-16 08:28:41.183 Current MythTV Schema Version (DBSchemaVer): 1254
    2010-09-16 08:28:42.892 Registering Internal as a media playback plugin.
    2010-09-16 08:28:42.896 No plugins directory /usr/lib/mythtv/plugins
    2010-09-16 08:28:42.915 MMUnix::AddDevice() Error: failed to stat /dev/bdi,
    eno: No such file or directory (2)
    2010-09-16 08:28:42.922 MMUnix::AddDevice() Error: failed to stat /dev/power,
    eno: No such file or directory (2)
    2010-09-16 08:28:42.927 MMUnix::AddDevice() Error: failed to stat /dev/trace,
    eno: No such file or directory (2)
    2010-09-16 08:28:42.948 XMLParseBase: Loading window theme from /usr/share/mythtv/themes/Terra/menu-ui.xml
    2010-09-16 08:28:43.065 Loading menu theme from /usr/share/mythtv/themes/defaultmenu//mainmenu.xml
    2010-09-16 08:28:43.071 Found mainmenu.xml for theme 'Terra'
    2010-09-16 08:28:43.127 MythContext: Connecting to backend server: 192.168.31.205:6543 (try 1 of 1)
    2010-09-16 08:28:43.131 Using protocol version 56
    2010-09-16 08:28:43.377 Warning! Time difference between the master backend and this system is 25 seconds.
    2010-09-16 08:28:46.221 TV: Attempting to change from None to WatchingLiveTV
    2010-09-16 08:28:46.221 MythContext: Connecting to backend server: 192.168.31.205:6543 (try 1 of 1)
    2010-09-16 08:28:46.225 Using protocol version 56
    2010-09-16 08:28:46.227 Spawning LiveTV Recorder -- begin
    2010-09-16 08:28:47.369 Spawning LiveTV Recorder -- end
    2010-09-16 08:28:47.384 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:47.512 We have a playbackURL(myth://192.168.31.205:6543/1017_20100916082821.mpg) & cardtype(MPEG)
    2010-09-16 08:28:48.538 We have a RingBuffer
    2010-09-16 08:28:49.588 AFD: Opened codec 0x8ef7140, id(MPEG2VIDEO) type(Video)
    2010-09-16 08:28:49.588 AFD: codec MP2 has 2 channels
    2010-09-16 08:28:49.588 AFD: Opened codec 0x94f7330, id(MP2) type(Audio)
    2010-09-16 08:28:49.911 Opening audio device 'default'. ch 2(2) sr 48000 (reenc 0)
    2010-09-16 08:28:49.911 Opening ALSA audio device 'default'.
    ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL /dev/mixer
    2010-09-16 08:28:49.917 AudioOutput Warning: Mixer attach error -2: No such file or directory
    Check Mixer Name in Setup: '/dev/mixer'
    2010-09-16 08:28:49.991 New DB connection, total: 2
    2010-09-16 08:28:50.037 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-16 08:28:50.051 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:50.136 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:50.180 VideoOutputXv: XVideo Adaptor Name: 'NV17 Video Texture'
    2010-09-16 08:28:50.221 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:50.251 OSD Theme Dimensions W: 1280 H: 720
    2010-09-16 08:28:50.360 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:50.494 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:50.556 TV: Changing from None to WatchingLiveTV
    2010-09-16 08:28:50.556 TV: State is LiveTV & mctx == ctx
    2010-09-16 08:28:50.556 New DB connection, total: 3
    2010-09-16 08:28:50.558 New DB connection, total: 4
    2010-09-16 08:28:50.562 Realtime priority would require SUID as root.
    2010-09-16 08:28:50.582 [mpeg2video @ 0xb50f7200]warning: first frame is no keyframe
    2010-09-16 08:28:50.585 [mpeg2video @ 0xb50f7200]warning: first frame is no keyframe
    2010-09-16 08:28:50.591 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-16 08:28:50.603 TV: UpdateOSDInput done
    2010-09-16 08:28:50.603 TV: UpdateLCD done
    2010-09-16 08:28:50.603 TV: ITVRestart done
    2010-09-16 08:28:50.604 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-16 08:28:50.611 Video timing method: USleep with busy wait
    2010-09-16 08:28:50.699 AO: dropping back audio_buffer_unused
    2010-09-16 08:28:50.741 AO: dropping back audio_buffer_unused
    2010-09-16 08:28:50.798 AO: dropping back audio_buffer_unused
    2010-09-16 08:28:50.855 AO: dropping back audio_buffer_unused
    2010-09-16 08:28:50.886 AO: dropping back audio_buffer_unused
    2010-09-16 08:28:50.918 AO: dropping back audio_buffer_unused
    2010-09-16 08:28:50.949 AO: dropping back audio_buffer_unused
    2010-09-16 08:28:50.981 AO: dropping back audio_buffer_unused
    2010-09-16 08:28:51.012 AO: dropping back audio_buffer_unused
    2010-09-16 08:28:51.043 AO: dropping back audio_buffer_unused
    2010-09-16 08:28:51.074 AO: dropping back audio_buffer_unused
    2010-09-16 08:28:51.105 AO: dropping back audio_buffer_unused
    2010-09-16 08:28:51.136 AO: dropping back audio_buffer_unused
    2010-09-16 08:28:51.141 AO: dropping back audio_buffer_unused
    2010-09-16 08:29:14.561 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:29:14.599 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:29:15.476 WriteAudio: buffer underrun
    2010-09-16 08:29:16.276 [mpeg2video @ 0xb50f7200]warning: first frame is no keyframe
    2010-09-16 08:29:17.077 NVP(0): Prebuffer wait timed out 10 times.
    2010-09-16 08:29:27.024 NVP(0): prebuffering pause
    2010-09-16 08:29:36.302 NVP(0): prebuffering pause
    2010-09-16 08:32:12.916 XMLParseBase: Loading window theme from /usr/share/mythtv/themes/Terra/schedule-ui.xml
    2010-09-16 08:32:12.934 XMLParseBase: Loading window theme from /usr/share/mythtv/themes/default-wide/schedule-ui.xml
    2010-09-16 08:32:13.638 Failed to save to /home/cedric/.mythtv/channels/mtv-color.gif
    2010-09-16 08:32:13.684 Failed to save to /home/cedric/.mythtv/channels/tmf.gif
    2010-09-16 08:32:13.738 Failed to save to /home/cedric/.mythtv/channels/discover-spacey.gif
    2010-09-16 08:32:13.786 Failed to save to /home/cedric/.mythtv/channels/ngc.gif
    2010-09-16 08:32:13.839 Failed to save to /home/cedric/.mythtv/channels/animal-planet.gif
    2010-09-16 08:32:18.576 Failed to save to /home/cedric/.mythtv/channels/comedy_central.gif
    2010-09-16 08:32:18.937 Failed to save to /home/cedric/.mythtv/channels/rtl8.gif
    2010-09-16 08:44:28.622 TV: Attempting to change from WatchingLiveTV to None
    2010-09-16 08:44:30.421 TV: Changing from WatchingLiveTV to None
    2010-09-16 08:44:34.124 Loading menu theme from /usr/share/mythtv/themes/defaultmenu//library.xml
    2010-09-16 08:44:34.830 XMLParseBase: Loading window theme from /usr/share/mythtv/themes/Terra/recordings-ui.xml
    2010-09-16 08:44:35.253 MythContext: Connecting to backend server: 192.168.31.205:6543 (try 1 of 1)
    2010-09-16 08:44:35.256 Using protocol version 56
    2010-09-16 08:44:40.376 TV: Attempting to change from None to WatchingRecording
    2010-09-16 08:44:40.602 TV Error: Couldn't find recorder for in-progress recording
    2010-09-16 08:44:41.288 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:41.288 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:41.288 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:41.288 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:41.288 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:41.288 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:41.288 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:41.288 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:41.289 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:41.289 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:41.289 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:43.410 RingBuf(myth://192.168.31.205:6543/1012_20100916082849.mpg): Waited 2.0 seconds for data to become available...
    2010-09-16 08:44:44.378 AFD: Opened codec 0x9d61520, id(MPEG2VIDEO) type(Video)
    2010-09-16 08:44:44.378 AFD: codec MP2 has 2 channels
    2010-09-16 08:44:44.378 AFD: Opened codec 0x9d636e0, id(MP2) type(Audio)
    2010-09-16 08:44:44.386 Opening audio device 'default'. ch 2(2) sr 48000 (reenc 0)
    2010-09-16 08:44:44.386 Opening ALSA audio device 'default'.
    ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL /dev/mixer
    2010-09-16 08:44:44.388 AudioOutput Warning: Mixer attach error -2: No such file or directory
    Check Mixer Name in Setup: '/dev/mixer'
    2010-09-16 08:44:45.006 VideoOutputXv: XVideo Adaptor Name: 'NV17 Video Texture'
    2010-09-16 08:44:45.044 OSD Theme Dimensions W: 1280 H: 720
    2010-09-16 08:44:45.141 Realtime priority would require SUID as root.
    2010-09-16 08:44:45.143 Video timing method: USleep with busy wait
    2010-09-16 08:44:45.156 TV: Changing from None to WatchingPreRecorded
    2010-09-16 08:44:45.226 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:45.226 AFD Error: Unknown decoding error
    2010-09-16 08:44:45.226 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:45.226 AFD Error: Unknown decoding error
    2010-09-16 08:44:45.226 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:45.226 AFD Error: Unknown decoding error
    2010-09-16 08:44:45.226 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:45.226 AFD Error: Unknown decoding error
    2010-09-16 08:44:45.226 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:45.226 AFD Error: Unknown decoding error
    2010-09-16 08:44:45.226 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:45.226 AFD Error: Unknown decoding error
    2010-09-16 08:44:45.226 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:45.226 AFD Error: Unknown decoding error
    2010-09-16 08:44:45.227 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:45.227 AFD Error: Unknown decoding error
    2010-09-16 08:44:45.227 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:45.227 AFD Error: Unknown decoding error
    2010-09-16 08:44:45.227 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:45.227 AFD Error: Unknown decoding error
    2010-09-16 08:44:45.227 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:44:45.227 AFD Error: Unknown decoding error
    2010-09-16 08:44:45.230 [mpeg2video @ 0xb50f7200]warning: first frame is no keyframe
    2010-09-16 08:44:45.275 [mpeg2video @ 0xb50f7200]warning: first frame is no keyframe
    2010-09-16 08:44:45.340 AO: dropping back audio_buffer_unused
    2010-09-16 08:44:45.383 AO: dropping back audio_buffer_unused
    2010-09-16 08:44:45.437 AO: dropping back audio_buffer_unused
    2010-09-16 08:44:45.468 AO: dropping back audio_buffer_unused
    2010-09-16 08:44:45.526 AO: dropping back audio_buffer_unused
    2010-09-16 08:44:45.557 AO: dropping back audio_buffer_unused
    2010-09-16 08:44:45.590 AO: dropping back audio_buffer_unused
    2010-09-16 08:44:45.621 AO: dropping back audio_buffer_unused
    2010-09-16 08:44:45.681 AO: dropping back audio_buffer_unused
    2010-09-16 08:44:45.686 AO: dropping back audio_buffer_unused
    2010-09-16 08:44:45.717 AO: dropping back audio_buffer_unused
    2010-09-16 08:44:45.748 AO: dropping back audio_buffer_unused
    2010-09-16 08:44:45.779 AO: dropping back audio_buffer_unused
    2010-09-16 08:44:45.810 AO: dropping back audio_buffer_unused
    2010-09-16 08:44:57.227 TV: Attempting to change from WatchingPreRecorded to None
    2010-09-16 08:44:57.236 TV: Changing from WatchingPreRecorded to None
    2010-09-16 08:45:01.258 TV: Attempting to change from None to WatchingPreRecorded
    2010-09-16 08:45:01.913 [mp2 @ 0xb50f7200]Header missing
    2010-09-16 08:45:01.914 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:01.914 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:01.914 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:01.914 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:01.914 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:01.914 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:01.915 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:01.915 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:01.915 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:01.915 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:01.915 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:02.694 AFD: Opened codec 0x9d620f0, id(MPEG2VIDEO) type(Video)
    2010-09-16 08:45:02.694 AFD: codec MP2 has 2 channels
    2010-09-16 08:45:02.694 AFD: Opened codec 0xa172070, id(MP2) type(Audio)
    2010-09-16 08:45:02.734 Opening audio device 'default'. ch 2(2) sr 48000 (reenc 0)
    2010-09-16 08:45:02.734 Opening ALSA audio device 'default'.
    ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL /dev/mixer
    2010-09-16 08:45:02.736 AudioOutput Warning: Mixer attach error -2: No such file or directory
    Check Mixer Name in Setup: '/dev/mixer'
    2010-09-16 08:45:03.231 VideoOutputXv: XVideo Adaptor Name: 'NV17 Video Texture'
    2010-09-16 08:45:03.266 OSD Theme Dimensions W: 1280 H: 720
    2010-09-16 08:45:03.367 Realtime priority would require SUID as root.
    2010-09-16 08:45:03.369 Video timing method: USleep with busy wait
    2010-09-16 08:45:03.402 TV: Changing from None to WatchingPreRecorded
    2010-09-16 08:45:03.463 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:03.463 AFD Error: Unknown decoding error
    2010-09-16 08:45:03.463 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:03.463 AFD Error: Unknown decoding error
    2010-09-16 08:45:03.463 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:03.463 AFD Error: Unknown decoding error
    2010-09-16 08:45:03.463 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:03.463 AFD Error: Unknown decoding error
    2010-09-16 08:45:03.463 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:03.463 AFD Error: Unknown decoding error
    2010-09-16 08:45:03.463 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:03.463 AFD Error: Unknown decoding error
    2010-09-16 08:45:03.463 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:03.464 AFD Error: Unknown decoding error
    2010-09-16 08:45:03.464 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:03.464 AFD Error: Unknown decoding error
    2010-09-16 08:45:03.464 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:03.464 AFD Error: Unknown decoding error
    2010-09-16 08:45:03.464 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:03.464 AFD Error: Unknown decoding error
    2010-09-16 08:45:03.464 [mpeg2video @ 0xb50f7200]mpeg_decode_postinit() failure
    2010-09-16 08:45:03.464 AFD Error: Unknown decoding error
    2010-09-16 08:45:03.468 [mpeg2video @ 0xb50f7200]warning: first frame is no keyframe
    2010-09-16 08:45:03.505 [mpeg2video @ 0xb50f7200]warning: first frame is no keyframe
    2010-09-16 08:45:03.625 AO: dropping back audio_buffer_unused
    2010-09-16 08:45:03.668 AO: dropping back audio_buffer_unused
    2010-09-16 08:45:03.725 AO: dropping back audio_buffer_unused
    2010-09-16 08:45:03.780 AO: dropping back audio_buffer_unused
    2010-09-16 08:45:03.811 AO: dropping back audio_buffer_unused
    2010-09-16 08:45:03.842 AO: dropping back audio_buffer_unused
    2010-09-16 08:45:03.873 AO: dropping back audio_buffer_unused
    2010-09-16 08:45:03.904 AO: dropping back audio_buffer_unused
    2010-09-16 08:45:03.936 AO: dropping back audio_buffer_unused
    2010-09-16 08:45:03.967 AO: dropping back audio_buffer_unused
    2010-09-16 08:45:03.972 AO: dropping back audio_buffer_unused
    2010-09-16 08:45:04.003 AO: dropping back audio_buffer_unused
    2010-09-16 08:45:04.035 AO: dropping back audio_buffer_unused
    2010-09-16 08:45:04.067 AO: dropping back audio_buffer_unused
    2010-09-16 08:45:09.077 TV: Attempting to change from WatchingPreRecorded to None
    2010-09-16 08:45:09.185 TV: Changing from WatchingPreRecorded to None
    2010-09-16 08:45:12.717 Deleting UPnP client...
    Error in my_thread_global_end(): 1 threads didn't exit
    cedric@laptop:/storage/home/cedric$
    console output mythbackend on the server:
    [cedric@tv ~]$ su mythtv
    Password:
    [mythtv@tv cedric]$ cd
    [mythtv@tv ~]$ mythbackend
    2010-09-16 08:27:51.241 mythbackend version: tags/release-0-23 [0.23] www.mythtv.org
    2010-09-16 08:27:51.242 Using runtime prefix = /usr
    2010-09-16 08:27:51.242 Using configuration directory = /home/mythtv/.mythtv
    2010-09-16 08:27:51.244 Empty LocalHostName.
    2010-09-16 08:27:51.244 Using localhost value of tv
    2010-09-16 08:27:51.264 New DB connection, total: 1
    2010-09-16 08:27:51.277 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:27:51.278 Closing DB connection named 'DBManager0'
    2010-09-16 08:27:51.280 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:27:51.298 Current MythTV Schema Version (DBSchemaVer): 1254
    2010-09-16 08:27:51.311 MythBackend: Starting up as the master server.
    2010-09-16 08:27:51.325 New DB connection, total: 2
    2010-09-16 08:27:51.327 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:27:51.357 New DB connection, total: 3
    2010-09-16 08:27:51.358 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:27:51.555 New DB scheduler connection
    2010-09-16 08:27:51.557 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:27:51.679 Enabling Upnpmedia rebuild thread.
    2010-09-16 08:27:52.893 Main::Registering HttpStatus Extension
    2010-09-16 08:27:52.893 Enabled verbose msgs: important general
    2010-09-16 08:27:52.902 AutoExpire: CalcParams(): Max required Free Space: 1.0 GB w/freq: 15 min
    2010-09-16 08:27:54.702 Reschedule requested for id -1.
    2010-09-16 08:27:55.254 Scheduled 41 items in 0.5 = 0.03 match + 0.46 place
    2010-09-16 08:27:55.277 Seem to be woken up by USER
    2010-09-16 08:27:56.314 I'm idle now... shutdown will occur in 600 seconds.
    2010-09-16 08:28:01.841 UPnpMedia: BuildMediaMap VIDEO scan starting in :/storage/linked:
    2010-09-16 08:28:03.628 UPnpMedia: BuildMediaMap Done. Found 1108 objects
    2010-09-16 08:28:18.290 MainServer::ANN Playback
    2010-09-16 08:28:18.290 adding: laptop as a client (events: 0)
    2010-09-16 08:28:18.292 MainServer::ANN Monitor
    2010-09-16 08:28:18.293 adding: laptop as a client (events: 1)
    2010-09-16 08:28:21.384 MainServer::ANN Playback
    2010-09-16 08:28:21.384 adding: laptop as a client (events: 0)
    2010-09-16 08:28:21.419 TVRec(3): Changing from None to WatchingLiveTV
    2010-09-16 08:28:21.439 TVRec(3): HW Tuner: 3->3
    2010-09-16 08:28:22.477 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:22.544 New DB connection, total: 4
    2010-09-16 08:28:22.553 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:28:22.596 MPEGRec(/dev/video0) Warning: Audio sample rate 32000 Hz
    is not supported by ivtv driver, using 48000 Hz instead.
    2010-09-16 08:28:22.679 AutoExpire: CalcParams(): Max required Free Space: 2.0 GB w/freq: 15 min
    2010-09-16 08:28:22.698 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:22.707 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:22.723 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:22.732 MainServer::ANN Playback
    2010-09-16 08:28:22.732 adding: laptop as a client (events: 0)
    2010-09-16 08:28:22.734 MainServer::HandleAnnounce FileTransfer
    2010-09-16 08:28:22.735 adding: laptop as a remote file transfer
    2010-09-16 08:28:22.745 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:23.668 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:23.748 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:25.086 RecBase(3:/dev/video0): GetKeyframePositions(1,9223372036854775807,#3) out of 4
    2010-09-16 08:28:25.269 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:25.354 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:25.441 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:25.579 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:25.725 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:49.076 TVRec(3): HW Tuner: 3->3
    2010-09-16 08:28:49.232 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:49.239 Finished recording Mighty B: channel 1017
    2010-09-16 08:28:49.345 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:49.350 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:49.363 Finished recording Mighty B: channel 1017
    2010-09-16 08:28:49.562 mythbackend version: tags/release-0-23 [0.23] www.mythtv.org
    2010-09-16 08:28:49.564 Using runtime prefix = /usr
    2010-09-16 08:28:49.564 Using configuration directory = /home/mythtv/.mythtv
    2010-09-16 08:28:49.565 Empty LocalHostName.
    2010-09-16 08:28:49.565 Using localhost value of tv
    2010-09-16 08:28:49.608 New DB connection, total: 1
    2010-09-16 08:28:49.618 TVRec(3): RingBufferChanged()
    2010-09-16 08:28:49.630 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:49.640 Finished recording Mighty B: channel 1017
    2010-09-16 08:28:49.643 ProgramInfo(1017_20100916082821.mpg), Warning: MarkAsInUse(false, 'recorder'->'') -- use has changed since first setting as in use.
    2010-09-16 08:28:49.643 ProgramInfo(1017_20100916082821.mpg), Warning: MarkAsInUse requires a key to delete in use mark
    2010-09-16 08:28:49.699 AutoExpire: CalcParams(): Max required Free Space: 2.0 GB w/freq: 15 min
    2010-09-16 08:28:49.715 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:49.749 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:49.781 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:28:49.791 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:28:49.791 Closing DB connection named 'DBManager0'
    2010-09-16 08:28:49.798 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:49.818 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:28:49.840 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:49.867 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:28:49.927 MainServer::ANN Playback
    2010-09-16 08:28:49.927 adding: laptop as a client (events: 0)
    2010-09-16 08:28:49.930 MainServer::HandleAnnounce FileTransfer
    2010-09-16 08:28:49.930 adding: laptop as a remote file transfer
    2010-09-16 08:28:49.937 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:28:49.979 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:50.060 Current MythTV Schema Version (DBSchemaVer): 1254
    2010-09-16 08:28:50.097 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:28:50.546 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:28:50.582 RecBase(3:/dev/video0): GetKeyframePositions(0,9223372036854775807,#1) out of 1
    2010-09-16 08:28:50.624 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:28:55.095 AFD: Opened codec 0x9260560, id(MPEG2VIDEO) type(Video)
    2010-09-16 08:28:55.095 AFD: codec MP2 has 2 channels
    2010-09-16 08:28:55.095 AFD: Opened codec 0x9264bb0, id(MP2) type(Audio)
    2010-09-16 08:28:55.288 [mpeg2video @ 0xb50cbca0]warning: first frame is no keyframe
    2010-09-16 08:28:55.336 [mpeg2video @ 0xb50cbca0]warning: first frame is no keyframe
    2010-09-16 08:28:55.342 [mpeg2video @ 0xb50cbca0]warning: first frame is no keyframe
    2010-09-16 08:28:55.465 Preview: Grabbed preview '/storage/tv/1017_20100916082821.mpg' 720x576@664s
    2010-09-16 08:28:55.698 ~MythContext waiting for threads to exit.
    2010-09-16 08:29:11.602 AutoExpire: CalcParams(): Max required Free Space: 2.0 GB w/freq: 15 min
    2010-09-16 08:30:11.711 Expiring 15 MBytes for 1017 @ Thu Sep 16 08:15:00 2010 => Mighty B
    2010-09-16 08:30:11.716 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:30:11.776 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:30:14.736 ProgramInfo(): Updated pathname '':'' -> '1017_20100916082821.mpg'
    2010-09-16 08:31:48.683 MainServer::ANN Playback
    2010-09-16 08:31:48.683 adding: laptop as a client (events: 0)
    2010-09-16 08:31:48.686 MainServer::HandleAnnounce FileTransfer
    2010-09-16 08:31:48.686 adding: laptop as a remote file transfer
    2010-09-16 08:31:48.791 MainServer::ANN Playback
    2010-09-16 08:31:48.792 adding: laptop as a client (events: 0)
    2010-09-16 08:31:48.794 MainServer::HandleAnnounce FileTransfer
    2010-09-16 08:31:48.794 adding: laptop as a remote file transfer
    2010-09-16 08:31:48.843 MainServer::ANN Playback
    2010-09-16 08:31:48.843 adding: laptop as a client (events: 0)
    2010-09-16 08:31:48.846 MainServer::HandleAnnounce FileTransfer
    2010-09-16 08:31:48.846 adding: laptop as a remote file transfer
    2010-09-16 08:31:48.893 MainServer::ANN Playback
    2010-09-16 08:31:48.893 adding: laptop as a client (events: 0)
    2010-09-16 08:31:48.896 MainServer::HandleAnnounce FileTransfer
    2010-09-16 08:31:48.896 adding: laptop as a remote file transfer
    2010-09-16 08:31:48.946 MainServer::ANN Playback
    2010-09-16 08:31:48.947 adding: laptop as a client (events: 0)
    2010-09-16 08:31:48.949 MainServer::HandleAnnounce FileTransfer
    2010-09-16 08:31:48.949 adding: laptop as a remote file transfer
    2010-09-16 08:31:53.676 MainServer::ANN Playback
    2010-09-16 08:31:53.676 adding: laptop as a client (events: 0)
    2010-09-16 08:31:53.678 MainServer::HandleAnnounce FileTransfer
    2010-09-16 08:31:53.679 adding: laptop as a remote file transfer
    2010-09-16 08:31:53.994 MainServer::ANN Playback
    2010-09-16 08:31:53.994 adding: laptop as a client (events: 0)
    2010-09-16 08:31:53.997 MainServer::HandleAnnounce FileTransfer
    2010-09-16 08:31:53.997 adding: laptop as a remote file transfer
    2010-09-16 08:44:03.848 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:44:03.986 TVRec(3): Changing from WatchingLiveTV to None
    2010-09-16 08:44:04.373 ProgramInfo(1012_20100916082849.mpg), Error: Unknown type, recording width was 0
    2010-09-16 08:44:05.281 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:44:05.400 Finished recording American hotrod "Alumitub (2)": channel 1012
    2010-09-16 08:44:05.457 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:44:05.639 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:44:05.668 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:44:10.286 MainServer::ANN Monitor
    2010-09-16 08:44:10.287 adding: laptop as a client (events: 0)
    2010-09-16 08:44:11.791 AutoExpire: CalcParams(): Max required Free Space: 1.0 GB w/freq: 15 min
    2010-09-16 08:44:14.696 mythbackend version: tags/release-0-23 [0.23] www.mythtv.org
    2010-09-16 08:44:14.715 Using runtime prefix = /usr
    2010-09-16 08:44:14.715 Using configuration directory = /home/mythtv/.mythtv
    2010-09-16 08:44:14.762 Empty LocalHostName.
    2010-09-16 08:44:14.762 Using localhost value of tv
    2010-09-16 08:44:15.066 New DB connection, total: 1
    2010-09-16 08:44:15.301 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:44:15.302 Closing DB connection named 'DBManager0'
    2010-09-16 08:44:15.312 Connected to database 'mythconverg' at host: localhost
    2010-09-16 08:44:15.349 Current MythTV Schema Version (DBSchemaVer): 1254
    2010-09-16 08:44:15.399 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:44:15.428 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:44:15.450 MainServer::ANN Playback
    2010-09-16 08:44:15.450 adding: laptop as a client (events: 0)
    2010-09-16 08:44:15.469 MainServer::HandleAnnounce FileTransfer
    2010-09-16 08:44:15.470 adding: laptop as a remote file transfer
    2010-09-16 08:44:15.521 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:44:15.554 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:44:15.630 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:44:16.359 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:16.360 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:16.360 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:16.361 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:16.361 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:16.362 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:16.362 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:16.364 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:16.365 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:16.365 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:16.366 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:21.169 AFD: Opened codec 0x9f86150, id(MPEG2VIDEO) type(Video)
    2010-09-16 08:44:21.170 AFD: codec MP2 has 2 channels
    2010-09-16 08:44:21.170 AFD: Opened codec 0x9f884e0, id(MP2) type(Audio)
    2010-09-16 08:44:21.397 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:21.397 AFD Error: Unknown decoding error
    2010-09-16 08:44:21.398 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:21.398 AFD Error: Unknown decoding error
    2010-09-16 08:44:21.398 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:21.398 AFD Error: Unknown decoding error
    2010-09-16 08:44:21.399 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:21.399 AFD Error: Unknown decoding error
    2010-09-16 08:44:21.400 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:21.400 AFD Error: Unknown decoding error
    2010-09-16 08:44:21.400 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:21.401 AFD Error: Unknown decoding error
    2010-09-16 08:44:21.401 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:21.401 AFD Error: Unknown decoding error
    2010-09-16 08:44:21.401 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:21.402 AFD Error: Unknown decoding error
    2010-09-16 08:44:21.402 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:21.402 AFD Error: Unknown decoding error
    2010-09-16 08:44:21.403 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:21.403 AFD Error: Unknown decoding error
    2010-09-16 08:44:21.404 [mpeg2video @ 0xb501aca0]mpeg_decode_postinit() failure
    2010-09-16 08:44:21.404 AFD Error: Unknown decoding error
    2010-09-16 08:44:21.439 [mpeg2video @ 0xb501aca0]warning: first frame is no keyframe
    2010-09-16 08:44:21.463 [mpeg2video @ 0xb501aca0]warning: first frame is no keyframe
    2010-09-16 08:44:21.487 [mpeg2video @ 0xb501aca0]warning: first frame is no keyframe
    2010-09-16 08:44:21.557 Preview: Grabbed preview '/storage/tv/1012_20100916082849.mpg' 720x576@664s
    2010-09-16 08:44:22.029 ~MythContext waiting for threads to exit.
    2010-09-16 08:44:22.192 MainServer::ANN Playback
    2010-09-16 08:44:22.192 adding: laptop as a client (events: 0)
    2010-09-16 08:44:22.194 MainServer::HandleAnnounce FileTransfer
    2010-09-16 08:44:22.195 adding: laptop as a remote file transfer
    2010-09-16 08:44:22.201 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09-16 08:44:32.345 MainServer::ANN Playback
    2010-09-16 08:44:32.345 adding: laptop as a client (events: 0)
    2010-09-16 08:44:32.348 MainServer::HandleAnnounce FileTransfer
    2010-09-16 08:44:32.348 adding: laptop as a remote file transfer
    2010-09-16 08:44:32.355 ProgramInfo(): Updated pathname '':'' -> '1012_20100916082849.mpg'
    2010-09

    Here's the non-working version (on arch linux):
    2010-09-18 19:48:16.090 mythfrontend version: tags/release-0-23 [0.23] www.mythtv.org
    2010-09-18 19:48:16.090 Using runtime prefix = /usr
    2010-09-18 19:48:16.090 Using configuration directory = /home/cedric/.mythtv
    2010-09-18 19:48:16.818 Empty LocalHostName.
    2010-09-18 19:48:16.819 Using localhost value of laptop
    2010-09-18 19:48:16.819 Clearing Settings Cache.
    2010-09-18 19:48:16.819 Clearing Settings Cache.
    2010-09-18 19:48:16.828 New DB connection, total: 1
    2010-09-18 19:48:16.853 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-18 19:48:16.854 Closing DB connection named 'DBManager0'
    2010-09-18 19:48:16.854 Clearing Settings Cache.
    2010-09-18 19:48:16.875 ScreenSaverX11Private: Gnome screen saver support enabled
    2010-09-18 19:48:16.876 DPMS is active.
    2010-09-18 19:48:16.877 Primary screen: 0.
    2010-09-18 19:48:16.918 Connected to database 'mythconverg' at host: 192.168.31.205
    2010-09-18 19:48:16.922 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'runfrontendinwindow' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:16.922 Using screen 0, 1440x900 at 0,0
    2010-09-18 19:48:16.927 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guioffsetx' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:16.930 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guioffsetx' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:16.934 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guioffsety' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:16.939 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guioffsety' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:16.945 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guiresolution' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:16.953 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guiresolution' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:16.959 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guiwidth' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:16.964 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guiwidth' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:16.968 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guiheight' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:16.974 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guiheight' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.016 Desktop video mode: 1440x900 60.042 Hz
    2010-09-18 19:48:17.020 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guividmoderesolution' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.025 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guividmoderefreshrate' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.032 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guividmoderefreshrate' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.038 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guividmodeforceaspect' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.042 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guividmodeforceaspect' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.047 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'displaysizeresolution' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.051 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'displaysizeresolution' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.054 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'displaysizewidth' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.058 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'displaysizewidth' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.062 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'displaysizeheight' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.066 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'displaysizeheight' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.072 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'tvvidmoderesolution' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.076 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'tvvidmoderefreshrate' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.080 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'tvvidmodeforceaspect' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.085 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'vidmoderesolution0' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.090 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'vidmoderesolution0' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.094 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'vidmodewidth0' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.099 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'vidmodewidth0' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.103 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'vidmodeheight0' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.119 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'vidmodeheight0' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.123 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'tvvidmoderesolution0' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.127 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'tvvidmoderefreshrate0' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.131 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'tvvidmodeforceaspect0' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.141 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'uiimagecachesize' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.145 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'uiimagecachesize' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.146 MythUI Image Cache size set to 20971520 bytes
    2010-09-18 19:48:17.146 Enabling Settings Cache.
    2010-09-18 19:48:17.146 Clearing Settings Cache.
    2010-09-18 19:48:17.176 Enabled verbose msgs: important general database
    2010-09-18 19:48:17.181 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'lcdserverhost' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.190 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'lcdserverhost' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.193 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'lcdserverport' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.197 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'lcdserverport' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.203 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'lcdenable' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.207 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'language' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.228 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'theme' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.233 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'usevideomodes' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.234 Primary screen: 0.
    2010-09-18 19:48:17.239 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'runfrontendinwindow' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.239 Using screen 0, 1440x900 at 0,0
    2010-09-18 19:48:17.240 Using theme base resolution of 1280x720
    2010-09-18 19:48:17.245 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guioffsetx' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.249 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guioffsetx' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.254 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guioffsety' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.258 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guioffsety' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.262 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guiresolution' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.265 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guiresolution' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.270 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guiwidth' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.276 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guiwidth' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.282 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guiheight' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.287 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guiheight' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.295 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'menutheme' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.301 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'qtfontbig' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.305 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'qtfontmedium' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.311 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'qtfontsmall' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.316 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'lircsocket' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.322 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'lirckeypressedapp' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.329 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'lirckeypressedapp' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.329 LIRC, Error: Failed to connect to Unix socket '/var/run/lirc/lircd'
    eno: No such file or directory (2)
    2010-09-18 19:48:17.330 JoystickMenuThread Error: Joystick disabled - Failed to read /home/cedric/.mythtv/joystickmenurc
    2010-09-18 19:48:17.334 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'UP' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.338 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'DOWN' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.343 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'LEFT' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.347 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'RIGHT' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.350 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'NEXT' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.354 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'PREVIOUS' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.359 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'SELECT' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.365 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'BACKSPACE' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.369 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'ESCAPE' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.372 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'MENU' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.376 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'INFO' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.380 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'DELETE' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.385 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'EDIT' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.389 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'PAGEUP' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.396 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'PAGEDOWN' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.399 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'PAGETOP' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.404 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'PAGEMIDDLE' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.408 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'PAGEBOTTOM' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.412 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'PREVVIEW' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.424 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'NEXTVIEW' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.430 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'HELP' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.434 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'EJECT' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.440 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'CUT' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.448 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'COPY' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.451 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'PASTE' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.455 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = '0' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.459 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = '1' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.463 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = '2' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.469 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = '3' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.474 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = '4' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.478 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = '5' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.483 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = '6' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.487 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = '7' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.491 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = '8' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.499 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = '9' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.506 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'SYSEVENT01' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.510 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'SYSEVENT02' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.514 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'SYSEVENT03' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.520 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'SYSEVENT04' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.528 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'SYSEVENT05' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.532 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'SYSEVENT06' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.536 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'SYSEVENT07' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.541 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'SYSEVENT08' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.547 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'SYSEVENT09' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.551 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Global' AND action = 'SYSEVENT10' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.555 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'ZOOMIN' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.563 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'ZOOMOUT' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.568 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'TOGGLEINPUT' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.572 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'MOUSEUP' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.576 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'MOUSEDOWN' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.580 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'MOUSELEFT' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.587 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'MOUSERIGHT' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.591 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'MOUSELEFTBUTTON' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.595 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'PAGEDOWN' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.602 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'PAGEUP' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.606 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'PAGELEFT' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.611 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'PAGERIGHT' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.615 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'NEXTLINK' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.621 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'PREVIOUSLINK' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.631 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'FOLLOWLINK' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.635 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'HISTORYBACK' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.639 MSqlQuery::exec(DBManager0) SELECT keylist, description FROM keybindings WHERE context = 'Browser' AND action = 'HISTORYFORWARD' AND hostname = 'laptop' ; <<<< Returns 1 row(s)
    2010-09-18 19:48:17.654 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'qtfontweak' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.658 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'qtfontweak' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.664 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'hidemousecursor' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.667 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guioffsetx' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.671 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guioffsetx' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.678 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guioffsety' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.682 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guioffsety' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.682 Using Frameless Window
    2010-09-18 19:48:17.682 Using Full Screen Window
    2010-09-18 19:48:17.699 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'themepainter' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.700 Using the Qt painter
    2010-09-18 19:48:17.714 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'themecachesize' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.764 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'themefontsizetype' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:17.770 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'themefontsizetype' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:17.919 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'dateformat' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.923 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'shortdateformat' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:17.930 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'timeformat' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.257 XMLParseBase: Loaded base theme from '/usr/share/mythtv/themes/Terra/base.xml'
    2010-09-18 19:48:18.292 XMLParseBase: Loaded base theme from '/usr/share/mythtv/themes/default-wide/base.xml'
    2010-09-18 19:48:18.307 XMLParseBase: Loaded base theme from '/usr/share/mythtv/themes/default/base.xml'
    2010-09-18 19:48:18.315 MSqlQuery::exec(DBManager0) DELETE FROM settings WHERE value = 'Language' AND hostname = 'laptop' ;
    2010-09-18 19:48:18.319 MSqlQuery::exec(DBManager0) INSERT INTO settings (value,data,hostname) VALUES ( 'Language', 'EN_US', 'laptop' );
    2010-09-18 19:48:18.320 Clearing Settings Cache for 'language'.
    2010-09-18 19:48:18.320 Disabling Settings Cache.
    2010-09-18 19:48:18.320 Clearing Settings Cache.
    2010-09-18 19:48:18.328 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'mythfillfixprogramidshasrunonce' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.335 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'dbschemaautoupgrade' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:18.345 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'dbschemaautoupgrade' AND hostname IS NULL <<<< Returns 0 row(s)
    2010-09-18 19:48:18.351 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'dbschemaver' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:18.357 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'dbschemaver' AND hostname IS NULL <<<< Returns 1 row(s)
    2010-09-18 19:48:18.357 Current MythTV Schema Version (DBSchemaVer): 1254
    2010-09-18 19:48:18.357 Enabling Settings Cache.
    2010-09-18 19:48:18.357 Clearing Settings Cache.
    2010-09-18 19:48:18.361 MSqlQuery::exec(DBManager0) SELECT name FROM displayprofilegroups WHERE hostname = 'laptop' <<<< Returns 9 row(s)
    2010-09-18 19:48:18.365 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'defaultvideoplaybackprofile' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.369 MSqlQuery::exec(DBManager0) SELECT name FROM displayprofilegroups WHERE hostname = 'laptop' <<<< Returns 9 row(s)
    2010-09-18 19:48:18.373 MSqlQuery::exec(DBManager0) SELECT profilegroupid FROM displayprofilegroups WHERE name = 'CPU+' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.378 MSqlQuery::exec(DBManager0) SELECT profileid, value, data FROM displayprofiles WHERE profilegroupid = '2' ORDER BY profileid <<<< Returns 53 row(s)
    2010-09-18 19:48:18.382 MSqlQuery::exec(DBManager0) SELECT profilegroupid FROM displayprofilegroups WHERE name = 'CPU++' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.387 MSqlQuery::exec(DBManager0) SELECT profileid, value, data FROM displayprofiles WHERE profilegroupid = '1' ORDER BY profileid <<<< Returns 20 row(s)
    2010-09-18 19:48:18.391 MSqlQuery::exec(DBManager0) SELECT profilegroupid FROM displayprofilegroups WHERE name = 'CPU--' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.397 MSqlQuery::exec(DBManager0) SELECT profileid, value, data FROM displayprofiles WHERE profilegroupid = '3' ORDER BY profileid <<<< Returns 53 row(s)
    2010-09-18 19:48:18.402 MSqlQuery::exec(DBManager0) SELECT profilegroupid FROM displayprofilegroups WHERE name = 'High Quality' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.407 MSqlQuery::exec(DBManager0) SELECT profileid, value, data FROM displayprofiles WHERE profilegroupid = '4' ORDER BY profileid <<<< Returns 40 row(s)
    2010-09-18 19:48:18.412 MSqlQuery::exec(DBManager0) SELECT profilegroupid FROM displayprofilegroups WHERE name = 'Normal' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.420 MSqlQuery::exec(DBManager0) SELECT profileid, value, data FROM displayprofiles WHERE profilegroupid = '5' ORDER BY profileid <<<< Returns 40 row(s)
    2010-09-18 19:48:18.424 MSqlQuery::exec(DBManager0) SELECT profilegroupid FROM displayprofilegroups WHERE name = 'Slim' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.433 MSqlQuery::exec(DBManager0) SELECT profileid, value, data FROM displayprofiles WHERE profilegroupid = '6' ORDER BY profileid <<<< Returns 40 row(s)
    2010-09-18 19:48:18.441 MSqlQuery::exec(DBManager0) SELECT profilegroupid FROM displayprofilegroups WHERE name = 'VDPAU High Quality' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.448 MSqlQuery::exec(DBManager0) SELECT profileid, value, data FROM displayprofiles WHERE profilegroupid = '7' ORDER BY profileid <<<< Returns 10 row(s)
    2010-09-18 19:48:18.456 MSqlQuery::exec(DBManager0) SELECT profilegroupid FROM displayprofilegroups WHERE name = 'VDPAU Normal' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.460 MSqlQuery::exec(DBManager0) SELECT profileid, value, data FROM displayprofiles WHERE profilegroupid = '8' ORDER BY profileid <<<< Returns 20 row(s)
    2010-09-18 19:48:18.466 MSqlQuery::exec(DBManager0) SELECT profilegroupid FROM displayprofilegroups WHERE name = 'VDPAU Slim' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.472 MSqlQuery::exec(DBManager0) SELECT profileid, value, data FROM displayprofiles WHERE profilegroupid = '9' ORDER BY profileid <<<< Returns 10 row(s)
    2010-09-18 19:48:18.483 MSqlQuery::exec(DBManager0) SELECT DISTINCT recgroup from recorded; <<<< Returns 2 row(s)
    2010-09-18 19:48:18.488 MSqlQuery::exec(DBManager0) SELECT DISTINCT category from recorded; <<<< Returns 2 row(s)
    2010-09-18 19:48:18.493 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'RealtimePriority' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.497 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'DecodeExtraAudio' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.501 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'JumpToProgramOSD' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.505 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'ClearSavedPosition' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.512 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AltClearSavedPosition' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.518 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AutomaticSetWatched' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.525 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'ContinueEmbeddedTVPlay' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.533 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LiveTVIdleTimeout' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:18.541 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AlwaysStreamFiles' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.550 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'UseOpenGLVSync' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.555 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'UseOutputPictureControls' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.559 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'VertScanPercentage' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:18.562 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'YScanDisplacement' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:18.566 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'HorizScanPercentage' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:18.570 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'XScanDisplacement' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:18.574 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AspectOverride' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.579 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AdjustFill' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.583 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LetterboxColour' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.588 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'PIPLocation' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.592 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'PlaybackExitPrompt' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.596 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'EndOfRecordingExitPrompt' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.600 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'DefaultVideoPlaybackProfile' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.604 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'PlayBoxOrdering' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.608 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'PlayBoxEpisodeSort' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.612 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'GeneratePreviewRemotely' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.616 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'PreviewPixmapOffset' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.625 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'PlaybackPreview' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.629 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'HWAccelPlaybackPreview' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.633 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'PlaybackBoxStartInTitle' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.637 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AllRecGroupPassword' <<<< Returns 0 row(s)
    2010-09-18 19:48:18.642 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'DisplayRecGroup' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.646 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'QueryInitialFilter' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.651 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'RememberRecGroup' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.655 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'DispRecGroupAsAllProg' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.661 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'DisplayGroupTitleSort' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.664 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'PlaybackWatchList' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.668 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'PlaybackWLStart' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.673 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'PlaybackWLAutoExpire' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.678 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'PlaybackWLMaxAge' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.682 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'PlaybackWLBlackOut' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.686 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'SmartForward' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.689 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'FFRewReposTime' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.694 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'FFRewReverse' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.699 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'ExactSeeking' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.705 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AutoCommercialSkip' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.709 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'CommRewindAmount' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:18.713 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'CommNotifyAmount' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:18.716 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'MaximumCommercialSkip' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.720 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'MergeShortCommBreaks' <<<< Returns 0 row(s)
    2010-09-18 19:48:18.725 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'CommSkipAllBlanks' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.757 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDTheme' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.761 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDGeneralTimeout' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.765 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDProgramInfoTimeout' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.769 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDFont' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.773 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDThemeFontSizeType' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.778 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'EnableMHEG' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.783 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'PersistentBrowseMode' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.787 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'BrowseAllTuners' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.790 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDNotifyTimeout' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.794 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'UDPNotifyPort' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.799 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCCFont' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.804 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'CCBackground' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.822 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'DefaultCCMode' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.830 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'Prefer708Captions' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.834 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCC708TextZoom' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.840 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCC708DefaultFontType' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.844 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCC708MonoSerifFont' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.855 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCC708PropSerifFont' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.860 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCC708MonoSansSerifFont' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.864 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCC708PropSansSerifFont' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.868 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCC708CasualFont' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.872 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCC708CursiveFont' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.876 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCC708CapitalsFont' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.880 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCC708MonoSerifItalicFont' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.883 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCC708PropSerifItalicFont' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.887 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCC708MonoSansSerifItalicFont' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.893 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCC708PropSansSerifItalicFont' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.897 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCC708CasualItalicFont' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.901 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCC708CursiveItalicFont' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.906 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OSDCC708CapitalsItalicFont' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.910 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'SubtitleCodec' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:18.914 MSqlQuery::exec(DBManager0) SELECT name, id FROM recordingprofiles WHERE profilegroup = '6' ORDER BY id <<<< Returns 5 row(s)
    2010-09-18 19:48:18.918 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'userjobdesc1' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:18.922 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'userjobdesc1' AND hostname IS NULL <<<< Returns 1 row(s)
    2010-09-18 19:48:18.925 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'userjobdesc2' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:18.931 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'userjobdesc2' AND hostname IS NULL <<<< Returns 1 row(s)
    2010-09-18 19:48:18.934 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'userjobdesc3' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:18.939 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'userjobdesc3' AND hostname IS NULL <<<< Returns 1 row(s)
    2010-09-18 19:48:18.944 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'userjobdesc4' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:18.949 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'userjobdesc4' AND hostname IS NULL <<<< Returns 1 row(s)
    2010-09-18 19:48:19.019 MSqlQuery::exec(DBManager0) SELECT DISTINCT category FROM program GROUP BY category; <<<< Returns 1 row(s)
    2010-09-18 19:48:19.024 MSqlQuery::exec(DBManager0) SELECT grpid, name FROM channelgroupnames ORDER BY name <<<< Returns 1 row(s)
    2010-09-18 19:48:19.031 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'ChannelOrdering' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.042 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'ChannelFormat' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.046 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LongChannelFormat' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.052 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'SmartChannelChange' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.056 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LastFreeCard' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.063 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LiveTVPriority' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.067 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AutoExpireMethod' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.074 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AutoExpireDefault' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.077 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'RerecordWatched' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.081 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AutoExpireWatchedPriority' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.086 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AutoExpireLiveTVMaxAge' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.090 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AutoExpireDayPriority' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.094 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AutoExpireExtraSpace' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.099 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AutoExpireInsteadOfDelete' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.102 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'DeletedFifoOrder' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.106 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'DeletedMaxAge' <<<< Returns 0 row(s)
    2010-09-18 19:48:19.113 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'CommercialSkipMethod' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.116 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AggressiveCommDetect' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.120 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'DefaultTranscoder' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.126 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'DeferAutoTranscodeDays' <<<< Returns 0 row(s)
    2010-09-18 19:48:19.130 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AutoCommercialFlag' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.135 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AutoTranscode' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.139 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AutoRunUserJob1' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.144 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AutoRunUserJob2' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.153 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AutoRunUserJob3' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.158 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'AutoRunUserJob4' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.163 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'RecordPreRoll' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.166 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'RecordOverTime' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.170 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'OverTimeCategory' <<<< Returns 0 row(s)
    2010-09-18 19:48:19.175 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'CategoryOverTime' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.180 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'ChannelGroupRememberLast' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.184 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'ChannelGroupDefault' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.188 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'BrowseChannelGroup' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.193 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'EPGShowCategoryColors' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.197 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'EPGShowChannelIcon' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.201 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'WatchTVGuide' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.205 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'UnknownTitle' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.208 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'UnknownCategory' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.212 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'DefaultTVChannel' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.216 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'SelChangeRecThreshold' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.221 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'EPGEnableJumpToChannel' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.242 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'guividmoderesolution' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.248 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'iso639language0' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.257 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'iso639language1' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.267 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'Theme' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.271 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'ThemeCacheSize' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.274 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'ThemePainter' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.279 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'MenuTheme' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.284 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'GuiWidth' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:19.288 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'GuiHeight' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:19.292 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'GuiOffsetX' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:19.296 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'GuiOffsetY' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:19.301 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'GuiSizeForTV' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.306 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'HideMouseCursor' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.309 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'RunFrontendInWindow' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.315 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'UseFixedWindowSize' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.319 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'UseVideoModes' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.323 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'GuiVidModeResolution' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.327 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'TVVidModeResolution' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.331 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'TVVidModeRefreshRate' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.335 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'TVVidModeForceAspect' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.338 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'VidModeWidth0' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:19.346 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'VidModeHeight0' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:19.350 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'TVVidModeResolution0' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.354 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'TVVidModeRefreshRate0' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.359 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'TVVidModeForceAspect0' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.363 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'VidModeWidth1' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:19.368 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'VidModeHeight1' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:19.372 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'TVVidModeResolution1' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.378 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'TVVidModeRefreshRate1' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.381 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'TVVidModeForceAspect1' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.387 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'VidModeWidth2' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:19.393 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'VidModeHeight2' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:19.397 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'TVVidModeResolution2' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.401 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'TVVidModeRefreshRate2' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.405 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'TVVidModeForceAspect2' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.409 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'Language' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.413 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'ISO639Language0' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.417 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'ISO639Language1' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.422 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'DateFormat' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.429 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'ShortDateFormat' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.437 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'TimeFormat' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.445 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'QtFontSmall' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.449 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'QtFontMedium' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.454 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'QtFontBig' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.462 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'QtFonTweak' AND hostname = 'laptop' <<<< Returns 0 row(s)
    2010-09-18 19:48:19.466 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'PlayBoxTransparency' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.473 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'PlayBoxShading' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.476 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'UseVirtualKeyboard' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.480 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LCDEnable' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.484 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LCDShowTime' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.488 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LCDShowMenu' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.492 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LCDShowMusic' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.496 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LCDShowMusicItems' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.500 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LCDShowChannel' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.505 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LCDShowRecStatus' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.508 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LCDShowVolume' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.515 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LCDShowGeneric' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.519 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LCDBacklightOn' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.522 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LCDHeartBeatOn' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.526 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LCDBigClock' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.531 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LCDKeyString' AND hostname = 'laptop' <<<< Returns 1 row(s)
    2010-09-18 19:48:19.535 MSqlQuery::exec(DBManager0) SELECT data FROM settings WHERE value = 'LCDPopupTime' AND hostname = 'laptop' <<<< Retur

  • Why is so hard to get a good deal when it's time to upgrade!

    I dont understand this at all, All I Want is to get the same service plans as my neighbors and family. I have been a Verizon Fios customer since the service was introduced years ago. And, I was never happier, until it came time to upgrade.  And it happens every time.  
    Tonight for instace I again tried to get a better deal.  So I checked what was being offered to me on the website. For basically the same service, It's more expensive!  So I found a great deal online, I called in this time. Apparently the deal is only available to NEW customers. So I attempt to explain what I use, Limited cable, the normal main channels. I mainly use my Apple TV and stream.  So I was offered a cheaper plan,with adeal for HBO. (Sweet)
    An hour later - the wife screaming she is missing a few " Normal " Channels - MTV, Animal Planet, Cooking... Basically ALL the channels worth watching to her. So, I called back and canceled the order. This sucks!
    As it turns out, it's cheaper for me to keep my existing service. The only offer you gave me was for faster internet, and it cost more! It is completely disheartening to know that I recommended your services to friends and clients. 
    Why is it so hard to sign on to a better deal when it's time to re-commit to your service. You make such good offers, but they are only available to new customers. Loyalty really does mean nothing today. Not just because I pay my bill, but because I believed in it enough to tell others about this service and how happy i WAS on a daily basis.
    I hate Comcast with every bone in my body. But if I can't get a deal where I can be happy with not selling my soul, Ill go to them. 
    Just state what it is - Why are you hiding the fact that Basic Cable  is Basic Cable.  Labeling everything with HD is misleading and almost a direct point to mislead a customer. It's like saying water  is just as good as beer, they start from the same state.
    Not everyone is looking at the web page when talking on the phone.
    MTV and Animal planet are "Premium Channels"  - What?
    I have had the same hardware since I started, Everything I own is wireless so up and download speed are totally dependent on what is connected. But since I use my own hardware my personal network is faster. The up/Down connection won't make a difference. So upping my speed is not a benefit unless you are planning to install fiber for me in my walls, i have the hardware.
    Hire someone that knows Mac's - I get tired of answering questions for you all day.

    I recently called and was offered an upgrade with fios perferred hd, 75/75 internet, and 2 yrs free for all movie channels for $118 a month. I called to complain that I cant pay my bill online and their first response was to see how they can upgrade my services. Keep calling and hope you get a good rep.

  • Anyway to get a 1080p signal from fios?

    A couple of weeks ago, I purchased a 32 Inch Sony Bravia 720p but yet 1080p compatible HDTV. I know my TV is capable of receiving 1080p signals as most HDTV’s are in the modern era. However, Fios via the HD DVR only broadcast up to a 1080I signal. My question is this, is there anyway to get a 1080p signal from Fios or will 1080I have to be settled for? What I mean is under video options on the set top box the options are 480I, 480P, 720P and 1080I there is no 1080P option.

    BigDaddyTees wrote:
    I’m sort of glad I didn’t opt for a 1080p tv then as in my case it probably would have been a waste, aside from playing BLU ray disk/HD video games. I’m someone who mostly watches their tv and occasional does other things with it (see above.)
    All channels are already distributed in compressed format (typically MPEG-2). Some cable providers pass the local HD channels as they receive them, but virtually all apply additional compression on the cable HD channels (i.e. they re-compress). Verizon FiOS is the only major provider does not recompress any of its HD channels to save bandwidth. FiOS does recompress a few [mostly premium] channels distributed in MPEG4 format, but only to redistribute them in MPEG2 for those without MPEG4-capable receivers.
    Not all content providers allocate and equal bitrate to their HD channels.  Most channels are distributed via rented capacity on satellite, and that costs serious money, especially for content providers that supply mutiple HD channels.  More budget consious content providers may use lower bitrates, either to minimize satellite carriage costs and/or make their channels more enticing to cable providers that face severe bandwidth constraints.  If a particular cable provider is constrained for bandwidth, they may be willing to add a $10,000 in time and equipment to recompress TNTHD -- a channel many demand -- but they may not be as willing to do the same thing for a lesser watched channel like HGTV.  Cable channels like ESPN, TNT, USA, SciFi, Hdnet, MHD, and CNBC all distribute their channels at fairly high bitrates, while cable channels like HGTV, Discovery Channel, Animal Planet, and the Science Channel are distributed with significantly lower bitrates.
    Local broadcasters (ex: ABC/FOX/CBS/NBC) all have 19.4Mbps available to work with, but that must be split between the main HD feed, any SD subchannels for traffic/weather/etc, and a limited amount of PSIP guide data. Some broadcast networks also sell a portion of their bandwidth to other companies for commercial datacast purposes.  These days, it's very rare to find a network affiliate that uses anything close to 19.4Mbps.  Most independently owned NBC and CBS affiliates dedicate just 12-14Mbps to their HD feed, with the rest used for weather / traffic / news subchannels.  A 12-14Mbps feed is generally sufficient to provide a high-quality picture on 1080p24 sourced content like movies and episodic series -- albeit with some added blurring on motion -- but is often inadequate to provide a high-quality picture on native 1080i60 video with lots of movement, such as sports.  Today, the best network picture is typically found on CBS owned-and-operated affiliates, as they all devote at least ~16.0Mbps to their HD feeds.
    Less bandwith for the HD feed translates into higher compression.  Generally, the first thing compression equipment does is is filter [out] shadow detail.  This includes fine details that you might see in faces, hair, and clothes.  After that, compression equipment will reduce the amount of motion information in the picture signal, resulting in more blurring. Compression may also reduce the color gradations in certain parts of the image. When all this is inadequate for a certain scene to achieve the desired bitrate set by the cable company or broadcaster, you'll start to see more obvious defects like blocking and/or stutter (dropped frames). This is most common in motion scenes, which require significantly more bandwidth than static scenes.
    In an ideal world, Verizon FiOS would obtain full-bandwidth 19.4Mbps feeds from each ABC/CBS/NBC affiliate, but that just isn't an option without buying thousands of dollars in new equipment for each affiliate.  Most local networks use equipment that allows them to output their commercially-integrated channel at one bitrate and one bitrate only, so Verizon is stuck with the same feed used OTA.  Perhaps one day, when Verizon makes the move to MPEG4, it will offer to buy new new encoders for CBS and NBC affiliates in major markets, to provide the absolutely best picture available [anywhere] on those channels.  We can dream.
    If you are the original poster (OP) and your issue is solved, please remember to click the "Solution?" button so that others can more easily find it.

  • Having problem importing a class

    When I compile my program called Dic2.java, I get the following error:
    C:\Program Files\Java\jdk1.6.0_01\bin>javac Dic2.java
    Dic2.java:1: '.' expected
    import Entry;
    ^
    1 error
    I compiled my Entry class and it did just fine. Here is my code for Dic2.java:
    import Entry;
    public class Dic2
      protected Entry entries[];
      public Dic2(String puzzle)  // constructor
        if (puzzle == "unscramble")
          entries[0] = new Entry("stupid", "Insult");
          entries[1] = new Entry("monkey", "Zoo animal");
          entries[2] = new Entry("meerkat", "Animal Planet had a series set in the Kalahari Desert featuring this small furry animal");
          entries[3] = new Entry("burrow", "Where meerkats sleep and raise their pups");
          entries[4] = new Entry("boogers", "Gross things");
    }I don't know why my compiler wants a period. I hope you can help me. Your help will be greatly appreciated.

    I know you're gonna think I'm crazy, but I I've just started using jdk1.6.0_01 after years of using my more familiar jdk1.2.1. I'm used to compiling packages to jdk1.2.1/jre/classes/com/whatever. I have done similar programs using my own classes in my old version and didn't have to compile them to a package. Is this a newer requirement?
    Also, which path should I take to compile a class in the newer jdk1.6.0_01? It's all different from my old jdk1.2.1.

Maybe you are looking for

  • F2FS and rEFInd don't play well together?

    For a few days now I've been trying to install the F2FS file system onto an HP Envy 6 laptop with a tiny (30GB) Intel SSD.  The SSD itself is enterprise-grade and is fully functional to my knowledge at the time of this writing.  I will be testing tha

  • Passing a user-entered value of one variable to other.

    Hi Experts, I am writing an exit for a variable 'Ref. Date' which is the FROM value of 'Cal. Week' variable. Code works fine when written in CASE I_STEP = 2 of 'Ref. Date' . But errs when "Ready for input" condition is unticked. ('Ref. Date' is used

  • PIC32 and RS232 Issue

    Hi everybody i'm new in labview, i've a problem with my two LabView interfaces for RS232 comunication trough PIC32 and PC. My purpose is to visualize in 31 text boxes a series of data transmitted from PIC. The data format transmitted is SGL 32bit for

  • ISync not installed after upgrade to 10.4.6

    After install of 10.4.6, I can't find iSync icon anywhere on my computer. I found the install in Library- Receipts- iSync.Pkg (with an installer). When I activate the installer it will not complete the install. I need help getting iSync back into my

  • Help Please! Exception Error with Threads

    In my program i get this: java.lang.NullPointerException      at kmess$SocketClient.run(kmess.java:336)      at java.lang.Thread.run(Thread.java:536)line 336 refers to this part of my code: public void run()           if(getdata.equals(Thread.current