Skip to content

Releases: zshall/program-guide

TVS 4.3.0-beta (1-5-2025)

06 Jan 04:17
ca40f79

Choose a tag to compare

Update Notes - 4.3.0

🐛 Bug fixes

  • Fixed bug with TVS overrunning the screen by a pixel or two on certain screen sizes triggering scroll bars.
  • Fixed bug with background audio that would cause audio to sometimes fail on page load.
  • Fixed layout bug in examples page
  • Fixed default program guide font on examples page
  • Fixed bug involving screen bezel size on hard page reload

⚙️ Enhancements

  • Gave OSD a very slight blur effect when global blurring is on.

✨ New features

  • New OSD theme based on mid-2000's satellite TV: sat2007! Here's an example:
osd:
  theme: sat2007
  # primaryColor: "rebeccapurple" # Optional color overrides
  # accentColor: "white"
  themeOptions: # certain themes have additional options that can be set like this:
    showMessageIcon: true # Show the message icon in the top bar
    showChannelLockIcon: true # Show the channel lock icon in the top bar
  • Added channel icon support. For now only the new sat2007 theme supports them but you can add channel icons like this:
- number: 44
  name: 44cast
  abbr: WX
  icon: placeholders/weather.png # Optional. Icon to show in the info OSD (if applicable theme applied)
  • Custom "no signal" overrides for channels without content.
noSignalContent: # Optional. You can specify content to show when a channel is off the air.
  image: placeholders/no-signal.png

The ability to play background audio isn't present yet here, I plan on adding it in the future.

  • New engine that shows a channel slideshow: channel-list. Here's an example of using the default options:
- number: 171
  name: Channel List
  abbr: LIST
  channel-list: true

More complex examples are available in the example config.tvs.yml file.

Read this first!

Get started quickly:

  • Put the files in the root directory of a web server. For now we require serving out of the root directory.
  • Visit index.html and it should load the example configuration.

Basic keyboard controls:

  • M toggles mute
  • Up / Down control channels
  • Left / Right control volume

In the browser you need to un-mute when the page loads because of autoplay restrictions.

Edit the example configuration file (config.tvs.yml) and make it your own.

Read the documentation: https://greenhillplaza.notion.site/Television-Simulator-99-c28584f069b94f58a71b5c9fe2484dcb

Join our community on Slack to ask for help or report issues: https://join.slack.com/t/greenhillplaza/shared_invite/zt-2dq8mx6sm-3YnobHETTmxUNE02TOSPRg

TVS 4.2.2-beta (12-22-2024)

23 Dec 04:07
ca40f79

Choose a tag to compare

📣 New to TVS? Watch the Quick Start on Windows tutorial to get going with a static web server. I'll be making more videos (as time permits) on setting up a full Linux server with Docker and all of the external systems that TVS can use to support live video streams and live radio, as well as configuration guides. Stay tuned!

Update Notes - 4.2.2

🐛 Bug fixes

  • Fixed weather icons not loading when in a subdirectory.
  • Fixed issues where a long Feed Reader title or article would push the entire page off-screen; long titles now scroll horizontally.
  • Updated Nostalgist.js library to 0.11.0
  • Fixed issue in Video Game engine where megadrive wasn't a supported core despite appearing in documentation. genesis and megadrive now point to the same core.
  • Fixed bug where webhook wasn't fired on channel up or down events.
  • Mitigated bug in YouTube Playlist engine when playing private or removed videos that would crash the player by reloading the playlist from the next video.

🧪 Experimental:

  • length property added to YouTube Playlist engine to specify the number of videos in the playlist manually without needing a YouTube API key for shuffled playlists. I'm still working on trying to figure out why shuffle isn't right and may change the way this engine works in the future.
- number: 17
  name: Youtube Playlist Shuffled
  abbr: YTSFL
  youtube-playlist:
    src: PLU1WjbywtZxEGdTPm-qB0KzPGkRPw6npl
    shuffle: true # Optionally you can shuffle playlists this way. You need to specify the playlist ID above using src if you include more options.
    length: 13 # Optionally manually specify the length of the playlist so that no API key is needed to determine it.

Read this first!

Get started quickly:

  • Put the files in the root directory of a web server. For now we require serving out of the root directory.
  • Visit index.html and it should load the example configuration.

Basic keyboard controls:

  • M toggles mute
  • Up / Down control channels
  • Left / Right control volume

In the browser you need to un-mute when the page loads because of autoplay restrictions.

