Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
GI.GES.Objects.Effect
Description
Any GStreamer filter can be used as effects in GES. The only restriction we have is that effects element should have a single sinkpad (which will be requested if necessary) and a single srcpad.
Note that gesaudiomixer
and gescompositor
can be used as effects even
though they can have several sinkpads.
GES specific effects:
- **
gesvideoscale
**: GES implements a specific scaling bin that allows specifying where scaling will happen inside the chain of effects. By default scaling can happen either in the source (if the source doesn't have a specific size, likevideotestsrc
or mixing has been disabled) or in the mixing element otherwise, when adding that element as an effect, GES guarantees that the scaling will happen in it. This can be useful for example if you want to crop the video before scaling or apply rounding corners to the video after scaling, etc...
Note: GES always adds converters (@audioconvert ! audioresample ! audioconvert@ for audio effects and @videoconvert@ for video effects) to make it simpler for end users.
Synopsis
- newtype Effect = Effect (ManagedPtr Effect)
- class (GObject o, IsDescendantOf Effect o) => IsEffect o
- toEffect :: (MonadIO m, IsEffect o) => o -> m Effect
- effectNew :: (HasCallStack, MonadIO m) => Text -> m (Maybe Effect)
- constructEffectBinDescription :: (IsEffect o, MonadIO m) => Text -> m (GValueConstruct o)
- getEffectBinDescription :: (MonadIO m, IsEffect o) => o -> m (Maybe Text)
Exported types
Memory-managed wrapper type.
Instances
Eq Effect Source # | |
GObject Effect Source # | |
Defined in GI.GES.Objects.Effect | |
ManagedPtrNewtype Effect Source # | |
Defined in GI.GES.Objects.Effect Methods toManagedPtr :: Effect -> ManagedPtr Effect | |
TypedObject Effect Source # | |
Defined in GI.GES.Objects.Effect | |
HasParentTypes Effect Source # | |
Defined in GI.GES.Objects.Effect | |
IsGValue (Maybe Effect) Source # | Convert |
Defined in GI.GES.Objects.Effect Methods gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe Effect -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe Effect) | |
type ParentTypes Effect Source # | |
Defined in GI.GES.Objects.Effect type ParentTypes Effect = '[BaseEffect, Operation, TrackElement, TimelineElement, Object, Extractable, MetaContainer] |
class (GObject o, IsDescendantOf Effect o) => IsEffect o Source #
Instances
(GObject o, IsDescendantOf Effect o) => IsEffect o Source # | |
Defined in GI.GES.Objects.Effect |
Methods
Click to display all available methods, including inherited ones
Methods
addChildProperty, addChildrenProps, addMetasFromString, bindProperty, bindPropertyFull, checkMetaRegistered, clampControlSource, copy, edit, editFull, forceFloating, foreach, freezeNotify, getv, hasInternalSource, isActive, isCore, isFloating, isTimeEffect, listChildrenProperties, lookupChild, metasToString, notify, notifyByPspec, paste, ref, refSink, registerMeta, registerMetaBoolean, registerMetaDate, registerMetaDateTime, registerMetaDouble, registerMetaFloat, registerMetaInt, registerMetaInt64, registerMetaString, registerMetaUint, registerMetaUint64, registerStaticMeta, registerTimeProperty, removeChildProperty, removeControlBinding, ripple, rippleEnd, rollEnd, rollStart, runDispose, stealData, stealQdata, thawNotify, trim, unref, watchClosure.
Getters
getAllControlBindings, getAsset, getAutoClampControlSources, getBoolean, getChildProperty, getChildPropertyByPspec, getControlBinding, getData, getDate, getDateTime, getDouble, getDuration, getElement, getFloat, getGnlobject, getId, getInpoint, getInt, getInt64, getLayerPriority, getMarkerList, getMaxDuration, getMeta, getName, getNaturalFramerate, getNleobject, getParent, getPriority, getProperty, getQdata, getStart, getString, getTimeline, getToplevelParent, getTrack, getTrackType, getTrackTypes, getUint, getUint64.
Setters
setActive, setAsset, setAutoClampControlSources, setBoolean, setChildProperty, setChildPropertyByPspec, setChildPropertyFull, setControlSource, setData, setDataFull, setDate, setDateTime, setDouble, setDuration, setFloat, setHasInternalSource, setInpoint, setInt, setInt64, setMarkerList, setMaxDuration, setMeta, setName, setParent, setPriority, setProperty, setStart, setString, setTimeTranslationFuncs, setTimeline, setTrackType, setUint, setUint64.
new
Arguments
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> m (Maybe Effect) | Returns: a newly created |
Creates a new Effect
from the description of the bin. It should be
possible to determine the type of the effect through the element
'klass' metadata of the GstElements that will be created.
In that corner case, you should use:
ges_asset_request
(GES_TYPE_EFFECT, "audio your ! bin ! description", NULL);
and extract that asset to be in full control.
Properties
binDescription
The description of the effect bin with a gst-launch-style pipeline description.
Example: "videobalance saturation=1.5 hue=+0.5"
constructEffectBinDescription :: (IsEffect o, MonadIO m) => Text -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “bin-description
” property. This is rarely needed directly, but it is used by new
.
getEffectBinDescription :: (MonadIO m, IsEffect o) => o -> m (Maybe Text) Source #
Get the value of the “bin-description
” property.
When overloading is enabled, this is equivalent to
get
effect #binDescription