- Sharp .csv with onid/tsid/sid now also updates the Channel Number/Program Index inside the file

- added info about Sharp/Dyon/Blaupunkt/... to readme
This commit is contained in:
Horst Beham
2021-03-16 11:41:59 +01:00
parent 09beaf5e80
commit 40f963ee69
4 changed files with 63 additions and 12 deletions

View File

@@ -12,7 +12,7 @@ About ChanSort
ChanSort is a Windows application that allows you to reorder your TV's channel list.
Most modern TVs can transfer channel lists via USB stick, which you can plug into your PC.
ChanSort supports various file formats from Samsung, LG, Panasonic, Sony, Philips, Hisense, Toshiba, Grundig,
SatcoDX (used by ITT, Medion, Nabo, ok., PEAQ, Schaub-Lorenz, Silva-Schneider, Telefunken),
Sharp, Dyon, Blaupunkt, SatcoDX (used by ITT, Medion, Nabo, ok., PEAQ, Schaub-Lorenz, Silva-Schneider, Telefunken),
Linux VDR, SAT>IP .m3u and Enimgma2 based Linux boxes.
![screenshot](http://beham.biz/chansort/ChanSort-en.png)
@@ -38,8 +38,8 @@ There is a chance of unwanted side-effects or even damage to your TV, as reporte
Hisense is the only manufacturer who provided technical information and a test device.
Syste
m requirements
System requirements
-------------------
- [Microsoft .NET Framework 4.8 or later](https://dotnet.microsoft.com/download/dotnet-framework)
(When running under Linux, you need Winetricks, select a 32bit wineprefix and install the "dotnet48" package)
@@ -94,6 +94,7 @@ ChanSort currently supports the formats:
- Repair\CM_TPM1013E_LA_CK.xml (sometimes that file is hidden and only a .bin file is visible)
**Hisense**
Some older models like LTDN40D50TS use the same .csv files as Sharp. See "Sharp" for instructions.
2016 "Smart" models with a channel.db file, i.e. H65M5500
2017 models with a servicelist.db file
Special thanks to Hisense for supporting ChanSort with technical information and a test device!
@@ -109,6 +110,22 @@ Models that export files named dvb\*_config.xml.
**SatcoDX (OEM for ITT, Medion, Nabo, ok., PEAQ, Schaub-Lorenz, Silva-Schneider, Telefunken)**
Various brands use the same hardware for DVB-S, which exports .sdx files
**Sharp (and some models from Dyon, Blaupunkt, Hisense, Changhong, alphatronics, JTC Genesis)**
Some of these TV share similar hardware and can export/import a .csv file allowing to change the channel order.
Blaupunkt B40A148TCSFHD, B32B133T2CSHD, ...
Changhong LED32E2200ST2, ...
Dyon Live 22 Pro, Live 24 Pro, ENTER 32 Pro X, ...
Hisense LTDN40D50TS, ...
Sharp LC-xxCFE4142E, LC-xxCFF6002E, LC-xxFI5542E, LC-xxFG5242E, LC-xxUI7552E, LC-xxUI7652E, xxBJ1E, xxBJ3E, xxBJ5E, ...
Depending on the actual TV the import/export function can be part of the regular user menu, a hotel menu or a service menu
and the exported files may be different. Some models like Sharp Aquos xxBJ1E have a sub menu for exporting. You need to
export all 4 type of files for the import to work.
To access the secret hotel / service menus, there are several possible key combinations on the remote control:
hotel menu: MENU 7906 / MENU 4588
service menu: MENU 1147 / MENU 11471147 / SOURCE 2580
Do not make any changes in the service menu, as this could damage your TV. Only use the import/export functions.
**VDR (Linux Video Disk Recorder)**
Supports the channels.conf file format.
Implementation for this was provided by TCr82 from the VDR project.

View File

@@ -12,7 +12,7 @@ Links
ChanSort ist eine Windows-Anwendung, die das Sortieren von Fernsehsenderlisten erlaubt.
Die meisten modernen Fernseher k<>nnen Senderlisten auf einen USB-Stick <20>bertragen, den man danach am PC anschlie<69>t.
ChanSort unterst<73>tzt diverse Dateiformate von Samsung, LG, Panasonic, Sony, Philips, Hisense, Toshiba, Grundig,
SatcoDX (verwendet von Medion, Nabo, ok., PEAQ, Schaub-Lorenz, Silva-Schneider, Telefunken),
Sharp, Dyon, Blaupunkt, SatcoDX (verwendet von Medion, Nabo, ok., PEAQ, Schaub-Lorenz, Silva-Schneider, Telefunken),
Linux VDR, SAT>IP .m3u und Enigma2 basierende Linux TV-Boxen.
![screenshot](http://beham.biz/chansort/ChanSort-de.png)
@@ -94,6 +94,7 @@ ChanSort unterst
- Repair\CM_TPM1013E_LA_CK.xml (diese Datei ist oft verstekt und nur eine .bin Datei sichtbar)
**Hisense**
Einige <20>ltere Modelle wie LTDN40D50TS verwenden die gleichen .csv Dateien wie Sharp. Siehe "Sharp" f<>r eine Anleitung.
Smart-Modelle (2016) mit channel.db Dateiformat, z.B. H65M5500
2017 Modelle mit einem servicelist.db Dateiformat
Besonderen Dank an Hisense f<>r die Bereitstellung von technischen Informationen und einem Testger<65>t!
@@ -109,6 +110,22 @@ Modelle die Dateien mit Namen dvb\*_config.xml exportieren.
**SatcoDX (OEM f<>r ITT, Medion, Nabo, ok., PEAQ, Schaub-Lorenz, Silva-Schneider, Telefunken)**
Mehrere Marken nutzen die gleiche Hardware f<>r DVB-S und exportieren .sdx Dateien
**Sharp (and some models from Dyon, Blaupunkt, Hisense, Changhong, alphatronics, JTC Genesis)**
Einige dieser TVs verwenden <20>hnliche Hardware und k<>nnen .csv Dateien exportieren/importieren, um die Reihenfolge zu <20>ndern.
Blaupunkt B40A148TCSFHD, B32B133T2CSHD, ...
Changhong LED32E2200ST2, ...
Dyon Live 22 Pro, Live 24 Pro, ENTER 32 Pro X, ...
Hisense LTDN40D50TS, ...
Sharp LC-xxCFE4142E, LC-xxCFF6002E, LC-xxFI5542E, LC-xxFG5242E, LC-xxUI7552E, LC-xxUI7652E, xxBJ1E, xxBJ3E, xxBJ5E, ...
Abh<EFBFBD>ngig vom konkreten TV-Modell kann die Import/Export-Funktion Teil des normalen Men<65>s, eines Hotel-Men<65>s oder Service-Men<65>s sein
und die exportieren Dateien unterschiedlich sein. Einige Modelle wie Sharp Aquos xxBJ1E haben ein Untermen<65> f<>r den Export. Hier
sind alle 4 Typen von Dateien f<>r einen Import n<>tig.
Um in das geheime Hotel- / Service-Men<65> zu gelangen, gibt es verschiedene Tastenkombinationen auf der Fernbedienung:
Hotelmenu: MENU 7906 / MENU 4588
Servicemenu: MENU 1147 / MENU 11471147 / SOURCE 2580
<EFBFBD>ndern Sie keine Werte im Servicemen<65>, die k<>nnte den Fernseher besch<63>digen. Nutzen Sie nur die Import/Export-Funktionen
**VDR (Linux Video Disk Recorder)**
Unterst<EFBFBD>tzung des channels.conf Dateiformats.
Die Implementation hierf<72>r wurde vom Mitglied "TCr82" des VDR Projekts beigesteuert.

View File

@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using ChanSort.Api;
@@ -34,7 +35,6 @@ namespace ChanSort.Loader.Sharp
{
private enum FormatVersion
{
Unknown = 0,
Hisense3Columns = 1,
Sharp5Columns = 2,
Sharp7Columns = 3,
@@ -44,6 +44,7 @@ namespace ChanSort.Loader.Sharp
private readonly ChannelList dvbsChannels = new ChannelList(0, "DVB-S");
private Encoding encoding;
private FormatVersion formatVersion;
private string[] cols;
private string[] lines;
@@ -56,6 +57,7 @@ namespace ChanSort.Loader.Sharp
this.Features.CanSkipChannels = false;
this.Features.CanLockChannels = false;
this.Features.CanHideChannels = false;
this.Features.CanHaveGaps = false;
this.Features.FavoritesMode = FavoritesMode.None;
this.DataRoot.AddChannelList(this.dvbsChannels);
@@ -74,8 +76,6 @@ namespace ChanSort.Loader.Sharp
this.formatVersion = DetectFormatVersion();
this.AdjustVisibleColumns();
var cols = lines[2].ToLowerInvariant().Split(',');
for (int i=3; i<this.lines.Length; i++)
{
var line = lines[i];
@@ -194,7 +194,7 @@ namespace ChanSort.Loader.Sharp
return FormatVersion.Sharp7Columns;
// fallback for formats with more information, as long as they contain the required columns
var cols = lines[2].ToLowerInvariant().Split(',');
this.cols = lines[2].ToLowerInvariant().Split(',');
var dict = new HashSet<string>();
foreach (var col in cols)
dict.Add(col);
@@ -257,12 +257,29 @@ namespace ChanSort.Loader.Sharp
for (int i=0; i<3; i++)
file.WriteLine(this.lines[i]);
// index of fields in the extended FormatVersion.Sharp51Columns
var ixChannelNumber = Array.IndexOf(this.cols, "channel number");
var ixProgramIndex = ixChannelNumber < 0 ? -1 : Array.IndexOf(this.cols, "program index");
foreach (var channel in this.dvbsChannels.GetChannelsByNewOrder())
{
// when a reference list was applied, the list may contain proxy entries for deleted channels, which must be ignored
if (channel.IsProxy || channel.IsDeleted)
continue;
file.WriteLine(this.lines[channel.RecordIndex]);
var line = this.lines[channel.RecordIndex];
if (ixProgramIndex >= 0)
{
// this extended format would only change the zapping order unless the "Channel Number" and "Channel Index" fields are updated too
var fields = this.lines[channel.RecordIndex].Split(',');
fields[ixChannelNumber] = fields[ixProgramIndex] = channel.NewProgramNr.ToString();
line = string.Join(",", fields);
}
else
{
// the older formats require the "Channel Number" to be unchanged and update it internally during the import based on the order of the lines
}
file.WriteLine(line);
}
file.WriteLine("[E]");

View File

@@ -1,9 +1,9 @@
ChanSort Change Log
===================
2021-03-15 (alpha)
- Enigma2: added support for Linux based Set-Top-Boxes (Dreambox, VU+, Octagon, ...) using lamedb and bouquets
2021-03-16
- Sharp, Dyon, Blaupunkt, ...: added support for DVBS_Program.csv and \*DVBS_CHANNEL_TABLE.csv files
- Enigma2: added support for Linux based Set-Top-Boxes (Dreambox, VU+, Octagon, ...) using lamedb and bouquets
- Toshiba settingsDB.db: support for lists without analog tuner data (missing TADTunerDataTable)
- Grunding: failed to load lists where the <Digital> element did not contain a <channels> child element
- refrence lists can now be applied to main channel numbers (as before) or to a specific favorite list (new)