Elections Player for Web Release Notes

Important! Please use Elections Player for Chameleon 7.0.0.0 or later as a replacement for the Elections Player for Web application.

Flow-for-Chameleon v13.5.2.1 or later is required as of Player v6.0.0.64.

Version 6.0.0.78

  • Fixed bugs related to having Rundown Party Scene items that do not have assigned playlist of contests nor an event.

Version 6.0.0.77

  • Added text box control for specifying Flow API Key in the Preferences dialog.

  • Added support for using API Key when using BLADE API calls to Flow.

  • Added a '<None>' Playlist Bin entry for the Bins drop-down lists in the Rundowns tabs.

  • Added combo box control for specifying the delay (in seconds) after setting a scene online prior to getting the thumbnail from the server.

Version 6.0.0.76

  • Fixed a bug when acquiring list of candidates for a contest by using the contest's area and office instead of directly referencing the contest itself.

Version 6.0.0.75

  • Added support for filtered playlists and rundowns where the filter defined in Flow is attached to playlists and rundowns.

  • Added label to show area # of total areas for Area/Riding scenes in Fullscreen scenes UI.

  • Modified support for playlists in Fullscreen scenes and Ticker Riding Results to refresh the playlist contests when the last contest has been shown.

  • Removed support for 'Skip Contests if No Votes' preference option since this is now supported by Flow filtering of playlists and rundowns.

  • Fixed a bug in DbSupport::GetCandidates(eventID, officeID, areaID) when attempting to sort based on party info where there is a mix of candidates with and without party information.

Version 6.0.0.74

  • Fixed bug with getting contests when some contests may not have any district information.

  • Fixed bug with Elections Settings dialog with selecting a Date, the list of available Events is not correct.

  • Added tool tips to Scene drop-down list controls to show the selected full project and scene.

  • Made clearing of output on app shutdown more efficient.

  • Use background worker to also show output so that the UI won't freeze if the Chameleon Web Server is stopped.

  • Fix a potential bug with hiding Ticker outputs that won't work if the Tickers are not using Chameleon Output#1.

Version 6.0.0.73

  • Added support for Ticker Timer section to support Timer scenes.

  • Added support for Ticker News and Breaking News. Each news item is shown as a single 'page'.

  • Added logs/messaging when GetPreferences fails attempting to connect to Flow.

Version 6.0.0.72

  • Fixes bug with initial click on the PlaylistID drop-downs with allow key entry enabled not opening the drop-down list when clicking on the down-arrow button.

  • Added tooltips when hovering over playlist item Status images.

  • Fixed a bug with updating playlist that wouldn't change the position of the items in the list if the items are the same items but in different positions.

  • Fixed loss of the status of all Playlist items on updating playlists.

  • Updated to MySql.Data.dll v8.0.29 & ReaderUtils.dll 1.0.48.

Version 6.0.0.71

  • Fixed bug Playlist Notes not being updated on an 'Update Playlists' action.
  • Fixed bug with Playlist Cue label not being hidden after Cueing is disabled.
  • Added check for updates on startup and will post a message in the status if a new build is available.
  • Added Online Help menu option.
  • Changed label of Preferences->General->Playlist Settings->'Show Information Tabs' option to 'Show Image & Notes Information Tab'.
  • Added check for minimum Flow Version on startup.

  • Added preferences to use and set the location of the Generic headshot image if the candidate image is unavailable.

  • Added ^choice.office.shortname' as an alias of the '^choice.office.code' tag.

  • Fixed a bug caused having Events belonging to a non-Global group.

  • Added party colour tag aliases: ^choice.party.color & ^choice.party.colorvalue.

Version 6.0.0.70

  • Fixed a bug with scenes never showing a headshot quad object again once it has been used on an invalid or unspecified file.

Version 6.0.0.69

  • Added support for updating the Agent Status of the Player in Flow.

Version 6.0.0.68

  • Modified the interactions of the Headshots Menu option settings so that they behave more consistently.
  • Added support for using the Letter-Specified Headshots File Format.

Version 6.0.0.67

  • Minor code updates to account for code that should have been only targeted for the XPression version.

