{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstAudio.Structs.AudioDownmixMeta
(
AudioDownmixMeta(..) ,
newZeroAudioDownmixMeta ,
#if defined(ENABLE_OVERLOADING)
ResolveAudioDownmixMetaMethod ,
#endif
audioDownmixMetaGetInfo ,
#if defined(ENABLE_OVERLOADING)
audioDownmixMeta_fromChannels ,
#endif
getAudioDownmixMetaFromChannels ,
setAudioDownmixMetaFromChannels ,
#if defined(ENABLE_OVERLOADING)
audioDownmixMeta_fromPosition ,
#endif
getAudioDownmixMetaFromPosition ,
setAudioDownmixMetaFromPosition ,
#if defined(ENABLE_OVERLOADING)
audioDownmixMeta_matrix ,
#endif
getAudioDownmixMetaMatrix ,
setAudioDownmixMetaMatrix ,
#if defined(ENABLE_OVERLOADING)
audioDownmixMeta_meta ,
#endif
getAudioDownmixMetaMeta ,
#if defined(ENABLE_OVERLOADING)
audioDownmixMeta_toChannels ,
#endif
getAudioDownmixMetaToChannels ,
setAudioDownmixMetaToChannels ,
#if defined(ENABLE_OVERLOADING)
audioDownmixMeta_toPosition ,
#endif
getAudioDownmixMetaToPosition ,
setAudioDownmixMetaToPosition ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified GI.Gst.Structs.Meta as Gst.Meta
import qualified GI.Gst.Structs.MetaInfo as Gst.MetaInfo
import {-# SOURCE #-} qualified GI.GstAudio.Enums as GstAudio.Enums
newtype AudioDownmixMeta = AudioDownmixMeta (SP.ManagedPtr AudioDownmixMeta)
deriving (AudioDownmixMeta -> AudioDownmixMeta -> Bool
(AudioDownmixMeta -> AudioDownmixMeta -> Bool)
-> (AudioDownmixMeta -> AudioDownmixMeta -> Bool)
-> Eq AudioDownmixMeta
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AudioDownmixMeta -> AudioDownmixMeta -> Bool
== :: AudioDownmixMeta -> AudioDownmixMeta -> Bool
$c/= :: AudioDownmixMeta -> AudioDownmixMeta -> Bool
/= :: AudioDownmixMeta -> AudioDownmixMeta -> Bool
Eq)
instance SP.ManagedPtrNewtype AudioDownmixMeta where
toManagedPtr :: AudioDownmixMeta -> ManagedPtr AudioDownmixMeta
toManagedPtr (AudioDownmixMeta ManagedPtr AudioDownmixMeta
p) = ManagedPtr AudioDownmixMeta
p
instance BoxedPtr AudioDownmixMeta where
boxedPtrCopy :: AudioDownmixMeta -> IO AudioDownmixMeta
boxedPtrCopy = \AudioDownmixMeta
p -> AudioDownmixMeta
-> (Ptr AudioDownmixMeta -> IO AudioDownmixMeta)
-> IO AudioDownmixMeta
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr AudioDownmixMeta
p (Int -> Ptr AudioDownmixMeta -> IO (Ptr AudioDownmixMeta)
forall a. (HasCallStack, CallocPtr a) => Int -> Ptr a -> IO (Ptr a)
copyBytes Int
48 (Ptr AudioDownmixMeta -> IO (Ptr AudioDownmixMeta))
-> (Ptr AudioDownmixMeta -> IO AudioDownmixMeta)
-> Ptr AudioDownmixMeta
-> IO AudioDownmixMeta
forall (m :: * -> *) a b c.
Monad m =>
(a -> m b) -> (b -> m c) -> a -> m c
>=> (ManagedPtr AudioDownmixMeta -> AudioDownmixMeta)
-> Ptr AudioDownmixMeta -> IO AudioDownmixMeta
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.wrapPtr ManagedPtr AudioDownmixMeta -> AudioDownmixMeta
AudioDownmixMeta)
boxedPtrFree :: AudioDownmixMeta -> IO ()
boxedPtrFree = \AudioDownmixMeta
x -> AudioDownmixMeta -> (Ptr AudioDownmixMeta -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
SP.withManagedPtr AudioDownmixMeta
x Ptr AudioDownmixMeta -> IO ()
forall a. Ptr a -> IO ()
SP.freeMem
instance CallocPtr AudioDownmixMeta where
boxedPtrCalloc :: IO (Ptr AudioDownmixMeta)
boxedPtrCalloc = Int -> IO (Ptr AudioDownmixMeta)
forall a. Int -> IO (Ptr a)
callocBytes Int
48
newZeroAudioDownmixMeta :: MonadIO m => m AudioDownmixMeta
newZeroAudioDownmixMeta :: forall (m :: * -> *). MonadIO m => m AudioDownmixMeta
newZeroAudioDownmixMeta = IO AudioDownmixMeta -> m AudioDownmixMeta
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO AudioDownmixMeta -> m AudioDownmixMeta)
-> IO AudioDownmixMeta -> m AudioDownmixMeta
forall a b. (a -> b) -> a -> b
$ IO (Ptr AudioDownmixMeta)
forall a. CallocPtr a => IO (Ptr a)
boxedPtrCalloc IO (Ptr AudioDownmixMeta)
-> (Ptr AudioDownmixMeta -> IO AudioDownmixMeta)
-> IO AudioDownmixMeta
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (ManagedPtr AudioDownmixMeta -> AudioDownmixMeta)
-> Ptr AudioDownmixMeta -> IO AudioDownmixMeta
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr AudioDownmixMeta -> AudioDownmixMeta
AudioDownmixMeta
instance tag ~ 'AttrSet => Constructible AudioDownmixMeta tag where
new :: forall (m :: * -> *).
MonadIO m =>
(ManagedPtr AudioDownmixMeta -> AudioDownmixMeta)
-> [AttrOp AudioDownmixMeta tag] -> m AudioDownmixMeta
new ManagedPtr AudioDownmixMeta -> AudioDownmixMeta
_ [AttrOp AudioDownmixMeta tag]
attrs = do
AudioDownmixMeta
o <- m AudioDownmixMeta
forall (m :: * -> *). MonadIO m => m AudioDownmixMeta
newZeroAudioDownmixMeta
AudioDownmixMeta -> [AttrOp AudioDownmixMeta 'AttrSet] -> m ()
forall o (m :: * -> *).
MonadIO m =>
o -> [AttrOp o 'AttrSet] -> m ()
GI.Attributes.set AudioDownmixMeta
o [AttrOp AudioDownmixMeta tag]
[AttrOp AudioDownmixMeta 'AttrSet]
attrs
AudioDownmixMeta -> m AudioDownmixMeta
forall a. a -> m a
forall (m :: * -> *) a. Monad m => a -> m a
return AudioDownmixMeta
o
getAudioDownmixMetaMeta :: MonadIO m => AudioDownmixMeta -> m Gst.Meta.Meta
getAudioDownmixMetaMeta :: forall (m :: * -> *). MonadIO m => AudioDownmixMeta -> m Meta
getAudioDownmixMetaMeta AudioDownmixMeta
s = IO Meta -> m Meta
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Meta -> m Meta) -> IO Meta -> m Meta
forall a b. (a -> b) -> a -> b
$ AudioDownmixMeta -> (Ptr AudioDownmixMeta -> IO Meta) -> IO Meta
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioDownmixMeta
s ((Ptr AudioDownmixMeta -> IO Meta) -> IO Meta)
-> (Ptr AudioDownmixMeta -> IO Meta) -> IO Meta
forall a b. (a -> b) -> a -> b
$ \Ptr AudioDownmixMeta
ptr -> do
let val :: Ptr Meta
val = Ptr AudioDownmixMeta
ptr Ptr AudioDownmixMeta -> Int -> Ptr Meta
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: (Ptr Gst.Meta.Meta)
Meta
val' <- ((ManagedPtr Meta -> Meta) -> Ptr Meta -> IO Meta
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newPtr ManagedPtr Meta -> Meta
Gst.Meta.Meta) Ptr Meta
val
Meta -> IO Meta
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Meta
val'
#if defined(ENABLE_OVERLOADING)
data AudioDownmixMetaMetaFieldInfo
instance AttrInfo AudioDownmixMetaMetaFieldInfo where
type AttrBaseTypeConstraint AudioDownmixMetaMetaFieldInfo = (~) AudioDownmixMeta
type AttrAllowedOps AudioDownmixMetaMetaFieldInfo = '[ 'AttrGet]
type AttrSetTypeConstraint AudioDownmixMetaMetaFieldInfo = (~) (Ptr Gst.Meta.Meta)
type AttrTransferTypeConstraint AudioDownmixMetaMetaFieldInfo = (~)(Ptr Gst.Meta.Meta)
type AttrTransferType AudioDownmixMetaMetaFieldInfo = (Ptr Gst.Meta.Meta)
type AttrGetType AudioDownmixMetaMetaFieldInfo = Gst.Meta.Meta
type AttrLabel AudioDownmixMetaMetaFieldInfo = "meta"
type AttrOrigin AudioDownmixMetaMetaFieldInfo = AudioDownmixMeta
attrGet = getAudioDownmixMetaMeta
attrSet = undefined
attrConstruct = undefined
attrClear = undefined
attrTransfer = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstAudio.Structs.AudioDownmixMeta.meta"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstaudio-1.0.25/docs/GI-GstAudio-Structs-AudioDownmixMeta.html#g:attr:meta"
})
audioDownmixMeta_meta :: AttrLabelProxy "meta"
audioDownmixMeta_meta = AttrLabelProxy
#endif
getAudioDownmixMetaFromPosition :: MonadIO m => AudioDownmixMeta -> m GstAudio.Enums.AudioChannelPosition
getAudioDownmixMetaFromPosition :: forall (m :: * -> *).
MonadIO m =>
AudioDownmixMeta -> m AudioChannelPosition
getAudioDownmixMetaFromPosition AudioDownmixMeta
s = IO AudioChannelPosition -> m AudioChannelPosition
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO AudioChannelPosition -> m AudioChannelPosition)
-> IO AudioChannelPosition -> m AudioChannelPosition
forall a b. (a -> b) -> a -> b
$ AudioDownmixMeta
-> (Ptr AudioDownmixMeta -> IO AudioChannelPosition)
-> IO AudioChannelPosition
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioDownmixMeta
s ((Ptr AudioDownmixMeta -> IO AudioChannelPosition)
-> IO AudioChannelPosition)
-> (Ptr AudioDownmixMeta -> IO AudioChannelPosition)
-> IO AudioChannelPosition
forall a b. (a -> b) -> a -> b
$ \Ptr AudioDownmixMeta
ptr -> do
CInt
val <- Ptr CInt -> IO CInt
forall a. Storable a => Ptr a -> IO a
peek (Ptr AudioDownmixMeta
ptr Ptr AudioDownmixMeta -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) :: IO CInt
let val' :: AudioChannelPosition
val' = (Int -> AudioChannelPosition
forall a. Enum a => Int -> a
toEnum (Int -> AudioChannelPosition)
-> (CInt -> Int) -> CInt -> AudioChannelPosition
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CInt
val
AudioChannelPosition -> IO AudioChannelPosition
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return AudioChannelPosition
val'
setAudioDownmixMetaFromPosition :: MonadIO m => AudioDownmixMeta -> GstAudio.Enums.AudioChannelPosition -> m ()
setAudioDownmixMetaFromPosition :: forall (m :: * -> *).
MonadIO m =>
AudioDownmixMeta -> AudioChannelPosition -> m ()
setAudioDownmixMetaFromPosition AudioDownmixMeta
s AudioChannelPosition
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ AudioDownmixMeta -> (Ptr AudioDownmixMeta -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioDownmixMeta
s ((Ptr AudioDownmixMeta -> IO ()) -> IO ())
-> (Ptr AudioDownmixMeta -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr AudioDownmixMeta
ptr -> do
let val' :: CInt
val' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt)
-> (AudioChannelPosition -> Int) -> AudioChannelPosition -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AudioChannelPosition -> Int
forall a. Enum a => a -> Int
fromEnum) AudioChannelPosition
val
Ptr CInt -> CInt -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr AudioDownmixMeta
ptr Ptr AudioDownmixMeta -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) (CInt
val' :: CInt)
#if defined(ENABLE_OVERLOADING)
data AudioDownmixMetaFromPositionFieldInfo
instance AttrInfo AudioDownmixMetaFromPositionFieldInfo where
type AttrBaseTypeConstraint AudioDownmixMetaFromPositionFieldInfo = (~) AudioDownmixMeta
type AttrAllowedOps AudioDownmixMetaFromPositionFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioDownmixMetaFromPositionFieldInfo = (~) GstAudio.Enums.AudioChannelPosition
type AttrTransferTypeConstraint AudioDownmixMetaFromPositionFieldInfo = (~)GstAudio.Enums.AudioChannelPosition
type AttrTransferType AudioDownmixMetaFromPositionFieldInfo = GstAudio.Enums.AudioChannelPosition
type AttrGetType AudioDownmixMetaFromPositionFieldInfo = GstAudio.Enums.AudioChannelPosition
type AttrLabel AudioDownmixMetaFromPositionFieldInfo = "from_position"
type AttrOrigin AudioDownmixMetaFromPositionFieldInfo = AudioDownmixMeta
attrGet = getAudioDownmixMetaFromPosition
attrSet = setAudioDownmixMetaFromPosition
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstAudio.Structs.AudioDownmixMeta.fromPosition"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstaudio-1.0.25/docs/GI-GstAudio-Structs-AudioDownmixMeta.html#g:attr:fromPosition"
})
audioDownmixMeta_fromPosition :: AttrLabelProxy "fromPosition"
audioDownmixMeta_fromPosition = AttrLabelProxy
#endif
getAudioDownmixMetaToPosition :: MonadIO m => AudioDownmixMeta -> m GstAudio.Enums.AudioChannelPosition
getAudioDownmixMetaToPosition :: forall (m :: * -> *).
MonadIO m =>
AudioDownmixMeta -> m AudioChannelPosition
getAudioDownmixMetaToPosition AudioDownmixMeta
s = IO AudioChannelPosition -> m AudioChannelPosition
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO AudioChannelPosition -> m AudioChannelPosition)
-> IO AudioChannelPosition -> m AudioChannelPosition
forall a b. (a -> b) -> a -> b
$ AudioDownmixMeta
-> (Ptr AudioDownmixMeta -> IO AudioChannelPosition)
-> IO AudioChannelPosition
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioDownmixMeta
s ((Ptr AudioDownmixMeta -> IO AudioChannelPosition)
-> IO AudioChannelPosition)
-> (Ptr AudioDownmixMeta -> IO AudioChannelPosition)
-> IO AudioChannelPosition
forall a b. (a -> b) -> a -> b
$ \Ptr AudioDownmixMeta
ptr -> do
CInt
val <- Ptr CInt -> IO CInt
forall a. Storable a => Ptr a -> IO a
peek (Ptr AudioDownmixMeta
ptr Ptr AudioDownmixMeta -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) :: IO CInt
let val' :: AudioChannelPosition
val' = (Int -> AudioChannelPosition
forall a. Enum a => Int -> a
toEnum (Int -> AudioChannelPosition)
-> (CInt -> Int) -> CInt -> AudioChannelPosition
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CInt
val
AudioChannelPosition -> IO AudioChannelPosition
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return AudioChannelPosition
val'
setAudioDownmixMetaToPosition :: MonadIO m => AudioDownmixMeta -> GstAudio.Enums.AudioChannelPosition -> m ()
setAudioDownmixMetaToPosition :: forall (m :: * -> *).
MonadIO m =>
AudioDownmixMeta -> AudioChannelPosition -> m ()
setAudioDownmixMetaToPosition AudioDownmixMeta
s AudioChannelPosition
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ AudioDownmixMeta -> (Ptr AudioDownmixMeta -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioDownmixMeta
s ((Ptr AudioDownmixMeta -> IO ()) -> IO ())
-> (Ptr AudioDownmixMeta -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr AudioDownmixMeta
ptr -> do
let val' :: CInt
val' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt)
-> (AudioChannelPosition -> Int) -> AudioChannelPosition -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AudioChannelPosition -> Int
forall a. Enum a => a -> Int
fromEnum) AudioChannelPosition
val
Ptr CInt -> CInt -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr AudioDownmixMeta
ptr Ptr AudioDownmixMeta -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) (CInt
val' :: CInt)
#if defined(ENABLE_OVERLOADING)
data AudioDownmixMetaToPositionFieldInfo
instance AttrInfo AudioDownmixMetaToPositionFieldInfo where
type AttrBaseTypeConstraint AudioDownmixMetaToPositionFieldInfo = (~) AudioDownmixMeta
type AttrAllowedOps AudioDownmixMetaToPositionFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioDownmixMetaToPositionFieldInfo = (~) GstAudio.Enums.AudioChannelPosition
type AttrTransferTypeConstraint AudioDownmixMetaToPositionFieldInfo = (~)GstAudio.Enums.AudioChannelPosition
type AttrTransferType AudioDownmixMetaToPositionFieldInfo = GstAudio.Enums.AudioChannelPosition
type AttrGetType AudioDownmixMetaToPositionFieldInfo = GstAudio.Enums.AudioChannelPosition
type AttrLabel AudioDownmixMetaToPositionFieldInfo = "to_position"
type AttrOrigin AudioDownmixMetaToPositionFieldInfo = AudioDownmixMeta
attrGet = getAudioDownmixMetaToPosition
attrSet = setAudioDownmixMetaToPosition
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstAudio.Structs.AudioDownmixMeta.toPosition"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstaudio-1.0.25/docs/GI-GstAudio-Structs-AudioDownmixMeta.html#g:attr:toPosition"
})
audioDownmixMeta_toPosition :: AttrLabelProxy "toPosition"
audioDownmixMeta_toPosition = AttrLabelProxy
#endif
getAudioDownmixMetaFromChannels :: MonadIO m => AudioDownmixMeta -> m Int32
getAudioDownmixMetaFromChannels :: forall (m :: * -> *). MonadIO m => AudioDownmixMeta -> m Int32
getAudioDownmixMetaFromChannels AudioDownmixMeta
s = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ AudioDownmixMeta -> (Ptr AudioDownmixMeta -> IO Int32) -> IO Int32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioDownmixMeta
s ((Ptr AudioDownmixMeta -> IO Int32) -> IO Int32)
-> (Ptr AudioDownmixMeta -> IO Int32) -> IO Int32
forall a b. (a -> b) -> a -> b
$ \Ptr AudioDownmixMeta
ptr -> do
Int32
val <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek (Ptr AudioDownmixMeta
ptr Ptr AudioDownmixMeta -> Int -> Ptr Int32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32) :: IO Int32
Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
val
setAudioDownmixMetaFromChannels :: MonadIO m => AudioDownmixMeta -> Int32 -> m ()
setAudioDownmixMetaFromChannels :: forall (m :: * -> *).
MonadIO m =>
AudioDownmixMeta -> Int32 -> m ()
setAudioDownmixMetaFromChannels AudioDownmixMeta
s Int32
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ AudioDownmixMeta -> (Ptr AudioDownmixMeta -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioDownmixMeta
s ((Ptr AudioDownmixMeta -> IO ()) -> IO ())
-> (Ptr AudioDownmixMeta -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr AudioDownmixMeta
ptr -> do
Ptr Int32 -> Int32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr AudioDownmixMeta
ptr Ptr AudioDownmixMeta -> Int -> Ptr Int32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32) (Int32
val :: Int32)
#if defined(ENABLE_OVERLOADING)
data AudioDownmixMetaFromChannelsFieldInfo
instance AttrInfo AudioDownmixMetaFromChannelsFieldInfo where
type AttrBaseTypeConstraint AudioDownmixMetaFromChannelsFieldInfo = (~) AudioDownmixMeta
type AttrAllowedOps AudioDownmixMetaFromChannelsFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioDownmixMetaFromChannelsFieldInfo = (~) Int32
type AttrTransferTypeConstraint AudioDownmixMetaFromChannelsFieldInfo = (~)Int32
type AttrTransferType AudioDownmixMetaFromChannelsFieldInfo = Int32
type AttrGetType AudioDownmixMetaFromChannelsFieldInfo = Int32
type AttrLabel AudioDownmixMetaFromChannelsFieldInfo = "from_channels"
type AttrOrigin AudioDownmixMetaFromChannelsFieldInfo = AudioDownmixMeta
attrGet = getAudioDownmixMetaFromChannels
attrSet = setAudioDownmixMetaFromChannels
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstAudio.Structs.AudioDownmixMeta.fromChannels"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstaudio-1.0.25/docs/GI-GstAudio-Structs-AudioDownmixMeta.html#g:attr:fromChannels"
})
audioDownmixMeta_fromChannels :: AttrLabelProxy "fromChannels"
audioDownmixMeta_fromChannels = AttrLabelProxy
#endif
getAudioDownmixMetaToChannels :: MonadIO m => AudioDownmixMeta -> m Int32
getAudioDownmixMetaToChannels :: forall (m :: * -> *). MonadIO m => AudioDownmixMeta -> m Int32
getAudioDownmixMetaToChannels AudioDownmixMeta
s = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ AudioDownmixMeta -> (Ptr AudioDownmixMeta -> IO Int32) -> IO Int32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioDownmixMeta
s ((Ptr AudioDownmixMeta -> IO Int32) -> IO Int32)
-> (Ptr AudioDownmixMeta -> IO Int32) -> IO Int32
forall a b. (a -> b) -> a -> b
$ \Ptr AudioDownmixMeta
ptr -> do
Int32
val <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek (Ptr AudioDownmixMeta
ptr Ptr AudioDownmixMeta -> Int -> Ptr Int32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36) :: IO Int32
Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
val
setAudioDownmixMetaToChannels :: MonadIO m => AudioDownmixMeta -> Int32 -> m ()
setAudioDownmixMetaToChannels :: forall (m :: * -> *).
MonadIO m =>
AudioDownmixMeta -> Int32 -> m ()
setAudioDownmixMetaToChannels AudioDownmixMeta
s Int32
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ AudioDownmixMeta -> (Ptr AudioDownmixMeta -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioDownmixMeta
s ((Ptr AudioDownmixMeta -> IO ()) -> IO ())
-> (Ptr AudioDownmixMeta -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr AudioDownmixMeta
ptr -> do
Ptr Int32 -> Int32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr AudioDownmixMeta
ptr Ptr AudioDownmixMeta -> Int -> Ptr Int32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36) (Int32
val :: Int32)
#if defined(ENABLE_OVERLOADING)
data AudioDownmixMetaToChannelsFieldInfo
instance AttrInfo AudioDownmixMetaToChannelsFieldInfo where
type AttrBaseTypeConstraint AudioDownmixMetaToChannelsFieldInfo = (~) AudioDownmixMeta
type AttrAllowedOps AudioDownmixMetaToChannelsFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioDownmixMetaToChannelsFieldInfo = (~) Int32
type AttrTransferTypeConstraint AudioDownmixMetaToChannelsFieldInfo = (~)Int32
type AttrTransferType AudioDownmixMetaToChannelsFieldInfo = Int32
type AttrGetType AudioDownmixMetaToChannelsFieldInfo = Int32
type AttrLabel AudioDownmixMetaToChannelsFieldInfo = "to_channels"
type AttrOrigin AudioDownmixMetaToChannelsFieldInfo = AudioDownmixMeta
attrGet = getAudioDownmixMetaToChannels
attrSet = setAudioDownmixMetaToChannels
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstAudio.Structs.AudioDownmixMeta.toChannels"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstaudio-1.0.25/docs/GI-GstAudio-Structs-AudioDownmixMeta.html#g:attr:toChannels"
})
audioDownmixMeta_toChannels :: AttrLabelProxy "toChannels"
audioDownmixMeta_toChannels = AttrLabelProxy
#endif
getAudioDownmixMetaMatrix :: MonadIO m => AudioDownmixMeta -> m Float
getAudioDownmixMetaMatrix :: forall (m :: * -> *). MonadIO m => AudioDownmixMeta -> m Float
getAudioDownmixMetaMatrix AudioDownmixMeta
s = IO Float -> m Float
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Float -> m Float) -> IO Float -> m Float
forall a b. (a -> b) -> a -> b
$ AudioDownmixMeta -> (Ptr AudioDownmixMeta -> IO Float) -> IO Float
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioDownmixMeta
s ((Ptr AudioDownmixMeta -> IO Float) -> IO Float)
-> (Ptr AudioDownmixMeta -> IO Float) -> IO Float
forall a b. (a -> b) -> a -> b
$ \Ptr AudioDownmixMeta
ptr -> do
CFloat
val <- Ptr CFloat -> IO CFloat
forall a. Storable a => Ptr a -> IO a
peek (Ptr AudioDownmixMeta
ptr Ptr AudioDownmixMeta -> Int -> Ptr CFloat
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40) :: IO CFloat
let val' :: Float
val' = CFloat -> Float
forall a b. (Real a, Fractional b) => a -> b
realToFrac CFloat
val
Float -> IO Float
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Float
val'
setAudioDownmixMetaMatrix :: MonadIO m => AudioDownmixMeta -> Float -> m ()
setAudioDownmixMetaMatrix :: forall (m :: * -> *).
MonadIO m =>
AudioDownmixMeta -> Float -> m ()
setAudioDownmixMetaMatrix AudioDownmixMeta
s Float
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ AudioDownmixMeta -> (Ptr AudioDownmixMeta -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioDownmixMeta
s ((Ptr AudioDownmixMeta -> IO ()) -> IO ())
-> (Ptr AudioDownmixMeta -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr AudioDownmixMeta
ptr -> do
let val' :: CFloat
val' = Float -> CFloat
forall a b. (Real a, Fractional b) => a -> b
realToFrac Float
val
Ptr CFloat -> CFloat -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr AudioDownmixMeta
ptr Ptr AudioDownmixMeta -> Int -> Ptr CFloat
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40) (CFloat
val' :: CFloat)
#if defined(ENABLE_OVERLOADING)
data AudioDownmixMetaMatrixFieldInfo
instance AttrInfo AudioDownmixMetaMatrixFieldInfo where
type AttrBaseTypeConstraint AudioDownmixMetaMatrixFieldInfo = (~) AudioDownmixMeta
type AttrAllowedOps AudioDownmixMetaMatrixFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioDownmixMetaMatrixFieldInfo = (~) Float
type AttrTransferTypeConstraint AudioDownmixMetaMatrixFieldInfo = (~)Float
type AttrTransferType AudioDownmixMetaMatrixFieldInfo = Float
type AttrGetType AudioDownmixMetaMatrixFieldInfo = Float
type AttrLabel AudioDownmixMetaMatrixFieldInfo = "matrix"
type AttrOrigin AudioDownmixMetaMatrixFieldInfo = AudioDownmixMeta
attrGet = getAudioDownmixMetaMatrix
attrSet = setAudioDownmixMetaMatrix
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstAudio.Structs.AudioDownmixMeta.matrix"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstaudio-1.0.25/docs/GI-GstAudio-Structs-AudioDownmixMeta.html#g:attr:matrix"
})
audioDownmixMeta_matrix :: AttrLabelProxy "matrix"
audioDownmixMeta_matrix = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList AudioDownmixMeta
type instance O.AttributeList AudioDownmixMeta = AudioDownmixMetaAttributeList
type AudioDownmixMetaAttributeList = ('[ '("meta", AudioDownmixMetaMetaFieldInfo), '("fromPosition", AudioDownmixMetaFromPositionFieldInfo), '("toPosition", AudioDownmixMetaToPositionFieldInfo), '("fromChannels", AudioDownmixMetaFromChannelsFieldInfo), '("toChannels", AudioDownmixMetaToChannelsFieldInfo), '("matrix", AudioDownmixMetaMatrixFieldInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_audio_downmix_meta_get_info" gst_audio_downmix_meta_get_info ::
IO (Ptr Gst.MetaInfo.MetaInfo)
audioDownmixMetaGetInfo ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Gst.MetaInfo.MetaInfo
audioDownmixMetaGetInfo :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m MetaInfo
audioDownmixMetaGetInfo = IO MetaInfo -> m MetaInfo
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO MetaInfo -> m MetaInfo) -> IO MetaInfo -> m MetaInfo
forall a b. (a -> b) -> a -> b
$ do
Ptr MetaInfo
result <- IO (Ptr MetaInfo)
gst_audio_downmix_meta_get_info
Text -> Ptr MetaInfo -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"audioDownmixMetaGetInfo" Ptr MetaInfo
result
MetaInfo
result' <- ((ManagedPtr MetaInfo -> MetaInfo) -> Ptr MetaInfo -> IO MetaInfo
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newPtr ManagedPtr MetaInfo -> MetaInfo
Gst.MetaInfo.MetaInfo) Ptr MetaInfo
result
MetaInfo -> IO MetaInfo
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return MetaInfo
result'
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveAudioDownmixMetaMethod (t :: Symbol) (o :: *) :: * where
ResolveAudioDownmixMetaMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveAudioDownmixMetaMethod t AudioDownmixMeta, O.OverloadedMethod info AudioDownmixMeta p) => OL.IsLabel t (AudioDownmixMeta -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveAudioDownmixMetaMethod t AudioDownmixMeta, O.OverloadedMethod info AudioDownmixMeta p, R.HasField t AudioDownmixMeta p) => R.HasField t AudioDownmixMeta p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveAudioDownmixMetaMethod t AudioDownmixMeta, O.OverloadedMethodInfo info AudioDownmixMeta) => OL.IsLabel t (O.MethodProxy info AudioDownmixMeta) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif