{-# 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.AudioNormalizationPeakCalculation
-- 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.AudioNormalizationPeakCalculation
  ( AudioNormalizationPeakCalculation
      ( ..,
        AudioNormalizationPeakCalculation_NONE,
        AudioNormalizationPeakCalculation_TRUE_PEAK
      ),
  )
where

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

-- | If set to TRUE_PEAK, calculate and log the TruePeak for each output\'s
-- audio track loudness.
newtype AudioNormalizationPeakCalculation = AudioNormalizationPeakCalculation'
  { AudioNormalizationPeakCalculation -> Text
fromAudioNormalizationPeakCalculation ::
      Core.Text
  }
  deriving stock
    ( Int -> AudioNormalizationPeakCalculation -> ShowS
[AudioNormalizationPeakCalculation] -> ShowS
AudioNormalizationPeakCalculation -> String
(Int -> AudioNormalizationPeakCalculation -> ShowS)
-> (AudioNormalizationPeakCalculation -> String)
-> ([AudioNormalizationPeakCalculation] -> ShowS)
-> Show AudioNormalizationPeakCalculation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioNormalizationPeakCalculation] -> ShowS
$cshowList :: [AudioNormalizationPeakCalculation] -> ShowS
show :: AudioNormalizationPeakCalculation -> String
$cshow :: AudioNormalizationPeakCalculation -> String
showsPrec :: Int -> AudioNormalizationPeakCalculation -> ShowS
$cshowsPrec :: Int -> AudioNormalizationPeakCalculation -> ShowS
Prelude.Show,
      ReadPrec [AudioNormalizationPeakCalculation]
ReadPrec AudioNormalizationPeakCalculation
Int -> ReadS AudioNormalizationPeakCalculation
ReadS [AudioNormalizationPeakCalculation]
(Int -> ReadS AudioNormalizationPeakCalculation)
-> ReadS [AudioNormalizationPeakCalculation]
-> ReadPrec AudioNormalizationPeakCalculation
-> ReadPrec [AudioNormalizationPeakCalculation]
-> Read AudioNormalizationPeakCalculation
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AudioNormalizationPeakCalculation]
$creadListPrec :: ReadPrec [AudioNormalizationPeakCalculation]
readPrec :: ReadPrec AudioNormalizationPeakCalculation
$creadPrec :: ReadPrec AudioNormalizationPeakCalculation
readList :: ReadS [AudioNormalizationPeakCalculation]
$creadList :: ReadS [AudioNormalizationPeakCalculation]
readsPrec :: Int -> ReadS AudioNormalizationPeakCalculation
$creadsPrec :: Int -> ReadS AudioNormalizationPeakCalculation
Prelude.Read,
      AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Bool
(AudioNormalizationPeakCalculation
 -> AudioNormalizationPeakCalculation -> Bool)
-> (AudioNormalizationPeakCalculation
    -> AudioNormalizationPeakCalculation -> Bool)
-> Eq AudioNormalizationPeakCalculation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Bool
$c/= :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Bool
== :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Bool
$c== :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Bool
Prelude.Eq,
      Eq AudioNormalizationPeakCalculation
Eq AudioNormalizationPeakCalculation
-> (AudioNormalizationPeakCalculation
    -> AudioNormalizationPeakCalculation -> Ordering)
-> (AudioNormalizationPeakCalculation
    -> AudioNormalizationPeakCalculation -> Bool)
-> (AudioNormalizationPeakCalculation
    -> AudioNormalizationPeakCalculation -> Bool)
-> (AudioNormalizationPeakCalculation
    -> AudioNormalizationPeakCalculation -> Bool)
-> (AudioNormalizationPeakCalculation
    -> AudioNormalizationPeakCalculation -> Bool)
-> (AudioNormalizationPeakCalculation
    -> AudioNormalizationPeakCalculation
    -> AudioNormalizationPeakCalculation)
-> (AudioNormalizationPeakCalculation
    -> AudioNormalizationPeakCalculation
    -> AudioNormalizationPeakCalculation)
-> Ord AudioNormalizationPeakCalculation
AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Bool
AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Ordering
AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation
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 :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation
$cmin :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation
max :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation
$cmax :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation
>= :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Bool
$c>= :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Bool
> :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Bool
$c> :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Bool
<= :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Bool
$c<= :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Bool
< :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Bool
$c< :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Bool
compare :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Ordering
$ccompare :: AudioNormalizationPeakCalculation
-> AudioNormalizationPeakCalculation -> Ordering
$cp1Ord :: Eq AudioNormalizationPeakCalculation
Prelude.Ord,
      (forall x.
 AudioNormalizationPeakCalculation
 -> Rep AudioNormalizationPeakCalculation x)