Version 6.0.0.66

  • Added missing ^choice.office.positions & ^choice.office.name tags for Choice scenes.
  • Added missing ^choice.votesPrevious% tag for Contest scenes.
  • Removed unsupported Party tags related to showing differences for party totals or votes between different events. These tags are: ^choice.party.totaldiff, ^choice.party.vote(s).diff, ^choice.party.vote(s).diff%, ^choice.party.gain & ^choice.party.loss.
  • Clicking on the OK button for the Elections Settings dialog will now always force a reload of the DB even if no options were changed.
  • Fixed bug with playing the 1st page of a multi-paged Rundown item twice when transitioning from another item.
  • Fixed bug with Rundown content information not updating for an item that was on air when another item goes on air.
  • Fixed bug with attempting to update the Candidate textboxes in the Rundown Information tab when the item that uses a Contest scene but didn't have an assigned contest.
  • Fixed bug with Play Rundown timer not being stopped when the app automatically stops the Rundown when reaching the end of the list (with looping not enabled).
  • Fixed bug caused by attempting to get an assigned candidate ID for an item that uses a Choice scene but has no candidates assigned.
  • Fixed bug with loss of the use of an MySqlDataReader instance when the underlying SQL command fails and throws an exception.
  • Fix bug with not setting the selected Content Group object on startup if the name of the Content Group read from Preferences is not found.
  • Fixed bug with not setting the URL correctly when attempting to update the application using CheckForUpdates.
  • Fixed bug with incorrectly playing an item with 'Play Rundown' when there is only a single item (or only 1 active item) in the Rundown and the item can playout multiple pages.
  • Fixed bug on 'Update Rundown' with item information not updating in the grid.
  • Fixed a bug with setting the Candidate scenes FillVotePct() function which didn't set the text object content properly.
  • Load the new contest total votes and votes previous (i.e., the popular votes and votes previous).
  • Modified to Candidate & Contest scenes to get the total votes and total previous votes from the contest itself (if available) and only calculate these totals if they aren't available (i.e., 0).
  • Updated to ReaderUtils 1.0.44 so that Flow Credential verification can use the additional MySQL parameters.

  • Fixed a bug with not getting all Districts from the DB on initialization when '<All Events>' is not selected as the 'Current Event'.
  • Fixed a bug with getting contests for all events which caused the DB to be accessed multiple times for each contest.

  • Modified display of Contest entries in Fullscreen Scenes & Tickers Contest Results drop-down to show Area name first.
  • Fixed a bug with not restoring selected contest in Fullscreen Scenes & Tickers Contest Results drop-down when switching how contest entries are displayed.
  • Cache all areas and offices so that when creating a display name for a contest, the cached info is used instead of accessing the DB.
  • Replaced SSL Mode specification in Preferences to use a textbox to allow specification of additional MySQL parameters.

  • Changed Preferences to allow specifying SSL mode and Timeout value for MySQL connection.

  • Fixed bugs that due to using incomplete elections data in the DB (eg, events with no contests or contests with no candidates).
  • Updated to use MySql.data.dll v8.0.25, ReaderUtils.dll v1.0.42 and Google.Protobuf v3.14.0.
  • Changed handling of scene tags to be a dictionary of lists of tags instead of a straight list of tags to handle duplicate tags in the scene.
  • Added ^choice.eligibleVotes & ^choice.popTotalVotes to Choice & Contest scenes.
  • Added Preference for Timers spin-controls to enable or disable use 10ths of second. Default setting is disable.
  • Added Preference to 'Hide Candidates with 0 Seats' and to 'Hide Candidates with 0 Votes'.
  • Made Fullscreen Scene drop-down selections sticky across restarts.
  • Fixed a bug in Election Settings dialog that caused the date selection to be lost after the dialog is closed.
  • Fixed bug in Fullscreen Scenes and Ticker Contest Results which resulted in acquiring and filling the Contests drop-down twice in a row.
  • Fixed paging for Fullscreen Scenes, Ticker Contest Results and Rundown items that use Contest scenes.
  • Fixed issue with playing a contest twice after changing the current contest while looping contests for Fullscreen Scenes and Ticker Contest Results.

