{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.MediaConvert.Types.SrtStylePassthrough
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.MediaConvert.Types.SrtStylePassthrough
  ( SrtStylePassthrough
      ( ..,
        SrtStylePassthrough_DISABLED,
        SrtStylePassthrough_ENABLED
      ),
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Prelude as Prelude

-- | Set Style passthrough (StylePassthrough) to ENABLED to use the available
-- style, color, and position information from your input captions.
-- MediaConvert uses default settings for any missing style and position
-- information in your input captions. Set Style passthrough to DISABLED,
-- or leave blank, to ignore the style and position information from your
-- input captions and use simplified output captions.
newtype SrtStylePassthrough = SrtStylePassthrough'
  { SrtStylePassthrough -> Text
fromSrtStylePassthrough ::
      Core.Text
  }
  deriving stock
    ( Int -> SrtStylePassthrough -> ShowS
[SrtStylePassthrough] -> ShowS
SrtStylePassthrough -> String
(Int -> SrtStylePassthrough -> ShowS)
-> (SrtStylePassthrough -> String)
-> ([SrtStylePassthrough] -> ShowS)
-> Show SrtStylePassthrough
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SrtStylePassthrough] -> ShowS
$cshowList :: [SrtStylePassthrough] -> ShowS
show :: SrtStylePassthrough -> String
$cshow :: SrtStylePassthrough -> String
showsPrec :: Int -> SrtStylePassthrough -> ShowS
$cshowsPrec :: Int -> SrtStylePassthrough -> ShowS
Prelude.Show,
      ReadPrec [SrtStylePassthrough]
ReadPrec SrtStylePassthrough
Int -> ReadS SrtStylePassthrough
ReadS [SrtStylePassthrough]
(Int -> ReadS SrtStylePassthrough)
-> ReadS [SrtStylePassthrough]
-> ReadPrec SrtStylePassthrough
-> ReadPrec [SrtStylePassthrough]
-> Read SrtStylePassthrough
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SrtStylePassthrough]
$creadListPrec :: ReadPrec [SrtStylePassthrough]
readPrec :: ReadPrec SrtStylePassthrough
$creadPrec :: ReadPrec SrtStylePassthrough
readList :: ReadS [SrtStylePassthrough]
$creadList :: ReadS [SrtStylePassthrough]
readsPrec :: Int -> ReadS SrtStylePassthrough
$creadsPrec :: Int -> ReadS SrtStylePassthrough
Prelude.Read,
      SrtStylePassthrough -> SrtStylePassthrough -> Bool
(SrtStylePassthrough -> SrtStylePassthrough -> Bool)
-> (SrtStylePassthrough -> SrtStylePassthrough -> Bool)
-> Eq SrtStylePassthrough
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SrtStylePassthrough -> SrtStylePassthrough -> Bool
$c/= :: SrtStylePassthrough -> SrtStylePassthrough -> Bool
== :: SrtStylePassthrough -> SrtStylePassthrough -> Bool
$c== :: SrtStylePassthrough -> SrtStylePassthrough -> Bool
Prelude.Eq,
      Eq SrtStylePassthrough
Eq SrtStylePassthrough
-> (SrtStylePassthrough -> SrtStylePassthrough -> Ordering)
-> (SrtStylePassthrough -> SrtStylePassthrough -> Bool)
-> (SrtStylePassthrough -> SrtStylePassthrough -> Bool)
-> (SrtStylePassthrough -> SrtStylePassthrough -> Bool)
-> (SrtStylePassthrough -> SrtStylePassthrough -> Bool)
-> (SrtStylePassthrough
    -> SrtStylePassthrough -> SrtStylePassthrough)
-> (SrtStylePassthrough
    -> SrtStylePassthrough -> SrtStylePassthrough)
-> Ord SrtStylePassthrough
SrtStylePassthrough -> SrtStylePassthrough -> Bool
SrtStylePassthrough -> SrtStylePassthrough -> Ordering
SrtStylePassthrough -> SrtStylePassthrough -> SrtStylePassthrough
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: SrtStylePassthrough -> SrtStylePassthrough -> SrtStylePassthrough
$cmin :: SrtStylePassthrough -> SrtStylePassthrough -> SrtStylePassthrough
max :: SrtStylePassthrough -> SrtStylePassthrough -> SrtStylePassthrough
$cmax :: SrtStylePassthrough -> SrtStylePassthrough -> SrtStylePassthrough
>= :: SrtStylePassthrough -> SrtStylePassthrough -> Bool
$c>= :: SrtStylePassthrough -> SrtStylePassthrough -> Bool
> :: SrtStylePassthrough -> SrtStylePassthrough -> Bool
$c> :: SrtStylePassthrough -> SrtStylePassthrough -> Bool
<= :: SrtStylePassthrough -> SrtStylePassthrough -> Bool
$c<= :: SrtStylePassthrough -> SrtStylePassthrough -> Bool
< :: SrtStylePassthrough -> SrtStylePassthrough -> Bool
$c< :: SrtStylePassthrough -> SrtStylePassthrough -> Bool
compare :: SrtStylePassthrough -> SrtStylePassthrough -> Ordering
$ccompare :: SrtStylePassthrough -> SrtStylePassthrough -> Ordering
$cp1Ord :: Eq SrtStylePassthrough
Prelude.Ord,
      (forall x. SrtStylePassthrough -> Rep SrtStylePassthrough x)
-> (forall x. Rep SrtStylePassthrough x -> SrtStylePassthrough)
-> Generic SrtStylePassthrough
forall x. Rep SrtStylePassthrough x -> SrtStylePassthrough
forall x. SrtStylePassthrough -> Rep SrtStylePassthrough x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SrtStylePassthrough x -> SrtStylePassthrough
$cfrom :: forall x. SrtStylePassthrough -> Rep SrtStylePassthrough x
Prelude.Generic
    )
  deriving newtype
    ( Int -> SrtStylePassthrough -> Int
SrtStylePassthrough -> Int
(Int -> SrtStylePassthrough -> Int)
-> (SrtStylePassthrough -> Int) -> Hashable SrtStylePassthrough
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: SrtStylePassthrough -> Int
$chash :: SrtStylePassthrough -> Int
hashWithSalt :: Int -> SrtStylePassthrough -> Int
$chashWithSalt :: Int -> SrtStylePassthrough -> Int
Prelude.Hashable,
      SrtStylePassthrough -> ()
(SrtStylePassthrough -> ()) -> NFData SrtStylePassthrough
forall a. (a -> ()) -> NFData a
rnf :: SrtStylePassthrough -> ()
$crnf :: SrtStylePassthrough -> ()
Prelude.NFData,
      Text -> Either String SrtStylePassthrough
(Text -> Either String SrtStylePassthrough)
-> FromText SrtStylePassthrough
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String SrtStylePassthrough
$cfromText :: Text -> Either String SrtStylePassthrough
Core.FromText,
      SrtStylePassthrough -> Text
(SrtStylePassthrough -> Text) -> ToText SrtStylePassthrough
forall a. (a -> Text) -> ToText a
toText :: SrtStylePassthrough -> Text
$ctoText :: SrtStylePassthrough -> Text
Core.ToText,
      SrtStylePassthrough -> ByteString
(SrtStylePassthrough -> ByteString)
-> ToByteString SrtStylePassthrough
forall a. (a -> ByteString) -> ToByteString a
toBS :: SrtStylePassthrough -> ByteString
$ctoBS :: SrtStylePassthrough -> ByteString
Core.ToByteString,
      SrtStylePassthrough -> ByteStringBuilder
(SrtStylePassthrough -> ByteStringBuilder)
-> ToLog SrtStylePassthrough
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: SrtStylePassthrough -> ByteStringBuilder
$cbuild :: SrtStylePassthrough -> ByteStringBuilder
Core.ToLog,
      HeaderName -> SrtStylePassthrough -> [Header]
(HeaderName -> SrtStylePassthrough -> [Header])
-> ToHeader SrtStylePassthrough
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> SrtStylePassthrough -> [Header]
$ctoHeader :: HeaderName -> SrtStylePassthrough -> [Header]
Core.ToHeader,
      SrtStylePassthrough -> QueryString
(SrtStylePassthrough -> QueryString) -> ToQuery SrtStylePassthrough
forall a. (a -> QueryString) -> ToQuery a
toQuery :: SrtStylePassthrough -> QueryString
$ctoQuery :: SrtStylePassthrough -> QueryString
Core.ToQuery,
      Value -> Parser [SrtStylePassthrough]
Value -> Parser SrtStylePassthrough
(Value -> Parser SrtStylePassthrough)
-> (Value -> Parser [SrtStylePassthrough])
-> FromJSON SrtStylePassthrough
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [SrtStylePassthrough]
$cparseJSONList :: Value -> Parser [SrtStylePassthrough]
parseJSON :: Value -> Parser SrtStylePassthrough
$cparseJSON :: Value -> Parser SrtStylePassthrough
Core.FromJSON,
      FromJSONKeyFunction [SrtStylePassthrough]
FromJSONKeyFunction SrtStylePassthrough
FromJSONKeyFunction SrtStylePassthrough
-> FromJSONKeyFunction [SrtStylePassthrough]
-> FromJSONKey SrtStylePassthrough
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [SrtStylePassthrough]
$cfromJSONKeyList :: FromJSONKeyFunction [SrtStylePassthrough]
fromJSONKey :: FromJSONKeyFunction SrtStylePassthrough
$cfromJSONKey :: FromJSONKeyFunction SrtStylePassthrough
Core.FromJSONKey,
      [SrtStylePassthrough] -> Encoding
[SrtStylePassthrough] -> Value
SrtStylePassthrough -> Encoding
SrtStylePassthrough -> Value
(SrtStylePassthrough -> Value)
-> (SrtStylePassthrough -> Encoding)
-> ([SrtStylePassthrough] -> Value)
-> ([SrtStylePassthrough] -> Encoding)
-> ToJSON SrtStylePassthrough
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [SrtStylePassthrough] -> Encoding
$ctoEncodingList :: [SrtStylePassthrough] -> Encoding
toJSONList :: [SrtStylePassthrough] -> Value
$ctoJSONList :: [SrtStylePassthrough] -> Value
toEncoding :: SrtStylePassthrough -> Encoding
$ctoEncoding :: SrtStylePassthrough -> Encoding
toJSON :: SrtStylePassthrough -> Value
$ctoJSON :: SrtStylePassthrough -> Value
Core.ToJSON,
      ToJSONKeyFunction [SrtStylePassthrough]
ToJSONKeyFunction SrtStylePassthrough
ToJSONKeyFunction SrtStylePassthrough
-> ToJSONKeyFunction [SrtStylePassthrough]
-> ToJSONKey SrtStylePassthrough
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [SrtStylePassthrough]
$ctoJSONKeyList :: ToJSONKeyFunction [SrtStylePassthrough]
toJSONKey :: ToJSONKeyFunction SrtStylePassthrough
$ctoJSONKey :: ToJSONKeyFunction SrtStylePassthrough
Core.ToJSONKey,
      [Node] -> Either String SrtStylePassthrough
([Node] -> Either String SrtStylePassthrough)
-> FromXML SrtStylePassthrough
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String SrtStylePassthrough
$cparseXML :: [Node] -> Either String SrtStylePassthrough
Core.FromXML,
      SrtStylePassthrough -> XML
(SrtStylePassthrough -> XML) -> ToXML SrtStylePassthrough
forall a. (a -> XML) -> ToXML a
toXML :: SrtStylePassthrough -> XML
$ctoXML :: SrtStylePassthrough -> XML
Core.ToXML
    )

pattern SrtStylePassthrough_DISABLED :: SrtStylePassthrough
pattern $bSrtStylePassthrough_DISABLED :: SrtStylePassthrough
$mSrtStylePassthrough_DISABLED :: forall r. SrtStylePassthrough -> (Void# -> r) -> (Void# -> r) -> r
SrtStylePassthrough_DISABLED = SrtStylePassthrough' "DISABLED"

pattern SrtStylePassthrough_ENABLED :: SrtStylePassthrough
pattern $bSrtStylePassthrough_ENABLED :: SrtStylePassthrough
$mSrtStylePassthrough_ENABLED :: forall r. SrtStylePassthrough -> (Void# -> r) -> (Void# -> r) -> r
SrtStylePassthrough_ENABLED = SrtStylePassthrough' "ENABLED"

{-# COMPLETE
  SrtStylePassthrough_DISABLED,
  SrtStylePassthrough_ENABLED,
  SrtStylePassthrough'
  #-}