-> (forall x.
    Rep AudioNormalizationPeakCalculation x
    -> AudioNormalizationPeakCalculation)
-> Generic AudioNormalizationPeakCalculation
forall x.
Rep AudioNormalizationPeakCalculation x
-> AudioNormalizationPeakCalculation
forall x.
AudioNormalizationPeakCalculation
-> Rep AudioNormalizationPeakCalculation x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AudioNormalizationPeakCalculation x
-> AudioNormalizationPeakCalculation
$cfrom :: forall x.
AudioNormalizationPeakCalculation
-> Rep AudioNormalizationPeakCalculation x
Prelude.Generic
    )
  deriving newtype
    ( Int -> AudioNormalizationPeakCalculation -> Int
AudioNormalizationPeakCalculation -> Int
(Int -> AudioNormalizationPeakCalculation -> Int)
-> (AudioNormalizationPeakCalculation -> Int)
-> Hashable AudioNormalizationPeakCalculation
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: AudioNormalizationPeakCalculation -> Int
$chash :: AudioNormalizationPeakCalculation -> Int
hashWithSalt :: Int -> AudioNormalizationPeakCalculation -> Int
$chashWithSalt :: Int -> AudioNormalizationPeakCalculation -> Int
Prelude.Hashable,
      AudioNormalizationPeakCalculation -> ()
(AudioNormalizationPeakCalculation -> ())
-> NFData AudioNormalizationPeakCalculation
forall a. (a -> ()) -> NFData a
rnf :: AudioNormalizationPeakCalculation -> ()
$crnf :: AudioNormalizationPeakCalculation -> ()
Prelude.NFData,
      Text -> Either String AudioNormalizationPeakCalculation
(Text -> Either String AudioNormalizationPeakCalculation)
-> FromText AudioNormalizationPeakCalculation
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String AudioNormalizationPeakCalculation
$cfromText :: Text -> Either String AudioNormalizationPeakCalculation
Core.FromText,
      AudioNormalizationPeakCalculation -> Text
(AudioNormalizationPeakCalculation -> Text)
-> ToText AudioNormalizationPeakCalculation
forall a. (a -> Text) -> ToText a
toText :: AudioNormalizationPeakCalculation -> Text
$ctoText :: AudioNormalizationPeakCalculation -> Text
Core.ToText,
      AudioNormalizationPeakCalculation -> ByteString
(AudioNormalizationPeakCalculation -> ByteString)
-> ToByteString AudioNormalizationPeakCalculation
forall a. (a -> ByteString) -> ToByteString a
toBS :: AudioNormalizationPeakCalculation -> ByteString
$ctoBS :: AudioNormalizationPeakCalculation -> ByteString
Core.ToByteString,
      AudioNormalizationPeakCalculation -> ByteStringBuilder
(AudioNormalizationPeakCalculation -> ByteStringBuilder)
-> ToLog AudioNormalizationPeakCalculation
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: AudioNormalizationPeakCalculation -> ByteStringBuilder
$cbuild :: AudioNormalizationPeakCalculation -> ByteStringBuilder
Core.ToLog,
      HeaderName -> AudioNormalizationPeakCalculation -> [Header]
(HeaderName -> AudioNormalizationPeakCalculation -> [Header])
-> ToHeader AudioNormalizationPeakCalculation
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> AudioNormalizationPeakCalculation -> [Header]
$ctoHeader :: HeaderName -> AudioNormalizationPeakCalculation -> [Header]
Core.ToHeader,
      AudioNormalizationPeakCalculation -> QueryString
(AudioNormalizationPeakCalculation -> QueryString)
-> ToQuery AudioNormalizationPeakCalculation
forall a. (a -> QueryString) -> ToQuery a
toQuery :: AudioNormalizationPeakCalculation -> QueryString
$ctoQuery :: AudioNormalizationPeakCalculation -> QueryString
Core.ToQuery,
      Value -> Parser [AudioNormalizationPeakCalculation]
Value -> Parser AudioNormalizationPeakCalculation
(Value -> Parser AudioNormalizationPeakCalculation)
-> (Value -> Parser [AudioNormalizationPeakCalculation])
-> FromJSON AudioNormalizationPeakCalculation
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [AudioNormalizationPeakCalculation]
$cparseJSONList :: Value -> Parser [AudioNormalizationPeakCalculation]
parseJSON :: Value -> Parser AudioNormalizationPeakCalculation
$cparseJSON :: Value -> Parser AudioNormalizationPeakCalculation
Core.FromJSON,
      FromJSONKeyFunction [AudioNormalizationPeakCalculation]
FromJSONKeyFunction AudioNormalizationPeakCalculation
FromJSONKeyFunction AudioNormalizationPeakCalculation
-> FromJSONKeyFunction [AudioNormalizationPeakCalculation]
-> FromJSONKey AudioNormalizationPeakCalculation
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [AudioNormalizationPeakCalculation]
$cfromJSONKeyList :: FromJSONKeyFunction [AudioNormalizationPeakCalculation]
fromJSONKey :: FromJSONKeyFunction AudioNormalizationPeakCalculation
$cfromJSONKey :: FromJSONKeyFunction AudioNormalizationPeakCalculation
Core.FromJSONKey,
      [AudioNormalizationPeakCalculation] -> Encoding
[AudioNormalizationPeakCalculation] -> Value
AudioNormalizationPeakCalculation -> Encoding
AudioNormalizationPeakCalculation -> Value
(AudioNormalizationPeakCalculation -> Value)
-> (AudioNormalizationPeakCalculation -> Encoding)
-> ([AudioNormalizationPeakCalculation] -> Value)
-> ([AudioNormalizationPeakCalculation] -> Encoding)
-> ToJSON AudioNormalizationPeakCalculation
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [AudioNormalizationPeakCalculation] -> Encoding
$ctoEncodingList :: [AudioNormalizationPeakCalculation] -> Encoding
toJSONList :: [AudioNormalizationPeakCalculation] -> Value
$ctoJSONList :: [AudioNormalizationPeakCalculation] -> Value
toEncoding :: AudioNormalizationPeakCalculation -> Encoding
$ctoEncoding :: AudioNormalizationPeakCalculation -> Encoding
toJSON :: AudioNormalizationPeakCalculation -> Value
$ctoJSON :: AudioNormalizationPeakCalculation -> Value
Core.ToJSON,
      ToJSONKeyFunction [AudioNormalizationPeakCalculation]
ToJSONKeyFunction AudioNormalizationPeakCalculation
ToJSONKeyFunction AudioNormalizationPeakCalculation
-> ToJSONKeyFunction [AudioNormalizationPeakCalculation]
-> ToJSONKey AudioNormalizationPeakCalculation
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [AudioNormalizationPeakCalculation]
$ctoJSONKeyList :: ToJSONKeyFunction [AudioNormalizationPeakCalculation]
toJSONKey :: ToJSONKeyFunction AudioNormalizationPeakCalculation
$ctoJSONKey :: ToJSONKeyFunction AudioNormalizationPeakCalculation
Core.ToJSONKey,
      [Node] -> Either String AudioNormalizationPeakCalculation
([Node] -> Either String AudioNormalizationPeakCalculation)
-> FromXML AudioNormalizationPeakCalculation
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String AudioNormalizationPeakCalculation
$cparseXML :: [Node] -> Either String AudioNormalizationPeakCalculation
Core.FromXML,
      AudioNormalizationPeakCalculation -> XML
(AudioNormalizationPeakCalculation -> XML)
-> ToXML AudioNormalizationPeakCalculation
forall a. (a -> XML) -> ToXML a
toXML :: AudioNormalizationPeakCalculation -> XML
$ctoXML :: AudioNormalizationPeakCalculation -> XML
Core.ToXML
    )

pattern AudioNormalizationPeakCalculation_NONE :: AudioNormalizationPeakCalculation
pattern $bAudioNormalizationPeakCalculation_NONE :: AudioNormalizationPeakCalculation
$mAudioNormalizationPeakCalculation_NONE :: forall r.
AudioNormalizationPeakCalculation
-> (Void# -> r) -> (Void# -> r) -> r
AudioNormalizationPeakCalculation_NONE = AudioNormalizationPeakCalculation' "NONE"

pattern AudioNormalizationPeakCalculation_TRUE_PEAK :: AudioNormalizationPeakCalculation
pattern $bAudioNormalizationPeakCalculation_TRUE_PEAK :: AudioNormalizationPeakCalculation
$mAudioNormalizationPeakCalculation_TRUE_PEAK :: forall r.
AudioNormalizationPeakCalculation
-> (Void# -> r) -> (Void# -> r) -> r
AudioNormalizationPeakCalculation_TRUE_PEAK = AudioNormalizationPeakCalculation' "TRUE_PEAK"

{-# COMPLETE
  AudioNormalizationPeakCalculation_NONE,
  AudioNormalizationPeakCalculation_TRUE_PEAK,
  AudioNormalizationPeakCalculation'
  #-}