Commit Graph

33 Commits

Author SHA1 Message Date
Ashik K fdd1cdc15b Implement Electronic Program Guide (EPG) for Live TV
Features:
- Full EPG grid with channels and time slots
- 12-hour program window with auto-refresh every 5 minutes
- Duration-based cell widths (3px/min)
- Live program highlighting with progress bars
- Current time indicator (red line)
- Direct channel playback from guide
- Auto-scroll to currently airing programs

Changes:
- Add EPGViewModel for data fetching and state management
- Add EPGProgramCell, EPGChannelRow, EPGTimelineHeader, EPGCurrentTimeIndicator components
- Update ProgramGuideView with complete EPG implementation
- Make Channels default Live TV tab (was Program Guide)
- Fix channel images in EPG to match Channels view display
- Fix Live TV playback crash (audioStreams array bounds check)
- Apply dark pink background throughout app

Slash Commands:
- Add /init-dev - Initialize dev session with project context
- Add /sim - Build and launch in Apple TV simulator

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 19:23:53 +02:00
Joe Kribs 0025422634
[iOS & tvOS] Upgrade SDK to 10.10 (#1463)
* Buildable!

* Update file names.

* Default sort to sort name NOT name.

* SessionInfoDto vs SessionInfo

* Targetting

* Fix many invalid `ItemSortBy` existing. Will need to revisit later to see which can still be used!

* ExtraTypes Patch.

* Move from Binding to OnChange. Tested and Working.

* Update README.md

Update README to use 10.10.6. Bumped up from 10.8.13

* Update to Main on https://github.com/jellyfin/jellyfin-sdk-swift.git

* Now using https://github.com/jellyfin/jellyfin-sdk-swift.git again!

* Paths.getUserViews() userId moved to parameters

* Fix ViewModels where -Dto suffixes were removed by https://github.com/jellyfin/Swiftfin/pull/1465 auto-merge.

* SupportedCaseIterable

* tvOS supportedCases fixes for build issue.

* cleanup

* update API to 0.5.1 and correct VideoRangeTypes.

* Remove deviceProfile.responseProfiles = videoPlayer.responseProfiles

* Second to last adjustment:
Resolved: // TODO: 10.10 - Filter to only valid SortBy's for each BaseItemKind.
Last outstanding item: // TODO: 10.10 - What should authenticationProviderID & passwordResetProviderID be?

* Trailers itemID must precede userID

* Force User Policy to exist.

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2025-04-06 23:42:47 -04:00
Ethan Pippin 4a63b52b17
Stateful - Set cleanup and `final` classes (#1465)
* cleanup

* Update Stateful.swift
2025-03-29 23:05:14 -06:00
Joe Kribs e901317317
[iOS] Fix External Subtitle Selection (#1445)
* | Type          | Internal Subtitles | Internal Audio | External Subtitles | External Audio |
|---------------|-----------------|--------------------|----------------|----------------|
| Transcode     |               |                  |              |              |
| DirectPlay     |               |                  |              | *             |

* WIP - GetMasterHlsVideoPlaylistParameters

* WIP

* Cleanup unused code.

* Cleanup comments.

* Remove changes to GetMasterHlsVideoPlaylistParameters

* Change to use Max instead of a magic number.

* Update MediaStream.swift

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>

* Update MediaStream.swift

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>

* Update MediaStream.swift

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>

* Update MediaStream.swift

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>

* New and Improved.

* Ensure we are using the right audio track.

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2025-03-14 13:40:18 -04:00
Joe Kribs adec8de122
[Meta] 2025 Disclaimer (#1381) 2025-01-02 16:05:15 -07:00
Ethan Pippin 74b8b286c7
User/Server Sign In Redesign (#1045) 2024-05-14 23:42:41 -06:00
Ethan Pippin ec9bfaa2fe
Live TV Updates (#1022) 2024-04-16 23:10:44 -06:00
Julian Hays 4ac0547be8
Fixing Live TV since the refactor (#806) 2024-04-14 22:29:46 -06:00
Ethan Pippin e28805a5cf
fix (#990) 2024-03-12 07:52:21 -06:00
Ethan Pippin a645444f25
Refactor `PosterButton` and libraries, good `UICollectionView`s, proper orientation handling, and more (#905) 2024-03-11 08:09:30 -06:00
holow29 e2d6237a23
Revamp Device Profile Builder (#519) 2024-01-13 15:42:06 -07:00
Ethan Pippin b038f05848
Update 2024 headers (#951)
* update header

* the rest after upgrading
2024-01-13 15:13:44 -07:00
Ethan Pippin a08a92e98a
New Year, New Video Player + Other Goodies (#593) 2023-04-20 09:33:51 -06:00
Ethan Pippin d77f59d048 remove hls stream 2022-01-08 18:06:03 -07:00
Ethan Pippin 158edb3b5f support external subtitles 2022-01-07 15:37:19 -07:00
Ethan Pippin 6a7c4c0a5b resume offset and live tv moved to experimental 2022-01-05 13:38:15 -07:00
Ethan Pippin 00aaa246fd begin work on embedded subtitles 2022-01-04 19:07:18 -07:00
Ethan Pippin 25b4e382f2 confirm close tfor tvos 2022-01-03 23:37:48 -07:00
Ethan Pippin 2d7cad8cec lots of final tvos work 2022-01-03 22:55:39 -07:00
Ethan Pippin 7ab85e453d experimental flag for sync subtitles with adjacent items 2022-01-03 19:15:14 -07:00
Ethan Pippin 4f3f6d4c08 more iOS settings and fix appearance setting 2022-01-03 19:00:02 -07:00
Ethan Pippin 3eb92cd325 cinematic views for tvOS and more final work 2022-01-03 18:38:50 -07:00
Ethan Pippin a9d37033e6 auto play on tvOS 2022-01-02 21:48:18 -07:00
Ethan Pippin 5b451ceaaa begin final work 2022-01-02 21:20:20 -07:00
Ethan Pippin 678fdd03bf add autoplay setting 2021-12-30 14:25:52 -07:00
Ethan Pippin d5e225dce1 remove VLC screen filled 2021-12-30 13:54:24 -07:00
Ethan Pippin 01e52e59b7 add stop/pause for backgrounding and terminating 2021-12-30 02:22:36 -07:00
Ethan Pippin 4219ecc8dc persist subtitle state across items 2021-12-30 00:54:21 -07:00
Ethan Pippin bc542dad8d begin matching subtitle and audio streams among adjacent items 2021-12-29 15:25:50 -07:00
Ethan Pippin fe0c8ee03b initial previous and next item feature 2021-12-29 12:33:43 -07:00
Ethan Pippin 99445e387c Right progress ticks for VLCPlayer 2021-12-28 16:45:45 -07:00
Ethan Pippin a566415ee1 Fixes and port over 2 2021-12-28 14:23:35 -07:00
Ethan Pippin 59465a3c4a Initial implementation over 2021-12-28 07:21:44 -07:00