timothy and Claude Fable 5
9ecefd75f3
feat(api): add JSON channel guide endpoint ( #102 )
...
Add GET /api/guide returning a per-channel EPG grid (ChannelGuideResponseModel).
start defaults to now, end defaults to now + XmltvDaysToBuild.
Extract the guide-group/filler-merge projection (ChannelGuideProjector) and
programme-metadata resolution (ChannelGuideMetadata) plus the metadata eager-load
(IncludeGuideMetadata) out of RefreshChannelDataHandler so the XMLTV cache builder
and the JSON guide share one source of truth and cannot drift. XMLTV output is
unchanged (ChannelGuideGoldenTests pass without regeneration).
The JSON handler mirrors XMLTV semantics: ShowInEpg-only channels, decimal channel
ordering, ExternalJson playouts skipped, mirror playout offset applied to copies
(never mutating the loaded entities). SubTitle/Category are nullable.
refs #102
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-04 00:54:58 +02:00
Jason Dove and GitHub
36f44f14bb
fix other video artwork in xmltv ( #2777 )
2026-01-15 22:42:16 -06:00
Jason Dove and GitHub
6bd49ffcec
add remote stream metadata ( #2690 )
...
* add remote stream metadata
* use ifilesystem for last write time
* clean up unused inheritance
* optimize channel data query
* revert removeartwork change
* properly handle remote stream artwork in orphaned artwork check
2025-12-01 12:48:03 -06:00
Jason Dove and GitHub
ec0d8ea6ac
work around sequential schedule validation limit ( #2655 )
...
* remove readalltext
* remove unused method
* remove fileexists
* remove folderexists
* remove readalllines
* remove fake local file system
* show playlist name in playout build errors
* add basic sequential schedule validator tests
* work around sequential schedule validation limit
2025-11-24 12:08:43 -06:00
Jason Dove and GitHub
1e0bba0dc6
allow custom song background images ( #2632 )
...
* allow custom song background images
* allow custom missing album art
2025-11-11 10:40:45 -06:00
Jason Dove and GitHub
d4353f6d42
add episode thumbnail to xmltv template ( #2550 )
2025-10-19 12:13:40 -05:00
Jason Dove and GitHub
9016523757
cleanup some exceptions; add health check ( #2495 )
...
* handle artwork timeouts so they aren't reported
* catch some more cancellation errors
* add free space validation on startup
* add downgrade health check
* update dependencies
2025-10-07 09:50:55 -05:00
Jason Dove and GitHub
e96ac0202b
add mirror playout offset ( #2391 )
2025-09-07 16:45:41 +00:00
Jason Dove and GitHub
5e7da19e5e
add channel mirror ( #2390 )
...
* add channel playout source (doesn't do anything yet)
* configure mirror channel
* fix mirror playback
* sync epg for mirror channel
* update changelog
2025-09-07 16:00:27 +00:00
Jason Dove and GitHub
1c07df5bc3
use cancellation tokens in many places ( #2350 )
...
* use cancellation tokens everywhere
* more cancellation tokens
2025-08-27 03:20:35 +00:00
Jason Dove and GitHub
53f281ce32
add xmltv block behavior setting ( #2336 )
...
* replace playout externaljsonfile and templatefile with schedulefile
* add scripted schedule-based playout
* wip - not functional yet
* temp disable scripted playout creation
* allow fast-forwarding block playouts
* add xmltv block behavior setting
2025-08-23 20:16:12 +00:00
Jason Dove and GitHub
e06ee54070
rename yaml playout to sequential schedule ( #2335 )
...
* clarify some schedule and playout terms
* more renaming
2025-08-23 14:27:32 +00:00
Jason Dove and GitHub
c7fcaf8886
refactor playout building ( #2273 )
...
* refactor playout building
* remove playout items
2025-08-07 15:20:26 +00:00
Jason Dove and GitHub
b40ac9ef52
replace channel active mode with is enabled and show in epg ( #2256 )
...
* add channel enabled setting
* remove channel active mode
2025-08-04 21:24:26 +00:00
Jason Dove and GitHub
e0cef62969
fix block playout epg time zone ( #2166 )
2025-07-18 17:14:11 +00:00
Jason Dove and GitHub
7e30444857
dependencies and code cleanup ( #2117 )
...
* fix validation in new form layout
* pin mediatr to last oss version
* update dependencies
* cleanup code in core
* cleanup code in ffmpeg
* cleanup code in infra
* cleanup code in scanner
* cleanup code in application
* cleanup main code
* cleanup test code
* solution-wide code cleanup
2025-07-06 15:56:17 +00:00
Jason Dove and GitHub
583cbf7b14
add channel active mode ( #2083 )
2025-06-27 21:19:26 +00:00
Jason Dove and GitHub
7cfa298c72
fix xmltv grouping with post-roll filler ( #2046 )
2025-06-20 14:53:04 +00:00
Jason Dove and GitHub
c063720169
use new channel identifiers in M3U and XMLTV to disambiguate in Plex ( #1920 )
2024-10-16 09:37:33 -05:00
Jason Dove and GitHub
e7817b1460
fix deco default filler hardware acceleration ( #1916 )
...
* fix hw accel for deco default filler
* use custom filler kind for deco default filler
2024-10-11 14:33:30 -05:00
Jason Dove and GitHub
f06ef5262a
add new_epg_group instruction; add filler_kind propery ( #1819 )
2024-07-27 08:38:00 -05:00
Jason Dove and GitHub
a87ec2d75d
cleanup ( #1708 )
...
* fix blazor naming
* code cleanup
* update dependencies
2024-05-06 17:00:52 -05:00
Jason Dove and GitHub
48a504735c
fix xmltv generation when no block items are selected for guide ( #1702 )
2024-05-03 09:18:06 -05:00
Jason Dove and GitHub
af5dc0968b
add xmltv days to build setting ( #1678 )
2024-04-12 09:44:08 -05:00
Jason Dove and GitHub
087901d177
adjust block unique constraint ( #1634 )
...
* upgrade dependencies
* allow blocks with same name in different groups
* code cleanup
2024-03-05 10:39:06 -06:00
Jason Dove and GitHub
3b4c993530
add xmltv time zone option ( #1624 )
2024-02-21 12:46:09 -06:00
Jason Dove and GitHub
c490832f66
fix episode artwork in channel guide ( #1613 )
2024-02-14 20:21:46 -06:00
Jason Dove and GitHub
e00568cc23
fix build error ( #1612 )
2024-02-13 10:51:17 -06:00
Jason Dove and GitHub
d55ba235bf
evenly divide epg time for schedule blocks ( #1607 )
...
* add checkbox to include block items in program guide
* evenly divide epg time for schedule blocks
2024-02-10 20:59:29 -06:00
Jason Dove and GitHub
a15854d0ad
more guide templates; new song metadata library ( #1603 )
...
* refactor template processing
* use template for song xmltv entries
* use template for other video xmltv entries
* update changelog
2024-02-09 11:27:44 -06:00
Jason Dove and GitHub
49050a57d2
load music video artists for channel guide template ( #1600 )
2024-02-06 10:46:34 -06:00
Jason Dove and GitHub
1510c56e69
generate music video xmltv fragment from template ( #1598 )
...
* generate music video xmltv fragment from template
* load all music video data
2024-02-05 19:56:19 -06:00
Jason Dove and GitHub
3ec610d65f
properly encode xmltv fragments ( #1597 )
2024-02-05 18:15:38 -06:00
Jason Dove and GitHub
69f9b6f137
add channel guide templates ( #1596 )
...
* generate channels xmltv fragment from template
* generate movie xmltv fragment from template
* generate episode xmltv fragment from template
* add channel guide template changelog
2024-02-05 14:55:08 -06:00
Jason Dove and GitHub
46c26b5ea7
include all block playout items in xmltv ( #1580 )
...
* include all block playout items in xmltv
* double check whether channel preview will work
2024-01-30 06:44:19 -06:00
Jason Dove and GitHub
64502315a3
generate xmltv for external json playouts ( #1541 )
2024-01-08 20:54:40 -06:00
Jason Dove and GitHub
9471cb55dd
upgrade from dotnet 7 to dotnet 8 ( #1529 )
...
* upgrade sdk
* fix warnings in ersatztv.ffmpeg
* fix warnings in ersatztv.core
* fix warnings in ersatztv.infrastructure
* fix warnings in ersatztv.application
* disable analysis for migrations projects
* fix warnings in ersatztv.scanner
* fix warnings in ersatztv
* upgrade project framework
* update github actions and dockerfiles
2023-12-30 13:29:57 -06:00
Jason Dove and GitHub
245c4ec359
code analysis and cleanup ( #1411 )
...
* cleanup scanner project
* cleanup infrastructure projects
* cleanup ffmpeg project
* cleanup core project
* cleanup app project
* cleanup main project
* update dependencies
* code cleanup
2023-09-03 06:23:42 -05:00
Jason Dove and GitHub
03df2a6c8a
overdue code cleanup ( #1271 )
2023-05-10 13:18:18 -05:00
Jason Dove and GitHub
9f42333465
cache data for xmltv ( #1228 )
...
* cache channel list for xmltv
* used cached channel data for xmltv
* fixes
* update changelog
2023-04-03 23:09:54 -05:00