diff --git a/JellyfinPlayer.xcodeproj/project.pbxproj b/JellyfinPlayer.xcodeproj/project.pbxproj
index 038f4adb..4dc90f18 100644
--- a/JellyfinPlayer.xcodeproj/project.pbxproj
+++ b/JellyfinPlayer.xcodeproj/project.pbxproj
@@ -475,7 +475,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 20;
- DEVELOPMENT_ASSET_PATHS = "\"JellyfinPlayer/Preview Content\"";
+ DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = 9R8RREG67J;
ENABLE_BITCODE = NO;
ENABLE_PREVIEWS = YES;
@@ -502,7 +502,7 @@
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 20;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_ASSET_PATHS = "\"JellyfinPlayer/Preview Content\"";
+ DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = 9R8RREG67J;
ENABLE_BITCODE = NO;
ENABLE_PREVIEWS = YES;
diff --git a/JellyfinPlayer/Assets.xcassets/AccentColor.colorset/Contents.json b/JellyfinPlayer/Assets.xcassets/AccentColor.colorset/Contents.json
index eb878970..f2d53c24 100644
--- a/JellyfinPlayer/Assets.xcassets/AccentColor.colorset/Contents.json
+++ b/JellyfinPlayer/Assets.xcassets/AccentColor.colorset/Contents.json
@@ -1,6 +1,15 @@
{
"colors" : [
{
+ "color" : {
+ "color-space" : "srgb",
+ "components" : {
+ "alpha" : "1.000",
+ "blue" : "1.000",
+ "green" : "1.000",
+ "red" : "0.498"
+ }
+ },
"idiom" : "universal"
}
],
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/100.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/100.png
new file mode 100644
index 00000000..3344d384
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/100.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/1024.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/1024.png
new file mode 100644
index 00000000..39934f79
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/1024.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/114.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/114.png
new file mode 100644
index 00000000..2bf3e86d
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/114.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/120.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/120.png
new file mode 100644
index 00000000..747d0a70
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/120.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/144.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/144.png
new file mode 100644
index 00000000..ac27ff59
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/144.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/152.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/152.png
new file mode 100644
index 00000000..416ad786
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/152.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/167.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/167.png
new file mode 100644
index 00000000..45e73a86
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/167.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/180.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/180.png
new file mode 100644
index 00000000..2ca9c5c5
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/180.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/20.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/20.png
new file mode 100644
index 00000000..ce097830
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/20.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/29.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/29.png
new file mode 100644
index 00000000..bfcf1009
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/29.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/40.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/40.png
new file mode 100644
index 00000000..acbb7cba
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/40.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/50.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/50.png
new file mode 100644
index 00000000..ffb6fd49
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/50.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/57.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/57.png
new file mode 100644
index 00000000..3978d6f9
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/57.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/58.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/58.png
new file mode 100644
index 00000000..899d55a8
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/58.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/60.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/60.png
new file mode 100644
index 00000000..7a324dca
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/60.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/72.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/72.png
new file mode 100644
index 00000000..a425ce88
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/72.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/76.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/76.png
new file mode 100644
index 00000000..1b174312
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/76.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/80.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/80.png
new file mode 100644
index 00000000..8d4ea26b
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/80.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/87.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/87.png
new file mode 100644
index 00000000..9ef41a73
Binary files /dev/null and b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/87.png differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Contents.json b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Contents.json
index b313d6fc..65b74d7e 100644
--- a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -1,114 +1 @@
-{
- "images" : [
- {
- "filename" : "Icon-Spotlight-42.png",
- "idiom" : "iphone",
- "scale" : "2x",
- "size" : "20x20"
- },
- {
- "filename" : "Icon-60.png",
- "idiom" : "iphone",
- "scale" : "3x",
- "size" : "20x20"
- },
- {
- "filename" : "Icon-Small@2x.png",
- "idiom" : "iphone",
- "scale" : "2x",
- "size" : "29x29"
- },
- {
- "filename" : "Icon-Small@3x.png",
- "idiom" : "iphone",
- "scale" : "3x",
- "size" : "29x29"
- },
- {
- "filename" : "Icon-Spotlight-40@2x.png",
- "idiom" : "iphone",
- "scale" : "2x",
- "size" : "40x40"
- },
- {
- "filename" : "Icon-Spotlight-40@3x.png",
- "idiom" : "iphone",
- "scale" : "3x",
- "size" : "40x40"
- },
- {
- "filename" : "Icon-60@2x.png",
- "idiom" : "iphone",
- "scale" : "2x",
- "size" : "60x60"
- },
- {
- "filename" : "Icon-60@3x.png",
- "idiom" : "iphone",
- "scale" : "3x",
- "size" : "60x60"
- },
- {
- "idiom" : "ipad",
- "scale" : "1x",
- "size" : "20x20"
- },
- {
- "filename" : "Icon-Spotlight-41.png",
- "idiom" : "ipad",
- "scale" : "2x",
- "size" : "20x20"
- },
- {
- "filename" : "Icon-Small.png",
- "idiom" : "ipad",
- "scale" : "1x",
- "size" : "29x29"
- },
- {
- "filename" : "Icon-Small@2x-1.png",
- "idiom" : "ipad",
- "scale" : "2x",
- "size" : "29x29"
- },
- {
- "filename" : "Icon-Spotlight-40.png",
- "idiom" : "ipad",
- "scale" : "1x",
- "size" : "40x40"
- },
- {
- "filename" : "Icon-Spotlight-40@2x-1.png",
- "idiom" : "ipad",
- "scale" : "2x",
- "size" : "40x40"
- },
- {
- "filename" : "Icon-76.png",
- "idiom" : "ipad",
- "scale" : "1x",
- "size" : "76x76"
- },
- {
- "filename" : "Icon-76@2x.png",
- "idiom" : "ipad",
- "scale" : "2x",
- "size" : "76x76"
- },
- {
- "filename" : "Icon-iPadPro@2x.png",
- "idiom" : "ipad",
- "scale" : "2x",
- "size" : "83.5x83.5"
- },
- {
- "idiom" : "ios-marketing",
- "scale" : "1x",
- "size" : "1024x1024"
- }
- ],
- "info" : {
- "author" : "xcode",
- "version" : 1
- }
-}
+{"images":[{"size":"60x60","expected-size":"180","filename":"180.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"40x40","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"60x60","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"57x57","expected-size":"57","filename":"57.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"57x57","expected-size":"114","filename":"114.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"60","filename":"60.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"1024x1024","filename":"1024.png","expected-size":"1024","idiom":"ios-marketing","folder":"Assets.xcassets/AppIcon.appiconset/","scale":"1x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"72x72","expected-size":"72","filename":"72.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"76x76","expected-size":"152","filename":"152.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"50x50","expected-size":"100","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"76x76","expected-size":"76","filename":"76.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"50x50","expected-size":"50","filename":"50.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"72x72","expected-size":"144","filename":"144.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"40x40","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"83.5x83.5","expected-size":"167","filename":"167.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"20x20","expected-size":"20","filename":"20.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"}]}
\ No newline at end of file
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-60.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-60.png
deleted file mode 100644
index 4fea123d..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-60.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png
deleted file mode 100644
index cfb6ba73..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png
deleted file mode 100644
index e25f7f48..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png
deleted file mode 100644
index fe1980d9..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-76.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-76.png
deleted file mode 100644
index 7b5e329f..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-76.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png
deleted file mode 100644
index fc65b467..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-76@3x.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-76@3x.png
deleted file mode 100644
index 806d2a64..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-76@3x.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png
deleted file mode 100644
index 214ab957..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png
deleted file mode 100644
index 4d232062..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Small.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Small.png
deleted file mode 100644
index c78c0af4..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Small.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png
deleted file mode 100644
index fd561818..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png
deleted file mode 100644
index 06ed8a0f..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png
deleted file mode 100644
index ab8345c2..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x-1.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x-1.png
deleted file mode 100644
index f5a60d14..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x-1.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png
deleted file mode 100644
index f5a60d14..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40@3x.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40@3x.png
deleted file mode 100644
index 8604a4c5..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40@3x.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-42.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-42.png
deleted file mode 100644
index ab8345c2..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-42.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-iPadPro@2x.png b/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-iPadPro@2x.png
deleted file mode 100644
index 2751b336..00000000
Binary files a/JellyfinPlayer/Assets.xcassets/AppIcon.appiconset/Icon-iPadPro@2x.png and /dev/null differ
diff --git a/JellyfinPlayer/Assets.xcassets/Color-1.colorset/Contents.json b/JellyfinPlayer/Assets.xcassets/Color-1.colorset/Contents.json
new file mode 100644
index 00000000..88fe200a
--- /dev/null
+++ b/JellyfinPlayer/Assets.xcassets/Color-1.colorset/Contents.json
@@ -0,0 +1,29 @@
+{
+ "colors" : [
+ {
+ "idiom" : "universal"
+ },
+ {
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "dark"
+ }
+ ],
+ "color" : {
+ "color-space" : "srgb",
+ "components" : {
+ "alpha" : "1.000",
+ "blue" : "1.000",
+ "green" : "1.000",
+ "red" : "1.000"
+ }
+ },
+ "idiom" : "universal"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/JellyfinPlayer/Info.plist b/JellyfinPlayer/Info.plist
index 1b0f697e..2026a01a 100644
--- a/JellyfinPlayer/Info.plist
+++ b/JellyfinPlayer/Info.plist
@@ -5,7 +5,7 @@
CFBundleDevelopmentRegion
$(DEVELOPMENT_LANGUAGE)
CFBundleDisplayName
- Jellyfin SUI
+ Jellyfin
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
@@ -19,7 +19,7 @@
CFBundleShortVersionString
$(MARKETING_VERSION)
CFBundleVersion
- 20
+ $(CURRENT_PROJECT_VERSION)
ITSAppUsesNonExemptEncryption
LSRequiresIPhoneOS
diff --git a/JellyfinPlayer/Views/VideoPlayer.storyboard b/JellyfinPlayer/Views/VideoPlayer.storyboard
index 677541c1..4e5729ca 100644
--- a/JellyfinPlayer/Views/VideoPlayer.storyboard
+++ b/JellyfinPlayer/Views/VideoPlayer.storyboard
@@ -1,6 +1,6 @@
-
+
@@ -13,25 +13,23 @@
-
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
-
+
@@ -41,7 +39,7 @@
+
@@ -134,14 +137,16 @@
-
+
+
+
-
+
@@ -151,11 +156,22 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -175,11 +191,12 @@
-
+
+
diff --git a/JellyfinPlayer/Views/VideoPlayer.swift b/JellyfinPlayer/Views/VideoPlayer.swift
index 4524dc93..22dd4e75 100644
--- a/JellyfinPlayer/Views/VideoPlayer.swift
+++ b/JellyfinPlayer/Views/VideoPlayer.swift
@@ -44,7 +44,7 @@ class PlayerViewController: UIViewController, VLCMediaDelegate, VLCMediaPlayerDe
weak var delegate: PlayerViewControllerDelegate?
- var mediaPlayer = VLCMediaPlayer(options: ["--sub-margin=200"])!
+ var mediaPlayer = VLCMediaPlayer(options: ["--sub-margin=-50"])!
var globalData = GlobalData()
@IBOutlet weak var timeText: UILabel!
@@ -54,6 +54,7 @@ class PlayerViewController: UIViewController, VLCMediaDelegate, VLCMediaPlayerDe
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var jumpBackButton: UIButton!
@IBOutlet weak var jumpForwardButton: UIButton!
+ @IBOutlet weak var playerSettingsButton: UIButton!
var shouldShowLoadingScreen: Bool = false;
var ssTargetValueOffset: Int = 0;
@@ -79,6 +80,7 @@ class PlayerViewController: UIViewController, VLCMediaDelegate, VLCMediaPlayerDe
sendProgressReport(eventName: "pause")
mediaPlayer.pause()
}
+
@IBAction func seekSliderValueChanged(_ sender: Any) {
let videoDuration = Double(mediaPlayer.time.intValue + abs(mediaPlayer.remainingTime.intValue))/1000
let secondsScrubbedTo = round(Double(seekSlider.value) * videoDuration);
@@ -154,7 +156,7 @@ class PlayerViewController: UIViewController, VLCMediaDelegate, VLCMediaPlayerDe
override func viewDidLoad() {
super.viewDidLoad()
-
+
//View has loaded.
//Show loading screen
usleep(10000);
@@ -267,6 +269,15 @@ class PlayerViewController: UIViewController, VLCMediaDelegate, VLCMediaPlayerDe
}
}
mediaPlayer.play()
+ mediaPlayer.currentVideoSubTitleIndex = -1;
+ mediaPlayer.currentAudioTrackIndex = selectedAudioTrack;
+ mediaPlayer.pause()
+ usleep(10000);
+ mediaPlayer.play()
+ usleep(10000);
+ mediaPlayer.pause()
+ usleep(10000);
+ mediaPlayer.play()
mediaPlayer.jumpForward(Int32(manifest.Progress/10000000))
} catch {