Releases: zshall/program-guide
v2 Public Beta 8-20-2024 (2.6.0)
Television Simulator '99 Public Beta
2017-2024 Zach Hall
Always up to date list of 3rd party credits / contributors:
Update Notes - 8-20-2024
- Added a Docker image for easier deployment.
- Added info button components - press
I
to open the info screen. - Currently supported audio info providers are Icecast, Azuracast and a custom one for Nightwave Plaza. Let me know in the chat room if there's any other providers you'd like to see added!
- To make use of audio info you'll need to at minimum add the following background audio options:
backgroundAudio: http://radio.plaza.one/mp3
backgroundAudioOptions:
description: Nightwave Plaza Radio # Optional. Credits will appear in the Info OSD
nowPlayingUrl: https://api.plaza.one/status # Optional. If the radio service you're using has a song history API you can link to it here.
nowPlayingProvider: plaza-one # Required if using nowPlayingUrl. Only a few providers are supported right now; see the documentation for more info.
backgroundAudio: http://icecast.example.com/radio.mp3
backgroundAudioOptions:
description: Icecast example
nowPlayingUrl: http://icecast.example.com/status-json.xsl
nowPlayingProvider: icecast
backgroundAudio: https://azuracast.example.com/listen/station_name/radio.mp3
backgroundAudioOptions:
description: Station Name
nowPlayingUrl: https://azuracast.example.com/api/nowplaying_static/station_name.json
nowPlayingProvider: azuracast
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 11-21-2024 (4.0.0)
Television Simulator '99 Public Beta
2017-2024 Zach Hall
Always up to date list of 3rd party credits / contributors:
Update Notes - 11-21-2024
This update is all about program guides!
Implements #55
- ❗Breaking change: guide alerts are attached to specific channels now; if you have a channel alert on channel 1 for instance but don't have a channel 1 in the lineup it won't be shown.
- Rewrote and restructured large parts of the Guide engine to support multiple themes. Two are supported as of this release: the default one and "1989", a classic single-slot guide in the style of the EPG (https://prevueguide.com/wiki/EPG_Sr.)
- Added the ability to filter guides by channel ranges.
- Modified the external listings data structure (TVSL JSON) to allow for more precise listings; listings are now measured by width in minutes and are not rounded down to the nearest timeslot anymore. Listings can fluidly span between guide timeslots in the default theme, and are displayed in a list in the 1989 guide separated by time. There's an example program available here that converts XMLTV to TVSL JSON: https://github.com/zshall/TelevisionSimulatorGuideData
- Added multiple guide examples to the default config file demonstrating custom colors and external listings (if you have a TVSL JSON file to parse).
- Changed the way that guide scrolling works to be more accurate; timeslot headers stick to the top of the guide until a new header replaces them.
- Changed the way that auto-scaling works to use
zoom
CSS instead oftransform
to mitigate bugs when scrolling.
- number: 170
name: Guide 1989 full example
noiseBlendMode: multiply
guide:
theme: 1989
themeOptions: # Some themes have extra settings that can only be applied in these themes.
title: Cable TV Guide # Optional. A title to show at the top of the guide
ticker: # Optional. A scrolling text bar at the bottom of the guide. Put a list of messages you want shown here.
- "Hypercom cable - connecting you to the future"
- "Pay-Per-View Movies - Ch 1 - Straight from Hollywood to your home, anytime!"
channelRange:
min: 1 # Optional. The channel to start the guide with. No channels will be displayed with a lower number than this if specified.
max: 100 # Optional. The channel to end the guide with (inclusive). No channels will be displayed with a higher number than this if specified.
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 10-17-2024 (3.5.0)
Television Simulator '99 Public Beta
2017-2024 Zach Hall
Always up to date list of 3rd party credits / contributors:
Update Notes - 10-17-2024
- Added
feed-reader
engine. This component will load an RSS feed and display articles one at a time. Articles should have a title and content. - Added
color
engine. You can display a plain background with either a solid color or a CSS gradient. - Added a new
mix
layout. You can use it to superimpose one component on top of another full-screen using any CSS mix mode and also vary transparency of either component (from0.0
to1.0
)
Here's a simple example of the feed reader:
- number: 33
name: Local News
abbr: NEWS
feed-reader: /placeholders/news.rss
A full example is in the config.tvs.yml
demo file. There are a few new examples in there, including layouts and colors.
To make the RSS feed load properly make sure the server is sending it with CORS headers. If it isn't, you may need a locally hosted proxy such as cors-everywhere.
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 8-11-2024 (2.5.0)
Television Simulator '99 Public Beta
2017-2024 Zach Hall
Always up to date list of 3rd party credits / contributors:
Update Notes (8-11-2024)
- Fixed audio bug where channel changes that use same background audio source wouldn't be reloaded.
- Updated audio system with new granular controls: in Generator, Keno, Video, Visualizer, and YouTube Playlist engines you can set a
volume
parameter to a number between 0 and 1, or set it to false. Here's an example:
video:
volume: false # You can mute the video entirely if you want.
provider: ...
src: ...
BackgroundAudioOptions
section was added with new optional features for filtering, adjusting volume and adding white noise to the audio:
backgroundAudio: ...
backgroundAudioOptions:
volume: 0.9 # You can adjust the volume of the background audio per-channel
# corsMitigation: true # If you're hosting the app on a server that doesn't support CORS you can enable this to disable audio processing. The filter effects won't work but the audio should play (if CORS is the issue)
filterType: highpass # You can apply a filter to the audio; values are lowpass, highpass, bandpass, lowshelf, highshelf, peaking, notch, allpass
filterFrequency: 1000 # The frequency of the filter in Hz
# noise: 0.08 # You can add white noise to the audio too
-
Made a race condition bug in the video game engine less likely by destroying the component when it finishes loading if channel is changed while it loads.
-
Added new Bouncing Logo engine which loads an image that bounces around the screen, changing its color whenever it hits the screen. The image should be transparent and a single color for the effect to look right.
- number: -2
name: DVD Player
bouncing-logo: https://upload.wikimedia.org/wikipedia/commons/e/e7/DVD-Video_Logo.svg # The bouncing-logo engine allows you to display an image that bounces around the screen in the style of a DVD logo screensaver.
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 7-27-2024 (2.4.0)
Television Simulator '99 Public Beta
2017-2024 Zach Hall
Always up to date list of 3rd party credits / contributors:
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
Update Notes (7-27-2024)
Cumulative update over the last few weeks with a few new features:
- Added another placeholder background music track
- Basic text is refreshed from data source when the last page is reached before going back to the first page
- Fixed bug where local audio wouldn't loop
- Fixed but with HLS live streaming in Safari
- Fixed signaling issues with Slideshow engine
- Custom OSD color extends to remote pairing screen
- Support added for local and custom PeerJS servers
- Added touch gesture support using HammerJS
- Added some new configuration examples
- Added kiosk mode to disable certain features and an example configuration file
v2 Public Beta 7-08-2024 (2.3.0)
Television Simulator '99 Public Beta
2017-2024 Zach Hall
Always up to date list of 3rd party credits / contributors:
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
Update Notes (7-08-2024)
- Added screen bevels; 2 different types are present by default. They can be enabled or disabled using "alt + 6" and the type can be changed with "shift + alt + 6". You can also default this type via the config file:
bezel: flat
# or
bezel: cylindrical
- Fixed the help page to add some missed keyboard shortcuts.
- Started the process of reorganizing resources so that eventually TVS will be able to run from a subdirectory.
v2 Public Beta 7-07-2024 (2.2.0)
Television Simulator '99 Public Beta
2017-2024 Zach Hall
Always up to date list of 3rd party credits / contributors:
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
Update Notes (7-07-2024)
- Added Vimeo and Dailymotion provider support
- You no longer need to specify providers in many cases for videos; simply linking to a YouTube video or Dailymotion or Vimeo will detect the video ID. The following channel definitions provide examples:
- number: 31
name: Vimeo Example
abbr: VIMEO
video: https://vimeo.com/1084537
- number: 32
name: YouTube Example
abbr: YOUTUBE
video: https://youtube.com/watch?v=0ccKOqz6NtU
- number: 33
name: Dailymotion Example
abbr: DAILYMOTION
video: https://dailymotion.com/video/x5pwfq
- number: 34
name: HLS Example
abbr: HLS
video: https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8
v2 Public Beta 7-02-2024 (2.1.0)
Television Simulator '99 Public Beta
2017-2024 Zach Hall
Always up to date list of 3rd party credits / contributors:
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
Update Notes (7-02-2024)
- Press F1 to view keyboard shortcuts; the close button in the window title bar will take you back to the TV or you can press back on your browser.
- Number keys on the numpad can be used to change channels as well as the number keys at the top of your keyboard now. The Keymaster library providing shortcuts was updated to a fork with extended functionality.
- Added Video Game engine that supports NES, SNES, Genesis and Game Boy emulation using Nostalgist.js; there's an example at the bottom of the provided config file.
- Line inputs (defined by negative channel numbers) are now hidden from the channel guide.
v2 Public Beta 6-21-2024 (2.0.0)
Television Simulator '99 Public Beta
2017-2024 Zach Hall
Always up to date list of 3rd party credits / contributors:
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
Update Notes
The first public beta continues from where the private alpha left off. For those who participated in the private alpha, here's what's changed since the last release:
- Fixed off-air channel display in guide
- Added digital cable box theme for receiver
- Removed fade transitions from default OSD theme
- Added new background music to placeholders directory and beta welcome image
0.6.1 (1.0.0)
The final version of the classic program guide. Version 2 will be released soon to this repository and is completely different than the original.