PredatH0r / ChanSort

TV channel list editor for Samsung, LG, Sony, Hisense, Panasonic, Philips, Sharp, Toshiba and MANY more.
832 stars 112 forks source link

Reintegrated my changes for >IP channel lists #358

Closed h0ly0ne closed 6 months ago

h0ly0ne commented 1 year ago

Already made my changes a few years ago for (older) panasonic TV sets (2020 and earlier) with SVL.BIN format. Finally had time to reintegrate them to your most recent build - some minor changes overall.

PredatH0r commented 1 year ago

Hi h0ly0ne, thanks for your contribution!

I had to manually integrate your changes into the source code and made a couple modifications. Hopefully I didn't break things by doing so:

SignalSource.IP is no longer a stand-alone flag but rather treated as a distinct 3rd broadcast-system along Analog and Digital (which I renamed to "Dvb"). Previously "IP" was independent from the other flags, but that made it impossible to use DataRoot.GetChannelList(searchMask) to specifically search for a non-IP list. It simply wouldn't care if a list is IP or not if the bit for the search mask was 0.

I moved the additional properties you added to ChannelInfo into DbChannel, since they are Panasonic specific.

I didn't add SignalSource enum combinations which differed only by name and/or casing from other entries. (Instead of "Antenna" I often use "T" in the enum names to indicate "terrestrial" like in "DVB-T" ... I know it's a bit inconsistent throughout the code, but adding more names makes it even more confusing IMO).

In SvlSerializer.WriteChannels() I moved the deletion of unused transponders out of the loop, because it modified the prepared SQL command and the next loop iteration would no longer update a channel properly. From what I found is that analog channels have an "onid" value of 0, so I delete all transponders with an onid<>0 that aren't referenced by any services.

I uploaded a build to https://chansort.com/ChanSort_2023-06-03.zip with the current changes. It would be great if you could give it a try and see if this works as intended.

Regards, Horst

PredatH0r commented 6 months ago

changes were merged manually, closing the pull request