mirror of
https://github.com/PredatH0r/ChanSort.git
synced 2026-03-11 06:20:17 +01:00
- added support for LY hospitality series
- fixed wrong offset for prognr2 for LV/LW/LK950 models
This commit is contained in:
@@ -12,7 +12,7 @@ namespace ChanSort.Loader.LG
|
||||
{
|
||||
public partial class TllFileSerializer : SerializerBase
|
||||
{
|
||||
enum SpecialHandlingModels { Standard, LH3000, LH250, PN, LP, LT };
|
||||
enum SpecialHandlingModels { Standard, LH3000, LH250, PN, LP, LT, LY };
|
||||
|
||||
private const long DVBS_S2 = 0x0032532D53425644; // reverse of "DVBS-S2\0"
|
||||
private const long MaxFileSize = 2000000;
|
||||
@@ -41,7 +41,7 @@ namespace ChanSort.Loader.LG
|
||||
|
||||
private int analogBlockOffset;
|
||||
private int firmwareBlockOffset;
|
||||
private int extraBlockOffset;
|
||||
private int hospitalityBlockOffset;
|
||||
private int dvbctBlockOffset;
|
||||
private int dvbsBlockOffset;
|
||||
private int[] dvbsSubblockCrcOffset;
|
||||
@@ -58,7 +58,7 @@ namespace ChanSort.Loader.LG
|
||||
|
||||
private Dictionary<int, ushort> nextChannelIndex;
|
||||
private int firmwareBlockSize;
|
||||
private int extraBlockSize;
|
||||
private int hospitalityBlockSize;
|
||||
private int dvbsBlockSize;
|
||||
private int settingsBlockSize;
|
||||
private string countryCode;
|
||||
@@ -144,6 +144,8 @@ namespace ChanSort.Loader.LG
|
||||
this.specialModel = SpecialHandlingModels.LP;
|
||||
else if (basename.StartsWith("XXLT"))
|
||||
this.specialModel = SpecialHandlingModels.LT;
|
||||
else if (basename.StartsWith("XXLY"))
|
||||
this.specialModel = SpecialHandlingModels.LY;
|
||||
else
|
||||
this.specialModel = SpecialHandlingModels.Standard;
|
||||
|
||||
@@ -217,12 +219,12 @@ namespace ChanSort.Loader.LG
|
||||
#region ReadHotelModelExtraBlock()
|
||||
private void ReadHotelModelExtraBlock(ref int off)
|
||||
{
|
||||
if (!(this.specialModel == SpecialHandlingModels.LT || this.specialModel == SpecialHandlingModels.LP))
|
||||
if (!(this.specialModel == SpecialHandlingModels.LT || this.specialModel == SpecialHandlingModels.LP || this.specialModel == SpecialHandlingModels.LY))
|
||||
return;
|
||||
|
||||
int size = BitConverter.ToInt32(this.fileContent, off);
|
||||
this.extraBlockOffset = off;
|
||||
this.extraBlockSize = size;
|
||||
this.hospitalityBlockOffset = off;
|
||||
this.hospitalityBlockSize = size;
|
||||
off += 4 + size;
|
||||
}
|
||||
#endregion
|
||||
@@ -321,6 +323,8 @@ namespace ChanSort.Loader.LG
|
||||
key += "LH3000";
|
||||
else if (this.specialModel == SpecialHandlingModels.PN)
|
||||
key += "PN";
|
||||
else if (this.specialModel == SpecialHandlingModels.LY)
|
||||
key += "LY";
|
||||
var actMapping = this.actMappings.GetMapping(key);
|
||||
return actMapping;
|
||||
}
|
||||
@@ -890,9 +894,9 @@ namespace ChanSort.Loader.LG
|
||||
// firmware
|
||||
file.Write(fileContent, this.firmwareBlockOffset, this.firmwareBlockSize + 4);
|
||||
|
||||
// LT-series extra block
|
||||
if (extraBlockOffset != 0)
|
||||
file.Write(fileContent, this.extraBlockOffset, this.extraBlockSize + 4);
|
||||
// hospitality models extra block
|
||||
if (hospitalityBlockOffset != 0)
|
||||
file.Write(fileContent, this.hospitalityBlockOffset, this.hospitalityBlockSize + 4);
|
||||
|
||||
// DVB-CT
|
||||
file.Write(newDvbctChannelCount*this.actChannelSize + 4);
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace ChanSort.Ui
|
||||
{
|
||||
public partial class MainForm : XtraForm
|
||||
{
|
||||
public const string AppVersion = "v2014-07-11";
|
||||
public const string AppVersion = "v2014-07-14";
|
||||
|
||||
private const int MaxMruEntries = 10;
|
||||
|
||||
|
||||
209
Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-256-LY.h
Normal file
209
Information/FileStructures_for_HHD_Hex_Editor_Neo/tll-256-LY.h
Normal file
@@ -0,0 +1,209 @@
|
||||
#include "tll-common.h"
|
||||
|
||||
#define MAX_SAT_COUNT 64
|
||||
struct TLL48_Satellite;
|
||||
typedef TLL48_Satellite TLL_Satellite;
|
||||
|
||||
#define MAX_TP_COUNT 2400
|
||||
struct TLL56_Transponder;
|
||||
typedef TLL56_Transponder TLL_Transponder;
|
||||
|
||||
#define MAX_DVBS_COUNT 7520
|
||||
struct TLL92_SatChannel;
|
||||
typedef TLL92_SatChannel TLL_SatChannel;
|
||||
|
||||
#define MAX_LNB_COUNT 40
|
||||
struct TLL52_Lnb;
|
||||
typedef TLL52_Lnb TLL_Lnb;
|
||||
|
||||
#define DVBS_CHANNELLIST_PREFIXSIZE 0
|
||||
|
||||
#include "tll-satellite.h"
|
||||
|
||||
struct LY256_Channel
|
||||
{
|
||||
byte t1[8];
|
||||
TLL_SignalSource SignalSource;
|
||||
byte t1b;
|
||||
word ChannelTransponder1;
|
||||
word ProgramNr;
|
||||
word LogicalProgramNr1;
|
||||
byte t2[4];
|
||||
byte Favorites1;
|
||||
byte t2b[3];
|
||||
word Frequency1Div50__PcrPid1;
|
||||
word APID1;
|
||||
word xPID;
|
||||
byte t3[6];
|
||||
word ChannelNumber_Band__VPID1;
|
||||
byte t3b[6];
|
||||
char CH_Name1[40];
|
||||
word CH_NameLength1;
|
||||
word SID1;
|
||||
byte t5a[47];
|
||||
byte NitVersion;
|
||||
word ChannelTransponder2;
|
||||
word t5b;
|
||||
dword Frequency;
|
||||
byte t6[6];
|
||||
word ONID;
|
||||
word TSID;
|
||||
byte t7[23];
|
||||
word ChannelTransponder3;
|
||||
byte t8;
|
||||
word ProgramNr2;
|
||||
word LogicalProgramNr2;
|
||||
word ChannelTransponder4;
|
||||
byte t9[2];
|
||||
byte Favorites2;
|
||||
TLL_EditFlags EditFlags;
|
||||
byte t10[2];
|
||||
word SID2;
|
||||
byte ServiceType;
|
||||
byte CH_NameLength2;
|
||||
char CH_Name2[40];
|
||||
word FrequencyDiv50__PcrPid2;
|
||||
word APID2;
|
||||
word u1;
|
||||
word u2;
|
||||
byte t11[12];
|
||||
};
|
||||
|
||||
struct LY256_AnalogBlock
|
||||
{
|
||||
dword BlockSize;
|
||||
dword ChannelCount;
|
||||
LY256_Channel Channels[ChannelCount];
|
||||
};
|
||||
|
||||
struct LY256_HotelSettings
|
||||
{
|
||||
byte HotelModeActive;
|
||||
byte PowerOnStatus;
|
||||
byte SetupMenuDisplay;
|
||||
byte ProgramChange;
|
||||
byte InputSourceChange;
|
||||
byte MenuDisplay;
|
||||
byte OsdDisplay;
|
||||
byte LgIrOperation;
|
||||
byte LocalKeyOp;
|
||||
byte MaxVolume;
|
||||
byte Unknown1;
|
||||
byte DtvChannelUpdate;
|
||||
byte PowerOnDefault;
|
||||
byte InputSource;
|
||||
word Programme;
|
||||
byte Unknown2;
|
||||
byte Volume;
|
||||
byte AvSettings;
|
||||
byte RadioVideoBlank;
|
||||
byte unknown3;
|
||||
byte StartProgNr;
|
||||
byte unknown4;
|
||||
byte NumberOfPrograms;
|
||||
byte RadioNameDisplay;
|
||||
byte unknown5[2];
|
||||
byte AccessCode[4];
|
||||
};
|
||||
|
||||
struct LY256_FirmwareBlock
|
||||
{
|
||||
dword BlockSize;
|
||||
byte Data[BlockSize];
|
||||
};
|
||||
|
||||
struct LY256_HospitalityBlock
|
||||
{
|
||||
dword BlockSize;
|
||||
byte Data[BlockSize];
|
||||
};
|
||||
|
||||
struct LY256_DvbCTBlock
|
||||
{
|
||||
dword BlockSize;
|
||||
dword ChannelCount;
|
||||
LY256_Channel Channels[ChannelCount];
|
||||
};
|
||||
|
||||
struct TLL48_Satellite
|
||||
{
|
||||
char Name[32];
|
||||
byte PosDeg;
|
||||
byte PosCDeg;
|
||||
byte LnbIndex;
|
||||
byte FactoryDefault;
|
||||
word TransponderHead;
|
||||
word TransponderTail;
|
||||
word TransponderCount;
|
||||
word Unknown4;
|
||||
word Unknown5;
|
||||
word Unknown6;
|
||||
};
|
||||
|
||||
struct TLL56_Transponder
|
||||
{
|
||||
byte t1[10];
|
||||
word TP_Number;
|
||||
word TP_Freq;
|
||||
byte t2[8];
|
||||
word NID;
|
||||
word TID;
|
||||
byte t3[3];
|
||||
word SRateTimes2;
|
||||
byte t4[9];
|
||||
byte SatIndexTimes2;
|
||||
byte t5[3];
|
||||
byte u40[12];
|
||||
};
|
||||
|
||||
struct TLL92_SatChannel
|
||||
{
|
||||
word LnbIndex;
|
||||
word t1;
|
||||
TLL_SignalSource SignalSource;
|
||||
byte t2;
|
||||
word TP_Number;
|
||||
word CH_Number;
|
||||
word CH_NumberFixed;
|
||||
word TP_Number2;
|
||||
byte FavCrypt;
|
||||
TLL_EditFlags EditFlags;
|
||||
word SID;
|
||||
byte ServiceType;
|
||||
byte CH_NameLength;
|
||||
char CH_Name[52];
|
||||
word VPID;
|
||||
word APID;
|
||||
word t3;
|
||||
word t4;
|
||||
byte t5[12];
|
||||
};
|
||||
|
||||
struct TLL52_Lnb
|
||||
{
|
||||
byte SettingsID;
|
||||
byte t2[3];
|
||||
byte SatelliteID;
|
||||
byte ScanSearchType;
|
||||
byte NetworkSearch;
|
||||
byte BlindSearch;
|
||||
byte t3[4];
|
||||
char FrequencyName[12];
|
||||
word LOF1;
|
||||
byte t4[2];
|
||||
word LOF2;
|
||||
byte t5[22];
|
||||
};
|
||||
|
||||
|
||||
public struct LY256
|
||||
{
|
||||
byte Header[4];
|
||||
|
||||
LY256_AnalogBlock Analog;
|
||||
LY256_FirmwareBlock Firmware;
|
||||
LY256_HospitalityBlock Hospitality;
|
||||
LY256_DvbCTBlock DvbCT;
|
||||
TLL_DvbSBlock DvbS;
|
||||
TLL_SettingsBlock Settings;
|
||||
};
|
||||
11
readme.txt
11
readme.txt
@@ -1,7 +1,9 @@
|
||||
Version v2014-07-11 =======================================================
|
||||
Version v2014-07-14 =======================================================
|
||||
|
||||
Changes:
|
||||
- improved accessibility support (channel list and prog/fav list selection)
|
||||
- fixed issue with broken channel lists for LG models LV,
|
||||
LW (except LW4500, LW5400), LK950S and PM670S
|
||||
- added support for LG's LY series binary TLL file format
|
||||
|
||||
The complete change log can be found at the end of this document
|
||||
|
||||
@@ -115,6 +117,11 @@ OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Change log ================================================================
|
||||
|
||||
2014-07-14
|
||||
- fixed issue with broken channel lists for LG models LV,
|
||||
LW (except LW4500, LW5400), LK950S and PM670S
|
||||
- added support for LG's LY series binary TLL file format
|
||||
|
||||
2014-07-11
|
||||
- improved accessibility support (channel list and prog/fav list selection)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user