{-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif

module GI.GstTag.Constants
    ( 
    pattern TAG_MUSICBRAINZ_TRMID           ,
    pattern TAG_MUSICBRAINZ_TRACKID         ,
    pattern TAG_MUSICBRAINZ_RELEASETRACKID  ,
    pattern TAG_MUSICBRAINZ_RELEASEGROUPID  ,
    pattern TAG_MUSICBRAINZ_ARTISTID        ,
    pattern TAG_MUSICBRAINZ_ALBUMID         ,
    pattern TAG_MUSICBRAINZ_ALBUMARTISTID   ,
    pattern TAG_MUSICAL_KEY                 ,
    pattern TAG_IMAGE_VERTICAL_PPI          ,
    pattern TAG_IMAGE_HORIZONTAL_PPI        ,
    pattern TAG_ID3V2_HEADER_SIZE           ,
    pattern TAG_CMML_STREAM                 ,
    pattern TAG_CMML_HEAD                   ,
    pattern TAG_CMML_CLIP                   ,
    pattern TAG_CDDA_MUSICBRAINZ_DISCID_FULL,
    pattern TAG_CDDA_MUSICBRAINZ_DISCID     ,
    pattern TAG_CDDA_CDDB_DISCID_FULL       ,
    pattern TAG_CDDA_CDDB_DISCID            ,
    pattern TAG_CAPTURING_WHITE_BALANCE     ,
    pattern TAG_CAPTURING_SOURCE            ,
    pattern TAG_CAPTURING_SHUTTER_SPEED     ,
    pattern TAG_CAPTURING_SHARPNESS         ,
    pattern TAG_CAPTURING_SCENE_CAPTURE_TYPE,
    pattern TAG_CAPTURING_SATURATION        ,
    pattern TAG_CAPTURING_METERING_MODE     ,
    pattern TAG_CAPTURING_ISO_SPEED         ,
    pattern TAG_CAPTURING_GAIN_ADJUSTMENT   ,
    pattern TAG_CAPTURING_FOCAL_RATIO       ,
    pattern TAG_CAPTURING_FOCAL_LENGTH_35_MM,
    pattern TAG_CAPTURING_FOCAL_LENGTH      ,
    pattern TAG_CAPTURING_FLASH_MODE        ,
    pattern TAG_CAPTURING_FLASH_FIRED       ,
    pattern TAG_CAPTURING_EXPOSURE_PROGRAM  ,
    pattern TAG_CAPTURING_EXPOSURE_MODE     ,
    pattern TAG_CAPTURING_EXPOSURE_COMPENSATION,
    pattern TAG_CAPTURING_DIGITAL_ZOOM_RATIO,
    pattern TAG_CAPTURING_CONTRAST          ,
    pattern TAG_ACOUSTID_ID                 ,
    pattern TAG_ACOUSTID_FINGERPRINT        ,

    ) where

import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT

-- Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/23392
#if MIN_VERSION_base(4,18,0)

#else

#endif

-- | MusicBrainz track TRM ID
pattern $mTAG_MUSICBRAINZ_TRMID :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_MUSICBRAINZ_TRMID :: Text
TAG_MUSICBRAINZ_TRMID = "musicbrainz-trmid" :: T.Text

-- | MusicBrainz track ID
pattern $mTAG_MUSICBRAINZ_TRACKID :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_MUSICBRAINZ_TRACKID :: Text
TAG_MUSICBRAINZ_TRACKID = "musicbrainz-trackid" :: T.Text

-- | MusicBrainz Release Track ID
-- 
-- /Since: 1.18/
pattern $mTAG_MUSICBRAINZ_RELEASETRACKID :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_MUSICBRAINZ_RELEASETRACKID :: Text
TAG_MUSICBRAINZ_RELEASETRACKID = "musicbrainz-releasetrackid" :: T.Text

-- | MusicBrainz Release Group ID
-- 
-- /Since: 1.18/
pattern $mTAG_MUSICBRAINZ_RELEASEGROUPID :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_MUSICBRAINZ_RELEASEGROUPID :: Text
TAG_MUSICBRAINZ_RELEASEGROUPID = "musicbrainz-releasegroupid" :: T.Text

-- | MusicBrainz artist ID
pattern $mTAG_MUSICBRAINZ_ARTISTID :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_MUSICBRAINZ_ARTISTID :: Text
TAG_MUSICBRAINZ_ARTISTID = "musicbrainz-artistid" :: T.Text

-- | MusicBrainz album ID
pattern $mTAG_MUSICBRAINZ_ALBUMID :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_MUSICBRAINZ_ALBUMID :: Text
TAG_MUSICBRAINZ_ALBUMID = "musicbrainz-albumid" :: T.Text

-- | MusicBrainz album artist ID
pattern $mTAG_MUSICBRAINZ_ALBUMARTISTID :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_MUSICBRAINZ_ALBUMARTISTID :: Text
TAG_MUSICBRAINZ_ALBUMARTISTID = "musicbrainz-albumartistid" :: T.Text

-- | Musical key in which the sound starts. It is represented as a string
-- with a maximum length of three characters. The ground keys are
-- represented with \"A\",\"B\",\"C\",\"D\",\"E\", \"F\" and \"G\" and halfkeys
-- represented with \"b\" and \"#\". Minor is represented as \"m\" (e.g. \"Dbm\").
-- Off key is represented with an \"o\" only.
-- This notation might be extended in the future to support non-minor\/major
-- keys.
-- 
-- /Since: 1.2/
pattern $mTAG_MUSICAL_KEY :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_MUSICAL_KEY :: Text
TAG_MUSICAL_KEY = "musical-key" :: T.Text

-- | Media (image\/video) intended vertical pixel density in ppi. (double)
pattern $mTAG_IMAGE_VERTICAL_PPI :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_IMAGE_VERTICAL_PPI :: Text
TAG_IMAGE_VERTICAL_PPI = "image-vertical-ppi" :: T.Text

-- | Media (image\/video) intended horizontal pixel density in ppi. (double)
pattern $mTAG_IMAGE_HORIZONTAL_PPI :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_IMAGE_HORIZONTAL_PPI :: Text
TAG_IMAGE_HORIZONTAL_PPI = "image-horizontal-ppi" :: T.Text

-- | ID3V2 header size considered minimum input for some functions such as
-- 'GI.GstTag.Functions.tagListFromId3v2Tag' and 'GI.GstTag.Functions.tagGetId3v2TagSize' for example.
pattern $mTAG_ID3V2_HEADER_SIZE :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_ID3V2_HEADER_SIZE :: Int32
TAG_ID3V2_HEADER_SIZE = 10 :: Int32

-- | Annodex CMML stream element tag
pattern $mTAG_CMML_STREAM :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CMML_STREAM :: Text
TAG_CMML_STREAM = "cmml-stream" :: T.Text

-- | Annodex CMML head element tag
pattern $mTAG_CMML_HEAD :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CMML_HEAD :: Text
TAG_CMML_HEAD = "cmml-head" :: T.Text

-- | Annodex CMML clip element tag
pattern $mTAG_CMML_CLIP :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CMML_CLIP :: Text
TAG_CMML_CLIP = "cmml-clip" :: T.Text

-- | Musicbrainz disc id details
pattern $mTAG_CDDA_MUSICBRAINZ_DISCID_FULL :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CDDA_MUSICBRAINZ_DISCID_FULL :: Text
TAG_CDDA_MUSICBRAINZ_DISCID_FULL = "musicbrainz-discid-full" :: T.Text

-- | Musicbrainz disc id (e.g. \'ahg7JUcfR3vCYBphSDIogOOWrr0-\')
pattern $mTAG_CDDA_MUSICBRAINZ_DISCID :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CDDA_MUSICBRAINZ_DISCID :: Text
TAG_CDDA_MUSICBRAINZ_DISCID = "musicbrainz-discid" :: T.Text

-- | CDDB disc id including all details
pattern $mTAG_CDDA_CDDB_DISCID_FULL :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CDDA_CDDB_DISCID_FULL :: Text
TAG_CDDA_CDDB_DISCID_FULL = "discid-full" :: T.Text

-- | CDDB disc id in its short form (e.g. \'aa063d0f\')
pattern $mTAG_CDDA_CDDB_DISCID :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CDDA_CDDB_DISCID :: Text
TAG_CDDA_CDDB_DISCID = "discid" :: T.Text

-- | White balance mode used when capturing an image. (string)
-- 
-- The allowed values are:
--   \"auto\"
--   \"manual\"
--   \"daylight\"
--   \"cloudy\"
--   \"tungsten\"
--   \"fluorescent\"
--   \"fluorescent h\" (newer daylight-calibrated fluorescents)
--   \"flash\"
pattern $mTAG_CAPTURING_WHITE_BALANCE :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_WHITE_BALANCE :: Text
TAG_CAPTURING_WHITE_BALANCE = "capturing-white-balance" :: T.Text

-- | Indicates the source of capture. The device\/medium used to do the
-- capture. (string)
-- 
-- Allowed values are:
--   \"dsc\" (= digital still camera)
--   \"transparent-scanner\"
--   \"reflex-scanner\"
--   \"other\"
pattern $mTAG_CAPTURING_SOURCE :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_SOURCE :: Text
TAG_CAPTURING_SOURCE = "capturing-source" :: T.Text

-- | Shutter speed used when capturing an image, in seconds. (fraction)
pattern $mTAG_CAPTURING_SHUTTER_SPEED :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_SHUTTER_SPEED :: Text
TAG_CAPTURING_SHUTTER_SPEED = "capturing-shutter-speed" :: T.Text

-- | Direction of sharpness processing applied when capturing an image. (string)
-- 
-- The allowed values are:
--  \"normal\"
--  \"soft\"
--  \"hard\"
pattern $mTAG_CAPTURING_SHARPNESS :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_SHARPNESS :: Text
TAG_CAPTURING_SHARPNESS = "capturing-sharpness" :: T.Text

-- | Scene mode used when capturing an image. (string)
-- 
-- The allowed values are:
--   \"standard\"
--   \"landscape\"
--   \"portrait\"
--   \"night-scene\"
pattern $mTAG_CAPTURING_SCENE_CAPTURE_TYPE :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_SCENE_CAPTURE_TYPE :: Text
TAG_CAPTURING_SCENE_CAPTURE_TYPE = "capturing-scene-capture-type" :: T.Text

-- | Direction of saturation processing applied when capturing an image. (string)
-- 
-- The allowed values are:
--  \"normal\"
--  \"low-saturation\"
--  \"high-saturation\"
pattern $mTAG_CAPTURING_SATURATION :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_SATURATION :: Text
TAG_CAPTURING_SATURATION = "capturing-saturation" :: T.Text

-- | Defines the way a camera determines the exposure. (string)
-- 
-- The allowed values are:
--   \"unknown\"
--   \"average\"
--   \"center-weighted-average\"
--   \"spot\"
--   \"multi-spot\"
--   \"pattern\"
--   \"partial\"
--   \"other\"
pattern $mTAG_CAPTURING_METERING_MODE :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_METERING_MODE :: Text
TAG_CAPTURING_METERING_MODE = "capturing-metering-mode" :: T.Text

-- | ISO speed used when capturing an image. (integer)
pattern $mTAG_CAPTURING_ISO_SPEED :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_ISO_SPEED :: Text
TAG_CAPTURING_ISO_SPEED = "capturing-iso-speed" :: T.Text

-- | Gain adjustment applied to an image. (string)
-- 
-- The allowed values are:
--   \"none\"
--   \"low-gain-up\"
--   \"high-gain-up\"
--   \"low-gain-down\"
--   \"high-gain-down\"
pattern $mTAG_CAPTURING_GAIN_ADJUSTMENT :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_GAIN_ADJUSTMENT :: Text
TAG_CAPTURING_GAIN_ADJUSTMENT = "capturing-gain-adjustment" :: T.Text

-- | Focal ratio (f-number) used when capturing an image. (double)
-- 
-- The value stored is the denominator of the focal ratio (f-number).
-- For example, if this tag value is 2, the focal ratio is f\/2.
pattern $mTAG_CAPTURING_FOCAL_RATIO :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_FOCAL_RATIO :: Text
TAG_CAPTURING_FOCAL_RATIO = "capturing-focal-ratio" :: T.Text

-- | 35 mm equivalent focal length used when capturing an image, in mm. (double)
-- 
-- /Since: 1.10/
pattern $mTAG_CAPTURING_FOCAL_LENGTH_35_MM :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_FOCAL_LENGTH_35_MM :: Text
TAG_CAPTURING_FOCAL_LENGTH_35_MM = "capturing-focal-length-35mm" :: T.Text

-- | Focal length used when capturing an image, in mm. (double)
pattern $mTAG_CAPTURING_FOCAL_LENGTH :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_FOCAL_LENGTH :: Text
TAG_CAPTURING_FOCAL_LENGTH = "capturing-focal-length" :: T.Text

-- | The flash mode selected during the capture of an image. (string)
-- 
-- The allowed values are:
--  \"auto\"
--  \"always\"
--  \"never\"
pattern $mTAG_CAPTURING_FLASH_MODE :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_FLASH_MODE :: Text
TAG_CAPTURING_FLASH_MODE = "capturing-flash-mode" :: T.Text

-- | If flash was fired during the capture of an image. (boolean)
-- 
-- Note that if this tag isn\'t present, it should not be assumed that
-- the flash did not fire. It should be treated as unknown.
pattern $mTAG_CAPTURING_FLASH_FIRED :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_FLASH_FIRED :: Text
TAG_CAPTURING_FLASH_FIRED = "capturing-flash-fired" :: T.Text

-- | Type of exposure control used when capturing an image. (string)
-- 
-- The allowed values are:
--   \"undefined\"
--   \"manual\"
--   \"normal\" - automatically controlled
--   \"aperture-priority\" - user selects aperture value
--   \"shutter-priority\" - user selects shutter speed
--   \"creative\" - biased towards depth of field
--   \"action\" - biased towards fast shutter speed
--   \"portrait\" - closeup, leaving background out of focus
--   \"landscape\" - landscape photos, background in focus
pattern $mTAG_CAPTURING_EXPOSURE_PROGRAM :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_EXPOSURE_PROGRAM :: Text
TAG_CAPTURING_EXPOSURE_PROGRAM = "capturing-exposure-program" :: T.Text

-- | Exposure mode used when capturing an image. (string)
-- 
-- The allowed values are:
--   \"auto-exposure\"
--   \"manual-exposure\"
--   \"auto-bracket\"
pattern $mTAG_CAPTURING_EXPOSURE_MODE :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_EXPOSURE_MODE :: Text
TAG_CAPTURING_EXPOSURE_MODE = "capturing-exposure-mode" :: T.Text

-- | Exposure compensation using when capturing an image in EV. (double)
pattern $mTAG_CAPTURING_EXPOSURE_COMPENSATION :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_EXPOSURE_COMPENSATION :: Text
TAG_CAPTURING_EXPOSURE_COMPENSATION = "capturing-exposure-compensation" :: T.Text

-- | Digital zoom ratio used when capturing an image. (double)
pattern $mTAG_CAPTURING_DIGITAL_ZOOM_RATIO :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_DIGITAL_ZOOM_RATIO :: Text
TAG_CAPTURING_DIGITAL_ZOOM_RATIO = "capturing-digital-zoom-ratio" :: T.Text

-- | Direction of contrast processing applied when capturing an image. (string)
-- 
-- The allowed values are:
--  \"normal\"
--  \"soft\"
--  \"hard\"
pattern $mTAG_CAPTURING_CONTRAST :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_CAPTURING_CONTRAST :: Text
TAG_CAPTURING_CONTRAST = "capturing-contrast" :: T.Text

-- | AcoustID Identifier
-- 
-- /Since: 1.18/
pattern $mTAG_ACOUSTID_ID :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_ACOUSTID_ID :: Text
TAG_ACOUSTID_ID = "acoustid-id" :: T.Text

-- | AcoustID Fingerprint (Chromaprint)
-- 
-- /Since: 1.18/
pattern $mTAG_ACOUSTID_FINGERPRINT :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bTAG_ACOUSTID_FINGERPRINT :: Text
TAG_ACOUSTID_FINGERPRINT = "chromaprint-fingerprint" :: T.Text