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


{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-}

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

module GI.GstTag.Constants
    (
    pattern TAG_MUSICBRAINZ_TRMID           ,
    pattern TAG_MUSICBRAINZ_TRACKID         ,
    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          ,

    ) 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.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
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.Text as T
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


{- |
MusicBrainz track TRM ID
-}
pattern TAG_MUSICBRAINZ_TRMID = "musicbrainz-trmid" :: T.Text

{- |
MusicBrainz track ID
-}
pattern TAG_MUSICBRAINZ_TRACKID = "musicbrainz-trackid" :: T.Text

{- |
MusicBrainz artist ID
-}
pattern TAG_MUSICBRAINZ_ARTISTID = "musicbrainz-artistid" :: T.Text

{- |
MusicBrainz album ID
-}
pattern TAG_MUSICBRAINZ_ALBUMID = "musicbrainz-albumid" :: T.Text

{- |
MusicBrainz album artist ID
-}
pattern 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 TAG_MUSICAL_KEY = "musical-key" :: T.Text

{- |
Media (image\/video) intended vertical pixel density in ppi. (double)
-}
pattern TAG_IMAGE_VERTICAL_PPI = "image-vertical-ppi" :: T.Text

{- |
Media (image\/video) intended horizontal pixel density in ppi. (double)
-}
pattern 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 TAG_ID3V2_HEADER_SIZE = 10 :: Int32

{- |
Annodex CMML stream element tag
-}
pattern TAG_CMML_STREAM = "cmml-stream" :: T.Text

{- |
Annodex CMML head element tag
-}
pattern TAG_CMML_HEAD = "cmml-head" :: T.Text

{- |
Annodex CMML clip element tag
-}
pattern TAG_CMML_CLIP = "cmml-clip" :: T.Text

{- |
Musicbrainz disc id details
-}
pattern TAG_CDDA_MUSICBRAINZ_DISCID_FULL = "musicbrainz-discid-full" :: T.Text

{- |
Musicbrainz disc id (e.g. \'ahg7JUcfR3vCYBphSDIogOOWrr0-\')
-}
pattern TAG_CDDA_MUSICBRAINZ_DISCID = "musicbrainz-discid" :: T.Text

{- |
CDDB disc id including all details
-}
pattern TAG_CDDA_CDDB_DISCID_FULL = "discid-full" :: T.Text

{- |
CDDB disc id in its short form (e.g. \'aa063d0f\')
-}
pattern 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 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 TAG_CAPTURING_SOURCE = "capturing-source" :: T.Text

{- |
Shutter speed used when capturing an image, in seconds. (fraction)
-}
pattern 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 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 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 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 TAG_CAPTURING_METERING_MODE = "capturing-metering-mode" :: T.Text

{- |
ISO speed used when capturing an image. (integer)
-}
pattern 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 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 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 TAG_CAPTURING_FOCAL_LENGTH_35_MM = "capturing-focal-length-35mm" :: T.Text

{- |
Focal length used when capturing an image, in mm. (double)
-}
pattern 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 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 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 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 TAG_CAPTURING_EXPOSURE_MODE = "capturing-exposure-mode" :: T.Text

{- |
Exposure compensation using when capturing an image in EV. (double)
-}
pattern TAG_CAPTURING_EXPOSURE_COMPENSATION = "capturing-exposure-compensation" :: T.Text

{- |
Digital zoom ratio used when capturing an image. (double)
-}
pattern 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 TAG_CAPTURING_CONTRAST = "capturing-contrast" :: T.Text