clone

a desktop tv and program guide for over-the-air broadcasts: what's on air, what your tuner gets, live tv, recordings

Initial public release

FelineStateMachine committed 1d4e2e3
Airwaves: a TV and program guide for over-the-air broadcasts and custom
channels, with its server (airwavesd), admin page and desktop app.
commit
1d4e2e34c6b6f80b84b52a7abaa9f79a9d35cf6c
author
FelineStateMachine <226808055+FelineStateMachine@users.noreply.github.com>
263 files changed, +53122 -0
M.gitignore2+
MLICENSE21+
MREADME.md591+++++
MTHIRD_PARTY_NOTICES.md28+
Mapp.go340+++
Mbuild/appicon.pngbin
Mbuild/darwin/Info.plist75+
Mbuild/linux/flatpak/dev.airwaves.Airwaves.desktop11+
Mbuild/linux/flatpak/dev.airwaves.Airwaves.metainfo.xml23+
Mbuild/linux/flatpak/dev.airwaves.Airwaves.yml64+
Mbuild/linux/steam-art/art.css78+
Mbuild/linux/steam-art/art.js94+
Mbuild/linux/steam-art/capsule.html31+
Mbuild/linux/steam-art/capsule.pngbin
Mbuild/linux/steam-art/header.html34+
Mbuild/linux/steam-art/header.pngbin
Mbuild/linux/steam-art/hero.html28+
Mbuild/linux/steam-art/hero.pngbin
Mbuild/linux/steam-art/icon.html8+
Mbuild/linux/steam-art/icon.pngbin
Mbuild/linux/steam-art/install.sh33+
Mbuild/linux/steam-art/logo.html27+
Mbuild/linux/steam-art/logo.pngbin
Mbuild/linux/steam-art/render.mjs61+
Mbuild/linux/steam-art/steamclient.py124+
Mcmd/airwavesd/main.go394+++
Mcmd/airwavesd/main_test.go73+
Mcmd/otascan/main.go190++
Mdeploy/Dockerfile13+
Mdeploy/compose.dvb.yml5+
Mdeploy/compose.yml73+
Mdeploy/standalone/.env.example66+
Mdeploy/standalone/Dockerfile31+
Mdeploy/standalone/Dockerfile.dockerignore6+
Mdeploy/standalone/compose.host.yml16+
Mdeploy/standalone/compose.yml70+
Mdeploy/up.sh13+
Mdeploy/weatherstar/Dockerfile10+
Mdeploy/weatherstar/airwaves-logo.pngbin
Mdocs/self-hosting.md208++
Mfrontend/dist/app.js3753++++++++++++++++++++++++++++++
Mfrontend/dist/fonts/OFL-BigShouldersDisplay.txt93+
Mfrontend/dist/fonts/OFL-IBMPlexMono.txt93+
Mfrontend/dist/fonts/OFL-SchibstedGrotesk.txt93+
Mfrontend/dist/fonts/big-shoulders-display-600.woff2bin
Mfrontend/dist/fonts/big-shoulders-display-800.woff2bin
Mfrontend/dist/fonts/ibm-plex-mono-400.woff2bin
Mfrontend/dist/fonts/ibm-plex-mono-500.woff2bin
Mfrontend/dist/fonts/schibsted-grotesk-400-italic.woff2bin
Mfrontend/dist/fonts/schibsted-grotesk-400.woff2bin
Mfrontend/dist/fonts/schibsted-grotesk-500.woff2bin
Mfrontend/dist/fonts/schibsted-grotesk-700.woff2bin
Mfrontend/dist/index.html191++
Mfrontend/dist/style.css650+++++
Mfrontend/dist/vendor/hls.js-LICENSE.txt28+
Mfrontend/dist/vendor/hls.min.js4+
Mfrontend/dist/vendor/kenney-prompts/License.txt28+
Mfrontend/dist/vendor/kenney-prompts/playstation5_button_create_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/playstation5_button_options_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/playstation_button_circle_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/playstation_button_cross_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/playstation_button_l3_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/playstation_button_r3_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/playstation_button_square_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/playstation_button_triangle_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/playstation_dpad_horizontal_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/playstation_dpad_none.svg6+
Mfrontend/dist/vendor/kenney-prompts/playstation_dpad_vertical_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/playstation_trigger_l1_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/playstation_trigger_l2_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/playstation_trigger_r1_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/playstation_trigger_r2_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/steamdeck_button_a_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/steamdeck_button_b_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/steamdeck_button_l1_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/steamdeck_button_l2_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/steamdeck_button_options_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/steamdeck_button_r1_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/steamdeck_button_r2_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/steamdeck_button_view_outline.svg7+
Mfrontend/dist/vendor/kenney-prompts/steamdeck_button_x_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/steamdeck_button_y_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/steamdeck_dpad_horizontal_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/steamdeck_dpad_none.svg6+
Mfrontend/dist/vendor/kenney-prompts/steamdeck_dpad_vertical_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/steamdeck_stick_l_press.svg7+
Mfrontend/dist/vendor/kenney-prompts/steamdeck_stick_r_press.svg7+
Mfrontend/dist/vendor/kenney-prompts/switch_button_a_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/switch_button_b_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/switch_button_l_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/switch_button_minus_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/switch_button_plus_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/switch_button_r_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/switch_button_x_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/switch_button_y_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/switch_button_zl_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/switch_button_zr_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/switch_dpad_horizontal_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/switch_dpad_none.svg6+
Mfrontend/dist/vendor/kenney-prompts/switch_dpad_vertical_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/switch_stick_l_press.svg7+
Mfrontend/dist/vendor/kenney-prompts/switch_stick_r_press.svg7+
Mfrontend/dist/vendor/kenney-prompts/xbox_button_a_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/xbox_button_b_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/xbox_button_menu_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/xbox_button_view_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/xbox_button_x_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/xbox_button_y_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/xbox_dpad_horizontal_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/xbox_dpad_none.svg6+
Mfrontend/dist/vendor/kenney-prompts/xbox_dpad_vertical_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/xbox_lb_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/xbox_ls_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/xbox_lt_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/xbox_rb_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/xbox_rs_outline.svg6+
Mfrontend/dist/vendor/kenney-prompts/xbox_rt_outline.svg6+
Mfrontend/dist/vendor/pretext/LICENSE21+
Mfrontend/dist/vendor/pretext/README3+
Mfrontend/dist/vendor/pretext/analysis.js1341+++++++++++
Mfrontend/dist/vendor/pretext/bidi.js194++
Mfrontend/dist/vendor/pretext/generated/bidi-data.js978++++++++
Mfrontend/dist/vendor/pretext/layout.js368+++
Mfrontend/dist/vendor/pretext/line-break.js712++++++
Mfrontend/dist/vendor/pretext/line-text.js45+
Mfrontend/dist/vendor/pretext/measurement.js207++
Mfrontend/dist/vendor/pretext/rich-inline.js313+++
Mfrontend/wailsjs/LICENSE21+
Mfrontend/wailsjs/go/main/App.d.ts54+
Mfrontend/wailsjs/go/main/App.js95+
Mfrontend/wailsjs/go/models.ts1389+++++++++++
Mfrontend/wailsjs/runtime/package.json24+
Mfrontend/wailsjs/runtime/runtime.d.ts330+++
Mfrontend/wailsjs/runtime/runtime.js298++
Mgo.mod51+
Mgo.sum119+
Minternal/admin/admin.go1104+++++++++
Minternal/admin/admin_test.go720++++++
Minternal/admin/backups.go1102+++++++++
Minternal/admin/backups_test.go881+++++++
Minternal/admin/details_test.go516++++
Minternal/admin/logos.go381+++
Minternal/admin/mcp.go1471++++++++++++
Minternal/admin/mcp_test.go434+++
Minternal/admin/restore.go685+++++
Minternal/admin/testdata/ytdlp-channel.json42+
Minternal/admin/testdata/ytdlp-search.json93+
Minternal/admin/ui/admin.css690++++++
Minternal/admin/ui/admin.js3613+++++++++++++++++++++++++++++
Minternal/admin/ui/fonts/OFL-BigShouldersDisplay.txt93+
Minternal/admin/ui/fonts/OFL-IBMPlexMono.txt93+
Minternal/admin/ui/fonts/OFL-SchibstedGrotesk.txt93+
Minternal/admin/ui/fonts/big-shoulders-display-600.woff2bin
Minternal/admin/ui/fonts/big-shoulders-display-800.woff2bin
Minternal/admin/ui/fonts/ibm-plex-mono-400.woff2bin
Minternal/admin/ui/fonts/ibm-plex-mono-500.woff2bin
Minternal/admin/ui/fonts/schibsted-grotesk-400-italic.woff2bin
Minternal/admin/ui/fonts/schibsted-grotesk-400.woff2bin
Minternal/admin/ui/fonts/schibsted-grotesk-500.woff2bin
Minternal/admin/ui/index.html47+
Minternal/admin/ui/vendor/mcp-b/LICENSE21+
Minternal/admin/ui/vendor/mcp-b/global.iife.js71+
Minternal/admin/ui/vendor/mcp-b/webmcp-local-relay/embed.js2+
Minternal/admin/ui/vendor/mcp-b/webmcp-local-relay/widget.html10+
Minternal/admin/ui/webmcp.js108+
Minternal/admin/youtube.go612+++++
Minternal/admin/youtube_test.go178+
Minternal/api/api.go312++
Minternal/api/api_test.go177+
Minternal/api/auth_test.go120+
Minternal/api/client.go198++
Minternal/atsc3/rabbitears.go172+
Minternal/atsc3/rabbitears_test.go37+
Minternal/atsc3/testdata/denver.html18+
Minternal/cc/cea608.go370+++
Minternal/cc/cea608_test.go386+++
Minternal/cc/chunk.go295++
Minternal/cc/chunk_test.go131+
Minternal/cc/cue.go301++
Minternal/cc/cue_test.go305++
Minternal/cc/e2e_test.go192++
Minternal/cc/script.go165+
Minternal/cc/testdata/asr.json341+
Minternal/cc/ts.go434+++
Minternal/cc/ts_test.go348+++
Minternal/dvr/dvr.go687+++++
Minternal/dvr/dvr_test.go277++
Minternal/fcc/testdata/tvq.txt5+
Minternal/fcc/tvq.go218++
Minternal/fcc/tvq_test.go85+
Minternal/geo/geo.go100+
Minternal/guide/gracenote.go313+++
Minternal/guide/gracenote_test.go40+
Minternal/hdhr/discover.go178+
Minternal/hdhr/hdhr.go167+
Minternal/hdhr/hdhr_test.go141+
Minternal/jellyfin/items.go585+++++
Minternal/jellyfin/jellyfin.go350+++
Minternal/jellyfin/jellyfin_test.go487++++
Minternal/jellyfin/jellyfintest/jellyfintest.go475++++
Minternal/jellyfin/quickconnect.go74+
Minternal/lineup/lineup.go405+++
Minternal/reception/reception.go213++
Minternal/reception/reception_test.go85+
Minternal/service/hdhr.go283++
Minternal/service/noantenna_test.go201++
Minternal/service/service.go1143+++++++++
Minternal/service/service_test.go237++
Minternal/store/cache.go122+
Minternal/store/settings.go107+
Minternal/stream/hls.go516++++
Minternal/stream/hls_test.go115+
Minternal/stream/subtitles.go227++
Minternal/stream/subtitles_test.go178+
Minternal/terrain/terrain.go139+
Minternal/tuner/tuner.go130+
Minternal/tuner/tuner_test.go15+
Minternal/tuner/tvheadend.go119+
Minternal/tvh/setup.go376+++
Minternal/tvh/tvh.go272++
Minternal/vchan/captions.go287++
Minternal/vchan/captions_test.go610+++++
Minternal/vchan/details.go308++
Minternal/vchan/details_test.go203++
Minternal/vchan/folder.go324+++
Minternal/vchan/folder_test.go363+++
Minternal/vchan/jellyfin.go470++++
Minternal/vchan/jellyfin_test.go528++++
Minternal/vchan/library.go185+
Minternal/vchan/loop.go760++++++
Minternal/vchan/loudness.go374+++
Minternal/vchan/loudness_test.go444++++
Minternal/vchan/schedule.go321+++
Minternal/vchan/schedule_test.go175+
Minternal/vchan/testdata/yt_feed.xml167+
Minternal/vchan/testdata/yt_listing.json87+
Minternal/vchan/testdata/yt_listing_dated.json76+
Minternal/vchan/testdata/yt_playlist.json168+
Minternal/vchan/testdata/yt_video.json54+
Minternal/vchan/testdata/yt_video_es.json72+
Minternal/vchan/vchan.go47+
Minternal/vchan/weather.go388+++
Minternal/vchan/weather_test.go35+
Minternal/vchan/youtube.go1004++++++++
Minternal/vchan/youtube_test.go639+++++
Minternal/vchan/ytcatalog.go568+++++
Minternal/vchan/ytchannels.go201++
Minternal/vchan/ytdlp.go247++
Minternal/vchan/ytfeed_test.go194++
Minternal/vchan/ytloudness.go68+
Minternal/vchan/ytplaylist.go410+++
Minternal/vchan/ytplaylist_test.go396+++
Minternal/vchan/ytplayout.go427+++
Minternal/vchan/ytplayout_test.go567+++++
Minternal/vchan/ytstatus.go118+
Minternal/weather/weather.go585+++++
Minternal/web/client.go53+
Mmain.go118+
Mscripts/deploy.sh37+
Mscripts/flatpak.sh100+
Mwails.json19+
Mwebkit_linux.go88+
Mzoom_other.go8+
M .gitignore +2 -0

