55 Commits

Author SHA1 Message Date
Horst Beham
b097d20de8 - updated build.md with steps to compile and debug ChanSort yourself (without DevExpress license)
- updated .csproj files to include proper configurations for "NoDevExpress_Debug"
2025-06-12 16:27:25 +02:00
Horst Beham
636b9c4151 - fixed Nuget hell: (auto) binding redirects to prevent compiler warning flood and ensure unit tests to be runnable
- put file name in Sqlite connect string in quotes
- improvements to Mediatek Philips 120+125/Sony serializer (physically reorder XML nodes, use flags stored in Java serialized blob)
- selecting a RefList changed the current working directory, which prevented .ini files to be found by loaders
2025-06-05 18:35:10 +02:00
Horst Beham
10a53f367f - Panasonic Fire-OS Channels.sdx lists: removed trailing underscore and space characters from channel names
- downgraded SQLite libraries to avoid a memory access violation crash in the SQLitePCL.raw 2.1.10 (causing at least Panasonic lists to crash on load)
- added support for \*.dbm files with size 782536 (e.g. Vantage VT-80 HD)
- moved "Save as..." and "Export reference list" to a sub menu as they caused frequent confusion with the regular "Save".
2025-03-08 18:19:10 +01:00
Horst Beham
0d9cdfefbb - added support for Philips PFL9715K/02 (Repair\s2channellib\*.dat channel list format version 0.1)
- added support for Grundig dtv_cmdb_3.bin channel lists with size of 1270 KB
- fixed saving of Grundig dtv_cmdb_3.bin channel lists with size of 1293 KB
- updated tivusat reference list
- fixed issue when saving *cmdb_*.bin channel lists after applying a reference list which contains missing channels
- HB_DATABASE_mm_dd.DBM for Strong SRT 7007: added option "reorderPhysically" in ChanSort.Loader.DBM.ini
  for this particular format to not only change the number but also change the order or data records in the file
