jellyflood/Shared/Objects/MediaComponents/SubtitleFormat.swift
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

83 lines
1.8 KiB
Swift

//
// Swiftfin is subject to the terms of the Mozilla Public
// License, v2.0. If a copy of the MPL was not distributed with this
// file, you can obtain one at https://mozilla.org/MPL/2.0/.
//
// Copyright (c) 2024 Jellyfin & Jellyfin Contributors
//
import Defaults
import JellyfinAPI
enum SubtitleFormat: String, CaseIterable, Codable, Displayable, Defaults.Serializable {
case ass
case cc_dec
case dvdsub
case dvbsub
case jacosub
case libzvbi_teletextdec
case mov_text
case mpl2
case pjs
case pgssub
case realtext
case sami
case ssa
case subrip
case subviewer
case subviewer1
case text
case ttml
case vplayer
case vtt
case xsub
var displayTitle: String {
switch self {
case .ass:
return "ASS"
case .cc_dec:
return "EIA-608"
case .dvdsub:
return "DVD Subtitle"
case .dvbsub:
return "DVB Subtitle"
case .jacosub:
return "Jacosub"
case .libzvbi_teletextdec:
return "DVB Teletext"
case .mov_text:
return "MPEG-4 Timed Text"
case .mpl2:
return "MPL2"
case .pjs:
return "Phoenix Subtitle"
case .pgssub:
return "PGS Subtitle"
case .realtext:
return "RealText"
case .sami:
return "SMI"
case .ssa:
return "SSA"
case .subrip:
return "SRT"
case .subviewer:
return "SubViewer"
case .subviewer1:
return "SubViewer1"
case .text:
return "TXT"
case .ttml:
return "TTML"
case .vplayer:
return "VPlayer"
case .vtt:
return "WebVTT"
case .xsub:
return "XSUB"
}
}
}