[mythtv-users] New release of scte65scan (mainly for Comcast users)

RAM ram at bca.com
Tue Jun 9 02:40:08 UTC 2009


Found Dennis' program over the weekend and bit the bullet and switched 
from using an analog port to one of my hdhomerun ports.

I did run into one problem which I worked around, and then tonight I 
made a hack to scte65scan.c which provides one workaround, but Dennis 
can probably come up with a better one.

Problem -->  Existing system had 1 analog and 3 digital tuners 
(WinTV-HVR 1600 & HDhomerun) and the SQL script generated started with 
mplexid = 1.  This resulted in an error for a duplicate value when it 
hit an existing database entry. 

My workaround which was gleaned from previous messages was to
1)    Delete all Video Sources and Input Connections and create a new 
one for the hdhomerun port I was using (2nd port FYI)

2)    Go through and run the scte65scan generated scripts, 
mythfilldatabase, go back in and set starting channel.

3)   Re-add the other Video Sources and Input Connections.


My hack allows a fixed offset to be added to all the generated SQL 
commands, which should allow you to specify a starting point above the 
last existing entry, and if you want to have a second CC digital input 
you could use it to move the start of the generated "mplexid".

To find what value to use
    mysql  -u username   -ppassword   mythconverg
then
     select * from dtv_multiplex;
and to exit mysql
    quit;

FYI    the info for 95132  is   California/San Jose/95132/3065/0x0bf9/

Roy

The Hack  ****************************************************

37a38
 > int mplexid_offset=0;
511c512
<       printf("INSERT INTO dtv_multiplex SET 
sistandard='atsc',mplexid=%d,frequency=%d,modulation='qam_256',sourceid=%d;\n", 
i, cds->cd[i], outfmt->myth_srcid);
---
 >       printf("INSERT INTO dtv_multiplex SET 
sistandard='atsc',mplexid=%d,frequency=%d,modulation='qam_256',sourceid=%d;\n", 
(i+mplexid_offset), cds->cd[i], outfmt->myth_srcid);
532c533
<       printf(" SET mplexid=%d", vc_rec->cds_ref);
---
 >       printf(" SET mplexid=%d", (mplexid_offset + vc_rec->cds_ref));
560c561
<         printf("UPDATE dtv_multiplex SET modulation='qam_64' WHERE 
mplexid=%d;\n",vc_rec->cds_ref);
---
 >         printf("UPDATE dtv_multiplex SET modulation='qam_64' WHERE 
mplexid=%d;\n",(mplexid_offset + vc_rec->cds_ref));
562c563
<         printf("UPDATE dtv_multiplex SET modulation='16vsb' WHERE 
mplexid=%d;\n",vc_rec->cds_ref);
---
 >         printf("UPDATE dtv_multiplex SET modulation='16vsb' WHERE 
mplexid=%d;\n",(mplexid_offset + vc_rec->cds_ref));
564c565
<         printf("UPDATE dtv_multiplex SET modulation='8vsb' WHERE 
mplexid=%d;\n",vc_rec->cds_ref);
---
 >         printf("UPDATE dtv_multiplex SET modulation='8vsb' WHERE 
mplexid=%d;\n",(mplexid_offset + vc_rec->cds_ref));
592c593
<       printf(" SET mplexid=%d", vc_rec->cds_ref);
---
 >       printf(" SET mplexid=%d", (mplexid_offset + vc_rec->cds_ref));
617c618
<         printf("UPDATE dtv_multiplex SET modulation='qam_64' where 
mplexid=%d;\n",vc_rec->cds_ref);
---
 >         printf("UPDATE dtv_multiplex SET modulation='qam_64' where 
mplexid=%d;\n",(mplexid_offset + vc_rec->cds_ref));
619c620
<         printf("UPDATE dtv_multiplex SET modulation='16vsb' where 
mplexid=%d;\n",vc_rec->cds_ref);
---
 >         printf("UPDATE dtv_multiplex SET modulation='16vsb' where 
mplexid=%d;\n",(mplexid_offset + vc_rec->cds_ref));
621c622
<         printf("UPDATE dtv_multiplex SET modulation='8vsb' where 
mplexid=%d;\n",vc_rec->cds_ref);
---
 >         printf("UPDATE dtv_multiplex SET modulation='8vsb' where 
mplexid=%d;\n",(mplexid_offset + vc_rec->cds_ref));
1180a1182
 >          "    -M N    mplexid start offset (used if multiple cards) 
(default N=0)\n"
1217c1219
<   while ((opt = getopt (argc, argv, "A:D:F:H:i:t:s:V:n:f:qpkvh")) != -1)
---
 >   while ((opt = getopt (argc, argv, "A:D:F:H:i:M:t:s:V:n:f:qpkvh")) 
!= -1)
1244a1247,1251
 >
 >       case 'M':
 >         mplexid_offset = atoi (optarg);
 >         break;
 >



More information about the mythtv-users mailing list