Diff not shown: this commit changes too many lines.

M LICENSE +21 -0

Diff not shown: this commit changes too many lines.

M README.md +591 -0

Diff not shown: this commit changes too many lines.

M THIRD_PARTY_NOTICES.md +28 -0

Diff not shown: this commit changes too many lines.

M app.go +340 -0

Diff not shown: this commit changes too many lines.

M build/appicon.png +0 -0

Diff not shown: this commit changes too many lines.

M build/darwin/Info.plist +75 -0

Diff not shown: this commit changes too many lines.

M build/linux/flatpak/dev.airwaves.Airwaves.desktop +11 -0

Diff not shown: this commit changes too many lines.

M build/linux/flatpak/dev.airwaves.Airwaves.metainfo.xml +23 -0

Diff not shown: this commit changes too many lines.

M build/linux/flatpak/dev.airwaves.Airwaves.yml +64 -0

Diff not shown: this commit changes too many lines.

M build/linux/steam-art/art.css +78 -0

Diff not shown: this commit changes too many lines.

M build/linux/steam-art/art.js +94 -0

Diff not shown: this commit changes too many lines.

M build/linux/steam-art/capsule.html +31 -0

Diff not shown: this commit changes too many lines.

M build/linux/steam-art/capsule.png +0 -0

Diff not shown: this commit changes too many lines.

