gi-gst-1.0.14: GStreamer bindings

CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.Gst.Interfaces.ChildProxy

Contents

Description

This interface abstracts handling of property sets for elements with children. Imagine elements such as mixers or polyphonic generators. They all have multiple Pad or some kind of voice objects. Another use case are container elements like Bin. The element implementing the interface acts as a parent for those child objects.

By implementing this interface the child properties can be accessed from the parent element by using gst_child_proxy_get() and gst_child_proxy_set().

Property names are written as "child-name::property-name". The whole naming scheme is recursive. Thus "child1::child2::property" is valid too, if "child1" and "child2" implement the ChildProxy interface.

Synopsis

Exported types

Methods

childAdded

childProxyChildAdded Source #

Arguments

:: (HasCallStack, MonadIO m, IsChildProxy a, IsObject b) 
=> a

parent: the parent object

-> b

child: the newly added child

-> Text

name: the name of the new child

-> m () 

Emits the "child-added" signal.

childRemoved

childProxyChildRemoved Source #

Arguments

:: (HasCallStack, MonadIO m, IsChildProxy a, IsObject b) 
=> a

parent: the parent object

-> b

child: the removed child

-> Text

name: the name of the old child

-> m () 

Emits the "child-removed" signal.

getChildByIndex

childProxyGetChildByIndex Source #

Arguments

:: (HasCallStack, MonadIO m, IsChildProxy a) 
=> a

parent: the parent object to get the child from

-> Word32

index: the child's position in the child list

-> m (Maybe Object)

Returns: the child object or Nothing if not found (index too high). Unref after usage.

MT safe.

Fetches a child by its number.

getChildByName

childProxyGetChildByName Source #

Arguments

:: (HasCallStack, MonadIO m, IsChildProxy a) 
=> a

parent: the parent object to get the child from

-> Text

name: the child's name

-> m (Maybe Object)

Returns: the child object or Nothing if not found. Unref after usage.

MT safe.

Looks up a child element by the given name.

This virtual method has a default implementation that uses Object together with objectGetName. If the interface is to be used with GObjects, this methods needs to be overridden.

getChildrenCount

childProxyGetChildrenCount Source #

Arguments

:: (HasCallStack, MonadIO m, IsChildProxy a) 
=> a

parent: the parent object

-> m Word32

Returns: the number of child objects

MT safe.

Gets the number of child objects this parent contains.

getProperty

childProxyGetProperty Source #

Arguments

:: (HasCallStack, MonadIO m, IsChildProxy a) 
=> a

object: object to query

-> Text

name: name of the property

-> m GValue 

Gets a single property using the GstChildProxy mechanism. You are responsible for freeing it by calling valueUnset

lookup

childProxyLookup Source #

Arguments

:: (HasCallStack, MonadIO m, IsChildProxy a) 
=> a

object: child proxy object to lookup the property in

-> Text

name: name of the property to look up

-> m (Bool, Object, GParamSpec)

Returns: True if target and pspec could be found. False otherwise. In that case the values for pspec and target are not modified. Unref target after usage. For plain GObjects target is the same as object.

Looks up which object and ParamSpec would be effected by the given name.

MT safe.

setProperty

childProxySetProperty Source #

Arguments

:: (HasCallStack, MonadIO m, IsChildProxy a) 
=> a

object: the parent object

-> Text

name: name of the property to set

-> GValue

value: new Value for the property

-> m () 

Sets a single property using the GstChildProxy mechanism.

Signals

childAdded

childRemoved