[mythtv-users] subtitle matching rule not working

Michael T. Dean mtdean at thirdcontact.com
Sun Aug 16 05:12:43 UTC 2009


On 08/15/2009 10:58 PM, Bill Williamson wrote:
> On Sun, Aug 16, 2009 at 1:01 AM, Michael T. Dean wrote:
>   
>> On 08/15/2009 04:12 AM, Bill Williamson wrote:
>>     
>>> Why should program ID matter when I tell it to match via subtitle?  I
>>> know that shepherd is very dicky with its programids...
>>>       
>> Because programid, if it exists, is considered the ultimate arbiter of
>> uniqueness, so it always overrides the chosen duplicate-check method when
>> both the old recorded episode and the new program listings episode have a
>> programid.  The programid is meant to be a unique key for each episode of a
>> show.  If it's anything else, your grabber needs to be fixed to not provide
>> a programid.
> Thanks for the rundown of the details, it led me to my problem.
>
> Shepherd NEVER puts ANY programIDs on shows.  Due to this mythtv tries
> to double-record shows that have no subtitle (such as the news) when
> it's on the SD and HD simulcast channels.
>
> To resolve this I was reccomended the following cron-job script:
>
> /bin/echo 'update program set
> programid=concat(starttime,endtime,title) where programid="";' |
> /usr/bin/mysql mythconverg -u mythtv
>
>
> I understand what it's doing, why it fixed my INITIAL issue, and NOW
> why it's breaking things (it wasn't coming up before because other
> channels don't replay as much over and over).
>
> It seems to me that a more logical version of this script would be:
>
> bin/echo 'update program set programid=concat(starttime,endtime,title)
> where programid="" and subtitle="";' | /usr/bin/mysql mythconverg -u
> mythtv
>
>
> That way it will ONLY set a "hard" programid for shows which do not
> have a subtitle (and thus wouldn't ever match duplicate checking
> anyways).
>
> Thoughts?

As I mentioned above, the programid is meant to be a unique ID for each 
/episode/ of a show.  Unless you have a way to determine exactly which 
episode is which and assign it a well-defined programid (that would be 
used in /all/ cases where the episode is shown and /only/ when that 
episode is shown and used by you and your listings provider), do /not/ 
mess with programid.

When you put starttime and/or endtime in an episode's programid, that 
episode will /never/ be marked as a duplicate (because all the other 
showings at other times will have different starttimes/endtimes, and 
therefore will have different programid's).  So, this--with the hack you 
were told to do or the modified version of the hack--will actually 
/cause/ the problem you're seeing.  Having a /blank/ programid will 
actually cause Myth to use your chosen dup matching method, subtitle.

But you now seem to be trying to "fix" duplicate detection for episodes 
where there's no subtitle (as you've now realized that if you don't 
break your data, Myth will do the right thing for shows with 
subtitles).  However, an episode without a subtitle is a special 
episode--a generic episode--so it's treated completely differently, 
anyway.  If what you're trying to do is tell Myth to not record 
"generic" episodes, what you /actually/ want to do is to specify the 
"Exclude generic episodes" filter on the recording rule.

So, a) don't mess with any programid's (whether the episode has a 
subtitle or not) and b) use an "Exclude generic episodes" filter if you 
don't want generics.  The idea behind the cron-job script someone 
recommended you run is completely broken.

Mike


More information about the mythtv-users mailing list