M build/linux/steam-art/header.html +34 -0

Diff not shown: this commit changes too many lines.

M build/linux/steam-art/header.png +0 -0

Diff not shown: this commit changes too many lines.

M build/linux/steam-art/hero.html +28 -0

Diff not shown: this commit changes too many lines.

M build/linux/steam-art/hero.png +0 -0

Diff not shown: this commit changes too many lines.

M build/linux/steam-art/icon.html +8 -0

Diff not shown: this commit changes too many lines.

M build/linux/steam-art/icon.png +0 -0

Diff not shown: this commit changes too many lines.

M build/linux/steam-art/install.sh +33 -0

Diff not shown: this commit changes too many lines.

M build/linux/steam-art/logo.html +27 -0

Diff not shown: this commit changes too many lines.

M build/linux/steam-art/logo.png +0 -0

Diff not shown: this commit changes too many lines.

M build/linux/steam-art/render.mjs +61 -0

Diff not shown: this commit changes too many lines.

M build/linux/steam-art/steamclient.py +124 -0

Diff not shown: this commit changes too many lines.

M cmd/airwavesd/main.go +394 -0

Diff not shown: this commit changes too many lines.

M cmd/airwavesd/main_test.go +73 -0

Diff not shown: this commit changes too many lines.

M cmd/otascan/main.go +190 -0

