Commit Graph

258 Commits

Author SHA1 Message Date
Joe 2bda693143
Generic Button to Input from an Alert (#1273)
* Creation of an Alert Input Button based on the Chevron Button.

* Only one button required for both iOS and tvOS

* wip

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-10-15 00:42:42 -06:00
Joe 1405d2695c
Add 'Enable Rewatching' and ' Max days' to Next Up (#1258)
* Rebasing https://github.com/jellyfin/Swiftfin/pull/1212 on Main. Also, less baggage and random crap.

* Change 0 to Disabled. Better mirror iOS and tvOS Alerts for MaxNextUpDays.

* Review Changes:

Don't use the property wrappers in non-view contexts. While they technically can still work, use the subscript instead at the usage sites.
Use the dayInterval(0 ... 1000) format instead, then we don't need maxNextUpDays.

* Remove unused strings, and unused variables

* Add a tvOS TODO to double check the Done/Number button on the alert.
2024-10-07 15:02:18 -06:00
Joe bc9eacab57
[iOS] Admin Dashboard (#1230) 2024-10-04 21:15:12 -06:00
Meng-Huan Yu 9dea386a8f
Fix the subtitle stream index calculation for multiple subtitles (#1219) 2024-09-05 13:46:27 -06:00
Joe f5bd1b8fcd
Customizable Device Profiles (#1169)
* Rename ExperimentalSettingsView.swift to PlaybackQualitySettingsView.swift

Fix Merge

* Rename MaximumBitrateSettingsView.swift to PlaybackQualitySettingsView.swift

fix merge

* Re-implement on Main. Should now have all the Main changed. Added a new change to use the Device Profile as a Transcoding Profile.

* Part 1 -> Making VideoPlayerType into a struct (I Hope) correctly

* Part 1.1 -> Making VideoPlayerType into a struct (I Hope) correctly

* Remove unneeded Files

* Missing file + CustomDeviceProfileSelection -> CustomDeviceProfileAction Rename

* Change + to Appending

* Attempt to add StorageValues+User. Not sure if this is correct?

* Move the Array unwrapping to funcitons. Not required but this should help prevent accidently doing this wrong. Add subtitles back into the custom profiles since that somehow got dropped. Added a PlaybackCompatibility enum. This might need to work for more than just video

* Complete rewrite to allow multiple profiles, compatibility mode, and directplay.

* Hardward -> Hardware

* Update CustomDeviceProfileSettingsView.swift

Double Licensing

* It was actually really easy to implement iOS... Trash cans still look weird and small.

* Swipe to Delete instead of the edit button

* wip

* wip

* Linting

* tvOS Implementation

* wip

* wip

* cleanup

* Create Package.resolved

---------

Co-authored-by: Joseph Kribs <joseph@kribs.net>
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-09-02 15:33:02 -06:00
Ethan Pippin d85ffb4156
Fix iOS 15 Poster Buttons (#1172) 2024-08-08 10:01:23 -06:00
Joe 56bd62db80
App-Wide Bitrate Limit (#1147)
* Creation of bitrate selections that mirror Jellyfin-Web. The goal is to eventually allow for these same selections to be available for usage in the Player itself to set the max bitrate per playback session. This App-Wide setting is for things like preserving data (Mobile) or for areas that have perpetually have low bandwidth (AppleTV). These settings currently default to 'Auto' which is the current limit of 360,000,000 bps / 360 mpbs. I have added a spot in BaseItemDTO+VideoPlayerViewModel to get the smaller amount between 360 Mpbs and the App Maximum Setting. This exists so I can go back and update this to get the Minumum between the Player Session max bitrate and the App Setting max bitrate.

Test on iPhone 10S, AppleTV 3rd Gen, and the iPhone 15 Pro via enumulator.

* Fix Bitrate naming (360p vs 480p) and remove the setting nested in a second section.

* Creation of a Maximum setting with 360mbps and an auto that gets the bitrate at playback.

* Remove comments for code where I want to eventually put it for better clarify

* Linting fixes

* Change the Playback Bitrate to an Int from a String since the Bitrate is valuable but the string isn't. Run the SwiftFormat on the maxBitrate function.

* Migrate the settings to their own menu with both the bitrate and the optional test size when auto is used.

* Creation of an enum filterValues function for Bitrate. This way, the selection on the Player Overlay (eventually) can be filtered to only include bitrates that are less than or equal to the App Setting for Maximum Bitrate. This should help prevent confusion / remove bandwidth conflicts.

The eventual Player Overlay setting should never conflict with the App-Wide Setting and should only offer options that are less than the App-Wide Setting.

* Change the videoPlayerViewModel to take parameters instead of defaults. Move the defaults up one level to be called there. Split the bitrate test from the getMaxBitrate to better guard against dividing against 0 and also split out the logic to be easier to read.

Change the PlaybackBitrate filter to always include Auto and, when auto, include ALL bitrates. This filter is not currently used.

* Remove the PlaybackBitrate FilterValues since this is not needed and will be created ad-hoc.

* Update the bitrateTestDuration verbage to better reflect that you're changing the size of the bitrate test and not just increasing the duration. Re-use the existing largest to smallest labels since there isn't a ton of benefit using "Longest to Shortest" so this should re-use existing localization. Comment the Labels.

No functional changes. Only an update to labels.

* Delete the Bitrate.json file but retain the Resources folder.

* Remove Resource Folder.

---------

Co-authored-by: Joe Kribs <joseph@kribs.net>
2024-07-23 06:18:28 -05:00
Daniel Chick 29b917ead0
Migrate to the latest version of Factory (#1097) 2024-07-01 19:58:59 -06:00
Ethan Pippin da0a6436c1
iOS 18 ScrollView Introspect (#1135) 2024-06-30 16:04:57 +09:00
Ethan Pippin 1b32eb0675
Fix Collection Portrait Image (#1133) 2024-06-28 15:21:39 -06:00
Ethan Pippin fd4052ed53
Cleanup (#1075) 2024-05-28 10:59:18 +09:00
Ethan Pippin b2a31dbc3a
User Profile Image Selection (#1061) 2024-05-22 13:45:48 +09:00
Ethan Pippin 74b8b286c7
User/Server Sign In Redesign (#1045) 2024-05-14 23:42:41 -06:00
Ethan Pippin 384e80805e
Poster Display and Button Refactor (#1038) 2024-04-23 11:22:07 -06:00
alasclar 272799d9c5
Use http by default on ConnectToServerView (#971) 2024-04-17 10:42:10 -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 2387197021
Clean Up Item Scroll Views (#1015) 2024-04-10 07:31:10 -06:00
Ethan Pippin fd1a87cb02
Item Views to `Stateful` (#997) 2024-04-01 00:48:41 -06:00
Ethan Pippin a9a6820982
Fix LiveTV Navigation, fix Media Views, remove CollectionView from iOS (#995) 2024-03-15 09:51:22 -06:00
Ethan Pippin 1bd18ef8b0
Fix iOS Chapter Overlay (#992) 2024-03-13 23:08:43 -06:00
Ethan Pippin 3efe899250
Fix Current Key Commands (#991) 2024-03-12 20:26:26 -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 9266d53ae0
Remove iOS `PosterButtonType` + cleanup (#883) 2023-10-31 23:52:06 -06:00
Eric Park 5a407410fb
Fix duplicated filters by assigning id to each (#899) 2023-10-31 22:23:25 -06:00
Ethan Pippin 744029495a
Basic Algorithm Cleanup (#897) 2023-10-31 22:11:23 -06:00
Brendan Perry a49b0edc68
Prioritize backdrop image for cinematic background (#893)
Co-authored-by: Brendan Perry <=>
2023-10-30 22:22:55 -06:00
Daniel Chick 46563c74ae
Don't build non-existent image URLs (#894) 2023-10-30 13:39:44 -06:00
Sylvain CECCHETTO 667d48b0e9
Handle app phases (auto pause/play on enter background/active phase) (#831)
There's some leftover stuff like adding the `scenePhase` environment variable but I'll get that sometime.
2023-10-10 20:54:47 -06:00
Ethan Pippin 179a50d74c
Update Dependencies (#833) 2023-09-01 14:28:37 -06:00
Ethan Pippin ddbe77e348
Cleanup and `ItemView.AboutView` Cards (#788) 2023-06-12 22:24:58 -06:00
holow29 37911723a3
Fix transcodingURL (#760) 2023-05-06 22:41:47 -06:00
Ethan Pippin a08a92e98a
New Year, New Video Player + Other Goodies (#593) 2023-04-20 09:33:51 -06:00
Sulabh Bista 06044e8fb5
Adds "use fmp4" experimental option (#623) 2022-11-03 13:17:47 -06:00
Ethan Pippin 3ffb67a400
Implement Factory (#587) 2022-09-15 11:32:47 -06:00
Ethan Pippin 20e0789ce2
Generic Libraries (#583) 2022-09-14 06:41:06 -06:00
Ethan Pippin 5299f5a9ce
Various Things (#581) 2022-09-12 23:02:06 -06:00
Ethan Pippin 3c81c7532f
tvOS - Refactor Cinematic Item Selector (#564) 2022-09-09 19:11:09 -06:00
Ethan Pippin 79476328fe
Some work (#552) 2022-09-03 10:20:12 -06:00
Ethan Pippin f92edb83fb
iOS/iPadOS - Refactor Filter Selection (#548) 2022-09-01 23:29:52 -06:00
Ethan Pippin 2a8685a420
ignore object replacement character (#550) 2022-09-01 22:55:13 -06:00
Ethan Pippin ce38efb3ec
Proper Library Handling (#543) 2022-08-29 20:29:24 -06:00
Ethan Pippin d078d71393
Transition Media View (#541) 2022-08-28 22:06:56 -06:00
Ethan Pippin 98a5507b52
Refactor Search and implement in tvOS (#539) 2022-08-27 21:30:17 -06:00
Ethan Pippin 5d0f933a2c
iOS/iPadOS - Transition library views to Collection Views (#536) 2022-08-26 18:23:36 -06:00
Ethan Pippin ba307ae619
Fix Episode Photo Logic (#537) 2022-08-25 14:55:12 -06:00
Ethan Pippin 8181db13de
iOS/iPadOS - Landscape/Thumb Posters (#526) 2022-08-18 11:00:33 -06:00
Ethan Pippin 6f937ceddd
`ImageView` Refactor (#517) 2022-08-12 12:05:24 -06:00
Ethan Pippin 6a23570d93
iOS/iPadOS Quick Connect (#522) 2022-08-09 11:22:52 -06:00
Ethan Pippin a9f09edd81
Navigation and Item Overhaul (#492) 2022-08-05 10:54:40 -06:00
Kwangmin Bae 48a03d8462
Support select subtitle font (#498) 2022-07-29 12:47:27 -06:00
David Ullmer ed519744f4
Add Quick Connect sign in to tvOS (v2) (#487) 2022-07-18 07:52:13 -06:00
Ethan Pippin cfb3aa1faa
No Tab Characters and Before First for Argument and Parameter Wrapping (#482) 2022-07-16 07:46:25 -06:00
Kwangmin Bae 5ce904aa10
Merge pull request #470 from PangMo5/PangMo5/fix-external-subtitle-load 2022-07-06 06:53:15 +09:00
PangMo5 bae144c2bd Add exception handling for externalURL 2022-07-05 16:56:30 +09:00
PangMo5 9508c5f113 Modify External Subtitle URL Logic 2022-07-03 15:01:28 +09:00
PangMo5 2b3714cd8f Correspond to jellyfin 10.8
Update Package
2022-06-18 05:31:18 +09:00
jhays f2920363ec Swiftformat 2022-06-06 15:25:06 -05:00
jhays bc8f5e95d9 BaseItemDto ItemType usage 2022-05-26 09:26:10 -05:00
Ethan Pippin cf812fd9dd redo logging 2022-04-28 14:51:22 -06:00
Ethan Pippin 37be6be200 Merge branch 'main' into improve-logging 2022-04-28 12:51:37 -06:00
jhays 4bea0ddf43 tv settings, channel item improvements 2022-03-26 00:22:26 -05:00
jhays c2ad99ba83 livetv fixes 2022-03-22 14:30:29 -05:00
PangMo5 a69fdb9964 update contributing.md
run swiftformat .
2022-03-19 03:22:55 +09:00
PangMo5 d4f03fb327 Support Apple Siliscon Mac's simulator
Replace Cocoapods with Carthage (VLCkit)
Support Xcode 13.3
add GoogleCastSDK xcframework
2022-03-19 03:20:16 +09:00
Ethan Pippin 2231870263 lint 2022-01-29 12:33:32 -07:00
Ethan Pippin 8840ca4995 fix blurhashes 2022-01-29 12:30:22 -07:00
Ethan Pippin 6bd07817f7
Merge pull request #351 from mshockwave/dev-folder-view
Basic support for folder-type library items
2022-01-28 11:01:18 -08:00
Ethan Pippin 4c76ac1438 new log structure 2022-01-25 12:35:38 -07:00
Min-Yih Hsu 3f52223be5 Basic support for folder-type library items
- Add a new BaseItemDto.ItemType member: .folder.
  - Use CollectionItemViewModel to display folder-type item.
  - For each episode in a folder, fallback to primary image if series
    primary image is not available.
2022-01-25 21:14:58 +08:00
jhays 715e5b6102 format 2022-01-24 17:57:51 -06:00
jhays 0749fa0520 rebase added hlsStreamURL param 2022-01-24 17:57:00 -06:00
jhays 56b60dafdc duplicate create view model for livetv 2022-01-24 14:58:30 -06:00
Ethan Pippin 1a7bef0579 lint 2022-01-20 22:47:43 -07:00
Ethan Pippin efa69984ac implement about view iOS and version tvOS 2022-01-20 22:47:33 -07:00
Ethan Pippin 961f87d3c7 add back experimental native player 2022-01-19 16:11:06 -07:00
Ethan Pippin 45bafed1e9 add aspect fill and update packages 2022-01-19 00:18:24 -07:00
Ethan Pippin b67aa7a13e thumb images for episodes 2022-01-17 17:48:48 -07:00
Ethan Pippin 7b67f4bc2a cleanup 2022-01-17 15:57:00 -07:00
Ethan Pippin 70506a276e get thumb image and fallback imageview 2022-01-17 15:51:22 -07:00
Andrei Nistor 1515fcb158 Fix Base URL handling 2022-01-17 17:55:23 +02:00
Ethan Pippin 6b7f3672b2 Merge branch 'main' into chapter-support 2022-01-16 19:13:08 -07:00
Ethan Pippin fe81bc1e23
Merge pull request #305 from LePips/force-direct-play-experimental-setting
Allow force direct play as a temporary measure
2022-01-16 19:11:09 -07:00
David Cordero 5603eb7bca Fix typo 2022-01-16 21:43:22 +01:00
Ethan Pippin fa01de49a6 ios chapters 2022-01-15 22:23:14 -07:00
Ethan Pippin 13f457f52a allow force direct play as a temporary measure 2022-01-15 13:01:42 -07:00
Ethan Pippin ec5ff53c03 fix recently added to only have series and movies and implement temp overkill bitrate ceiling 2022-01-14 12:53:13 -07:00
Ethan Pippin 09d0cb74a8 Update BaseItemDto+VideoPlayerViewModel.swift 2022-01-14 11:43:27 -07:00
Ethan Pippin 5ad6b08a04 increase bit-rate ceiling 2022-01-14 11:26:18 -07:00
Ethan Pippin fce8b8d624 unaired switch and alignment fix 2022-01-14 11:14:39 -07:00
Ethan Pippin 7f55945c94 revert some work and fix collections 2022-01-13 23:13:49 -07:00
Ethan Pippin 0c95fb48a7 undo filter change attempt 2022-01-13 22:49:25 -07:00
Ethan Pippin 0dd592df02 wip 2022-01-13 14:35:20 -07:00
Ethan Pippin bdae39caa0 Merge branch 'main' into fix-transcoding 2022-01-13 09:05:54 -07:00
Ethan Pippin 8843577c41 fix transcoding url 2022-01-12 23:14:36 -07:00
Ethan Pippin 62a0bf4326 Update BaseItemDto+VideoPlayerViewModel.swift 2022-01-12 17:06:37 -07:00
Ethan Pippin eb997e8cbe ios multiple sources 2022-01-12 17:00:44 -07:00