Version 6.0.0.66

  • Fixed a bug caused by using the 'Group Non-main Parties as OTHER' Preference option when the scene doesn't use any vote tags.
  • Added check for grouping party seat totals just in case the same 'Group Non-main Parties as OTHER' Preference option is set but the scene doesn't use any seat tags.
  • Added support for ^choice.popvotes% and ^choice.popvotesPrevious% tags for Contest scenes.
  • Fixed a bug with filling of the ^choice.votesdiff% tag which incorrectly used the seats diff%.
  • Fixed a bug with getting party name from cached list of parties based on the party shortname/code (which may not be unique).
  • Added support for '{partyaltname}' keyword to ^choice.custom tag and fixed but with getting party info based on party shortname/code.
  • Modified handling of Choice percentage values of votes, votesPrevious, votes2 (seats) and votes2Previous based on whether those percentage values are read from the DB or needs to be calculated.
  • Added new Choice scene tags: ^choice.popvotes% and ^choice.popvotesPrevious%.
  • Added new keywords: {name} and {firstletter} to ^choice.custom tag.
  • Fix a bug caused by missing total calculations for votesPrevious, votes2, votes2Previous and related percentages.
  • Added support for new Contest & Choice scene tags: ^choice.votesPrevious, ^choice.votesPrevious%, ^choice.votediff, ^choice.votediff%, ^choice.seatsPrevious, ^choice.seatsPrevious%, ^choice.seats, ^choice.seats%, ^choice.seatsdiff, and ^choice.seatsdiff%.
  • Added support for new Contest, Choice & Party scene tag: ^choice.party.altName.
  • Added Party scene alias tags: ^choice.party.votesdiff as alias for ^choice.party.votes% as alias for ^choice.party.vote%, ^choice.party.votesdiff as alias for ^choice.party.votediff, ^choice.party.votesdiff% as alias for ^choice.party.votediff%.
  • Added Contest & Choice alias scene tags: ^choice.votes% as alias for ^choice.vote%, ^choice.votesdiff for ^choice.votediff, ^choice.votesdiff% for ^choice.votediff%.
  • Added support for votes2 and votes2Previous in Choice DB table.

  • Added Preference setting to set default results sort type for Rundown items that use Party or Contest scenes.
  • Disabled support for "vote%" keyword for Custom candidate tags.
  • Added new Preference setting for showing number of decimal places for Percentage displays. Default is 'Auto Detect' based on text assigned during design phase.
  • Fixed a bug in Fullscreen Scenes handling when showing a Contest scene again with the 'Candidate Paging Settings' set to 'Top X where X is available candidate tags' option.
  • Added support 'Cancel' option for the startup Timed Message box which will close the app.
  • Fixed a bug in Ticker Contest Results which caused existing output to be cleared prior to taking the new output. This interferes with TL from working correctly sometimes.
  • Also fixed all other take code to check the current output against the new output prior to taking the new output to see if the current output needs to be hidden or not.
  • Fixed a bug with handling of custom tags when there is a '.' inside the custom definition string.
  • Fixed a bug with changing the Loop Order parameter for Contest scenes in Fullscreen Scenes UI which caused an uncaught exception message to appear.
  • Fixed issue caused by not setting the Scenes background board if the current item is showing the same background when looping through all contests.
  • On launch, added new InitBoardThumbnails() functionality. InitBoards() now only acquire the board info without the thumbnails. This is in case we have very slow cloud connections and getting thumbnails can fail.
  • Cueing and showing no longer use Events. Instead, commands are added directly to the Background workers.
  • Changed Headshots caching dialog to be more responsive to user input during the caching process.

  • Modified Fullscreen Scenes UI when a Contest scene is selected will cause the Event drop-down to select the current event date by default.
  • Fixed a bug with Ticker Contest Results that causes Contests to be repeated on output when the 'Skip Contests with 0 votes' preference setting is enabled.
  • Changed Project selection in Preferences to ignore XPFs that start with '!'.
  • Fixed bug caused by switching a playlist or event with no contests in the Ticker Contest Results section. This can occur with 'Skip Contests with 0 votes' preference enabled.
  • Changed display of Contests drop-down list control in the Ticker Contest Results section to indicate absence of contests.
  • Fixed bugs with hotkeys in the Fullscreen Scenes section that caused Numpad+, Numpad- and Numpad. to not work.
  • Added support for adding a <All Bins> selection to Rundown Bin list to show Playlists from all bins in the PlaylistID drop-down list controls. <All Bins> option is not implemented in the UI.
  • Added support for key entry to change the selection in Rundown Bin, ListID, Event, Playlist and Contest drop-down list controls.
  • Added Preference setting to allow or disallow key entry to change selection in Rundown Bin, ListID, Event, Playlist and Contest drop-down list controls.
  • Fixed bug with filling Party scene tags that used both party seats and party votes tags when one or more main parties have no seats but has votes.
  • Cosmetic change for logging to show Rundown # consistently.

Version 6.0.0.65

  • Fixed bugs with cached headshots filename such that DistrictNum is checked to be > 0 otherwise the District.ID is used instead.
  • Fixed a bug which prevented acquiring Contests from the DB when using "All Events".
  • Checks the Elections Settings on start up for invalid Current Event values. Only does this if the Db Manager has been successfully initialized.

