gi-gsttag 1.0.17 → 1.0.18
raw patch · 18 files changed
+17/−3667 lines, 18 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- ChangeLog.md +4/−0
- GI/GstTag.hs +0/−56
- GI/GstTag/Constants.hs +0/−342
- GI/GstTag/Enums.hs +0/−238
- GI/GstTag/Enums.hs-boot +0/−30
- GI/GstTag/Flags.hs +0/−173
- GI/GstTag/Flags.hs-boot +0/−28
- GI/GstTag/Functions.hs +0/−1646
- GI/GstTag/Interfaces.hs +0/−41
- GI/GstTag/Interfaces/TagXmpWriter.hs +0/−499
- GI/GstTag/Interfaces/TagXmpWriter.hs-boot +0/−47
- GI/GstTag/Objects.hs +0/−43
- GI/GstTag/Objects/TagDemux.hs +0/−236
- GI/GstTag/Objects/TagDemux.hs-boot +0/−29
- GI/GstTag/Objects/TagMux.hs +0/−228
- GI/GstTag/Objects/TagMux.hs-boot +0/−29
- README.md +1/−1
- gi-gsttag.cabal +12/−1
ChangeLog.md view
@@ -1,3 +1,7 @@+### 1.0.18+++ List autogenerated modules in .cabal file+ ### 1.0.17 + Update to haskell-gi(-base) 0.22
− GI/GstTag.hs
@@ -1,56 +0,0 @@---{- |-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- ( module GI.GstTag.Constants ,- module GI.GstTag.Enums ,- module GI.GstTag.Flags ,- module GI.GstTag.Functions ,- module GI.GstTag.Interfaces ,- module GI.GstTag.Objects ,---- module Data.GI.Base ,--- ) where--import GI.GstTag.Constants-import GI.GstTag.Enums-import GI.GstTag.Flags-import GI.GstTag.Functions-import GI.GstTag.Interfaces-import GI.GstTag.Objects--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---import Data.GI.Base-
− GI/GstTag/Constants.hs
@@ -1,342 +0,0 @@-{-# 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--
− GI/GstTag/Enums.hs
@@ -1,238 +0,0 @@---{- |-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.Enums- ( -- -- * Enumerations--- ** TagDemuxResult #enum:TagDemuxResult#-- TagDemuxResult(..) ,----- ** TagImageType #enum:TagImageType#-- TagImageType(..) ,----- ) 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----- Enum TagImageType-{- |-Type of image contained in an image tag (specified as \"image-type\" field in-the info structure in the image\'s 'GI.Gst.Structs.Sample.Sample')--}-data TagImageType = - TagImageTypeNone- {- ^- No image type. Can be used to- tell functions such as 'GI.GstTag.Functions.tagImageDataToImageSample' that no- image type should be set.- -}- | TagImageTypeUndefined- {- ^- Undefined\/other image type- -}- | TagImageTypeFrontCover- {- ^- Cover (front)- -}- | TagImageTypeBackCover- {- ^- Cover (back)- -}- | TagImageTypeLeafletPage- {- ^- Leaflet page- -}- | TagImageTypeMedium- {- ^- Medium (e.g. label side of CD)- -}- | TagImageTypeLeadArtist- {- ^- Lead artist\/lead performer\/soloist- -}- | TagImageTypeArtist- {- ^- Artist\/performer- -}- | TagImageTypeConductor- {- ^- Conductor- -}- | TagImageTypeBandOrchestra- {- ^- Band\/orchestra- -}- | TagImageTypeComposer- {- ^- Composer- -}- | TagImageTypeLyricist- {- ^- Lyricist\/text writer- -}- | TagImageTypeRecordingLocation- {- ^- Recording location- -}- | TagImageTypeDuringRecording- {- ^- During recording- -}- | TagImageTypeDuringPerformance- {- ^- During performance- -}- | TagImageTypeVideoCapture- {- ^- Movie\/video screen capture- -}- | TagImageTypeFish- {- ^- A fish as funny as the ID3v2 spec- -}- | TagImageTypeIllustration- {- ^- Illustration- -}- | TagImageTypeBandArtistLogo- {- ^- Band\/artist logotype- -}- | TagImageTypePublisherStudioLogo- {- ^- Publisher\/studio logotype- -}- | AnotherTagImageType Int- -- ^ Catch-all for unknown values- deriving (Show, Eq)--instance P.Enum TagImageType where- fromEnum TagImageTypeNone = -1- fromEnum TagImageTypeUndefined = 0- fromEnum TagImageTypeFrontCover = 1- fromEnum TagImageTypeBackCover = 2- fromEnum TagImageTypeLeafletPage = 3- fromEnum TagImageTypeMedium = 4- fromEnum TagImageTypeLeadArtist = 5- fromEnum TagImageTypeArtist = 6- fromEnum TagImageTypeConductor = 7- fromEnum TagImageTypeBandOrchestra = 8- fromEnum TagImageTypeComposer = 9- fromEnum TagImageTypeLyricist = 10- fromEnum TagImageTypeRecordingLocation = 11- fromEnum TagImageTypeDuringRecording = 12- fromEnum TagImageTypeDuringPerformance = 13- fromEnum TagImageTypeVideoCapture = 14- fromEnum TagImageTypeFish = 15- fromEnum TagImageTypeIllustration = 16- fromEnum TagImageTypeBandArtistLogo = 17- fromEnum TagImageTypePublisherStudioLogo = 18- fromEnum (AnotherTagImageType k) = k-- toEnum -1 = TagImageTypeNone- toEnum 0 = TagImageTypeUndefined- toEnum 1 = TagImageTypeFrontCover- toEnum 2 = TagImageTypeBackCover- toEnum 3 = TagImageTypeLeafletPage- toEnum 4 = TagImageTypeMedium- toEnum 5 = TagImageTypeLeadArtist- toEnum 6 = TagImageTypeArtist- toEnum 7 = TagImageTypeConductor- toEnum 8 = TagImageTypeBandOrchestra- toEnum 9 = TagImageTypeComposer- toEnum 10 = TagImageTypeLyricist- toEnum 11 = TagImageTypeRecordingLocation- toEnum 12 = TagImageTypeDuringRecording- toEnum 13 = TagImageTypeDuringPerformance- toEnum 14 = TagImageTypeVideoCapture- toEnum 15 = TagImageTypeFish- toEnum 16 = TagImageTypeIllustration- toEnum 17 = TagImageTypeBandArtistLogo- toEnum 18 = TagImageTypePublisherStudioLogo- toEnum k = AnotherTagImageType k--instance P.Ord TagImageType where- compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_tag_image_type_get_type" c_gst_tag_image_type_get_type :: - IO GType--instance BoxedEnum TagImageType where- boxedEnumType _ = c_gst_tag_image_type_get_type---- Enum TagDemuxResult-{- |-Result values from the parse_tag virtual function.--}-data TagDemuxResult = - TagDemuxResultBrokenTag- {- ^- cannot parse tag, just skip it- -}- | TagDemuxResultAgain- {- ^- call again with less or more data- -}- | TagDemuxResultOk- {- ^- parsed tag successfully- -}- | AnotherTagDemuxResult Int- -- ^ Catch-all for unknown values- deriving (Show, Eq)--instance P.Enum TagDemuxResult where- fromEnum TagDemuxResultBrokenTag = 0- fromEnum TagDemuxResultAgain = 1- fromEnum TagDemuxResultOk = 2- fromEnum (AnotherTagDemuxResult k) = k-- toEnum 0 = TagDemuxResultBrokenTag- toEnum 1 = TagDemuxResultAgain- toEnum 2 = TagDemuxResultOk- toEnum k = AnotherTagDemuxResult k--instance P.Ord TagDemuxResult where- compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_tag_demux_result_get_type" c_gst_tag_demux_result_get_type :: - IO GType--instance BoxedEnum TagDemuxResult where- boxedEnumType _ = c_gst_tag_demux_result_get_type--
− GI/GstTag/Enums.hs-boot
@@ -1,30 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \- && !defined(__HADDOCK_VERSION__))-module GI.GstTag.Enums 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--data TagImageType-instance P.Enum TagImageType where-instance BoxedEnum TagImageType where-data TagDemuxResult-instance P.Enum TagDemuxResult where-instance BoxedEnum TagDemuxResult where
− GI/GstTag/Flags.hs
@@ -1,173 +0,0 @@---{- |-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.Flags- ( -- -- * Flags--- ** TagLicenseFlags #flag:TagLicenseFlags#-- TagLicenseFlags(..) ,----- ) 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----- Flags TagLicenseFlags-{- |-See http:\/\/creativecommons.org\/ns for more information.--}-data TagLicenseFlags = - TagLicenseFlagsPermitsReproduction- {- ^- making multiple copies- is allowed- -}- | TagLicenseFlagsPermitsDistribution- {- ^- distribution, public display- and public performance are allowed- -}- | TagLicenseFlagsPermitsDerivativeWorks- {- ^- distribution of derivative- works is allowed- -}- | TagLicenseFlagsPermitsSharing- {- ^- commercial derivatives are allowed,- but only non-commercial distribution is allowed- -}- | TagLicenseFlagsRequiresNotice- {- ^- copyright and license notices- must be kept intact- -}- | TagLicenseFlagsRequiresAttribution- {- ^- credit must be given to- copyright holder and\/or author- -}- | TagLicenseFlagsRequiresShareAlike- {- ^- derivative works must be- licensed under the same terms or compatible terms as the original work- -}- | TagLicenseFlagsRequiresSourceCode- {- ^- source code (the preferred- form for making modifications) must be provided when exercising some- rights granted by the license- -}- | TagLicenseFlagsRequiresCopyleft- {- ^- derivative and combined works- must be licensed under specified terms, similar to those of the original- work- -}- | TagLicenseFlagsRequiresLesserCopyleft- {- ^- derivative works must be- licensed under specified terms, with at least the same conditions as- the original work; combinations with the work may be licensed under- different terms- -}- | TagLicenseFlagsProhibitsCommercialUse- {- ^- exercising rights for- commercial purposes is prohibited- -}- | TagLicenseFlagsProhibitsHighIncomeNationUse- {- ^- use in a- non-developing country is prohibited- -}- | TagLicenseFlagsCreativeCommonsLicense- {- ^- this license was created- by the Creative Commons project- -}- | TagLicenseFlagsFreeSoftwareFoundationLicense- {- ^- this license was- created by the Free Software Foundation (FSF)- -}- | AnotherTagLicenseFlags Int- -- ^ Catch-all for unknown values- deriving (Show, Eq)--instance P.Enum TagLicenseFlags where- fromEnum TagLicenseFlagsPermitsReproduction = 1- fromEnum TagLicenseFlagsPermitsDistribution = 2- fromEnum TagLicenseFlagsPermitsDerivativeWorks = 4- fromEnum TagLicenseFlagsPermitsSharing = 8- fromEnum TagLicenseFlagsRequiresNotice = 256- fromEnum TagLicenseFlagsRequiresAttribution = 512- fromEnum TagLicenseFlagsRequiresShareAlike = 1024- fromEnum TagLicenseFlagsRequiresSourceCode = 2048- fromEnum TagLicenseFlagsRequiresCopyleft = 4096- fromEnum TagLicenseFlagsRequiresLesserCopyleft = 8192- fromEnum TagLicenseFlagsProhibitsCommercialUse = 65536- fromEnum TagLicenseFlagsProhibitsHighIncomeNationUse = 131072- fromEnum TagLicenseFlagsCreativeCommonsLicense = 16777216- fromEnum TagLicenseFlagsFreeSoftwareFoundationLicense = 33554432- fromEnum (AnotherTagLicenseFlags k) = k-- toEnum 1 = TagLicenseFlagsPermitsReproduction- toEnum 2 = TagLicenseFlagsPermitsDistribution- toEnum 4 = TagLicenseFlagsPermitsDerivativeWorks- toEnum 8 = TagLicenseFlagsPermitsSharing- toEnum 256 = TagLicenseFlagsRequiresNotice- toEnum 512 = TagLicenseFlagsRequiresAttribution- toEnum 1024 = TagLicenseFlagsRequiresShareAlike- toEnum 2048 = TagLicenseFlagsRequiresSourceCode- toEnum 4096 = TagLicenseFlagsRequiresCopyleft- toEnum 8192 = TagLicenseFlagsRequiresLesserCopyleft- toEnum 65536 = TagLicenseFlagsProhibitsCommercialUse- toEnum 131072 = TagLicenseFlagsProhibitsHighIncomeNationUse- toEnum 16777216 = TagLicenseFlagsCreativeCommonsLicense- toEnum 33554432 = TagLicenseFlagsFreeSoftwareFoundationLicense- toEnum k = AnotherTagLicenseFlags k--instance P.Ord TagLicenseFlags where- compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_tag_license_flags_get_type" c_gst_tag_license_flags_get_type :: - IO GType--instance BoxedFlags TagLicenseFlags where- boxedFlagsType _ = c_gst_tag_license_flags_get_type--instance IsGFlag TagLicenseFlags--
− GI/GstTag/Flags.hs-boot
@@ -1,28 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \- && !defined(__HADDOCK_VERSION__))-module GI.GstTag.Flags 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--data TagLicenseFlags-instance P.Enum TagLicenseFlags where-instance BoxedFlags TagLicenseFlags where-instance IsGFlag TagLicenseFlags
− GI/GstTag/Functions.hs
@@ -1,1646 +0,0 @@---{- |-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.Functions- ( -- -- * Methods--- ** tagCheckLanguageCode #method:tagCheckLanguageCode#-- tagCheckLanguageCode ,----- ** tagFreeformStringToUtf8 #method:tagFreeformStringToUtf8#-- tagFreeformStringToUtf8 ,----- ** tagFromId3Tag #method:tagFromId3Tag#-- tagFromId3Tag ,----- ** tagFromId3UserTag #method:tagFromId3UserTag#-- tagFromId3UserTag ,----- ** tagFromVorbisTag #method:tagFromVorbisTag#-- tagFromVorbisTag ,----- ** tagGetId3v2TagSize #method:tagGetId3v2TagSize#-- tagGetId3v2TagSize ,----- ** tagGetLanguageCodeIso6391 #method:tagGetLanguageCodeIso6391#-- tagGetLanguageCodeIso6391 ,----- ** tagGetLanguageCodeIso6392B #method:tagGetLanguageCodeIso6392B#-- tagGetLanguageCodeIso6392B ,----- ** tagGetLanguageCodeIso6392T #method:tagGetLanguageCodeIso6392T#-- tagGetLanguageCodeIso6392T ,----- ** tagGetLanguageCodes #method:tagGetLanguageCodes#-- tagGetLanguageCodes ,----- ** tagGetLanguageName #method:tagGetLanguageName#-- tagGetLanguageName ,----- ** tagGetLicenseDescription #method:tagGetLicenseDescription#-- tagGetLicenseDescription ,----- ** tagGetLicenseFlags #method:tagGetLicenseFlags#-- tagGetLicenseFlags ,----- ** tagGetLicenseJurisdiction #method:tagGetLicenseJurisdiction#-- tagGetLicenseJurisdiction ,----- ** tagGetLicenseNick #method:tagGetLicenseNick#-- tagGetLicenseNick ,----- ** tagGetLicenseTitle #method:tagGetLicenseTitle#-- tagGetLicenseTitle ,----- ** tagGetLicenseVersion #method:tagGetLicenseVersion#-- tagGetLicenseVersion ,----- ** tagGetLicenses #method:tagGetLicenses#-- tagGetLicenses ,----- ** tagId3GenreCount #method:tagId3GenreCount#-- tagId3GenreCount ,----- ** tagId3GenreGet #method:tagId3GenreGet#-- tagId3GenreGet ,----- ** tagImageDataToImageSample #method:tagImageDataToImageSample#-- tagImageDataToImageSample ,----- ** tagListAddId3Image #method:tagListAddId3Image#-- tagListAddId3Image ,----- ** tagListFromExifBuffer #method:tagListFromExifBuffer#-- tagListFromExifBuffer ,----- ** tagListFromExifBufferWithTiffHeader #method:tagListFromExifBufferWithTiffHeader#-- tagListFromExifBufferWithTiffHeader ,----- ** tagListFromId3v2Tag #method:tagListFromId3v2Tag#-- tagListFromId3v2Tag ,----- ** tagListFromVorbiscomment #method:tagListFromVorbiscomment#-- tagListFromVorbiscomment ,----- ** tagListFromVorbiscommentBuffer #method:tagListFromVorbiscommentBuffer#-- tagListFromVorbiscommentBuffer ,----- ** tagListFromXmpBuffer #method:tagListFromXmpBuffer#-- tagListFromXmpBuffer ,----- ** tagListNewFromId3v1 #method:tagListNewFromId3v1#-- tagListNewFromId3v1 ,----- ** tagListToExifBuffer #method:tagListToExifBuffer#-- tagListToExifBuffer ,----- ** tagListToExifBufferWithTiffHeader #method:tagListToExifBufferWithTiffHeader#-- tagListToExifBufferWithTiffHeader ,----- ** tagListToVorbiscommentBuffer #method:tagListToVorbiscommentBuffer#-- tagListToVorbiscommentBuffer ,----- ** tagListToXmpBuffer #method:tagListToXmpBuffer#-- tagListToXmpBuffer ,----- ** tagParseExtendedComment #method:tagParseExtendedComment#-- tagParseExtendedComment ,----- ** tagRegisterMusicbrainzTags #method:tagRegisterMusicbrainzTags#-- tagRegisterMusicbrainzTags ,----- ** tagToId3Tag #method:tagToId3Tag#-- tagToId3Tag ,----- ** tagToVorbisComments #method:tagToVorbisComments#-- tagToVorbisComments ,----- ** tagToVorbisTag #method:tagToVorbisTag#-- tagToVorbisTag ,----- ** tagXmpListSchemas #method:tagXmpListSchemas#-- tagXmpListSchemas ,----- ** vorbisTagAdd #method:vorbisTagAdd#-- vorbisTagAdd ,----- ) 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--import qualified GI.Gst.Structs.Buffer as Gst.Buffer-import qualified GI.Gst.Structs.Sample as Gst.Sample-import qualified GI.Gst.Structs.TagList as Gst.TagList-import {-# SOURCE #-} qualified GI.GstTag.Enums as GstTag.Enums-import {-# SOURCE #-} qualified GI.GstTag.Flags as GstTag.Flags---- function gst_vorbis_tag_add--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a vorbiscomment tag string (key in key=value), must be valid UTF-8", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a vorbiscomment value string (value in key=value), must be valid UTF-8", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_vorbis_tag_add" gst_vorbis_tag_add :: - Ptr Gst.TagList.TagList -> -- list : TInterface (Name {namespace = "Gst", name = "TagList"})- CString -> -- tag : TBasicType TUTF8- CString -> -- value : TBasicType TUTF8- IO ()--{- |-Convenience function using 'GI.GstTag.Functions.tagFromVorbisTag', parsing-a vorbis comment string into the right type and adding it to the-given taglist /@list@/.--Unknown vorbiscomment tags will be added to the tag list in form-of a 'GI.Gst.Constants.TAG_EXTENDED_COMMENT'.--}-vorbisTagAdd ::- (B.CallStack.HasCallStack, MonadIO m) =>- Gst.TagList.TagList- {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' -}- -> T.Text- {- ^ /@tag@/: a vorbiscomment tag string (key in key=value), must be valid UTF-8 -}- -> T.Text- {- ^ /@value@/: a vorbiscomment value string (value in key=value), must be valid UTF-8 -}- -> m ()-vorbisTagAdd list tag value = liftIO $ do- list' <- unsafeManagedPtrGetPtr list- tag' <- textToCString tag- value' <- textToCString value- gst_vorbis_tag_add list' tag' value'- touchManagedPtr list- freeMem tag'- freeMem value'- return ()----- function gst_tag_xmp_list_schemas--- Args : []--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_xmp_list_schemas" gst_tag_xmp_list_schemas :: - IO (Ptr CString)--{- |-Gets the list of supported schemas in the xmp lib--}-tagXmpListSchemas ::- (B.CallStack.HasCallStack, MonadIO m) =>- m [T.Text]- {- ^ __Returns:__ a 'Nothing' terminated array of strings with the- schema names -}-tagXmpListSchemas = liftIO $ do- result <- gst_tag_xmp_list_schemas- checkUnexpectedReturnNULL "tagXmpListSchemas" result- result' <- unpackZeroTerminatedUTF8CArray result- return result'----- function gst_tag_to_vorbis_tag--- Args : [Arg {argCName = "gst_tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GStreamer tag to convert to vorbiscomment tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_to_vorbis_tag" gst_tag_to_vorbis_tag :: - CString -> -- gst_tag : TBasicType TUTF8- IO CString--{- |-Looks up the vorbiscomment tag for a GStreamer tag.--}-tagToVorbisTag ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@gstTag@/: GStreamer tag to convert to vorbiscomment tag -}- -> m T.Text- {- ^ __Returns:__ The corresponding vorbiscomment tag or NULL if none exists. -}-tagToVorbisTag gstTag = liftIO $ do- gstTag' <- textToCString gstTag- result <- gst_tag_to_vorbis_tag gstTag'- checkUnexpectedReturnNULL "tagToVorbisTag" result- result' <- cstringToText result- freeMem gstTag'- return result'----- function gst_tag_to_vorbis_comments--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GStreamer tag identifier, such as #GST_TAG_ARTIST", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_to_vorbis_comments" gst_tag_to_vorbis_comments :: - Ptr Gst.TagList.TagList -> -- list : TInterface (Name {namespace = "Gst", name = "TagList"})- CString -> -- tag : TBasicType TUTF8- IO (Ptr (GList CString))--{- |-Creates a new tag list that contains the information parsed out of a-vorbiscomment packet.--}-tagToVorbisComments ::- (B.CallStack.HasCallStack, MonadIO m) =>- Gst.TagList.TagList- {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' -}- -> T.Text- {- ^ /@tag@/: a GStreamer tag identifier, such as 'GI.Gst.Constants.TAG_ARTIST' -}- -> m [T.Text]- {- ^ __Returns:__ A 'GI.GLib.Structs.List.List' of newly-allocated- key=value strings. Free with g_list_foreach (list, (GFunc) g_free, NULL)- plus g_list_free (list) -}-tagToVorbisComments list tag = liftIO $ do- list' <- unsafeManagedPtrGetPtr list- tag' <- textToCString tag- result <- gst_tag_to_vorbis_comments list' tag'- result' <- unpackGList result- result'' <- mapM cstringToText result'- mapGList freeMem result- g_list_free result- touchManagedPtr list- freeMem tag'- return result''----- function gst_tag_to_id3_tag--- Args : [Arg {argCName = "gst_tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GStreamer tag to convert to vorbiscomment tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_to_id3_tag" gst_tag_to_id3_tag :: - CString -> -- gst_tag : TBasicType TUTF8- IO CString--{- |-Looks up the ID3v2 tag for a GStreamer tag.--}-tagToId3Tag ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@gstTag@/: GStreamer tag to convert to vorbiscomment tag -}- -> m T.Text- {- ^ __Returns:__ The corresponding ID3v2 tag or NULL if none exists. -}-tagToId3Tag gstTag = liftIO $ do- gstTag' <- textToCString gstTag- result <- gst_tag_to_id3_tag gstTag'- checkUnexpectedReturnNULL "tagToId3Tag" result- result' <- cstringToText result- freeMem gstTag'- return result'----- function gst_tag_register_musicbrainz_tags--- Args : []--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_tag_register_musicbrainz_tags" gst_tag_register_musicbrainz_tags :: - IO ()--{- |-Registers additional musicbrainz-specific tags with the GStreamer tag-system. Plugins and applications that use these tags should call this-function before using them. Can be called multiple times.--}-tagRegisterMusicbrainzTags ::- (B.CallStack.HasCallStack, MonadIO m) =>- m ()-tagRegisterMusicbrainzTags = liftIO $ do- gst_tag_register_musicbrainz_tags- return ()----- function gst_tag_parse_extended_comment--- Args : [Arg {argCName = "ext_comment", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an extended comment string, see #GST_TAG_EXTENDED_COMMENT", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "\n return location for the comment description key, or NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "lang", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "\n return location for the comment ISO-639 language code, or NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the actual comment string, or NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "fail_if_no_key", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to fail if strings are not in key=value form", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_parse_extended_comment" gst_tag_parse_extended_comment :: - CString -> -- ext_comment : TBasicType TUTF8- Ptr CString -> -- key : TBasicType TUTF8- Ptr CString -> -- lang : TBasicType TUTF8- Ptr CString -> -- value : TBasicType TUTF8- CInt -> -- fail_if_no_key : TBasicType TBoolean- IO CInt--{- |-Convenience function to parse a GST_TAG_EXTENDED_COMMENT string and-separate it into its components.--If successful, /@key@/, /@lang@/ and\/or /@value@/ will be set to newly allocated-strings that you need to free with 'GI.GLib.Functions.free' when done. /@key@/ and /@lang@/-may also be set to NULL by this function if there is no key or no language-code in the extended comment string.--}-tagParseExtendedComment ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@extComment@/: an extended comment string, see 'GI.Gst.Constants.TAG_EXTENDED_COMMENT' -}- -> Bool- {- ^ /@failIfNoKey@/: whether to fail if strings are not in key=value form -}- -> m ((Bool, Maybe T.Text, Maybe T.Text, T.Text))- {- ^ __Returns:__ TRUE if the string could be parsed, otherwise FALSE -}-tagParseExtendedComment extComment failIfNoKey = liftIO $ do- extComment' <- textToCString extComment- key <- allocMem :: IO (Ptr CString)- lang <- allocMem :: IO (Ptr CString)- value <- allocMem :: IO (Ptr CString)- let failIfNoKey' = (fromIntegral . fromEnum) failIfNoKey- result <- gst_tag_parse_extended_comment extComment' key lang value failIfNoKey'- let result' = (/= 0) result- key' <- peek key- maybeKey' <- convertIfNonNull key' $ \key'' -> do- key''' <- cstringToText key''- return key'''- freeMem key'- lang' <- peek lang- maybeLang' <- convertIfNonNull lang' $ \lang'' -> do- lang''' <- cstringToText lang''- return lang'''- freeMem lang'- value' <- peek value- value'' <- cstringToText value'- freeMem value'- freeMem extComment'- freeMem key- freeMem lang- freeMem value- return (result', maybeKey', maybeLang', value'')----- function gst_tag_list_to_xmp_buffer--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "read_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "does the container forbid inplace editing", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "schemas", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\n %NULL terminated array of schemas to be used on serialization", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_to_xmp_buffer" gst_tag_list_to_xmp_buffer :: - Ptr Gst.TagList.TagList -> -- list : TInterface (Name {namespace = "Gst", name = "TagList"})- CInt -> -- read_only : TBasicType TBoolean- Ptr CString -> -- schemas : TCArray True (-1) (-1) (TBasicType TUTF8)- IO (Ptr Gst.Buffer.Buffer)--{- |-Formats a taglist as a xmp packet using only the selected-schemas. An empty list ('Nothing') means that all schemas should-be used--}-tagListToXmpBuffer ::- (B.CallStack.HasCallStack, MonadIO m) =>- Gst.TagList.TagList- {- ^ /@list@/: tags -}- -> Bool- {- ^ /@readOnly@/: does the container forbid inplace editing -}- -> [T.Text]- {- ^ /@schemas@/: - 'Nothing' terminated array of schemas to be used on serialization -}- -> m Gst.Buffer.Buffer- {- ^ __Returns:__ new buffer or 'Nothing', unref the buffer when done -}-tagListToXmpBuffer list readOnly schemas = liftIO $ do- list' <- unsafeManagedPtrGetPtr list- let readOnly' = (fromIntegral . fromEnum) readOnly- schemas' <- packZeroTerminatedUTF8CArray schemas- result <- gst_tag_list_to_xmp_buffer list' readOnly' schemas'- checkUnexpectedReturnNULL "tagListToXmpBuffer" result- result' <- (wrapBoxed Gst.Buffer.Buffer) result- touchManagedPtr list- mapZeroTerminatedCArray freeMem schemas'- freeMem schemas'- return result'----- function gst_tag_list_to_vorbiscomment_buffer--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag list to convert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id_data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "identification data at start of stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id_data_length", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of identification data, may be 0 if @id_data is NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "vendor_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "string that describes the vendor string or NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "id_data_length", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of identification data, may be 0 if @id_data is NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_to_vorbiscomment_buffer" gst_tag_list_to_vorbiscomment_buffer :: - Ptr Gst.TagList.TagList -> -- list : TInterface (Name {namespace = "Gst", name = "TagList"})- Ptr Word8 -> -- id_data : TCArray False (-1) 2 (TBasicType TUInt8)- Word32 -> -- id_data_length : TBasicType TUInt- CString -> -- vendor_string : TBasicType TUTF8- IO (Ptr Gst.Buffer.Buffer)--{- |-Creates a new vorbiscomment buffer from a tag list.--}-tagListToVorbiscommentBuffer ::- (B.CallStack.HasCallStack, MonadIO m) =>- Gst.TagList.TagList- {- ^ /@list@/: tag list to convert -}- -> ByteString- {- ^ /@idData@/: identification data at start of stream -}- -> Maybe (T.Text)- {- ^ /@vendorString@/: string that describes the vendor string or NULL -}- -> m Gst.Buffer.Buffer- {- ^ __Returns:__ A new 'GI.Gst.Structs.Buffer.Buffer' containing a vorbiscomment buffer with all tags- that could be converted from the given tag list. -}-tagListToVorbiscommentBuffer list idData vendorString = liftIO $ do- let idDataLength = fromIntegral $ B.length idData- list' <- unsafeManagedPtrGetPtr list- idData' <- packByteString idData- maybeVendorString <- case vendorString of- Nothing -> return nullPtr- Just jVendorString -> do- jVendorString' <- textToCString jVendorString- return jVendorString'- result <- gst_tag_list_to_vorbiscomment_buffer list' idData' idDataLength maybeVendorString- checkUnexpectedReturnNULL "tagListToVorbiscommentBuffer" result- result' <- (wrapBoxed Gst.Buffer.Buffer) result- touchManagedPtr list- freeMem idData'- freeMem maybeVendorString- return result'----- function gst_tag_list_to_exif_buffer_with_tiff_header--- Args : [Arg {argCName = "taglist", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The taglist", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_to_exif_buffer_with_tiff_header" gst_tag_list_to_exif_buffer_with_tiff_header :: - Ptr Gst.TagList.TagList -> -- taglist : TInterface (Name {namespace = "Gst", name = "TagList"})- IO (Ptr Gst.Buffer.Buffer)--{- |-Formats the tags in taglist into exif structure, a tiff header-is put in the beginning of the buffer.--}-tagListToExifBufferWithTiffHeader ::- (B.CallStack.HasCallStack, MonadIO m) =>- Gst.TagList.TagList- {- ^ /@taglist@/: The taglist -}- -> m Gst.Buffer.Buffer- {- ^ __Returns:__ A GstBuffer containing the data -}-tagListToExifBufferWithTiffHeader taglist = liftIO $ do- taglist' <- unsafeManagedPtrGetPtr taglist- result <- gst_tag_list_to_exif_buffer_with_tiff_header taglist'- checkUnexpectedReturnNULL "tagListToExifBufferWithTiffHeader" result- result' <- (wrapBoxed Gst.Buffer.Buffer) result- touchManagedPtr taglist- return result'----- function gst_tag_list_to_exif_buffer--- Args : [Arg {argCName = "taglist", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The taglist", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "byte_order", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "byte order used in writing (G_LITTLE_ENDIAN or G_BIG_ENDIAN)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "base_offset", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Offset from the tiff header first byte", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_to_exif_buffer" gst_tag_list_to_exif_buffer :: - Ptr Gst.TagList.TagList -> -- taglist : TInterface (Name {namespace = "Gst", name = "TagList"})- Int32 -> -- byte_order : TBasicType TInt- Word32 -> -- base_offset : TBasicType TUInt32- IO (Ptr Gst.Buffer.Buffer)--{- |-Formats the tags in taglist on exif format. The resulting buffer contains-the tags IFD and is followed by the data pointed by the tag entries.--}-tagListToExifBuffer ::- (B.CallStack.HasCallStack, MonadIO m) =>- Gst.TagList.TagList- {- ^ /@taglist@/: The taglist -}- -> Int32- {- ^ /@byteOrder@/: byte order used in writing (G_LITTLE_ENDIAN or G_BIG_ENDIAN) -}- -> Word32- {- ^ /@baseOffset@/: Offset from the tiff header first byte -}- -> m Gst.Buffer.Buffer- {- ^ __Returns:__ A GstBuffer containing the tag entries followed by the tag data -}-tagListToExifBuffer taglist byteOrder baseOffset = liftIO $ do- taglist' <- unsafeManagedPtrGetPtr taglist- result <- gst_tag_list_to_exif_buffer taglist' byteOrder baseOffset- checkUnexpectedReturnNULL "tagListToExifBuffer" result- result' <- (wrapBoxed Gst.Buffer.Buffer) result- touchManagedPtr taglist- return result'----- function gst_tag_list_new_from_id3v1--- Args : [Arg {argCName = "data", argType = TCArray False 128 (-1) (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "128 bytes of data containing the ID3v1 tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_new_from_id3v1" gst_tag_list_new_from_id3v1 :: - Ptr Word8 -> -- data : TCArray False 128 (-1) (TBasicType TUInt8)- IO (Ptr Gst.TagList.TagList)--{- |-Parses the data containing an ID3v1 tag and returns a 'GI.Gst.Structs.TagList.TagList' from the-parsed data.--}-tagListNewFromId3v1 ::- (B.CallStack.HasCallStack, MonadIO m) =>- ByteString- {- ^ /@data@/: 128 bytes of data containing the ID3v1 tag -}- -> m Gst.TagList.TagList- {- ^ __Returns:__ A new tag list or NULL if the data was not an ID3v1 tag. -}-tagListNewFromId3v1 data_ = liftIO $ do- data_' <- packByteString data_- result <- gst_tag_list_new_from_id3v1 data_'- checkUnexpectedReturnNULL "tagListNewFromId3v1" result- result' <- (wrapBoxed Gst.TagList.TagList) result- freeMem data_'- return result'----- function gst_tag_list_from_xmp_buffer--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_from_xmp_buffer" gst_tag_list_from_xmp_buffer :: - Ptr Gst.Buffer.Buffer -> -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})- IO (Ptr Gst.TagList.TagList)--{- |-Parse a xmp packet into a taglist.--}-tagListFromXmpBuffer ::- (B.CallStack.HasCallStack, MonadIO m) =>- Gst.Buffer.Buffer- {- ^ /@buffer@/: buffer -}- -> m Gst.TagList.TagList- {- ^ __Returns:__ new taglist or 'Nothing', free the list when done -}-tagListFromXmpBuffer buffer = liftIO $ do- buffer' <- unsafeManagedPtrGetPtr buffer- result <- gst_tag_list_from_xmp_buffer buffer'- checkUnexpectedReturnNULL "tagListFromXmpBuffer" result- result' <- (wrapBoxed Gst.TagList.TagList) result- touchManagedPtr buffer- return result'----- function gst_tag_list_from_vorbiscomment_buffer--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "buffer to convert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id_data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "identification data at start of stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id_data_length", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of identification data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "vendor_string", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to a string that should take the\n vendor string of this vorbis comment or NULL if you don't need it.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "id_data_length", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of identification data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_from_vorbiscomment_buffer" gst_tag_list_from_vorbiscomment_buffer :: - Ptr Gst.Buffer.Buffer -> -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})- Ptr Word8 -> -- id_data : TCArray False (-1) 2 (TBasicType TUInt8)- Word32 -> -- id_data_length : TBasicType TUInt- Ptr CString -> -- vendor_string : TBasicType TUTF8- IO (Ptr Gst.TagList.TagList)--{- |-Creates a new tag list that contains the information parsed out of a-vorbiscomment packet.--}-tagListFromVorbiscommentBuffer ::- (B.CallStack.HasCallStack, MonadIO m) =>- Gst.Buffer.Buffer- {- ^ /@buffer@/: buffer to convert -}- -> ByteString- {- ^ /@idData@/: identification data at start of stream -}- -> m ((Gst.TagList.TagList, T.Text))- {- ^ __Returns:__ A new 'GI.Gst.Structs.TagList.TagList' with all tags that could be extracted from the- given vorbiscomment buffer or NULL on error. -}-tagListFromVorbiscommentBuffer buffer idData = liftIO $ do- let idDataLength = fromIntegral $ B.length idData- buffer' <- unsafeManagedPtrGetPtr buffer- idData' <- packByteString idData- vendorString <- allocMem :: IO (Ptr CString)- result <- gst_tag_list_from_vorbiscomment_buffer buffer' idData' idDataLength vendorString- checkUnexpectedReturnNULL "tagListFromVorbiscommentBuffer" result- result' <- (wrapBoxed Gst.TagList.TagList) result- vendorString' <- peek vendorString- vendorString'' <- cstringToText vendorString'- freeMem vendorString'- touchManagedPtr buffer- freeMem idData'- freeMem vendorString- return (result', vendorString'')----- function gst_tag_list_from_vorbiscomment--- Args : [Arg {argCName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "data to convert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id_data", argType = TCArray False (-1) 3 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "identification data at start of stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id_data_length", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of identification data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "vendor_string", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to a string that should take the\n vendor string of this vorbis comment or NULL if you don't need it.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "id_data_length", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of identification data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_from_vorbiscomment" gst_tag_list_from_vorbiscomment :: - Ptr Word8 -> -- data : TCArray False (-1) 1 (TBasicType TUInt8)- Word64 -> -- size : TBasicType TUInt64- Ptr Word8 -> -- id_data : TCArray False (-1) 3 (TBasicType TUInt8)- Word32 -> -- id_data_length : TBasicType TUInt- Ptr CString -> -- vendor_string : TBasicType TUTF8- IO (Ptr Gst.TagList.TagList)--{- |-Creates a new tag list that contains the information parsed out of a-vorbiscomment packet.--}-tagListFromVorbiscomment ::- (B.CallStack.HasCallStack, MonadIO m) =>- ByteString- {- ^ /@data@/: data to convert -}- -> ByteString- {- ^ /@idData@/: identification data at start of stream -}- -> m ((Gst.TagList.TagList, T.Text))- {- ^ __Returns:__ A new 'GI.Gst.Structs.TagList.TagList' with all tags that could be extracted from the- given vorbiscomment buffer or NULL on error. -}-tagListFromVorbiscomment data_ idData = liftIO $ do- let idDataLength = fromIntegral $ B.length idData- let size = fromIntegral $ B.length data_- data_' <- packByteString data_- idData' <- packByteString idData- vendorString <- allocMem :: IO (Ptr CString)- result <- gst_tag_list_from_vorbiscomment data_' size idData' idDataLength vendorString- checkUnexpectedReturnNULL "tagListFromVorbiscomment" result- result' <- (wrapBoxed Gst.TagList.TagList) result- vendorString' <- peek vendorString- vendorString'' <- cstringToText vendorString'- freeMem vendorString'- freeMem data_'- freeMem idData'- freeMem vendorString- return (result', vendorString'')----- function gst_tag_list_from_id3v2_tag--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "buffer to convert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_from_id3v2_tag" gst_tag_list_from_id3v2_tag :: - Ptr Gst.Buffer.Buffer -> -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})- IO (Ptr Gst.TagList.TagList)--{- |-Creates a new tag list that contains the information parsed out of a-ID3 tag.--}-tagListFromId3v2Tag ::- (B.CallStack.HasCallStack, MonadIO m) =>- Gst.Buffer.Buffer- {- ^ /@buffer@/: buffer to convert -}- -> m Gst.TagList.TagList- {- ^ __Returns:__ A new 'GI.Gst.Structs.TagList.TagList' with all tags that could be extracted from the- given vorbiscomment buffer or NULL on error. -}-tagListFromId3v2Tag buffer = liftIO $ do- buffer' <- unsafeManagedPtrGetPtr buffer- result <- gst_tag_list_from_id3v2_tag buffer'- checkUnexpectedReturnNULL "tagListFromId3v2Tag" result- result' <- (wrapBoxed Gst.TagList.TagList) result- touchManagedPtr buffer- return result'----- function gst_tag_list_from_exif_buffer_with_tiff_header--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The exif buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_from_exif_buffer_with_tiff_header" gst_tag_list_from_exif_buffer_with_tiff_header :: - Ptr Gst.Buffer.Buffer -> -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})- IO (Ptr Gst.TagList.TagList)--{- |-Parses the exif tags starting with a tiff header structure.--}-tagListFromExifBufferWithTiffHeader ::- (B.CallStack.HasCallStack, MonadIO m) =>- Gst.Buffer.Buffer- {- ^ /@buffer@/: The exif buffer -}- -> m Gst.TagList.TagList- {- ^ __Returns:__ The taglist -}-tagListFromExifBufferWithTiffHeader buffer = liftIO $ do- buffer' <- unsafeManagedPtrGetPtr buffer- result <- gst_tag_list_from_exif_buffer_with_tiff_header buffer'- checkUnexpectedReturnNULL "tagListFromExifBufferWithTiffHeader" result- result' <- (wrapBoxed Gst.TagList.TagList) result- touchManagedPtr buffer- return result'----- function gst_tag_list_from_exif_buffer--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The exif buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "byte_order", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "byte order of the data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "base_offset", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Offset from the tiff header to this buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_from_exif_buffer" gst_tag_list_from_exif_buffer :: - Ptr Gst.Buffer.Buffer -> -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})- Int32 -> -- byte_order : TBasicType TInt- Word32 -> -- base_offset : TBasicType TUInt32- IO (Ptr Gst.TagList.TagList)--{- |-Parses the IFD and IFD tags data contained in the buffer and puts it-on a taglist. The base_offset is used to subtract from the offset in-the tag entries and be able to get the offset relative to the buffer-start--}-tagListFromExifBuffer ::- (B.CallStack.HasCallStack, MonadIO m) =>- Gst.Buffer.Buffer- {- ^ /@buffer@/: The exif buffer -}- -> Int32- {- ^ /@byteOrder@/: byte order of the data -}- -> Word32- {- ^ /@baseOffset@/: Offset from the tiff header to this buffer -}- -> m Gst.TagList.TagList- {- ^ __Returns:__ The parsed taglist -}-tagListFromExifBuffer buffer byteOrder baseOffset = liftIO $ do- buffer' <- unsafeManagedPtrGetPtr buffer- result <- gst_tag_list_from_exif_buffer buffer' byteOrder baseOffset- checkUnexpectedReturnNULL "tagListFromExifBuffer" result- result' <- (wrapBoxed Gst.TagList.TagList) result- touchManagedPtr buffer- return result'----- function gst_tag_list_add_id3_image--- Args : [Arg {argCName = "tag_list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a tag list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "image_data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the (encoded) image", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "image_data_len", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the encoded image data at @image_data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id3_picture_type", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "picture type as per the ID3 (v2.4.0) specification for\n the APIC frame (0 = unknown/other)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "image_data_len", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the encoded image data at @image_data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_add_id3_image" gst_tag_list_add_id3_image :: - Ptr Gst.TagList.TagList -> -- tag_list : TInterface (Name {namespace = "Gst", name = "TagList"})- Ptr Word8 -> -- image_data : TCArray False (-1) 2 (TBasicType TUInt8)- Word32 -> -- image_data_len : TBasicType TUInt- Word32 -> -- id3_picture_type : TBasicType TUInt- IO CInt--{- |-Adds an image from an ID3 APIC frame (or similar, such as used in FLAC)-to the given tag list. Also see 'GI.GstTag.Functions.tagImageDataToImageSample' for-more information on image tags in GStreamer.--}-tagListAddId3Image ::- (B.CallStack.HasCallStack, MonadIO m) =>- Gst.TagList.TagList- {- ^ /@tagList@/: a tag list -}- -> ByteString- {- ^ /@imageData@/: the (encoded) image -}- -> Word32- {- ^ /@id3PictureType@/: picture type as per the ID3 (v2.4.0) specification for- the APIC frame (0 = unknown\/other) -}- -> m Bool- {- ^ __Returns:__ 'True' if the image was processed, otherwise 'False' -}-tagListAddId3Image tagList imageData id3PictureType = liftIO $ do- let imageDataLen = fromIntegral $ B.length imageData- tagList' <- unsafeManagedPtrGetPtr tagList- imageData' <- packByteString imageData- result <- gst_tag_list_add_id3_image tagList' imageData' imageDataLen id3PictureType- let result' = (/= 0) result- touchManagedPtr tagList- freeMem imageData'- return result'----- function gst_tag_image_data_to_image_sample--- Args : [Arg {argCName = "image_data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the (encoded) image", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "image_data_len", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the encoded image data at @image_data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "image_type", argType = TInterface (Name {namespace = "GstTag", name = "TagImageType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type of the image, or #GST_TAG_IMAGE_TYPE_UNDEFINED. Pass\n #GST_TAG_IMAGE_TYPE_NONE if no image type should be set at all (e.g.\n for preview images)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "image_data_len", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the encoded image data at @image_data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Sample"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_image_data_to_image_sample" gst_tag_image_data_to_image_sample :: - Ptr Word8 -> -- image_data : TCArray False (-1) 1 (TBasicType TUInt8)- Word32 -> -- image_data_len : TBasicType TUInt- CInt -> -- image_type : TInterface (Name {namespace = "GstTag", name = "TagImageType"})- IO (Ptr Gst.Sample.Sample)--{- |-Helper function for tag-reading plugins to create a 'GI.Gst.Structs.Sample.Sample' suitable to-add to a 'GI.Gst.Structs.TagList.TagList' as an image tag (such as 'GI.Gst.Constants.TAG_IMAGE' or-'GI.Gst.Constants.TAG_PREVIEW_IMAGE') from the encoded image data and an (optional) image-type.--Background: cover art and other images in tags are usually stored as a-blob of binary image data, often accompanied by a MIME type or some other-content type string (e.g. \'png\', \'jpeg\', \'jpg\'). Sometimes there is also an-\'image type\' to indicate what kind of image this is (e.g. front cover,-back cover, artist, etc.). The image data may also be an URI to the image-rather than the image itself.--In GStreamer, image tags are 'GI.Gst.Structs.Sample.Sample'\<!-- -->s containing the raw image-data, with the sample caps describing the content type of the image-(e.g. image\/jpeg, image\/png, text\/uri-list). The sample info may contain-an additional \'image-type\' field of @/GST_TYPE_TAG_IMAGE_TYPE/@ to describe-the type of image (front cover, back cover etc.). 'GI.Gst.Constants.TAG_PREVIEW_IMAGE'-tags should not carry an image type, their type is already indicated via-the special tag name.--This function will do various checks and typefind the encoded image-data (we can\'t trust the declared mime type).--}-tagImageDataToImageSample ::- (B.CallStack.HasCallStack, MonadIO m) =>- ByteString- {- ^ /@imageData@/: the (encoded) image -}- -> GstTag.Enums.TagImageType- {- ^ /@imageType@/: type of the image, or @/GST_TAG_IMAGE_TYPE_UNDEFINED/@. Pass- @/GST_TAG_IMAGE_TYPE_NONE/@ if no image type should be set at all (e.g.- for preview images) -}- -> m Gst.Sample.Sample- {- ^ __Returns:__ a newly-allocated image sample for use in tag lists, or NULL -}-tagImageDataToImageSample imageData imageType = liftIO $ do- let imageDataLen = fromIntegral $ B.length imageData- imageData' <- packByteString imageData- let imageType' = (fromIntegral . fromEnum) imageType- result <- gst_tag_image_data_to_image_sample imageData' imageDataLen imageType'- checkUnexpectedReturnNULL "tagImageDataToImageSample" result- result' <- (wrapBoxed Gst.Sample.Sample) result- freeMem imageData'- return result'----- function gst_tag_id3_genre_get--- Args : [Arg {argCName = "id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ID of genre to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_id3_genre_get" gst_tag_id3_genre_get :: - Word32 -> -- id : TBasicType TUInt- IO CString--{- |-Gets the ID3v1 genre name for a given ID.--}-tagId3GenreGet ::- (B.CallStack.HasCallStack, MonadIO m) =>- Word32- {- ^ /@id@/: ID of genre to query -}- -> m T.Text- {- ^ __Returns:__ the genre or NULL if no genre is associated with that ID. -}-tagId3GenreGet id = liftIO $ do- result <- gst_tag_id3_genre_get id- checkUnexpectedReturnNULL "tagId3GenreGet" result- result' <- cstringToText result- return result'----- function gst_tag_id3_genre_count--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_id3_genre_count" gst_tag_id3_genre_count :: - IO Word32--{- |-Gets the number of ID3v1 genres that can be identified. Winamp genres are-included.--}-tagId3GenreCount ::- (B.CallStack.HasCallStack, MonadIO m) =>- m Word32- {- ^ __Returns:__ the number of ID3v1 genres that can be identified -}-tagId3GenreCount = liftIO $ do- result <- gst_tag_id3_genre_count- return result----- function gst_tag_get_licenses--- Args : []--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_licenses" gst_tag_get_licenses :: - IO (Ptr CString)--{- |-Returns a list of known license references (in form of URIs). This is-useful for UIs to build a list of available licenses for tagging purposes-(e.g. to tag an audio track appropriately in a video or audio editor, or-an image in a camera application).--}-tagGetLicenses ::- (B.CallStack.HasCallStack, MonadIO m) =>- m [T.Text]- {- ^ __Returns:__ NULL-terminated array of license strings. Free- with 'GI.GLib.Functions.strfreev' when no longer needed. -}-tagGetLicenses = liftIO $ do- result <- gst_tag_get_licenses- checkUnexpectedReturnNULL "tagGetLicenses" result- result' <- unpackZeroTerminatedUTF8CArray result- mapZeroTerminatedCArray freeMem result- freeMem result- return result'----- function gst_tag_get_license_version--- Args : [Arg {argCName = "license_ref", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a license reference string in form of a URI,\n e.g. \"http://creativecommons.org/licenses/by-nc-nd/2.0/\"", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_license_version" gst_tag_get_license_version :: - CString -> -- license_ref : TBasicType TUTF8- IO CString--{- |-Get the version of a license.--}-tagGetLicenseVersion ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@licenseRef@/: a license reference string in form of a URI,- e.g. \"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/2.0\/\" -}- -> m T.Text- {- ^ __Returns:__ the version of the license, or NULL if the license is not known or- has no version -}-tagGetLicenseVersion licenseRef = liftIO $ do- licenseRef' <- textToCString licenseRef- result <- gst_tag_get_license_version licenseRef'- checkUnexpectedReturnNULL "tagGetLicenseVersion" result- result' <- cstringToText result- freeMem licenseRef'- return result'----- function gst_tag_get_license_title--- Args : [Arg {argCName = "license_ref", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a license reference string in form of a URI,\n e.g. \"http://creativecommons.org/licenses/by-nc-nd/2.0/\"", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_license_title" gst_tag_get_license_title :: - CString -> -- license_ref : TBasicType TUTF8- IO CString--{- |-Get the title of a license, which is a short translated description-of the license\'s features (generally not very pretty though).--}-tagGetLicenseTitle ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@licenseRef@/: a license reference string in form of a URI,- e.g. \"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/2.0\/\" -}- -> m T.Text- {- ^ __Returns:__ the title of the license, or NULL if the license is unknown or- no title is available. -}-tagGetLicenseTitle licenseRef = liftIO $ do- licenseRef' <- textToCString licenseRef- result <- gst_tag_get_license_title licenseRef'- checkUnexpectedReturnNULL "tagGetLicenseTitle" result- result' <- cstringToText result- freeMem licenseRef'- return result'----- function gst_tag_get_license_nick--- Args : [Arg {argCName = "license_ref", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a license reference string in form of a URI,\n e.g. \"http://creativecommons.org/licenses/by-nc-nd/2.0/\"", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_license_nick" gst_tag_get_license_nick :: - CString -> -- license_ref : TBasicType TUTF8- IO CString--{- |-Get the nick name of a license, which is a short (untranslated) string-such as e.g. \"CC BY-NC-ND 2.0 UK\".--}-tagGetLicenseNick ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@licenseRef@/: a license reference string in form of a URI,- e.g. \"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/2.0\/\" -}- -> m T.Text- {- ^ __Returns:__ the nick name of the license, or NULL if the license is unknown -}-tagGetLicenseNick licenseRef = liftIO $ do- licenseRef' <- textToCString licenseRef- result <- gst_tag_get_license_nick licenseRef'- checkUnexpectedReturnNULL "tagGetLicenseNick" result- result' <- cstringToText result- freeMem licenseRef'- return result'----- function gst_tag_get_license_jurisdiction--- Args : [Arg {argCName = "license_ref", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a license reference string in form of a URI,\n e.g. \"http://creativecommons.org/licenses/by-nc-nd/2.0/\"", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_license_jurisdiction" gst_tag_get_license_jurisdiction :: - CString -> -- license_ref : TBasicType TUTF8- IO CString--{- |-Get the jurisdiction code of a license. This is usually a two-letter-ISO 3166-1 alpha-2 code, but there is also the special case of Scotland,-for which no code exists and which is thus represented as \"scotland\".--Known jurisdictions: ar, at, au, be, bg, br, ca, ch, cl, cn, co, de,-dk, es, fi, fr, hr, hu, il, in, it, jp, kr, mk, mt, mx, my, nl, pe, pl,-pt, scotland, se, si, tw, uk, us, za.--}-tagGetLicenseJurisdiction ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@licenseRef@/: a license reference string in form of a URI,- e.g. \"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/2.0\/\" -}- -> m T.Text- {- ^ __Returns:__ the jurisdiction code of the license, or NULL if the license is- unknown or is not specific to a particular jurisdiction. -}-tagGetLicenseJurisdiction licenseRef = liftIO $ do- licenseRef' <- textToCString licenseRef- result <- gst_tag_get_license_jurisdiction licenseRef'- checkUnexpectedReturnNULL "tagGetLicenseJurisdiction" result- result' <- cstringToText result- freeMem licenseRef'- return result'----- function gst_tag_get_license_flags--- Args : [Arg {argCName = "license_ref", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a license reference string in form of a URI,\n e.g. \"http://creativecommons.org/licenses/by-nc-nd/2.0/\"", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GstTag", name = "TagLicenseFlags"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_license_flags" gst_tag_get_license_flags :: - CString -> -- license_ref : TBasicType TUTF8- IO CUInt--{- |-Get the flags of a license, which describe most of the features of-a license in their most general form.--}-tagGetLicenseFlags ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@licenseRef@/: a license reference string in form of a URI,- e.g. \"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/2.0\/\" -}- -> m [GstTag.Flags.TagLicenseFlags]- {- ^ __Returns:__ the flags of the license, or 0 if the license is unknown -}-tagGetLicenseFlags licenseRef = liftIO $ do- licenseRef' <- textToCString licenseRef- result <- gst_tag_get_license_flags licenseRef'- let result' = wordToGFlags result- freeMem licenseRef'- return result'----- function gst_tag_get_license_description--- Args : [Arg {argCName = "license_ref", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a license reference string in form of a URI,\n e.g. \"http://creativecommons.org/licenses/by-nc-nd/2.0/\"", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_license_description" gst_tag_get_license_description :: - CString -> -- license_ref : TBasicType TUTF8- IO CString--{- |-Get the description of a license, which is a translated description-of the license\'s main features.--}-tagGetLicenseDescription ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@licenseRef@/: a license reference string in form of a URI,- e.g. \"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/2.0\/\" -}- -> m T.Text- {- ^ __Returns:__ the description of the license, or NULL if the license is unknown- or a description is not available. -}-tagGetLicenseDescription licenseRef = liftIO $ do- licenseRef' <- textToCString licenseRef- result <- gst_tag_get_license_description licenseRef'- checkUnexpectedReturnNULL "tagGetLicenseDescription" result- result' <- cstringToText result- freeMem licenseRef'- return result'----- function gst_tag_get_language_name--- Args : [Arg {argCName = "language_code", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "two or three-letter ISO-639 language code", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_language_name" gst_tag_get_language_name :: - CString -> -- language_code : TBasicType TUTF8- IO CString--{- |-Returns the name of the language given an ISO-639 language code as-found in a GST_TAG_LANGUAGE_CODE tag. The name will be translated-according to the current locale (if the library was built against the-iso-codes package, otherwise the English name will be returned).--Language codes are case-sensitive and expected to be lower case.--}-tagGetLanguageName ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@languageCode@/: two or three-letter ISO-639 language code -}- -> m T.Text- {- ^ __Returns:__ language name in UTF-8 format, or NULL if /@languageCode@/ could- not be mapped to a language name. The returned string must not be- modified and does not need to freed; it will stay valid until the- application is terminated. -}-tagGetLanguageName languageCode = liftIO $ do- languageCode' <- textToCString languageCode- result <- gst_tag_get_language_name languageCode'- checkUnexpectedReturnNULL "tagGetLanguageName" result- result' <- cstringToText result- freeMem languageCode'- return result'----- function gst_tag_get_language_codes--- Args : []--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_language_codes" gst_tag_get_language_codes :: - IO (Ptr CString)--{- |-Returns a list of known language codes (in form of two-letter ISO-639-1-codes). This is useful for UIs to build a list of available languages for-tagging purposes (e.g. to tag an audio track appropriately in a video or-audio editor).--}-tagGetLanguageCodes ::- (B.CallStack.HasCallStack, MonadIO m) =>- m [T.Text]- {- ^ __Returns:__ NULL-terminated string array with two-letter- language codes. Free with 'GI.GLib.Functions.strfreev' when no longer needed. -}-tagGetLanguageCodes = liftIO $ do- result <- gst_tag_get_language_codes- checkUnexpectedReturnNULL "tagGetLanguageCodes" result- result' <- unpackZeroTerminatedUTF8CArray result- mapZeroTerminatedCArray freeMem result- freeMem result- return result'----- function gst_tag_get_language_code_iso_639_2T--- Args : [Arg {argCName = "lang_code", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ISO-639 language code (e.g. \"deu\" or \"ger\" or \"de\")", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_language_code_iso_639_2T" gst_tag_get_language_code_iso_639_2T :: - CString -> -- lang_code : TBasicType TUTF8- IO CString--{- |-Returns three-letter ISO-639-2 \"terminological\" language code given a-two-letter ISO-639-1 language code or a three-letter ISO-639-2 language-code (both are accepted for convenience).--The \"terminological\" code is derived from the local name of the language-(e.g. \"deu\" for German instead of \"ger\"). In most scenarios, the-\"terminological\" codes are prefered over the \"bibliographic\" ones.--Language codes are case-sensitive and expected to be lower case.--}-tagGetLanguageCodeIso6392T ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@langCode@/: ISO-639 language code (e.g. \"deu\" or \"ger\" or \"de\") -}- -> m T.Text- {- ^ __Returns:__ three-letter ISO-639-2 language code string that maps to /@langCode@/,- or NULL if no mapping is known. The returned string must not be- modified or freed. -}-tagGetLanguageCodeIso6392T langCode = liftIO $ do- langCode' <- textToCString langCode- result <- gst_tag_get_language_code_iso_639_2T langCode'- checkUnexpectedReturnNULL "tagGetLanguageCodeIso6392T" result- result' <- cstringToText result- freeMem langCode'- return result'----- function gst_tag_get_language_code_iso_639_2B--- Args : [Arg {argCName = "lang_code", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ISO-639 language code (e.g. \"deu\" or \"ger\" or \"de\")", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_language_code_iso_639_2B" gst_tag_get_language_code_iso_639_2B :: - CString -> -- lang_code : TBasicType TUTF8- IO CString--{- |-Returns three-letter ISO-639-2 \"bibliographic\" language code given a-two-letter ISO-639-1 language code or a three-letter ISO-639-2 language-code (both are accepted for convenience).--The \"bibliographic\" code is derived from the English name of the language-(e.g. \"ger\" for German instead of \"de\" or \"deu\"). In most scenarios, the-\"terminological\" codes are prefered.--Language codes are case-sensitive and expected to be lower case.--}-tagGetLanguageCodeIso6392B ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@langCode@/: ISO-639 language code (e.g. \"deu\" or \"ger\" or \"de\") -}- -> m T.Text- {- ^ __Returns:__ three-letter ISO-639-2 language code string that maps to /@langCode@/,- or NULL if no mapping is known. The returned string must not be- modified or freed. -}-tagGetLanguageCodeIso6392B langCode = liftIO $ do- langCode' <- textToCString langCode- result <- gst_tag_get_language_code_iso_639_2B langCode'- checkUnexpectedReturnNULL "tagGetLanguageCodeIso6392B" result- result' <- cstringToText result- freeMem langCode'- return result'----- function gst_tag_get_language_code_iso_639_1--- Args : [Arg {argCName = "lang_code", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ISO-639 language code (e.g. \"deu\" or \"ger\" or \"de\")", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_language_code_iso_639_1" gst_tag_get_language_code_iso_639_1 :: - CString -> -- lang_code : TBasicType TUTF8- IO CString--{- |-Returns two-letter ISO-639-1 language code given a three-letter ISO-639-2-language code or two-letter ISO-639-1 language code (both are accepted for-convenience).--Language codes are case-sensitive and expected to be lower case.--}-tagGetLanguageCodeIso6391 ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@langCode@/: ISO-639 language code (e.g. \"deu\" or \"ger\" or \"de\") -}- -> m T.Text- {- ^ __Returns:__ two-letter ISO-639-1 language code string that maps to /@langCode@/,- or NULL if no mapping is known. The returned string must not be- modified or freed. -}-tagGetLanguageCodeIso6391 langCode = liftIO $ do- langCode' <- textToCString langCode- result <- gst_tag_get_language_code_iso_639_1 langCode'- checkUnexpectedReturnNULL "tagGetLanguageCodeIso6391" result- result' <- cstringToText result- freeMem langCode'- return result'----- function gst_tag_get_id3v2_tag_size--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "buffer holding ID3v2 tag (or at least the start of one)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_id3v2_tag_size" gst_tag_get_id3v2_tag_size :: - Ptr Gst.Buffer.Buffer -> -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})- IO Word32--{- |-Determines size of an ID3v2 tag on buffer containing at least ID3v2 header,-i.e. at least 'GI.GstTag.Constants.TAG_ID3V2_HEADER_SIZE' (10) bytes;--}-tagGetId3v2TagSize ::- (B.CallStack.HasCallStack, MonadIO m) =>- Gst.Buffer.Buffer- {- ^ /@buffer@/: buffer holding ID3v2 tag (or at least the start of one) -}- -> m Word32- {- ^ __Returns:__ Size of tag, or 0 if header is invalid or too small. -}-tagGetId3v2TagSize buffer = liftIO $ do- buffer' <- unsafeManagedPtrGetPtr buffer- result <- gst_tag_get_id3v2_tag_size buffer'- touchManagedPtr buffer- return result----- function gst_tag_from_vorbis_tag--- Args : [Arg {argCName = "vorbis_tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "vorbiscomment tag to convert to GStreamer tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_from_vorbis_tag" gst_tag_from_vorbis_tag :: - CString -> -- vorbis_tag : TBasicType TUTF8- IO CString--{- |-Looks up the GStreamer tag for a vorbiscomment tag.--}-tagFromVorbisTag ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@vorbisTag@/: vorbiscomment tag to convert to GStreamer tag -}- -> m T.Text- {- ^ __Returns:__ The corresponding GStreamer tag or NULL if none exists. -}-tagFromVorbisTag vorbisTag = liftIO $ do- vorbisTag' <- textToCString vorbisTag- result <- gst_tag_from_vorbis_tag vorbisTag'- checkUnexpectedReturnNULL "tagFromVorbisTag" result- result' <- cstringToText result- freeMem vorbisTag'- return result'----- function gst_tag_from_id3_user_tag--- Args : [Arg {argCName = "type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of ID3v2 user tag (e.g. \"TXXX\" or \"UDIF\")", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id3_user_tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ID3v2 user tag to convert to GStreamer tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_from_id3_user_tag" gst_tag_from_id3_user_tag :: - CString -> -- type : TBasicType TUTF8- CString -> -- id3_user_tag : TBasicType TUTF8- IO CString--{- |-Looks up the GStreamer tag for an ID3v2 user tag (e.g. description in-TXXX frame or owner in UFID frame).--}-tagFromId3UserTag ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@type@/: the type of ID3v2 user tag (e.g. \"TXXX\" or \"UDIF\") -}- -> T.Text- {- ^ /@id3UserTag@/: ID3v2 user tag to convert to GStreamer tag -}- -> m T.Text- {- ^ __Returns:__ The corresponding GStreamer tag or NULL if none exists. -}-tagFromId3UserTag type_ id3UserTag = liftIO $ do- type_' <- textToCString type_- id3UserTag' <- textToCString id3UserTag- result <- gst_tag_from_id3_user_tag type_' id3UserTag'- checkUnexpectedReturnNULL "tagFromId3UserTag" result- result' <- cstringToText result- freeMem type_'- freeMem id3UserTag'- return result'----- function gst_tag_from_id3_tag--- Args : [Arg {argCName = "id3_tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ID3v2 tag to convert to GStreamer tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_from_id3_tag" gst_tag_from_id3_tag :: - CString -> -- id3_tag : TBasicType TUTF8- IO CString--{- |-Looks up the GStreamer tag for a ID3v2 tag.--}-tagFromId3Tag ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@id3Tag@/: ID3v2 tag to convert to GStreamer tag -}- -> m T.Text- {- ^ __Returns:__ The corresponding GStreamer tag or NULL if none exists. -}-tagFromId3Tag id3Tag = liftIO $ do- id3Tag' <- textToCString id3Tag- result <- gst_tag_from_id3_tag id3Tag'- checkUnexpectedReturnNULL "tagFromId3Tag" result- result' <- cstringToText result- freeMem id3Tag'- return result'----- function gst_tag_freeform_string_to_utf8--- Args : [Arg {argCName = "data", argType = TCArray False (-1) 1 (TBasicType TInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "string data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of string data, or -1 if the string is NUL-terminated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "env_vars", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\n a NULL-terminated string array of environment variable names, or NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of string data, or -1 if the string is NUL-terminated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_freeform_string_to_utf8" gst_tag_freeform_string_to_utf8 :: - Ptr Int8 -> -- data : TCArray False (-1) 1 (TBasicType TInt8)- Int32 -> -- size : TBasicType TInt- Ptr CString -> -- env_vars : TCArray True (-1) (-1) (TBasicType TUTF8)- IO CString--{- |-Convenience function to read a string with unknown character encoding. If-the string is already in UTF-8 encoding, it will be returned right away.-If not it tries to detect byte-order-mark for UTF-16\/32 cases and use that.-Otherwise, the environment will be searched for a number of environment-variables (whose names are specified in the NULL-terminated string array-/@envVars@/) containing a list of character encodings to try\/use. If none-are specified, the current locale will be tried. If that also doesn\'t work,-WINDOWS-1252\/ISO-8859-1 is assumed (which will almost always succeed).--}-tagFreeformStringToUtf8 ::- (B.CallStack.HasCallStack, MonadIO m) =>- [Int8]- {- ^ /@data@/: string data -}- -> [T.Text]- {- ^ /@envVars@/: - a NULL-terminated string array of environment variable names, or NULL -}- -> m T.Text- {- ^ __Returns:__ a newly-allocated string in UTF-8 encoding, or NULL -}-tagFreeformStringToUtf8 data_ envVars = liftIO $ do- let size = fromIntegral $ length data_- data_' <- packStorableArray data_- envVars' <- packZeroTerminatedUTF8CArray envVars- result <- gst_tag_freeform_string_to_utf8 data_' size envVars'- checkUnexpectedReturnNULL "tagFreeformStringToUtf8" result- result' <- cstringToText result- freeMem result- freeMem data_'- mapZeroTerminatedCArray freeMem envVars'- freeMem envVars'- return result'----- function gst_tag_check_language_code--- Args : [Arg {argCName = "lang_code", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ISO-639 language code (e.g. \"deu\" or \"ger\" or \"de\")", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_check_language_code" gst_tag_check_language_code :: - CString -> -- lang_code : TBasicType TUTF8- IO CInt--{- |-Check if a given string contains a known ISO 639 language code.--This is useful in situations where it\'s not clear whether a given-string is a language code (which should be put into a 'GI.Gst.Constants.TAG_LANGUAGE_CODE'-tag) or a free-form language name descriptor (which should be put into a-'GI.Gst.Constants.TAG_LANGUAGE_NAME' tag instead).--}-tagCheckLanguageCode ::- (B.CallStack.HasCallStack, MonadIO m) =>- T.Text- {- ^ /@langCode@/: ISO-639 language code (e.g. \"deu\" or \"ger\" or \"de\") -}- -> m Bool- {- ^ __Returns:__ TRUE if the two- or three-letter language code in /@langCode@/- is a valid ISO-639 language code. -}-tagCheckLanguageCode langCode = liftIO $ do- langCode' <- textToCString langCode- result <- gst_tag_check_language_code langCode'- let result' = (/= 0) result- freeMem langCode'- return result'---
− GI/GstTag/Interfaces.hs
@@ -1,41 +0,0 @@---{- |-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.Interfaces- ( module GI.GstTag.Interfaces.TagXmpWriter,--- ) where--import GI.GstTag.Interfaces.TagXmpWriter--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---
− GI/GstTag/Interfaces/TagXmpWriter.hs
@@ -1,499 +0,0 @@---{- |-Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--This interface is implemented by elements that are able to do XMP serialization. Examples for-such elements are @/jifmux/@ and @/qtmux/@.--Applications can use this interface to configure which XMP schemas should be used when serializing-tags into XMP. Schemas are represented by their names, a full list of the supported schemas can be-obtained from 'GI.GstTag.Functions.tagXmpListSchemas'. By default, all schemas are used.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \- && !defined(__HADDOCK_VERSION__))--module GI.GstTag.Interfaces.TagXmpWriter- ( ---- * Exported types- TagXmpWriter(..) ,- noTagXmpWriter ,- IsTagXmpWriter ,- toTagXmpWriter ,--- -- * Methods--- ** addAllSchemas #method:addAllSchemas#--#if ENABLE_OVERLOADING- TagXmpWriterAddAllSchemasMethodInfo ,-#endif- tagXmpWriterAddAllSchemas ,----- ** addSchema #method:addSchema#--#if ENABLE_OVERLOADING- TagXmpWriterAddSchemaMethodInfo ,-#endif- tagXmpWriterAddSchema ,----- ** hasSchema #method:hasSchema#--#if ENABLE_OVERLOADING- TagXmpWriterHasSchemaMethodInfo ,-#endif- tagXmpWriterHasSchema ,----- ** removeAllSchemas #method:removeAllSchemas#--#if ENABLE_OVERLOADING- TagXmpWriterRemoveAllSchemasMethodInfo ,-#endif- tagXmpWriterRemoveAllSchemas ,----- ** removeSchema #method:removeSchema#--#if ENABLE_OVERLOADING- TagXmpWriterRemoveSchemaMethodInfo ,-#endif- tagXmpWriterRemoveSchema ,----- ** tagListToXmpBuffer #method:tagListToXmpBuffer#--#if ENABLE_OVERLOADING- TagXmpWriterTagListToXmpBufferMethodInfo,-#endif- tagXmpWriterTagListToXmpBuffer ,----- ) 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--import qualified GI.GObject.Objects.Object as GObject.Object-import qualified GI.Gst.Objects.Element as Gst.Element-import qualified GI.Gst.Objects.Object as Gst.Object-import qualified GI.Gst.Structs.Buffer as Gst.Buffer-import qualified GI.Gst.Structs.TagList as Gst.TagList---- interface TagXmpWriter --- | Memory-managed wrapper type.-newtype TagXmpWriter = TagXmpWriter (ManagedPtr TagXmpWriter)--- | A convenience alias for `Nothing` :: `Maybe` `TagXmpWriter`.-noTagXmpWriter :: Maybe TagXmpWriter-noTagXmpWriter = Nothing--#if ENABLE_OVERLOADING-type instance O.SignalList TagXmpWriter = TagXmpWriterSignalList-type TagXmpWriterSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])--#endif--foreign import ccall "gst_tag_xmp_writer_get_type"- c_gst_tag_xmp_writer_get_type :: IO GType--instance GObject TagXmpWriter where- gobjectType = c_gst_tag_xmp_writer_get_type- ---- | Type class for types which can be safely cast to `TagXmpWriter`, for instance with `toTagXmpWriter`.-class (GObject o, O.IsDescendantOf TagXmpWriter o) => IsTagXmpWriter o-instance (GObject o, O.IsDescendantOf TagXmpWriter o) => IsTagXmpWriter o--instance O.HasParentTypes TagXmpWriter-type instance O.ParentTypes TagXmpWriter = '[Gst.Element.Element, Gst.Object.Object, GObject.Object.Object]---- | Cast to `TagXmpWriter`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toTagXmpWriter :: (MonadIO m, IsTagXmpWriter o) => o -> m TagXmpWriter-toTagXmpWriter = liftIO . unsafeCastTo TagXmpWriter--#if ENABLE_OVERLOADING-instance O.HasAttributeList TagXmpWriter-type instance O.AttributeList TagXmpWriter = TagXmpWriterAttributeList-type TagXmpWriterAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveTagXmpWriterMethod (t :: Symbol) (o :: *) :: * where- ResolveTagXmpWriterMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo- ResolveTagXmpWriterMethod "addAllSchemas" o = TagXmpWriterAddAllSchemasMethodInfo- ResolveTagXmpWriterMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo- ResolveTagXmpWriterMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo- ResolveTagXmpWriterMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo- ResolveTagXmpWriterMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo- ResolveTagXmpWriterMethod "addSchema" o = TagXmpWriterAddSchemaMethodInfo- ResolveTagXmpWriterMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo- ResolveTagXmpWriterMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo- ResolveTagXmpWriterMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo- ResolveTagXmpWriterMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo- ResolveTagXmpWriterMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo- ResolveTagXmpWriterMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo- ResolveTagXmpWriterMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo- ResolveTagXmpWriterMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo- ResolveTagXmpWriterMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo- ResolveTagXmpWriterMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo- ResolveTagXmpWriterMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo- ResolveTagXmpWriterMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo- ResolveTagXmpWriterMethod "getv" o = GObject.Object.ObjectGetvMethodInfo- ResolveTagXmpWriterMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo- ResolveTagXmpWriterMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo- ResolveTagXmpWriterMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo- ResolveTagXmpWriterMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo- ResolveTagXmpWriterMethod "hasSchema" o = TagXmpWriterHasSchemaMethodInfo- ResolveTagXmpWriterMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo- ResolveTagXmpWriterMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo- ResolveTagXmpWriterMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo- ResolveTagXmpWriterMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo- ResolveTagXmpWriterMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo- ResolveTagXmpWriterMethod "link" o = Gst.Element.ElementLinkMethodInfo- ResolveTagXmpWriterMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo- ResolveTagXmpWriterMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo- ResolveTagXmpWriterMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo- ResolveTagXmpWriterMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo- ResolveTagXmpWriterMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo- ResolveTagXmpWriterMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo- ResolveTagXmpWriterMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo- ResolveTagXmpWriterMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo- ResolveTagXmpWriterMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo- ResolveTagXmpWriterMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo- ResolveTagXmpWriterMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo- ResolveTagXmpWriterMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo- ResolveTagXmpWriterMethod "query" o = Gst.Element.ElementQueryMethodInfo- ResolveTagXmpWriterMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo- ResolveTagXmpWriterMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo- ResolveTagXmpWriterMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo- ResolveTagXmpWriterMethod "ref" o = Gst.Object.ObjectRefMethodInfo- ResolveTagXmpWriterMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo- ResolveTagXmpWriterMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo- ResolveTagXmpWriterMethod "removeAllSchemas" o = TagXmpWriterRemoveAllSchemasMethodInfo- ResolveTagXmpWriterMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo- ResolveTagXmpWriterMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo- ResolveTagXmpWriterMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo- ResolveTagXmpWriterMethod "removeSchema" o = TagXmpWriterRemoveSchemaMethodInfo- ResolveTagXmpWriterMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo- ResolveTagXmpWriterMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo- ResolveTagXmpWriterMethod "seek" o = Gst.Element.ElementSeekMethodInfo- ResolveTagXmpWriterMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo- ResolveTagXmpWriterMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo- ResolveTagXmpWriterMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo- ResolveTagXmpWriterMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo- ResolveTagXmpWriterMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo- ResolveTagXmpWriterMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo- ResolveTagXmpWriterMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo- ResolveTagXmpWriterMethod "tagListToXmpBuffer" o = TagXmpWriterTagListToXmpBufferMethodInfo- ResolveTagXmpWriterMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo- ResolveTagXmpWriterMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo- ResolveTagXmpWriterMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo- ResolveTagXmpWriterMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo- ResolveTagXmpWriterMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo- ResolveTagXmpWriterMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo- ResolveTagXmpWriterMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo- ResolveTagXmpWriterMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo- ResolveTagXmpWriterMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo- ResolveTagXmpWriterMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo- ResolveTagXmpWriterMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo- ResolveTagXmpWriterMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo- ResolveTagXmpWriterMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo- ResolveTagXmpWriterMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo- ResolveTagXmpWriterMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo- ResolveTagXmpWriterMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo- ResolveTagXmpWriterMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo- ResolveTagXmpWriterMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo- ResolveTagXmpWriterMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo- ResolveTagXmpWriterMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo- ResolveTagXmpWriterMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo- ResolveTagXmpWriterMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo- ResolveTagXmpWriterMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo- ResolveTagXmpWriterMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo- ResolveTagXmpWriterMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo- ResolveTagXmpWriterMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo- ResolveTagXmpWriterMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo- ResolveTagXmpWriterMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo- ResolveTagXmpWriterMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo- ResolveTagXmpWriterMethod "getState" o = Gst.Element.ElementGetStateMethodInfo- ResolveTagXmpWriterMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo- ResolveTagXmpWriterMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo- ResolveTagXmpWriterMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo- ResolveTagXmpWriterMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo- ResolveTagXmpWriterMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo- ResolveTagXmpWriterMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo- ResolveTagXmpWriterMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo- ResolveTagXmpWriterMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo- ResolveTagXmpWriterMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo- ResolveTagXmpWriterMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo- ResolveTagXmpWriterMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo- ResolveTagXmpWriterMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo- ResolveTagXmpWriterMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo- ResolveTagXmpWriterMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo- ResolveTagXmpWriterMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo- ResolveTagXmpWriterMethod "setState" o = Gst.Element.ElementSetStateMethodInfo- ResolveTagXmpWriterMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTagXmpWriterMethod t TagXmpWriter, O.MethodInfo info TagXmpWriter p) => OL.IsLabel t (TagXmpWriter -> p) where-#if MIN_VERSION_base(4,10,0)- fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else- fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- method TagXmpWriter::add_all_schemas--- method type : OrdinaryMethod--- Args : [Arg {argCName = "config", argType = TInterface (Name {namespace = "GstTag", name = "TagXmpWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagXmpWriter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_tag_xmp_writer_add_all_schemas" gst_tag_xmp_writer_add_all_schemas :: - Ptr TagXmpWriter -> -- config : TInterface (Name {namespace = "GstTag", name = "TagXmpWriter"})- IO ()--{- |-Adds all available XMP schemas to the configuration. Meaning that-all will be used.--}-tagXmpWriterAddAllSchemas ::- (B.CallStack.HasCallStack, MonadIO m, IsTagXmpWriter a) =>- a- {- ^ /@config@/: a 'GI.GstTag.Interfaces.TagXmpWriter.TagXmpWriter' -}- -> m ()-tagXmpWriterAddAllSchemas config = liftIO $ do- config' <- unsafeManagedPtrCastPtr config- gst_tag_xmp_writer_add_all_schemas config'- touchManagedPtr config- return ()--#if ENABLE_OVERLOADING-data TagXmpWriterAddAllSchemasMethodInfo-instance (signature ~ (m ()), MonadIO m, IsTagXmpWriter a) => O.MethodInfo TagXmpWriterAddAllSchemasMethodInfo a signature where- overloadedMethod _ = tagXmpWriterAddAllSchemas--#endif---- method TagXmpWriter::add_schema--- method type : OrdinaryMethod--- Args : [Arg {argCName = "config", argType = TInterface (Name {namespace = "GstTag", name = "TagXmpWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagXmpWriter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "schema", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the schema to be added", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_tag_xmp_writer_add_schema" gst_tag_xmp_writer_add_schema :: - Ptr TagXmpWriter -> -- config : TInterface (Name {namespace = "GstTag", name = "TagXmpWriter"})- CString -> -- schema : TBasicType TUTF8- IO ()--{- |-Adds /@schema@/ to the list schemas--}-tagXmpWriterAddSchema ::- (B.CallStack.HasCallStack, MonadIO m, IsTagXmpWriter a) =>- a- {- ^ /@config@/: a 'GI.GstTag.Interfaces.TagXmpWriter.TagXmpWriter' -}- -> T.Text- {- ^ /@schema@/: the schema to be added -}- -> m ()-tagXmpWriterAddSchema config schema = liftIO $ do- config' <- unsafeManagedPtrCastPtr config- schema' <- textToCString schema- gst_tag_xmp_writer_add_schema config' schema'- touchManagedPtr config- freeMem schema'- return ()--#if ENABLE_OVERLOADING-data TagXmpWriterAddSchemaMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m, IsTagXmpWriter a) => O.MethodInfo TagXmpWriterAddSchemaMethodInfo a signature where- overloadedMethod _ = tagXmpWriterAddSchema--#endif---- method TagXmpWriter::has_schema--- method type : OrdinaryMethod--- Args : [Arg {argCName = "config", argType = TInterface (Name {namespace = "GstTag", name = "TagXmpWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagXmpWriter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "schema", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the schema to test", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_xmp_writer_has_schema" gst_tag_xmp_writer_has_schema :: - Ptr TagXmpWriter -> -- config : TInterface (Name {namespace = "GstTag", name = "TagXmpWriter"})- CString -> -- schema : TBasicType TUTF8- IO CInt--{- |-Checks if /@schema@/ is going to be used--}-tagXmpWriterHasSchema ::- (B.CallStack.HasCallStack, MonadIO m, IsTagXmpWriter a) =>- a- {- ^ /@config@/: a 'GI.GstTag.Interfaces.TagXmpWriter.TagXmpWriter' -}- -> T.Text- {- ^ /@schema@/: the schema to test -}- -> m Bool- {- ^ __Returns:__ 'True' if it is going to be used -}-tagXmpWriterHasSchema config schema = liftIO $ do- config' <- unsafeManagedPtrCastPtr config- schema' <- textToCString schema- result <- gst_tag_xmp_writer_has_schema config' schema'- let result' = (/= 0) result- touchManagedPtr config- freeMem schema'- return result'--#if ENABLE_OVERLOADING-data TagXmpWriterHasSchemaMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m, IsTagXmpWriter a) => O.MethodInfo TagXmpWriterHasSchemaMethodInfo a signature where- overloadedMethod _ = tagXmpWriterHasSchema--#endif---- method TagXmpWriter::remove_all_schemas--- method type : OrdinaryMethod--- Args : [Arg {argCName = "config", argType = TInterface (Name {namespace = "GstTag", name = "TagXmpWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagXmpWriter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_tag_xmp_writer_remove_all_schemas" gst_tag_xmp_writer_remove_all_schemas :: - Ptr TagXmpWriter -> -- config : TInterface (Name {namespace = "GstTag", name = "TagXmpWriter"})- IO ()--{- |-Removes all schemas from the list of schemas to use. Meaning that no-XMP will be generated.--}-tagXmpWriterRemoveAllSchemas ::- (B.CallStack.HasCallStack, MonadIO m, IsTagXmpWriter a) =>- a- {- ^ /@config@/: a 'GI.GstTag.Interfaces.TagXmpWriter.TagXmpWriter' -}- -> m ()-tagXmpWriterRemoveAllSchemas config = liftIO $ do- config' <- unsafeManagedPtrCastPtr config- gst_tag_xmp_writer_remove_all_schemas config'- touchManagedPtr config- return ()--#if ENABLE_OVERLOADING-data TagXmpWriterRemoveAllSchemasMethodInfo-instance (signature ~ (m ()), MonadIO m, IsTagXmpWriter a) => O.MethodInfo TagXmpWriterRemoveAllSchemasMethodInfo a signature where- overloadedMethod _ = tagXmpWriterRemoveAllSchemas--#endif---- method TagXmpWriter::remove_schema--- method type : OrdinaryMethod--- Args : [Arg {argCName = "config", argType = TInterface (Name {namespace = "GstTag", name = "TagXmpWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagXmpWriter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "schema", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the schema to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_tag_xmp_writer_remove_schema" gst_tag_xmp_writer_remove_schema :: - Ptr TagXmpWriter -> -- config : TInterface (Name {namespace = "GstTag", name = "TagXmpWriter"})- CString -> -- schema : TBasicType TUTF8- IO ()--{- |-Removes a schema from the list of schemas to use. Nothing is done if-the schema wasn\'t in the list--}-tagXmpWriterRemoveSchema ::- (B.CallStack.HasCallStack, MonadIO m, IsTagXmpWriter a) =>- a- {- ^ /@config@/: a 'GI.GstTag.Interfaces.TagXmpWriter.TagXmpWriter' -}- -> T.Text- {- ^ /@schema@/: the schema to remove -}- -> m ()-tagXmpWriterRemoveSchema config schema = liftIO $ do- config' <- unsafeManagedPtrCastPtr config- schema' <- textToCString schema- gst_tag_xmp_writer_remove_schema config' schema'- touchManagedPtr config- freeMem schema'- return ()--#if ENABLE_OVERLOADING-data TagXmpWriterRemoveSchemaMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m, IsTagXmpWriter a) => O.MethodInfo TagXmpWriterRemoveSchemaMethodInfo a signature where- overloadedMethod _ = tagXmpWriterRemoveSchema--#endif---- method TagXmpWriter::tag_list_to_xmp_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "config", argType = TInterface (Name {namespace = "GstTag", name = "TagXmpWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "taglist", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "read_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_xmp_writer_tag_list_to_xmp_buffer" gst_tag_xmp_writer_tag_list_to_xmp_buffer :: - Ptr TagXmpWriter -> -- config : TInterface (Name {namespace = "GstTag", name = "TagXmpWriter"})- Ptr Gst.TagList.TagList -> -- taglist : TInterface (Name {namespace = "Gst", name = "TagList"})- CInt -> -- read_only : TBasicType TBoolean- IO (Ptr Gst.Buffer.Buffer)--{- |-/No description available in the introspection data./--}-tagXmpWriterTagListToXmpBuffer ::- (B.CallStack.HasCallStack, MonadIO m, IsTagXmpWriter a) =>- a- -> Gst.TagList.TagList- -> Bool- -> m Gst.Buffer.Buffer-tagXmpWriterTagListToXmpBuffer config taglist readOnly = liftIO $ do- config' <- unsafeManagedPtrCastPtr config- taglist' <- unsafeManagedPtrGetPtr taglist- let readOnly' = (fromIntegral . fromEnum) readOnly- result <- gst_tag_xmp_writer_tag_list_to_xmp_buffer config' taglist' readOnly'- checkUnexpectedReturnNULL "tagXmpWriterTagListToXmpBuffer" result- result' <- (wrapBoxed Gst.Buffer.Buffer) result- touchManagedPtr config- touchManagedPtr taglist- return result'--#if ENABLE_OVERLOADING-data TagXmpWriterTagListToXmpBufferMethodInfo-instance (signature ~ (Gst.TagList.TagList -> Bool -> m Gst.Buffer.Buffer), MonadIO m, IsTagXmpWriter a) => O.MethodInfo TagXmpWriterTagListToXmpBufferMethodInfo a signature where- overloadedMethod _ = tagXmpWriterTagListToXmpBuffer--#endif--
− GI/GstTag/Interfaces/TagXmpWriter.hs-boot
@@ -1,47 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \- && !defined(__HADDOCK_VERSION__))-module GI.GstTag.Interfaces.TagXmpWriter 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--newtype TagXmpWriter = TagXmpWriter (ManagedPtr TagXmpWriter)-instance GObject TagXmpWriter where-class (GObject o, O.IsDescendantOf TagXmpWriter o) => IsTagXmpWriter o-instance (GObject o, O.IsDescendantOf TagXmpWriter o) => IsTagXmpWriter o-instance O.HasParentTypes TagXmpWriter-#if ENABLE_OVERLOADING-data TagXmpWriterAddAllSchemasMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagXmpWriterAddSchemaMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagXmpWriterHasSchemaMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagXmpWriterRemoveAllSchemasMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagXmpWriterRemoveSchemaMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagXmpWriterTagListToXmpBufferMethodInfo-#endif
− GI/GstTag/Objects.hs
@@ -1,43 +0,0 @@---{- |-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.Objects- ( module GI.GstTag.Objects.TagDemux ,- module GI.GstTag.Objects.TagMux ,--- ) where--import GI.GstTag.Objects.TagDemux-import GI.GstTag.Objects.TagMux--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---
− GI/GstTag/Objects/TagDemux.hs
@@ -1,236 +0,0 @@---{- |-Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Provides a base class for demuxing tags at the beginning or end of a-stream and handles things like typefinding, querying, seeking, and-different modes of operation (chain-based, pull_range-based, and providing-downstream elements with random access if upstream supports that). The tag-is stripped from the output, and all offsets are adjusted for the tag-sizes, so that to the downstream element the stream will appear as if-there was no tag at all. Also, once the tag has been parsed, GstTagDemux-will try to determine the media type of the resulting stream and add a-source pad with the appropriate caps in order to facilitate auto-plugging.--== Deriving from GstTagDemux--Subclasses have to do four things:-- * In their base init function, they must add a pad template for the sink- pad to the element class, describing the media type they can parse in- the caps of the pad template.- * In their class init function, they must override- GST_TAG_DEMUX_CLASS(demux_klass)->identify_tag with their own identify- function.- * In their class init function, they must override- GST_TAG_DEMUX_CLASS(demux_klass)->parse_tag with their own parse- function.- * In their class init function, they must also set- GST_TAG_DEMUX_CLASS(demux_klass)->min_start_size and\/or- GST_TAG_DEMUX_CLASS(demux_klass)->min_end_size to the minimum size required- for the identify function to decide whether the stream has a supported tag- or not. A class parsing ID3v1 tags, for example, would set min_end_size to- 128 bytes.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \- && !defined(__HADDOCK_VERSION__))--module GI.GstTag.Objects.TagDemux- ( ---- * Exported types- TagDemux(..) ,- IsTagDemux ,- toTagDemux ,- noTagDemux ,--- ) 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--import qualified GI.GObject.Objects.Object as GObject.Object-import qualified GI.Gst.Objects.Element as Gst.Element-import qualified GI.Gst.Objects.Object as Gst.Object---- | Memory-managed wrapper type.-newtype TagDemux = TagDemux (ManagedPtr TagDemux)-foreign import ccall "gst_tag_demux_get_type"- c_gst_tag_demux_get_type :: IO GType--instance GObject TagDemux where- gobjectType = c_gst_tag_demux_get_type- ---- | Type class for types which can be safely cast to `TagDemux`, for instance with `toTagDemux`.-class (GObject o, O.IsDescendantOf TagDemux o) => IsTagDemux o-instance (GObject o, O.IsDescendantOf TagDemux o) => IsTagDemux o--instance O.HasParentTypes TagDemux-type instance O.ParentTypes TagDemux = '[Gst.Element.Element, Gst.Object.Object, GObject.Object.Object]---- | Cast to `TagDemux`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toTagDemux :: (MonadIO m, IsTagDemux o) => o -> m TagDemux-toTagDemux = liftIO . unsafeCastTo TagDemux---- | A convenience alias for `Nothing` :: `Maybe` `TagDemux`.-noTagDemux :: Maybe TagDemux-noTagDemux = Nothing--#if ENABLE_OVERLOADING-type family ResolveTagDemuxMethod (t :: Symbol) (o :: *) :: * where- ResolveTagDemuxMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo- ResolveTagDemuxMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo- ResolveTagDemuxMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo- ResolveTagDemuxMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo- ResolveTagDemuxMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo- ResolveTagDemuxMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo- ResolveTagDemuxMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo- ResolveTagDemuxMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo- ResolveTagDemuxMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo- ResolveTagDemuxMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo- ResolveTagDemuxMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo- ResolveTagDemuxMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo- ResolveTagDemuxMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo- ResolveTagDemuxMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo- ResolveTagDemuxMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo- ResolveTagDemuxMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo- ResolveTagDemuxMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo- ResolveTagDemuxMethod "getv" o = GObject.Object.ObjectGetvMethodInfo- ResolveTagDemuxMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo- ResolveTagDemuxMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo- ResolveTagDemuxMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo- ResolveTagDemuxMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo- ResolveTagDemuxMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo- ResolveTagDemuxMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo- ResolveTagDemuxMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo- ResolveTagDemuxMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo- ResolveTagDemuxMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo- ResolveTagDemuxMethod "link" o = Gst.Element.ElementLinkMethodInfo- ResolveTagDemuxMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo- ResolveTagDemuxMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo- ResolveTagDemuxMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo- ResolveTagDemuxMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo- ResolveTagDemuxMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo- ResolveTagDemuxMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo- ResolveTagDemuxMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo- ResolveTagDemuxMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo- ResolveTagDemuxMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo- ResolveTagDemuxMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo- ResolveTagDemuxMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo- ResolveTagDemuxMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo- ResolveTagDemuxMethod "query" o = Gst.Element.ElementQueryMethodInfo- ResolveTagDemuxMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo- ResolveTagDemuxMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo- ResolveTagDemuxMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo- ResolveTagDemuxMethod "ref" o = Gst.Object.ObjectRefMethodInfo- ResolveTagDemuxMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo- ResolveTagDemuxMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo- ResolveTagDemuxMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo- ResolveTagDemuxMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo- ResolveTagDemuxMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo- ResolveTagDemuxMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo- ResolveTagDemuxMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo- ResolveTagDemuxMethod "seek" o = Gst.Element.ElementSeekMethodInfo- ResolveTagDemuxMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo- ResolveTagDemuxMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo- ResolveTagDemuxMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo- ResolveTagDemuxMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo- ResolveTagDemuxMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo- ResolveTagDemuxMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo- ResolveTagDemuxMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo- ResolveTagDemuxMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo- ResolveTagDemuxMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo- ResolveTagDemuxMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo- ResolveTagDemuxMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo- ResolveTagDemuxMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo- ResolveTagDemuxMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo- ResolveTagDemuxMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo- ResolveTagDemuxMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo- ResolveTagDemuxMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo- ResolveTagDemuxMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo- ResolveTagDemuxMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo- ResolveTagDemuxMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo- ResolveTagDemuxMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo- ResolveTagDemuxMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo- ResolveTagDemuxMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo- ResolveTagDemuxMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo- ResolveTagDemuxMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo- ResolveTagDemuxMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo- ResolveTagDemuxMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo- ResolveTagDemuxMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo- ResolveTagDemuxMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo- ResolveTagDemuxMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo- ResolveTagDemuxMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo- ResolveTagDemuxMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo- ResolveTagDemuxMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo- ResolveTagDemuxMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo- ResolveTagDemuxMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo- ResolveTagDemuxMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo- ResolveTagDemuxMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo- ResolveTagDemuxMethod "getState" o = Gst.Element.ElementGetStateMethodInfo- ResolveTagDemuxMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo- ResolveTagDemuxMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo- ResolveTagDemuxMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo- ResolveTagDemuxMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo- ResolveTagDemuxMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo- ResolveTagDemuxMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo- ResolveTagDemuxMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo- ResolveTagDemuxMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo- ResolveTagDemuxMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo- ResolveTagDemuxMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo- ResolveTagDemuxMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo- ResolveTagDemuxMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo- ResolveTagDemuxMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo- ResolveTagDemuxMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo- ResolveTagDemuxMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo- ResolveTagDemuxMethod "setState" o = Gst.Element.ElementSetStateMethodInfo- ResolveTagDemuxMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTagDemuxMethod t TagDemux, O.MethodInfo info TagDemux p) => OL.IsLabel t (TagDemux -> p) where-#if MIN_VERSION_base(4,10,0)- fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else- fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList TagDemux-type instance O.AttributeList TagDemux = TagDemuxAttributeList-type TagDemuxAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList TagDemux = TagDemuxSignalList-type TagDemuxSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])--#endif--
− GI/GstTag/Objects/TagDemux.hs-boot
@@ -1,29 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \- && !defined(__HADDOCK_VERSION__))-module GI.GstTag.Objects.TagDemux 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--newtype TagDemux = TagDemux (ManagedPtr TagDemux)-instance GObject TagDemux where-class (GObject o, O.IsDescendantOf TagDemux o) => IsTagDemux o-instance (GObject o, O.IsDescendantOf TagDemux o) => IsTagDemux o-instance O.HasParentTypes TagDemux
− GI/GstTag/Objects/TagMux.hs
@@ -1,228 +0,0 @@---{- |-Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Provides a base class for adding tags at the beginning or end of a-stream.--== Deriving from GstTagMux--Subclasses have to do the following things:-- * In their base init function, they must add pad templates for the sink- pad and the source pad to the element class, describing the media type- they accept and output in the caps of the pad template.- * In their class init function, they must override the- GST_TAG_MUX_CLASS(mux_klass)->render_start_tag and\/or- GST_TAG_MUX_CLASS(mux_klass)->render_end_tag vfuncs and set up a render- function.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \- && !defined(__HADDOCK_VERSION__))--module GI.GstTag.Objects.TagMux- ( ---- * Exported types- TagMux(..) ,- IsTagMux ,- toTagMux ,- noTagMux ,--- ) 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--import qualified GI.GObject.Objects.Object as GObject.Object-import qualified GI.Gst.Interfaces.TagSetter as Gst.TagSetter-import qualified GI.Gst.Objects.Element as Gst.Element-import qualified GI.Gst.Objects.Object as Gst.Object---- | Memory-managed wrapper type.-newtype TagMux = TagMux (ManagedPtr TagMux)-foreign import ccall "gst_tag_mux_get_type"- c_gst_tag_mux_get_type :: IO GType--instance GObject TagMux where- gobjectType = c_gst_tag_mux_get_type- ---- | Type class for types which can be safely cast to `TagMux`, for instance with `toTagMux`.-class (GObject o, O.IsDescendantOf TagMux o) => IsTagMux o-instance (GObject o, O.IsDescendantOf TagMux o) => IsTagMux o--instance O.HasParentTypes TagMux-type instance O.ParentTypes TagMux = '[Gst.Element.Element, Gst.Object.Object, GObject.Object.Object, Gst.TagSetter.TagSetter]---- | Cast to `TagMux`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toTagMux :: (MonadIO m, IsTagMux o) => o -> m TagMux-toTagMux = liftIO . unsafeCastTo TagMux---- | A convenience alias for `Nothing` :: `Maybe` `TagMux`.-noTagMux :: Maybe TagMux-noTagMux = Nothing--#if ENABLE_OVERLOADING-type family ResolveTagMuxMethod (t :: Symbol) (o :: *) :: * where- ResolveTagMuxMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo- ResolveTagMuxMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo- ResolveTagMuxMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo- ResolveTagMuxMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo- ResolveTagMuxMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo- ResolveTagMuxMethod "addTagValue" o = Gst.TagSetter.TagSetterAddTagValueMethodInfo- ResolveTagMuxMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo- ResolveTagMuxMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo- ResolveTagMuxMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo- ResolveTagMuxMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo- ResolveTagMuxMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo- ResolveTagMuxMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo- ResolveTagMuxMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo- ResolveTagMuxMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo- ResolveTagMuxMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo- ResolveTagMuxMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo- ResolveTagMuxMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo- ResolveTagMuxMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo- ResolveTagMuxMethod "getv" o = GObject.Object.ObjectGetvMethodInfo- ResolveTagMuxMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo- ResolveTagMuxMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo- ResolveTagMuxMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo- ResolveTagMuxMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo- ResolveTagMuxMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo- ResolveTagMuxMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo- ResolveTagMuxMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo- ResolveTagMuxMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo- ResolveTagMuxMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo- ResolveTagMuxMethod "link" o = Gst.Element.ElementLinkMethodInfo- ResolveTagMuxMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo- ResolveTagMuxMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo- ResolveTagMuxMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo- ResolveTagMuxMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo- ResolveTagMuxMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo- ResolveTagMuxMethod "mergeTags" o = Gst.TagSetter.TagSetterMergeTagsMethodInfo- ResolveTagMuxMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo- ResolveTagMuxMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo- ResolveTagMuxMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo- ResolveTagMuxMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo- ResolveTagMuxMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo- ResolveTagMuxMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo- ResolveTagMuxMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo- ResolveTagMuxMethod "query" o = Gst.Element.ElementQueryMethodInfo- ResolveTagMuxMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo- ResolveTagMuxMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo- ResolveTagMuxMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo- ResolveTagMuxMethod "ref" o = Gst.Object.ObjectRefMethodInfo- ResolveTagMuxMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo- ResolveTagMuxMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo- ResolveTagMuxMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo- ResolveTagMuxMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo- ResolveTagMuxMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo- ResolveTagMuxMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo- ResolveTagMuxMethod "resetTags" o = Gst.TagSetter.TagSetterResetTagsMethodInfo- ResolveTagMuxMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo- ResolveTagMuxMethod "seek" o = Gst.Element.ElementSeekMethodInfo- ResolveTagMuxMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo- ResolveTagMuxMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo- ResolveTagMuxMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo- ResolveTagMuxMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo- ResolveTagMuxMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo- ResolveTagMuxMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo- ResolveTagMuxMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo- ResolveTagMuxMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo- ResolveTagMuxMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo- ResolveTagMuxMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo- ResolveTagMuxMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo- ResolveTagMuxMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo- ResolveTagMuxMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo- ResolveTagMuxMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo- ResolveTagMuxMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo- ResolveTagMuxMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo- ResolveTagMuxMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo- ResolveTagMuxMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo- ResolveTagMuxMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo- ResolveTagMuxMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo- ResolveTagMuxMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo- ResolveTagMuxMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo- ResolveTagMuxMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo- ResolveTagMuxMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo- ResolveTagMuxMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo- ResolveTagMuxMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo- ResolveTagMuxMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo- ResolveTagMuxMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo- ResolveTagMuxMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo- ResolveTagMuxMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo- ResolveTagMuxMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo- ResolveTagMuxMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo- ResolveTagMuxMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo- ResolveTagMuxMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo- ResolveTagMuxMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo- ResolveTagMuxMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo- ResolveTagMuxMethod "getState" o = Gst.Element.ElementGetStateMethodInfo- ResolveTagMuxMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo- ResolveTagMuxMethod "getTagList" o = Gst.TagSetter.TagSetterGetTagListMethodInfo- ResolveTagMuxMethod "getTagMergeMode" o = Gst.TagSetter.TagSetterGetTagMergeModeMethodInfo- ResolveTagMuxMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo- ResolveTagMuxMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo- ResolveTagMuxMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo- ResolveTagMuxMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo- ResolveTagMuxMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo- ResolveTagMuxMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo- ResolveTagMuxMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo- ResolveTagMuxMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo- ResolveTagMuxMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo- ResolveTagMuxMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo- ResolveTagMuxMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo- ResolveTagMuxMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo- ResolveTagMuxMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo- ResolveTagMuxMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo- ResolveTagMuxMethod "setState" o = Gst.Element.ElementSetStateMethodInfo- ResolveTagMuxMethod "setTagMergeMode" o = Gst.TagSetter.TagSetterSetTagMergeModeMethodInfo- ResolveTagMuxMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTagMuxMethod t TagMux, O.MethodInfo info TagMux p) => OL.IsLabel t (TagMux -> p) where-#if MIN_VERSION_base(4,10,0)- fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else- fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList TagMux-type instance O.AttributeList TagMux = TagMuxAttributeList-type TagMuxAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList TagMux = TagMuxSignalList-type TagMuxSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])--#endif--
− GI/GstTag/Objects/TagMux.hs-boot
@@ -1,29 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \- && !defined(__HADDOCK_VERSION__))-module GI.GstTag.Objects.TagMux 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--newtype TagMux = TagMux (ManagedPtr TagMux)-instance GObject TagMux where-class (GObject o, O.IsDescendantOf TagMux o) => IsTagMux o-instance (GObject o, O.IsDescendantOf TagMux o) => IsTagMux o-instance O.HasParentTypes TagMux
README.md view
@@ -1,6 +1,6 @@ # Documentation Autogenerated documentation for this package can be found at -[https://hackage.haskell.org/package/gi-gsttag-1.0.17/docs/GI-GstTag.html](https://hackage.haskell.org/package/gi-gsttag-1.0.17/docs/GI-GstTag.html)+[https://hackage.haskell.org/package/gi-gsttag-1.0.18/docs/GI-GstTag.html](https://hackage.haskell.org/package/gi-gsttag-1.0.18/docs/GI-GstTag.html) For general documentation on using [haskell-gi](https://github.com/haskell-gi/haskell-gi) based bindings, see [the project page](https://github.com/haskell-gi/haskell-gi) or [the Wiki](https://github.com/haskell-gi/haskell-gi/wiki).
gi-gsttag.cabal view
@@ -1,5 +1,5 @@ name: gi-gsttag-version: 1.0.17+version: 1.0.18 synopsis: GStreamer Tag bindings description: Bindings for the GStreamer Tag library, autogenerated by haskell-gi. homepage: https://github.com/haskell-gi/haskell-gi@@ -44,6 +44,17 @@ build-depends: haskell-gi-overloading == 0.0 exposed-modules: GI.GstTag,+ GI.GstTag.Constants,+ GI.GstTag.Enums,+ GI.GstTag.Flags,+ GI.GstTag.Functions,+ GI.GstTag.Interfaces,+ GI.GstTag.Interfaces.TagXmpWriter,+ GI.GstTag.Objects,+ GI.GstTag.Objects.TagDemux,+ GI.GstTag.Objects.TagMux++ autogen-modules: GI.GstTag, GI.GstTag.Constants, GI.GstTag.Enums, GI.GstTag.Flags,