[vdr] implementing channel plug-in

Theunis Potgieter theunis.potgieter at gmail.com
Tue Jan 5 09:40:50 CET 2010


2010/1/4 Klaus Schmidinger <Klaus.Schmidinger at tvdr.de>:
> On 04.01.2010 16:09, Theunis Potgieter wrote:
>> 2010/1/4 Klaus Schmidinger <Klaus.Schmidinger at tvdr.de>:
>>> On 04.01.2010 14:37, Theunis Potgieter wrote:
>>>> I was in search for a plug-in that could map alternative long names to
>>>> the supposedly current long name of a channel. I guess I didn't search
>>>> hard and long enough, but could not find one that would implement this
>>>> behaviour. The idea is, that when ever a channel list is called, it
>>>> will provide the alternative long name, but saves the original long
>>>> name in channels.conf.
>>>>
>>>> So I thought of implementing one my self. After reading the
>>>> PLUGINS.html from VDR-1.7.10, I thought it would be possible. I didn't
>>>> see any spoon feeding when it came to channels in the documentation,
>>>> so I thought I will have a look at channels.h and there seems to be a
>>>> member function called Name() in the tChannelID class. Would it be
>>>> wise then to copy the tChannelID class and replace the member function
>>>> Name()?
>>> tChannelID has no member function named Name().
>>> Maybe you mean the cChannel class?
>>> I guess if you change the implementation of cChannel::Name(), then you
>>> could do what you want.
>>
>> Thanks for that. I must have scrolled back up and saw the wrong class,
>> I meant cChannel:Name().
>>
>>>> Which global pointer will I have to deleted and assign to the new object?
>>> I don't understand this question.
>>> There is no "new object".
>>> You will have to patch the VDR source to implement this.
>>
>> The idea is that the plug-in would delete the current instance of
>> cChannel and instantiate a new cChannel instance in the place there
>> of. This without having to patch vdr to implement this feature. There
>> for the question about the (e.g. global) pointer that is pointing to
>> the original instance of cChannel. Is there a member function in the
>> plug-in class that can be called from VDR's main and hand over such a
>> pointer?
>
> There is an object of cChannel for each channel, and they are stored in
> a list. You can either patch VDR to modify cChannel::Name() so that it
> takes the original name as an index into some database of yours, or
> modify the names in your channels.conf and set "Setup/DVB/Update channels"
> to "PIDs only".
>
> Just curious: what's wrong with the original names?

The long names and the short names are the same. Asking my broadcaster
to fix it would achieve the same results as if you would be talking to
a brick wall :)

>
> Klaus
>
> _______________________________________________
> vdr mailing list
> vdr at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>



More information about the vdr mailing list