Diff not shown: this commit changes too many lines.

M deploy/Dockerfile +13 -0

Diff not shown: this commit changes too many lines.

M deploy/compose.dvb.yml +5 -0

Diff not shown: this commit changes too many lines.

M deploy/compose.yml +73 -0

Diff not shown: this commit changes too many lines.

M deploy/standalone/.env.example +66 -0

Diff not shown: this commit changes too many lines.

M deploy/standalone/Dockerfile +31 -0

Diff not shown: this commit changes too many lines.

M deploy/standalone/Dockerfile.dockerignore +6 -0

Diff not shown: this commit changes too many lines.

M deploy/standalone/compose.host.yml +16 -0

Diff not shown: this commit changes too many lines.

M deploy/standalone/compose.yml +70 -0

Diff not shown: this commit changes too many lines.

M deploy/up.sh +13 -0

Diff not shown: this commit changes too many lines.

M deploy/weatherstar/Dockerfile +10 -0

Diff not shown: this commit changes too many lines.

M deploy/weatherstar/airwaves-logo.png +0 -0

Diff not shown: this commit changes too many lines.

M docs/self-hosting.md +208 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/app.js +3753 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/fonts/OFL-BigShouldersDisplay.txt +93 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/fonts/OFL-IBMPlexMono.txt +93 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/fonts/OFL-SchibstedGrotesk.txt +93 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/fonts/big-shoulders-display-600.woff2 +0 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/fonts/big-shoulders-display-800.woff2 +0 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/fonts/ibm-plex-mono-400.woff2 +0 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/fonts/ibm-plex-mono-500.woff2 +0 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/fonts/schibsted-grotesk-400-italic.woff2 +0 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/fonts/schibsted-grotesk-400.woff2 +0 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/fonts/schibsted-grotesk-500.woff2 +0 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/fonts/schibsted-grotesk-700.woff2 +0 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/index.html +191 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/style.css +650 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/hls.js-LICENSE.txt +28 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/hls.min.js +4 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/License.txt +28 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/playstation5_button_create_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/playstation5_button_options_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/playstation_button_circle_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/playstation_button_cross_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/playstation_button_l3_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/playstation_button_r3_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/playstation_button_square_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/playstation_button_triangle_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/playstation_dpad_horizontal_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/playstation_dpad_none.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/playstation_dpad_vertical_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/playstation_trigger_l1_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/playstation_trigger_l2_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/playstation_trigger_r1_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/playstation_trigger_r2_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/steamdeck_button_a_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/steamdeck_button_b_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/steamdeck_button_l1_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/steamdeck_button_l2_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/steamdeck_button_options_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/steamdeck_button_r1_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/steamdeck_button_r2_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/steamdeck_button_view_outline.svg +7 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/steamdeck_button_x_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/steamdeck_button_y_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/steamdeck_dpad_horizontal_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/steamdeck_dpad_none.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/steamdeck_dpad_vertical_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/steamdeck_stick_l_press.svg +7 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/steamdeck_stick_r_press.svg +7 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/switch_button_a_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/switch_button_b_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/switch_button_l_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/switch_button_minus_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/switch_button_plus_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/switch_button_r_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/switch_button_x_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/switch_button_y_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/switch_button_zl_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/switch_button_zr_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/switch_dpad_horizontal_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/switch_dpad_none.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/switch_dpad_vertical_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/switch_stick_l_press.svg +7 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/switch_stick_r_press.svg +7 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/xbox_button_a_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/xbox_button_b_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/xbox_button_menu_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/xbox_button_view_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/xbox_button_x_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/xbox_button_y_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/xbox_dpad_horizontal_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/xbox_dpad_none.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/xbox_dpad_vertical_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/xbox_lb_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/xbox_ls_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/xbox_lt_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/xbox_rb_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/xbox_rs_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/kenney-prompts/xbox_rt_outline.svg +6 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/pretext/LICENSE +21 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/pretext/README +3 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/pretext/analysis.js +1341 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/pretext/bidi.js +194 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/pretext/generated/bidi-data.js +978 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/pretext/layout.js +368 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/pretext/line-break.js +712 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/pretext/line-text.js +45 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/pretext/measurement.js +207 -0

