diff --git a/ChanSort.Loader.Panasonic/DbChannel.cs b/ChanSort.Loader.Panasonic/DbChannel.cs index bc918c1..d4be40c 100644 --- a/ChanSort.Loader.Panasonic/DbChannel.cs +++ b/ChanSort.Loader.Panasonic/DbChannel.cs @@ -17,13 +17,19 @@ namespace ChanSort.Loader.Panasonic this.OldProgramNr = r.GetInt32(field["major_channel"]); int ntype = r.GetInt32(field["ntype"]); if (ntype == 1) + { this.SignalSource |= SignalSource.DvbS; + if (r.GetInt32(field["ya_svcid"]) >= 0) + this.SignalSource |= SignalSource.Freesat; + } else if (ntype == 2) this.SignalSource |= SignalSource.DvbT; else if (ntype == 3) this.SignalSource |= SignalSource.DvbC; else if (ntype == 10) - this.SignalSource |= SignalSource.AnalogCT|SignalSource.Tv; + this.SignalSource |= SignalSource.AnalogT | SignalSource.Tv; + else if (ntype == 14) + this.SignalSource |= SignalSource.AnalogC | SignalSource.Tv; byte[] buffer = new byte[1000]; var len = r.GetBytes(field["delivery"], 0, buffer, 0, 1000); @@ -34,7 +40,7 @@ namespace ChanSort.Loader.Panasonic this.Lock = r.GetInt32(field["child_lock"]) != 0; this.ParseFavorites(r, field); - if (ntype == 10) + if (ntype == 10 || ntype == 14) this.ReadAnalogData(r, field); else this.ReadDvbData(r, field, dataRoot, buffer); @@ -70,10 +76,7 @@ namespace ChanSort.Loader.Panasonic this.ShortName = shortName; int stype = r.GetInt32(field["stype"]); - if (stype == 1 || stype == 22 || stype == 25) - this.SignalSource |= SignalSource.Tv; - else if (stype == 2) - this.SignalSource |= SignalSource.Radio; + this.SignalSource |= LookupData.Instance.IsRadioOrTv(stype); this.ServiceType = stype; int freq = r.GetInt32(field["freq"]); diff --git a/ChanSort.Loader.Panasonic/Serializer.cs b/ChanSort.Loader.Panasonic/Serializer.cs index 4bf97d3..400eccd 100644 --- a/ChanSort.Loader.Panasonic/Serializer.cs +++ b/ChanSort.Loader.Panasonic/Serializer.cs @@ -12,10 +12,12 @@ namespace ChanSort.Loader.Panasonic { private static readonly string ERR_FileFormatOrEncryption = "File uses an unknown format or encryption"; private static readonly int[] headerCypherTable; - private readonly ChannelList atvChannels = new ChannelList(SignalSource.AnalogCT | SignalSource.Tv | SignalSource.Radio, "Analog"); + private readonly ChannelList avbtChannels = new ChannelList(SignalSource.AnalogT | SignalSource.Tv | SignalSource.Radio, "Analog Antenna"); + private readonly ChannelList avbcChannels = new ChannelList(SignalSource.AnalogC | SignalSource.Tv | SignalSource.Radio, "Analog Cable"); private readonly ChannelList dvbtChannels = new ChannelList(SignalSource.DvbT | SignalSource.Tv | SignalSource.Radio, "DVB-T"); private readonly ChannelList dvbcChannels = new ChannelList(SignalSource.DvbC | SignalSource.Tv | SignalSource.Radio, "DVB-C"); private readonly ChannelList dvbsChannels = new ChannelList(SignalSource.DvbS | SignalSource.Tv | SignalSource.Radio, "DVB-S"); + private readonly ChannelList freesatChannels = new ChannelList(SignalSource.DvbS | SignalSource.Freesat | SignalSource.Tv | SignalSource.Radio, "Freesat"); private string workFile; private CypherMode cypherMode; @@ -299,10 +301,14 @@ namespace ChanSort.Loader.Panasonic #region ctor() public Serializer(string inputFile) : base(inputFile) { - this.DataRoot.AddChannelList(this.atvChannels); + this.Features.ChannelNameEdit = true; + + this.DataRoot.AddChannelList(this.avbtChannels); + this.DataRoot.AddChannelList(this.avbcChannels); this.DataRoot.AddChannelList(this.dvbtChannels); this.DataRoot.AddChannelList(this.dvbcChannels); this.DataRoot.AddChannelList(this.dvbsChannels); + this.DataRoot.AddChannelList(this.freesatChannels); } #endregion @@ -460,11 +466,11 @@ namespace ChanSort.Loader.Panasonic private void ReadChannels(SQLiteCommand cmd) { string[] fieldNames = { "rowid", "major_channel", "physical_ch","sname", "freq", "skip", "running_status","free_CA_mode","child_lock", - "profile1index","profile2index","profile3index","profile4index","stype", "onid", "tsid", "sid", "ntype", "delivery" }; + "profile1index","profile2index","profile3index","profile4index","stype", "onid", "tsid", "sid", "ntype", "ya_svcid", "delivery" }; const string sql = @" select s.rowid,s.major_channel,s.physical_ch,s.sname,t.freq,s.skip,s.running_status,s.free_CA_mode,s.child_lock, - profile1index,profile2index,profile3index,profile4index,s.stype,s.onid,s.tsid,s.svcid,s.ntype,delivery + profile1index,profile2index,profile3index,profile4index,s.stype,s.onid,s.tsid,s.svcid,s.ntype,s.ya_svcid,delivery from SVL s left outer join TSL t on s.ntype=t.ntype and s.physical_ch=t.physical_ch and s.tsid=t.tsid order by s.ntype,major_channel @@ -514,10 +520,12 @@ order by s.ntype,major_channel { using (var trans = conn.BeginTransaction()) { - this.WriteChannels(cmd, this.atvChannels); + this.WriteChannels(cmd, this.avbtChannels); + this.WriteChannels(cmd, this.avbcChannels); this.WriteChannels(cmd, this.dvbtChannels); this.WriteChannels(cmd, this.dvbcChannels); this.WriteChannels(cmd, this.dvbsChannels); + this.WriteChannels(cmd, this.freesatChannels); trans.Commit(); } } diff --git a/readme.txt b/readme.txt index 9808419..dabd22f 100644 --- a/readme.txt +++ b/readme.txt @@ -1,7 +1,7 @@ -Version v2013-06-29.2 ====================================================== +Version v2013-xx-xx ====================================================== Changes: -- FIX: Saving Pansonic svl.db now updates checksum correctly +- Added support for Panasonic channel list "Freesat" and "Analog Cable" The complete change log can be found at the end of this document @@ -43,7 +43,7 @@ Samsung LG ------ Series: CS, DM, LA, LD, LE, LH, LK, LM*, LN, LS, LV, LW, LX, PM, PT - Lists: Analog TV, DTV (DVB-C/T), Radio (DVB-C/T), Sat-DTV (DVB-S2), + Lists: Analog TV, DTV (DVB-C, DVB-T), Radio (DVB-C/T), Sat-DTV (DVB-S2), Sat-Radio (DVB-S2) * NOTE: See system requirements for LM-Series. @@ -54,11 +54,10 @@ LG Instructions on how to access the hidden service-menu for transferring the channel list from/to USB can be found here: https://sourceforge.net/p/chansort/wiki/Home/ - http://www.ullrich.es/job/service-menue/lg-tlledit-lg-sendersortierung/ Panasonic ------- - Viera models with svl.bin or svl.db channel lists + Viera models with an svl.bin or svl.db channel list Toshiba -------