Edit the example configuration file (config.tvs.yml) and make it your own.

Read the documentation: https://greenhillplaza.notion.site/Television-Simulator-99-c28584f069b94f58a71b5c9fe2484dcb

Join our community on Slack to ask for help or report issues: https://join.slack.com/t/greenhillplaza/shared_invite/zt-2dq8mx6sm-3YnobHETTmxUNE02TOSPRg

TVS 4.2.1-beta (12-21-2024)

21 Dec 23:20
ca40f79

Choose a tag to compare

Update Notes - 12-21-2024 (4.2.1)

🐛 Bug fixes

  • Fixed bug in weather engine where radar station was being used for observations when observation stations should be used instead.

Read this first!

Get started quickly:

  • Put the files in the root directory of a web server. For now we require serving out of the root directory.
  • Visit index.html and it should load the example configuration.

Basic keyboard controls:

  • M toggles mute
  • Up / Down control channels
  • Left / Right control volume

In the browser you need to un-mute when the page loads because of autoplay restrictions.

Edit the example configuration file (config.tvs.yml) and make it your own.

Read the documentation: https://greenhillplaza.notion.site/Television-Simulator-99-c28584f069b94f58a71b5c9fe2484dcb

Join our community on Slack to ask for help or report issues: https://join.slack.com/t/greenhillplaza/shared_invite/zt-2dq8mx6sm-3YnobHETTmxUNE02TOSPRg

TVS 4.2.0-beta (12-19-2024)

20 Dec 02:52
ca40f79

Choose a tag to compare

Update Notes - 12-19-2024 (4.2.0)

✨ New features

  • Added channel permalinks. By default now TVS will populate the document hash with the channel number. When you refresh TVS the previous channel will be loaded. You can change the way this works by using persistCurrentChannel: localstorage to save the current channel to local storage instead of URL on change, or persistCurrentChannel: false to use the old behavior of not saving the channel on change. Permalinks will work regardless.
  • Added toggle for animated channel change. In the config file set animateChannelChange: false to disable the "shake" effect when the screen changes.
  • Added cache busting for the config file, since often this file is often cached more aggressively than we want. To disable this feature you'll need to edit the environment file under _app/env.js: use export const env={"PUBLIC_USE_CACHE_BUSTER":"false"} instead of true.
  • Added webhook support for external integrations. This is for receiving data from TVS, not sending to it. TVS will call these webhooks when channel, volume or mute events occur to let your service know it. This is useful if you want to show the channel or volume information on an external display.
    • All webhooks are sent as GET requests.
    • The bracketed variables will be replaced at the time that the webhook is fired. If TVS is showing channel 12 then channel={channel} will become channel=12.
# webhooks: # Optional. You can set up webhooks to send data to external services when certain events happen.
#   channelChange: http://your-server/receive_update?channel={channel}&manual={isManualInput} # Optional. This is the URL that will be called when the channel changes. The channel number and whether it was a manual input will be sent as query parameters.
#   volumeChange: http://your-server/receive_update?volume={volume} # Optional. This is the URL that will be called when the volume changes. The volume level will be sent as a query parameter.
#   muteChange: http://your-server/receive_update?isMuting={isMuting} # Optional. This is the URL that will be called when the muting or unmuting. The mute state will be sent as a query parameter.

🐛 Bug fixes

  • Fixed bug in bouncing logo engine where the logo wouldn't draw on load.
  • Fixed bug with audio blips on channel changes when muted
  • Fixed screen stretching function so that the entire TV container stretches, not the inside contents of the container.

Read this first!

Get started quickly:

  • Put the files in the root directory of a web server. For now we require serving out of the root directory.
  • Visit index.html and it should load the example configuration.

Basic keyboard controls:

  • M toggles mute
  • Up / Down control channels
  • Left / Right control volume

In the browser you need to un-mute when the page loads because of autoplay restrictions.

Edit the example configuration file (config.tvs.yml) and make it your own.

Read the documentation: https://greenhillplaza.notion.site/Television-Simulator-99-c28584f069b94f58a71b5c9fe2484dcb

Join our community on Slack to ask for help or report issues: https://join.slack.com/t/greenhillplaza/shared_invite/zt-2dq8mx6sm-3YnobHETTmxUNE02TOSPRg

TVS 4.1.0-beta (12-02-2024)

03 Dec 01:37
ca40f79

Choose a tag to compare

Update Notes - 12-02-2024 (4.1.0)

  • Added ability to disable the on-screen display entirely, or parts of it.