Diff not shown: this commit changes too many lines.

M frontend/dist/vendor/pretext/rich-inline.js +313 -0

Diff not shown: this commit changes too many lines.

M frontend/wailsjs/LICENSE +21 -0

Diff not shown: this commit changes too many lines.

M frontend/wailsjs/go/main/App.d.ts +54 -0

Diff not shown: this commit changes too many lines.

M frontend/wailsjs/go/main/App.js +95 -0

Diff not shown: this commit changes too many lines.

M frontend/wailsjs/go/models.ts +1389 -0

Diff not shown: this commit changes too many lines.

M frontend/wailsjs/runtime/package.json +24 -0

Diff not shown: this commit changes too many lines.

M frontend/wailsjs/runtime/runtime.d.ts +330 -0

Diff not shown: this commit changes too many lines.

M frontend/wailsjs/runtime/runtime.js +298 -0

Diff not shown: this commit changes too many lines.

M go.mod +51 -0

Diff not shown: this commit changes too many lines.

M go.sum +119 -0

Diff not shown: this commit changes too many lines.

M internal/admin/admin.go +1104 -0

Diff not shown: this commit changes too many lines.

M internal/admin/admin_test.go +720 -0

Diff not shown: this commit changes too many lines.

M internal/admin/backups.go +1102 -0

