Commit Graph

632 Commits

Author SHA1 Message Date
Joe 5913c308a6
Fix Opus Playback Issues on Native Player (#1226) 2024-09-05 12:44:20 -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
Steve Byatt 58dfddeeca
Update lastSignedInUserID defaults to use new UserSignInState enum (#1209)
* init

* projecgt file

* Update project.pbxproj

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-09-02 01:00:25 -06:00
Ethan Pippin a199d69a31
Some Cleanup (#1216) 2024-08-30 09:05:56 -06:00
Daniel Chick e5f408a867
Listen for AirPods connection changes (#1186)
* Toggle the video player's pause or play state when airpods are connected or disconnected.

* Remove AVAudioSession route change listener in favor of the remote command center callbacks.
2024-08-19 14:46:12 -06:00
Ethan Pippin 4d73c6dcab
Default Playback Rate to `max` (#1192) 2024-08-15 20:34:27 -06:00
Ethan Pippin 30e944ffc4
Fix iOS 15 Rotation (#1174)
* fix and clean

* fix
2024-08-09 13:25:32 +09:00
Ethan Pippin e89eaeec09
Fix UserSession Resolution (#1175)
* fix and clean

* fix
2024-08-09 13:23:11 +09:00
Ethan Pippin d85ffb4156
Fix iOS 15 Poster Buttons (#1172) 2024-08-08 10:01:23 -06:00
Joe e4fd98c244
[tvOS] Settings Cleanup (#1163)
* Settings Cleanup. Replace strings with labels. Enforce the same font. Ensure Forms don't get clipped by their boundries. Create consistent, reusable button sizing/coloring. Apply to all Settings Pages.

* Remove custom Button/Form styling in exchange for just using .scrollClipDisabled()

* Swap back to Jellyfin Purple from Purple.

* Remove Check Button. Check all Section Inits where possible. Make Server Details Server non-focusable.

Create a new menu for Server Details selection. This is a WIP awaiting feedback from https://github.com/jellyfin/Swiftfin/pull/1163#discussion_r1705957885

---------

Co-authored-by: Joseph Kribs <joseph@kribs.net>
2024-08-06 20:56:24 -06:00
Joe 4f1907f84c
[tvOS] Fix Indicators Setting Unreachable (#1161)
Co-authored-by: Joseph Kribs <joseph@kribs.net>
2024-08-03 15:45:56 -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
Ethan Pippin 873490f6f3
Update ConnectToServerViewModel.swift (#1145) 2024-07-04 23:28:24 -06:00
Daniel Chick 29b917ead0
Migrate to the latest version of Factory (#1097) 2024-07-01 19:58:59 -06:00
Ethan Pippin 0fa4ddd850
Fix Grouped Libraries (#1137) 2024-06-30 16:06:07 +09: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
Isaiah Hamilton 515218ec52
Update watched indicator color (#1107)
Co-authored-by: Isaiah Hamilton <isaiah@isaiahs-mbp.lan>
2024-06-28 15:21:22 -06:00
Dhocking 5334c57c65
Add ability to hide "Recently Added" section at home screen (#1087) 2024-06-12 11:35:01 -06:00
Daniel Chick 645eb6c516
Refactor sign in policy (#1085) 2024-06-08 21:22:18 -06:00
Ethan Pippin 257091ba9a
Cleanup (#1077) 2024-05-28 16:23:58 +09:00
Ethan Pippin fd4052ed53
Cleanup (#1075) 2024-05-28 10:59:18 +09:00
Joe b987d6d7ae
[tvOS] TV Shows Icon Doesn't Highlight (#1074) 2024-05-27 12:55:31 -06:00
Joe 25b30b5436
Create Library Alpha Picker (#980) 2024-05-26 15:07:13 -06:00
Ethan Pippin b2a31dbc3a
User Profile Image Selection (#1061) 2024-05-22 13:45:48 +09:00
Ethan Pippin 8d6167c00b
Some More Cleanup, Reset User Settings (#1060) 2024-05-17 13:10:40 +09:00
Ethan Pippin 66c26553ad
Some Polish (#1058) 2024-05-16 07:34:08 -06:00
Ethan Pippin b4be96e6ac
tvOS Library Paging (#1057) 2024-05-16 07:32:03 -06:00
Ethan Pippin 74b8b286c7
User/Server Sign In Redesign (#1045) 2024-05-14 23:42:41 -06:00
ryanh2o3 817f6decd6
remove transition from image view (#1044) 2024-04-23 13:09:30 -06:00
Ethan Pippin 384e80805e
Poster Display and Button Refactor (#1038) 2024-04-23 11:22:07 -06:00
Tony ad8f4bbefd
Fix quick connect (#874) 2024-04-22 22:22:10 -06:00
Ethan Pippin 2dace313d1
Search Channels and Programs (#1037) 2024-04-19 15:55:47 -06:00
Ethan Pippin 6f230d9283
Letter Filter (#1024) 2024-04-18 21:59:54 -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
Ethan Pippin 913dda5fea
Fix `MediaView` Items (#1023) 2024-04-16 22:14:33 -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 8a0ef0e48f
Fix Basic Multi Server URL (#1012) 2024-04-02 23:37:45 -06:00
Ethan Pippin 0e21fb0369
Update to Xcode 15.3 (#1014) 2024-04-02 23:10:34 -06:00
Ethan Pippin fb100b8da1
iOS - Temporarily Disable LiveTV and Advanced Video Player Action (#1013) 2024-04-02 23:10:22 -06:00
Ethan Pippin 8c9c86713d
Basic SVG Support (#1010) 2024-04-02 08:56:09 -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
Eric Lee e72c5160c3
[tvOS][Bug] Fixes season selector only showing a single season. (#950) 2024-01-17 13:10:01 -07:00
Eric Lee 3b59bed413
[tvOS][QOL] Supports back button click when in the native player. (#947) 2024-01-15 22:41:06 -07: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
☃ Elliot Shepherd eb17300061
update LatestInLibraryView to use getLatestMedia (#895) 2023-11-09 19:17:23 -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
Daniel Chick 18b06ff297
Localization strings (#878) 2023-10-18 19:14:43 -06:00
Daniel Chick 043a95de00
Split VideoPlayerManagers (#875) 2023-10-12 20:27:31 -06:00
Tony 289868e71a
Add audio, subtitle, playback select for tvOS (#859) 2023-10-12 19:34:57 -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
William Martineau eb99dfe30b
Shuffle play (#816) 2023-09-28 22:37:17 -06:00
Tony a2f9da506c
Minor UI fixes, force orientation (#857) 2023-09-25 15:47:50 -06:00
Joe 48e608e62b
Filter Toggles [iOS] [iPadOS] (#847)
Co-authored-by: Joe Kribs <joseph@kribs.net>
2023-09-20 13:28:32 -06:00
Ethan Pippin 07092221d1
fix (#845) 2023-09-15 14:32:37 -06:00
Sylvain CECCHETTO 1239252666
Add liveTV and Downloads to localizable strings (#832) 2023-09-01 14:29:07 -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
Ethan Pippin 5170c828b6
fix overlay (#779) 2023-05-16 17:36:41 -06:00
Ethan Pippin a58b3f0b88
Fix Video Player Overlay (#774) 2023-05-16 16:03:26 -06:00
holow29 37911723a3
Fix transcodingURL (#760) 2023-05-06 22:41:47 -06:00
Ethan Pippin 2a51598004
Cleanup and UDPBroadcastConnection Package (#765) 2023-05-06 22:07:34 -06:00
Ethan Pippin a08a92e98a
New Year, New Video Player + Other Goodies (#593) 2023-04-20 09:33:51 -06:00
Kevin Cramer a0c1aae065
Log decoding errors (#630) 2022-12-08 10:05:11 -07:00
Sulabh Bista 06044e8fb5
Adds "use fmp4" experimental option (#623) 2022-11-03 13:17:47 -06:00
Anthony Lavado 81afe33b7e
Correcting String Format for Episodes (#613) 2022-10-25 15:55:54 +01:00
Ethan Pippin 63c8805f22 Update LogManager.swift 2022-10-24 14:35:39 +01:00
Ethan Pippin 0c149ba669
Swift 5.7 Base Fixes (#595) 2022-10-10 14:51:22 -06:00
Ethan Pippin 3ffb67a400
Implement Factory (#587) 2022-09-15 11:32:47 -06:00
Ethan Pippin 93c19dbe54
wip (#585) 2022-09-14 19:50:38 -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 83f9c1c81c
fix (#579) 2022-09-12 16:20:59 -06:00
Ethan Pippin 3c81c7532f
tvOS - Refactor Cinematic Item Selector (#564) 2022-09-09 19:11:09 -06:00
Ethan Pippin 859a47803f
tvOS - Revamp Connect Flow (#563) 2022-09-07 23:52:19 -06:00
Ethan Pippin ace339bd1a
implement (#561) 2022-09-05 06:45:22 -06:00
Ethan Pippin 2a3617bd47
Fix Folder Libraries (#555) 2022-09-03 23:19:45 -06:00
Ethan Pippin 14f1219500
iOS/iPadOS - Media/LibraryView Loading Indicator (#556) 2022-09-03 23:19:32 -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 199e8adf91
Random Sorting (#547) 2022-08-29 20:46:58 -06:00
Ethan Pippin ce38efb3ec
Proper Library Handling (#543) 2022-08-29 20:29:24 -06:00
Ethan Pippin 3b755adf87
iOS/iPadOS - Library List View (#542) 2022-08-29 08:58:38 -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 b436a68fea
Update SwiftGen (#535) 2022-08-25 14:55:01 -06:00
Jiahao Lu ad07f088bc
Fix external subtitles not displayed (#533) 2022-08-22 15:22:53 -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 599cff4c95
Update Nuke and implement BlurHashKit (#516) 2022-08-07 22:27:23 -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
Ethan Pippin d8907583f3 pop to root on repeat tap 2022-07-13 21:06:18 -06:00
PangMo5 f1bf247f5a Add shouldShowChaptersInfoInBottomOverlay to Settings.Overlay 2022-07-14 00:07:27 +09:00
PangMo5 add9615aa8 Merge branch 'main' into PangMo5/chapters-slider
# Conflicts:
#	Swiftfin.xcodeproj/project.pbxproj
2022-07-13 22:59:12 +09:00
PangMo5 ff429fb961 Fix bug that not load chapters of the previous, next episode in player 2022-07-13 22:56:21 +09:00
David Ullmer ffb7d381df
Fix tvOS build 2022-07-12 21:52:53 +02:00
David Ullmer b8a0af5b28
Merge branch 'main' into quickconnect 2022-07-12 19:57:01 +02:00
David Ullmer 46cbd4f7d1
Implement suggestions 2022-07-12 19:54:52 +02:00
David Ullmer 3f56aea9e2 Localize strings 2022-07-12 15:54:33 +02:00
David Ullmer 95aabd22d0 Add Quick Connect input in settings 2022-07-12 15:01:10 +02:00
David Ullmer 270b0802c9 Add login background to tvOS 2022-07-12 10:35:34 +02:00
David Ullmer 9530673c46
Implement suggestions 2022-07-11 17:59:40 +02:00
David Ullmer e2291955f9 Allow reloading of public users 2022-07-11 14:49:19 +02:00
David Ullmer 51d30cf60a Implement suggestions 2022-07-11 14:42:07 +02:00
David Ullmer e94d2795c7 Merge branch 'main' into known-users 2022-07-11 14:12:08 +02:00
David Ullmer 530bc1c91d
Use external lib 2022-07-10 21:20:12 +02:00
David Ullmer fcc022ea22
Format code 2022-07-10 18:47:52 +02:00
David Ullmer 9250dc650d
Add known users to login screen 2022-07-10 18:10:43 +02: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
Ethan Pippin 8693326d6e
Merge pull request #426 from jhays/jhays/ios-livetv
LiveTV support for iOS
2022-06-15 17:35:16 -06:00
jhays eb51237d54 fix single root library nav issue 2022-06-07 21:38:57 -05:00
jhays b049572a89 fix library progress view, increase tvOS page size 2022-06-07 21:19:22 -05: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
Kwangmin Bae d91fb73822
Merge pull request #428 from PangMo5/PangMo5/player-slider-pan-gesture 2022-05-15 16:40:27 +09:00
PangMo5 28c6f9e760 Improvement UI/UX in scrubbing 2022-05-14 11:40:50 +09:00
Ethan Pippin 8c2219aa00 fix broadcast discovery 2022-05-11 09:54:12 -06:00
Julian Hays 7833280175
Merge branch 'jellyfin:main' into jhays/ios-livetv 2022-05-03 21:52:36 -05:00
PangMo5 7a26e69685 Add seek slide gesture 2022-05-04 02:37:50 +09:00
jhays 8bc87282ee update live tv cells for tvOS 2022-05-01 21:21:06 -05:00
Ethan Pippin 2aa1607ee7
Merge pull request #425 from TheNightmanCodeth/main 2022-05-01 13:38:35 -06:00
Joe Diragi 0ca924c8f2 Updates swiftformat 2022-05-01 15:23:52 -04:00
Joe Diragi b43abf1548 Runs SwiftLint and adds back OpenGLES 2022-04-30 19:34:11 -04:00
PangMo5 9da29ee708 Merge branch 'PangMo5/main' into PangMo5/more-gestures
# Conflicts:
#	Translations/en.lproj/Localizable.strings
2022-05-01 07:35:25 +09:00
PangMo5 0f92343970 VideoPlayer's Double tap related UX improvement
Change VideoPlayer's overlay show implementation
Add player gestures lock gesture settings
2022-05-01 06:16:41 +09:00
Joe Diragi a6bcd668d5 Fixes dangling pointer warning 2022-04-30 16:50:14 -04:00
Ethan Pippin a22ef63074 Update ErrorMessage.swift 2022-04-28 15:12:17 -06:00
Ethan Pippin fa683a5d30 fix tv files 2022-04-28 15:04:34 -06:00