--- mythtv-0.19/libs/libmythtv/tv_rec.cpp.orig	2006-07-24 20:00:42.000000000 +1000
+++ mythtv-0.19/libs/libmythtv/tv_rec.cpp	2006-07-24 20:06:06.000000000 +1000
@@ -3414,39 +3414,69 @@
 {
     QString channum, input;
     if (request.program)
+    {
         request.program->GetChannel(channum, input);
+        VERBOSE(VB_IMPORTANT, LOC_ERR +
+                    QString("Set1 channum %1 input %2")
+                    .arg(channum).arg(input));
+    }
     else
     {
         channum = request.channel;
         input   = request.input;
+        VERBOSE(VB_IMPORTANT, LOC_ERR +
+                    QString("Set2 channum %1 input %2")
+                    .arg(channum).arg(input));
 
         // If this is Live TV startup, we need a channel...
         if (channum.isEmpty() && (request.flags & kFlagLiveTV))
         {
             input   = genOpt.defaultinput;
             channum = GetStartChannel(cardid, input);
+            VERBOSE(VB_IMPORTANT, LOC_ERR +
+                        QString("Set3 channum %1 input %2")
+                        .arg(channum).arg(input));
         }
     }
     bool ok = false;
     if (channel)
+    {
         channel->Open();
+        VERBOSE(VB_IMPORTANT, LOC_ERR + QString("CASE1"));        
+    }
     else
+    {
         ok = true;
+        VERBOSE(VB_IMPORTANT, LOC_ERR + QString("CASE2"));        
+    }
 
     if (channel && !channum.isEmpty())
     {
+        VERBOSE(VB_IMPORTANT, LOC_ERR + QString("CASE3"));        
         if (channum.find("NextChannel") >= 0)
         {
+            VERBOSE(VB_IMPORTANT, LOC_ERR + QString("CASE4"));        
             int dir = channum.right(channum.length() - 12).toInt();
+            VERBOSE(VB_IMPORTANT, LOC_ERR + QString("dir=%1").arg(dir));        
             channum = GetNextChannel(channel, dir);
+            VERBOSE(VB_IMPORTANT, LOC_ERR + QString("channum=%1").arg(channum));        
         }
 
         if (!input.isEmpty())
+        {
+            VERBOSE(VB_IMPORTANT, LOC_ERR + QString("CASE5"));        
             ok = channel->SwitchToInput(input, channum);
+        }
         else if (channum.find("ToggleInputs") >= 0)
+        {
+            VERBOSE(VB_IMPORTANT, LOC_ERR + QString("CASE6"));        
             ok = channel->ToggleInputs();
+        }
         else
+        {
+            VERBOSE(VB_IMPORTANT, LOC_ERR + QString("CASE7"));        
             ok = channel->SetChannelByString(channum);
+        }
     }
 
     if (!ok)