Diff not shown: this commit changes too many lines.

M internal/admin/backups_test.go +881 -0

Diff not shown: this commit changes too many lines.

M internal/admin/details_test.go +516 -0

Diff not shown: this commit changes too many lines.

M internal/admin/logos.go +381 -0

Diff not shown: this commit changes too many lines.

M internal/admin/mcp.go +1471 -0

Diff not shown: this commit changes too many lines.

M internal/admin/mcp_test.go +434 -0

Diff not shown: this commit changes too many lines.

M internal/admin/restore.go +685 -0

Diff not shown: this commit changes too many lines.

M internal/admin/testdata/ytdlp-channel.json +42 -0

Diff not shown: this commit changes too many lines.

M internal/admin/testdata/ytdlp-search.json +93 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/admin.css +690 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/admin.js +3613 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/fonts/OFL-BigShouldersDisplay.txt +93 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/fonts/OFL-IBMPlexMono.txt +93 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/fonts/OFL-SchibstedGrotesk.txt +93 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/fonts/big-shoulders-display-600.woff2 +0 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/fonts/big-shoulders-display-800.woff2 +0 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/fonts/ibm-plex-mono-400.woff2 +0 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/fonts/ibm-plex-mono-500.woff2 +0 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/fonts/schibsted-grotesk-400-italic.woff2 +0 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/fonts/schibsted-grotesk-400.woff2 +0 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/fonts/schibsted-grotesk-500.woff2 +0 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/index.html +47 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/vendor/mcp-b/LICENSE +21 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/vendor/mcp-b/global.iife.js +71 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/vendor/mcp-b/webmcp-local-relay/embed.js +2 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/vendor/mcp-b/webmcp-local-relay/widget.html +10 -0