osd: false # You can disable the on-screen displays entirely by setting this to false.
# You can also disable parts of the OSD individually. The following options are available:
osd:
  tuner: false # You can disable the tuner OSD by setting this to false.
  info: false # You can disable the info OSD by setting this to false.
  receiver: false # You can disable the receiver OSD by setting this to false.

Read this first!

Get started quickly:

  • Put the files in the root directory of a web server. For now we require serving out of the root directory.
  • Visit index.html and it should load the example configuration.

Basic keyboard controls:

  • M toggles mute
  • Up / Down control channels
  • Left / Right control volume

TVS 4.0.1-beta (11-23-2024)

24 Nov 00:29
ca40f79

Choose a tag to compare

Update Notes - 11-23-2024

  • Fixed zoom bug on small window sizes introduced in previous update.
  • Beginning to update TVS's versions to use semantic versioning so that they show up correctly in GitHub releases and make it easier on users to tell when breaking changes occur.

Read this first!

Get started quickly:

  • Put the files in the root directory of a web server. For now we require serving out of the root directory.
  • Visit index.html and it should load the example configuration.

Basic keyboard controls:

  • M toggles mute
  • Up / Down control channels
  • Left / Right control volume

v2 Public Beta 9-25-2024 (3.4.0)

26 Sep 00:53
6d3a5f3

Choose a tag to compare

Pre-release

Television Simulator '99 Public Beta

2017-2024 Zach Hall

Always up to date list of 3rd party credits / contributors:

https://www.notion.so/greenhillplaza/Television-Simulator-99-c28584f069b94f58a71b5c9fe2484dcb?pvs=4#8c122c36557a4710bdc938172aa883d7

Update Notes - 9-25-2024

🔧 Hotfix to address bug surfaced in newest Chromium version (129) related to overflow.

TV screen is now overflow: hidden.

Read this first!

Get started quickly:

  • Put the files in the root directory of a web server. For now we require serving out of the root directory.
  • Visit index.html and it should load the example configuration.

Basic keyboard controls:

  • M toggles mute
  • Up / Down control channels
  • Left / Right control volume

In the browser you need to un-mute when the page loads because of autoplay restrictions.

Edit the example configuration file (config.tvs.yml) and make it your own.

Read the documentation: https://greenhillplaza.notion.site/Television-Simulator-99-c28584f069b94f58a71b5c9fe2484dcb

Join our community on Slack to ask for help or report issues: https://join.slack.com/t/greenhillplaza/shared_invite/zt-2dq8mx6sm-3YnobHETTmxUNE02TOSPRg

v2 Public Beta 9-21-2024 (3.3.0)

21 Sep 18:10
6d3a5f3

Choose a tag to compare

Pre-release

Television Simulator '99 Public Beta

2017-2024 Zach Hall

Always up to date list of 3rd party credits / contributors:

https://www.notion.so/greenhillplaza/Television-Simulator-99-c28584f069b94f58a71b5c9fe2484dcb?pvs=4#8c122c36557a4710bdc938172aa883d7

Update Notes - 9-21-2024

  • Added custom key remapping. You can now reassign keys to any button or combination of buttons supported by the browser.
  • Updated Help page to read list of key commands based off of input mapping.

Here's an example of how this works:

inputMapping: # Optional. You can override the default keyboard commands here.
  volumeUp: q # For any key you override, the default key will be unassigned.
  volumeDown: a # The combos supported should be in lower-case; the keys supported can be found at https://github.com/madrobby/keymaster?tab=readme-ov-file#supported-keys
  power: shift+p, enter # Using + will require multiple keys to be pressed at the same time. Using , will assign multiple combos to the same function.
  # Important: the browser may have some reserved key combos that can't be overridden. If you're having trouble with a key combo, try another one.

The commands available to override are:

  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • channelDown
  • channelUp
  • help
  • info
  • mute
  • power
  • resetPicture
  • scaleDownX
  • scaleDownY
  • scaleUpX
  • scaleUpY
  • setup
  • toggleAutoScale
  • toggleBezels
  • toggleBezelType
  • toggleBlur
  • toggleChangeChannelNoise
  • toggleClosedCaptions
  • toggleNoise
  • toggleOSD
  • toggleRemotePairingCode
  • toggleScanlines
  • toggleShadowMask
  • toggleShadowMaskType
  • version
  • volumeDown
  • volumeUp

Read this first!

