Blueprint : Restore channel scanning

Asked by Pascal Noisette on 2012-12-09

Hi,

Following our previous thread about a todo list for me-tv, I started to think about restoring channel scanning without using w_scan.

Here is a comparison between the 1.3 monolithic code with the 1.4 client server one :
In 1.3, the ui asks the user to start the channel scanning. The scan related code can run and update the ui while channel are found.
In 1.4, the client ui is independant from any dvb processing. If the user choose channel scanning, only a command could be sent to the server instead.

Blueprint :
- add a new command to the server to retrive a list of all available country
- restore the option in client ui to start channel scanning
- add a new command to the server to trigger channel scanning, with a country parameter
- channel processing : three options
* restore scan.h / scan.c code,
* include the w_scan source code
* exec w_scan command
- add a new command to the server to get scanning progress (sync/async ? how ?)
- poll/push? from client ui to get progress

I wonder If I can remove as much code as possible (scan.h/scan.c,...) to replace it with w_scan. Me-tv will be relieved from supporting the scanning process itself (less support needed) and be able to do it (without command line).

The issue with the easiest way to do it : exec w_scan, is that I can't update the progress and inform the client ui of what is going on. A user friendliest way I might try is link the w_scan source code in me-tv so as keep control of the progress.
Anyway, the w_scan produices a channel.conf file which must be reimported once completed (automatically).

Maybe the easiest way to keep track of the scanning progress is to restore the scan.c/scan.h subroutine ;) instead of my lead on w_scan ?

Pascal

Question information

Language:
English Edit question
Status:
Answered
For:
Me TV Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Skip D. (good-old-skip) said :
#1

Hello,

a few months ago I dealed with supporting of different satellite positions via DISEQC in me-tv.

I just would like to point you to the question whether a new scan function should support all the Digital TV modes like DVB-T, DVB-C, DVB-S and so on.
I'm feeling that especially DVB-S/S2 needs handling of some details like satellite position, support of Disecq switches or antenna rotors. As far as I know, DVB-S2 for HD channels needs to use a newer version of the DVB-API.
Beside this, we should handle scan options for scanning for TV/Radio/Free channels.
It could also be useful to peek how the guys from Kaffeine do that stuff.

Please don't misunderstand me: I find it a great idea to redeploy a scan option, this is a really necessary feature for unexperienced users. You should just decide beforehand, which subset of features you want to integrate first, and keep in mind, that support for the above mentioned points need to be done in the future.

best regards,

Skip

Revision history for this message
Pascal Noisette (netpascal0123) said :
#2

Hi Skip D.