Diff not shown: this commit changes too many lines.

M internal/admin/ui/webmcp.js +108 -0

Diff not shown: this commit changes too many lines.

M internal/admin/youtube.go +612 -0

Diff not shown: this commit changes too many lines.

M internal/admin/youtube_test.go +178 -0

Diff not shown: this commit changes too many lines.

M internal/api/api.go +312 -0

Diff not shown: this commit changes too many lines.

M internal/api/api_test.go +177 -0

Diff not shown: this commit changes too many lines.

M internal/api/auth_test.go +120 -0

Diff not shown: this commit changes too many lines.

M internal/api/client.go +198 -0

Diff not shown: this commit changes too many lines.

M internal/atsc3/rabbitears.go +172 -0

Diff not shown: this commit changes too many lines.

M internal/atsc3/rabbitears_test.go +37 -0

Diff not shown: this commit changes too many lines.

M internal/atsc3/testdata/denver.html +18 -0

Diff not shown: this commit changes too many lines.

M internal/cc/cea608.go +370 -0

Diff not shown: this commit changes too many lines.

M internal/cc/cea608_test.go +386 -0

Diff not shown: this commit changes too many lines.

M internal/cc/chunk.go +295 -0

Diff not shown: this commit changes too many lines.

M internal/cc/chunk_test.go +131 -0

Diff not shown: this commit changes too many lines.

M internal/cc/cue.go +301 -0

Diff not shown: this commit changes too many lines.

M internal/cc/cue_test.go +305 -0

Diff not shown: this commit changes too many lines.

M internal/cc/e2e_test.go +192 -0

Diff not shown: this commit changes too many lines.

M internal/cc/script.go +165 -0

Diff not shown: this commit changes too many lines.

M internal/cc/testdata/asr.json3 +41 -0

Diff not shown: this commit changes too many lines.

M internal/cc/ts.go +434 -0

Diff not shown: this commit changes too many lines.

M internal/cc/ts_test.go +348 -0

Diff not shown: this commit changes too many lines.

M internal/dvr/dvr.go +687 -0

Diff not shown: this commit changes too many lines.

M internal/dvr/dvr_test.go +277 -0

Diff not shown: this commit changes too many lines.

M internal/fcc/testdata/tvq.txt +5 -0

Diff not shown: this commit changes too many lines.

M internal/fcc/tvq.go +218 -0

Diff not shown: this commit changes too many lines.

M internal/fcc/tvq_test.go +85 -0

Diff not shown: this commit changes too many lines.

M internal/geo/geo.go +100 -0

Diff not shown: this commit changes too many lines.

M internal/guide/gracenote.go +313 -0

Diff not shown: this commit changes too many lines.

M internal/guide/gracenote_test.go +40 -0

Diff not shown: this commit changes too many lines.

M internal/hdhr/discover.go +178 -0

Diff not shown: this commit changes too many lines.

M internal/hdhr/hdhr.go +167 -0

Diff not shown: this commit changes too many lines.

M internal/hdhr/hdhr_test.go +141 -0

Diff not shown: this commit changes too many lines.

M internal/jellyfin/items.go +585 -0

Diff not shown: this commit changes too many lines.

M internal/jellyfin/jellyfin.go +350 -0

Diff not shown: this commit changes too many lines.

