05 October 2019; v126.96.36.199
- improved client setup routine
28 September 2019; v1.2.18
Restored some code for folder permissions on initial installs that I had removed previously.
26 September 2019; v1.2.17
Fix for the <Sport/> and <Teams/> elements in the XMLTV file. A null entry would throw an error and fail to create the XMLTV file.
I also decided to limit the “Sports” category to the actual sport events rather than all things about sports (documentaries, pre-game/post-game, etc…)
23 September 2019; v1.2.16
Minor update and fixes.
- Added notifications of impending SD membership expiration (Warning at <14 days, Error at <3 days)
- Added <Sport/> and <Teams/> elements in XMLTV file
- Adjusted some cast & crew jobs to display
- Added support in client for Analog Cable display and Add Channel feature
- Improved reliability of Client Setup and tuner limit increase
- Added enabling of ATSC OTA tuners for Canada users
- The Transfer Tool will start in the backup folder location for initial file open request
22 July 2019; v1.2.15
Minor update for XMLTV files and minor fixes.
- Include ability to add filler programs in the XMLTV file. The size of the program block and text are customizable in the epg123.cfg file.
<XmltvAddFillerData>true</XmltvAddFillerData> <XmltvFillerProgramLength>4</XmltvFillerProgramLength> <XmltvFillerProgramDescription>This program was generated by EPG123 to provide filler data for stations that did not receive any guide listings from the upstream source.</XmltvFillerProgramDescription>
- Some cast & crew were being missed. Anyone with a “Narrator”, “Producer”, and “Story” roles will be assigned a “Host”, “Producer”, and “Writer” role respectively.
- Step1: Clean Start will not delete any PlayReady files in the C:\ProgramData\Microsoft\eHome folder. Though there is no evidence it could be a problem to delete them, I went ahead and protected them.
- Changed the embedded .NET 4 setup in the installation package from a Client install to a Full install. Found out that the Client was no longer sufficient. This will only benefit those with a clean Win 7 OS with only .NET 3.5 installed… so, not many.
30 June 2019; v1.2.14
This is mainly to address the issues of getting Warning status bugs due to no guide listings being provided by Schedules Direct/Gracenote on small community stations. Rather that continuously report a Warning, we now have the option to suppress them for those stations… specifically stations that start with GOAC, LOOR, EDAC, LEAC, PEG, LOAC, PPV, PUAC, SPALT, INFO. There is a new element in the epg123.cfg file to control what stations are suppressed.
Enter specific station callsigns, comma delimited, to suppress warnings for no guide data, or use a wildcard (*) for a group of callsigns. A solitary wildcard means all station warnings will be suppressed.
<!-- SuppressStationEmptyWarnings: Enter specific station callsigns, comma delimited, to suppress warnings for no guide data, or use a wildcard (*) for a group of callsigns. A solitary wildcard means all station warnings will be suppressed.--> <SuppressStationEmptyWarnings>GOAC*,LOOR*,EDAC*,LEAC*,PEG*,LOAC*,PPV*,PUAC*,SPALT*,INFO*</SuppressStationEmptyWarnings>
- Add ability to suppress Warnings for various stations that are not guaranteed to have guide data
- Removed possibility of duplicate channel numbers in XMLTV file for the same station
- Improved initial setup experience (added recommended defaults and automatic fetch of headend lineups)
- Improved initial setup experience (more automated & additional timeouts)
- Added try/catch for applying Tweak WMC to catch possible errors
- Improved initial setup experience (automatic transfer of eligible requests)
- Added Manual Requests as well as OneTime Requests
- OneTime Requests are not transferable (they are typically single program requests to include movies)
12 June 2019; v1.2.13
A very minor maintenance update.
- [fix] will not prompt user about missing scheduled task for a manual import
- [improvement] stations that are not available with current subscribed lineups will be grayed out in the custom lineup
- [improvement] some stations have more than 2 logos available, we only choose the second one which tends to have better contrast
- [improvement] judges in shows like The Voice were not being listed in Cast & Crew; they are now considered Actors
- [improvement] environment check for the client GUI to create a needed folder if it doesn’t exist
12 April 2019; v1.2.12
A very minor update these changes have been ready for quite a while and figured it is good time to publish.
- [fix] would fail to restart configuration GUI and client GUI in elevated mode if there was no scheduled task
- [improvement] installation file will now create both a configuration GUI and client GUI shortcut on the desktop if selected
- [improvement] added a /live element in the XMLTV xml file which seems to be catching on in the XMLTV community
07 February 2019; v1.2.11
A couple fixes I felt were important enough to push now in order to mitigate some problems seen recently.
- [fix] found issue that would abort update if a program ID started with “SP”
- [fix?] recent changes/updates with Win7 somehow changed the security permissions of some /cache folders such that epg123 could write a file into the cache folder but could not read from it. EPG123 will now check folder permission of all folders [this may not be true but rather related to the above fix for program IDs that start with “SP”]
- [improvement] will prompt user if a scheduled task has not been created prior to exiting the configuration GUI or the client GUI
- [improvement] added a ‘Copy to Clipboard’ feature in the configuration GUI for the lineup tabs which is tab delimited for spreadsheet type programs
- [improvement] improved parallel download operations … more improvements to come in later version(s)
11 January 2019; v1.2.10
Sometimes it’s the little things. Minor updates for better usability and setup. Also added to the XMLTV generator to provide multiple series images in different aspect ratios.
- Client will now notify user if WMC is not present before aborting initialization.
- Client will analyze the merged channels to determine if any EPG123 lineup service guide listings are associated with any guide channels. Will hopefully avoid any further “No Data Available” in the WMC guide due to failure to make those associations.
- Progress bar is smoother in operation and will notify user that closing the form will abort the update.
- When adding lineups, the countries are now in alphabetical order rather than separated by region; search results will also be in alphabetical order.
- Perform parallel downloads for some operations. Users with a large number of channels and/or large number of days to download may see a slight improvement in time to update.
- XMLTV file will now have up to 4 images for any program in the different aspect ratios (2×3, 3×4, 4×3, 16×9). All images will have dimension attributes for use by consuming program(s).
- XMLTV file will only have the content ratings from the country that matches the Windows regional language setting. This can be overridden or multiple countries can be allowed in the configuration file.
30 December 2018; v1.2.9
Version 1.2.9 is really based off of v1.2.7 with the modifications I had done for v1.2.8 done a little differently. All the same improvements just with a more robust method. Also, I added one more change related to TV Ratings.
Repeat: Earlier this month, Gracenote changed their API a little and Schedules Direct followed suit. The changes were around the TV Ratings and Advisories. If you hadn’t noticed, you have been missing a lot of the TV ratings the last couple weeks. To adapt, I had to
move quite a bit of code around pay attention to the locale of the user to determine which content rating system was appropriate… and added some improvements along the way. The great thing with this adaptation is a lot of international users got a much larger support for ratings.
- [improvement] Restored TV Ratings for programs with new API feature and added support for more users
- [improvement] Along with the TV Ratings, will also have reasons for ratings if available for episodes (movies already had them)
- [improvement] Improved XMLTV content for ratings as well as added theTVDB as an episode-num system if available
- [adjustment] Will no longer cache the links for series images but will “refresh” the link on each update
- [fix] There was a download issue when using a custom lineup and an included subscribed lineup with common stations not being selected for download.
26 December 2018; v1.2.8
Apologies, everyone. Version v1.2.8.x just wasn’t meant to be. I knew with some of the changes I made I had added some risk for race conditions, but I thought I had mitigated that… apparently not. I am abandoning that method and will be backing out most of the changes in the code and it will be released as a new version.
I had missed a ‘null’ check for determining movie star ratings and it was aborting the creation of the mxf file in v188.8.131.52/1. That has been fixed. Version v184.108.40.206 was uploaded to the server on 27 December 2018 @ 1735Z. (v220.127.116.11 was to address an error in the creation of the XMLTV file when the programme was also a premiere. It was uploaded on 27 December 2018 @ 0750Z.)
Earlier this month, Gracenote changed their API a little and Schedules Direct followed suit. The changes were around the TV Ratings and Advisories. If you hadn’t noticed, you have been missing a lot of the TV ratings the last couple weeks. To adapt, I had to move quite a bit of code around and added some improvements along the way. The great thing with this adaptation is a lot of international users got a much larger support for ratings.
[improvement] Restored TV Ratings for programs with new API direction and added support for more users [improvement] Along with the TV Ratings, will also have reasons for ratings if available [improvement] Improved XMLTV content for ratings as well as added theTVDB as an episode-num system if available [adjustment] Will no longer cache the links for series images but will “refresh” the link on each update [fix] There was a download issue when using a custom lineup and an included subscribed lineup with common stations not being selected for download.
05 December 2018; v1.2.7
Minor release that addresses some issues/concerns.
- [improvement] Handle malformed JSON responses from Schedules Direct for lineup channels and mappings.
- [fix] For lineups that have no channel number information, the program would ignore the channels. Now will accept the channels and use channel number -1.
- [improvement] The construction of station logos will now include a small transparent border. This way whatever container it is displayed in, there will some space around it.
- [fix] For programs without an OAD, will use date “1900-01-01” instead of “0001-01-01” for the XMLTV file. Some programs would choke on the latter.
- [improvement] Will handle a null value for the required ShowType field of a program.
- [fix] Found a case when adding lineups to the account, it may add the wrong one.
- [improvement] The Transfer Tool will now be able to import some manually created program/series requests that had a different XML scheme.
20 October 2018; v1.2.6
Minor release that addresses some issues/concerns.
- [fix] Since the message to delete the current task and create a new task is getting lost when updating from v1.2.1 and lower, I added code in the client that will adjust the location of the mxf file to import automatically.
- [fix] Added a try/catch for the automatch routine to prevent an exception stopping the client from initiating a guide and recordings reindexing.
- [improvement] I changed the logic and method behind the archiving of old trace.log files and determining the oldest to delete. Completely transparent to the majority of users and no impact to execution.
- [improvement] Changed the format of the start and stop times in the XMLTV file to include offset hours in order to work with the NextPVR program. This is to work around an error currently in their code and has no side effects other than a slightly larger XMLTV file.
Message for Plex users. The option to use Plex friendly channel names has been removed. This may “break” your current mapping of guide listings to tuner channels. On a legal note, Schedules Direct informed/reminded the community that using Gracenote data through Schedules Direct for a “commercial product” is a violation of the Schedules Direct Terms of Service.
11 September 2018; v18.104.22.168
This release addresses news programs that have generic descriptions weren’t being considered as different programs, even though their original-air-dates were different. Evidently, in order to work properly, the original-air-date needed that date and the time of the program to be considered unique. Basically, for your nightly local newscasts, Plex would only list 1 episode in the guide when there are literally 1 every night…. FIXED.
08 September 2018; v22.214.171.124
This release is strictly for the benefit of Plex users and creating XMLTV files for them. Just gotta say, Plex’s implementation and interpretation of XMLTV was a guessing game. I’m not bumping the build number… no need for WMC users to update.
07 September 2018; v1.2.5
If upgrading from v1.2.1 or earlier, you must delete and recreate your scheduled task if you are running Full Mode (Server + Client).
This release is for a couple minor fixes and an improvement.
- [fix] found case if a manual recording (date/time/channel) was in progress, the import would fail
- [enhancement] the Tweak WMC has a new option to replace the callsigns in the guide with the station names (i.e. ‘FS1HD’ becomes ‘Fox Sports 1 HD’)
- [enhancement] now makes extra calls to Schedules Direct to gather series supplemental data for Modern Media UI+ usage to include series premiere dates
- [improvement] added some logic to determine whether or not to set some default settings to the scheduled task
- [improvement] will now delete cached files that have errors to download again on next update
- [improvement] XMLTV files will now have an “original-air-date” episode number for programmes that do not have episode specific information. This should fix the issue where Plex decides generic episodes are movies (sigh)
- [enhancement] added the ability to create your own custom lineup
- GUI not developed yet to create the custom lineups; manual method is only method available right now
- assign your own channel numbers (great for ClearQAM users and those that don’t have correct lineups from SD)
- only stations that are “members” of subscribed lineups will be downloaded (signified by a checkmark)
- alternate stations can be used (primary as HD, secondary as SD for example)
- comes with examples for HDHomeRun Premium TV (Eastern and Pacific), as well as Sling TV
11 August 2018; v1.2.4
This release is for a couple minor fixes and an improvement.
- [fix] found case in which the epg123 client GUI would not populate the list views if a scheduled task did not exist
- [adjustment] I didn’t like the flow of the install in applying the folder permissions. If needed, there will be a prompt to the user to state what the program is going to do and warn it may take a while
- [improvement] with the new possible folder structure, I added a button to view the trace.log file on both GUIs (the Help button of the configuration GUI was re-purposed for this)
08 August 2018; v1.2.3
Quick release to fix some permission issues particularly for Win10. It also affects other operating systems but only if the user that setup epg123 is different from the user that is used for the scheduled task. The answer to this was to change the permissions of the epg123 folder (C:\ProgramData\GaRyan2\epg123 or the [epg123]\folder if not installed in a Program Files folder) to add Everyone with full control.
- [fix] add Everyone full control of the epg123 folder. After installation, open the EPG123 Configuration GUI and the permissions will automatically be applied. For portable installs, you will need to run as administrator.
- [fix] correctly assign the working folder when program starts; otherwise any program call from a command line outside the installation folder, or even possibly from double-clicking the exe, would fail to find the configuration file.
- [enhancement] the configuration GUI will highlight any channels that are NEW to your lineup(s) since last save. The visual indicator will allow for easier scan of the new channels to determine if you want to add them to your downloads.
05 August 2018; v1.2.2
There has been a bit of work on how EPG123 is built. Instead of multiple builds each for the Win7, Win8, and Win8.1 versions of WMC, this old dog learned an old trick to only create 1 version that can support all of them. There will no longer be separate packages for each. Along with this new design, I no longer embed the Newtonsoft.Json.dll file in the epg123.exe or epg123Transfer.exe files.
Another major change is it supports being installed in the Program Files folder for the static files and using the ProgramData folder for the configuration files, logos, backups, logs, and generated guide files. This provides a much better structure and acceptance from the community. It will, however, require those upgrading to this version delete their existing scheduled task and create a new one due to change in location of the mxf file. Also, not shown in the graphic below, the XMLTV output file has changed from epg123.xml to epg123.xmltv for easier identification.
- fixed gap in logging an error if the executable was already open when a scheduled task was to run (and aborted)
- added ability to save a support file to be used by ModernMedia UI+ whenever it gets released
- adjust logger to clear the status of any errors detected while interfacing with the user, prior to performing an update
- added ability to include a BrandLogo visible in the guide similar to the status logo on the WMC home screen. This is for extenders that don’t have the benefit of seeing the status logo on the hosting machine. You will need to edit the epg123.cfg file and set the <BrandLogoImage> element to “light” or “dark”
- the movie cover art searches from TheMovieDb will now search by broadcast language first with the fallback being english
- only time discontinuities within 2 days from the time of update will be registered as a warning; otherwise it is just an information only entry
- added TV ratings support for German (Freiwillige Selbstkontrolle der Filmwirtschaft), French (Conseil Supérieur de l’Audiovisuel), and UK/GBR (UK Content Provider and British Board of Film Classification)
- fixed text placement of status logo when the screen dpi has changed due to using 125% or 150% text size
- added ability to catch and log an unhandled exception from the main program
- will no longer log a recording in progress when attempting to import an update as a warning
- will notify user of any programs that are locking the shell dll file when trying to update it using the Tweak WMC form
- greatly improved the client setup routine to include a status bar with descriptions of actions and adjusted for new knowledge that a mcupdate -uf will reset the tuner limit increase back to the default limit of 4
- now display the form while the listviews are being populated for better user experience
- automatically corrects correctable errors in the database merged channels
- corrected some erroneous TuningInfo values of merged channels due to overrides
Installation Scenarios (Updating from previous versions)
Previous installation is not in a Program Files folder:
v1.2.2 will install over the current location. The generated MXF and XMLTV files will now be located in the [epg123]\output folder. Action: create a new scheduled task.
Previous installation is in a Program Files folder:
v1.2.2 will install over the current location. The generated files will now be located in the ProgramData\GaRyan2\epg123 folder and subfolders. Action: move the \backup, \cache, \logos, and \sdlogos folders to ProgramData\GaRyan2\epg123 folder along with the epg123.cfg, EPG123Status.png, epg123Task.xml, guideImages.xml, and your trace.log files. Create a new scheduled task.
Uninstall previous version and install v1.2.2 to Program Files folder:
Action: move the same files as above to the ProgramData\GaRyan2\epg123 folder and create a new scheduled task.
22 June 2018; v1.2.1
- [Change] Downgraded the severity of an update available from a Warning to just Information. The exit code for a successful update with no errors or warnings, and an update available, will be a 1.
- 0=SUCCESS; 1=SUCCESS with Upgrade Available; 47825=WARNING; 57005=ERROR
- [Enhancement] Added the ability to delete lineups from the database. A user that has tried multiple lineups and/or moved to a different provider can now remove the unused lineups.
- [Improvement] Improved the Client Setup routine. Found that sometimes it would not open and hide WMC successfully during Step 1 to properly prepare the new database for increased tuner limits.
- [Enhancement] Added the ability to have an EPG123 status logo on the WMC Start Menu. Configuration is in the Tweak WMC window from the client. Default is the light accent logos with 100% opacity. The logo is updated upon each MXF file import.
- The date stamp is when the status was updated (last MXF file import)
- If the MXF file is older than 24 hours, logo will be a red ‘X’ assuming the updates are no longer occurring.
22 May 2018; v1.2.0
- [enhancement] Restored using the ISO language codes to include regional languages.
- [improvement] Slight improvement in downloading of station schedules. Your mileage may vary.
- [enhancement] Added ability to download 2×3 series artwork instead of 4×3.
- [improvement] Added some error correction and trapping when dealing with the object store.
- [improvement] Greatly improved the reliability of deleting channels.
- [enhancement] Added ability to Add channels (currently only ATSC, Digital Cable, and ClearQAM)
- [improvement] Added indexing of the PVR schedule automatically after a MXF file import.
- [improvement] Revamped the Client Setup routine for an even easier install experience. Also adds ability to increase tuner limits* even before running TV Setup in WMC.
- [enhancement] Changes all recording request’s ‘anyLanguage’ attribute to true in order to avoid missing recordings due to changing from a language string to an ISO code.
- [bonus] Running the executable with the -X argument (epg123Client.exe -x) will present 2 more buttons dealing with the object store. With Store Explorer, you can browse and change the contents of the store database directly.
* due to a flaw in the object store in accepting the letter ‘t’ for the TvSignalSetupParams, it is not possible to increase the tuner limits for everyone. The countries that the tuner increase will work for are:
- AU – Australia
- BE – Belgium
- BR – Brazil
- CA – Canada
- CH – Switzerland
- CN – China
- CZ – Czechia
- DE – Germany
- DK – Denmark
- ES – Spain
- FI – Finland
- FR – France
- GB – United Kingdom
- HK – Hong Kong
- HU – Hungary
- IE – Ireland
- IN – India
- JP – Japan
- KR – Korea
- MX – Mexico
- NL – Netherlands
- NO – Norway
- NZ – New Zealand
- PL – Poland
- RU – Russian Federation
- SE – Sweden
- SG – Singapore
- SK – Slovakia
- US – United States
- ZA – South Africa
The countries that will not work are:
- IT – Italy
- PT – Portugal
- TR – Turkey
- TW – Taiwan
- Default – Everyone else
21 March 2018; v1.1.25
Explanation for v1.1.25:
It was discovered that the language value of a program would have to match any series recording requests’ prototypicalLanguage value in order to be scheduled to record. Starting in v1.1.20, I had changed the program language value to be the 2-character plus locale ISO language codes. It appears that “English” and “en” is equivalent in WMC, but “English” and “en-GB” are not for the purpose of recording. This caused a lot of scheduled series recordings to no longer “find” episodes to record. I have reverted back to the original method to be the common language name with no locale information in order for existing series recordings to work. If you created any series recordings while using v1.1.20 – v1.1.24, please check your schedule to see if they are still working. If not, you will have to cancel the current request and create a new one.
- [fix] Restored the method of recording the program language value to the method used in v1.1.19 and below. (v1.1.25)
- [fix] One more flaw fixed for new installs. If a epg123.cfg file did not already exist, epg123 would throw an exception when trying to save the configuration. (v1.1.24)
- [fix] Found another flaw in the v1.1.2x version that would not create the scheduled task due to encoding of the xml file. (v1.1.23)
- [fix] A flaw in the new XMLTV feature would abort updates if the downloaded service did not have a station logo entry. (v1.1.22)
13 March 2018; v1.1.21
- [enhancement] Form now remembers size and location of window to restore each time you open it.
- [feature] Can now create XMLTV files for use in programs other than WMC.
- [enhancement] Form now remembers size and location of window to restore each time you open it.
- [feature] TweakWMC can now center channel logos in available space.
- [enhancement] TweakWMC will now increase the show image size for improved visibility.
- [enhancement] Form will try to automatically repair any orphaned merged channels from scanned lineups. Will also delete channels that are not associated with tuners.
- [enhancement] Added column in merged channels to display tuning info.
- [enhancement] Merged channel call sign and channel number are highlighted to identify any custom names or numbers.
07 January 2018; v1.1.19
Small update but wanted to get it out there. I will mostly be out-of-pocket (disconnected for the next week) so didn’t want to hold this one longer. I have not updated the manual, so it is still behind.
- [fix] I may not have been restoring the computer’s power/sleep settings once an update had been completed. Fixed.
- [fix] I may not have been restoring the computer’s power/sleep settings once an update had been completed. Fixed.
- [fix] Evidently DVB-S tuning devices in WMC do not populate some database entries which the client was expecting and throws an exception. Protections put in place to catch the exception(s) and continue with the update. This was only for the automatically match feature of the scheduled task.
- [improvement] Lots of improvements in the Tweak WMC form. Optimized the code and really enhanced the ability for the guide tweaks to scale properly while maintaining balance.
- [improvement] Instead of modifying the current resource files for the guide tweaks, everything uses the base default WMC settings as a starting point for each tweak. This means a MCL XL user will no longer need to worry about setting MCL XL settings to default before using the guide tweak.
- [improvement] Added some filename protections in the recording filename pattern setting.
- [improvement] The Client Setup form will no longer need to exit in order to perform a backup of the ehome backups.
- [enhancement] Added a button for the Transfer Tool in the client.
- [fix] Found a case in which some Series Requests would not show in the form. Fixed.
28 December 2017; v1.1.18
Lots of new features primarily in the client GUI. Big improvement in the ability to match merged channels with lineup listings.
- [fix] Updates would fail if theTVDB season number exceeded 255. If the series uses the year as the season number that series is ignored.
- [fix] Updates would fail if theTMDB series ID value from Schedules Direct was an invalid 0xFFFFFFFF.
- [feature] Added tray icon which will be visible when update is run on-demand. To see the icon during a scheduled update, the task will have to be altered to be interactive (select the ‘Run only when user is logged on’ balloon in Task Scheduler).
- [feature] Lineups can now be previewed prior to adding to your account by right-clicking the lineup in the lineup search results.
- [enhancement] Channel logos downloaded from Schedules Direct to be included in the guide will now be as large as possible with a 3:1 ratio. It is advised to delete current smaller logos and download again. The “BigLogos” feature has now been deprecated… files with the suffix _b will be ignored and can either be deleted or the suffix removed to replace the smaller logo.
- [improvement] Now separates multiple lineups in account to be multiple lineups in the guide. There will no longer be a “EPG123 Lineups with Schedules Direct” lineup.
- [feature] Added tray icon which will be visible when import is run on-demand. To see the icon during a scheduled update, the task will have to be altered to be interactive (select the ‘Run only when user is logged on’ balloon in Task Scheduler).
- [feature] Can now apply custom numbers as well as custom call signs to the merged channels. A button provided to enable toggling between displaying the original or custom values.
- [feature] Can filter the merged channels by scanned tuners. This is advantageous to matching with different lineups.
- [feature] Can now backup and restore WMC configurations (not guide listings).
- [feature] Client setup is now mostly guided using the [Client Setup] button.
- [feature] Can now tweak some WMC settings.
- Dynamically change the guide grid layout, font sizes, time span, details, number of rows, …
- Increase tuner limits
- Enable the Movie Guide for non-US/UK/Canada users
- Configure filename of recording file
- Adjust pause buffer, skip ahead and instant replay intervals
- [improvement] Can pull the recordings.mxf file directly from the WMC configurations backup file.
16 September 2017; v1.1.17
There was a problem with v1.1.16 in handling program files cached by v1.1.15 for the new S/E numbers from TVDB feature. That has been fixed with v1.1.17. The silver lining to this is realizing that if anyone wants to take advantage of the new feature immediately, then you must clear the cache and rebuild/update to actually use the new data on programs that already exist in the guide.
16 September 2017; v1.1.16
Here are the changes in no particular order.
- [feature] Added 2-letter language id codes all stations in the lineups.
- [feature] Added option to prefix episode description with S/E numbers.
- [feature] Added option to use TheTVDB.com S/E numbers as provided by Schedules Direct. If not available, it will use the Gracenote S/E numbers followed by production number as a last option.
- [fix] Working the S/E code, found that production numbers were not being used in all cases.
- [improvement] Column widths of list views now adjust to display DPI.
- [change] Changed max number of days to download from 30 to 21. This ensures there is no confusion with the number of days available from Schedules Direct.
- [fix] Program will no longer get stuck in a continuous loop when trying to configure TMDb when the API is down.
- [stability] Improved robustness of the program when dealing with incomplete/incorrect responses from the SD API.
- [fix] Will now try to retrieve movie coverart that was not possible in previous updates due to TMDb API being down.
- [improvement] Will retry to import .mxf file after the initial attempt was aborted due to recording(s) in progress. Will try every 60 minutes, or 1 minute after current recording(s) are scheduled to complete, whichever is earlier. Will only retry for 5 hours and then abort if WMC is still recording.
- [stability] Improved robustness of code to handle errors in the WMC database when populating the list views.
- [improvement] Directly imports recording requests into WMC database rather than use loadmxf.exe.
- [improvement] Now automatically kicks off the PvrSchedule task to index the new requests. Results should be pretty much immediate after transfer.
- [fix] TheTVDB search strings were not URL encoded so would fail for titles containing invalid characters such as ampersands.
19 August 2017; v1.1.15
Quick release to address issues with EPG123 handling some changes in the SD json response for station/channel mappings.
- [fix] EPG123 now handles ‘null’ entries in the station/channel mappings
- [fix] EPG123 will now handle station/channel mappings that contain both QAM and Cable channel numbers. Previously would only use the QAM value.
19 August 2017: REMOVED v1.1.14 due to not completely fixing the null entry issue.
06 August 2017; v1.1.13
The fix for the Win7 issue with the Newtonsoft.json.dll assembly version has been addressed by embedding the dll into the epg123Transfer.exe file. This approach created the need to embed the dll into the epg123.exe file as well and remove the Newtonsoft.json.dll from the installation folder. If you install epg123 using the epg123Setup package, the dll file will automatically be removed. For those that use the portable files and copy into the epg123 folder, you will have to manually remove the dll file in order to use the transfer tool for Win7 machines.
The solution makes the Visual Studio solution package a little more interesting, but in the end it is cleaner for the user.
05 August 2017; v1.1.12
Attention users of v1.1.12 on Windows 7 machines, the transfer tool will not work in its current configuration without some intervention. The Win7 tool was built with the .NET 3.5 version of the Newtonsoft.Json.dll file while the version shipped with EPG123 is the .NET 4.0 version. A workaround is to move the epg123Transfer.exe file into its own folder and download the .NET 3.5 version of the dll here. Extract the dll file from the download and place in the same folder as the transfer tool.
When I have a more elegant solution, I’ll release a new rev.
Minor update for the core program but a big improvement for the series recording transfer tool from Rovi to Gracenote/SD. For those series that have not aired yet and are not part of the database, you can now use information provided by theTVDB.com to make the transition.
- [fix] The transfer tool would not allow transfer of Wish List items.
- [enhancement] Transition tool can now use theTVDB to get Gracenote/SD series IDs to make the transition.
28 July 2017; v1.1.11
For the most part this is a maintenance update with the exception of a new tool included. For the newer installers of EPG123, there is now a transition tool to convert your Rovi recording requests into EPG123 recording requests. The database created to make this happen will continually be updated but currently stands at 11,164 series from the major US broadcasters, DirecTV, and DISH Network. I apologize to my international friends … performing the database updates takes time and I can only devote so many resources to this effort.
- [fix] Somehow broke the ability of the configuration GUI to handle password changes. It is now fixed.
- [fix] Corrected exception handling with trying to read an empty xml file for MCL XL.
- [enhancement] Added transition tool for recording requests.
- [enhancement] Greatly improved the ability of the client to delete the WMC database and clear the eHome folder. Should no longer be needed to boot into Safe Mode for some machines.
- [enhancement] Added the ability to increase max tuner limit from 4 to 32 tuners per type. It does the exact same thing as TunerSalad and Ceton InfiniTV software does.
- [growth] There is evidently an active project out there with the goal to refresh the look of the guide within WMC. Part of the effort will be to have ‘New’, ‘Premiere’, ‘Live’,… indicators in the grid listings. EPG123 supports that effort by including the isRepeat flag in the MXF file.
05 July 2017; v1.1.10
Sorry. I had planned on leaving the version response from SD at 1.1.9, but in light of the current problems with MS/Rovi guide the downloads for v1.1.10 far exceed the downloads for v1.1.9. I just changed the version response to v1.1.10.
04 July 2017:
Actually found out yesterday that there is a difference between WMC for Win8 and WMC for Win8.1. All previous builds of the client will not work for Win8. I have built a new version (1.1.10) which is the same as 1.1.9 with the following exceptions:
- added a epg123Client build that supports Win8 in the installation package
- changed the epg123Client reporting to the trace.log file to include which OS it was built for
For those running v1.1.9, no need to upgrade
and I am going to leave the response from Schedules Direct at v1.1.9 to avoid the warnings in the event log for out-of-date software. This version would only be required for those trying to install EPG123 on a Win8 machine.
30 June 2017; v1.1.9
Improved the station logo downloads and crops. Added some more protection to the initial installs to ensure steps are followed in the correct sequence.
- [enhancement] now downloads/crops/resizes with the below rules:
- if MCLXL is installed and configured for Big Logos, logos will be 225×75
- if <BigLogosMCLXL> is true in epg123.cfg file, logos will be 225×75
- otherwise, logos will be 144×64
- [enhancement] when adding lineups you can now right-click a lineup from the search results to preview its channels.
- [enhancement] will prevent any guide import if the tuners have not been setup (TV Setup). This avoids corrupting the database before you can even use it.
- [enhancement] added progress window when downloading all SD logos. The downloaded logos will be cropped but not resized into the .\sdlogos folder.
18 June 2017; v1.1.8
I lied, one more quick release. I wasn’t expecting this one.
- [enhancement] now have the option to download channel logos from Schedules Direct right into your guide. EPG123 will download, crop, resize, and save in the .\logos folder automatically. Currently logos are saved at 225×75 pixels which may change in the future or allow the option for 96×42 pixels. The initial build of the logos can take some time to process so be patient if you have a lot of channels you are downloading.
14 June 2017; v1.1.7
A last quick release with some enhancements to mitigate some risks and recovery options
- [enhancement] added mutexes to ensure only 1 instance of EPG123 is running at a time, only 1 instance of the EPG123 Client GUI is running at a time, and only 1 instance of a guide import is running at a time. Avoids quite a few possible issues with SD API tokens and database access.
- [enhancement] Every time the [Step 1: Clean Start] button is used, the ehome\backup files are backed up to your epg123\backup folder. The backup files that are backed up are the tuner configurations, scheduled recordings, and subscriptions which can be restored manually if things go wrong.
- [enhancement] Every time the EPG123 configuration is changed, the epg123.cfg file is backed up to your epg123\backup folder.
- [backtrack] Evidently no one appreciated using Zulu time in the log file. This has now been reverted back to using local time.
With the previous release and this release, disturbances to upstream data or problems with data sourced from Schedules Direct should not impact the guide too much. There is still a chance that if there are missing channels, but less than the 10% threshold, those channels will be missing from the guide. With the backups available, a quick recovery is possible.
Note for the backups: There is no limit to the number of backups you can have in the backup folder. If you change your configuration 100 times, you will have 100 config file backups.
09 June 2017; v1.1.6
Quick release with some minor enhancements.
- [enhancement] In light of the problems the upstream source to Schedules Direct has caused for EPG123 users, I have added a sanity check in the EPG123 GUI. When saving the configuration, the number of expected channels to download will be evaluated prior to committing the changes. This will prevent unintentionally overwriting a configuration with bad lineup data.
- [enhancement] Added a -P switch to epg123.exe to show the progress window while creating the MXF file.
06 June 2017; v1.1.5
A lot of behind the scenes work in support of future growth in an all in one package.
- [growth] Created installation package for future updates and upgrades
- [growth] Revamped the trace and event logging for better support of multiple programs. Now have 2 sources in Event Viewer (EPG123 and EPG123Client) with Event IDs 0:SUCCESS, 0xBAD1:Warning, 0xDEAD:Error
- [enhancement] Removed all console windows and now use progress windows to monitor updates and imports
- [enhancement] No longer deletes the ehome folder during Step 1. Instead deletes contents of folder to allow for symbolic links or junctions to the ehome folder if desired. Same is true for the cache folder (no change)
- [enhancement] Improved grab of movie images from Schedules Direct for Video-On-Demand and straight-to-video movies
- [fix] Configuration GUI would not allow changing Schedules Direct password and would fail to login
- [fix] There was a copy/paste error in determining series images (minor). Thanks NNate!
- [fix] Found case where epg123Client would crash if failed to open the WMC database
16 April 2017; v1.1.4
A very minor update to address some usability and exception handling issues.
- [fix] added exception handling to all JSON messages from Schedules Direct to gracefully abort on malformed responses.
- [fix] corrected issue in epg123 GUI where all channels will be selected when the ‘Save’ button was clicked multiple times in a single session. This only affected those that had the ‘Automatically download new stations in lineups’ option selected.
- [enhancement] added ability to force an update regardless of recording state; refer to guide appendix for command line arguments.
- [enhancement] added button in epg123Client GUI to only show enabled channels in the listview.
03 March 2017; v1.1.3
This version fixes the column sorting of the listviews (what v1.1.2 should have been) as well as removed reporting Md5 mismatches to the event log. Also of note, the guide has been updated to hopefully be clearer on how to get up and running with EPG123.
The self-extracting executable files are now contained in a zip file. This should limit the nagging from browsers and operating systems to just 1 instance (maybe 2). The real purpose is to ensure the .exe files are not flagged as downloaded/untrusted.
Those upgrading from v1.0.2 and below still need to use the utility for a seamless transition.
Now let’s pretend v1.1.2 never happened.
27 February 2017; v1.1.2
Quick release of v1.1.2 which corrects an issue with the listview sorters on systems that use a comma (,) as a decimal separator. Package is now a self-extracting 7-zip file for everyone’s convenience. No other changes from v1.1.1 to v1.1.2.
NOTE: Though this version makes the GUIs functional for international users, the actual sorting is now broken. That has been corrected in the code and will be in the next release. Recommend continue using v1.1.1 if it works for your system configuration.
26 February 2017; v1.1.1 Minor changes, but wanted to get something out there for the new Win10 users and to address the Md5 mismatch notices.
- Added EventID 57005 (0xDEAD) to the event log for when EPG123 fails to update or import latest guide listings
- Updated column sorters to treat channel numbers as Channel.Subchannel instead of decimal
- Client form can now automatically adjust panel sizes for larger text display settings
- Client form now shows number of merged channels, lineups, and service channels available in status bar
- Database rebuild in safe mode will now rebuild everything except listings instead of just delete database file
- Added a button to clear the cache in the EPG123 GUI (to include image links in guideImages.xml)
- Task created for Win10 users now use NT AUTHORITY\NETWORKSERVICE account due to Win10 1607 Anniversary Update bug
- Need to run GUI as administrator to see task status and exit code
- Updated code in preparation for upcoming updates to Schedules Direct API
- Corrected error when identifying and dealing with Md5 mismatches for programs and schedules
09 February 2017; v1.1.0
Lots of improvements on this one. The most noticeable change is the epg123Client now has a GUI and a much larger purpose.
- can perform Step 1 and database rebuild without going into Safe Mode
- can subscribe/unsubscribe any channel to any lineup station
- can perform matching of the entire channel listings to any selected lineup
- can enable/disable a channel in the guide, delete channels, and rename channel call signs
- identifies which lineup a channel is subscribed to
- can create a scheduled task for client mode only or full mode
- client will abort import if it detects a recording is in progress
- sanity check on number of stations being imported to number of stations expected. If number is 90% or lower of expected, client will abort import
- mismatched Md5 hashes between schedule entry and program will no longer prevent an update
- fixed channel ID naming scheme which prevented some users of accessing some of their downloaded stations. This is a breaking change that requires user intervention for those upgrading to this version.
- epg123 GUI responds much quicker and functions better
- epg123 GUI now automatically logs in to Schedules Direct when opened
- the automatch code has been reworked and seals some gaps to better handle changes in lineups
- scheduled task has been improved and now controls the auto import and automatch options
- sporting events are now identified by their title so they can be treated as part of the same series for recording purposes
For those upgrading from previous versions, there is a utility program and instructions included in the download describing what needs to be done. Upgraders also need to delete their existing scheduled task and create a new one with either the epg123 GUI or the epg123Client GUI.
Apparently, MS introduced a bug in Win10 version 1607 (anniversary update) that affects the execution of Scheduled Tasks. The bug causes only 1 action, of the possible 32 actions, in a task to execute unless the task Principal is elevated or a service. Unfortunately, my new scheme for scheduling update tasks with epg123 is to have 2 actions; 1 for epg123.exe and the other for epg123Client.exe. So for those running epg123 in full mode on Win10, you’re updating the MXF file but not importing it into WMC. You’re going to have to edit the task to get it to function fully. There are, of course, a number of ways to make the updates happen, but the below method is the least complicated. Reference the graphic below:
- Open Task Scheduler and select folder ‘Task Scheduler Library’.
- Double-click the epg123_update task and click the [Change User or Group…] button.
- Click [Advanced] button.
- Click [Find Now] button.
- Double-click the NETWORK SERVICE user.
- Close all windows by clicking [OK].
The side effect of doing the above is the epg123 GUI’s will no longer show the task status unless the window is opened with elevated privileges.
25 September 2016; v1.0.2
Mostly cosmetic changes. Pushing this release due to Microsoft once again deciding EPG123 is a trojan. I’m starting to think this is intentional.
- Changed the created scheduled task to ‘Run with highest privileges’. Without it, epg123 would not successfully kick off the reindex task and had to do it old school.
- Alters keyword/category listings to be TitleCase… the text would be ‘Science Fiction’ instead of ‘Science fiction’.
- Added the language identifier to the programs.
- Updated code in the lineup search to be much more flexible and robust at the same time. Also includes transmitter sites for Great Britain, Australia, and New Zealand.
- Added 2 buttons to the GUI that will only be visible when OS is in safe mode
- [Step 1: Clean Start] will be used during Step 1 to delete the ProgramData\Microsoft\eHome directory instead of requiring DOS commands
- [Rebuild WMC Database] can be used to completely wipe out the database, and restore the tuner channels, subscriptions, and scheduled recordings
- import the latest epg123 guide listings
The database rebuild is very useful when the guide just simply won’t correct itself of “missing” or wrong programs. If Zap2it says one thing, and your guide says another, then your guide is probably wrong. If it stays wrong for longer than a day, give the rebuild a shot.
28 August 2016; v1.0.1
There are a lot more changes than you would expect after releasing v1.0.0 last month. Here are the highlights.
- Reworked the tracing code to also add entries in the Event Log (see below). Note: to gain this feature, the epg123 GUI must be run once ‘as Administrator’ to create the registry entry.
- Checks for 0-byte length cache files that were causing execution to fail (0-byte length files occur when the drive runs out of space).
- Improved SDOverride flag to work correctly in all configurations.
- Brought back any Paid Programming images that are available.
- Corrected (again) the spacing for ‘Season XX, Episode YY’ in the episode description so it would appear properly in some views.
- Includes the newly added ‘Oceania’ geographic zone to include Australia and New Zealand in the lineups able to be added to the client’s account.
- Now cleans up the cache directory right after mxf file creation rather than after completion of the reindex task.
- Back to the original method of calling the ‘ReindexSearchRoot’ task to perform reindexing. If the task is not available (deleted), then will revert to using the ehprivjob.exe method.
- Prevents the host machine from entering sleep mode while updating the guide for those long downloads and short sleep timeouts.
17 July 2016; v1.0.0
This one has been a long time coming. Originally just wanted to get something for the Hauppauge! HD PVR/Colossus users to completely break from the MS/Rovi mess, but seemed to have found some minor bugs to fix as well.
- Hauppauge! HD PVR/Colossus users can now function without MS/Rovi setup data. Also now have 9999 channels just like the CableCARD users with all the benefits.
- Added a new checkbox in the GUI for appending the description with Season XX, Episode YY information instead of being automatic when episode prefix if false. This basically now gives 4 options to presenting season/episode information; sXXeYY in episode title, Season XX, Episode YY in description, both, or none.
- There is now another undocumented tweak in the epg123.cfg file called SDOverride. The HDOverride will flag all programs on a station as HD, while the SDOverride will removed all HD flags from a station.
- User now has the ability to exclude any lineup on their account with Schedules Direct. This is a very nice feature if you use multiple lineups for multiple hardware/tuner configurations.
- There is a limitation of 100 keywords per keyword group in the category searches. A workaround has been found and we now have the capability for 200 which should be plenty.
- Corrected a bug where it was assumed all language identifiers from SD would strictly be the 2 letter ISO language name… evidently not. This caused some (specifically our Great Britain friends “en-GB”) to not get program descriptions.
19 June 2016; v0.9.9
Very minor update for guide images. Whether due to an oversight by me, or changes to the Gracenote data structure, there were many series images that were missing. I also added a “Paid Programming” category just for completeness. If there is anyone out there searching for paid programming to watch, you can now find them easily.
23 May 2016; v0.9.8
Minor updates mainly to support international users.
- corrected problem with calculating movie star ratings. For European users, epg123 was not respecting the culture format of 2,5 in place of 2.5.
- corrected sports images in 2 places. Oversight in previous releases was actually downloading the sports image links twice and archiving both. Corrected the error in allowing team logos to be used for an entire series of sports.
- added some more error handling/logging in the epg123Client. Restored the logging of station match and unmatch in the trace.log file … lost in last update.
- now includes actor/character names for TV series. This will double up on actors for all programs that already exist in guide; new downloads will not exhibit this issue.
- no longer a pop-up when opening the GUI and there is an update available… there will be bold, red text on the bottom of the GUI declaring an update is available with the newest version displayed.
08 May 2016; v0.9.7
This release is much more significant than I had anticipated, but it is all for the good.
- the About Guide now provides the version of EPG123 in use, along with a notification if an update is available
- there is a new option to automatically download newly added stations to your lineups
- for CableCARD users, this means it will also be automatically added to your guide if automatch is enabled
- there will be an alert in the trace.log file to identify any new channels regardless of choice to auto download or not
- renamed executable from epgAutomatch.exe to epg123Client.exe to reflect new role
- moved WMC database functions into epg123Client for whole home configurations
- corrected oversight in not applying the isGeneric flag to pre- and post- sports event live shows which resulted in them being identified as Repeats
- added “Miniseries Premiere” in the Premiere Category
- renamed “_Premiere_” in the movie genres to simply “Premiere” for aesthetic reasons
- now prevents Paid Programs from being identified as a series
- currently this means there will be no art for the paid programs; might fix later
26 April 2016; v0.9.6
Some pretty cool enhancements on this release.
- added a “Premieres” category for search which will show Series Premieres and Season Premieres for everything but movies
- added a “_Premiere_” genre for movies to take care of the rest
- added a button on the GUI (probably temporary) to download all the station logos provided by SD/Gracenote for the user to use/modify into the .\logos directory
- added a checkbox to allow the “New” flag to override any Original Air Date from the program metadata. This will correct oversights in the data for live sports, or programs that are new to the clients host country. It is not yet understood of any possible negative side effects so use at your own risk. This is easily recovered by unchecking the box and running another update.
- limited the number of reported time discontinuities in the schedule to only 1 per schedule day. Provides enough information for investigation and doesn’t flood the trace.log file with repetitive information.
There is also a new feature that currently only resides in the epg123.cfg file. For every station in the file there is now an attribute called “HDOverride” which if set to true will ensure that every program on that station is identified as HD. There is an interesting feature of WMC which remembers the zoom setting for HD programs and the zoom setting for SD programs. If the program is not properly identified as HD, then WMC will automatically change the zoom setting to the latest SD zoom.
17 April 2016; v0.9.5
Most of the changes are behind the scene on this one.
- Sports events are now part of a series for recordings.
- epg123 lineup is now recognized in the About Guide
08 April 2016; v0.9.4
Quick release to provide more information when there is a WebException thrown from Schedules Direct. Also now has proper parsing of the 4DTV channels to remove the satellite designator and only use the channel number for automatching.
v0.9.3 appears to be a great success, and it shows with the 190 downloads in the last 4 days. We are in the final stretch, so if anyone has any improvements they would like, even nit-picky ones, let me know at The Green Button.
04 April 2016; v0.9.3
This is a very minor update, but a big improvement in the automatch function. I’ve been learning more and would say that the method used is much better than what was in previous versions. This may even help with some users that just can’t seem to shake Rovi out of their MC.
There is one improvement in the main program to lessen the calls to TMDb … it no longer searches TMDb for any “Adult Only” movies. This will also reduce the log file size from showing the adult titles not being found.
30 March 2016; v0.9.2
Small update based on observations from v0.9.1 release.
- registry check and edit is now limited to just GUI operation upon open instead of all operations; also allows registry settings to not exist for those installing on servers/systems without WMC for Whole Home configuration.
- reporting of time discontinuities was pretty messed up … I was trying to do 2 different things at the same time and the logged info was confusing (read useless). Info now provided in the log file is convenient to reporting any problems to Schedules Direct.
28 March 2016; v0.9.1
There has been quite a few improvements made since v0.7.6. Here is a non-comprehensive list:
- removed requirement to edit registry after ‘tv setup’ performed (Step 1) in order to see the guide … this is now handled in code
- added capability to match stations with channels to remove the need for using the Lineup Selector tool (Step 3)
- added capability to disable non-matched channels to remove the need for using the Guide Tool (Step 3)
- made the epg123 lineup visible in Guide Tool. This appears functional but there are some quirks/errors…use at your own risk
- includes generic series descriptions (only visible in search result series synopsis)
- added tracing to log when there is a time discontinuity in the schedule
- now uses ehPrivJob.exe directly instead of the Task Scheduler to reindex the guide
- we now have icons! thanks to IT Troll … looks good
Due to adding the automatch feature, two builds were required; 1 for Win7 based WMC, and another for Win8 based WMC. Also included in each compressed file is the Newtonsoft.Json.dll file to make initial setup even easier.
14 March 2016; v0.7.6
Major improvements with the API calls to the SD server and tracing. Expect updates to take approximately half the time it did before with v0.7.5. Some minor updates that you probably won’t even notice.
Of note on the GUI, added a checkbox for the scheduled task to wake the computer to execute. Forgot to add it in v0.7.5 even though the code was there to handle it.
Happy 4 week anniversary!
07 March 2016; v0.7.5
After this one, I’m going to regroup for a little while. Need my energy to tackle the changes needed to cache schedules which will reduce network traffic and speed up mxf file generation. I’m pushing this one out for a user that ran into problems with the task scheduler. The project was targeted to .NET 4.5 framework and the user only had 4.0 installed. Only caused an issue with task scheduler functionality.
- Compiled for .NET 4.0 framework
- Big improvement in tracing information
- Actually removed the check box for turning tracing on/off. Tracing is now always on.
- Increased the web timeout from 60 seconds to 120 seconds. Some out there are still timing out even after 3 retries and a final timeout setting of 4 minutes.
- Not much else … it’s only been ~24 hours.
06 March 2016; v0.7.4
I know, it hasn’t been very long since last release, but this one is good. Most of the changes were GUI related.
- Changed the definition of the checkbox for prepending “sXXeYY” season/episode information to the episode title. If the checkbox is unchecked, the episode description will be appended with SERIES: Season X, Episode Y. It is one or the other.
- Added another column to the channel lists of the lineups. Now includes a column for the channel name and it looks pretty good.
- Finally added controls to add/delete a scheduled task to perform daily updates.
- Minor corrections to the code and I’m working on better tracing information, but not much of that is in this release.
05 March 2016; v0.7.3
This is a minor release for the v0.7.x line. It includes descriptive names of the stations instead of just a callsign + “(EPG123).” I am also including a utility that will remove all station logos from the guide in case you are stuck the SD logos and do not have MCL XL to remove them for you.
02 March 2016; v0.7.2
Now includes the season number below the description text. That’s how it used to be! Who knew!?!
26 February 2016; v0.7.1
Obviously this site is under construction! In the meantime, it is simply a location to store the latest build of the epg123 program.