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 |
GtkVideo
is a widget to show a GtkMediaStream
with media controls.
The controls are available separately as MediaControls
.
If you just want to display a video without controls, you can treat it
like any other paintable and for example put it into a Picture
.
GtkVideo
aims to cover use cases such as previews, embedded animations,
etc. It supports autoplay, looping, and simple media controls. It does
not have support for video overlays, multichannel audio, device
selection, or input. If you are writing a full-fledged video player,
you may want to use the Paintable
API and a media framework
such as Gstreamer directly.
Synopsis
- newtype Video = Video (ManagedPtr Video)
- class (GObject o, IsDescendantOf Video o) => IsVideo o
- toVideo :: (MonadIO m, IsVideo o) => o -> m Video
- videoGetAutoplay :: (HasCallStack, MonadIO m, IsVideo a) => a -> m Bool
- videoGetFile :: (HasCallStack, MonadIO m, IsVideo a) => a -> m (Maybe File)
- videoGetLoop :: (HasCallStack, MonadIO m, IsVideo a) => a -> m Bool
- videoGetMediaStream :: (HasCallStack, MonadIO m, IsVideo a) => a -> m (Maybe MediaStream)
- videoNew :: (HasCallStack, MonadIO m) => m Video
- videoNewForFile :: (HasCallStack, MonadIO m, IsFile a) => Maybe a -> m Video
- videoNewForFilename :: (HasCallStack, MonadIO m) => Maybe [Char] -> m Video
- videoNewForMediaStream :: (HasCallStack, MonadIO m, IsMediaStream a) => Maybe a -> m Video
- videoNewForResource :: (HasCallStack, MonadIO m) => Maybe Text -> m Video
- videoSetAutoplay :: (HasCallStack, MonadIO m, IsVideo a) => a -> Bool -> m ()
- videoSetFile :: (HasCallStack, MonadIO m, IsVideo a, IsFile b) => a -> Maybe b -> m ()
- videoSetFilename :: (HasCallStack, MonadIO m, IsVideo a) => a -> Maybe [Char] -> m ()
- videoSetLoop :: (HasCallStack, MonadIO m, IsVideo a) => a -> Bool -> m ()
- videoSetMediaStream :: (HasCallStack, MonadIO m, IsVideo a, IsMediaStream b) => a -> Maybe b -> m ()
- videoSetResource :: (HasCallStack, MonadIO m, IsVideo a) => a -> Maybe Text -> m ()
- constructVideoAutoplay :: (IsVideo o, MonadIO m) => Bool -> m (GValueConstruct o)
- getVideoAutoplay :: (MonadIO m, IsVideo o) => o -> m Bool
- setVideoAutoplay :: (MonadIO m, IsVideo o) => o -> Bool -> m ()
- clearVideoFile :: (MonadIO m, IsVideo o) => o -> m ()
- constructVideoFile :: (IsVideo o, MonadIO m, IsFile a) => a -> m (GValueConstruct o)
- getVideoFile :: (MonadIO m, IsVideo o) => o -> m (Maybe File)
- setVideoFile :: (MonadIO m, IsVideo o, IsFile a) => o -> a -> m ()
- constructVideoLoop :: (IsVideo o, MonadIO m) => Bool -> m (GValueConstruct o)
- getVideoLoop :: (MonadIO m, IsVideo o) => o -> m Bool
- setVideoLoop :: (MonadIO m, IsVideo o) => o -> Bool -> m ()
- clearVideoMediaStream :: (MonadIO m, IsVideo o) => o -> m ()
- constructVideoMediaStream :: (IsVideo o, MonadIO m, IsMediaStream a) => a -> m (GValueConstruct o)
- getVideoMediaStream :: (MonadIO m, IsVideo o) => o -> m (Maybe MediaStream)
- setVideoMediaStream :: (MonadIO m, IsVideo o, IsMediaStream a) => o -> a -> m ()
Exported types
Memory-managed wrapper type.
Instances
Eq Video Source # | |
GObject Video Source # | |
Defined in GI.Gtk.Objects.Video | |
ManagedPtrNewtype Video Source # | |
Defined in GI.Gtk.Objects.Video toManagedPtr :: Video -> ManagedPtr Video | |
TypedObject Video Source # | |
Defined in GI.Gtk.Objects.Video | |
HasParentTypes Video Source # | |
Defined in GI.Gtk.Objects.Video | |
IsGValue (Maybe Video) Source # | Convert |
Defined in GI.Gtk.Objects.Video gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe Video -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe Video) | |
type ParentTypes Video Source # | |
Defined in GI.Gtk.Objects.Video |
class (GObject o, IsDescendantOf Video o) => IsVideo o Source #
Instances
(GObject o, IsDescendantOf Video o) => IsVideo o Source # | |
Defined in GI.Gtk.Objects.Video |
Methods
Click to display all available methods, including inherited ones
Methods
actionSetEnabled, activate, activateAction, activateDefault, addController, addCssClass, addMnemonicLabel, addTickCallback, allocate, bindProperty, bindPropertyFull, childFocus, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, disposeTemplate, dragCheckThreshold, errorBell, forceFloating, freezeNotify, getv, grabFocus, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFloating, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, notify, notifyByPspec, observeChildren, observeControllers, pick, queueAllocate, queueDraw, queueResize, realize, ref, refSink, removeController, removeCssClass, removeMnemonicLabel, removeTickCallback, resetProperty, resetRelation, resetState, runDispose, shouldLayout, show, sizeAllocate, snapshotChild, stealData, stealQdata, thawNotify, translateCoordinates, triggerTooltipQuery, unmap, unparent, unrealize, unref, unsetStateFlags, updateProperty, updateRelation, updateState, watchClosure.
Getters
getAccessibleRole, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getAutoplay, getBuildableId, getCanFocus, getCanTarget, getChildVisible, getClipboard, getCssClasses, getCssName, getCursor, getData, getDirection, getDisplay, getFile, getFirstChild, getFocusChild, getFocusOnClick, getFocusable, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getLastChild, getLayoutManager, getLoop, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getMediaStream, getName, getNative, getNextSibling, getOpacity, getOverflow, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getProperty, getQdata, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getStateFlags, getStyleContext, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth.
Setters
setAutoplay, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setData, setDataFull, setDirection, setFile, setFilename, setFocusChild, setFocusOnClick, setFocusable, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setLoop, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setMediaStream, setName, setOpacity, setOverflow, setParent, setProperty, setReceivesDefault, setResource, setSensitive, setSizeRequest, setStateFlags, setTooltipMarkup, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible.
getAutoplay
:: (HasCallStack, MonadIO m, IsVideo a) | |
=> a |
|
-> m Bool | Returns: |
Returns True
if videos have been set to loop.
getFile
:: (HasCallStack, MonadIO m, IsVideo a) | |
=> a |
|
-> m (Maybe File) | Returns: The file played by |
Gets the file played by self
or Nothing
if not playing back
a file.
getLoop
:: (HasCallStack, MonadIO m, IsVideo a) | |
=> a |
|
-> m Bool | Returns: |
Returns True
if videos have been set to loop.
getMediaStream
:: (HasCallStack, MonadIO m, IsVideo a) | |
=> a |
|
-> m (Maybe MediaStream) | Returns: The media stream managed by |
Gets the media stream managed by self
or Nothing
if none.
new
:: (HasCallStack, MonadIO m) | |
=> m Video | Returns: a new |
Creates a new empty GtkVideo
.
newForFile
:: (HasCallStack, MonadIO m, IsFile a) | |
=> Maybe a |
|
-> m Video | Returns: a new |
Creates a GtkVideo
to play back the given file
.
newForFilename
:: (HasCallStack, MonadIO m) | |
=> Maybe [Char] |
|
-> m Video | Returns: a new |
Creates a GtkVideo
to play back the given filename
.
This is a utility function that calls videoNewForFile
,
See that function for details.
newForMediaStream
videoNewForMediaStream Source #
:: (HasCallStack, MonadIO m, IsMediaStream a) | |
=> Maybe a |
|
-> m Video | Returns: a new |
Creates a GtkVideo
to play back the given stream
.
newForResource
:: (HasCallStack, MonadIO m) | |
=> Maybe Text |
|
-> m Video | Returns: a new |
Creates a GtkVideo
to play back the resource at the
given resourcePath
.
This is a utility function that calls videoNewForFile
.
setAutoplay
:: (HasCallStack, MonadIO m, IsVideo a) | |
=> a |
|
-> Bool |
|
-> m () |
Sets whether self
automatically starts playback when it
becomes visible or when a new file gets loaded.
setFile
:: (HasCallStack, MonadIO m, IsVideo a, IsFile b) | |
=> a |
|
-> Maybe b |
|
-> m () |
Makes self
play the given file
.
setFilename
:: (HasCallStack, MonadIO m, IsVideo a) | |
=> a |
|
-> Maybe [Char] |
|
-> m () |
Makes self
play the given filename
.
This is a utility function that calls videoSetFile
,
setLoop
:: (HasCallStack, MonadIO m, IsVideo a) | |
=> a |
|
-> Bool |
|
-> m () |
Sets whether new files loaded by self
should be set to loop.
setMediaStream
:: (HasCallStack, MonadIO m, IsVideo a, IsMediaStream b) | |
=> a |
|
-> Maybe b |
|
-> m () |
Sets the media stream to be played back.
self
will take full control of managing the media stream. If you
want to manage a media stream yourself, consider using a
Picture
for display.
If you want to display a file, consider using videoSetFile
instead.
setResource
:: (HasCallStack, MonadIO m, IsVideo a) | |
=> a |
|
-> Maybe Text |
|
-> m () |
Makes self
play the resource at the given resourcePath
.
This is a utility function that calls videoSetFile
.
Properties
autoplay
If the video should automatically begin playing.
constructVideoAutoplay :: (IsVideo o, MonadIO m) => Bool -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “autoplay
” property. This is rarely needed directly, but it is used by new
.
getVideoAutoplay :: (MonadIO m, IsVideo o) => o -> m Bool Source #
Get the value of the “autoplay
” property.
When overloading is enabled, this is equivalent to
get
video #autoplay
setVideoAutoplay :: (MonadIO m, IsVideo o) => o -> Bool -> m () Source #
Set the value of the “autoplay
” property.
When overloading is enabled, this is equivalent to
set
video [ #autoplay:=
value ]
file
The file played by this video if the video is playing a file.
clearVideoFile :: (MonadIO m, IsVideo o) => o -> m () Source #
Set the value of the “file
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#file
constructVideoFile :: (IsVideo o, MonadIO m, IsFile a) => a -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “file
” property. This is rarely needed directly, but it is used by new
.
getVideoFile :: (MonadIO m, IsVideo o) => o -> m (Maybe File) Source #
Get the value of the “file
” property.
When overloading is enabled, this is equivalent to
get
video #file
setVideoFile :: (MonadIO m, IsVideo o, IsFile a) => o -> a -> m () Source #
Set the value of the “file
” property.
When overloading is enabled, this is equivalent to
set
video [ #file:=
value ]
loop
If new media files should be set to loop.
constructVideoLoop :: (IsVideo o, MonadIO m) => Bool -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “loop
” property. This is rarely needed directly, but it is used by new
.
getVideoLoop :: (MonadIO m, IsVideo o) => o -> m Bool Source #
Get the value of the “loop
” property.
When overloading is enabled, this is equivalent to
get
video #loop
setVideoLoop :: (MonadIO m, IsVideo o) => o -> Bool -> m () Source #
Set the value of the “loop
” property.
When overloading is enabled, this is equivalent to
set
video [ #loop:=
value ]
mediaStream
The media-stream played
clearVideoMediaStream :: (MonadIO m, IsVideo o) => o -> m () Source #
Set the value of the “media-stream
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#mediaStream
constructVideoMediaStream :: (IsVideo o, MonadIO m, IsMediaStream a) => a -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “media-stream
” property. This is rarely needed directly, but it is used by new
.
getVideoMediaStream :: (MonadIO m, IsVideo o) => o -> m (Maybe MediaStream) Source #
Get the value of the “media-stream
” property.
When overloading is enabled, this is equivalent to
get
video #mediaStream
setVideoMediaStream :: (MonadIO m, IsVideo o, IsMediaStream a) => o -> a -> m () Source #
Set the value of the “media-stream
” property.
When overloading is enabled, this is equivalent to
set
video [ #mediaStream:=
value ]