{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.MediaConvert.Types.Vc3Settings where
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import Amazonka.MediaConvert.Types.Vc3Class
import Amazonka.MediaConvert.Types.Vc3FramerateControl
import Amazonka.MediaConvert.Types.Vc3FramerateConversionAlgorithm
import Amazonka.MediaConvert.Types.Vc3InterlaceMode
import Amazonka.MediaConvert.Types.Vc3ScanTypeConversionMode
import Amazonka.MediaConvert.Types.Vc3SlowPal
import Amazonka.MediaConvert.Types.Vc3Telecine
import qualified Amazonka.Prelude as Prelude
data Vc3Settings = Vc3Settings'
{
Vc3Settings -> Maybe Vc3SlowPal
slowPal :: Prelude.Maybe Vc3SlowPal,
Vc3Settings -> Maybe Vc3Telecine
telecine :: Prelude.Maybe Vc3Telecine,
Vc3Settings -> Maybe Vc3InterlaceMode
interlaceMode :: Prelude.Maybe Vc3InterlaceMode,
Vc3Settings -> Maybe Vc3ScanTypeConversionMode
scanTypeConversionMode :: Prelude.Maybe Vc3ScanTypeConversionMode,
Vc3Settings -> Maybe Natural
framerateDenominator :: Prelude.Maybe Prelude.Natural,
Vc3Settings -> Maybe Vc3Class
vc3Class :: Prelude.Maybe Vc3Class,
Vc3Settings -> Maybe Vc3FramerateConversionAlgorithm
framerateConversionAlgorithm :: Prelude.Maybe Vc3FramerateConversionAlgorithm,
Vc3Settings -> Maybe Vc3FramerateControl
framerateControl :: Prelude.Maybe Vc3FramerateControl,
Vc3Settings -> Maybe Natural
framerateNumerator :: Prelude.Maybe Prelude.Natural
}
deriving (Vc3Settings -> Vc3Settings -> Bool
(Vc3Settings -> Vc3Settings -> Bool)
-> (Vc3Settings -> Vc3Settings -> Bool) -> Eq Vc3Settings
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Vc3Settings -> Vc3Settings -> Bool
$c/= :: Vc3Settings -> Vc3Settings -> Bool
== :: Vc3Settings -> Vc3Settings -> Bool
$c== :: Vc3Settings -> Vc3Settings -> Bool
Prelude.Eq, ReadPrec [Vc3Settings]
ReadPrec Vc3Settings
Int -> ReadS Vc3Settings
ReadS [Vc3Settings]
(Int -> ReadS Vc3Settings)
-> ReadS [Vc3Settings]
-> ReadPrec Vc3Settings
-> ReadPrec [Vc3Settings]
-> Read Vc3Settings
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Vc3Settings]
$creadListPrec :: ReadPrec [Vc3Settings]
readPrec :: ReadPrec Vc3Settings
$creadPrec :: ReadPrec Vc3Settings
readList :: ReadS [Vc3Settings]
$creadList :: ReadS [Vc3Settings]
readsPrec :: Int -> ReadS Vc3Settings
$creadsPrec :: Int -> ReadS Vc3Settings
Prelude.Read, Int -> Vc3Settings -> ShowS
[Vc3Settings] -> ShowS
Vc3Settings -> String
(Int -> Vc3Settings -> ShowS)
-> (Vc3Settings -> String)
-> ([Vc3Settings] -> ShowS)
-> Show Vc3Settings
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Vc3Settings] -> ShowS
$cshowList :: [Vc3Settings] -> ShowS
show :: Vc3Settings -> String
$cshow :: Vc3Settings -> String
showsPrec :: Int -> Vc3Settings -> ShowS
$cshowsPrec :: Int -> Vc3Settings -> ShowS
Prelude.Show, (forall x. Vc3Settings -> Rep Vc3Settings x)
-> (forall x. Rep Vc3Settings x -> Vc3Settings)
-> Generic Vc3Settings
forall x. Rep Vc3Settings x -> Vc3Settings
forall x. Vc3Settings -> Rep Vc3Settings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Vc3Settings x -> Vc3Settings
$cfrom :: forall x. Vc3Settings -> Rep Vc3Settings x
Prelude.Generic)
newVc3Settings ::
Vc3Settings
newVc3Settings :: Vc3Settings
newVc3Settings =
Vc3Settings' :: Maybe Vc3SlowPal
-> Maybe Vc3Telecine
-> Maybe Vc3InterlaceMode
-> Maybe Vc3ScanTypeConversionMode
-> Maybe Natural
-> Maybe Vc3Class
-> Maybe Vc3FramerateConversionAlgorithm
-> Maybe Vc3FramerateControl
-> Maybe Natural
-> Vc3Settings
Vc3Settings'
{ $sel:slowPal:Vc3Settings' :: Maybe Vc3SlowPal
slowPal = Maybe Vc3SlowPal
forall a. Maybe a
Prelude.Nothing,
$sel:telecine:Vc3Settings' :: Maybe Vc3Telecine
telecine = Maybe Vc3Telecine
forall a. Maybe a
Prelude.Nothing,
$sel:interlaceMode:Vc3Settings' :: Maybe Vc3InterlaceMode
interlaceMode = Maybe Vc3InterlaceMode
forall a. Maybe a
Prelude.Nothing,
$sel:scanTypeConversionMode:Vc3Settings' :: Maybe Vc3ScanTypeConversionMode
scanTypeConversionMode = Maybe Vc3ScanTypeConversionMode
forall a. Maybe a
Prelude.Nothing,
$sel:framerateDenominator:Vc3Settings' :: Maybe Natural
framerateDenominator = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
$sel:vc3Class:Vc3Settings' :: Maybe Vc3Class
vc3Class = Maybe Vc3Class
forall a. Maybe a
Prelude.Nothing,
$sel:framerateConversionAlgorithm:Vc3Settings' :: Maybe Vc3FramerateConversionAlgorithm
framerateConversionAlgorithm = Maybe Vc3FramerateConversionAlgorithm
forall a. Maybe a
Prelude.Nothing,
$sel:framerateControl:Vc3Settings' :: Maybe Vc3FramerateControl
framerateControl = Maybe Vc3FramerateControl
forall a. Maybe a
Prelude.Nothing,
$sel:framerateNumerator:Vc3Settings' :: Maybe Natural
framerateNumerator = Maybe Natural
forall a. Maybe a
Prelude.Nothing
}
vc3Settings_slowPal :: Lens.Lens' Vc3Settings (Prelude.Maybe Vc3SlowPal)
vc3Settings_slowPal :: (Maybe Vc3SlowPal -> f (Maybe Vc3SlowPal))
-> Vc3Settings -> f Vc3Settings
vc3Settings_slowPal = (Vc3Settings -> Maybe Vc3SlowPal)
-> (Vc3Settings -> Maybe Vc3SlowPal -> Vc3Settings)
-> Lens
Vc3Settings Vc3Settings (Maybe Vc3SlowPal) (Maybe Vc3SlowPal)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Vc3Settings' {Maybe Vc3SlowPal
slowPal :: Maybe Vc3SlowPal
$sel:slowPal:Vc3Settings' :: Vc3Settings -> Maybe Vc3SlowPal
slowPal} -> Maybe Vc3SlowPal
slowPal) (\s :: Vc3Settings
s@Vc3Settings' {} Maybe Vc3SlowPal
a -> Vc3Settings
s {$sel:slowPal:Vc3Settings' :: Maybe Vc3SlowPal
slowPal = Maybe Vc3SlowPal
a} :: Vc3Settings)
vc3Settings_telecine :: Lens.Lens' Vc3Settings (Prelude.Maybe Vc3Telecine)
vc3Settings_telecine :: (Maybe Vc3Telecine -> f (Maybe Vc3Telecine))
-> Vc3Settings -> f Vc3Settings
vc3Settings_telecine = (Vc3Settings -> Maybe Vc3Telecine)
-> (Vc3Settings -> Maybe Vc3Telecine -> Vc3Settings)
-> Lens
Vc3Settings Vc3Settings (Maybe Vc3Telecine) (Maybe Vc3Telecine)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Vc3Settings' {Maybe Vc3Telecine
telecine :: Maybe Vc3Telecine
$sel:telecine:Vc3Settings' :: Vc3Settings -> Maybe Vc3Telecine
telecine} -> Maybe Vc3Telecine
telecine) (\s :: Vc3Settings
s@Vc3Settings' {} Maybe Vc3Telecine
a -> Vc3Settings
s {$sel:telecine:Vc3Settings' :: Maybe Vc3Telecine
telecine = Maybe Vc3Telecine
a} :: Vc3Settings)
vc3Settings_interlaceMode :: Lens.Lens' Vc3Settings (Prelude.Maybe Vc3InterlaceMode)
vc3Settings_interlaceMode :: (Maybe Vc3InterlaceMode -> f (Maybe Vc3InterlaceMode))
-> Vc3Settings -> f Vc3Settings
vc3Settings_interlaceMode = (Vc3Settings -> Maybe Vc3InterlaceMode)
-> (Vc3Settings -> Maybe Vc3InterlaceMode -> Vc3Settings)
-> Lens
Vc3Settings
Vc3Settings
(Maybe Vc3InterlaceMode)
(Maybe Vc3InterlaceMode)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Vc3Settings' {Maybe Vc3InterlaceMode
interlaceMode :: Maybe Vc3InterlaceMode
$sel:interlaceMode:Vc3Settings' :: Vc3Settings -> Maybe Vc3InterlaceMode
interlaceMode} -> Maybe Vc3InterlaceMode
interlaceMode) (\s :: Vc3Settings
s@Vc3Settings' {} Maybe Vc3InterlaceMode
a -> Vc3Settings
s {$sel:interlaceMode:Vc3Settings' :: Maybe Vc3InterlaceMode
interlaceMode = Maybe Vc3InterlaceMode
a} :: Vc3Settings)
vc3Settings_scanTypeConversionMode :: Lens.Lens' Vc3Settings (Prelude.Maybe Vc3ScanTypeConversionMode)
vc3Settings_scanTypeConversionMode :: (Maybe Vc3ScanTypeConversionMode
-> f (Maybe Vc3ScanTypeConversionMode))
-> Vc3Settings -> f Vc3Settings
vc3Settings_scanTypeConversionMode = (Vc3Settings -> Maybe Vc3ScanTypeConversionMode)
-> (Vc3Settings -> Maybe Vc3ScanTypeConversionMode -> Vc3Settings)
-> Lens
Vc3Settings
Vc3Settings
(Maybe Vc3ScanTypeConversionMode)
(Maybe Vc3ScanTypeConversionMode)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Vc3Settings' {Maybe Vc3ScanTypeConversionMode
scanTypeConversionMode :: Maybe Vc3ScanTypeConversionMode
$sel:scanTypeConversionMode:Vc3Settings' :: Vc3Settings -> Maybe Vc3ScanTypeConversionMode
scanTypeConversionMode} -> Maybe Vc3ScanTypeConversionMode
scanTypeConversionMode) (\s :: Vc3Settings
s@Vc3Settings' {} Maybe Vc3ScanTypeConversionMode
a -> Vc3Settings
s {$sel:scanTypeConversionMode:Vc3Settings' :: Maybe Vc3ScanTypeConversionMode
scanTypeConversionMode = Maybe Vc3ScanTypeConversionMode
a} :: Vc3Settings)
vc3Settings_framerateDenominator :: Lens.Lens' Vc3Settings (Prelude.Maybe Prelude.Natural)
vc3Settings_framerateDenominator :: (Maybe Natural -> f (Maybe Natural))
-> Vc3Settings -> f Vc3Settings
vc3Settings_framerateDenominator = (Vc3Settings -> Maybe Natural)
-> (Vc3Settings -> Maybe Natural -> Vc3Settings)
-> Lens Vc3Settings Vc3Settings (Maybe Natural) (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Vc3Settings' {Maybe Natural
framerateDenominator :: Maybe Natural
$sel:framerateDenominator:Vc3Settings' :: Vc3Settings -> Maybe Natural
framerateDenominator} -> Maybe Natural
framerateDenominator) (\s :: Vc3Settings
s@Vc3Settings' {} Maybe Natural
a -> Vc3Settings
s {$sel:framerateDenominator:Vc3Settings' :: Maybe Natural
framerateDenominator = Maybe Natural
a} :: Vc3Settings)
vc3Settings_vc3Class :: Lens.Lens' Vc3Settings (Prelude.Maybe Vc3Class)
vc3Settings_vc3Class :: (Maybe Vc3Class -> f (Maybe Vc3Class))
-> Vc3Settings -> f Vc3Settings
vc3Settings_vc3Class = (Vc3Settings -> Maybe Vc3Class)
-> (Vc3Settings -> Maybe Vc3Class -> Vc3Settings)
-> Lens Vc3Settings Vc3Settings (Maybe Vc3Class) (Maybe Vc3Class)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Vc3Settings' {Maybe Vc3Class
vc3Class :: Maybe Vc3Class
$sel:vc3Class:Vc3Settings' :: Vc3Settings -> Maybe Vc3Class
vc3Class} -> Maybe Vc3Class
vc3Class) (\s :: Vc3Settings
s@Vc3Settings' {} Maybe Vc3Class
a -> Vc3Settings
s {$sel:vc3Class:Vc3Settings' :: Maybe Vc3Class
vc3Class = Maybe Vc3Class
a} :: Vc3Settings)
vc3Settings_framerateConversionAlgorithm :: Lens.Lens' Vc3Settings (Prelude.Maybe Vc3FramerateConversionAlgorithm)
vc3Settings_framerateConversionAlgorithm :: (Maybe Vc3FramerateConversionAlgorithm
-> f (Maybe Vc3FramerateConversionAlgorithm))
-> Vc3Settings -> f Vc3Settings
vc3Settings_framerateConversionAlgorithm = (Vc3Settings -> Maybe Vc3FramerateConversionAlgorithm)
-> (Vc3Settings
-> Maybe Vc3FramerateConversionAlgorithm -> Vc3Settings)
-> Lens
Vc3Settings
Vc3Settings
(Maybe Vc3FramerateConversionAlgorithm)
(Maybe Vc3FramerateConversionAlgorithm)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Vc3Settings' {Maybe Vc3FramerateConversionAlgorithm
framerateConversionAlgorithm :: Maybe Vc3FramerateConversionAlgorithm
$sel:framerateConversionAlgorithm:Vc3Settings' :: Vc3Settings -> Maybe Vc3FramerateConversionAlgorithm
framerateConversionAlgorithm} -> Maybe Vc3FramerateConversionAlgorithm
framerateConversionAlgorithm) (\s :: Vc3Settings
s@Vc3Settings' {} Maybe Vc3FramerateConversionAlgorithm
a -> Vc3Settings
s {$sel:framerateConversionAlgorithm:Vc3Settings' :: Maybe Vc3FramerateConversionAlgorithm
framerateConversionAlgorithm = Maybe Vc3FramerateConversionAlgorithm
a} :: Vc3Settings)
vc3Settings_framerateControl :: Lens.Lens' Vc3Settings (Prelude.Maybe Vc3FramerateControl)
vc3Settings_framerateControl :: (Maybe Vc3FramerateControl -> f (Maybe Vc3FramerateControl))
-> Vc3Settings -> f Vc3Settings
vc3Settings_framerateControl = (Vc3Settings -> Maybe Vc3FramerateControl)
-> (Vc3Settings -> Maybe Vc3FramerateControl -> Vc3Settings)
-> Lens
Vc3Settings
Vc3Settings
(Maybe Vc3FramerateControl)
(Maybe Vc3FramerateControl)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Vc3Settings' {Maybe Vc3FramerateControl
framerateControl :: Maybe Vc3FramerateControl
$sel:framerateControl:Vc3Settings' :: Vc3Settings -> Maybe Vc3FramerateControl
framerateControl} -> Maybe Vc3FramerateControl
framerateControl) (\s :: Vc3Settings
s@Vc3Settings' {} Maybe Vc3FramerateControl
a -> Vc3Settings
s {$sel:framerateControl:Vc3Settings' :: Maybe Vc3FramerateControl
framerateControl = Maybe Vc3FramerateControl
a} :: Vc3Settings)
vc3Settings_framerateNumerator :: Lens.Lens' Vc3Settings (Prelude.Maybe Prelude.Natural)
vc3Settings_framerateNumerator :: (Maybe Natural -> f (Maybe Natural))
-> Vc3Settings -> f Vc3Settings
vc3Settings_framerateNumerator = (Vc3Settings -> Maybe Natural)
-> (Vc3Settings -> Maybe Natural -> Vc3Settings)
-> Lens Vc3Settings Vc3Settings (Maybe Natural) (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Vc3Settings' {Maybe Natural
framerateNumerator :: Maybe Natural
$sel:framerateNumerator:Vc3Settings' :: Vc3Settings -> Maybe Natural
framerateNumerator} -> Maybe Natural
framerateNumerator) (\s :: Vc3Settings
s@Vc3Settings' {} Maybe Natural
a -> Vc3Settings
s {$sel:framerateNumerator:Vc3Settings' :: Maybe Natural
framerateNumerator = Maybe Natural
a} :: Vc3Settings)
instance Core.FromJSON Vc3Settings where
parseJSON :: Value -> Parser Vc3Settings
parseJSON =
String
-> (Object -> Parser Vc3Settings) -> Value -> Parser Vc3Settings
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
String
"Vc3Settings"
( \Object
x ->
Maybe Vc3SlowPal
-> Maybe Vc3Telecine
-> Maybe Vc3InterlaceMode
-> Maybe Vc3ScanTypeConversionMode
-> Maybe Natural
-> Maybe Vc3Class
-> Maybe Vc3FramerateConversionAlgorithm
-> Maybe Vc3FramerateControl
-> Maybe Natural
-> Vc3Settings
Vc3Settings'
(Maybe Vc3SlowPal
-> Maybe Vc3Telecine
-> Maybe Vc3InterlaceMode
-> Maybe Vc3ScanTypeConversionMode
-> Maybe Natural
-> Maybe Vc3Class
-> Maybe Vc3FramerateConversionAlgorithm
-> Maybe Vc3FramerateControl
-> Maybe Natural
-> Vc3Settings)
-> Parser (Maybe Vc3SlowPal)
-> Parser
(Maybe Vc3Telecine
-> Maybe Vc3InterlaceMode
-> Maybe Vc3ScanTypeConversionMode
-> Maybe Natural
-> Maybe Vc3Class
-> Maybe Vc3FramerateConversionAlgorithm
-> Maybe Vc3FramerateControl
-> Maybe Natural
-> Vc3Settings)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe Vc3SlowPal)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"slowPal")
Parser
(Maybe Vc3Telecine
-> Maybe Vc3InterlaceMode
-> Maybe Vc3ScanTypeConversionMode
-> Maybe Natural
-> Maybe Vc3Class
-> Maybe Vc3FramerateConversionAlgorithm
-> Maybe Vc3FramerateControl
-> Maybe Natural
-> Vc3Settings)
-> Parser (Maybe Vc3Telecine)
-> Parser
(Maybe Vc3InterlaceMode
-> Maybe Vc3ScanTypeConversionMode
-> Maybe Natural
-> Maybe Vc3Class
-> Maybe Vc3FramerateConversionAlgorithm
-> Maybe Vc3FramerateControl
-> Maybe Natural
-> Vc3Settings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Vc3Telecine)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"telecine")
Parser
(Maybe Vc3InterlaceMode
-> Maybe Vc3ScanTypeConversionMode
-> Maybe Natural
-> Maybe Vc3Class
-> Maybe Vc3FramerateConversionAlgorithm
-> Maybe Vc3FramerateControl
-> Maybe Natural
-> Vc3Settings)
-> Parser (Maybe Vc3InterlaceMode)
-> Parser
(Maybe Vc3ScanTypeConversionMode
-> Maybe Natural
-> Maybe Vc3Class
-> Maybe Vc3FramerateConversionAlgorithm
-> Maybe Vc3FramerateControl
-> Maybe Natural
-> Vc3Settings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Vc3InterlaceMode)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"interlaceMode")
Parser
(Maybe Vc3ScanTypeConversionMode
-> Maybe Natural
-> Maybe Vc3Class
-> Maybe Vc3FramerateConversionAlgorithm
-> Maybe Vc3FramerateControl
-> Maybe Natural
-> Vc3Settings)
-> Parser (Maybe Vc3ScanTypeConversionMode)
-> Parser
(Maybe Natural
-> Maybe Vc3Class
-> Maybe Vc3FramerateConversionAlgorithm
-> Maybe Vc3FramerateControl
-> Maybe Natural
-> Vc3Settings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Vc3ScanTypeConversionMode)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"scanTypeConversionMode")
Parser
(Maybe Natural
-> Maybe Vc3Class
-> Maybe Vc3FramerateConversionAlgorithm
-> Maybe Vc3FramerateControl
-> Maybe Natural
-> Vc3Settings)
-> Parser (Maybe Natural)
-> Parser
(Maybe Vc3Class
-> Maybe Vc3FramerateConversionAlgorithm
-> Maybe Vc3FramerateControl
-> Maybe Natural
-> Vc3Settings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"framerateDenominator")
Parser
(Maybe Vc3Class
-> Maybe Vc3FramerateConversionAlgorithm
-> Maybe Vc3FramerateControl
-> Maybe Natural
-> Vc3Settings)
-> Parser (Maybe Vc3Class)
-> Parser
(Maybe Vc3FramerateConversionAlgorithm
-> Maybe Vc3FramerateControl -> Maybe Natural -> Vc3Settings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Vc3Class)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"vc3Class")
Parser
(Maybe Vc3FramerateConversionAlgorithm
-> Maybe Vc3FramerateControl -> Maybe Natural -> Vc3Settings)
-> Parser (Maybe Vc3FramerateConversionAlgorithm)
-> Parser
(Maybe Vc3FramerateControl -> Maybe Natural -> Vc3Settings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Vc3FramerateConversionAlgorithm)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"framerateConversionAlgorithm")
Parser (Maybe Vc3FramerateControl -> Maybe Natural -> Vc3Settings)
-> Parser (Maybe Vc3FramerateControl)
-> Parser (Maybe Natural -> Vc3Settings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Vc3FramerateControl)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"framerateControl")
Parser (Maybe Natural -> Vc3Settings)
-> Parser (Maybe Natural) -> Parser Vc3Settings
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"framerateNumerator")
)
instance Prelude.Hashable Vc3Settings
instance Prelude.NFData Vc3Settings
instance Core.ToJSON Vc3Settings where
toJSON :: Vc3Settings -> Value
toJSON Vc3Settings' {Maybe Natural
Maybe Vc3Class
Maybe Vc3FramerateControl
Maybe Vc3FramerateConversionAlgorithm
Maybe Vc3InterlaceMode
Maybe Vc3ScanTypeConversionMode
Maybe Vc3SlowPal
Maybe Vc3Telecine
framerateNumerator :: Maybe Natural
framerateControl :: Maybe Vc3FramerateControl
framerateConversionAlgorithm :: Maybe Vc3FramerateConversionAlgorithm
vc3Class :: Maybe Vc3Class
framerateDenominator :: Maybe Natural
scanTypeConversionMode :: Maybe Vc3ScanTypeConversionMode
interlaceMode :: Maybe Vc3InterlaceMode
telecine :: Maybe Vc3Telecine
slowPal :: Maybe Vc3SlowPal
$sel:framerateNumerator:Vc3Settings' :: Vc3Settings -> Maybe Natural
$sel:framerateControl:Vc3Settings' :: Vc3Settings -> Maybe Vc3FramerateControl
$sel:framerateConversionAlgorithm:Vc3Settings' :: Vc3Settings -> Maybe Vc3FramerateConversionAlgorithm
$sel:vc3Class:Vc3Settings' :: Vc3Settings -> Maybe Vc3Class
$sel:framerateDenominator:Vc3Settings' :: Vc3Settings -> Maybe Natural
$sel:scanTypeConversionMode:Vc3Settings' :: Vc3Settings -> Maybe Vc3ScanTypeConversionMode
$sel:interlaceMode:Vc3Settings' :: Vc3Settings -> Maybe Vc3InterlaceMode
$sel:telecine:Vc3Settings' :: Vc3Settings -> Maybe Vc3Telecine
$sel:slowPal:Vc3Settings' :: Vc3Settings -> Maybe Vc3SlowPal
..} =
[Pair] -> Value
Core.object
( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Text
"slowPal" Text -> Vc3SlowPal -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Vc3SlowPal -> Pair) -> Maybe Vc3SlowPal -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Vc3SlowPal
slowPal,
(Text
"telecine" Text -> Vc3Telecine -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Vc3Telecine -> Pair) -> Maybe Vc3Telecine -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Vc3Telecine
telecine,
(Text
"interlaceMode" Text -> Vc3InterlaceMode -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Vc3InterlaceMode -> Pair) -> Maybe Vc3InterlaceMode -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Vc3InterlaceMode
interlaceMode,
(Text
"scanTypeConversionMode" Text -> Vc3ScanTypeConversionMode -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(Vc3ScanTypeConversionMode -> Pair)
-> Maybe Vc3ScanTypeConversionMode -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Vc3ScanTypeConversionMode
scanTypeConversionMode,
(Text
"framerateDenominator" Text -> Natural -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(Natural -> Pair) -> Maybe Natural -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
framerateDenominator,
(Text
"vc3Class" Text -> Vc3Class -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Vc3Class -> Pair) -> Maybe Vc3Class -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Vc3Class
vc3Class,
(Text
"framerateConversionAlgorithm" Text -> Vc3FramerateConversionAlgorithm -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(Vc3FramerateConversionAlgorithm -> Pair)
-> Maybe Vc3FramerateConversionAlgorithm -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Vc3FramerateConversionAlgorithm
framerateConversionAlgorithm,
(Text
"framerateControl" Text -> Vc3FramerateControl -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(Vc3FramerateControl -> Pair)
-> Maybe Vc3FramerateControl -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Vc3FramerateControl
framerateControl,
(Text
"framerateNumerator" Text -> Natural -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(Natural -> Pair) -> Maybe Natural -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
framerateNumerator
]
)