Version 6.0.0.64

  • Requires Flow-for-Chameleon v13.5.2.1 or later.
  • Updated to Chameleon API 1.0.11
  • Fixed a bug in custom name tags for Candidate scenes.
  • Fixed a bug that caused a deadlock situation when the CG Engine failed to initialize.
  • Handle CG Engine errors more gracefully instead of throwing out errors constantly.
  • Added 'Output Use Update' for Ticker Party Totals, Party Majority and Riding Results sections.
  • Fixed bug in showing preview of Contest scenes in Fullscreen Scenes section where it wasn't showing any data.

  • Fixed bug in showing of background scenes where it could be taken off unintentionally when another scene is taken to air.

  • Added separate settings for Preview Framebuffers for Rundowns, Tickers, Fullscreen Scenes and Main Background.

  • Fixed bug with Rundown Items that uses Party Scenes with Playlists that displays results form all contests of the chosen event instead of those in the playlist.
  • Removed scenes read from the DB if their projects are not in the selected projects list (in the Preferences dialog).
  • Updated Rundown Contest column to show information about the Events or Playlists in items that use Party scenes.
  • Modified Rundown information tabs to show Event, Playlist and Parties for items that use Party scenes. This is similar to the items that use Contest scenes.
  • Indicate Rundown items that use scenes from unloaded Projects in the Type column and also uncheck the items' output checkboxes.
  • Added Ticker functionality which includes support for Bug, Sponsor, Ticker Background, Party Totals, Contest Results and Utility Party scene (Party Majority).

  • Added Candidate Paging support for Ticker Contest Results functionality.

  • Added Party Paging support for Ticker Party Totals and Party Majority functionality.

  • Added Party Paging support for Rundown items and Fullscreen Scenes. Paging information for Rundown items that use Party scenes are shown in the Content column just like for items that use Contest scenes.
  • Implemented sorting results by Results descending, Party Order ascending, Last-name ascending, First-name Last-name ascending, Party abbreviation ascending and Party name ascending.

  • Indicate the results sort type for the Rundown items in the Type column.
  • Converted all play back and most database access functionality to be asynchronous and decoupled from the UI thread.
  • Added setting to Preferences to enable or disable showing of the Image & Notes tab in the Rundown Information tabs. Default  setting is disabled.
  • The image in the Image & Notes Rundown Information tab will show the live thumbnail of the selected item (if the Live Thumbnails option is enabled).

Version 6.0.0.63

  • Added support to acquire headshots using BLADE.

  • Fixed a minor bug with Check for Updates option that doesn't show a message dialog if the currently installed app is up to date.

  • Made the name of the Elections tags identical to those that are also used in the Chameleon Web Server.

  • Added the 'Check for Updates' option to the Help menu.

Version 6.0.0.62

  • Fixed a minor bug with Check for Updates option that doesn't show a message dialog if the currently installed app is up to date.

Version 6.0.0.61

  • Changed the tags that are in common use in the Chameleon Web Server for elections such that the tag names are identical.

  • Added the 'Check for Updates' option to the Help menu.

Version 6.0.0.60

  • Supports use of IP Commands to control Rundown play out and previews. This feature is optional and can be enabled via the Preferences dialog.

Version 6.0.0.59

  • Fixed a bug WebCGHelper::GetSceneThumbnail() caused by not checking and reconnecting the client's connection (if needed).

  • Fixed some logging messages in WebCG where "XPr" was used instead of the WebCG instance's name.

  • Fixed issues with Db usage collision by introducing a Db Instance Pool manager (DbInstMgr) to handle access to Db instances.

  • Replaced all Globals.Db (DbSupport) usage with a Db Pool Instance acquired from DbInstMgr.
  • Fixed bug with disabling/enabling 'Output' with Rundown items which didn't work before.
  • Fixed bugs related to having slow internet connection when attempting to access a cloud based Db.
  • Fixed a bug in rendering live thumbnails caused by file locking when an new thumbnail is generated.
  • Converted to use Nuget PackageReferences instead of packages.config.

Version 6.0.0.57

  • Requires Chameleon Web Server 3.0.252 or later.
  • Supports Live Thumbnail generation. This feature, if enabled, requires a separate Web Server instance to be dedicated to thumbnail generation. The instance must be also be active (i.e., showing) in a Web Browser for the thumbnail generation to work.

  • Added an extra output (to account for the Live thumbnails usage), i.e., has now support for up to 5 outputs.

  • Added more error trapping in code that handles Rundown grid updates.

  • Changed label for 'Enable Update Data if Taking same scene' to 'Enable Update Scene if Taking same scene'.

  • Fixed issue with Db instances becoming unavailable due to collision caused by generating live thumbnails and playing output at the same time.

  • Fixed bug with Fullscreen Scene UI showing the Candidate controls in the wrong spot for Contest scenes following the selection of a Choice scene.

  • Candidate IDs are no longer shown as part of the displayed candidate info. This is a settings.ini option 'CandDisplayShowID' that has to be manually edited to be true to show the IDs.

  • Changed Rundown grid cells to allow text wrapping of contents for the 'Type', 'Content' and 'Contest' columns.

  • Changed detection of Contest/Area, Choice and Party scenes to NOT look for 'Name' and instead allow any text to be prior to the '( )' type markers.

  • Added support for using logo files with optional prefixes when replace party logo tags.

Version 6.0.0.53

  • Requires Flow version 12.2.2.3 or newer.
  • Initial release of 'Elections Player for Web'.

  • Added support for up to 4 Web Server Outputs. 

  • Enables support for Preview if one of the Output is assigned to be for Previewing.

  • Added menu entries to attempt re-connection for each Output and also a 'Reconnect All' option if there is more than 1 Output.