diff --git a/ChanSort.Loader.Samsung/ChanSort.Loader.Samsung.ini b/ChanSort.Loader.Samsung/ChanSort.Loader.Samsung.ini index de8004f..942e158 100644 --- a/ChanSort.Loader.Samsung/ChanSort.Loader.Samsung.ini +++ b/ChanSort.Loader.Samsung/ChanSort.Loader.Samsung.ini @@ -188,8 +188,8 @@ offVideoPid = 2 offPcrPid = 4 offServiceId = 6 - maskDeleted = 0x01 offDeleted = 8 + maskDeleted = 0x01 offQam = 12 offBandwidth = 14 offServiceType = 15 diff --git a/ChanSort.Loader.Samsung/ScmChannelBase.cs b/ChanSort.Loader.Samsung/ScmChannelBase.cs index 448aeb7..d59a364 100644 --- a/ChanSort.Loader.Samsung/ScmChannelBase.cs +++ b/ChanSort.Loader.Samsung/ScmChannelBase.cs @@ -58,6 +58,8 @@ namespace ChanSort.Loader.Samsung this.Lock = data.GetFlag(_Lock); this.Encrypted = data.GetFlag(_Encrypted); this.IsDeleted = data.GetFlag(_Deleted); + if (this.IsDeleted) + this.OldProgramNr = -1; } #endregion @@ -111,6 +113,7 @@ namespace ChanSort.Loader.Samsung mapping.SetFlag(_InUse, this.InUse); if (this.NewProgramNr >= 0) mapping.SetWord(_ProgramNr, this.NewProgramNr); + if (this.IsNameModified) { int bytes = mapping.SetString(_Name, this.Name, mapping.Settings.GetInt("lenName")); @@ -119,8 +122,7 @@ namespace ChanSort.Loader.Samsung } this.UpdateRawFavorites(); mapping.SetFlag(_Lock, this.Lock); - if (this.NewProgramNr == -1) - mapping.SetFlag(_Deleted, true); + mapping.SetFlag(_Deleted, this.NewProgramNr < 0); this.UpdateChecksum(); } diff --git a/ChanSort.Loader.Samsung/ScmSerializer.cs b/ChanSort.Loader.Samsung/ScmSerializer.cs index 019a5f8..235518c 100644 --- a/ChanSort.Loader.Samsung/ScmSerializer.cs +++ b/ChanSort.Loader.Samsung/ScmSerializer.cs @@ -526,7 +526,7 @@ namespace ChanSort.Loader.Samsung { if (tvOutputFile != this.FileName) { - File.Copy(this.FileName, tvOutputFile); + File.Copy(this.FileName, tvOutputFile, true); this.FileName = tvOutputFile; } using (ZipFile zip = new ZipFile(tvOutputFile)) @@ -538,6 +538,7 @@ namespace ChanSort.Loader.Samsung this.SaveChannels(zip, "map-CableD", this.dvbcChannels, ref this.dvbcFileContent); this.SaveChannels(zip, "map-SateD", this.dvbsChannels, ref this.dvbsFileContent); this.SaveChannels(zip, "map-AstraHDPlusD", this.hdplusChannels, ref this.hdplusFileContent); + this.SaveChannels(zip, "map-CablePrime_D", this.primeChannels, ref this.primeFileContent); zip.CommitUpdate(); } } diff --git a/ChanSort/MainForm.cs b/ChanSort/MainForm.cs index 7239797..61d715c 100644 --- a/ChanSort/MainForm.cs +++ b/ChanSort/MainForm.cs @@ -25,7 +25,7 @@ namespace ChanSort.Ui { public partial class MainForm : XtraForm { - public const string AppVersion = "v2013-07-19"; + public const string AppVersion = "v2013-07-19.2"; private const int MaxMruEntries = 5; diff --git a/Information/FileStructures_for_HHD_Hex_Editor_Neo/scm-map-Digital.h b/Information/FileStructures_for_HHD_Hex_Editor_Neo/scm-map-Digital.h index 53b6d55..f042e01 100644 --- a/Information/FileStructures_for_HHD_Hex_Editor_Neo/scm-map-Digital.h +++ b/Information/FileStructures_for_HHD_Hex_Editor_Neo/scm-map-Digital.h @@ -87,10 +87,13 @@ struct SCM_mapDigital_DEF_entry word VideoPid; word PcrPid; word ServiceId; - byte Unknown8[4]; + byte Skip_Deleted; + byte InUse; + byte SignalSource; + byte SignalType; byte Qam; byte Unknown13; - byte Bandwidth; + byte BandwidthIs8MHz; byte ServiceType; byte Codec; byte Unknown16[3]; @@ -114,18 +117,20 @@ struct SCM_mapDigital_DEF_entry uc16be Name[100]; uc16be ShortName[9]; byte VideoFormat; - byte Unknown283[9]; + byte Unknown283[7]; + byte FavFlags; + byte Checksum1; dword Fav1; dword Fav2; dword Fav3; dword Fav4; dword Fav5; byte Unknown312[7]; - byte Checksum; + byte Checksum2; }; public struct SCM_mapDigital_DEF { - SCM_mapDigital_DE_entry Entries[*]; + SCM_mapDigital_DEF_entry Entries[*]; }; diff --git a/readme.txt b/readme.txt index 3506762..9cb38ca 100644 --- a/readme.txt +++ b/readme.txt @@ -1,6 +1,9 @@ -Version v2013-07-19 ====================================================== +Version v2013-07-19.2 ==================================================== Changes: +- FIX: Samsung "CablePrime" channel list was not updated/saved +- FIX: Deleted Samsung analog, DVB-T and DVB-C channels re-appeared in the + channel list after loading the file again. - Supports Panasonic "svl.bin" channel lists for different TV CPUs (auto-detecting big-endian or little-endian byte order). - *.csv reference list is no longer created automatically. (You can always @@ -110,6 +113,11 @@ OTHER DEALINGS IN THE SOFTWARE. Change log ================================================================ +2013-07-19.2 +- FIX: Samsung "CablePrime" channel list was not updated/saved +- FIX: Deleted Samsung analog, DVB-T and DVB-C channels re-appeared in the + channel list after loading the file again. + 2013-07-19 - Supports Panasonic "svl.bin" channel lists for different TV CPUs (auto-detecting big-endian or little-endian byte order).