Get started quickly:

  • Put the files in the root directory of a web server. For now we require serving out of the root directory.
  • Visit index.html and it should load the example configuration.

Basic keyboard controls:

  • M toggles mute
  • Up / Down control channels
  • Left / Right control volume

In the browser you need to un-mute when the page loads because of autoplay restrictions.

Edit the example configuration file (config.tvs.yml) and make it your own.

Read the documentation: https://greenhillplaza.notion.site/Television-Simulator-99-c28584f069b94f58a71b5c9fe2484dcb

Join our community on Slack to ask for help or report issues: https://join.slack.com/t/greenhillplaza/shared_invite/zt-2dq8mx6sm-3YnobHETTmxUNE02TOSPRg

v2 Public Beta 9-15-2024 (3.2.0)

15 Sep 22:10
6d3a5f3

Choose a tag to compare

Pre-release

Television Simulator '99 Public Beta

2017-2024 Zach Hall

Always up to date list of 3rd party credits / contributors:

https://www.notion.so/greenhillplaza/Television-Simulator-99-c28584f069b94f58a71b5c9fe2484dcb?pvs=4#8c122c36557a4710bdc938172aa883d7

Update Notes - 9-15-2024

  • PLS playlist file support added in backgroundAudio engine for tracks accessible via the web. An example playlist is provided in the placeholders directory.
  • PLS files will provide info about what's now playing to the audio info engine.
  • If you're using IIS on Windows to host the files, a new MIME type was added to the web.config file included for this purpose.

Here's the playlist example:

- number: 53
  name: Playlist Example
  abbr: PLS
  image: placeholders/channel-53.png
  backgroundAudio: placeholders/playlist-example.pls # You can use a playlist file to play audio. This can be a local file or a remote one but the contents need to be accessible via the web. Currently only PLS files are supported.
  backgroundAudioOptions:
    shufflePlaylist: true # Optional. If you want to shuffle the playlist set this to true. Only has an effect if a playlist file is used.

Read this first!

Get started quickly:

  • Put the files in the root directory of a web server. For now we require serving out of the root directory.
  • Visit index.html and it should load the example configuration.

Basic keyboard controls:

  • M toggles mute
  • Up / Down control channels
  • Left / Right control volume

In the browser you need to un-mute when the page loads because of autoplay restrictions.

Edit the example configuration file (config.tvs.yml) and make it your own.

Read the documentation: https://greenhillplaza.notion.site/Television-Simulator-99-c28584f069b94f58a71b5c9fe2484dcb

Join our community on Slack to ask for help or report issues: https://join.slack.com/t/greenhillplaza/shared_invite/zt-2dq8mx6sm-3YnobHETTmxUNE02TOSPRg

v2 Public Beta 9-09-2024 (3.2.0)

09 Sep 12:21
6d3a5f3

Choose a tag to compare

Pre-release

Television Simulator '99 Public Beta

2017-2024 Zach Hall

Always up to date list of 3rd party credits / contributors:

https://www.notion.so/greenhillplaza/Television-Simulator-99-c28584f069b94f58a71b5c9fe2484dcb?pvs=4#8c122c36557a4710bdc938172aa883d7

Update Notes - 9-9-2024

  • Added custom color support for the Guide engine.
  • guide can have the following new options:
      guide: # Program guides read the current channel lineup to reconstruct listings based off channel numbers, title and description. https://greenhillplaza.notion.site/Program-Guides-46e80919a3754efa9769f74dd00946fe?pvs=4
        primaryColor: white # The primary color of the guide; this is used for the default background color of guide cells
        secondaryColor: blue # The secondary color of the guide; this is used for the text color of headers and channel numbers
        textColor: black # The text color of the guide; this is used for the text color of guide cells
  • Refactored the color scheme library to be accessible for more purposes.

Read this first!

Get started quickly:

  • Put the files in the root directory of a web server. For now we require serving out of the root directory.
  • Visit index.html and it should load the example configuration.

Basic keyboard controls:

  • M toggles mute
  • Up / Down control channels
  • Left / Right control volume

In the browser you need to un-mute when the page loads because of autoplay restrictions.

Edit the example configuration file (config.tvs.yml) and make it your own.

Read the documentation: https://greenhillplaza.notion.site/Television-Simulator-99-c28584f069b94f58a71b5c9fe2484dcb

Join our community on Slack to ask for help or report issues: https://join.slack.com/t/greenhillplaza/shared_invite/zt-2dq8mx6sm-3YnobHETTmxUNE02TOSPRg