w_scan seems to support almost everything, and is a highly active project (last update 11.11.2012, http://wirbel.htpc-forum.de/w_scan/index2.html, and they even speak Germans !). If memory serves, retrive radio frequencies as well as TV's, and switch Digital TV modes are w_scan options. So I will ask the user to select a subset of w_scan options to build a custom channel.conf file, and then import it.

Pascal

Revision history for this message
Skip D. (good-old-skip) said :
#3

Hi Pascal,

I totally agree, that seems to me the best solution right now.

I use w_scan currently to create my personal input file for me-tv:

w_scan -f s -s S19E2 -E 0 -R 0 -X >> channels_19E2TV.conf
w_scan -f s -s S19E2 -E 0 -T 0 -X >> channels_19E2Radio.conf
w_scan -f s -s S28E2 -E 0 -R 0 -D1c -X >> channels_28E2TV.conf
w_scan -f s -s S28E2 -E 0 -T 0 -D1c -X >> channels_28E2Radio.conf

First 2 lines for LNB #0, both only unencrypted channels, first line TV then Radio
Lower 2 Lines the same for LNB #1

Afterwards I use sed to alter the forth column to :1: for LNB #1.

See this except of my channels.conf fpr me-tv (First line LNB #0, second for LNB#1):

Cubavision Internacional(GlobeCast):11508:v:0:22000:708:728:7008
FRANCE 24(BSkyB):11426:v:1:27500:2331:2334:52570

Me-TV interpretes this column and sends the appropriate Disecq command.

W_scan can deal with DVB-C, DVB-T, DVB-S/S2, ATSC???
This would be a really good choice!

Best regards,

Skip

Revision history for this message
Frédéric Côté (frederic-cote) said :
#4

Hi,

I also think that using w_scan is the best way because we don't need to
update me-tv every time there is change in the DVB technology. I'm
wondering if w_scan have a library we can use or everything is done within
the main application.

Cheers,
Fred

On Sun, Dec 9, 2012 at 12:41 PM, Skip D. <
<email address hidden>> wrote:

> Question #216313 on Me TV changed:
> https://answers.launchpad.net/me-tv/+question/216313
>
> Skip D. posted a new comment:
> Hi Pascal,
>
> I totally agree, that seems to me the best solution right now.
>
> I use w_scan currently to create my personal input file for me-tv:
>
> w_scan -f s -s S19E2 -E 0 -R 0 -X >> channels_19E2TV.conf
> w_scan -f s -s S19E2 -E 0 -T 0 -X >> channels_19E2Radio.conf
> w_scan -f s -s S28E2 -E 0 -R 0 -D1c -X >> channels_28E2TV.conf
> w_scan -f s -s S28E2 -E 0 -T 0 -D1c -X >> channels_28E2Radio.conf
>
> First 2 lines for LNB #0, both only unencrypted channels, first line TV
> then Radio
> Lower 2 Lines the same for LNB #1
>
> Afterwards I use sed to alter the forth column to :1: for LNB #1.
>
> See this except of my channels.conf fpr me-tv (First line LNB #0, second
> for LNB#1):
>
> Cubavision Internacional(GlobeCast):11508:v:0:22000:708:728:7008
> FRANCE 24(BSkyB):11426:v:1:27500:2331:2334:52570
>
> Me-TV interpretes this column and sends the appropriate Disecq command.
>
>
> W_scan can deal with DVB-C, DVB-T, DVB-S/S2, ATSC???
> This would be a really good choice!
>
> Best regards,
>
> Skip
>
> --
> You received this question notification because you are an answer
> contact for Me TV.
>

--
"In a world without walls, who really needs Windows"
"Nothing is foolproof because fools are so ingenious"

Revision history for this message
Pascal Noisette (netpascal0123) said :
#5

Hi,

No there is no such a libdevel, and the the main() of w_scan is almost 3000 unextractable lines of codes so the oneliner approach is compromised.

I am convinced that a lot of apps wouldn't have develop their own scan if a lib had existed. We should ask w_scan to "open" their code, not as "open" source but in reusability, but it is not easy to do that kind of refactoring because the current program is stable.

For the moment i try to see if the w_scan stderr messages can be parsed to get a progress while scanning when I launch any of Skip D. commands. This could do the job until a lib appears.

Pascal

Revision history for this message
Frédéric Côté (frederic-cote) said :
#6

May the force be with you :)

On Mon, Dec 10, 2012 at 2:55 PM, Pascal Noisette <
<email address hidden>> wrote:

> Question #216313 on Me TV changed:
> https://answers.launchpad.net/me-tv/+question/216313
>
> Pascal Noisette posted a new comment:
> Hi,
>
> No there is no such a libdevel, and the the main() of w_scan is almost
> 3000 unextractable lines of codes so the oneliner approach is
> compromised.
>
> I am convinced that a lot of apps wouldn't have develop their own scan
> if a lib had existed. We should ask w_scan to "open" their code, not as
> "open" source but in reusability, but it is not easy to do that kind of
> refactoring because the current program is stable.
>
> For the moment i try to see if the w_scan stderr messages can be parsed
> to get a progress while scanning when I launch any of Skip D. commands.
> This could do the job until a lib appears.
>
> Pascal
>
> --
> You received this question notification because you are an answer
> contact for Me TV.
>

--
"In a world without walls, who really needs Windows"
"Nothing is foolproof because fools are so ingenious"

Can you help with this problem?

Provide an answer of your own, or ask Pascal Noisette for more information if necessary.

To post a message you must log in.