- removed app.config files containing assembly redirects from projects and included them in the central Solution.props instead
- upgraded various NuGet packages
2025-01-28 21:26:53 +01:00
Horst Beham
8480fcf5c2 - experimental support for Philips channel list format 125 (with automatic sync to MtkChannelList.xml)
- experimental support for MtkChannelList.xml (which is part of several MediaTek based Google TVs, e.g. Philips formats 120 and 125)
- Philips formats 100-125: improved decoding of non-latin characters (turkish, cyrillic, ...)
2024-10-01 10:05:48 +02:00
Horst Beham
d33f349626 - updated NuGet packages
- added support for dtv_cmdb_3.bin file with file size 1323920
- fixed error when opening reference list dialog with Italian translation
- "Tornado" TV lists which are a slight variation of old Philips lists using a file name __chtb_do_not_delete_.xml
2024-08-18 17:41:46 +02:00
Horst Beham
3ed2e28ac0 - added Italian translation
- updated Polish translation
- added support for a Hisense HIS_SVL variant with different file structure
- Samsung IP-TV lists allow editing stream and logo URLs
2023-08-14 10:46:10 +02:00
Horst Beham
3139f3d9f4 Various changes and refactorings to integrate the suggested changes from pull-request https://github.com/PredatH0r/ChanSort/pull/358 to handle the distinction between IP-antenna, IP-cable, IP-sat and DVB-T, DVB-C, DVB-S for Panasonic TVs.
- SignalSource.IP is now treated as a broadcast system (distinguishing Analog/Dvb/Ip) and no longer a broadcast medium (like antenna/cable/sat).
- SignalSource.Digital was renamed to DVB
2023-06-03 10:38:11 +02:00
Horst Beham
61a25ae913 cleaning up dependencies 2023-01-03 20:43:15 +01:00
Horst Beham
e40a12bb31 cleaning up dependencies 2023-01-03 20:05:07 +01:00
Horst Beham
80fc264bd0 - converted from VisualStudio build system to MSBuild 2023-01-03 11:19:07 +01:00
Horst Beham
6a6eb71059 - fixed Samsung .zip lists changing channel names to "Chinese" characters in the saved file
(caused by a breaking change in the new version of the Microsoft.Data.Sqlite library)
- changing channel names in Samsung *_1242.zip format is disabled due to new Sqlite library
2022-11-30 19:01:11 +01:00
Horst Beham
d361d51b8b - removed superfluous parameter from SerializerBase.Save()
- added "Pooling=False" parameter to all Sqlite connection strings to prevent open file locks after closing the connection and to avoid extreme delays when using CloseAllPools()
- C# code refactoring "using var" instead of "using ( ) { }" where possible
2022-11-29 22:00:16 +01:00
Horst Beham
6f3df7044e - updated nuget packages
- fixed issues where SQLite database files didn't get unlocked after saving
- fixed quirks with missing e_sqlite3.dll when running unit tests with Resharper
2022-11-29 18:21:52 +01:00
Horst Beham
4a1a39b1e7 - added function to mark a channel for swapping + swap with current channel
- replaced misuse of "FileLoadException" with a custom LoaderException to handle file loading issues with better continue/fail logic
- removed "Save As" and replaced it with "Convert list" menu item that shows information on how to use a reference list instead of direct conversion
2022-11-29 14:56:23 +01:00
Horst Beham
17460c1039 - ref list dialog uses TabControl to fit on tiny screen with scaled up fonts
- incomplete loader for Panasonic LS 500, LX 700 Android devices (/mnt/vendor/.../tv.db and idtvChannel.bin files)
2022-10-03 10:28:41 +02:00
Horst Beham
76d88c63cc - added support for Orsay .zip files which contain a Clone/map-AirD and other files similar to Samsung .scm
- Reference list dialog is now resizable
- Grundig dvb\*_config.xml lists are now separated into TV and Radio lists with individual ordering
- ability to load Grundig dvb\*\_config.xml files containing invalid XML characters (e.g. 0x10)
2022-04-19 10:36:52 +02:00
Horst Beham
ece2cd7e66 - improved IniFile and Mapping to better handle missing settings
- working on philips *.db/FLASH* file format (identified 3 different variations so far)
2021-09-15 10:59:05 +02:00
Horst Beham
1b250b2a18 - ChanSort didn't work properly for Turkish (and other system locales) that don't translate ".bin" to uppercase
".BIN" and ".BIN" to lowercase ".bin".
- Philips: Removing a channel from a list is no longer possible (because it is not supported by the TV's import).
  When saving a file, all unsorted channels will be placed at the end of the list.
- support for Philips Repair\mgr_chan_s_fta.db lists is now read-only. Files can be used as a reference list,
  but modifying them won't be possible.
2021-08-31 22:13:28 +02:00
Horst Beham
5a6e8d9082 - using AnyCPU to support x64 and ARM based CPUs (e.g. running on Win10-arm on a Mac Pro with M1 CPU)
- upgraded to latest Sqlite libraries to support ARM
- finished implementation for Hisense Vidaa U5.2 file format (using servicelist.db with renamed tables and columns)
2021-07-18 12:24:51 +02:00
Horst Beham
cc1cebcacd - switched to AnyCPU build
- updated to latest nuget packages (stable)
2021-07-12 14:36:18 +02:00
Horst Beham
35111daeda 2021-05-01
- added "Settings / Reset to defaults and restart" function to delete the stored customized settings in case something
  went wrong (like massively oversized column widths)
- Philips ChannelMap\_30: fixed error when trying to save this type of list
- Upgraded to DevExpress WinForms 20.2.7 user interface library
2021-05-01 11:41:33 +02:00
Horst Beham
5a07d36f56 removed DependencyChecker code that was used to ensure VC2010 Redist x86 is installed 2021-04-25 18:41:53 +02:00
Horst Beham
8b956ed364 - replaced System.Data.SQLite with Microsoft.Data.Sqlite because MS removed the required VC2010 Redist x86 from their website
- updated bunch of other Nuget packages
2021-04-25 18:31:05 +02:00
Horst Beham
635d6404e0 Samsung .zip: Support for files that contain an empty SRV_EXT_APP table, which caused the whole list to show up empty. 2021-04-10 10:08:45 +02:00
Horst Beham
5705a435b4 - added unit tests for Enigma2 and Grundig loaders
- added round-trip unit test for all loaders to check reordering channels and favorites, saving and reloading
- internal code clean-up regarding different favorite list modes (none vs. flags vs. ordered per source vs. mixed source)
2021-03-14 22:13:22 +01:00
Horst Beham
f5010439cb - W.I.P: Enigma2 lamedb / bouquets support for Linux based Set-Top-Boxes (Dreambox, VU+, Octagon, ...)
- 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
- W.I.P: reworking the reference list system so that a simple list of channels can be applied to the main channel numbers or a particular favorite list.
  (The "Automatically reorder all lists" options currently does not work)
2021-03-13 18:11:30 +01:00
Horst Beham
cb1fb9db5d - basic support for Enigma2 (Dreambox, Vu+,...) channel lists
- dynamic number of favorite lists (still limited to 64 due to bitmask)
2021-03-07 16:12:21 +01:00
Horst Beham
086d4683fd - merged projects so that there is one loader for each manufacturer 2021-01-23 14:22:18 +01:00
Horst Beham
728e36ef39 - added info screen when opening an empty LG channel list which is most likely caused by selecting a predefined list
during the TV setup or channel search
- fixed: Sony KDL channel lists were not saved correctly
- upgrade to DevExpres 20.1.3
- Loaders can use Api.View.Default.MessageBox(...) to show a DevExpress themed message box without adding a reference to DX libs
2020-05-06 22:07:48 +02:00
Horst Beham
dc810b0a12 - added Turkish translation (thanks to Ali Haykir)
- Philips: combined DVB-C and DVB-T into a single list with a common number domain
- added exprimental support for Samsung "iptv" list
- added Suiss reference lists with Astra 19.2E + Hotbird 13.0E channels
- fixed "System.ArgumentOutOfRangeException..." when opening a file which supports mixed-source favorite lists
  (Sony, Philips, Hisense, ...)
- System requirements changed: .NET Framework 4.8
- added high-DPI support
- added Accessibility menu options to change the UI font size
2020-05-02 19:04:43 +02:00
Horst Beham
1cc3061a4d added "polarity" information for Samsung .scm and .zip files 2020-01-01 13:56:19 +01:00
hbeham
9ba8a357ed - LG GlobalClone: Favorites were not loaded correctly into ChanSort
- LG GlobalClone: some changes that might fix problems where the TV didn't work properly
  with an importet list (ChanSort now modifies less data in the file)
- Menu items for hide/unhide, skip/unskip, lock/unlock are now disabled when these features are not supported by the
  channel list file format
- Applying a .txt reference list (which doesn't contain information about skip/lock/hide) will no longer clear these
  flags in the current channel list
2019-11-24 20:00:48 +01:00
hbeham
5cdf9d0995 - Sony Android (E-Format) now supports independent favorite list ordering
- fixed issue when saving Sony Android list with high program numbers (causing negative int32 values due to bit shift)
- for unknown DVB service types the UI now shows the number instead of an empty string
- loaders are now setting the OldFavIndex (to be consistent with the use OldProgramNr)
- Form shows full file path in title bar
- no longer defaulting to "swap" mode when opening a file and using "current order"
- show "Source" column in the left list when editing a mixed source favorite list
2019-11-10 20:09:27 +01:00
hbeham
65600756da some more code cleanup and a few minor fixes 2019-11-08 19:35:59 +01:00
hbeham
34b281f5fc - unified handling for deleting channels (action based on file format support either mark-as-deleted, remove-from-file, append-at-end)
- added unit tests
- internal code cleanup
2019-11-08 02:31:44 +01:00
hbeham
0cf97fe76c - UHD channels using ServiceType 0x9F are now recognized as TV channels (fixes an issue with Panasonic lists where these channels did not show up and their numbers were assigned multiple times)
- ChannelList.SignalSource and DataRoot.GetChannelList(SignalSource) are now handled so that if all bits of a given Mask are left 0, the list will accept anything.
  i.e. if Tv/Radio/Data is left 0, the list can contain all of them as well as channels that have neither of the 3 bits set.
- added basic unit tests for each loader to ensure test files have the expected numbers of channels in the various sub lists
2019-08-29 16:57:20 +02:00
hbeham
daeb9ffb1b - fixed 200MHz offset for Samsung DVB-C channels
- added support for Sony channel lists (read-only at the moment)
- added option to disable check for updates
2019-07-14 22:54:46 +02:00
hbeham
3c3260d8a3 fixed "hidden" flag for Samsung C/D/E/F series (.scm lists) 2019-02-12 14:13:21 +01:00
hbeham
c57dd9e4b9 fixed NPE in unit tests 2019-02-10 16:08:26 +01:00
hbeham
e4c51d12fa - fixed "delete channels", which were added at the end regardless of the user selection
- changed logic how channel lists can control which columns are visible in the UI
- added column for PcrPid
- removed column AudioPid from SCM lists
- added handling for SCM lists where the value of the "hidden" flag is 255. (Guessing the hidden-status based on another field)
2019-02-10 15:56:03 +01:00
hbeham
5e81167b3d - Samsung .scm: added support for Skip + Hidden flags for D-H series DVB-T/C
- negative mask values in a .ini file now invert the value of the flag (clear instead of set and v.v.)
2017-10-29 15:45:35 +01:00
hbeham
1f92149c88 - reversed order of loading TransponderDataBase and UserTransponderDataBase so that the User data will have priority 2017-10-28 14:09:51 +02:00
hbeham
6776b21454 - update to DX 17.1.7
- added a "DllName" property to all loaders (set automatically in the main app) for improved error output
- added a "View" class that lets loaders show a dialog prompt without adding direct references to DX assemblies
- Samsung SCM loader now prompts for TV series if it can't be auto-detected uniquely
- added fixes for Samsung .zip format from 288adf7bd2
- added popup to open download page for VC2010 x86 redist if not installed (needed to open SQLite files)
- added hack to work around a problem in the SharpZipLib when Windows returns an invalid code page
2017-10-28 13:20:39 +02:00
hbeham
6cf02f4f90 - added experimental support for Loewe / Hisense 2017 servicelist.db
file format
- show error message when trying to open a .zip file that doen't contain
  the expected files of a Samsung J series or Toshiba .zip channel list
- show error message when trying to open a broken .zip file, which is
  most likely caused by exporting to a USB stick formatted with NTFS
- allow changing the "crypt" flag for Samsung .scm lists
- iterating through loaders supporting a file extension till one can read the file
2017-06-08 20:01:42 +02:00
hbeham
a624c2bfe1 - fixed GlobalClone saving (must preserve space character for empty channel names)
- fixed .scm format detection based on CloneInfo content when .scm file was renamed by user
- upgraded DevExpress
2016-08-10 22:27:52 +02:00
hbeham
aaba300f2d improved usability 2016-04-27 19:03:50 +02:00
hbeham
845c1c44c1 - fixed channel names turning from bad-byte-order-UTF16-varchar to BLOB when saving (probably the cause of Samsung J errors)
- Samsung E,F,H,J .scm file format: allow independant reordering of each favorites list (with editable numbers)
- Samsung J .zip file format: predefined lists can be edited again, allow independant reordering of each favorites list (sequential numbers), allow deleting channels
2015-11-29 20:36:56 +01:00
hbeham
e795d00ebb cleanup, documentation, unit tests 2015-11-28 20:50:52 +01:00
hbeham
ff96a36cc7 - added tests for Samsung .scm files
- fixed some rare file-format detection issues for Samsung (e.g. J-series with .scm format, HExxC, LTxxC)
2015-11-27 23:47:09 +01:00