Jason Dove and GitHub
bcd2ea7db3
db optimizations around names and case-sensitivity ( #2749 )
...
* generate (case-insensitive) unique names for fields that should be unique
* move name case-insensitivity down to schema level
* update changelog
2026-01-02 09:25:23 -06:00
Jason Dove and GitHub
80f6e468eb
collect and print timings during jellyfin show library scans ( #2748 )
...
* collect and print timings during jellyfin show library scans
* update p99
2026-01-01 20:02:24 -06:00
Jason Dove and GitHub
474e647d6d
more jellyfin performance improvements ( #2747 )
...
* fix slow db and api logging so it also works in scanner project
* don't request people from jellyfin by default
2025-12-31 22:28:15 -06:00
Jason Dove and GitHub
14d2dd0c3a
optimize jellyfin database fields and indexes ( #2746 )
...
* optimize jellyfin database fields and indexes
* copy paste
2025-12-31 14:30:53 -06:00
Jason Dove and GitHub
6562d616fb
smart collection names must be case insensitive ( #2721 )
...
* smart collection names must be case insensitive
* use explicit ci collation for mysql
2025-12-13 18:32:02 -06:00
Jason Dove and GitHub
d8122edad6
fix duplicate smart collection names ( #2720 )
...
* fix duplicate smart collection names
* fix update error
2025-12-13 14:59:06 -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
1f31beab5b
fix plex other video library detection ( #2679 )
2025-11-30 08:35:04 -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
d88e721d2f
optimize database calls related to search index ( #2645 )
2025-11-13 13:27:37 -06:00
Jason Dove and GitHub
8b18f2a304
expose arbitrary epg data to graphics engine ( #2633 )
2025-11-11 12:41:45 -06:00
Jason Dove and GitHub
d0505cd5c5
add better check for interlaced content ( #2620 )
2025-11-10 06:39:04 -06:00
Jason Dove and GitHub
9d2cff53c5
fix removing tags from local libraries ( #2616 )
2025-11-09 13:30:37 -06:00
Joe Kirchoff and GitHub
c3c7ff2669
Update audio codec in default FFmpeg profile name ( #2608 )
...
Quick fix for mismatch against profile audio codec setting.
2025-11-07 05:27:09 -06:00
Jason Dove and GitHub
f79fa9a50a
fix subtitle title updates ( #2604 )
2025-11-06 06:03:32 -06:00
Jason Dove and GitHub
b24617fe7c
add some graphics engine template data fields ( #2586 )
...
* move resolution out of media item template data key
* add some media item template data
2025-11-01 08:29:56 -05:00
Jason Dove and GitHub
e590298b93
add deep scans for external collections ( #2562 )
2025-10-23 19:32:38 -05:00
Jason Dove and GitHub
48e7c85f7b
api changes to support etvcli ( #2519 )
2025-10-12 10:13:30 -05:00
Jason Dove and GitHub
e3d07050bf
graphics element template data improvements ( #2511 )
...
* add other video template data
* add path and related functions
2025-10-10 13:47:18 -05:00
Jason Dove and GitHub
598de5d5d6
add playout build status ( #2476 )
...
* add playout build status
* show build status in playout list
* update changelog
2025-10-01 21:40:39 -05:00
Jason Dove and GitHub
ddc1120904
fix maintaining embedded text subtitles from media server ( #2453 )
...
* properly reset extracted flag on subtitles
* optimize subtitle updates; extract after targeted deep scan
* fix extracted text subtitle playback from media servers
2025-09-21 13:54:08 +00:00
Jason Dove and GitHub
788a1ecdc4
add deco break content ( #2446 )
...
* add initial models
* migrations
* edit break content mode
* add and remove break content from ui
* use autocompletes in deco editor
* save break content to db
* allow break content playlists
* refactor default filler build
* fix slow startup
* start to implement adding break content
* use clone; try to fix block breaks
* fix updating history
* use consistent removebefore values
* cleanup logging
* only allow playlist break content
* update changelog
2025-09-19 18:48:51 +00:00
Jason Dove and GitHub
9aa7c44388
add watermarks and graphics elements to block items ( #2424 )
2025-09-16 02:39:25 +00:00
Jason Dove and GitHub
245165c9d9
add rerun collection type ( #2421 )
...
* rename collection type
* split collections into separate pages
* add rerun collection types, migration, editor
* add rerun to classic schedule items
* rerun plumbing in classic playout builder
* start to implement rerun enumerator
* add scheduledAt to enumerator movenext
* maintain rerun history in db
* fix shuffle
* fix rerun allowed playback orders
* fix updating rerun collections
* update changelog; fix editing
* update changelog
2025-09-15 18:27:55 +00:00
Jason Dove and GitHub
5379a893f7
generate fake epg data for graphics elements when troubleshooting ( #2415 )
2025-09-14 03:01:16 +00:00
Jason Dove and GitHub
bc721755f5
add graphics elements to decos ( #2413 )
...
* add deco graphics elements, selector and tests
* add migrations
* edit deco graphics elements from ui
* update changelog
2025-09-13 15:02:48 +00:00
Jason Dove and GitHub
07a55da76e
process graphics element yaml files with scriban ( #2410 )
...
* add content rating to media item template
* process graphics element yaml files with scriban
2025-09-13 03:04:46 +00:00
87bc779d48
Show fillers in the playout view in alternative shading ( #2405 )
...
* Add shading to filler rows in the playout view
* Insert rows in Playout listing for gaps in the playout (station offline)
* Make FillerKind in PlayoutItemViewModel optional.
Remove Unscheduled enum in FillerKind.
* Correctly handle "Show Filler" also for Unscheduled fillers.
* Moved the Unscheduled item generation for the playout view to GetFuturePlayoutItemsByIdHandle to handle ShowFiller
* Includes for the PlayoutItemDetails moved to an extension for maintainability.
* Bugfix: Page size was more than the desired for pagination because of the inserted unscheduled items.
* Add specified colours for playout fillers to make them less intense.
* use common queryable
* add playout gap model and migrations
* insert playout gaps after playout build
* optimize get future playout items handler
* update changelog
---------
Co-authored-by: Jason Dove <1695733+jasongdove@users.noreply.github.com >
2025-09-13 00:30:34 +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
d80c6737a9
fix mysql permissions ( #2388 )
2025-09-07 13:21:48 +00:00
Jason Dove and GitHub
40ab7c2cff
add graphics elements on classic schedule items ( #2380 )
2025-09-05 11:53:29 +00:00
Jason Dove and GitHub
9462156148
fix mysql playout builds ( #2352 )
...
* more cancellation tokens and fixes
* so much cancellation token
* fix mysql playout builds
2025-08-27 18:09:56 +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
5d081ceeff
fix editorconfig and run code cleanup ( #2324 )
...
* fix formatting rules
* reformat ersatztv
* reformat ersatztv.application
* reformat ersatztv.core
* refactor ersatztv.core.tests
* reformat ersatztv.ffmpeg
* reformat ersatztv.ffmpeg.tests
* reformat ersatztv.infrastructure
* cleanup infra mysql
* cleanup infra sqlite
* cleanup infra tests
* cleanup ersatztv.scanner
* cleanup ersatztv.scanner.tests
* sln cleanup
* update dependencies
2025-08-16 14:44:48 +00:00
d0af507bef
add ability to deep scan just a single tv show for Plex, Emby, and Jellyfin ( #2318 )
...
* add ability to deep scan just a single tv show for Plex, Emby, and Jellyfin
Including "/api/libraries/{id:int}/scan-show" REST API endpoint to
trigger.
* restrict plex search results to the intended library
* restrict scanning to media server libraries that are marked to sync with etv
* fix previous commit
* also guard library scan api
* add scan buttons to show ui
* scan single plex show by id
* scan jellyfin and emby single shows by id
* update changelog
---------
Co-authored-by: Jeff Slutter <MrMustard@gmail.com >
Co-authored-by: Jason Dove <1695733+jasongdove@users.noreply.github.com >
2025-08-14 16:07:56 +00:00
f626954eb7
add external chapter file scanning ( #2317 )
...
* add external chapter file scanning
Support Matroska chapter xml files next to media file with extension .xml or .chapters
* only update chapters in db
---------
Co-authored-by: Jeff Slutter <MrMustard@gmail.com >
Co-authored-by: Jason Dove <1695733+jasongdove@users.noreply.github.com >
2025-08-14 03:34:47 +00:00
Jason Dove and GitHub
62e140ec98
block scheduling ui cleanup ( #2316 )
...
* sort block tree views
* fix naming validation for block scheduling
* show deco group name in deco editor
* show block group name in block editor
* show template group name in template editor
* show deco template group name in deco template editor
* fix template rename crash
* fix block rename crash
* fix deco template rename crash
2025-08-14 01:37:21 +00:00
Jason Dove and GitHub
f31a48c429
fix episodes from multiple plex servers ( #2314 )
2025-08-13 20:56:27 +00:00
Jason Dove and GitHub
8cc0d30c0e
add some template helper functions for text elements ( #2312 )
2025-08-13 18:50:04 +00:00
Jason Dove and GitHub
2cb0d12701
load a configurable number of epg entries for text graphics ( #2305 )
...
* wip
* load a configurable number of epg entries for text graphics
* cleanup
2025-08-12 21:00:55 +00:00
Jason Dove and GitHub
44ec0f8a0f
add more template data to text graphics element ( #2304 )
2025-08-12 14:33:52 +00:00
Jason Dove and GitHub
771bfba01c
fix overlapping block playout items ( #2302 )
...
* check for overlapping playout items
* tweak block filler builder
* fix overlapping block playout items
* update changelog
* minor cleanup
2025-08-12 11:14:24 +00:00
Jason Dove and GitHub
908125f8a9
allow selecting multiple watermarks on decos ( #2287 )
...
* load fonts on demand
* add new table
* populate new table
* edit and use multiple watermarks in deco
* remove old field
* update changelog
2025-08-09 17:00:12 +00:00
Jason Dove and GitHub
942cf9e225
allow selecting multiple watermarks on schedule items ( #2286 )
...
* add and populate new table
* add watermark multiselect
* remove old column
* update changelog
* fix tests
2025-08-09 13:53:37 +00:00
Jason Dove and GitHub
075f3fcac7
pass music video variables to text element ( #2285 )
...
* pass music video variables to text element
* remove unused file
2025-08-09 01:29:20 +00:00
Jason Dove and GitHub
2dc5bf58a7
add graphics_on and graphics_off yaml playout instructions ( #2283 )
2025-08-08 20:22:07 +00:00
Jason Dove and GitHub
76a589b538
add text graphics element to playback troubleshooting ( #2282 )
...
* refactor graphics engine; async frame generation
* add text graphics element to playback troubleshooting
2025-08-08 19:18:15 +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
5a5c049835
support multiple watermarks in yaml schedules ( #2267 )
...
* add multiple watermarks per playout item
* fixes
* update yaml playout watermark to support multiple watermarks
* use graphics engine for intermittent watermarks
2025-08-06 21:22:20 +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