diff --git a/JellyfinPlayer tvOS/Components/LandscapeItemElement.swift b/JellyfinPlayer tvOS/Components/LandscapeItemElement.swift index e270682d..89562688 100644 --- a/JellyfinPlayer tvOS/Components/LandscapeItemElement.swift +++ b/JellyfinPlayer tvOS/Components/LandscapeItemElement.swift @@ -47,29 +47,27 @@ struct LandscapeItemElement: View { .frame(width: 445, height: 250) .cornerRadius(10) .overlay( - Group { + ZStack(alignment: .leading) { if focused && item.userData?.playedPercentage != nil { - ZStack(alignment: .leading) { - Rectangle() - .fill(LinearGradient(colors: [.black, .clear], startPoint: .bottom, endPoint: .top)) - .frame(width: 445, height: 90) - .mask(CutOffShadow()) - VStack(alignment: .leading) { - Text("CONTINUE • \(item.getItemProgressString())") - .font(.caption) - .fontWeight(.medium) - .offset(y: 5) - ZStack(alignment: .leading) { - RoundedRectangle(cornerRadius: 6) - .fill(Color.gray) - .opacity(0.4) - .frame(minWidth: 100, maxWidth: .infinity, minHeight: 12, maxHeight: 12) - RoundedRectangle(cornerRadius: 6) - .fill(Color(red: 172/255, green: 92/255, blue: 195/255)) - .frame(width: CGFloat(item.userData?.playedPercentage ?? 0 * 4.45 - 0.16), height: 12) - } - }.padding(12) - } + Rectangle() + .fill(LinearGradient(colors: [.black, .clear], startPoint: .bottom, endPoint: .top)) + .frame(width: 445, height: 90) + .mask(CutOffShadow()) + VStack(alignment: .leading) { + Text("CONTINUE • \(item.getItemProgressString())") + .font(.caption) + .fontWeight(.medium) + .offset(y: 5) + ZStack(alignment: .leading) { + RoundedRectangle(cornerRadius: 6) + .fill(Color.gray) + .opacity(0.4) + .frame(minWidth: 100, maxWidth: .infinity, minHeight: 12, maxHeight: 12) + RoundedRectangle(cornerRadius: 6) + .fill(Color(red: 172/255, green: 92/255, blue: 195/255)) + .frame(width: CGFloat(item.userData?.playedPercentage ?? 0 * 4.45 - 0.16), height: 12) + } + }.padding(12) } else { EmptyView() } diff --git a/JellyfinPlayer tvOS/ContinueWatchingView.swift b/JellyfinPlayer tvOS/ContinueWatchingView.swift index c0493f20..d9ebcd29 100644 --- a/JellyfinPlayer tvOS/ContinueWatchingView.swift +++ b/JellyfinPlayer tvOS/ContinueWatchingView.swift @@ -20,17 +20,17 @@ struct ContinueWatchingView: View { Text("Continue Watching") .font(.headline) .fontWeight(.semibold) - .padding(.leading, 135) + .padding(.leading, 90) ScrollView(.horizontal, showsIndicators: false) { LazyHStack { - Spacer().frame(width: 90) + Spacer().frame(width: 45) ForEach(items, id: \.id) { item in NavigationLink(destination: Text("itemv")) { LandscapeItemElement(item: item) }.buttonStyle(PlainNavigationLinkButtonStyle()) .prefersDefaultFocus(item == items.first, in: namespace) } - Spacer().frame(width: 90) + Spacer().frame(width: 45) } }.frame(height: 330) } else { diff --git a/JellyfinPlayer tvOS/HomeView.swift b/JellyfinPlayer tvOS/HomeView.swift index 82738020..ab9262ed 100644 --- a/JellyfinPlayer tvOS/HomeView.swift +++ b/JellyfinPlayer tvOS/HomeView.swift @@ -40,7 +40,7 @@ struct HomeView: View { .fontWeight(.semibold) Image(systemName: "chevron.forward.circle.fill") } - }.padding(EdgeInsets(top: 0, leading: 135, bottom: 0, trailing: 0)) + }.padding(EdgeInsets(top: 0, leading: 90, bottom: 0, trailing: 0)) LatestMediaView(usingParentID: libraryID) } } diff --git a/JellyfinPlayer tvOS/LatestMediaView.swift b/JellyfinPlayer tvOS/LatestMediaView.swift index d9b82526..7b661f87 100644 --- a/JellyfinPlayer tvOS/LatestMediaView.swift +++ b/JellyfinPlayer tvOS/LatestMediaView.swift @@ -41,13 +41,13 @@ struct LatestMediaView: View { var body: some View { ScrollView(.horizontal, showsIndicators: false) { LazyHStack { - Spacer().frame(width: 90) + Spacer().frame(width: 45) ForEach(items, id: \.id) { item in NavigationLink(destination: Text("itemv")) { PortraitItemElement(item: item) }.buttonStyle(PlainNavigationLinkButtonStyle()) } - Spacer().frame(width: 90) + Spacer().frame(width: 45) } }.frame(height: 350) .onAppear(perform: onAppear) diff --git a/JellyfinPlayer tvOS/MainTabView.swift b/JellyfinPlayer tvOS/MainTabView.swift index c08ae3a6..78d81c4f 100644 --- a/JellyfinPlayer tvOS/MainTabView.swift +++ b/JellyfinPlayer tvOS/MainTabView.swift @@ -40,7 +40,7 @@ struct MainTabView: View { TabView(selection: $tabSelection) { HomeView() - .offset(y: -20) + .offset(y: -1) //don't remove this. it breaks tabview on 4K displays. .tabItem { Text(Tab.home.localized) Image(systemName: "house") @@ -73,3 +73,5 @@ extension MainTabView { } } } + +//stream ancient dreams in a modern land by MARINA! diff --git a/JellyfinPlayer tvOS/NextUpView.swift b/JellyfinPlayer tvOS/NextUpView.swift index a7936168..5304ee0c 100644 --- a/JellyfinPlayer tvOS/NextUpView.swift +++ b/JellyfinPlayer tvOS/NextUpView.swift @@ -19,16 +19,16 @@ struct NextUpView: View { Text("Next Up") .font(.headline) .fontWeight(.semibold) - .padding(.leading, 135) + .padding(.leading, 90) ScrollView(.horizontal, showsIndicators: false) { LazyHStack { - Spacer().frame(width: 90) + Spacer().frame(width: 45) ForEach(items, id: \.id) { item in NavigationLink(destination: Text("itemv")) { LandscapeItemElement(item: item) }.buttonStyle(PlainNavigationLinkButtonStyle()) } - Spacer().frame(width: 90) + Spacer().frame(width: 45) } }.frame(height: 330) .offset(y: -10) diff --git a/JellyfinPlayer/VideoPlayer.swift b/JellyfinPlayer/VideoPlayer.swift index 9a323786..91b71041 100644 --- a/JellyfinPlayer/VideoPlayer.swift +++ b/JellyfinPlayer/VideoPlayer.swift @@ -326,7 +326,10 @@ class PlayerViewController: UIViewController, VLCMediaDelegate, VLCMediaPlayerDe deliveryUrl = nil } let subtitle = Subtitle(name: stream.displayTitle ?? "Unknown", id: Int32(stream.index!), url: deliveryUrl, delivery: stream.deliveryMethod!, codec: stream.codec ?? "webvtt") - subtitleTrackArray.append(subtitle) + + if(subtitle.delivery != .encode) { + subtitleTrackArray.append(subtitle) + } } if stream.type == .audio { @@ -367,7 +370,10 @@ class PlayerViewController: UIViewController, VLCMediaDelegate, VLCMediaPlayerDe deliveryUrl = nil } let subtitle = Subtitle(name: stream.displayTitle ?? "Unknown", id: Int32(stream.index!), url: deliveryUrl, delivery: stream.deliveryMethod!, codec: stream.codec ?? "webvtt") - subtitleTrackArray.append(subtitle) + + if(subtitle.delivery != .encode) { + subtitleTrackArray.append(subtitle) + } } if stream.type == .audio {