M internal/jellyfin/jellyfin_test.go +487 -0

Diff not shown: this commit changes too many lines.

M internal/jellyfin/jellyfintest/jellyfintest.go +475 -0

Diff not shown: this commit changes too many lines.

M internal/jellyfin/quickconnect.go +74 -0

Diff not shown: this commit changes too many lines.

M internal/lineup/lineup.go +405 -0

Diff not shown: this commit changes too many lines.

M internal/reception/reception.go +213 -0

Diff not shown: this commit changes too many lines.

M internal/reception/reception_test.go +85 -0

Diff not shown: this commit changes too many lines.

M internal/service/hdhr.go +283 -0

Diff not shown: this commit changes too many lines.

M internal/service/noantenna_test.go +201 -0

Diff not shown: this commit changes too many lines.

M internal/service/service.go +1143 -0

Diff not shown: this commit changes too many lines.

M internal/service/service_test.go +237 -0

Diff not shown: this commit changes too many lines.

M internal/store/cache.go +122 -0

Diff not shown: this commit changes too many lines.

M internal/store/settings.go +107 -0

Diff not shown: this commit changes too many lines.

M internal/stream/hls.go +516 -0

Diff not shown: this commit changes too many lines.

M internal/stream/hls_test.go +115 -0

Diff not shown: this commit changes too many lines.

M internal/stream/subtitles.go +227 -0

Diff not shown: this commit changes too many lines.

M internal/stream/subtitles_test.go +178 -0

Diff not shown: this commit changes too many lines.

M internal/terrain/terrain.go +139 -0

Diff not shown: this commit changes too many lines.

M internal/tuner/tuner.go +130 -0

Diff not shown: this commit changes too many lines.

M internal/tuner/tuner_test.go +15 -0

Diff not shown: this commit changes too many lines.

M internal/tuner/tvheadend.go +119 -0

Diff not shown: this commit changes too many lines.

M internal/tvh/setup.go +376 -0

Diff not shown: this commit changes too many lines.

M internal/tvh/tvh.go +272 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/captions.go +287 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/captions_test.go +610 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/details.go +308 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/details_test.go +203 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/folder.go +324 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/folder_test.go +363 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/jellyfin.go +470 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/jellyfin_test.go +528 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/library.go +185 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/loop.go +760 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/loudness.go +374 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/loudness_test.go +444 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/schedule.go +321 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/schedule_test.go +175 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/testdata/yt_feed.xml +167 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/testdata/yt_listing.json +87 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/testdata/yt_listing_dated.json +76 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/testdata/yt_playlist.json +168 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/testdata/yt_video.json +54 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/testdata/yt_video_es.json +72 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/vchan.go +47 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/weather.go +388 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/weather_test.go +35 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/youtube.go +1004 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/youtube_test.go +639 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/ytcatalog.go +568 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/ytchannels.go +201 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/ytdlp.go +247 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/ytfeed_test.go +194 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/ytloudness.go +68 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/ytplaylist.go +410 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/ytplaylist_test.go +396 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/ytplayout.go +427 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/ytplayout_test.go +567 -0

Diff not shown: this commit changes too many lines.

M internal/vchan/ytstatus.go +118 -0

Diff not shown: this commit changes too many lines.

M internal/weather/weather.go +585 -0

Diff not shown: this commit changes too many lines.

M internal/web/client.go +53 -0

Diff not shown: this commit changes too many lines.

M main.go +118 -0

Diff not shown: this commit changes too many lines.

M scripts/deploy.sh +37 -0

Diff not shown: this commit changes too many lines.

M scripts/flatpak.sh +100 -0

Diff not shown: this commit changes too many lines.

M wails.json +19 -0

Diff not shown: this commit changes too many lines.

M webkit_linux.go +88 -0

Diff not shown: this commit changes too many lines.

M zoom_other.go +8 -0

Diff not shown: this commit changes too many lines.