Jump to content


Photo

service number


  • Please log in to reply
30 replies to this topic

#1 awx

  • Senior Member
  • 297 posts

+17
Neutral

Posted 5 January 2012 - 08:01

Would it be possible to change eServiceReference to store the service number and eServiceReferenceDVB to take a service number as a parameter to the constructor?
Currently in db.h we in loadServicelist we read service_number from lamedb but we never store or use it other than to check if it is set to -1 to skip the service in lamedb.

If we store it then we can let people set service numbers for the whole list, but it would also allows us to add something like #NUMBER to the user bouquets to allow for individual service numbering in bouquets.
Of course this requires a change to InfoBarNumberZap and ChannelNumber renderer, but I think this would allow us to be more flexible with channel numbering and also keep old behaviour and compatibility with userbouquets from other enigma2 releases.

Re: service number #2 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 5 January 2012 - 10:26

IMHO service_number should not be part of the servicereference.
The servicereference should uniquely identify a service.
By adding a service_number, you could have multiple instances of the same service, with different service_numbers.
This would seriously mess with the dvb hardware allocation in e2.

Having the service type as one of the serviceref fields is causing us enough trouble already, as servicetypes can be wrong, causing duplicates.

Re: service number #3 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 5 January 2012 - 10:28

Actually, just adding it to the serviceref, but NOT in the serviceref string (nor in the '==' operator), would be harmless of course.

Re: service number #4 awx

  • Senior Member
  • 297 posts

+17
Neutral

Posted 5 January 2012 - 10:36

Actually, just adding it to the serviceref, but NOT in the serviceref string (nor in the '==' operator), would be harmless of course.

Thats what I had in mind, just havnig it set and having a getter method for it.
This would allow us to set a global service number for each serviceref and one for each one in the user bouquets.
This also wouldnt hurt to have in the native c layer with out implementing anything in the python source.

Ofcourse you have a small impact on memory which is n*( size of unsigned short or size of whatever data type ) where n is the number of service reference.

Re: service number #5 awx

  • Senior Member
  • 297 posts

+17
Neutral

Posted 20 January 2012 - 09:53

Does enigma2 have any limit on the size of channel numbers?

Re: service number #6 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 20 January 2012 - 10:47

no, just check the datatypes which are used to store the channel number.
However, if you look at the logical channel descriptor (used by providers to provide channel numbering), the channel id is only 10 bits...

Re: service number #7 awx

  • Senior Member
  • 297 posts

+17
Neutral

Posted 20 January 2012 - 10:52

no, just check the datatypes which are used to store the channel number.
However, if you look at the logical channel descriptor (used by providers to provide channel numbering), the channel id is only 10 bits...

Ok, well then for now I will use 2 bytes to store the channel number.
I have solution for channel numbering, I just need to fix a few things and then I will post it here.
The solution should allow you to keep the current behaviour by default and allow custom numbering.

Re: service number #8 awx

  • Senior Member
  • 297 posts

+17
Neutral

Posted 22 January 2012 - 22:00

no, just check the datatypes which are used to store the channel number.
However, if you look at the logical channel descriptor (used by providers to provide channel numbering), the channel id is only 10 bits...

Do you know how I can get the service list listbox on the ChannelSelection screen to update?
The only way I can get it to update is by flushing all changes, this seems to work for when I hard and remove services, but when I move service around the list does not seem to get refreshed. I don't understand were the caching is happening, could you give some help here?

Re: service number #9 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 23 January 2012 - 10:52

You mean the channel number is not refreshed, when you move a service around?
Or does the service not move at all?

Re: service number #10 awx

  • Senior Member
  • 297 posts

+17
Neutral

Posted 23 January 2012 - 11:36

You mean the channel number is not refreshed, when you move a service around?
Or does the service not move at all?

The channel is not refreshed.
The way my changes work is that they modify the service reference in the bouquet, but after this it seems the channel is not refreshed.

Re: service number #11 awx

  • Senior Member
  • 297 posts

+17
Neutral

Posted 25 January 2012 - 22:48

Here is a patch to change how channel numbering works
basically the current behaviour is kept the same so it starts numbering the channel numbers from 1 and incrementing
If you enter a line in the bouquet file like the one below then the channel number sets that channel to use that number and keeps numbering from that channel number onwards or until it finds another line.
#CHANNEL 120

Right now add and remove service work, but the channel is not correctly numbered, this can be fixed by flushing the changes to the bouquets, but I left this out for now since it does not help to do that when moving services and I would like a general solution for all of them. If anyone has a solution for that please let me know.

Zapping seems to work, and displaying the channel number correctly in the channel list and info bar.

Also channel numbering works more efficiently this way since we don't have to always loop through lists to number the channels.

Attached Files



Re: service number #12 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 25 January 2012 - 23:03

how are channel number conflicts handled?
If a user would for instance place a lower number behind a higher number? (leading to duplicate ranges I guess)
Or if a user simply adds duplicate numbers?

Re: service number #13 awx

  • Senior Member
  • 297 posts

+17
Neutral

Posted 25 January 2012 - 23:07

how are channel number conflicts handled?
If a user would for instance place a lower number behind a higher number? (leading to duplicate ranges I guess)
Or if a user simply adds duplicate numbers?

It first searches the bouquet you are currently on, so if it finds the number in there then it uses that one, otherwise it goes through all your bouquets starting with the first one and picks the first channel with that number.

Re: service number #14 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 25 January 2012 - 23:17

ok, this might also be useful for our 'fastscan' or 'cablescan'.
Means we no longer need the 'numbered' markers hack I had to make for those.

Re: service number #15 awx

  • Senior Member
  • 297 posts

+17
Neutral

Posted 30 January 2012 - 19:49

ok, this might also be useful for our 'fastscan' or 'cablescan'.
Means we no longer need the 'numbered' markers hack I had to make for those.

looks like reload bouquets is need to get this to update the list, which works for adding and removing services.
Any idea if a different object is created for the service list? I can't seem to track down when the channel number doesn't update other that the list may have a different service object

Re: service number #16 awx

  • Senior Member
  • 297 posts

+17
Neutral

Posted 5 February 2012 - 00:40

Here is the complete patch for adding channel numbering.

Attached Files



Re: service number #17 silid

  • Member
  • 15 posts

0
Neutral

Posted 7 August 2012 - 14:49

Has this been implemented in any builds yet? I am looking for an image that supports LCN.

Re: service number #18 littlesat

  • PLi® Core member
  • 56,274 posts

+691
Excellent

Posted 7 August 2012 - 15:06

What do you mean with LCN...

We just revised the complete channel number system.... now without using any 'shadow' database... But not by adding a number field to the services/bouquets that needs to upgraded/updated.

Edited by littlesat, 7 August 2012 - 15:20.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: service number #19 silid

  • Member
  • 15 posts

0
Neutral

Posted 7 August 2012 - 15:33

Thanks for your reply. LCN = Logical Channel Number.

So am I able to assign arbitrary numbers to channels now without them having to be sequential?

Re: service number #20 littlesat

  • PLi® Core member
  • 56,274 posts

+691
Excellent

Posted 7 August 2012 - 17:15

That is something that is in priciply not done... but there exist some plugin that come close to it.... Even this patch doesn't do this as it does a sequential renumbering....

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W



0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users