TVGI Broadcast Suite v1.0.5.9
2026-07-08
Recommended current installer for TVGI Suite Manager, TVGI NDI, DB Management, TVGI Playout, TVGI SRT, and workflow companion tools.
Show Changelog
Suite Manager
2026-07-03TVGI Suite Changelog
Unreleased - 2026-06-19
Added
- Added sync-only version stamping support so
version.jsoncan update app project versions without rebuilding staging or compiling the installer. - Added Installer Builder project version stamping from
TVGI_INSTALLER_BUILDER.
1.0.0.0 - 2026-06-18
Initial public TVGI Suite release baseline.
Added
- Added TVGI Suite Manager as the central install, launch, license, and update hub.
- Added suite-level licensing with support for individual modules: TVGI NDI, TVGI Playout, TVGI SRT, and TVGI DB Management.
- Added shared local license storage so each installed TVGI application can read the same machine license.
- Added soft online license sync so apps can keep working during internet or website outages.
- Added Suite License entry and status display in the Suite Manager.
- Added update detection through
tvgi-suite-version.jsonhosted ontvgindi.com. - Added packaged
suite-manifest.jsonso Suite Manager can compare available versions against installed versions. - Added generated website update manifest output for publishing update notices.
- Added per-app
changelog.mdstaging so installed apps ship with release notes. - Added TVGI Automation tooling package for FIFINE, Elgato, and Stream Deck style command programming.
Changed
- TVGI NDI, Item View, and Host Message Companion now share the TVGI NDI license module because the companion tools depend on TVGI NDI workflows.
- TVGI Macro Remote is grouped under the TVGI Playout module.
- Demo mode behavior now blocks live NDI output while still allowing users to explore the workflow.
- Database profiles now use shared TVGI app data locations for cleaner cross-app compatibility.
Notes
- This suite release starts at
1.0.0.0. - Individual app versions remain on their existing product lines so update comparisons do not move backward.
TVGI DB Management
2026-07-03# TVGI DB Management Changelog
No dedicated changelog file was found for this component when the TVGI Suite package was staged.
Build date: 2026-07-02 23:24:43
TVGI Host Message Companion
2026-07-03Change Log
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Television Graphics Interface (TVGI) - A NDI enabled application designed for the Shopping Channel industry,
with fully developed NDI output for NDI accessible hardware such as Visrt and Newtek.
Created by Roman Weaver.
CODING: Roman Weaver
[Released] - 2026-06-19
Added
- Began the multi-format NDI output work with selectable main output checkboxes for TVGI NDI 4:3, TVGI NDI 16:9, and TVGI NDI Vertical 9:16.
- Added a guard so the master NDI ON/OFF control will not start live NDI output until at least one main TVGI NDI output is selected.
- Added separate 1920x1080 NDI sender contexts for
TVGI_NDI_16x9andTVGI_NDI_4x3, allowing both horizontal program formats to publish simultaneously from the same shared graphics state. - Added separate 16:9 and 4:3 local preview selector buttons so operators can view either enabled horizontal output while checkbox selection controls which NDI outputs are published.
- Added a first-pass true vertical NDI output,
TVGI_NDI_9x16, at 1080x1920 behind the existing Vertical 9:16 checkbox for real receiver testing. - Added a 9:16 local preview selector that appears when the Vertical 9:16 output is checked and shows the portrait composition scaled into the existing preview area.
Changed
- Added automatic matching crawl outputs for selected horizontal formats:
TVGI_Crawl_16x9for TVGI NDI 16:9 andTVGI_Crawl_4x3for TVGI NDI 4:3. - Changed the horizontal program outputs to omit the built-in crawl while the automatic matching crawl outputs publish separately, restoring the smoother separate-overlay workflow.
- Changed the 4:3 output path to render as a 4:3-safe centered layout inside a 1920x1080 NDI frame, matching the existing production format instead of creating a 1440x1080 source.
- Changed the NDI output context to support per-output dimensions so horizontal outputs remain 1920x1080 while vertical output publishes as 1080x1920.
- Lowered the local preview selector buttons slightly to give the NDI output checkboxes more breathing room.
- Reworked the first-pass 9:16 composition as a transparent bottom overlay so the upper phone/video feed area remains open.
- Removed the semi-transparent 9:16 background panel so the vertical output behaves as a true alpha overlay like the 4:3 and 16:9 outputs.
- Reworked the 9:16 layout into a compact TVGI-styled lower stack with price, item/clock, description crawl, and phone/host rows using the existing element backgrounds, font family, font colors, and font size settings.
- Smoothed the 9:16 description crawl by caching it as a transparent rendered strip and scrolling the bitmap instead of re-rasterizing text every frame.
- Increased the 9:16-only font translation scale so portrait output remains readable while leaving shared 4:3 and 16:9 preference font sizes unchanged.
- Added the upper-right bug/live element to the 9:16 renderer and made the portrait main graphics obey the F9 show/hide state, collapsing lot, price, and description rows when main graphics are hidden.
Fixed
- Fixed crawl smoothness after adding simultaneous 4:3 and 16:9 NDI outputs by advancing the program crawl position only once per frame while allowing each active output to draw the same crawl position.
- Fixed the crawl performance regression path by giving the 16:9 and 4:3 crawl outputs independent sender threads, scroll offsets, and fixed format geometry instead of sharing one crawl renderer.
- Fixed crawl-output flicker by rotating each separate crawl sender through multiple NDI frame buffers so a frame is not cleared while the receiver may still be reading it.
- Hardened the separate crawl senders so incomplete clear-only frames are skipped and each crawl format uses its own cloned crawl background image instead of sharing the same GDI image across threads.
- Changed the local preview crawl to use elapsed-time motion so it simulates the same crawl speed even when preview refresh is slower than the live NDI senders.
- Added separate Launcher Version and Program Version lines to the TVGI Graphics session-loading overlay, reading the installer
version.jsonsource of truth when available and falling back to stamped EXE metadata in installed builds. - Refined the TVGI Graphics session-loading overlay spacing and blended the loading history list into the card by removing the default list border and selection styling.
- Removed the remaining default scrollbar artifact from the TVGI Graphics session-loading history area.
- Changed the TVGI Graphics session-loading overlay so the blue text shows the current startup section while the lower history text shows detailed loading steps instead of duplicating the same label.
- Fixed the local preview format selectors by replacing the old label-driven click targets with dedicated 16:9 and 4:3 buttons that no longer depend on the removed
LabelFormatcontrol. - Updated session and Preferences format handling to use the preview format state instead of reading or writing the removed format label.
- Fixed local preview format switching while multiple NDI outputs are live by giving the preview render pass its own safe-area state and rebuilding its static layer before drawing.
- Updated session restore so saved 9:16 preview state restores through the vertical preview mode instead of falling back to a horizontal format.
- Fixed the countdown clock clear path so the main clock resets the NDI tick value at stop and the 9:16 clock row no longer holds a stale
0:01frame.
[Unreleased] - 2026-06-10
Added
- Added website Download and Licensing pages for the TVGI suite demo installer, Demo Mode behavior, activation flow, and module entitlement explanation.
- Added generic TVGI NDI database profile JSON import from the user's AppData folder for private MSSQL, MySQL, and SQLite customer connection profiles.
Changed
- Extended the non-blocking online license status refresh to TVGI Playout, TVGI SRT, and TVGI DB Management so each major app can pick up server-side module/status changes while preserving offline startup.
- Moved suite license activation/sync ownership into TVGI Suite Manager, with a shared local suite license file mirrored to the legacy TVGI NDI license path during transition.
- Updated the TVGI NDI launcher License action to open Suite Manager for activation/management while keeping NDI status display and fallback details available.
- Embedded the TVGI NDI database profile editor inside the Preferences Hub Database page, with inline selected-profile loading and chrome-less Save/Clear editing instead of a floating popup.
- Removed built-in AVC/AVC UK database profile creation and hardcoded public configuration connection strings so customer-specific database access can be supplied privately by imported profile JSON.
- Moved shared local SQLite database and shared profile discovery to
%AppData%\TVGI\Shared\Databasefor TVGI NDI and TVGI DB Management, with legacy AppData/DB paths copied forward and normalized so new saved profiles point at the shared folder. - Updated TVGI DB Management to discover loose
.db,.sqlite, and.sqlite3files in the shared database folder and create editable Local SQLite profiles for files that are not already listed indb_profiles.json.
Fixed
- Fixed Demo Mode NDI enforcement so TVGI-NDI publishes a branded Demo Mode slate instead of live graphics while unlicensed, while keeping the internal preview path active and blocking the separate crawl sender.
- Hardened TVGI NDI license refresh so the local saved license remains authoritative at startup; background server status checks can update a valid local license but no longer erase activation when the server is unavailable, missing, or rejects a refresh.
--------------------------------------------------------------------------------
[Unreleased] - 2026-06-09
Added
- Added a demo/licensing foundation with central
AppLicenseandAppLicenseManagerstate for Demo, Trial, Licensed, Expired, and Invalid modes. - Added default Demo Mode configuration through
TVGINDI_LicenseModeinapp.config. - Added visible license status to the launcher, production window chrome, and About dialog.
- Added a launcher License page with Demo Mode status, activation placeholder, and continue-demo path on the startup Select Layout screen.
- Added a shared License form for entering name/company, email, and serial key before the future online activation step.
- Added local activation-request storage with a generated Device ID, masked serial display support, and pending activation status.
- Added a configurable online activation client bridge that can post activation requests when a
tvgindi.comendpoint is configured. - Added first-pass
tvgindi.comlicensing server deployment files with MySQL schema, PHP activation endpoint, and cPanel/phpMyAdmin setup notes. - Added local licensed-state persistence so successful online activation is remembered on the same device and loaded as Licensed on startup.
- Added a first-pass PHP license admin panel for creating licenses, updating customer/license state, viewing activations, and releasing device activations.
- Added full license deletion to the PHP license admin panel with a confirmation prompt.
- Added admin-side stored license key visibility with a hidden/reveal field for customer license retrieval.
- Added suite module entitlements to the licensing system so one license key can unlock TVGI NDI, Playout, SRT, DB Management, Host Messaging, and ItemView modules.
- Added a license admin key generator that creates grouped keys and checks the database for hash uniqueness before use.
- Added a license status refresh endpoint and background desktop sync so local licenses can receive server-side disabled/expired/module changes without breaking offline startup.
- Added a runtime
Tools > License...menu item that shows the current license state and notes the futuretvgindi.comactivation path. - Added the first top-right production UI license indicator beside the version display.
- Added the first Demo Mode enforcement gate to block NDI live output while still allowing users to explore setup and preview workflows.
- Added shared TVGI-styled controls and dialogs used by the ongoing UI modernization, including broadcast-style buttons, toggles, tabs, progress controls, and message dialogs.
- Added a startup/session loading experience for opening saved sessions.
Changed
- Updated About to use the application/file version display and include license status details.
- Improved License form and startup License page spacing so content no longer hugs the left edge.
- Centered the License form action buttons under the activation fields.
- Updated license detail text to use TVGI blue across the License form and startup License page.
- Updated activation errors to show the server's specific message instead of only the HTTP status code.
- Updated the License form to keep showing the saved masked serial/license key and mark it read-only after activation.
- Updated the startup License page to show saved activation details and use licensed-state button labels.
- Added the current Licensed/Demo Mode state to the session-loading launcher overlay.
- Updated the licensing server schema/admin flow to retain the plain license key for admin lookup while keeping the activation hash in sync.
- Updated activation responses and local license storage to include enabled module entitlements, with TVGI NDI live output requiring the
TVGI_NDImodule. - Reworked the PHP license admin list into a searchable master/detail browser so large license counts do not render hundreds of full edit forms at once.
- Added shared suite-license startup checks to companion apps so Playout, Playout Macro Remote, SRT, DB Management, Host Companion, and ItemView require their licensed module entitlement.
- Bundled TVGI NDI licensing behavior so Host Companion and ItemView require the main
TVGI_NDImodule rather than independent module flags. - Updated the launcher/admin/config/help surfaces as part of the broader modernization pass.
- Moved more Preferences and production settings behavior toward shared TVGI theme/control patterns.
- Reworked the settings compatibility class so legacy
Properties.Settings.Default.ConnectionStringvalues remain available without requiring WinForms designer-timeSystem.Configurationsettings attributes. - Removed the legacy Visual Studio
.settingsgenerator path to prevent duplicateSettings.Defaultclasses from being regenerated. - Updated project metadata and assets to use the current
TVG-G.icoapplication icon.
Fixed
- Fixed WinForms designer load failure caused by
System.Configuration.ApplicationScopedSettingAttributeresolution in the generated settings class. - Fixed license status text sizing so Demo/Licensed state does not get clipped in the production window.
- Preserved the known-good MSBuild validation path for the current .NET Framework 4.8 WinForms project.
--------------------------------------------------------------------------------
[1.5.33] - 2024-11-12
Added
- Added New GFX element for Item Number and Price to the lower left above the left L3 for when you need the whole top screen.
Changed
Fixed
--------------------------------------------------------------------------------
[1.5.32] - 2024-10-15
Added
- Added Animation to the Bottom Message element
- New menu selection at the top, tools and background.
- moved the admin, messages, and lvr to the tools menustrip button.
- movability to the live text panel with reset to original location when closed.
Changed
- Removed the status bar at the bottom as it is unused and not necessary
- changed the admin popup so that it is movable
- changed the panel for the background elements and made it moveable with reset to its original location when closed.
Fixed
- Fixed the left right switch on the lower bug
--------------------------------------------------------------------------------
[1.5.31] - 2024-09-23
Added
- Added a "Clear" button to both of the Live Text boxes to be able to clear out the text for each listbox.
Changed
- Removed the TVGI-Socials from the program as it will be developed in an seperate application.
- Removed all contextmenu's and replaced them with a single unified context menu for all listboxes. with some conditions.
Fixed
- Context menu popup was causing an issue with the state of the checkbox for the Hostmessaging listbox
- Fixed the upper and lower bugs state check and visibility.
--------------------------------------------------------------------------------
[1.5.30] - 2024-09-05
Added
Changed
Fixed
- Fixed the panel location for HostClocks and for ArtBumps so that when activated they would set to the last location in the x,y textboxes respectivly.
- Fixed add only Hostmessage sending to the wrong listbox and not sending to the HostClocks NDI output.
--------------------------------------------------------------------------------
[1.5.29] - 2024-08-14
Added
- Added a social media panel to allow for connection to Facebook, Instagram and other social media accounts and be able to put that on the air.
Changed
Fixed
--------------------------------------------------------------------------------
[1.5.28] - 2024-08-14
Added
Changed
- Changed REMOTE ENTRY: Moved it from popup to the main form in the item input section.
- Changed the Exchange Rate and moved it to under the Headers section in the Main item portion. Made for more sense and ease of use.
Fixed
- Fixed the exchange rate not showing up after the reset button was pressed. The check for the checkbox was not in place.
--------------------------------------------------------------------------------
[1.5.27] - 2024-08-13
Added
- Added "EXIT SESSION" functions and the ability to exit the current session and load a new session with all of the data points filled in.
Changed
- Changed functionality for better clocks and remote input.
- Changed the Art functions to simplify and work better.
Fixed
- Reset "ESC" button to reset the necessary elements on the screen and set focus to the first text box for the item number.
--------------------------------------------------------------------------------
[1.5.26] - 2024-07-12
Added
Changed
- Changed the location of the clock timers for HOST CLOCKS so that the full time was visible in the box. Left Justified the timer
Fixed
- F5 button would lose its color when the CF5 button timer ended.
--------------------------------------------------------------------------------
[1.5.25] - 2024-07-10
Added
- Functionality to the CF5 button (Control F5) for a "Time on Item" clock that runs continuously
- "Time on Item" Clock display to the Host Clocks NDI Output
- Remote View send for the new "Time on Item" clock
Changed
- Functionality of the Host Clocks has now been separateed so the Videos Countdown and the Time on Item count up. This gives each clock its own timer and view so that the Time on Item is not interrupted by the video countdown clock.
- Host clock portion fixed by removing the stopwatch button and the start and stop buttons as they are now all controlled by the F5 or CF5 buttons.
Fixed
- Issues where "using" statements would cause the program to lag.
- Bug where the timer would not tick correctly when ComboBox values were changed.
--------------------------------------------------------------------------------
[1.5.24] - 2024-06-06
Added
- Added a Misc. window for monitoring another NDI input while using the software
- Added a third tab for the Web Browser form
Changed
- Changed the HM/Web tab and removed the web browser from it. Moved it to the 3rd tab.
Fixed
- Fixed issue where the frame size would not clear out the data
- Fixed the Stopwatch label so that it read Host Clock and was less confusing.
- Fixed the issues where "using" statements would cause the program to lag.
--------------------------------------------------------------------------------
[1.5.23] - 2024-04-17
Added
- [TVGI-NDI]
MAJOR Add in panel to see the SRT feed from the host.
Changed
Fixed
- Fixed out of bounds array issue with images under clocks that would couse the program to lock and stop working. added try/catch to resolve issue.
--------------------------------------------------------------------------------
[1.5.22] - 2024-04-16
Added
- [TVGI-NDI]
MINOR Dropdown Clock for more than a 3 min clock. Selecting the dropdown will now start a 4-60 min clock for the Show Clock.
- Two check boxes to allow for the UpperBug and the Lower Bug to remain onscreen when the ESC [RESET] button is pressed.
- Added product items and change log to the about dialog window.
Changed
Fixed
- Fixed clock issues where the clock would not start at the right time or delay.
--------------------------------------------------------------------------------
[1.5.21] - 2024-04-15
Added
Changed
Fixed
- [TVGI-NDI]
PATCH Add logic to runsheet teaser delete to delete corresponding
schedule cards.
- PATCH Count up clock would only show the inital clock duration. Updated the clock so it would correctly count down on screen for the Host Messaging instead of just showing the inital clock duration
--------------------------------------------------------------------------------
[1.5.20] - 2024-04-01
Added
- [TVGI-NDI]
MAJOR Module HostMessaging was added to allow the User to see what the Host sees in the app. Currently shows the Message, Frame size, Show Clock, and Host Clock
Changed
Fixed
--------------------------------------------------------------------------------
[1.5.0] - 2024-01-01
Initial Release
- Launched the application with features such as NDI direct integration to output of the information to the screen. This allows for integration into NDI enabled platforms like Visrt and Newtek.
TVGI Item View
2026-07-03Change Log
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Television Graphics Interface (TVGI) - A NDI enabled application designed for the Shopping Channel industry,
with fully developed NDI output for NDI accessible hardware such as Visrt and Newtek.
Created by Roman Weaver.
CODING: Roman Weaver
[Released] - 2026-06-19
Added
- Began the multi-format NDI output work with selectable main output checkboxes for TVGI NDI 4:3, TVGI NDI 16:9, and TVGI NDI Vertical 9:16.
- Added a guard so the master NDI ON/OFF control will not start live NDI output until at least one main TVGI NDI output is selected.
- Added separate 1920x1080 NDI sender contexts for
TVGI_NDI_16x9andTVGI_NDI_4x3, allowing both horizontal program formats to publish simultaneously from the same shared graphics state. - Added separate 16:9 and 4:3 local preview selector buttons so operators can view either enabled horizontal output while checkbox selection controls which NDI outputs are published.
- Added a first-pass true vertical NDI output,
TVGI_NDI_9x16, at 1080x1920 behind the existing Vertical 9:16 checkbox for real receiver testing. - Added a 9:16 local preview selector that appears when the Vertical 9:16 output is checked and shows the portrait composition scaled into the existing preview area.
Changed
- Added automatic matching crawl outputs for selected horizontal formats:
TVGI_Crawl_16x9for TVGI NDI 16:9 andTVGI_Crawl_4x3for TVGI NDI 4:3. - Changed the horizontal program outputs to omit the built-in crawl while the automatic matching crawl outputs publish separately, restoring the smoother separate-overlay workflow.
- Changed the 4:3 output path to render as a 4:3-safe centered layout inside a 1920x1080 NDI frame, matching the existing production format instead of creating a 1440x1080 source.
- Changed the NDI output context to support per-output dimensions so horizontal outputs remain 1920x1080 while vertical output publishes as 1080x1920.
- Lowered the local preview selector buttons slightly to give the NDI output checkboxes more breathing room.
- Reworked the first-pass 9:16 composition as a transparent bottom overlay so the upper phone/video feed area remains open.
- Removed the semi-transparent 9:16 background panel so the vertical output behaves as a true alpha overlay like the 4:3 and 16:9 outputs.
- Reworked the 9:16 layout into a compact TVGI-styled lower stack with price, item/clock, description crawl, and phone/host rows using the existing element backgrounds, font family, font colors, and font size settings.
- Smoothed the 9:16 description crawl by caching it as a transparent rendered strip and scrolling the bitmap instead of re-rasterizing text every frame.
- Increased the 9:16-only font translation scale so portrait output remains readable while leaving shared 4:3 and 16:9 preference font sizes unchanged.
- Added the upper-right bug/live element to the 9:16 renderer and made the portrait main graphics obey the F9 show/hide state, collapsing lot, price, and description rows when main graphics are hidden.
Fixed
- Fixed crawl smoothness after adding simultaneous 4:3 and 16:9 NDI outputs by advancing the program crawl position only once per frame while allowing each active output to draw the same crawl position.
- Fixed the crawl performance regression path by giving the 16:9 and 4:3 crawl outputs independent sender threads, scroll offsets, and fixed format geometry instead of sharing one crawl renderer.
- Fixed crawl-output flicker by rotating each separate crawl sender through multiple NDI frame buffers so a frame is not cleared while the receiver may still be reading it.
- Hardened the separate crawl senders so incomplete clear-only frames are skipped and each crawl format uses its own cloned crawl background image instead of sharing the same GDI image across threads.
- Changed the local preview crawl to use elapsed-time motion so it simulates the same crawl speed even when preview refresh is slower than the live NDI senders.
- Added separate Launcher Version and Program Version lines to the TVGI Graphics session-loading overlay, reading the installer
version.jsonsource of truth when available and falling back to stamped EXE metadata in installed builds. - Refined the TVGI Graphics session-loading overlay spacing and blended the loading history list into the card by removing the default list border and selection styling.
- Removed the remaining default scrollbar artifact from the TVGI Graphics session-loading history area.
- Changed the TVGI Graphics session-loading overlay so the blue text shows the current startup section while the lower history text shows detailed loading steps instead of duplicating the same label.
- Fixed the local preview format selectors by replacing the old label-driven click targets with dedicated 16:9 and 4:3 buttons that no longer depend on the removed
LabelFormatcontrol. - Updated session and Preferences format handling to use the preview format state instead of reading or writing the removed format label.
- Fixed local preview format switching while multiple NDI outputs are live by giving the preview render pass its own safe-area state and rebuilding its static layer before drawing.
- Updated session restore so saved 9:16 preview state restores through the vertical preview mode instead of falling back to a horizontal format.
- Fixed the countdown clock clear path so the main clock resets the NDI tick value at stop and the 9:16 clock row no longer holds a stale
0:01frame.
[Unreleased] - 2026-06-10
Added
- Added website Download and Licensing pages for the TVGI suite demo installer, Demo Mode behavior, activation flow, and module entitlement explanation.
- Added generic TVGI NDI database profile JSON import from the user's AppData folder for private MSSQL, MySQL, and SQLite customer connection profiles.
Changed
- Extended the non-blocking online license status refresh to TVGI Playout, TVGI SRT, and TVGI DB Management so each major app can pick up server-side module/status changes while preserving offline startup.
- Moved suite license activation/sync ownership into TVGI Suite Manager, with a shared local suite license file mirrored to the legacy TVGI NDI license path during transition.
- Updated the TVGI NDI launcher License action to open Suite Manager for activation/management while keeping NDI status display and fallback details available.
- Embedded the TVGI NDI database profile editor inside the Preferences Hub Database page, with inline selected-profile loading and chrome-less Save/Clear editing instead of a floating popup.
- Removed built-in AVC/AVC UK database profile creation and hardcoded public configuration connection strings so customer-specific database access can be supplied privately by imported profile JSON.
- Moved shared local SQLite database and shared profile discovery to
%AppData%\TVGI\Shared\Databasefor TVGI NDI and TVGI DB Management, with legacy AppData/DB paths copied forward and normalized so new saved profiles point at the shared folder. - Updated TVGI DB Management to discover loose
.db,.sqlite, and.sqlite3files in the shared database folder and create editable Local SQLite profiles for files that are not already listed indb_profiles.json.
Fixed
- Fixed Demo Mode NDI enforcement so TVGI-NDI publishes a branded Demo Mode slate instead of live graphics while unlicensed, while keeping the internal preview path active and blocking the separate crawl sender.
- Hardened TVGI NDI license refresh so the local saved license remains authoritative at startup; background server status checks can update a valid local license but no longer erase activation when the server is unavailable, missing, or rejects a refresh.
--------------------------------------------------------------------------------
[Unreleased] - 2026-06-09
Added
- Added a demo/licensing foundation with central
AppLicenseandAppLicenseManagerstate for Demo, Trial, Licensed, Expired, and Invalid modes. - Added default Demo Mode configuration through
TVGINDI_LicenseModeinapp.config. - Added visible license status to the launcher, production window chrome, and About dialog.
- Added a launcher License page with Demo Mode status, activation placeholder, and continue-demo path on the startup Select Layout screen.
- Added a shared License form for entering name/company, email, and serial key before the future online activation step.
- Added local activation-request storage with a generated Device ID, masked serial display support, and pending activation status.
- Added a configurable online activation client bridge that can post activation requests when a
tvgindi.comendpoint is configured. - Added first-pass
tvgindi.comlicensing server deployment files with MySQL schema, PHP activation endpoint, and cPanel/phpMyAdmin setup notes. - Added local licensed-state persistence so successful online activation is remembered on the same device and loaded as Licensed on startup.
- Added a first-pass PHP license admin panel for creating licenses, updating customer/license state, viewing activations, and releasing device activations.
- Added full license deletion to the PHP license admin panel with a confirmation prompt.
- Added admin-side stored license key visibility with a hidden/reveal field for customer license retrieval.
- Added suite module entitlements to the licensing system so one license key can unlock TVGI NDI, Playout, SRT, DB Management, Host Messaging, and ItemView modules.
- Added a license admin key generator that creates grouped keys and checks the database for hash uniqueness before use.
- Added a license status refresh endpoint and background desktop sync so local licenses can receive server-side disabled/expired/module changes without breaking offline startup.
- Added a runtime
Tools > License...menu item that shows the current license state and notes the futuretvgindi.comactivation path. - Added the first top-right production UI license indicator beside the version display.
- Added the first Demo Mode enforcement gate to block NDI live output while still allowing users to explore setup and preview workflows.
- Added shared TVGI-styled controls and dialogs used by the ongoing UI modernization, including broadcast-style buttons, toggles, tabs, progress controls, and message dialogs.
- Added a startup/session loading experience for opening saved sessions.
Changed
- Updated About to use the application/file version display and include license status details.
- Improved License form and startup License page spacing so content no longer hugs the left edge.
- Centered the License form action buttons under the activation fields.
- Updated license detail text to use TVGI blue across the License form and startup License page.
- Updated activation errors to show the server's specific message instead of only the HTTP status code.
- Updated the License form to keep showing the saved masked serial/license key and mark it read-only after activation.
- Updated the startup License page to show saved activation details and use licensed-state button labels.
- Added the current Licensed/Demo Mode state to the session-loading launcher overlay.
- Updated the licensing server schema/admin flow to retain the plain license key for admin lookup while keeping the activation hash in sync.
- Updated activation responses and local license storage to include enabled module entitlements, with TVGI NDI live output requiring the
TVGI_NDImodule. - Reworked the PHP license admin list into a searchable master/detail browser so large license counts do not render hundreds of full edit forms at once.
- Added shared suite-license startup checks to companion apps so Playout, Playout Macro Remote, SRT, DB Management, Host Companion, and ItemView require their licensed module entitlement.
- Bundled TVGI NDI licensing behavior so Host Companion and ItemView require the main
TVGI_NDImodule rather than independent module flags. - Updated the launcher/admin/config/help surfaces as part of the broader modernization pass.
- Moved more Preferences and production settings behavior toward shared TVGI theme/control patterns.
- Reworked the settings compatibility class so legacy
Properties.Settings.Default.ConnectionStringvalues remain available without requiring WinForms designer-timeSystem.Configurationsettings attributes. - Removed the legacy Visual Studio
.settingsgenerator path to prevent duplicateSettings.Defaultclasses from being regenerated. - Updated project metadata and assets to use the current
TVG-G.icoapplication icon.
Fixed
- Fixed WinForms designer load failure caused by
System.Configuration.ApplicationScopedSettingAttributeresolution in the generated settings class. - Fixed license status text sizing so Demo/Licensed state does not get clipped in the production window.
- Preserved the known-good MSBuild validation path for the current .NET Framework 4.8 WinForms project.
--------------------------------------------------------------------------------
[1.5.33] - 2024-11-12
Added
- Added New GFX element for Item Number and Price to the lower left above the left L3 for when you need the whole top screen.
Changed
Fixed
--------------------------------------------------------------------------------
[1.5.32] - 2024-10-15
Added
- Added Animation to the Bottom Message element
- New menu selection at the top, tools and background.
- moved the admin, messages, and lvr to the tools menustrip button.
- movability to the live text panel with reset to original location when closed.
Changed
- Removed the status bar at the bottom as it is unused and not necessary
- changed the admin popup so that it is movable
- changed the panel for the background elements and made it moveable with reset to its original location when closed.
Fixed
- Fixed the left right switch on the lower bug
--------------------------------------------------------------------------------
[1.5.31] - 2024-09-23
Added
- Added a "Clear" button to both of the Live Text boxes to be able to clear out the text for each listbox.
Changed
- Removed the TVGI-Socials from the program as it will be developed in an seperate application.
- Removed all contextmenu's and replaced them with a single unified context menu for all listboxes. with some conditions.
Fixed
- Context menu popup was causing an issue with the state of the checkbox for the Hostmessaging listbox
- Fixed the upper and lower bugs state check and visibility.
--------------------------------------------------------------------------------
[1.5.30] - 2024-09-05
Added
Changed
Fixed
- Fixed the panel location for HostClocks and for ArtBumps so that when activated they would set to the last location in the x,y textboxes respectivly.
- Fixed add only Hostmessage sending to the wrong listbox and not sending to the HostClocks NDI output.
--------------------------------------------------------------------------------
[1.5.29] - 2024-08-14
Added
- Added a social media panel to allow for connection to Facebook, Instagram and other social media accounts and be able to put that on the air.
Changed
Fixed
--------------------------------------------------------------------------------
[1.5.28] - 2024-08-14
Added
Changed
- Changed REMOTE ENTRY: Moved it from popup to the main form in the item input section.
- Changed the Exchange Rate and moved it to under the Headers section in the Main item portion. Made for more sense and ease of use.
Fixed
- Fixed the exchange rate not showing up after the reset button was pressed. The check for the checkbox was not in place.
--------------------------------------------------------------------------------
[1.5.27] - 2024-08-13
Added
- Added "EXIT SESSION" functions and the ability to exit the current session and load a new session with all of the data points filled in.
Changed
- Changed functionality for better clocks and remote input.
- Changed the Art functions to simplify and work better.
Fixed
- Reset "ESC" button to reset the necessary elements on the screen and set focus to the first text box for the item number.
--------------------------------------------------------------------------------
[1.5.26] - 2024-07-12
Added
Changed
- Changed the location of the clock timers for HOST CLOCKS so that the full time was visible in the box. Left Justified the timer
Fixed
- F5 button would lose its color when the CF5 button timer ended.
--------------------------------------------------------------------------------
[1.5.25] - 2024-07-10
Added
- Functionality to the CF5 button (Control F5) for a "Time on Item" clock that runs continuously
- "Time on Item" Clock display to the Host Clocks NDI Output
- Remote View send for the new "Time on Item" clock
Changed
- Functionality of the Host Clocks has now been separateed so the Videos Countdown and the Time on Item count up. This gives each clock its own timer and view so that the Time on Item is not interrupted by the video countdown clock.
- Host clock portion fixed by removing the stopwatch button and the start and stop buttons as they are now all controlled by the F5 or CF5 buttons.
Fixed
- Issues where "using" statements would cause the program to lag.
- Bug where the timer would not tick correctly when ComboBox values were changed.
--------------------------------------------------------------------------------
[1.5.24] - 2024-06-06
Added
- Added a Misc. window for monitoring another NDI input while using the software
- Added a third tab for the Web Browser form
Changed
- Changed the HM/Web tab and removed the web browser from it. Moved it to the 3rd tab.
Fixed
- Fixed issue where the frame size would not clear out the data
- Fixed the Stopwatch label so that it read Host Clock and was less confusing.
- Fixed the issues where "using" statements would cause the program to lag.
--------------------------------------------------------------------------------
[1.5.23] - 2024-04-17
Added
- [TVGI-NDI]
MAJOR Add in panel to see the SRT feed from the host.
Changed
Fixed
- Fixed out of bounds array issue with images under clocks that would couse the program to lock and stop working. added try/catch to resolve issue.
--------------------------------------------------------------------------------
[1.5.22] - 2024-04-16
Added
- [TVGI-NDI]
MINOR Dropdown Clock for more than a 3 min clock. Selecting the dropdown will now start a 4-60 min clock for the Show Clock.
- Two check boxes to allow for the UpperBug and the Lower Bug to remain onscreen when the ESC [RESET] button is pressed.
- Added product items and change log to the about dialog window.
Changed
Fixed
- Fixed clock issues where the clock would not start at the right time or delay.
--------------------------------------------------------------------------------
[1.5.21] - 2024-04-15
Added
Changed
Fixed
- [TVGI-NDI]
PATCH Add logic to runsheet teaser delete to delete corresponding
schedule cards.
- PATCH Count up clock would only show the inital clock duration. Updated the clock so it would correctly count down on screen for the Host Messaging instead of just showing the inital clock duration
--------------------------------------------------------------------------------
[1.5.20] - 2024-04-01
Added
- [TVGI-NDI]
MAJOR Module HostMessaging was added to allow the User to see what the Host sees in the app. Currently shows the Message, Frame size, Show Clock, and Host Clock
Changed
Fixed
--------------------------------------------------------------------------------
[1.5.0] - 2024-01-01
Initial Release
- Launched the application with features such as NDI direct integration to output of the information to the screen. This allows for integration into NDI enabled platforms like Visrt and Newtek.
TVGI Macro Remote
2026-06-21Changelog
All notable changes to TVGI Playout will be documented in this file.
This project follows a four-part version format: major.minor.feature.build.
- Build rolls over at
1000 - Feature rolls over at
500 - Minor rolls over at
100
[1.0.2.228] - 2026-06-18
Added
- Added automated version metadata through
BuildVersion.props. - Added intentional versioned build script:
Tools/Build-Playout-Versioned.ps1. - Added title-bar version/license badge in the format
VERSION x.x.x.x | LICENSEDorVERSION x.x.x.x | DEMO. - Added branded import preview viewer with:
- Large thumbnail preview.
- Previous/next navigation across matched rows.
- File path, item, date, length, status, category, file size, type, created/modified timestamps, and folder metadata.
- Keyboard navigation with left/right arrows and Escape to close.
- Added branded border and title treatment to the import preview viewer.
Changed
- Changed TVGI Playout version tracking from generated defaults to explicit project metadata.
- Changed normal builds so they do not auto-increment the version, preventing Visual Studio design-time/background builds from burning build numbers.
- Changed versioned builds to increment only when
AutoIncrementVersion=trueis supplied. - Changed the top-right license badge layout so it no longer overlaps minimize/maximize/close buttons.
- Changed the license/version badge prefix from
vtoVERSION. - Changed importer date column header from
Scheduled DatetoDatefor compact layout.
Fixed
- Fixed startup timing issue where fresh installs could fail opening a selected session with:
Invoke or BeginInvoke cannot be called on a control until the window handle has been created.- Moved heavy startup initialization to run after the main form is shown.
- Made startup UI calls safer when the window handle has not yet been created.
[1.0.2.227] - 2026-06-18
Added
- Added initial build-version automation support.
- Added
Tools/IncrementPlayoutVersion.ps1with rollover rules: - Build number rolls over at
1000. - Feature number rolls over at
500. - Minor number rolls over at
100.
Changed
- Moved version values out of
TVGIPlayout.csprojand intoBuildVersion.props. - Project now imports
BuildVersion.propsso assembly/file/product versions stay aligned.
Fixed
- Prevented automatic version increments during normal builds after discovering Visual Studio background builds could trigger repeated increments.
[1.0.2.226] - 2026-06-18
Changed
- Normalized requested version
1.0.1.1226to1.0.2.226under the project rollover rules. - Set initial explicit Playout version metadata:
VersionAssemblyVersionFileVersionInformationalVersion
Earlier 1.0.2 Work - 2026-05-20 to 2026-06-17
Added
- Added global configuration organization under app-level
Config. - Added session-specific graphics configuration under each session
Configfolder. - Added macro remote configuration organization under its own
Configfolder. - Added fallback reads for legacy config file locations.
- Added operational logging to
Operational_Errors.log. - Added fatal exception logging to
fatal_errors.log. - Added playlist save queue with atomic write/backup behavior.
- Added shutdown playlist save flushing.
- Added startup monitor selection so the app opens on the screen where it was launched.
- Added macro/VLC startup and runtime diagnostics.
- Added watch-folder duplicate event suppression and file readiness checks.
- Added importer file/search-location controls directly on the import screen.
- Added import search/start workflow so users no longer need two separate selection popups before reaching the resolver.
- Added importer support for showing sheet rows immediately before filesystem matching completes.
- Added indeterminate scan progress while recursively searching folders.
- Added importer match statuses:
MATCHEDWEAK MATCHDATE MISMATCHWEAK + DATE- Added improved importer preview thumbnails and click-to-enlarge review behavior.
- Added regeneration of low-resolution cached importer thumbnails.
- Added branded dark styling and compact UI treatment to the import resolver.
- Added custom branded title bar to the import resolver.
- Added full-width painted hour header rows in the import grid.
Changed
- Improved importer file matching by normalizing item IDs, stripping
905prefixes, trimming leading zeroes, and scoring exact/boundary/loose matches. - Changed importer date matching to use creation and last-write timestamps as tie-breakers.
- Changed importer thumbnail capture to cache higher-resolution review images while keeping grid thumbnails compact.
- Changed importer rows to be denser and easier to scan.
- Changed importer buttons to flat branded action buttons.
- Changed importer hour rows to behave as section headers instead of media rows.
- Changed macro handling so unknown commands return a clear unknown-command response instead of
OK. - Changed macro handler attachment to avoid duplicate subscriptions.
- Changed StopItem playlist status reset to run on the UI thread.
- Changed watch-folder handling to suppress duplicate and in-flight events.
Fixed
- Fixed importer preview quality where enlarged thumbnails were blurry because the preview reused tiny grid images.
- Fixed broken image placeholders appearing in importer hour header rows.
- Fixed import resolver designer issue caused by inline event wiring inside
InitializeComponent. - Fixed default Windows chrome/style issues on the import resolver.
- Fixed potential startup/session-open crash caused by unsafe
Invoke/BeginInvoketiming. - Fixed several macro/VLC errors not being visible in logs.
TVGI NDI
2026-07-03Change Log
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Television Graphics Interface (TVGI) - A NDI enabled application designed for the Shopping Channel industry,
with fully developed NDI output for NDI accessible hardware such as Visrt and Newtek.
Created by Roman Weaver.
CODING: Roman Weaver
[Released] - 2026-06-19
Added
- Began the multi-format NDI output work with selectable main output checkboxes for TVGI NDI 4:3, TVGI NDI 16:9, and TVGI NDI Vertical 9:16.
- Added a guard so the master NDI ON/OFF control will not start live NDI output until at least one main TVGI NDI output is selected.
- Added separate 1920x1080 NDI sender contexts for
TVGI_NDI_16x9andTVGI_NDI_4x3, allowing both horizontal program formats to publish simultaneously from the same shared graphics state. - Added separate 16:9 and 4:3 local preview selector buttons so operators can view either enabled horizontal output while checkbox selection controls which NDI outputs are published.
- Added a first-pass true vertical NDI output,
TVGI_NDI_9x16, at 1080x1920 behind the existing Vertical 9:16 checkbox for real receiver testing. - Added a 9:16 local preview selector that appears when the Vertical 9:16 output is checked and shows the portrait composition scaled into the existing preview area.
Changed
- Added automatic matching crawl outputs for selected horizontal formats:
TVGI_Crawl_16x9for TVGI NDI 16:9 andTVGI_Crawl_4x3for TVGI NDI 4:3. - Changed the horizontal program outputs to omit the built-in crawl while the automatic matching crawl outputs publish separately, restoring the smoother separate-overlay workflow.
- Changed the 4:3 output path to render as a 4:3-safe centered layout inside a 1920x1080 NDI frame, matching the existing production format instead of creating a 1440x1080 source.
- Changed the NDI output context to support per-output dimensions so horizontal outputs remain 1920x1080 while vertical output publishes as 1080x1920.
- Lowered the local preview selector buttons slightly to give the NDI output checkboxes more breathing room.
- Reworked the first-pass 9:16 composition as a transparent bottom overlay so the upper phone/video feed area remains open.
- Removed the semi-transparent 9:16 background panel so the vertical output behaves as a true alpha overlay like the 4:3 and 16:9 outputs.
- Reworked the 9:16 layout into a compact TVGI-styled lower stack with price, item/clock, description crawl, and phone/host rows using the existing element backgrounds, font family, font colors, and font size settings.
- Smoothed the 9:16 description crawl by caching it as a transparent rendered strip and scrolling the bitmap instead of re-rasterizing text every frame.
- Increased the 9:16-only font translation scale so portrait output remains readable while leaving shared 4:3 and 16:9 preference font sizes unchanged.
- Added the upper-right bug/live element to the 9:16 renderer and made the portrait main graphics obey the F9 show/hide state, collapsing lot, price, and description rows when main graphics are hidden.
Fixed
- Fixed crawl smoothness after adding simultaneous 4:3 and 16:9 NDI outputs by advancing the program crawl position only once per frame while allowing each active output to draw the same crawl position.
- Fixed the crawl performance regression path by giving the 16:9 and 4:3 crawl outputs independent sender threads, scroll offsets, and fixed format geometry instead of sharing one crawl renderer.
- Fixed crawl-output flicker by rotating each separate crawl sender through multiple NDI frame buffers so a frame is not cleared while the receiver may still be reading it.
- Hardened the separate crawl senders so incomplete clear-only frames are skipped and each crawl format uses its own cloned crawl background image instead of sharing the same GDI image across threads.
- Changed the local preview crawl to use elapsed-time motion so it simulates the same crawl speed even when preview refresh is slower than the live NDI senders.
- Added separate Launcher Version and Program Version lines to the TVGI Graphics session-loading overlay, reading the installer
version.jsonsource of truth when available and falling back to stamped EXE metadata in installed builds. - Refined the TVGI Graphics session-loading overlay spacing and blended the loading history list into the card by removing the default list border and selection styling.
- Removed the remaining default scrollbar artifact from the TVGI Graphics session-loading history area.
- Changed the TVGI Graphics session-loading overlay so the blue text shows the current startup section while the lower history text shows detailed loading steps instead of duplicating the same label.
- Fixed the local preview format selectors by replacing the old label-driven click targets with dedicated 16:9 and 4:3 buttons that no longer depend on the removed
LabelFormatcontrol. - Updated session and Preferences format handling to use the preview format state instead of reading or writing the removed format label.
- Fixed local preview format switching while multiple NDI outputs are live by giving the preview render pass its own safe-area state and rebuilding its static layer before drawing.
- Updated session restore so saved 9:16 preview state restores through the vertical preview mode instead of falling back to a horizontal format.
- Fixed the countdown clock clear path so the main clock resets the NDI tick value at stop and the 9:16 clock row no longer holds a stale
0:01frame.
[Unreleased] - 2026-06-10
Added
- Added website Download and Licensing pages for the TVGI suite demo installer, Demo Mode behavior, activation flow, and module entitlement explanation.
- Added generic TVGI NDI database profile JSON import from the user's AppData folder for private MSSQL, MySQL, and SQLite customer connection profiles.
Changed
- Extended the non-blocking online license status refresh to TVGI Playout, TVGI SRT, and TVGI DB Management so each major app can pick up server-side module/status changes while preserving offline startup.
- Moved suite license activation/sync ownership into TVGI Suite Manager, with a shared local suite license file mirrored to the legacy TVGI NDI license path during transition.
- Updated the TVGI NDI launcher License action to open Suite Manager for activation/management while keeping NDI status display and fallback details available.
- Embedded the TVGI NDI database profile editor inside the Preferences Hub Database page, with inline selected-profile loading and chrome-less Save/Clear editing instead of a floating popup.
- Removed built-in AVC/AVC UK database profile creation and hardcoded public configuration connection strings so customer-specific database access can be supplied privately by imported profile JSON.
- Moved shared local SQLite database and shared profile discovery to
%AppData%\TVGI\Shared\Databasefor TVGI NDI and TVGI DB Management, with legacy AppData/DB paths copied forward and normalized so new saved profiles point at the shared folder. - Updated TVGI DB Management to discover loose
.db,.sqlite, and.sqlite3files in the shared database folder and create editable Local SQLite profiles for files that are not already listed indb_profiles.json.
Fixed
- Fixed Demo Mode NDI enforcement so TVGI-NDI publishes a branded Demo Mode slate instead of live graphics while unlicensed, while keeping the internal preview path active and blocking the separate crawl sender.
- Hardened TVGI NDI license refresh so the local saved license remains authoritative at startup; background server status checks can update a valid local license but no longer erase activation when the server is unavailable, missing, or rejects a refresh.
--------------------------------------------------------------------------------
[Unreleased] - 2026-06-09
Added
- Added a demo/licensing foundation with central
AppLicenseandAppLicenseManagerstate for Demo, Trial, Licensed, Expired, and Invalid modes. - Added default Demo Mode configuration through
TVGINDI_LicenseModeinapp.config. - Added visible license status to the launcher, production window chrome, and About dialog.
- Added a launcher License page with Demo Mode status, activation placeholder, and continue-demo path on the startup Select Layout screen.
- Added a shared License form for entering name/company, email, and serial key before the future online activation step.
- Added local activation-request storage with a generated Device ID, masked serial display support, and pending activation status.
- Added a configurable online activation client bridge that can post activation requests when a
tvgindi.comendpoint is configured. - Added first-pass
tvgindi.comlicensing server deployment files with MySQL schema, PHP activation endpoint, and cPanel/phpMyAdmin setup notes. - Added local licensed-state persistence so successful online activation is remembered on the same device and loaded as Licensed on startup.
- Added a first-pass PHP license admin panel for creating licenses, updating customer/license state, viewing activations, and releasing device activations.
- Added full license deletion to the PHP license admin panel with a confirmation prompt.
- Added admin-side stored license key visibility with a hidden/reveal field for customer license retrieval.
- Added suite module entitlements to the licensing system so one license key can unlock TVGI NDI, Playout, SRT, DB Management, Host Messaging, and ItemView modules.
- Added a license admin key generator that creates grouped keys and checks the database for hash uniqueness before use.
- Added a license status refresh endpoint and background desktop sync so local licenses can receive server-side disabled/expired/module changes without breaking offline startup.
- Added a runtime
Tools > License...menu item that shows the current license state and notes the futuretvgindi.comactivation path. - Added the first top-right production UI license indicator beside the version display.
- Added the first Demo Mode enforcement gate to block NDI live output while still allowing users to explore setup and preview workflows.
- Added shared TVGI-styled controls and dialogs used by the ongoing UI modernization, including broadcast-style buttons, toggles, tabs, progress controls, and message dialogs.
- Added a startup/session loading experience for opening saved sessions.
Changed
- Updated About to use the application/file version display and include license status details.
- Improved License form and startup License page spacing so content no longer hugs the left edge.
- Centered the License form action buttons under the activation fields.
- Updated license detail text to use TVGI blue across the License form and startup License page.
- Updated activation errors to show the server's specific message instead of only the HTTP status code.
- Updated the License form to keep showing the saved masked serial/license key and mark it read-only after activation.
- Updated the startup License page to show saved activation details and use licensed-state button labels.
- Added the current Licensed/Demo Mode state to the session-loading launcher overlay.
- Updated the licensing server schema/admin flow to retain the plain license key for admin lookup while keeping the activation hash in sync.
- Updated activation responses and local license storage to include enabled module entitlements, with TVGI NDI live output requiring the
TVGI_NDImodule. - Reworked the PHP license admin list into a searchable master/detail browser so large license counts do not render hundreds of full edit forms at once.
- Added shared suite-license startup checks to companion apps so Playout, Playout Macro Remote, SRT, DB Management, Host Companion, and ItemView require their licensed module entitlement.
- Bundled TVGI NDI licensing behavior so Host Companion and ItemView require the main
TVGI_NDImodule rather than independent module flags. - Updated the launcher/admin/config/help surfaces as part of the broader modernization pass.
- Moved more Preferences and production settings behavior toward shared TVGI theme/control patterns.
- Reworked the settings compatibility class so legacy
Properties.Settings.Default.ConnectionStringvalues remain available without requiring WinForms designer-timeSystem.Configurationsettings attributes. - Removed the legacy Visual Studio
.settingsgenerator path to prevent duplicateSettings.Defaultclasses from being regenerated. - Updated project metadata and assets to use the current
TVG-G.icoapplication icon.
Fixed
- Fixed WinForms designer load failure caused by
System.Configuration.ApplicationScopedSettingAttributeresolution in the generated settings class. - Fixed license status text sizing so Demo/Licensed state does not get clipped in the production window.
- Preserved the known-good MSBuild validation path for the current .NET Framework 4.8 WinForms project.
--------------------------------------------------------------------------------
[1.5.33] - 2024-11-12
Added
- Added New GFX element for Item Number and Price to the lower left above the left L3 for when you need the whole top screen.
Changed
Fixed
--------------------------------------------------------------------------------
[1.5.32] - 2024-10-15
Added
- Added Animation to the Bottom Message element
- New menu selection at the top, tools and background.
- moved the admin, messages, and lvr to the tools menustrip button.
- movability to the live text panel with reset to original location when closed.
Changed
- Removed the status bar at the bottom as it is unused and not necessary
- changed the admin popup so that it is movable
- changed the panel for the background elements and made it moveable with reset to its original location when closed.
Fixed
- Fixed the left right switch on the lower bug
--------------------------------------------------------------------------------
[1.5.31] - 2024-09-23
Added
- Added a "Clear" button to both of the Live Text boxes to be able to clear out the text for each listbox.
Changed
- Removed the TVGI-Socials from the program as it will be developed in an seperate application.
- Removed all contextmenu's and replaced them with a single unified context menu for all listboxes. with some conditions.
Fixed
- Context menu popup was causing an issue with the state of the checkbox for the Hostmessaging listbox
- Fixed the upper and lower bugs state check and visibility.
--------------------------------------------------------------------------------
[1.5.30] - 2024-09-05
Added
Changed
Fixed
- Fixed the panel location for HostClocks and for ArtBumps so that when activated they would set to the last location in the x,y textboxes respectivly.
- Fixed add only Hostmessage sending to the wrong listbox and not sending to the HostClocks NDI output.
--------------------------------------------------------------------------------
[1.5.29] - 2024-08-14
Added
- Added a social media panel to allow for connection to Facebook, Instagram and other social media accounts and be able to put that on the air.
Changed
Fixed
--------------------------------------------------------------------------------
[1.5.28] - 2024-08-14
Added
Changed
- Changed REMOTE ENTRY: Moved it from popup to the main form in the item input section.
- Changed the Exchange Rate and moved it to under the Headers section in the Main item portion. Made for more sense and ease of use.
Fixed
- Fixed the exchange rate not showing up after the reset button was pressed. The check for the checkbox was not in place.
--------------------------------------------------------------------------------
[1.5.27] - 2024-08-13
Added
- Added "EXIT SESSION" functions and the ability to exit the current session and load a new session with all of the data points filled in.
Changed
- Changed functionality for better clocks and remote input.
- Changed the Art functions to simplify and work better.
Fixed
- Reset "ESC" button to reset the necessary elements on the screen and set focus to the first text box for the item number.
--------------------------------------------------------------------------------
[1.5.26] - 2024-07-12
Added
Changed
- Changed the location of the clock timers for HOST CLOCKS so that the full time was visible in the box. Left Justified the timer
Fixed
- F5 button would lose its color when the CF5 button timer ended.
--------------------------------------------------------------------------------
[1.5.25] - 2024-07-10
Added
- Functionality to the CF5 button (Control F5) for a "Time on Item" clock that runs continuously
- "Time on Item" Clock display to the Host Clocks NDI Output
- Remote View send for the new "Time on Item" clock
Changed
- Functionality of the Host Clocks has now been separateed so the Videos Countdown and the Time on Item count up. This gives each clock its own timer and view so that the Time on Item is not interrupted by the video countdown clock.
- Host clock portion fixed by removing the stopwatch button and the start and stop buttons as they are now all controlled by the F5 or CF5 buttons.
Fixed
- Issues where "using" statements would cause the program to lag.
- Bug where the timer would not tick correctly when ComboBox values were changed.
--------------------------------------------------------------------------------
[1.5.24] - 2024-06-06
Added
- Added a Misc. window for monitoring another NDI input while using the software
- Added a third tab for the Web Browser form
Changed
- Changed the HM/Web tab and removed the web browser from it. Moved it to the 3rd tab.
Fixed
- Fixed issue where the frame size would not clear out the data
- Fixed the Stopwatch label so that it read Host Clock and was less confusing.
- Fixed the issues where "using" statements would cause the program to lag.
--------------------------------------------------------------------------------
[1.5.23] - 2024-04-17
Added
- [TVGI-NDI]
MAJOR Add in panel to see the SRT feed from the host.
Changed
Fixed
- Fixed out of bounds array issue with images under clocks that would couse the program to lock and stop working. added try/catch to resolve issue.
--------------------------------------------------------------------------------
[1.5.22] - 2024-04-16
Added
- [TVGI-NDI]
MINOR Dropdown Clock for more than a 3 min clock. Selecting the dropdown will now start a 4-60 min clock for the Show Clock.
- Two check boxes to allow for the UpperBug and the Lower Bug to remain onscreen when the ESC [RESET] button is pressed.
- Added product items and change log to the about dialog window.
Changed
Fixed
- Fixed clock issues where the clock would not start at the right time or delay.
--------------------------------------------------------------------------------
[1.5.21] - 2024-04-15
Added
Changed
Fixed
- [TVGI-NDI]
PATCH Add logic to runsheet teaser delete to delete corresponding
schedule cards.
- PATCH Count up clock would only show the inital clock duration. Updated the clock so it would correctly count down on screen for the Host Messaging instead of just showing the inital clock duration
--------------------------------------------------------------------------------
[1.5.20] - 2024-04-01
Added
- [TVGI-NDI]
MAJOR Module HostMessaging was added to allow the User to see what the Host sees in the app. Currently shows the Message, Frame size, Show Clock, and Host Clock
Changed
Fixed
--------------------------------------------------------------------------------
[1.5.0] - 2024-01-01
Initial Release
- Launched the application with features such as NDI direct integration to output of the information to the screen. This allows for integration into NDI enabled platforms like Visrt and Newtek.
TVGI Playout
2026-07-03Changelog
All notable changes to TVGI Playout will be documented in this file.
This project follows a four-part version format: major.minor.feature.build.
- Build rolls over at
1000 - Feature rolls over at
500 - Minor rolls over at
100
[1.0.2.228] - 2026-06-18
Added
- Added automated version metadata through
BuildVersion.props. - Added intentional versioned build script:
Tools/Build-Playout-Versioned.ps1. - Added title-bar version/license badge in the format
VERSION x.x.x.x | LICENSEDorVERSION x.x.x.x | DEMO. - Added branded import preview viewer with:
- Large thumbnail preview.
- Previous/next navigation across matched rows.
- File path, item, date, length, status, category, file size, type, created/modified timestamps, and folder metadata.
- Keyboard navigation with left/right arrows and Escape to close.
- Added branded border and title treatment to the import preview viewer.
Changed
- Changed TVGI Playout version tracking from generated defaults to explicit project metadata.
- Changed normal builds so they do not auto-increment the version, preventing Visual Studio design-time/background builds from burning build numbers.
- Changed versioned builds to increment only when
AutoIncrementVersion=trueis supplied. - Changed the top-right license badge layout so it no longer overlaps minimize/maximize/close buttons.
- Changed the license/version badge prefix from
vtoVERSION. - Changed importer date column header from
Scheduled DatetoDatefor compact layout.
Fixed
- Fixed startup timing issue where fresh installs could fail opening a selected session with:
Invoke or BeginInvoke cannot be called on a control until the window handle has been created.- Moved heavy startup initialization to run after the main form is shown.
- Made startup UI calls safer when the window handle has not yet been created.
[1.0.2.227] - 2026-06-18
Added
- Added initial build-version automation support.
- Added
Tools/IncrementPlayoutVersion.ps1with rollover rules: - Build number rolls over at
1000. - Feature number rolls over at
500. - Minor number rolls over at
100.
Changed
- Moved version values out of
TVGIPlayout.csprojand intoBuildVersion.props. - Project now imports
BuildVersion.propsso assembly/file/product versions stay aligned.
Fixed
- Prevented automatic version increments during normal builds after discovering Visual Studio background builds could trigger repeated increments.
[1.0.2.226] - 2026-06-18
Changed
- Normalized requested version
1.0.1.1226to1.0.2.226under the project rollover rules. - Set initial explicit Playout version metadata:
VersionAssemblyVersionFileVersionInformationalVersion
Earlier 1.0.2 Work - 2026-05-20 to 2026-06-17
Added
- Added global configuration organization under app-level
Config. - Added session-specific graphics configuration under each session
Configfolder. - Added macro remote configuration organization under its own
Configfolder. - Added fallback reads for legacy config file locations.
- Added operational logging to
Operational_Errors.log. - Added fatal exception logging to
fatal_errors.log. - Added playlist save queue with atomic write/backup behavior.
- Added shutdown playlist save flushing.
- Added startup monitor selection so the app opens on the screen where it was launched.
- Added macro/VLC startup and runtime diagnostics.
- Added watch-folder duplicate event suppression and file readiness checks.
- Added importer file/search-location controls directly on the import screen.
- Added import search/start workflow so users no longer need two separate selection popups before reaching the resolver.
- Added importer support for showing sheet rows immediately before filesystem matching completes.
- Added indeterminate scan progress while recursively searching folders.
- Added importer match statuses:
MATCHEDWEAK MATCHDATE MISMATCHWEAK + DATE- Added improved importer preview thumbnails and click-to-enlarge review behavior.
- Added regeneration of low-resolution cached importer thumbnails.
- Added branded dark styling and compact UI treatment to the import resolver.
- Added custom branded title bar to the import resolver.
- Added full-width painted hour header rows in the import grid.
Changed
- Improved importer file matching by normalizing item IDs, stripping
905prefixes, trimming leading zeroes, and scoring exact/boundary/loose matches. - Changed importer date matching to use creation and last-write timestamps as tie-breakers.
- Changed importer thumbnail capture to cache higher-resolution review images while keeping grid thumbnails compact.
- Changed importer rows to be denser and easier to scan.
- Changed importer buttons to flat branded action buttons.
- Changed importer hour rows to behave as section headers instead of media rows.
- Changed macro handling so unknown commands return a clear unknown-command response instead of
OK. - Changed macro handler attachment to avoid duplicate subscriptions.
- Changed StopItem playlist status reset to run on the UI thread.
- Changed watch-folder handling to suppress duplicate and in-flight events.
Fixed
- Fixed importer preview quality where enlarged thumbnails were blurry because the preview reused tiny grid images.
- Fixed broken image placeholders appearing in importer hour header rows.
- Fixed import resolver designer issue caused by inline event wiring inside
InitializeComponent. - Fixed default Windows chrome/style issues on the import resolver.
- Fixed potential startup/session-open crash caused by unsafe
Invoke/BeginInvoketiming. - Fixed several macro/VLC errors not being visible in logs.
TVGI SRT
2026-07-03# Changelog
2026-06-24
- Released 480i59.94 output support for SD SRT decoder workflows.
- Added route-level video framing options: Letterbox, Center Cut, Left Cut, and Right Cut.
- Applies framing inside the fixed raw-video canvas before FFmpeg so source size/aspect changes remain stable across playlist/source changes.
All notable changes to TVGI SRT will be documented in this file.
The format is based on Keep a Changelog, and this project follows practical release notes for operator-facing changes.
[1.0.2.4] - 2026-06-22
Changed
- Removed the Ethernet health tile and local network counter polling from the main SRT interface to reduce UI overhead during live encoding.
- Changed the bottom signal summary back to route-focused status instead of network throughput display.
Fixed
- Restored the route health helper logic required by the per-route video, audio, encoder, output, and signal tiles after removing the Ethernet tile code.
- Verified the Release build after the stability cleanup.
[1.0.2.3] - 2026-06-21
Improved
- Added a header version and license badge so operators can verify the running SRT build and LICENSED/DEMO state from the main screen.
- Improved Ethernet send and receive meter styling with thinner S/R bars for a cleaner, less bulky network-health display.
- Stabilized the Ethernet health tile background so send/receive traffic updates animate only the S/R meters instead of repainting the full tile.
[1.0.2.2] - 2026-06-21
Added
- Added multi-route SRT encoder route cards to replace the crowded horizontal route grid.
- Added a per-route edit dialog with organized sections for Destination, Video, Audio, Overlay, and Advanced settings.
- Added per-route enable and disable controls.
- Added per-route output format selection.
- Added standard broadcast output presets for 1080 and 720 workflows.
- Added support for SRT, UDP, RTMP, and file route types in the route UI.
- Added selectable audio codec options, with AAC confirmed for Teradek and TriCaster decoder compatibility.
- Added per-route audio gain control.
- Added per-route audio codec and audio bitrate settings.
- Added audio stream status display under each route.
- Added live audio metering for incoming embedded NDI audio.
- Added route status display for idle, running, reconnecting, and disabled states.
- Added phone overlay configuration per route.
- Added overlay image preview and image selection.
- Added per-route display of phone reference, frame rate, bitrate, codec, output size, latency, and status.
- Added NVIDIA NVENC encoder option for hardware-assisted H.264 encoding.
- Added compact per-route health tiles for video, audio, encoder, output, and signal state.
- Added a source health tile and a separate Ethernet health tile for local network throughput visibility.
- Added send and receive Ethernet meters with smoothed throughput display.
- Added an encoder log popup so detailed FFmpeg output can be opened when needed instead of living on the main screen.
- Added hover-based NDI source selection gear over the video preview.
Changed
- Reworked the encoder route UI from a DataGridView into cleaner visual route cards.
- Moved advanced route settings into a dedicated edit dialog instead of exposing every setting on the main screen.
- Changed newly added routes so they are not enabled by default before setup.
- Changed output sizing to use fixed route output canvases for better decoder compatibility.
- Changed SRT latency UI to use milliseconds while converting correctly for FFmpeg and SRT parameters.
- Improved route summaries for destination, video, audio, and overlay settings.
- Improved TVGI dark theme styling across the SRT interface and route edit dialog.
- Increased route card readability with larger text and clearer spacing.
- Standardized practical output sizes to avoid decoder issues from non-standard frame dimensions.
- Updated FFmpeg and SRT command behavior for more stable live transport.
- Moved route edit buttons next to the enable button so health tiles can span more of the route card width.
- Reworked health tile colors and gradients for disabled, connecting, healthy, warning, and error states.
- Moved detailed source information out of the duplicate preview label area and into the source health tile.
- Changed the Ethernet tile to use a neutral gray panel so it reads as system/network health instead of source status.
- Changed the main encoder log area into an on-demand dialog for a cleaner operator-facing screen.
Fixed
- Fixed garbled video when VLC NDI output changed from one playlist item to another with a different source resolution.
- Fixed SRT reconnect and disconnect behavior caused by NDI source format changes.
- Fixed raw FFmpeg pipe corruption caused by changing source dimensions.
- Fixed route cards showing disabled routes as reconnecting.
- Fixed route enable and start behavior so cards reflect route inclusion more clearly.
- Fixed audio status visibility by showing whether embedded NDI audio is live, waiting, or silent.
- Fixed decoder audio compatibility by using AAC for Teradek and TriCaster workflows.
- Fixed route display confusion caused by too many columns in the original route grid.
- Fixed overlay settings layout to be cleaner and easier to edit.
- Fixed edit dialog layout so it better matches the TVGI application style.
- Fixed NDI source picker open, close, refresh, and selection behavior after layout cleanup.
- Fixed the NDI source tree so it begins loading when the app starts instead of waiting for the picker to open.
- Fixed stop feedback so the interface shows a stopping state while routes shut down.
- Fixed per-route enable and disable changes so the route list no longer has to disappear and fully redraw.
- Fixed active route edits so saved encoder settings can update the running stream instead of only saving the route data.
- Fixed preview gear transparency and hover behavior so the gear no longer appears inside a black box.
Improved
- Improved long-running stream stability.
- Improved VLC NDI workflow support for video and audio output.
- Improved support for Screen Capture HX, VLC NDI output, vMix, TriCaster, OBS, and other NDI sources.
- Improved compatibility with Teradek T-RAX decoder cards.
- Improved multi-stream readiness for 720p and 1080p workflows.
- Improved CPU and GPU encoding options with both libx264 and h264_nvenc support.
- Improved broadcast deployment workflow by focusing on stable standard resolutions and AAC audio.
- Improved route-card readability by using two-line health tiles with clear operator-facing values.
- Improved Ethernet status readability with human-readable send, receive, load, and link-speed values.
- Improved Ethernet send and receive meter styling with thinner S/R bars for a cleaner, less bulky network-health display.
- Improved source picker usability by keeping source selection accessible from the video preview.
- Improved main screen layout by removing legacy health tiles and unused progress labels.