diff --git a/LICENSE b/COPYING similarity index 100% rename from LICENSE rename to COPYING diff --git a/FUNDING.yml b/FUNDING.yml new file mode 100644 index 00000000..3bdfe8fb --- /dev/null +++ b/FUNDING.yml @@ -0,0 +1,2 @@ +liberapay: Clapper +custom: ['paypal.me/Rafostar'] diff --git a/README.md b/README.md index 13cb27cd..93dacf84 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,70 @@ -# GtkPlayer -A pre-made GJS Media Player widget powered by GStreamer with OpenGL rendering. +# Clapper +[![Flatpak](https://github.com/Rafostar/clapper/actions/workflows/flatpak.yml/badge.svg?event=push)](https://github.com/Rafostar/clapper/actions/workflows/flatpak.yml) +[![Flatpak Nightly](https://github.com/Rafostar/clapper/actions/workflows/flatpak-nightly.yml/badge.svg?event=schedule)](https://github.com/Rafostar/clapper/actions/workflows/flatpak-nightly.yml) +[![Crowdin](https://badges.crowdin.net/clapper/localized.svg)](https://crowdin.com/project/clapper) +[![Matrix](https://img.shields.io/matrix/clapper-player:matrix.org?label=matrix)](https://matrix.to/#/#clapper-player:matrix.org) +[![Donate](https://img.shields.io/liberapay/receives/Clapper.svg?logo=liberapay)](https://liberapay.com/Clapper) + +A GNOME media player built using [GJS](https://gitlab.gnome.org/GNOME/gjs) with [GTK4](https://www.gtk.org) toolkit. +The media player uses [GStreamer](https://gstreamer.freedesktop.org/) as a media backend and renders everything via [OpenGL](https://www.opengl.org). + +

+
+ Windowed Mode +

+ +

+
+ Fullscreen Mode +

+ +

+
+ Floating Mode +

+ +### Features: +* [Hardware acceleration](https://github.com/Rafostar/clapper/wiki/Hardware-acceleration) +* [Floating mode](https://github.com/Rafostar/clapper/wiki/Floating-mode) +* [Adaptive UI](https://raw.githubusercontent.com/wiki/Rafostar/clapper/media/screenshot-mobile.png) +* [Playlist from file](https://github.com/Rafostar/clapper/wiki/Playlists) +* Chapters on progress bar +* MPRIS support + +## Installation from Flatpak +The `Flatpak` package includes all required dependencies and codecs. +Additionally it also has a few patches, thus some functionalities work better (or are only available) in `Flatpak` version (until my changes are accepted upstream). +List of patches used in this version can be found [here](https://github.com/Rafostar/clapper/issues/35). + + + Download on Flathub + + +## Packages in Linux Distributions +[![Packaging status](https://repology.org/badge/vertical-allrepos/clapper.svg)](https://repology.org/project/clapper/versions) + +Pre-built RPM packages are also available in [my repo](https://software.opensuse.org//download.html?project=home%3ARafostar&package=clapper) ([see status](https://build.opensuse.org/package/show/home:Rafostar/clapper)).
+Those are automatically built on each git commit, thus are considered unstable. + +## Installation from Source Code +```sh +meson builddir --prefix=/usr/local +sudo meson install -C builddir +``` + +## Questions? +Feel free to ask me any questions. Come and talk on Matrix: [#clapper-player:matrix.org](https://matrix.to/#/#clapper-player:matrix.org) + +## Translations +Preferred translation method is to use [Clapper Crowdin](https://crowdin.com/project/clapper) web page. + +Crowdin does not require any additional tools and translating can be done through web browser. +You can login using GitHub account or create a new one. Only I can add new languages to this project, +so if your language is not available, please contact me first. + +## Special Thanks +Many thanks to [sp1ritCS](https://github.com/sp1ritCS) for creating and maintaining package build files. +Big thanks to [bridadan](https://github.com/bridadan) and [Uniformbuffer3](https://github.com/Uniformbuffer3) for helping +with testing V4L2 and NVDEC hardware acceleration methods. + +Thanks a lot to all the people who are supporting the development with their anonymous donations through [Liberapay](https://liberapay.com/Clapper/). I :heart: U. diff --git a/_config.yml b/_config.yml new file mode 100644 index 00000000..c4192631 --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-cayman \ No newline at end of file diff --git a/doc/clapper/clapper-logo.svg b/doc/clapper/clapper-logo.svg new file mode 100644 index 00000000..2889584b --- /dev/null +++ b/doc/clapper/clapper-logo.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/clapper/clapper.devhelp2 b/doc/clapper/clapper.devhelp2 new file mode 100644 index 00000000..442519d1 --- /dev/null +++ b/doc/clapper/clapper.devhelp2 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/doc/clapper/clapper.toml b/doc/clapper/clapper.toml new file mode 100644 index 00000000..e8ce1c87 --- /dev/null +++ b/doc/clapper/clapper.toml @@ -0,0 +1,73 @@ +[library] +version = "0.5.2" +browse_url = "https://github.com/Rafostar/clapper/" +repository_url = "https://github.com/Rafostar/clapper.git" +website_url = "https://rafostar.github.io/clapper/" +docs_url = "https://rafostar.github.io/clapper/doc/clapper/" +authors = "Rafał Dzięgiel" +logo_url = "clapper-logo.svg" +license = "LGPL-2.1-or-later" +description = "Clapper playback library" +devhelp = true +search_index = true + +dependencies = ["GLib-2.0", "GObject-2.0", "Gio-2.0", "Gst-1.0"] + + [dependencies."GLib-2.0"] + name = "GLib" + description = "A general-purpose, portable utility library" + docs_url = "https://docs.gtk.org/glib/" + + [dependencies."GObject-2.0"] + name = "GObject" + description = "The base type system library" + docs_url = "https://docs.gtk.org/gobject/" + + [dependencies."Gio-2.0"] + name = "Gio" + description = "GObject Interfaces and Objects, Networking, IPC, and I/O" + docs_url = "https://docs.gtk.org/gio/" + + [dependencies."Gst-1.0"] + name = "Gst" + description = "GStreamer core library" + docs_url = "https://gstreamer.freedesktop.org/documentation/" + + [dependencies."GstBase-1.0"] + name = "GstBase" + description = "GStreamer base and utility classes" + docs_url = "https://gstreamer.freedesktop.org/documentation/base/" + + [dependencies."GstAudio-1.0"] + name = "GstAudio" + description = "GStreamer audio library" + docs_url = "https://gstreamer.freedesktop.org/documentation/audio/" + + [dependencies."GstTag-1.0"] + name = "GstTag" + description = "GStreamer tag support library" + docs_url = "https://gstreamer.freedesktop.org/documentation/tag/" + + [dependencies."GstPbutils-1.0"] + name = "GstPbutils" + description = "GStreamer base utils library" + docs_url = "https://gstreamer.freedesktop.org/documentation/pbutils/" + +related = [] + +[theme] +name = "basic" +show_index_summary = true +show_class_hierarchy = true + +[source-location] +base_url = "https://github.com/Rafostar/clapper/tree/master/" + +[extra] +# The same order will be used when generating the index +content_files = [ +] +content_images = [ + "images/clapper-logo.svg", +] +urlmap_file = "urlmap.js" diff --git a/doc/clapper/class.Discoverer.html b/doc/clapper/class.Discoverer.html new file mode 100644 index 00000000..53a3d038 --- /dev/null +++ b/doc/clapper/class.Discoverer.html @@ -0,0 +1,468 @@ + + + + + + Clapper.Discoverer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Class

+

ClapperDiscoverer

+
+ +
+ +
+

+
+ +
+

+ Description + + + [src] + +

+ +
final class Clapper.Discoverer : Gst.Object {
+  /* No available fields */
+}
+ +
+

Clapper media scanner used to discover media item info.

+

Once media is scanned, all extra information of it will be filled +within media item, this includes title, duration, chapters, etc.

+

For performance reasons, ClapperDiscoverer will create a thread pool +with an optimal number of threads for current hardware it is run in. +All discovery is then done asynchronously using said threads and queued +for discovery later if all threads are currently occupied.

+

Please note that media items are also discovered during their playback +from the player itself. Discoverer is useful in situations where one +wants to present to the user an updated media item before playback, +thus mainly to be applied into e.g. an UI with playback queue.

+
+ +
+ + + +
+ + +
+
+ + + + +
+

+ Ancestors + +

+ +
+ +
+
+ + + + + + + +
+

+ Constructors + +

+ +
+ +
+
clapper_discoverer_new
+
+

Creates a new ClapperDiscoverer instance.

+
+
+

+
+
+ +
+
+ + + + + +
+

+ Instance methods + +

+ +
+ +
+
clapper_discoverer_discover_item
+
+

Queues media item for discovery.

+
+
+

+
+
+ +
+ + + +
Methods inherited from GstObject (25)
+
+ +
+

Please see GstObject for a full list of methods.

+
+ +
+
+ + + + + +
Methods inherited from GObject (43)
+
+ +
+

Please see GObject for a full list of methods.

+
+ +
+
+ + + + +
+ + + +
+

+ Properties + +

+ + + + + +
Properties inherited from GstObject (2)
+
+
Gst.Object:name
+
+ No description available. +
+
+

+
+
Gst.Object:parent
+
+

The parent of the object. Please note, that when changing the ‘parent’ +property, we don’t emit GObject::notify and GstObject::deep-notify +signals due to locking issues. In some cases one can use +GstBin::element-added or GstBin::element-removed signals on the parent to +achieve a similar effect.

+
+
+

+
+ +
+
+ + + + + + + + + +
+ + + +
+

+ Signals + +

+ + + + + +
Signals inherited from GstObject (1)
+
+
GstObject::deep-notify
+
+

The deep notify signal is used to be notified of property changes. It is +typically attached to the toplevel bin to receive notifications from all +the elements contained in that bin.

+
+
+

+
+ +
+
+ + + + + +
Signals inherited from GObject (1)
+
+
GObject::notify
+
+

The notify signal is emitted on an object when one of its properties has +its value set through g_object_set_property(), g_object_set(), et al.

+
+
+

+
+ +
+
+ + + + + +
+ + + +
+

+ Class structure + +

+ +
+
struct ClapperDiscovererClass {
+  GstObjectClass parent_class;
+  
+}
+
+ +
+ No description available. +
+ + +
+
Class members
+ +
+ +
parent_class: GstObjectClass
+
No description available.
+ + +
+ +
+ + + + + + +
+
+ + + +
+ +
+ + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/class.Feature.html b/doc/clapper/class.Feature.html new file mode 100644 index 00000000..21299b52 --- /dev/null +++ b/doc/clapper/class.Feature.html @@ -0,0 +1,728 @@ + + + + + + Clapper.Feature + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Class

+

ClapperFeature

+
+ +
+ +
+

+
+ +
+

+ Description + + + [src] + +

+ +
class Clapper.Feature : Gst.Object {
+  parent_instance: GstObject
+}
+ +
+

Represents an additional feature.

+

Feature objects are meant for adding additional functionalities that +are supposed to either act on playback/properties changes and/or change +them themselves due to some external signal/event.

+

For reacting to playback changes subclass should override this class +virtual functions logic, while for controlling playback implementation +may call gst_object_get_parent() to acquire a weak reference on a parent +player object feature was added to.

+
+ +
+ + + +
+ + +
+
+ + + + +
+

+ Ancestors + +

+ +
+ +
+
+ + + +
+

Descendants

+
+ +
+
+ + + + + + + + + +
+

+ Instance methods + +

+ +
+ +
+ + + +
Methods inherited from GstObject (25)
+
+ +
+

Please see GstObject for a full list of methods.

+
+ +
+
+ + + + + +
Methods inherited from GObject (43)
+
+ +
+

Please see GObject for a full list of methods.

+
+ +
+
+ + + + +
+ + + +
+

+ Properties + +

+ + + + + +
Properties inherited from GstObject (2)
+
+
Gst.Object:name
+
+ No description available. +
+
+

+
+
Gst.Object:parent
+
+

The parent of the object. Please note, that when changing the ‘parent’ +property, we don’t emit GObject::notify and GstObject::deep-notify +signals due to locking issues. In some cases one can use +GstBin::element-added or GstBin::element-removed signals on the parent to +achieve a similar effect.

+
+
+

+
+ +
+
+ + + + + + + + + +
+ + + +
+

+ Signals + +

+ + + + + +
Signals inherited from GstObject (1)
+
+
GstObject::deep-notify
+
+

The deep notify signal is used to be notified of property changes. It is +typically attached to the toplevel bin to receive notifications from all +the elements contained in that bin.

+
+
+

+
+ +
+
+ + + + + +
Signals inherited from GObject (1)
+
+
GObject::notify
+
+

The notify signal is emitted on an object when one of its properties has +its value set through g_object_set_property(), g_object_set(), et al.

+
+
+

+
+ +
+
+ + + + + +
+ + + +
+

+ Class structure + +

+ +
+
struct ClapperFeatureClass {
+  GstObjectClass parent_class;
+  gboolean (* prepare) (
+    ClapperFeature* feature
+  );
+  gboolean (* unprepare) (
+    ClapperFeature* feature
+  );
+  void (* state_changed) (
+    ClapperFeature* feature,
+    ClapperPlayerState state
+  );
+  void (* position_changed) (
+    ClapperFeature* feature,
+    gfloat position
+  );
+  void (* speed_changed) (
+    ClapperFeature* feature,
+    gfloat speed
+  );
+  void (* volume_changed) (
+    ClapperFeature* feature,
+    gfloat volume
+  );
+  void (* mute_changed) (
+    ClapperFeature* feature,
+    gboolean mute
+  );
+  void (* current_media_item_changed) (
+    ClapperFeature* feature,
+    ClapperMediaItem* current_item
+  );
+  void (* media_item_updated) (
+    ClapperFeature* feature,
+    ClapperMediaItem* item
+  );
+  void (* queue_item_added) (
+    ClapperFeature* feature,
+    ClapperMediaItem* item,
+    guint index
+  );
+  void (* queue_item_removed) (
+    ClapperFeature* feature,
+    ClapperMediaItem* item
+  );
+  void (* queue_cleared) (
+    ClapperFeature* feature
+  );
+  void (* queue_progression_changed) (
+    ClapperFeature* feature,
+    ClapperQueueProgressionMode mode
+  );
+  
+}
+
+ +
+ No description available. +
+ + +
+
Class members
+ +
+ +
parent_class: GstObjectClass
+

The object class structure.

+ +
prepare: gboolean (* prepare) ( + ClapperFeature* feature + )
+
No description available.
+ +
unprepare: gboolean (* unprepare) ( + ClapperFeature* feature + )
+
No description available.
+ +
state_changed: void (* state_changed) ( + ClapperFeature* feature, + ClapperPlayerState state + )
+
No description available.
+ +
position_changed: void (* position_changed) ( + ClapperFeature* feature, + gfloat position + )
+
No description available.
+ +
speed_changed: void (* speed_changed) ( + ClapperFeature* feature, + gfloat speed + )
+
No description available.
+ +
volume_changed: void (* volume_changed) ( + ClapperFeature* feature, + gfloat volume + )
+
No description available.
+ +
mute_changed: void (* mute_changed) ( + ClapperFeature* feature, + gboolean mute + )
+
No description available.
+ +
current_media_item_changed: void (* current_media_item_changed) ( + ClapperFeature* feature, + ClapperMediaItem* current_item + )
+
No description available.
+ +
media_item_updated: void (* media_item_updated) ( + ClapperFeature* feature, + ClapperMediaItem* item + )
+
No description available.
+ +
queue_item_added: void (* queue_item_added) ( + ClapperFeature* feature, + ClapperMediaItem* item, + guint index + )
+
No description available.
+ +
queue_item_removed: void (* queue_item_removed) ( + ClapperFeature* feature, + ClapperMediaItem* item + )
+
No description available.
+ +
queue_cleared: void (* queue_cleared) ( + ClapperFeature* feature + )
+
No description available.
+ +
queue_progression_changed: void (* queue_progression_changed) ( + ClapperFeature* feature, + ClapperQueueProgressionMode mode + )
+
No description available.
+ + +
+ +
+ + + +
+

+ Virtual methods + +

+ +
+ +
+
Clapper.FeatureClass.current_media_item_changed
+
+

Currently playing media item got changed. +Item will be NULL if no new item was selected.

+
+
+

+
+
+ +
+
Clapper.FeatureClass.media_item_updated
+
+

An item in queue got updated. This might be (or not) currently +played item. Implementations can get parent player object +if they want to check that from its queue.

+
+
+

+
+
+ +
+
Clapper.FeatureClass.mute_changed
+
+

Player mute state was changed.

+
+
+

+
+
+ +
+
Clapper.FeatureClass.position_changed
+
+

Player position was changed.

+
+
+

+
+
+ +
+
Clapper.FeatureClass.prepare
+
+

Prepare feature for operation (optional).

+
+
+

+
+
+ +
+
Clapper.FeatureClass.queue_cleared
+
+

All items were removed from queue. Note that in such event +queue_item_removed will NOT be called for each item for performance reasons. +You probably want to implement this function if you also implemented item removal.

+
+
+

+
+
+ +
+
Clapper.FeatureClass.queue_item_added
+
+

An item was added to the queue.

+
+
+

+
+
+ +
+
Clapper.FeatureClass.queue_item_removed
+
+

An item was removed from queue.

+
+
+

+
+
+ +
+
Clapper.FeatureClass.queue_progression_changed
+
+

ClapperQueueProgressionMode of the queue was changed.

+
+
+

+
+
+ +
+
Clapper.FeatureClass.speed_changed
+
+

Player speed was changed.

+
+
+

+
+
+ +
+
Clapper.FeatureClass.state_changed
+
+

Player state was changed.

+
+
+

+
+
+ +
+
Clapper.FeatureClass.unprepare
+
+

Revert the changes done in prepare (optional).

+
+
+

+
+
+ +
+
Clapper.FeatureClass.volume_changed
+
+

Player volume was changed.

+
+
+

+
+
+ +
+
+ + + + +
+
+ + + +
+ +
+ + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/class.MediaItem.html b/doc/clapper/class.MediaItem.html new file mode 100644 index 00000000..74ebf5f9 --- /dev/null +++ b/doc/clapper/class.MediaItem.html @@ -0,0 +1,629 @@ + + + + + + Clapper.MediaItem + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Class

+

ClapperMediaItem

+
+ +
+ +
+

+
+ +
+

+ Description + + + [src] + +

+ +
final class Clapper.MediaItem : Gst.Object {
+  /* No available fields */
+}
+ +
+

Represents a media item.

+
+ +
+ + + +
+ + +
+
+ + + + +
+

+ Ancestors + +

+ +
+ +
+
+ + + + + + + +
+

+ Constructors + +

+ +
+ +
+
clapper_media_item_new
+
+

Creates new ClapperMediaItem from URI.

+
+
+

+
+
+ +
+
clapper_media_item_new_from_file
+
+

Creates new ClapperMediaItem from GFile.

+
+
+

+
+
+ +
+
clapper_media_item_new_take
+
+

Creates new ClapperMediaItem from URI.

+
+
+

+
+
+ +
+
+ + + + + +
+

+ Instance methods + +

+ +
+ +
+
clapper_media_item_append_suburi
+
+ No description available. +
+
+

+
+
+ +
+
clapper_media_item_get_container_format
+
+

Get media item container format.

+
+
+

+
+
+ +
+
clapper_media_item_get_duration
+
+

Get media item duration as decimal number in seconds.

+
+
+

+
+
+ +
+
clapper_media_item_get_suburis
+
+ No description available. +
+
+

+
+
+ +
+
clapper_media_item_get_title
+
+

Get media item title for displaying in app UI. This function +always returns a media title of some sort for convenience +of displaying it in the application UI.

+
+
+

+
+
+ +
+
clapper_media_item_get_uri
+
+

Get the URI of ClapperMediaItem.

+
+
+

+
+
+ +
+
clapper_media_item_set_suburis
+
+ No description available. +
+
+

+
+
+ +
+ + + +
Methods inherited from GstObject (25)
+
+ +
+

Please see GstObject for a full list of methods.

+
+ +
+
+ + + + + +
Methods inherited from GObject (43)
+
+ +
+

Please see GObject for a full list of methods.

+
+ +
+
+ + + + +
+ + + +
+

+ Properties + +

+ + +
+ +
+
Clapper.MediaItem:container-format
+
+

Media container format.

+
+
+

+
+
+ +
+
Clapper.MediaItem:duration
+
+

Media duration as a decimal number in seconds.

+
+
+

+
+
+ +
+
Clapper.MediaItem:suburis
+
+

External Subtitle URIs.

+
+
+

+
+
+ +
+
Clapper.MediaItem:title
+
+

Media title.

+
+
+

+
+
+ +
+
Clapper.MediaItem:uri
+
+

Media URI.

+
+
+

+
+
+ +
+ + + + +
Properties inherited from GstObject (2)
+
+
Gst.Object:name
+
+ No description available. +
+
+

+
+
Gst.Object:parent
+
+

The parent of the object. Please note, that when changing the ‘parent’ +property, we don’t emit GObject::notify and GstObject::deep-notify +signals due to locking issues. In some cases one can use +GstBin::element-added or GstBin::element-removed signals on the parent to +achieve a similar effect.

+
+
+

+
+ +
+
+ + + + + + + + + +
+ + + +
+

+ Signals + +

+ + + + + +
Signals inherited from GstObject (1)
+
+
GstObject::deep-notify
+
+

The deep notify signal is used to be notified of property changes. It is +typically attached to the toplevel bin to receive notifications from all +the elements contained in that bin.

+
+
+

+
+ +
+
+ + + + + +
Signals inherited from GObject (1)
+
+
GObject::notify
+
+

The notify signal is emitted on an object when one of its properties has +its value set through g_object_set_property(), g_object_set(), et al.

+
+
+

+
+ +
+
+ + + + + +
+ + + +
+

+ Class structure + +

+ +
+
struct ClapperMediaItemClass {
+  GstObjectClass parent_class;
+  
+}
+
+ +
+ No description available. +
+ + +
+
Class members
+ +
+ +
parent_class: GstObjectClass
+
No description available.
+ + +
+ +
+ + + + + + +
+
+ + + +
+ +
+ + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/class.Mpris.html b/doc/clapper/class.Mpris.html new file mode 100644 index 00000000..3e7ab85c --- /dev/null +++ b/doc/clapper/class.Mpris.html @@ -0,0 +1,541 @@ + + + + + + Clapper.Mpris + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Class

+

ClapperMpris

+
+ +
+ +
+

+
+ +
+

+ Description + + + [src] + +

+ +
final class Clapper.Mpris : Clapper.Feature {
+  /* No available fields */
+}
+ +
+

Represents a MPRIS feature.

+
+ +
+ + + +
+ + +
+
+ + + + +
+

+ Ancestors + +

+ +
+ +
+
+ + + + + + + +
+

+ Constructors + +

+ +
+ +
+
clapper_mpris_new
+
+

Creates a new ClapperMpris instance.

+
+
+

+
+
+ +
+
+ + + + + +
+

+ Instance methods + +

+ +
+ +
+
clapper_mpris_get_fallback_art_url
+
+

Get fallback art URL earlier set by user.

+
+
+

+
+
+ +
+
clapper_mpris_set_fallback_art_url
+
+

Set fallback artwork to show when media does not provide one.

+
+
+

+
+
+ +
+ + + + + +
Methods inherited from GstObject (25)
+
+ +
+

Please see GstObject for a full list of methods.

+
+ +
+
+ + + + + +
Methods inherited from GObject (43)
+
+ +
+

Please see GObject for a full list of methods.

+
+ +
+
+ + + + +
+ + + +
+

+ Properties + +

+ + +
+ +
+
Clapper.Mpris:desktop-entry
+
+

The basename of an installed .desktop file with the “.desktop” extension stripped.

+
+
+

+
+
+ +
+
Clapper.Mpris:fallback-art-url
+
+

Fallback artwork to show when media does not provide one.

+
+
+

+
+
+ +
+
Clapper.Mpris:identity
+
+

A friendly name to identify the media player.

+
+
+

+
+
+ +
+
Clapper.Mpris:own-name
+
+

DBus name to own on connection.

+
+
+

+
+
+ +
+ + + + + + +
Properties inherited from GstObject (2)
+
+
Gst.Object:name
+
+ No description available. +
+
+

+
+
Gst.Object:parent
+
+

The parent of the object. Please note, that when changing the ‘parent’ +property, we don’t emit GObject::notify and GstObject::deep-notify +signals due to locking issues. In some cases one can use +GstBin::element-added or GstBin::element-removed signals on the parent to +achieve a similar effect.

+
+
+

+
+ +
+
+ + + + + + + + + +
+ + + +
+

+ Signals + +

+ + + + + + + +
Signals inherited from GstObject (1)
+
+
GstObject::deep-notify
+
+

The deep notify signal is used to be notified of property changes. It is +typically attached to the toplevel bin to receive notifications from all +the elements contained in that bin.

+
+
+

+
+ +
+
+ + + + + +
Signals inherited from GObject (1)
+
+
GObject::notify
+
+

The notify signal is emitted on an object when one of its properties has +its value set through g_object_set_property(), g_object_set(), et al.

+
+
+

+
+ +
+
+ + + + + +
+ + + +
+

+ Class structure + +

+ +
+
struct ClapperMprisClass {
+  ClapperFeatureClass parent_class;
+  
+}
+
+ +
+ No description available. +
+ + +
+
Class members
+ +
+ +
parent_class: ClapperFeatureClass
+
No description available.
+ + +
+ +
+ + + + + + +
+
+ + + +
+ +
+ + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/class.Player.html b/doc/clapper/class.Player.html new file mode 100644 index 00000000..8a32a90f --- /dev/null +++ b/doc/clapper/class.Player.html @@ -0,0 +1,977 @@ + + + + + + Clapper.Player + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Class

+

ClapperPlayer

+
+ +
+ +
+

+
+ +
+

+ Description + + + [src] + +

+ +
final class Clapper.Player : Clapper.ThreadedObject {
+  /* No available fields */
+}
+ +
+

Clapper player that uses GStreamer internally to play various media.

+
+ +
+ + + +
+ + +
+
+ + + + +
+

+ Ancestors + +

+ +
+ +
+
+ + + + + + + +
+

+ Constructors + +

+ +
+ +
+
clapper_player_new
+
+

Creates a new ClapperPlayer instance.

+
+
+

+
+
+ +
+
+ + + + + +
+

+ Instance methods + +

+ +
+ +
+
clapper_player_add_feature
+
+

Add another ClapperFeature to the player.

+
+
+

+
+
+ +
+
clapper_player_get_audio_filter
+
+

Get GstElement used as audio filter.

+
+
+

+
+
+ +
+
clapper_player_get_audio_sink
+
+

Get GstElement used as audio sink.

+
+
+

+
+
+ +
+
clapper_player_get_current_audio_decoder
+
+

Get GstElement currently used as audio decoder.

+
+
+

+
+
+ +
+
clapper_player_get_current_video_decoder
+
+

Get GstElement currently used as video decoder.

+
+
+

+
+
+ +
+
clapper_player_get_mute
+
+

Get the mute state of the player.

+
+
+

+
+
+ +
+
clapper_player_get_position
+
+

Get the current player playback position.

+
+
+

+
+
+ +
+
clapper_player_get_queue
+
+

Get the ClapperQueue of the player.

+
+
+

+
+
+ +
+
clapper_player_get_speed
+
+

Get the speed of the player used for playback.

+
+
+

+
+
+ +
+
clapper_player_get_state
+
+

Get the current ClapperPlayerState.

+
+
+

+
+
+ +
+
clapper_player_get_video_filter
+
+

Get GstElement used as video filter.

+
+
+

+
+
+ +
+
clapper_player_get_video_sink
+
+

Get GstElement used as video sink.

+
+
+

+
+
+ +
+
clapper_player_get_volume
+
+

Get the volume of the player.

+
+
+

+
+
+ +
+
clapper_player_pause
+
+

Pause the playback of current media item.

+
+
+

+
+
+ +
+
clapper_player_play
+
+

Either start or resume the playback of current media item.

+
+
+

+
+
+ +
+
clapper_player_seek
+
+

Request the player to perform a seek operation.

+
+
+

+
+
+ +
+
clapper_player_seek_custom
+
+

Request the player to perform a seek operation.

+
+
+

+
+
+ +
+
clapper_player_set_audio_filter
+
+

Set GstElement to be used as audio filter.

+
+
+

+
+
+ +
+
clapper_player_set_audio_sink
+
+

Set GstElement to be used as audio sink.

+
+
+

+
+
+ +
+
clapper_player_set_mute
+
+

Set the mute state of the player.

+
+
+

+
+
+ +
+
clapper_player_set_speed
+
+

Set the speed multiplier of the player.

+
+
+

+
+
+ +
+
clapper_player_set_video_filter
+
+

Set GstElement to be used as video filter.

+
+
+

+
+
+ +
+
clapper_player_set_video_sink
+
+

Set GstElement to be used as video sink.

+
+
+

+
+
+ +
+
clapper_player_set_volume
+
+

Set the volume of the player.

+
+
+

+
+
+ +
+
clapper_player_stop
+
+

Stop the playback of current media item.

+
+
+

+
+
+ +
+ + + +
+
Methods inherited from ClapperThreadedObject (1)
+ +
clapper_threaded_object_get_context
+

Get the GMainContext of the thread used by this object.

+
+
+

+
+ +
+
+ + + +
Methods inherited from GstObject (25)
+
+ +
+

Please see GstObject for a full list of methods.

+
+ +
+
+ + + + + +
Methods inherited from GObject (43)
+
+ +
+

Please see GObject for a full list of methods.

+
+ +
+
+ + + + +
+ + + +
+

+ Properties + +

+ + +
+ +
+
Clapper.Player:audio-filter
+
+

Optional audio filter to use (none by default).

+
+
+

+
+
+ +
+
Clapper.Player:audio-sink
+
+

Audio sink to use (autoaudiosink by default).

+
+
+

+
+
+ +
+
Clapper.Player:current-audio-decoder
+
+

Currently used audio decoder.

+
+
+

+
+
+ +
+
Clapper.Player:current-video-decoder
+
+

Currently used video decoder.

+
+
+

+
+
+ +
+
Clapper.Player:mute
+
+

Mute audio without changing volume.

+
+
+

+
+
+ +
+
Clapper.Player:position
+
+

Current playback position as a decimal number in seconds.

+
+
+

+
+
+ +
+
Clapper.Player:queue
+
+

Clapper playback queue.

+
+
+

+
+
+ +
+
Clapper.Player:speed
+
+

Current playback speed.

+
+
+

+
+
+ +
+
Clapper.Player:state
+
+

Current playback state.

+
+
+

+
+
+ +
+
Clapper.Player:video-filter
+
+

Optional video filter to use (none by default).

+
+
+

+
+
+ +
+
Clapper.Player:video-sink
+
+

Video sink to use (autovideosink by default).

+
+
+

+
+
+ +
+
Clapper.Player:volume
+
+

Current volume as a decimal number (1.0 = 100%).

+
+
+

+
+
+ +
+ + + + + + +
Properties inherited from GstObject (2)
+
+
Gst.Object:name
+
+ No description available. +
+
+

+
+
Gst.Object:parent
+
+

The parent of the object. Please note, that when changing the ‘parent’ +property, we don’t emit GObject::notify and GstObject::deep-notify +signals due to locking issues. In some cases one can use +GstBin::element-added or GstBin::element-removed signals on the parent to +achieve a similar effect.

+
+
+

+
+ +
+
+ + + + + + + + + +
+ + + +
+

+ Signals + +

+ + +
+ +
+
Clapper.Player::error
+
+

These are normal error messages. Upon emitting this signal, +playback will stop due to the error.

+
+
+

+
+
+ +
+
Clapper.Player::missing-plugin
+
+

A GStreamer plugin or one of its features needed for playback is missing.

+
+
+

+
+
+ +
+
Clapper.Player::warning
+
+

These are some usually more minor error messages that should +be treated like warnings. Should not generally prevent/stop playback.

+
+
+

+
+
+ +
+ + + + + + +
Signals inherited from GstObject (1)
+
+
GstObject::deep-notify
+
+

The deep notify signal is used to be notified of property changes. It is +typically attached to the toplevel bin to receive notifications from all +the elements contained in that bin.

+
+
+

+
+ +
+
+ + + + + +
Signals inherited from GObject (1)
+
+
GObject::notify
+
+

The notify signal is emitted on an object when one of its properties has +its value set through g_object_set_property(), g_object_set(), et al.

+
+
+

+
+ +
+
+ + + + + +
+ + + +
+

+ Class structure + +

+ +
+
struct ClapperPlayerClass {
+  ClapperThreadedObjectClass parent_class;
+  
+}
+
+ +
+ No description available. +
+ + +
+
Class members
+ +
+ +
parent_class: ClapperThreadedObjectClass
+
No description available.
+ + +
+ +
+ + + + + + +
+
+ + + +
+ +
+ + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/class.Queue.html b/doc/clapper/class.Queue.html new file mode 100644 index 00000000..69295ef8 --- /dev/null +++ b/doc/clapper/class.Queue.html @@ -0,0 +1,701 @@ + + + + + + Clapper.Queue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Class

+

ClapperQueue

+
+ +
+ +
+

+
+ +
+

+ Description + + + [src] + +

+ +
final class Clapper.Queue : Gst.Object {
+  /* No available fields */
+}
+ +
+

A media playback queue.

+
+ +
+ + + +
+ + +
+
+ + + + +
+

+ Ancestors + +

+ +
+ +
+
+ + + + + +
+

+ Implements + +

+ +
+ +
+
+ + + + + + + +
+

+ Instance methods + +

+ +
+ +
+
clapper_queue_add_item
+
+

Add another ClapperMediaItem to the end of queue.

+
+
+

+
+
+ +
+
clapper_queue_clear
+
+

Removes all media items from the queue.

+
+
+

+
+
+ +
+
clapper_queue_find_item
+
+

Get the index of ClapperMediaItem within ClapperQueue.

+
+
+

+
+
+ +
+
clapper_queue_get_current_item
+
+

Get the currently selected ClapperMediaItem.

+
+
+

+
+
+ +
+
clapper_queue_get_item
+
+

Get the ClapperMediaItem at index.

+
+
+

+
+
+ +
+
clapper_queue_get_n_items
+
+

Get the number of items in ClapperQueue.

+
+
+

+
+
+ +
+
clapper_queue_get_progression_mode
+
+

Get the ClapperQueueProgressionMode of the ClapperQueue.

+
+
+

+
+
+ +
+
clapper_queue_insert_item
+
+

Insert another ClapperMediaItem at index position to the queue.

+
+
+

+
+
+ +
+
clapper_queue_remove_item
+
+

Removes ClapperMediaItem from the queue.

+
+
+

+
+
+ +
+
clapper_queue_select_item
+
+

Selects ClapperMediaItem from playlist as current one and +signals ClapperPlayer to play it.

+
+
+

+
+
+ +
+
clapper_queue_select_next_item
+
+

Selects next ClapperMediaItem from playlist for playback.

+
+
+

+
+
+ +
+
clapper_queue_select_previous_item
+
+

Selects previous ClapperMediaItem from playlist for playback.

+
+
+

+
+
+ +
+
clapper_queue_set_progression_mode
+
+

Set the ClapperQueueProgressionMode of the ClapperQueue.

+
+
+

+
+
+ +
+ + + +
Methods inherited from GstObject (25)
+
+ +
+

Please see GstObject for a full list of methods.

+
+ +
+
+ + + + + +
Methods inherited from GObject (43)
+
+ +
+

Please see GObject for a full list of methods.

+
+ +
+
+ + + + + +
Methods inherited from GListModel (5)
+
+
g_list_model_get_item
+
+

Get the item at position.

+
+
+

unstable since: 2.44

+
+
g_list_model_get_item_type
+
+

Gets the type of the items in list.

+
+
+

unstable since: 2.44

+
+
g_list_model_get_n_items
+
+

Gets the number of items in list.

+
+
+

unstable since: 2.44

+
+
g_list_model_get_object
+
+

Get the item at position.

+
+
+

unstable since: 2.44

+
+
g_list_model_items_changed
+
+

Emits the GListModel::items-changed signal on list.

+
+
+

unstable since: 2.44

+
+ +
+
+ + +
+ + + +
+

+ Properties + +

+ + +
+ +
+
Clapper.Queue:current-item
+
+

Currently selected media item for playback.

+
+
+

+
+
+ +
+
Clapper.Queue:n-items
+
+

Number of media items in the queue.

+
+
+

+
+
+ +
+
Clapper.Queue:progression-mode
+
+

Queue progression mode.

+
+
+

+
+
+ +
+ + + + +
Properties inherited from GstObject (2)
+
+
Gst.Object:name
+
+ No description available. +
+
+

+
+
Gst.Object:parent
+
+

The parent of the object. Please note, that when changing the ‘parent’ +property, we don’t emit GObject::notify and GstObject::deep-notify +signals due to locking issues. In some cases one can use +GstBin::element-added or GstBin::element-removed signals on the parent to +achieve a similar effect.

+
+
+

+
+ +
+
+ + + + + + + + + + + +
+ + + +
+

+ Signals + +

+ + + + + +
Signals inherited from GstObject (1)
+
+
GstObject::deep-notify
+
+

The deep notify signal is used to be notified of property changes. It is +typically attached to the toplevel bin to receive notifications from all +the elements contained in that bin.

+
+
+

+
+ +
+
+ + + + + +
Signals inherited from GObject (1)
+
+
GObject::notify
+
+

The notify signal is emitted on an object when one of its properties has +its value set through g_object_set_property(), g_object_set(), et al.

+
+
+

+
+ +
+
+ + + + + +
Signals inherited from GListModel (1)
+
+
GListModel::items-changed
+
+

This signal is emitted whenever items were added to or removed +from list. At position, removed items were removed and added +items were added in their place.

+
+
+

unstable since: 2.44

+
+ +
+
+ + + +
+ + + +
+

+ Class structure + +

+ +
+
struct ClapperQueueClass {
+  GstObjectClass parent_class;
+  
+}
+
+ +
+ No description available. +
+ + +
+
Class members
+ +
+ +
parent_class: GstObjectClass
+
No description available.
+ + +
+ +
+ + + + + + +
+
+ + + +
+ +
+ + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/class.ThreadedObject.html b/doc/clapper/class.ThreadedObject.html new file mode 100644 index 00000000..8781f421 --- /dev/null +++ b/doc/clapper/class.ThreadedObject.html @@ -0,0 +1,495 @@ + + + + + + Clapper.ThreadedObject + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Class

+

ClapperThreadedObject

+
+ +
+ +
+

+
+ +
+

+ Description + + + [src] + +

+ +
class Clapper.ThreadedObject : Gst.Object {
+  parent_instance: GstObject
+}
+ +
+

A base class for creating objects that work within a separate thread.

+
+ +
+ + + +
+ + +
+
+ + + + +
+

+ Ancestors + +

+ +
+ +
+
+ + + +
+

Descendants

+
+ +
+
+ + + + + + + + + +
+

+ Instance methods + +

+ +
+ +
+
clapper_threaded_object_get_context
+
+

Get the GMainContext of the thread used by this object.

+
+
+

+
+
+ +
+ + + +
Methods inherited from GstObject (25)
+
+ +
+

Please see GstObject for a full list of methods.

+
+ +
+
+ + + + + +
Methods inherited from GObject (43)
+
+ +
+

Please see GObject for a full list of methods.

+
+ +
+
+ + + + +
+ + + +
+

+ Properties + +

+ + + + + +
Properties inherited from GstObject (2)
+
+
Gst.Object:name
+
+ No description available. +
+
+

+
+
Gst.Object:parent
+
+

The parent of the object. Please note, that when changing the ‘parent’ +property, we don’t emit GObject::notify and GstObject::deep-notify +signals due to locking issues. In some cases one can use +GstBin::element-added or GstBin::element-removed signals on the parent to +achieve a similar effect.

+
+
+

+
+ +
+
+ + + + + + + + + +
+ + + +
+

+ Signals + +

+ + + + + +
Signals inherited from GstObject (1)
+
+
GstObject::deep-notify
+
+

The deep notify signal is used to be notified of property changes. It is +typically attached to the toplevel bin to receive notifications from all +the elements contained in that bin.

+
+
+

+
+ +
+
+ + + + + +
Signals inherited from GObject (1)
+
+
GObject::notify
+
+

The notify signal is emitted on an object when one of its properties has +its value set through g_object_set_property(), g_object_set(), et al.

+
+
+

+
+ +
+
+ + + + + +
+ + + +
+

+ Class structure + +

+ +
+
struct ClapperThreadedObjectClass {
+  GstObjectClass parent_class;
+  void (* thread_start) (
+    ClapperThreadedObject* threaded_object
+  );
+  void (* thread_stop) (
+    ClapperThreadedObject* threaded_object
+  );
+  
+}
+
+ +
+ No description available. +
+ + +
+
Class members
+ +
+ +
parent_class: GstObjectClass
+

The object class structure.

+ +
thread_start: void (* thread_start) ( + ClapperThreadedObject* threaded_object + )
+
No description available.
+ +
thread_stop: void (* thread_stop) ( + ClapperThreadedObject* threaded_object + )
+
No description available.
+ + +
+ +
+ + + +
+

+ Virtual methods + +

+ +
+ +
+
Clapper.ThreadedObjectClass.thread_start
+
+

Called right after thread started.

+
+
+

+
+
+ +
+
Clapper.ThreadedObjectClass.thread_stop
+
+

Called when thread is going to stop.

+
+
+

+
+
+ +
+
+ + + + +
+
+ + + +
+ +
+ + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/classes_hierarchy.html b/doc/clapper/classes_hierarchy.html new file mode 100644 index 00000000..353628bc --- /dev/null +++ b/doc/clapper/classes_hierarchy.html @@ -0,0 +1,150 @@ + + + + + + Clapper – 0.0: Classes Hierarchy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+
+

Classes Hierarchy

+ +
+
+
+ + + +
+ +
+ + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/const.HAVE_MPRIS.html b/doc/clapper/const.HAVE_MPRIS.html new file mode 100644 index 00000000..8b8d8248 --- /dev/null +++ b/doc/clapper/const.HAVE_MPRIS.html @@ -0,0 +1,153 @@ + + + + + + Clapper.HAVE_MPRIS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Constant

+

ClapperHAVE_MPRIS

+
+ +
+
+

+
+ +
+

+ Declaration + + +

+ +
+
#define CLAPPER_HAVE_MPRIS true
+
+
+
+
+ +
+

+ Description + + +

+ +
+

Check if Clapper was compiled with MPRIS feature.

+
+ +
+ + + +
+ + +
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/const.MAJOR_VERSION.html b/doc/clapper/const.MAJOR_VERSION.html new file mode 100644 index 00000000..554f7d16 --- /dev/null +++ b/doc/clapper/const.MAJOR_VERSION.html @@ -0,0 +1,153 @@ + + + + + + Clapper.MAJOR_VERSION + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Constant

+

ClapperMAJOR_VERSION

+
+ +
+
+

+
+ +
+

+ Declaration + + +

+ +
+
#define CLAPPER_MAJOR_VERSION 0
+
+
+
+
+ +
+

+ Description + + +

+ +
+

Clapper major version component.

+
+ +
+ + + +
+ + +
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/const.MICRO_VERSION.html b/doc/clapper/const.MICRO_VERSION.html new file mode 100644 index 00000000..5d509273 --- /dev/null +++ b/doc/clapper/const.MICRO_VERSION.html @@ -0,0 +1,153 @@ + + + + + + Clapper.MICRO_VERSION + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Constant

+

ClapperMICRO_VERSION

+
+ +
+
+

+
+ +
+

+ Declaration + + +

+ +
+
#define CLAPPER_MICRO_VERSION 2
+
+
+
+
+ +
+

+ Description + + +

+ +
+

Clapper micro version component.

+
+ +
+ + + +
+ + +
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/const.MINOR_VERSION.html b/doc/clapper/const.MINOR_VERSION.html new file mode 100644 index 00000000..4256b092 --- /dev/null +++ b/doc/clapper/const.MINOR_VERSION.html @@ -0,0 +1,153 @@ + + + + + + Clapper.MINOR_VERSION + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Constant

+

ClapperMINOR_VERSION

+
+ +
+
+

+
+ +
+

+ Declaration + + +

+ +
+
#define CLAPPER_MINOR_VERSION 5
+
+
+
+
+ +
+

+ Description + + +

+ +
+

Clapper minor version component.

+
+ +
+ + + +
+ + +
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/const.VERSION_S.html b/doc/clapper/const.VERSION_S.html new file mode 100644 index 00000000..8815617f --- /dev/null +++ b/doc/clapper/const.VERSION_S.html @@ -0,0 +1,153 @@ + + + + + + Clapper.VERSION_S + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Constant

+

ClapperVERSION_S

+
+ +
+
+

+
+ +
+

+ Declaration + + +

+ +
+
#define CLAPPER_VERSION_S "0.5.2"
+
+
+
+
+ +
+

+ Description + + +

+ +
+

Clapper version, encoded as a string.

+
+ +
+ + + +
+ + +
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/ctor.Discoverer.new.html b/doc/clapper/ctor.Discoverer.new.html new file mode 100644 index 00000000..d76c890e --- /dev/null +++ b/doc/clapper/ctor.Discoverer.new.html @@ -0,0 +1,197 @@ + + + + + + Clapper.Discoverer.new + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Constructor

+

ClapperDiscoverernew

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
ClapperDiscoverer*
+clapper_discoverer_new (
+  void
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Creates a new ClapperDiscoverer instance.

+
+ +
+ + + + +
+ + +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: ClapperDiscoverer

+

A new ClapperDiscoverer instance.

+
+
+ + + + + + + +
The caller of the function takes ownership of the data, and is responsible for freeing it.
+
+
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/ctor.MediaItem.new.html b/doc/clapper/ctor.MediaItem.new.html new file mode 100644 index 00000000..b8718c6a --- /dev/null +++ b/doc/clapper/ctor.MediaItem.new.html @@ -0,0 +1,241 @@ + + + + + + Clapper.MediaItem.new + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Constructor

+

ClapperMediaItemnew

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
ClapperMediaItem*
+clapper_media_item_new (
+  const gchar* uri
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Creates new ClapperMediaItem from URI.

+

Use one of the URI protocols supported by plugins in GStreamer +installation. For local files you can use either “file” protocol +or clapper_media_item_new_from_file() method.

+

This method can only fail when no URI is provided. It is considered +a programmer error trying to create new media item from invalid URI. +If URI is valid, but unsupported by user installed plugins, ClapperPlayer +will emit a ClapperPlayer::missing-plugin signal upon playback.

+
+ +
+ + + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
uri
+
+

Type: const gchar*

+

A media URI.

+ + + + + + + + + + +
The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
+
+ + + +
+
+
+ + + +
+

+ Return value + +

+ +
+
+
+

Type: ClapperMediaItem

+

A new ClapperMediaItem, + NULL when no URI provided.

+
+
+ + + + + + + +
The caller of the function takes ownership of the data, and is responsible for freeing it.
The return value can be NULL.
+
+
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/ctor.MediaItem.new_from_file.html b/doc/clapper/ctor.MediaItem.new_from_file.html new file mode 100644 index 00000000..3ce5d46f --- /dev/null +++ b/doc/clapper/ctor.MediaItem.new_from_file.html @@ -0,0 +1,236 @@ + + + + + + Clapper.MediaItem.new_from_file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Constructor

+

ClapperMediaItemnew_from_file

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
ClapperMediaItem*
+clapper_media_item_new_from_file (
+  GFile* file
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Creates new ClapperMediaItem from GFile.

+

Same as clapper_media_item_new(), but uses a GFile for convenience +in some situations instead of an URI.

+
+ +
+ + + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
file
+
+

Type: GFile

+

A GFile.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ + + +
+
+
+ + + +
+

+ Return value + +

+ +
+
+
+

Type: ClapperMediaItem

+

A new ClapperMediaItem, + NULL when no GFile provided.

+
+
+ + + + + + + +
The caller of the function takes ownership of the data, and is responsible for freeing it.
The return value can be NULL.
+
+
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/ctor.MediaItem.new_take.html b/doc/clapper/ctor.MediaItem.new_take.html new file mode 100644 index 00000000..97564882 --- /dev/null +++ b/doc/clapper/ctor.MediaItem.new_take.html @@ -0,0 +1,235 @@ + + + + + + Clapper.MediaItem.new_take + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Constructor

+

ClapperMediaItemnew_take

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
ClapperMediaItem*
+clapper_media_item_new_take (
+  gchar* uri
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Creates new ClapperMediaItem from URI.

+

Same as clapper_media_item_new(), but takes ownership of passed URI.

+
+ +
+ + + +

This method is not directly available to language bindings.

+
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
uri
+
+

Type: gchar*

+

A media URI.

+ + + + + + + + + + +
The called function takes ownership of the data, and is responsible for freeing it.
The value is a NUL terminated UTF-8 string.
+
+ + + +
+
+
+ + + +
+

+ Return value + +

+ +
+
+
+

Type: ClapperMediaItem

+

A new ClapperMediaItem, + NULL when no URI provided.

+
+
+ + + + + + + +
The caller of the function takes ownership of the data, and is responsible for freeing it.
The return value can be NULL.
+
+
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/ctor.Mpris.new.html b/doc/clapper/ctor.Mpris.new.html new file mode 100644 index 00000000..30016292 --- /dev/null +++ b/doc/clapper/ctor.Mpris.new.html @@ -0,0 +1,265 @@ + + + + + + Clapper.Mpris.new + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Constructor

+

ClapperMprisnew

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
ClapperMpris*
+clapper_mpris_new (
+  const gchar* own_name,
+  const gchar* identity,
+  const gchar* desktop_entry
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Creates a new ClapperMpris instance.

+
+ +
+ + + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
own_name
+
+

Type: const gchar*

+

An unique DBus name with “org.mpris.MediaPlayer2.” prefix.

+ + + + + + + + + + +
The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
+
+ +
identity
+
+

Type: const gchar*

+

A media player friendly name.

+ + + + + + + + + + +
The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
+
+ +
desktop_entry
+
+

Type: const gchar*

+

Desktop entry filename.

+ + + + + + + + + + +
The argument can be NULL.
The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
+
+ + + +
+
+
+ + + +
+

+ Return value + +

+ +
+
+
+

Type: ClapperMpris

+

A new ClapperMpris instance.

+
+
+ + + + + + + +
The caller of the function takes ownership of the data, and is responsible for freeing it.
+
+
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/ctor.Player.new.html b/doc/clapper/ctor.Player.new.html new file mode 100644 index 00000000..d853ad0c --- /dev/null +++ b/doc/clapper/ctor.Player.new.html @@ -0,0 +1,197 @@ + + + + + + Clapper.Player.new + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Constructor

+

ClapperPlayernew

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
ClapperPlayer*
+clapper_player_new (
+  void
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Creates a new ClapperPlayer instance.

+
+ +
+ + + + +
+ + +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: ClapperPlayer

+

A new ClapperPlayer instance.

+
+
+ + + + + + + +
The caller of the function takes ownership of the data, and is responsible for freeing it.
+
+
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/enum.PlayerSeekMethod.html b/doc/clapper/enum.PlayerSeekMethod.html new file mode 100644 index 00000000..93027bb7 --- /dev/null +++ b/doc/clapper/enum.PlayerSeekMethod.html @@ -0,0 +1,204 @@ + + + + + + Clapper.PlayerSeekMethod + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Enumeration

+

ClapperPlayerSeekMethod

+
+ +
+
+

+
+ +
+

+ Declaration + + +

+ +
+
enum Clapper.PlayerSeekMethod
+
+
+ +
+

+ Description + + +

+ +
+ No description available. +
+ +
+ + + +
+ + +
+ +
+

+ Members + +

+ +
+ + + + + + + + + + + + + + + + + + + + + +
NameDescription
CLAPPER_PLAYER_SEEK_METHOD_ACCURATE

Seek to exact position (slow).

CLAPPER_PLAYER_SEEK_METHOD_NORMAL

Seek to approximated position.

CLAPPER_PLAYER_SEEK_METHOD_FAST

Seek to position of nearest keyframe (fast).

+
+
+ + + + + +
+
+ + + +
+ +
+ + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/enum.PlayerState.html b/doc/clapper/enum.PlayerState.html new file mode 100644 index 00000000..428fa99a --- /dev/null +++ b/doc/clapper/enum.PlayerState.html @@ -0,0 +1,209 @@ + + + + + + Clapper.PlayerState + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Enumeration

+

ClapperPlayerState

+
+ +
+
+

+
+ +
+

+ Declaration + + +

+ +
+
enum Clapper.PlayerState
+
+
+ +
+

+ Description + + +

+ +
+ No description available. +
+ +
+ + + +
+ + +
+ +
+

+ Members + +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
CLAPPER_PLAYER_STATE_STOPPED

Player is stopped.

CLAPPER_PLAYER_STATE_BUFFERING

Player is buffering.

CLAPPER_PLAYER_STATE_PAUSED

Player is paused.

CLAPPER_PLAYER_STATE_PLAYING

Player is playing.

+
+
+ + + + + +
+
+ + + +
+ +
+ + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/enum.QueueProgressionMode.html b/doc/clapper/enum.QueueProgressionMode.html new file mode 100644 index 00000000..51e5793d --- /dev/null +++ b/doc/clapper/enum.QueueProgressionMode.html @@ -0,0 +1,209 @@ + + + + + + Clapper.QueueProgressionMode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Enumeration

+

ClapperQueueProgressionMode

+
+ +
+
+

+
+ +
+

+ Declaration + + +

+ +
+
enum Clapper.QueueProgressionMode
+
+
+ +
+

+ Description + + +

+ +
+ No description available. +
+ +
+ + + +
+ + +
+ +
+

+ Members + +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
CLAPPER_QUEUE_PROGRESSION_CONSECUTIVE

Queue plays items one after another until the end.

CLAPPER_QUEUE_PROGRESSION_REPEAT_ITEM

Queue keeps repeating current media item.

CLAPPER_QUEUE_PROGRESSION_CAROUSEL

Queue starts from beginning after last media item.

CLAPPER_QUEUE_PROGRESSION_SHUFFLE

Queue selects a random media item after current one.

+
+
+ + + + + +
+
+ + + +
+ +
+ + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/fonts.css b/doc/clapper/fonts.css new file mode 100644 index 00000000..98f2ea45 --- /dev/null +++ b/doc/clapper/fonts.css @@ -0,0 +1,150 @@ +/* + * SPDX-FileCopyrightText: 2021 GNOME Foundation + * + * SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later + */ + +/** + * RedHat Fonts taken from https://github.com/RedHatOfficial/RedHatFont + * License: SIL Open Font License 1.1 http://scripts.sil.org/OFL + * + * SourceCodePro Fonts + * License: SIL Open Font License 1.1 https://scripts.sil.org/OFL + */ + +@font-face { + font-family: "Red Hat Display"; + src: local('RedHatDisplay-Regular'); + font-style: normal; + font-weight: 400; + font-display: fallback; +} + +@font-face { + font-family: "Red Hat Display"; + src: local('RedHatDisplay-RegularItalic'); + font-style: italic; + font-weight: 400; + font-display: fallback; +} + +@font-face { + font-family: "Red Hat Display"; + src: local('RedHatDisplay-Medium'); + font-style: normal; + font-weight: 500; + font-display: fallback; +} + +@font-face { + font-family: "Red Hat Display"; + src: local('RedHatDisplay-MediumItalic'); + font-style: italic; + font-weight: 500; + font-display: fallback; +} + +@font-face { + font-family: "Red Hat Display"; + src: local('RedHatDisplay-Bold'); + font-style: normal; + font-weight: 700; + font-display: fallback; +} + +@font-face { + font-family: "Red Hat Display"; + src: local('RedHatDisplay-BoldItalic'); + font-style: italic; + font-weight: 700; + font-display: fallback; +} + + +@font-face { + font-family: "Red Hat Display"; + src: local('RedHatDisplay-Black'); + font-style: normal; + font-weight: 900; + font-display: fallback; +} + +@font-face { + font-family: "Red Hat Display"; + src: local('RedHatDisplay-BlackItalic'); + font-style: italic; + font-weight: 900; + font-display: fallback; +} + +@font-face { + font-family: "Red Hat Text"; + src: local('RedHatText-Regular'); + font-style: normal; + font-weight: 400; + font-display: fallback; +} + +@font-face { + font-family: "Red Hat Text"; + src: local('RedHatText-Italic'); + font-style: italic; + font-weight: 400; + font-display: fallback; +} + +@font-face { + font-family: "Red Hat Text"; + src: local('RedHatText-Medium'); + font-style: normal; + font-weight: 700; + font-display: fallback; +} + +@font-face { + font-family: "Red Hat Text"; + src: local('RedHatText-MediumItalic'); + font-style: italic; + font-weight: 700; + font-display: fallback; +} + +@font-face { + font-family: "Red Hat Text"; + src: local('RedHatText-Bold'); + font-style: normal; + font-weight: 900; + font-display: fallback; +} + +@font-face { + font-family: "Red Hat Text"; + src: local('RedHatText-BoldItalic'); + font-style: italic; + font-weight: 900; + font-display: fallback; +} + +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 400; + src: local('SourceCodePro-Regular'); + font-display: swap; +} + +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 400; + src: local('SourceCodePro-It'); + font-display: swap; +} + +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 600; + src: local('SourceCodePro-Semibold'); + font-display: swap; +} diff --git a/doc/clapper/func.CHECK_VERSION.html b/doc/clapper/func.CHECK_VERSION.html new file mode 100644 index 00000000..5a547f1f --- /dev/null +++ b/doc/clapper/func.CHECK_VERSION.html @@ -0,0 +1,232 @@ + + + + + + Clapper.CHECK_VERSION + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Function Macro

+

ClapperCHECK_VERSION

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
#define CLAPPER_CHECK_VERSION (
+  major,
+  minor,
+  micro
+)
+
+
+
+
+ +
+

+ Description + + +

+ +
+ No description available. +
+ +
+ + + +

This function is not directly available to language bindings.

+ + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
major
+
+

Type: -

+

No description available.

+ + + + + + + + + + +
+
+ +
minor
+
+

Type: -

+

No description available.

+ + + + + + + + + + +
+
+ +
micro
+
+

Type: -

+

No description available.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/func.DISCOVERER_CAST.html b/doc/clapper/func.DISCOVERER_CAST.html new file mode 100644 index 00000000..1625bf55 --- /dev/null +++ b/doc/clapper/func.DISCOVERER_CAST.html @@ -0,0 +1,196 @@ + + + + + + Clapper.DISCOVERER_CAST + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Function Macro

+

ClapperDISCOVERER_CAST

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
#define CLAPPER_DISCOVERER_CAST (
+  obj
+)
+
+
+
+
+ +
+

+ Description + + +

+ +
+ No description available. +
+ +
+ + + +

This function is not directly available to language bindings.

+ + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
obj
+
+

Type: -

+

No description available.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/func.ENCODE_VERSION.html b/doc/clapper/func.ENCODE_VERSION.html new file mode 100644 index 00000000..f073d922 --- /dev/null +++ b/doc/clapper/func.ENCODE_VERSION.html @@ -0,0 +1,232 @@ + + + + + + Clapper.ENCODE_VERSION + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Function Macro

+

ClapperENCODE_VERSION

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
#define CLAPPER_ENCODE_VERSION (
+  major,
+  minor,
+  micro
+)
+
+
+
+
+ +
+

+ Description + + +

+ +
+ No description available. +
+ +
+ + + +

This function is not directly available to language bindings.

+ + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
major
+
+

Type: -

+

No description available.

+ + + + + + + + + + +
+
+ +
minor
+
+

Type: -

+

No description available.

+ + + + + + + + + + +
+
+ +
micro
+
+

Type: -

+

No description available.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/func.FEATURE_CAST.html b/doc/clapper/func.FEATURE_CAST.html new file mode 100644 index 00000000..b653bcfe --- /dev/null +++ b/doc/clapper/func.FEATURE_CAST.html @@ -0,0 +1,196 @@ + + + + + + Clapper.FEATURE_CAST + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Function Macro

+

ClapperFEATURE_CAST

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
#define CLAPPER_FEATURE_CAST (
+  obj
+)
+
+
+
+
+ +
+

+ Description + + +

+ +
+ No description available. +
+ +
+ + + +

This function is not directly available to language bindings.

+ + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
obj
+
+

Type: -

+

No description available.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/func.MEDIA_ITEM_CAST.html b/doc/clapper/func.MEDIA_ITEM_CAST.html new file mode 100644 index 00000000..43fe6a1d --- /dev/null +++ b/doc/clapper/func.MEDIA_ITEM_CAST.html @@ -0,0 +1,196 @@ + + + + + + Clapper.MEDIA_ITEM_CAST + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Function Macro

+

ClapperMEDIA_ITEM_CAST

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
#define CLAPPER_MEDIA_ITEM_CAST (
+  obj
+)
+
+
+
+
+ +
+

+ Description + + +

+ +
+ No description available. +
+ +
+ + + +

This function is not directly available to language bindings.

+ + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
obj
+
+

Type: -

+

No description available.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/func.MPRIS_CAST.html b/doc/clapper/func.MPRIS_CAST.html new file mode 100644 index 00000000..4e0cce7c --- /dev/null +++ b/doc/clapper/func.MPRIS_CAST.html @@ -0,0 +1,196 @@ + + + + + + Clapper.MPRIS_CAST + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Function Macro

+

ClapperMPRIS_CAST

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
#define CLAPPER_MPRIS_CAST (
+  obj
+)
+
+
+
+
+ +
+

+ Description + + +

+ +
+ No description available. +
+ +
+ + + +

This function is not directly available to language bindings.

+ + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
obj
+
+

Type: -

+

No description available.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/func.PLAYER_CAST.html b/doc/clapper/func.PLAYER_CAST.html new file mode 100644 index 00000000..74c6d407 --- /dev/null +++ b/doc/clapper/func.PLAYER_CAST.html @@ -0,0 +1,196 @@ + + + + + + Clapper.PLAYER_CAST + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Function Macro

+

ClapperPLAYER_CAST

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
#define CLAPPER_PLAYER_CAST (
+  obj
+)
+
+
+
+
+ +
+

+ Description + + +

+ +
+ No description available. +
+ +
+ + + +

This function is not directly available to language bindings.

+ + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
obj
+
+

Type: -

+

No description available.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/func.QUEUE_CAST.html b/doc/clapper/func.QUEUE_CAST.html new file mode 100644 index 00000000..a3a210c2 --- /dev/null +++ b/doc/clapper/func.QUEUE_CAST.html @@ -0,0 +1,196 @@ + + + + + + Clapper.QUEUE_CAST + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Function Macro

+

ClapperQUEUE_CAST

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
#define CLAPPER_QUEUE_CAST (
+  obj
+)
+
+
+
+
+ +
+

+ Description + + +

+ +
+ No description available. +
+ +
+ + + +

This function is not directly available to language bindings.

+ + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
obj
+
+

Type: -

+

No description available.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/func.THREADED_OBJECT_CAST.html b/doc/clapper/func.THREADED_OBJECT_CAST.html new file mode 100644 index 00000000..7058226f --- /dev/null +++ b/doc/clapper/func.THREADED_OBJECT_CAST.html @@ -0,0 +1,196 @@ + + + + + + Clapper.THREADED_OBJECT_CAST + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Function Macro

+

ClapperTHREADED_OBJECT_CAST

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
#define CLAPPER_THREADED_OBJECT_CAST (
+  obj
+)
+
+
+
+
+ +
+

+ Description + + +

+ +
+ No description available. +
+ +
+ + + +

This function is not directly available to language bindings.

+ + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
obj
+
+

Type: -

+

No description available.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/func.init.html b/doc/clapper/func.init.html new file mode 100644 index 00000000..d3ecb4e8 --- /dev/null +++ b/doc/clapper/func.init.html @@ -0,0 +1,224 @@ + + + + + + Clapper.init + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Function

+

Clapperinit

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_init (
+  int* argc,
+  char*** argv
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Initializes the Clapper library. Implementations must always call this +before using Clapper API.

+

Because Clapper uses GStreamer internally, this function will also initialize +GStreamer before initializing Clapper itself for user convienience, so +application does not have to do so anymore.

+

WARNING: This function will terminate your program if it was unable to +initialize for some reason. If you want to do some fallback logic, +use clapper_init_check() instead.

+
+ +
+ + + + + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
argc
+
+

Type: int*

+

Pointer to application’s argc.

+ + + + + + + + + + +
The argument will be modified by the function.
The argument can be set to NULL by the function.
The argument can be NULL.
+
+ +
argv
+
+

Type: An array of char**

+

Pointer to application’s argv.

+ + + + + + + + + + +
The argument will be modified by the function.
The argument can be set to NULL by the function.
The argument can be NULL.
The length of the array is specified in the argc argument.
The called function takes ownership of the data, and is responsible for freeing it.
Each element is a NUL terminated UTF-8 string.
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/func.init_check.html b/doc/clapper/func.init_check.html new file mode 100644 index 00000000..f98a128d --- /dev/null +++ b/doc/clapper/func.init_check.html @@ -0,0 +1,244 @@ + + + + + + Clapper.init_check + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Function

+

Clapperinit_check

+
+ +
+
+

+
+
+

+ Declaration + + + [src] + +

+ +
+
gboolean
+clapper_init_check (
+  int* argc,
+  char*** argv
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

This function does the same thing as clapper_init(), but instead of +terminating on failure it returns FALSE with error set.

+
+ +
+ + + + + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
argc
+
+

Type: int*

+

Pointer to application’s argc.

+ + + + + + + + + + +
The argument will be modified by the function.
The argument can be set to NULL by the function.
The argument can be NULL.
+
+ +
argv
+
+

Type: An array of char**

+

Pointer to application’s argv.

+ + + + + + + + + + +
The argument will be modified by the function.
The argument can be set to NULL by the function.
The argument can be NULL.
The length of the array is specified in the argc argument.
The called function takes ownership of the data, and is responsible for freeing it.
Each element is a NUL terminated UTF-8 string.
+
+ + + +
+
+
+ + + +
+

+ Return value + +

+ +
+
+
+

Type: gboolean

+

TRUE if Clapper could be initialized, FALSE otherwise.

+
+
+ + + + + + + +
+
+
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/fzy.js b/doc/clapper/fzy.js new file mode 100644 index 00000000..89e4666d --- /dev/null +++ b/doc/clapper/fzy.js @@ -0,0 +1,222 @@ +// SPDX-FileCopyrightText: 2014 John Hawthorn +// +// SPDX-License-Identifier: MIT + +window.fzy = (function() { + var SCORE_MIN = -Infinity; + var SCORE_MAX = Infinity; + + var SCORE_GAP_LEADING = -0.005 + var SCORE_GAP_TRAILING = -0.005 + var SCORE_GAP_INNER = -0.01 + var SCORE_MATCH_CONSECUTIVE = 1.0 + var SCORE_MATCH_SLASH = 0.9 + var SCORE_MATCH_WORD = 0.8 + var SCORE_MATCH_CAPITAL = 0.7 + var SCORE_MATCH_DOT = 0.6 + + function islower(s) { + return s.toLowerCase() === s; + } + + function isupper(s) { + return s.toUpperCase() === s; + } + + function precompute_bonus(haystack) { + /* Which positions are beginning of words */ + var m = haystack.length; + var match_bonus = new Array(m); + + var last_ch = '/'; + for (var i = 0; i < m; i++) { + var ch = haystack[i]; + + if (last_ch === '/') { + match_bonus[i] = SCORE_MATCH_SLASH; + } else if (last_ch === '-' || last_ch === '_' || last_ch === ' ') { + match_bonus[i] = SCORE_MATCH_WORD; + } else if (last_ch === '.') { + match_bonus[i] = SCORE_MATCH_DOT; + } else if (islower(last_ch) && isupper(ch)) { + match_bonus[i] = SCORE_MATCH_CAPITAL; + } else { + match_bonus[i] = 0; + } + + last_ch = ch; + } + + return match_bonus; + } + + function compute(needle, haystack, D, M) { + var n = needle.length; + var m = haystack.length; + + var match_bonus = precompute_bonus(haystack, match_bonus); + + /* + * D[][] Stores the best score for this position ending with a match. + * M[][] Stores the best possible score at this position. + */ + + for (var i = 0; i < n; i++) { + D[i] = new Array(m); + M[i] = new Array(m); + + var prev_score = SCORE_MIN; + var gap_score = i === n - 1 ? SCORE_GAP_TRAILING : SCORE_GAP_INNER; + + for (var j = 0; j < m; j++) { + if (needle[i] === haystack[j]) { + var score = SCORE_MIN; + if (!i) { + score = (j * SCORE_GAP_LEADING) + match_bonus[j]; + } else if (j) { /* i > 0 && j > 0*/ + score = Math.max( + M[i - 1][j - 1] + match_bonus[j], + + /* consecutive match, doesn't stack with match_bonus */ + D[i - 1][j - 1] + SCORE_MATCH_CONSECUTIVE); + } + D[i][j] = score; + M[i][j] = prev_score = Math.max(score, prev_score + gap_score); + } else { + D[i][j] = SCORE_MIN; + M[i][j] = prev_score = prev_score + gap_score; + } + } + } + } + + function score(needle, haystack) { + var n = needle.length; + var m = haystack.length; + + if (!n || !m) + return SCORE_MIN; + + if (n === m) { + /* Since this method can only be called with a haystack which + * matches needle. If the lengths of the strings are equal the + * strings themselves must also be equal (ignoring case). + */ + return SCORE_MAX; + } + + if (m > 1024) { + /* + * Unreasonably large candidate: return no score + * If it is a valid match it will still be returned, it will + * just be ranked below any reasonably sized candidates + */ + return SCORE_MIN; + } + + var D = new Array(n); + var M = new Array(n); + + compute(needle, haystack, D, M) + + return M[n - 1][m - 1]; + } + + function positions(needle, haystack) { + var n = needle.length; + var m = haystack.length; + + var positions = new Array(n); + + if (!n || !m) + return positions; + + if (n === m) { + for (var i = 0; i < n; i++) + positions[i] = i; + return positions; + } + + if (m > 1024) { + return positions; + } + + var D = new Array(n); + var M = new Array(n); + + compute(needle, haystack, D, M) + + /* backtrack to find the positions of optimal matching */ + var match_required = false; + + for (var i = n - 1, j = m - 1; i >= 0; i--) { + for (; j >= 0; j--) { + /* + * There may be multiple paths which result in + * the optimal weight. + * + * For simplicity, we will pick the first one + * we encounter, the latest in the candidate + * string. + */ + if (D[i][j] !== SCORE_MIN && + (match_required || D[i][j] === M[i][j])) { + /* If this score was determined using + * SCORE_MATCH_CONSECUTIVE, the + * previous character MUST be a match + */ + match_required = + i && j && + M[i][j] === D[i - 1][j - 1] + SCORE_MATCH_CONSECUTIVE; + positions[i] = j--; + break; + } + } + } + + return positions; + } + + function hasMatch(needle, haystack) { + var l = needle.length + for (var i = 0, j = 0; i < l; i += 1) { + j = haystack.indexOf(needle[i], j) + 1 + if (j === 0) return false + } + return true + } + + function filter(needle, items, selector) { + const isCaseSensitive = needle.toLowerCase() !== needle; + const actualNeedle = isCaseSensitive ? needle : needle.toLowerCase(); + const filteredItems = items.reduce((results, item) => { + const haystack = isCaseSensitive ? selector(item) : selector(item).toLowerCase(); + if (hasMatch(actualNeedle, haystack)) + results.push({ item, score: score(needle, haystack) }) + return results; + }, []) + filteredItems.sort((a, b) => b.score - a.score) + return filteredItems; + } + + return { + /* constants */ + SCORE_MIN, + SCORE_MAX, + + SCORE_GAP_LEADING, + SCORE_GAP_TRAILING, + SCORE_GAP_INNER, + SCORE_MATCH_CONSECUTIVE, + SCORE_MATCH_SLASH, + SCORE_MATCH_WORD, + SCORE_MATCH_CAPITAL, + SCORE_MATCH_DOT, + + /* functions */ + score, + positions, + hasMatch, + filter, + } +})(); diff --git a/doc/clapper/go-up-symbolic.png b/doc/clapper/go-up-symbolic.png new file mode 100644 index 00000000..a827b9ad Binary files /dev/null and b/doc/clapper/go-up-symbolic.png differ diff --git a/doc/clapper/index.html b/doc/clapper/index.html new file mode 100644 index 00000000..0e65d841 --- /dev/null +++ b/doc/clapper/index.html @@ -0,0 +1,676 @@ + + + + + + Clapper – 0.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Namespace

+

Clapper – 0.0

+ +
+

Clapper playback library

+
+ +
+ + + + + + +
Version0.5.2
AuthorsRafał Dzięgiel
LicenseLGPL-2.1-or-later
Websitehttps://rafostar.github.io/clapper/
Sourcehttps://github.com/Rafostar/clapper/
+
+ +
+

Build

+ +
+ + + +
C headersclapper/clapper.h
pkg-config filesclapper-0.0
+
+
+
+ + +
+
+

+ Dependencies + +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLib—2.0A general-purpose, portable utility library
Browse documentation
GObject—2.0The base type system library
Browse documentation
Gio—2.0GObject Interfaces and Objects, Networking, IPC, and I/O
Browse documentation
Gst—1.0GStreamer core library
Browse documentation
GstBase—1.0GStreamer base and utility classes
Browse documentation
GstAudio—1.0GStreamer audio library
Browse documentation
GstPbutils—1.0GStreamer base utils library
Browse documentation
GstTag—1.0GStreamer tag support library
Browse documentation
+
+
+
+ + + + + +
+
+

+ Additional documentation + +

+ +
+ +
+
+
+ + + + + +
+
+

+ Classes + +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Discoverer +

Clapper media scanner used to discover media item info.

+

+
Feature +

Represents an additional feature.

+

+
MediaItem +

Represents a media item.

+

+
Mpris +

Represents a MPRIS feature.

+

+
Player +

Clapper player that uses GStreamer internally to play various media.

+

+
Queue +

A media playback queue.

+

+
ThreadedObject +

A base class for creating objects that work within a separate thread.

+

+
+
+
+
+ + + + + + +
+
+

+ Enumerations + +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
PlayerSeekMethod + +

+
PlayerState + +

+
QueueProgressionMode + +

+
+
+
+
+ + + + + +
+
+

+ Functions + +

+ +
+ + + + + + + + + + + + + + + + + + +
init +

Initializes the Clapper library. Implementations must always call this +before using Clapper API.

+

+
init_check +

This function does the same thing as clapper_init(), but instead of +terminating on failure it returns FALSE with error set.

+

+
+
+
+
+ + +
+
+

+ Function Macros + +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CHECK_VERSION + +

+
DISCOVERER_CAST + +

+
ENCODE_VERSION + +

+
FEATURE_CAST + +

+
MEDIA_ITEM_CAST + +

+
MPRIS_CAST + +

+
PLAYER_CAST + +

+
QUEUE_CAST + +

+
THREADED_OBJECT_CAST + +

+
+
+
+
+ + +
+
+

+ Constants + +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
HAVE_MPRIS +

Check if Clapper was compiled with MPRIS feature.

+

+
MAJOR_VERSION +

Clapper major version component.

+

+
MICRO_VERSION +

Clapper micro version component.

+

+
MINOR_VERSION +

Clapper minor version component.

+

+
VERSION_S +

Clapper version, encoded as a string.

+

+
+
+
+
+ +
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/index.json b/doc/clapper/index.json new file mode 100644 index 00000000..bd69fb39 --- /dev/null +++ b/doc/clapper/index.json @@ -0,0 +1 @@ +{"meta":{"ns":"Clapper","version":"0.0","generator":"gi-docgen","generator-version":"2023.1"},"symbols":[{"type":"class","name":"Discoverer","ctype":"ClapperDiscoverer","summary":"Clapper media scanner used to discover media item info. ..."},{"type":"class","name":"Feature","ctype":"ClapperFeature","summary":"Represents an additional feature. Feature objects are meant ..."},{"type":"class","name":"MediaItem","ctype":"ClapperMediaItem","summary":"Represents a media item."},{"type":"class","name":"Mpris","ctype":"ClapperMpris","summary":"Represents a MPRIS feature."},{"type":"class","name":"Player","ctype":"ClapperPlayer","summary":"Clapper player that uses #GStreamer internally to play various media."},{"type":"class","name":"Queue","ctype":"ClapperQueue","summary":"A media playback queue."},{"type":"class","name":"ThreadedObject","ctype":"ClapperThreadedObject","summary":"A base class for creating objects that work within ..."},{"type":"constant","name":"HAVE_MPRIS","ident":"CLAPPER_HAVE_MPRIS","summary":"Check if Clapper was compiled with MPRIS feature."},{"type":"constant","name":"MAJOR_VERSION","ident":"CLAPPER_MAJOR_VERSION","summary":"Clapper major version component"},{"type":"constant","name":"MICRO_VERSION","ident":"CLAPPER_MICRO_VERSION","summary":"Clapper micro version component"},{"type":"constant","name":"MINOR_VERSION","ident":"CLAPPER_MINOR_VERSION","summary":"Clapper minor version component"},{"type":"constant","name":"VERSION_S","ident":"CLAPPER_VERSION_S","summary":"Clapper version, encoded as a string"},{"type":"ctor","name":"new","type_name":"Discoverer","ident":"clapper_discoverer_new","summary":"Creates a new #ClapperDiscoverer instance."},{"type":"ctor","name":"new","type_name":"MediaItem","ident":"clapper_media_item_new","summary":"Creates new #ClapperMediaItem from URI. Use one of ..."},{"type":"ctor","name":"new","type_name":"Mpris","ident":"clapper_mpris_new","summary":"Creates a new #ClapperMpris instance."},{"type":"ctor","name":"new","type_name":"Player","ident":"clapper_player_new","summary":"Creates a new #ClapperPlayer instance."},{"type":"ctor","name":"new_from_file","type_name":"MediaItem","ident":"clapper_media_item_new_from_file","summary":"Creates new #ClapperMediaItem from #GFile. Same as clapper_media_item_new(), ..."},{"type":"ctor","name":"new_take","type_name":"MediaItem","ident":"clapper_media_item_new_take","summary":"Creates new #ClapperMediaItem from URI. Same as clapper_media_item_new(), ..."},{"type":"enum","name":"PlayerSeekMethod","ctype":"ClapperPlayerSeekMethod","summary":"No description available."},{"type":"enum","name":"PlayerState","ctype":"ClapperPlayerState","summary":"No description available."},{"type":"enum","name":"QueueProgressionMode","ctype":"ClapperQueueProgressionMode","summary":"No description available."},{"type":"function","name":"init","ident":"clapper_init","summary":"Initializes the Clapper library. Implementations must always call this ..."},{"type":"function","name":"init_check","ident":"clapper_init_check","summary":"This function does the same thing as clapper_init(), but ..."},{"type":"function_macro","name":"CHECK_VERSION","ident":"CLAPPER_CHECK_VERSION","summary":"No description available."},{"type":"function_macro","name":"DISCOVERER_CAST","ident":"CLAPPER_DISCOVERER_CAST","summary":"No description available."},{"type":"function_macro","name":"ENCODE_VERSION","ident":"CLAPPER_ENCODE_VERSION","summary":"No description available."},{"type":"function_macro","name":"FEATURE_CAST","ident":"CLAPPER_FEATURE_CAST","summary":"No description available."},{"type":"function_macro","name":"MEDIA_ITEM_CAST","ident":"CLAPPER_MEDIA_ITEM_CAST","summary":"No description available."},{"type":"function_macro","name":"MPRIS_CAST","ident":"CLAPPER_MPRIS_CAST","summary":"No description available."},{"type":"function_macro","name":"PLAYER_CAST","ident":"CLAPPER_PLAYER_CAST","summary":"No description available."},{"type":"function_macro","name":"QUEUE_CAST","ident":"CLAPPER_QUEUE_CAST","summary":"No description available."},{"type":"function_macro","name":"THREADED_OBJECT_CAST","ident":"CLAPPER_THREADED_OBJECT_CAST","summary":"No description available."},{"type":"method","name":"add_feature","type_name":"Player","ident":"clapper_player_add_feature","summary":"Add another #ClapperFeature to the player. If feature ..."},{"type":"method","name":"add_item","type_name":"Queue","ident":"clapper_queue_add_item","summary":"Add another #ClapperMediaItem to the end of queue. ..."},{"type":"method","name":"append_suburi","type_name":"MediaItem","ident":"clapper_media_item_append_suburi","summary":"No description available."},{"type":"method","name":"clear","type_name":"Queue","ident":"clapper_queue_clear","summary":"Removes all media items from the queue. If ..."},{"type":"method","name":"discover_item","type_name":"Discoverer","ident":"clapper_discoverer_discover_item","summary":"Queues media item for discovery. If media item ..."},{"type":"method","name":"find_item","type_name":"Queue","ident":"clapper_queue_find_item","summary":"Get the index of #ClapperMediaItem within #ClapperQueue."},{"type":"method","name":"get_audio_filter","type_name":"Player","ident":"clapper_player_get_audio_filter","summary":"Get #GstElement used as audio filter."},{"type":"method","name":"get_audio_sink","type_name":"Player","ident":"clapper_player_get_audio_sink","summary":"Get #GstElement used as audio sink."},{"type":"method","name":"get_container_format","type_name":"MediaItem","ident":"clapper_media_item_get_container_format","summary":"Get media item container format."},{"type":"method","name":"get_context","type_name":"ThreadedObject","ident":"clapper_threaded_object_get_context","summary":"Get the #GMainContext of the thread used by this ..."},{"type":"method","name":"get_current_audio_decoder","type_name":"Player","ident":"clapper_player_get_current_audio_decoder","summary":"Get #GstElement currently used as audio decoder."},{"type":"method","name":"get_current_item","type_name":"Queue","ident":"clapper_queue_get_current_item","summary":"Get the currently selected #ClapperMediaItem."},{"type":"method","name":"get_current_video_decoder","type_name":"Player","ident":"clapper_player_get_current_video_decoder","summary":"Get #GstElement currently used as video decoder."},{"type":"method","name":"get_duration","type_name":"MediaItem","ident":"clapper_media_item_get_duration","summary":"Get media item duration as decimal number in seconds."},{"type":"method","name":"get_fallback_art_url","type_name":"Mpris","ident":"clapper_mpris_get_fallback_art_url","summary":"Get fallback art URL earlier set by user."},{"type":"method","name":"get_item","type_name":"Queue","ident":"clapper_queue_get_item","summary":"Get the #ClapperMediaItem at index. This behaves the ..."},{"type":"method","name":"get_mute","type_name":"Player","ident":"clapper_player_get_mute","summary":"Get the mute state of the player."},{"type":"method","name":"get_n_items","type_name":"Queue","ident":"clapper_queue_get_n_items","summary":"Get the number of items in #ClapperQueue. This ..."},{"type":"method","name":"get_position","type_name":"Player","ident":"clapper_player_get_position","summary":"Get the current player playback position. The returned ..."},{"type":"method","name":"get_progression_mode","type_name":"Queue","ident":"clapper_queue_get_progression_mode","summary":"Get the #ClapperQueueProgressionMode of the #ClapperQueue."},{"type":"method","name":"get_queue","type_name":"Player","ident":"clapper_player_get_queue","summary":"Get the #ClapperQueue of the player. The queue ..."},{"type":"method","name":"get_speed","type_name":"Player","ident":"clapper_player_get_speed","summary":"Get the speed of the player used for playback."},{"type":"method","name":"get_state","type_name":"Player","ident":"clapper_player_get_state","summary":"Get the current #ClapperPlayerState."},{"type":"method","name":"get_suburis","type_name":"MediaItem","ident":"clapper_media_item_get_suburis","summary":"No description available."},{"type":"method","name":"get_title","type_name":"MediaItem","ident":"clapper_media_item_get_title","summary":"Get media item title for displaying in app UI. ..."},{"type":"method","name":"get_uri","type_name":"MediaItem","ident":"clapper_media_item_get_uri","summary":"Get the URI of #ClapperMediaItem."},{"type":"method","name":"get_video_filter","type_name":"Player","ident":"clapper_player_get_video_filter","summary":"Get #GstElement used as video filter."},{"type":"method","name":"get_video_sink","type_name":"Player","ident":"clapper_player_get_video_sink","summary":"Get #GstElement used as video sink."},{"type":"method","name":"get_volume","type_name":"Player","ident":"clapper_player_get_volume","summary":"Get the volume of the player."},{"type":"method","name":"insert_item","type_name":"Queue","ident":"clapper_queue_insert_item","summary":"Insert another #ClapperMediaItem at @index position to the queue. ..."},{"type":"method","name":"pause","type_name":"Player","ident":"clapper_player_pause","summary":"Pause the playback of current media item. This ..."},{"type":"method","name":"play","type_name":"Player","ident":"clapper_player_play","summary":"Either start or resume the playback of current media ..."},{"type":"method","name":"remove_item","type_name":"Queue","ident":"clapper_queue_remove_item","summary":"Removes #ClapperMediaItem from the queue. If item either ..."},{"type":"method","name":"seek","type_name":"Player","ident":"clapper_player_seek","summary":"Request the player to perform a seek operation. ..."},{"type":"method","name":"seek_custom","type_name":"Player","ident":"clapper_player_seek_custom","summary":"Request the player to perform a seek operation. ..."},{"type":"method","name":"select_item","type_name":"Queue","ident":"clapper_queue_select_item","summary":"Selects #ClapperMediaItem from playlist as current one and signals ..."},{"type":"method","name":"select_next_item","type_name":"Queue","ident":"clapper_queue_select_next_item","summary":"Selects next #ClapperMediaItem from playlist for playback. Note ..."},{"type":"method","name":"select_previous_item","type_name":"Queue","ident":"clapper_queue_select_previous_item","summary":"Selects previous #ClapperMediaItem from playlist for playback. Note ..."},{"type":"method","name":"set_audio_filter","type_name":"Player","ident":"clapper_player_set_audio_filter","summary":"Set #GstElement to be used as audio filter."},{"type":"method","name":"set_audio_sink","type_name":"Player","ident":"clapper_player_set_audio_sink","summary":"Set #GstElement to be used as audio sink."},{"type":"method","name":"set_fallback_art_url","type_name":"Mpris","ident":"clapper_mpris_set_fallback_art_url","summary":"Set fallback artwork to show when media does not ..."},{"type":"method","name":"set_mute","type_name":"Player","ident":"clapper_player_set_mute","summary":"Set the mute state of the player."},{"type":"method","name":"set_progression_mode","type_name":"Queue","ident":"clapper_queue_set_progression_mode","summary":"Set the #ClapperQueueProgressionMode of the #ClapperQueue. Changing the ..."},{"type":"method","name":"set_speed","type_name":"Player","ident":"clapper_player_set_speed","summary":"Set the speed multiplier of the player."},{"type":"method","name":"set_suburis","type_name":"MediaItem","ident":"clapper_media_item_set_suburis","summary":"No description available."},{"type":"method","name":"set_video_filter","type_name":"Player","ident":"clapper_player_set_video_filter","summary":"Set #GstElement to be used as video filter."},{"type":"method","name":"set_video_sink","type_name":"Player","ident":"clapper_player_set_video_sink","summary":"Set #GstElement to be used as video sink."},{"type":"method","name":"set_volume","type_name":"Player","ident":"clapper_player_set_volume","summary":"Set the volume of the player. The value ..."},{"type":"method","name":"stop","type_name":"Player","ident":"clapper_player_stop","summary":"Stop the playback of current media item. This ..."},{"type":"property","name":"audio-filter","type_name":"Player","summary":"Optional audio filter to use (none by default)."},{"type":"property","name":"audio-sink","type_name":"Player","summary":"Audio sink to use (autoaudiosink by default)."},{"type":"property","name":"container-format","type_name":"MediaItem","summary":"Media container format."},{"type":"property","name":"current-audio-decoder","type_name":"Player","summary":"Currently used audio decoder."},{"type":"property","name":"current-item","type_name":"Queue","summary":"Currently selected media item for playback."},{"type":"property","name":"current-video-decoder","type_name":"Player","summary":"Currently used video decoder."},{"type":"property","name":"desktop-entry","type_name":"Mpris","summary":"The basename of an installed .desktop file with the ..."},{"type":"property","name":"duration","type_name":"MediaItem","summary":"Media duration as a decimal number in seconds."},{"type":"property","name":"fallback-art-url","type_name":"Mpris","summary":"Fallback artwork to show when media does not provide one."},{"type":"property","name":"identity","type_name":"Mpris","summary":"A friendly name to identify the media player. ..."},{"type":"property","name":"mute","type_name":"Player","summary":"Mute audio without changing volume."},{"type":"property","name":"n-items","type_name":"Queue","summary":"Number of media items in the queue."},{"type":"property","name":"own-name","type_name":"Mpris","summary":"DBus name to own on connection. Must be ..."},{"type":"property","name":"position","type_name":"Player","summary":"Current playback position as a decimal number in seconds."},{"type":"property","name":"progression-mode","type_name":"Queue","summary":"Queue progression mode."},{"type":"property","name":"queue","type_name":"Player","summary":"Clapper playback queue."},{"type":"property","name":"speed","type_name":"Player","summary":"Current playback speed."},{"type":"property","name":"state","type_name":"Player","summary":"Current playback state."},{"type":"property","name":"suburis","type_name":"MediaItem","summary":"External Subtitle URIs."},{"type":"property","name":"title","type_name":"MediaItem","summary":"Media title."},{"type":"property","name":"uri","type_name":"MediaItem","summary":"Media URI."},{"type":"property","name":"video-filter","type_name":"Player","summary":"Optional video filter to use (none by default)."},{"type":"property","name":"video-sink","type_name":"Player","summary":"Video sink to use (autovideosink by default)."},{"type":"property","name":"volume","type_name":"Player","summary":"Current volume as a decimal number (1.0 = 100%). ..."},{"type":"signal","name":"error","type_name":"Player","summary":"These are normal error messages. Upon emitting this signal, ..."},{"type":"signal","name":"missing-plugin","type_name":"Player","summary":"A #GStreamer plugin or one of its features needed ..."},{"type":"signal","name":"warning","type_name":"Player","summary":"These are some usually more minor error messages that ..."},{"type":"vfunc","name":"current_media_item_changed","type_name":"Feature","summary":"Currently playing media item got changed. Item will be ..."},{"type":"vfunc","name":"media_item_updated","type_name":"Feature","summary":"An item in queue got updated. This might be ..."},{"type":"vfunc","name":"mute_changed","type_name":"Feature","summary":"Player mute state was changed."},{"type":"vfunc","name":"position_changed","type_name":"Feature","summary":"Player position was changed."},{"type":"vfunc","name":"prepare","type_name":"Feature","summary":"Prepare feature for operation (optional). This is different ..."},{"type":"vfunc","name":"queue_cleared","type_name":"Feature","summary":"All items were removed from queue. Note that in ..."},{"type":"vfunc","name":"queue_item_added","type_name":"Feature","summary":"An item was added to the queue."},{"type":"vfunc","name":"queue_item_removed","type_name":"Feature","summary":"An item was removed from queue."},{"type":"vfunc","name":"queue_progression_changed","type_name":"Feature","summary":"#ClapperQueueProgressionMode of the queue was changed."},{"type":"vfunc","name":"speed_changed","type_name":"Feature","summary":"Player speed was changed."},{"type":"vfunc","name":"state_changed","type_name":"Feature","summary":"Player state was changed."},{"type":"vfunc","name":"thread_start","type_name":"ThreadedObject","summary":"Called right after thread started. Useful for initializing ..."},{"type":"vfunc","name":"thread_stop","type_name":"ThreadedObject","summary":"Called when thread is going to stop. Useful ..."},{"type":"vfunc","name":"unprepare","type_name":"Feature","summary":"Revert the changes done in @prepare (optional)."},{"type":"vfunc","name":"volume_changed","type_name":"Feature","summary":"Player volume was changed."}],"terms":{}} \ No newline at end of file diff --git a/doc/clapper/main.js b/doc/clapper/main.js new file mode 100644 index 00000000..09ee4806 --- /dev/null +++ b/doc/clapper/main.js @@ -0,0 +1,176 @@ +// SPDX-FileCopyrightText: 2021 GNOME Foundation +// +// SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later +"use strict"; + + +const urlMap = new Map(typeof baseURLs !== 'undefined' ? baseURLs : []); + +window.addEventListener("hashchange", onDidHashChange); +window.addEventListener("load", onDidLoad, false); +window.addEventListener("keydown", onKeyDown); + +function onDidLoad() { + attachScrollHandlers() + attachToggleHandlers() + attachCopyHandlers() + + if (window.onInitSearch) { + window.onInitSearch() + } +} + +function onDidHashChange() { + // When URL fragment changes to ID of a collapsible section, + // expand it when it is collapsed. + // This is useful for clicking section links in the sidebar on the index page. + const sectionHeader = document.querySelector(".section-header" + location.hash); + if (sectionHeader !== null) { + const parent = sectionHeader.parentNode; + if (hasClass(parent, "toggle-wrapper")) { + const toggle = parent.querySelector(".collapse-toggle"); + if (hasClass(toggle, "collapsed")) { + toggle.click(); + } + } + } +} + + +function attachScrollHandlers() { + const btnToTop = document.getElementById("btn-to-top"); + + btnToTop.addEventListener('click', onClick); + window.addEventListener('scroll', onScroll); + + function onClick(e) { + e.preventDefault(); + window.scroll({ top: 0, behavior: 'smooth' }); + } + + function onScroll() { + if (window.scrollY < 400) { + addClass(btnToTop, "hidden"); + } else { + removeClass(btnToTop, "hidden"); + } + } +} + +function attachToggleHandlers() { + function label(isCollapsed) { + return ( + "[" + + (isCollapsed ? "+" : "\u2212") + + "]" + ) + } + + function createToggle(isCollapsed) { + const toggle = document.createElement("a"); + toggle.href = "javascript:void(0)"; + toggle.className = "collapse-toggle"; + toggle.innerHTML = label(isCollapsed); + toggle.addEventListener('click', onClickToggle); + return toggle; + } + + function onClickToggle() { + if (hasClass(this, "collapsed")) { + removeClass(this, "collapsed"); + this.innerHTML = label(false); + forEach(this.parentNode.querySelectorAll(".docblock"), function(e) { + removeClass(e, "hidden"); + }); + } else { + addClass(this, "collapsed"); + this.innerHTML = label(true); + forEach(this.parentNode.querySelectorAll(".docblock"), function(e) { + addClass(e, "hidden"); + }); + } + } + + forEach(document.querySelectorAll(".toggle-wrapper"), function(e) { + const sectionHeader = e.querySelector(".section-header"); + const fragmentMatches = sectionHeader !== null && location.hash === "#" + sectionHeader.getAttribute('id'); + const collapsedByDefault = hasClass(e, "default-hide") && !fragmentMatches; + const toggle = createToggle(collapsedByDefault); + e.insertBefore(toggle, e.firstChild); + if (collapsedByDefault) { + addClass(toggle, "collapsed"); + forEach(e.querySelectorAll(".docblock"), function(d) { + addClass(d, "hidden"); + }); + } + }); + + function resolveNamespaceLink(namespace) { + return urlMap.get(namespace); + } + + forEach(document.querySelectorAll(".external"), function(e) { + if (e.tagName == "A" && e.dataset.hasOwnProperty('namespace')) { + var data_namespace = e.dataset.namespace + var data_link = e.dataset.link + var base_url = resolveNamespaceLink(data_namespace) + if (base_url !== undefined) { + e.href = base_url + data_link; + } else { + e.title = "No reference to the " + data_namespace + " namespace"; + } + } + }) +} + +function attachCopyHandlers() { + if (!navigator.clipboard) + return; + + forEach(document.querySelectorAll(".codehilite"), function(e) { + const button = document.createElement("button"); + button.className = "copy-button"; + button.innerText = "Copy"; + button.title = "Copy code to clipboard"; + + const text = e.innerText; + button.addEventListener("click", () => { + navigator.clipboard.writeText(text); + }); + + e.appendChild(button); + }) +} + +function onKeyDown(event) { + let search_input = document.querySelector("#search-input"); + // We don't want to try to focus the search input if it isn't visible. That way + // we avoid the preventDefault(), hence allowing devhelp to use S as mnemonic. + let potentially_hidden_parent = search_input.closest('.hidden, .devhelp-hidden'); + + if (window.getComputedStyle(potentially_hidden_parent).display !== 'none' && + event.code === "KeyS" && document.activeElement !== search_input) { + event.preventDefault(); + search_input.focus(); + } +} + +// Helpers + +function hasClass(elem, className) { + return elem && elem.classList && elem.classList.contains(className); +} + +function addClass(elem, className) { + return elem && elem.classList && elem.classList.add(className); +} + +function removeClass(elem, className) { + return elem && elem.classList && elem.classList.remove(className); +} + +function forEach(arr, func) { + for (let i = 0; i < arr.length; ++i) { + func(arr[i]) + } +} diff --git a/doc/clapper/method.Discoverer.discover_item.html b/doc/clapper/method.Discoverer.discover_item.html new file mode 100644 index 00000000..ab703b03 --- /dev/null +++ b/doc/clapper/method.Discoverer.discover_item.html @@ -0,0 +1,212 @@ + + + + + + Clapper.Discoverer.discover_item + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperDiscovererdiscover_item

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_discoverer_discover_item (
+  ClapperDiscoverer* discoverer,
+  ClapperMediaItem* item
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Queues media item for discovery.

+

If media item is already queued for discovery or was +discovered earlier, this funcion will simply return, +so it is safe to call this multiple times when for +e.g. user is scrolling through playback queue.

+
+ +
+ + + + + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
item
+
+

Type: ClapperMediaItem

+

A ClapperMediaItem.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.MediaItem.append_suburi.html b/doc/clapper/method.MediaItem.append_suburi.html new file mode 100644 index 00000000..bc7fec9c --- /dev/null +++ b/doc/clapper/method.MediaItem.append_suburi.html @@ -0,0 +1,218 @@ + + + + + + Clapper.MediaItem.append_suburi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperMediaItemappend_suburi

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_media_item_append_suburi (
+  ClapperMediaItem* item,
+  const gchar* suburi
+)
+
+
+
+
+ +
+

+ Description + + +

+ +
+ No description available. +
+ +
+ + + + + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
suburi
+
+

Type: const gchar*

+

No description available.

+ + + + + + + + + + +
The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.MediaItem.get_container_format.html b/doc/clapper/method.MediaItem.get_container_format.html new file mode 100644 index 00000000..51c2ec92 --- /dev/null +++ b/doc/clapper/method.MediaItem.get_container_format.html @@ -0,0 +1,221 @@ + + + + + + Clapper.MediaItem.get_container_format + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperMediaItemget_container_format

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
gchar*
+clapper_media_item_get_container_format (
+  ClapperMediaItem* item
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get media item container format.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.MediaItem:container-format
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: gchar*

+

Media container format.

+
+
+ + + + + + + +
The caller of the method takes ownership of the data, and is responsible for freeing it.
The return value can be NULL.
The value is a NUL terminated UTF-8 string.
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.MediaItem.get_duration.html b/doc/clapper/method.MediaItem.get_duration.html new file mode 100644 index 00000000..43ceab9a --- /dev/null +++ b/doc/clapper/method.MediaItem.get_duration.html @@ -0,0 +1,221 @@ + + + + + + Clapper.MediaItem.get_duration + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperMediaItemget_duration

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
gfloat
+clapper_media_item_get_duration (
+  ClapperMediaItem* item
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get media item duration as decimal number in seconds.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.MediaItem:duration
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: gfloat

+

Media duration.

+
+
+ + + + + + + +
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.MediaItem.get_suburis.html b/doc/clapper/method.MediaItem.get_suburis.html new file mode 100644 index 00000000..b8675be6 --- /dev/null +++ b/doc/clapper/method.MediaItem.get_suburis.html @@ -0,0 +1,219 @@ + + + + + + Clapper.MediaItem.get_suburis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperMediaItemget_suburis

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
gchar**
+clapper_media_item_get_suburis (
+  ClapperMediaItem* item
+)
+
+
+
+
+ +
+

+ Description + + +

+ +
+ No description available. +
+ +
+ + + +

This method is not directly available to language bindings.

+ + +
+ + +
+ + + + +
Gets propertyClapper.MediaItem:suburis
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: An array of utf8

+

No description available.

+
+
+ + + + + + + +
The array is NULL-terminated.
The data is owned by the instance.
Each element is a NUL terminated UTF-8 string.
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.MediaItem.get_title.html b/doc/clapper/method.MediaItem.get_title.html new file mode 100644 index 00000000..7c18eb49 --- /dev/null +++ b/doc/clapper/method.MediaItem.get_title.html @@ -0,0 +1,225 @@ + + + + + + Clapper.MediaItem.get_title + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperMediaItemget_title

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
gchar*
+clapper_media_item_get_title (
+  ClapperMediaItem* item
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get media item title for displaying in app UI. This function +always returns a media title of some sort for convenience +of displaying it in the application UI.

+

The title can be either text detected by media discovery once it +completes, file basename for local files or eventually a media URI.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.MediaItem:title
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: gchar*

+

Media title.

+
+
+ + + + + + + +
The caller of the method takes ownership of the data, and is responsible for freeing it.
The value is a NUL terminated UTF-8 string.
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.MediaItem.get_uri.html b/doc/clapper/method.MediaItem.get_uri.html new file mode 100644 index 00000000..2614d100 --- /dev/null +++ b/doc/clapper/method.MediaItem.get_uri.html @@ -0,0 +1,221 @@ + + + + + + Clapper.MediaItem.get_uri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperMediaItemget_uri

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
const gchar*
+clapper_media_item_get_uri (
+  ClapperMediaItem* item
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get the URI of ClapperMediaItem.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.MediaItem:uri
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: const gchar*

+

An URI of ClapperMediaItem.

+
+
+ + + + + + + +
The data is owned by the instance.
The value is a NUL terminated UTF-8 string.
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.MediaItem.set_suburis.html b/doc/clapper/method.MediaItem.set_suburis.html new file mode 100644 index 00000000..000ed104 --- /dev/null +++ b/doc/clapper/method.MediaItem.set_suburis.html @@ -0,0 +1,226 @@ + + + + + + Clapper.MediaItem.set_suburis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperMediaItemset_suburis

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_media_item_set_suburis (
+  ClapperMediaItem* item,
+  const gchar** suburis
+)
+
+
+
+
+ +
+

+ Description + + +

+ +
+ No description available. +
+ +
+ + + + + + +
+ + +
+ + + + +
Sets propertyClapper.MediaItem:suburis
+
+ +
+ + +
+

+ Parameters + +

+ +
+
+ +
suburis
+
+

Type: const gchar**

+

No description available.

+ + + + + + + + + + +
The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Mpris.get_fallback_art_url.html b/doc/clapper/method.Mpris.get_fallback_art_url.html new file mode 100644 index 00000000..1a357513 --- /dev/null +++ b/doc/clapper/method.Mpris.get_fallback_art_url.html @@ -0,0 +1,211 @@ + + + + + + Clapper.Mpris.get_fallback_art_url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperMprisget_fallback_art_url

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
gchar*
+clapper_mpris_get_fallback_art_url (
+  ClapperMpris* mpris
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get fallback art URL earlier set by user.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.Mpris:fallback-art-url
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: gchar*

+

Fallback art URL.

+
+
+ + + + + + + +
The caller of the method takes ownership of the data, and is responsible for freeing it.
The value is a NUL terminated UTF-8 string.
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Mpris.set_fallback_art_url.html b/doc/clapper/method.Mpris.set_fallback_art_url.html new file mode 100644 index 00000000..853b3793 --- /dev/null +++ b/doc/clapper/method.Mpris.set_fallback_art_url.html @@ -0,0 +1,218 @@ + + + + + + Clapper.Mpris.set_fallback_art_url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperMprisset_fallback_art_url

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_mpris_set_fallback_art_url (
+  ClapperMpris* mpris,
+  const gchar* art_url
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Set fallback artwork to show when media does not provide one.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Sets propertyClapper.Mpris:fallback-art-url
+
+ +
+ + +
+

+ Parameters + +

+ +
+
+ +
art_url
+
+

Type: const gchar*

+

An art URL.

+ + + + + + + + + + +
The argument can be NULL.
The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.add_feature.html b/doc/clapper/method.Player.add_feature.html new file mode 100644 index 00000000..1869e438 --- /dev/null +++ b/doc/clapper/method.Player.add_feature.html @@ -0,0 +1,258 @@ + + + + + + Clapper.Player.add_feature + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayeradd_feature

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_player_add_feature (
+  ClapperPlayer* player,
+  ClapperFeature* feature
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Add another ClapperFeature to the player.

+

If feature is already added, this function will do nothing, +so it is safe to call multiple times if unsure.

+
+ +
+ + + + + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
feature
+
+

Type: ClapperFeature

+

A ClapperFeature.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.get_audio_filter.html b/doc/clapper/method.Player.get_audio_filter.html new file mode 100644 index 00000000..3a30b29b --- /dev/null +++ b/doc/clapper/method.Player.get_audio_filter.html @@ -0,0 +1,257 @@ + + + + + + Clapper.Player.get_audio_filter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerget_audio_filter

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
GstElement*
+clapper_player_get_audio_filter (
+  ClapperPlayer* player
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get GstElement used as audio filter.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.Player:audio-filter
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: GstElement

+

GstElement set as audio filter.

+
+
+ + + + + + + +
The caller of the method takes ownership of the data, and is responsible for freeing it.
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.get_audio_sink.html b/doc/clapper/method.Player.get_audio_sink.html new file mode 100644 index 00000000..3e54b4df --- /dev/null +++ b/doc/clapper/method.Player.get_audio_sink.html @@ -0,0 +1,257 @@ + + + + + + Clapper.Player.get_audio_sink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerget_audio_sink

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
GstElement*
+clapper_player_get_audio_sink (
+  ClapperPlayer* player
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get GstElement used as audio sink.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.Player:audio-sink
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: GstElement

+

GstElement set as audio sink.

+
+
+ + + + + + + +
The caller of the method takes ownership of the data, and is responsible for freeing it.
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.get_current_audio_decoder.html b/doc/clapper/method.Player.get_current_audio_decoder.html new file mode 100644 index 00000000..ba010ea6 --- /dev/null +++ b/doc/clapper/method.Player.get_current_audio_decoder.html @@ -0,0 +1,257 @@ + + + + + + Clapper.Player.get_current_audio_decoder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerget_current_audio_decoder

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
GstElement*
+clapper_player_get_current_audio_decoder (
+  ClapperPlayer* player
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get GstElement currently used as audio decoder.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.Player:current-audio-decoder
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: GstElement

+

GstElement currently used as audio decoder.

+
+
+ + + + + + + +
The caller of the method takes ownership of the data, and is responsible for freeing it.
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.get_current_video_decoder.html b/doc/clapper/method.Player.get_current_video_decoder.html new file mode 100644 index 00000000..3752a20f --- /dev/null +++ b/doc/clapper/method.Player.get_current_video_decoder.html @@ -0,0 +1,257 @@ + + + + + + Clapper.Player.get_current_video_decoder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerget_current_video_decoder

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
GstElement*
+clapper_player_get_current_video_decoder (
+  ClapperPlayer* player
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get GstElement currently used as video decoder.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.Player:current-video-decoder
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: GstElement

+

GstElement currently used as video decoder.

+
+
+ + + + + + + +
The caller of the method takes ownership of the data, and is responsible for freeing it.
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.get_mute.html b/doc/clapper/method.Player.get_mute.html new file mode 100644 index 00000000..7a058890 --- /dev/null +++ b/doc/clapper/method.Player.get_mute.html @@ -0,0 +1,257 @@ + + + + + + Clapper.Player.get_mute + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerget_mute

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
gboolean
+clapper_player_get_mute (
+  ClapperPlayer* player
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get the mute state of the player.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.Player:mute
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: gboolean

+

TRUE if player is muted, FALSE otherwise.

+
+
+ + + + + + + +
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.get_position.html b/doc/clapper/method.Player.get_position.html new file mode 100644 index 00000000..b515f324 --- /dev/null +++ b/doc/clapper/method.Player.get_position.html @@ -0,0 +1,258 @@ + + + + + + Clapper.Player.get_position + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerget_position

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
gfloat
+clapper_player_get_position (
+  ClapperPlayer* player
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get the current player playback position.

+

The returned value is in seconds as a decimal number.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.Player:position
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: gfloat

+

The position of the player.

+
+
+ + + + + + + +
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.get_queue.html b/doc/clapper/method.Player.get_queue.html new file mode 100644 index 00000000..22d6d0e9 --- /dev/null +++ b/doc/clapper/method.Player.get_queue.html @@ -0,0 +1,259 @@ + + + + + + Clapper.Player.get_queue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerget_queue

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
ClapperQueue*
+clapper_player_get_queue (
+  ClapperPlayer* player
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get the ClapperQueue of the player.

+

The queue belongs to the player and can be accessed for as long +as ClapperPlayer object instance it belongs to is alive.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.Player:queue
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: ClapperQueue

+

The ClapperQueue of the player.

+
+
+ + + + + + + +
The data is owned by the instance.
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.get_speed.html b/doc/clapper/method.Player.get_speed.html new file mode 100644 index 00000000..605f5c2a --- /dev/null +++ b/doc/clapper/method.Player.get_speed.html @@ -0,0 +1,257 @@ + + + + + + Clapper.Player.get_speed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerget_speed

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
gfloat
+clapper_player_get_speed (
+  ClapperPlayer* player
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get the speed of the player used for playback.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.Player:speed
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: gfloat

+

The playback speed multiplier.

+
+
+ + + + + + + +
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.get_state.html b/doc/clapper/method.Player.get_state.html new file mode 100644 index 00000000..20b31f23 --- /dev/null +++ b/doc/clapper/method.Player.get_state.html @@ -0,0 +1,257 @@ + + + + + + Clapper.Player.get_state + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerget_state

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
ClapperPlayerState
+clapper_player_get_state (
+  ClapperPlayer* player
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get the current ClapperPlayerState.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.Player:state
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: ClapperPlayerState

+

The ClapperPlayerState of the player.

+
+
+ + + + + + + +
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.get_video_filter.html b/doc/clapper/method.Player.get_video_filter.html new file mode 100644 index 00000000..f03c571d --- /dev/null +++ b/doc/clapper/method.Player.get_video_filter.html @@ -0,0 +1,257 @@ + + + + + + Clapper.Player.get_video_filter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerget_video_filter

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
GstElement*
+clapper_player_get_video_filter (
+  ClapperPlayer* player
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get GstElement used as video filter.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.Player:video-filter
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: GstElement

+

GstElement set as video filter.

+
+
+ + + + + + + +
The caller of the method takes ownership of the data, and is responsible for freeing it.
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.get_video_sink.html b/doc/clapper/method.Player.get_video_sink.html new file mode 100644 index 00000000..4249e162 --- /dev/null +++ b/doc/clapper/method.Player.get_video_sink.html @@ -0,0 +1,257 @@ + + + + + + Clapper.Player.get_video_sink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerget_video_sink

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
GstElement*
+clapper_player_get_video_sink (
+  ClapperPlayer* player
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get GstElement used as video sink.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.Player:video-sink
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: GstElement

+

GstElement set as video sink.

+
+
+ + + + + + + +
The caller of the method takes ownership of the data, and is responsible for freeing it.
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.get_volume.html b/doc/clapper/method.Player.get_volume.html new file mode 100644 index 00000000..cfa3a043 --- /dev/null +++ b/doc/clapper/method.Player.get_volume.html @@ -0,0 +1,257 @@ + + + + + + Clapper.Player.get_volume + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerget_volume

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
gfloat
+clapper_player_get_volume (
+  ClapperPlayer* player
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get the volume of the player.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.Player:volume
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: gfloat

+

No description available.

+
+
+ + + + + + + +
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.pause.html b/doc/clapper/method.Player.pause.html new file mode 100644 index 00000000..be082a04 --- /dev/null +++ b/doc/clapper/method.Player.pause.html @@ -0,0 +1,226 @@ + + + + + + Clapper.Player.pause + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerpause

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_player_pause (
+  ClapperPlayer* player
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Pause the playback of current media item.

+

This function will queue a request for the underlaying GStreamer +pipeline to go into PAUSED state, thus can also be used on a not +yet started video to go into PAUSED state first.

+
+ +
+ + + + + + +
+ + +
+ + + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.play.html b/doc/clapper/method.Player.play.html new file mode 100644 index 00000000..96fe09ac --- /dev/null +++ b/doc/clapper/method.Player.play.html @@ -0,0 +1,225 @@ + + + + + + Clapper.Player.play + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerplay

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_player_play (
+  ClapperPlayer* player
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Either start or resume the playback of current media item.

+

This function will queue a request for the underlaying GStreamer +pipeline to go into PLAYING state.

+
+ +
+ + + + + + +
+ + +
+ + + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.seek.html b/doc/clapper/method.Player.seek.html new file mode 100644 index 00000000..237cb435 --- /dev/null +++ b/doc/clapper/method.Player.seek.html @@ -0,0 +1,263 @@ + + + + + + Clapper.Player.seek + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerseek

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_player_seek (
+  ClapperPlayer* player,
+  gfloat position
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Request the player to perform a seek operation.

+

This function will use #CLAPPER_PLAYER_SEEK_METHOD_NORMAL as a default +seeking method. If you wish to specify what method to use per seeking +request, use clapper_player_seek_custom() instead.

+

Note that seeking requests are per selected media item. Seeking +requests will be ignored if player is stopped. You need to at least +call clapper_player_pause() before seeking and then your requested +seek will be handled if item could be played.

+
+ +
+ + + + + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
position
+
+

Type: gfloat

+

A decimal number with position to seek to (in seconds)

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.seek_custom.html b/doc/clapper/method.Player.seek_custom.html new file mode 100644 index 00000000..295ac245 --- /dev/null +++ b/doc/clapper/method.Player.seek_custom.html @@ -0,0 +1,276 @@ + + + + + + Clapper.Player.seek_custom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerseek_custom

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_player_seek_custom (
+  ClapperPlayer* player,
+  gfloat position,
+  ClapperPlayerSeekMethod method
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Request the player to perform a seek operation.

+

Same as clapper_player_seek(), but also allows to specify +ClapperPlayerSeekMethod to use for seek operation.

+
+ +
+ + + + + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
position
+
+

Type: gfloat

+

A decimal number with position to seek to (in seconds)

+ + + + + + + + + + +
+
+ +
method
+
+

Type: ClapperPlayerSeekMethod

+

No description available.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.set_audio_filter.html b/doc/clapper/method.Player.set_audio_filter.html new file mode 100644 index 00000000..7fdae8d0 --- /dev/null +++ b/doc/clapper/method.Player.set_audio_filter.html @@ -0,0 +1,264 @@ + + + + + + Clapper.Player.set_audio_filter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerset_audio_filter

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_player_set_audio_filter (
+  ClapperPlayer* player,
+  GstElement* element
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Set GstElement to be used as audio filter.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Sets propertyClapper.Player:audio-filter
+
+ +
+ + +
+

+ Parameters + +

+ +
+
+ +
element
+
+

Type: GstElement

+

A GstElement.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.set_audio_sink.html b/doc/clapper/method.Player.set_audio_sink.html new file mode 100644 index 00000000..224e90f5 --- /dev/null +++ b/doc/clapper/method.Player.set_audio_sink.html @@ -0,0 +1,264 @@ + + + + + + Clapper.Player.set_audio_sink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerset_audio_sink

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_player_set_audio_sink (
+  ClapperPlayer* player,
+  GstElement* element
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Set GstElement to be used as audio sink.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Sets propertyClapper.Player:audio-sink
+
+ +
+ + +
+

+ Parameters + +

+ +
+
+ +
element
+
+

Type: GstElement

+

A GstElement.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.set_mute.html b/doc/clapper/method.Player.set_mute.html new file mode 100644 index 00000000..021ca309 --- /dev/null +++ b/doc/clapper/method.Player.set_mute.html @@ -0,0 +1,264 @@ + + + + + + Clapper.Player.set_mute + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerset_mute

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_player_set_mute (
+  ClapperPlayer* player,
+  gboolean mute
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Set the mute state of the player.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Sets propertyClapper.Player:mute
+
+ +
+ + +
+

+ Parameters + +

+ +
+
+ +
mute
+
+

Type: gboolean

+

TRUE if player should be muted, FALSE otherwise.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.set_speed.html b/doc/clapper/method.Player.set_speed.html new file mode 100644 index 00000000..6fe410fc --- /dev/null +++ b/doc/clapper/method.Player.set_speed.html @@ -0,0 +1,264 @@ + + + + + + Clapper.Player.set_speed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerset_speed

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_player_set_speed (
+  ClapperPlayer* player,
+  gfloat speed
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Set the speed multiplier of the player.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Sets propertyClapper.Player:speed
+
+ +
+ + +
+

+ Parameters + +

+ +
+
+ +
speed
+
+

Type: gfloat

+

The playback speed multiplier.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.set_video_filter.html b/doc/clapper/method.Player.set_video_filter.html new file mode 100644 index 00000000..af7b31bb --- /dev/null +++ b/doc/clapper/method.Player.set_video_filter.html @@ -0,0 +1,264 @@ + + + + + + Clapper.Player.set_video_filter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerset_video_filter

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_player_set_video_filter (
+  ClapperPlayer* player,
+  GstElement* element
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Set GstElement to be used as video filter.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Sets propertyClapper.Player:video-filter
+
+ +
+ + +
+

+ Parameters + +

+ +
+
+ +
element
+
+

Type: GstElement

+

A GstElement.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.set_video_sink.html b/doc/clapper/method.Player.set_video_sink.html new file mode 100644 index 00000000..3a002bf1 --- /dev/null +++ b/doc/clapper/method.Player.set_video_sink.html @@ -0,0 +1,264 @@ + + + + + + Clapper.Player.set_video_sink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerset_video_sink

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_player_set_video_sink (
+  ClapperPlayer* player,
+  GstElement* element
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Set GstElement to be used as video sink.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Sets propertyClapper.Player:video-sink
+
+ +
+ + +
+

+ Parameters + +

+ +
+
+ +
element
+
+

Type: GstElement

+

A GstElement.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.set_volume.html b/doc/clapper/method.Player.set_volume.html new file mode 100644 index 00000000..935ec542 --- /dev/null +++ b/doc/clapper/method.Player.set_volume.html @@ -0,0 +1,266 @@ + + + + + + Clapper.Player.set_volume + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerset_volume

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_player_set_volume (
+  ClapperPlayer* player,
+  gfloat volume
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Set the volume of the player.

+

The value should be within 0 - 1.5 range, where 1.0 is 100% +volume and anything above results with an overamplification.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Sets propertyClapper.Player:volume
+
+ +
+ + +
+

+ Parameters + +

+ +
+
+ +
volume
+
+

Type: gfloat

+

The volume level.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Player.stop.html b/doc/clapper/method.Player.stop.html new file mode 100644 index 00000000..fb1679ef --- /dev/null +++ b/doc/clapper/method.Player.stop.html @@ -0,0 +1,225 @@ + + + + + + Clapper.Player.stop + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperPlayerstop

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_player_stop (
+  ClapperPlayer* player
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Stop the playback of current media item.

+

This function will queue a request for the underlaying GStreamer +pipeline to go into READY state.

+
+ +
+ + + + + + +
+ + +
+ + + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Queue.add_item.html b/doc/clapper/method.Queue.add_item.html new file mode 100644 index 00000000..0c6613de --- /dev/null +++ b/doc/clapper/method.Queue.add_item.html @@ -0,0 +1,234 @@ + + + + + + Clapper.Queue.add_item + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperQueueadd_item

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_queue_add_item (
+  ClapperQueue* queue,
+  ClapperMediaItem* item
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Add another ClapperMediaItem to the end of queue.

+

If item is already in queue, this function will do nothing, +so it is safe to call multiple times if unsure.

+
+ +
+ + + + + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
item
+
+

Type: ClapperMediaItem

+

A ClapperMediaItem.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Queue.clear.html b/doc/clapper/method.Queue.clear.html new file mode 100644 index 00000000..e08c870d --- /dev/null +++ b/doc/clapper/method.Queue.clear.html @@ -0,0 +1,201 @@ + + + + + + Clapper.Queue.clear + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperQueueclear

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_queue_clear (
+  ClapperQueue* queue
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Removes all media items from the queue.

+

If queue is empty, this function will do nothing, +so it is safe to call multiple times if unsure.

+
+ +
+ + + + + + +
+ + +
+ + + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Queue.find_item.html b/doc/clapper/method.Queue.find_item.html new file mode 100644 index 00000000..3370dc3e --- /dev/null +++ b/doc/clapper/method.Queue.find_item.html @@ -0,0 +1,277 @@ + + + + + + Clapper.Queue.find_item + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperQueuefind_item

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
gboolean
+clapper_queue_find_item (
+  ClapperQueue* queue,
+  ClapperMediaItem* item,
+  guint* index
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get the index of ClapperMediaItem within ClapperQueue.

+
+ +
+ + + + + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
item
+
+

Type: ClapperMediaItem

+

A ClapperMediaItem to search for.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ +
index
+
+

Type: guint*

+

Return location for the index of + the element, if found.

+ + + + + + + + + + +
The argument will be set by the function.
The argument can be NULL.
+
+ + + +
+
+
+ + + +
+

+ Return value + +

+ +
+
+
+

Type: gboolean

+

TRUE if item is one of the elements of queue.

+
+
+ + + + + + + +
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Queue.get_current_item.html b/doc/clapper/method.Queue.get_current_item.html new file mode 100644 index 00000000..64a99c60 --- /dev/null +++ b/doc/clapper/method.Queue.get_current_item.html @@ -0,0 +1,233 @@ + + + + + + Clapper.Queue.get_current_item + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperQueueget_current_item

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
ClapperMediaItem*
+clapper_queue_get_current_item (
+  ClapperQueue* queue
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get the currently selected ClapperMediaItem.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.Queue:current-item
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: ClapperMediaItem

+

The current ClapperMediaItem.

+
+
+ + + + + + + +
The caller of the method takes ownership of the data, and is responsible for freeing it.
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Queue.get_item.html b/doc/clapper/method.Queue.get_item.html new file mode 100644 index 00000000..a40c6c9b --- /dev/null +++ b/doc/clapper/method.Queue.get_item.html @@ -0,0 +1,262 @@ + + + + + + Clapper.Queue.get_item + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperQueueget_item

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
ClapperMediaItem*
+clapper_queue_get_item (
+  ClapperQueue* queue,
+  guint index
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get the ClapperMediaItem at index.

+

This behaves the same as g_list_model_get_item(), and is here +for code uniformity and convenience to avoid type casting by user.

+

This function is not available in bindings as they already +inherit get_item() method from GListModel interface.

+
+ +
+ + + +

This method is not directly available to language bindings.

+ + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
index
+
+

Type: guint

+

An item index.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + +
+

+ Return value + +

+ +
+
+
+

Type: ClapperMediaItem

+

The ClapperMediaItem at index.

+
+
+ + + + + + + +
The caller of the method takes ownership of the data, and is responsible for freeing it.
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Queue.get_n_items.html b/doc/clapper/method.Queue.get_n_items.html new file mode 100644 index 00000000..bb42a4ac --- /dev/null +++ b/doc/clapper/method.Queue.get_n_items.html @@ -0,0 +1,237 @@ + + + + + + Clapper.Queue.get_n_items + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperQueueget_n_items

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
guint
+clapper_queue_get_n_items (
+  ClapperQueue* queue
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get the number of items in ClapperQueue.

+

This behave the same as g_list_model_get_n_items(), and is here +for code uniformity and convenience to avoid type casting by user.

+

This function is not available in bindings as they already +inherit get_n_items() method from GListModel interface.

+
+ +
+ + + +

This method is not directly available to language bindings.

+ + +
+ + +
+ + + + +
Gets propertyClapper.Queue:n-items
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: guint

+

The number of items in ClapperQueue.

+
+
+ + + + + + + +
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Queue.get_progression_mode.html b/doc/clapper/method.Queue.get_progression_mode.html new file mode 100644 index 00000000..81f8d812 --- /dev/null +++ b/doc/clapper/method.Queue.get_progression_mode.html @@ -0,0 +1,233 @@ + + + + + + Clapper.Queue.get_progression_mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperQueueget_progression_mode

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
ClapperQueueProgressionMode
+clapper_queue_get_progression_mode (
+  ClapperQueue* queue
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get the ClapperQueueProgressionMode of the ClapperQueue.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Gets propertyClapper.Queue:progression-mode
+
+ +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: ClapperQueueProgressionMode

+

A currently set ClapperQueueProgressionMode.

+
+
+ + + + + + + +
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Queue.insert_item.html b/doc/clapper/method.Queue.insert_item.html new file mode 100644 index 00000000..c3ace8dc --- /dev/null +++ b/doc/clapper/method.Queue.insert_item.html @@ -0,0 +1,252 @@ + + + + + + Clapper.Queue.insert_item + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperQueueinsert_item

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_queue_insert_item (
+  ClapperQueue* queue,
+  ClapperMediaItem* item,
+  gint index
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Insert another ClapperMediaItem at index position to the queue.

+

If item is already in queue, this function will do nothing, +so it is safe to call multiple times if unsure.

+
+ +
+ + + + + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
item
+
+

Type: ClapperMediaItem

+

A ClapperMediaItem.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ +
index
+
+

Type: gint

+

The index to place item in queue, -1 to append.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Queue.remove_item.html b/doc/clapper/method.Queue.remove_item.html new file mode 100644 index 00000000..471398c5 --- /dev/null +++ b/doc/clapper/method.Queue.remove_item.html @@ -0,0 +1,235 @@ + + + + + + Clapper.Queue.remove_item + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperQueueremove_item

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_queue_remove_item (
+  ClapperQueue* queue,
+  ClapperMediaItem* item
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Removes ClapperMediaItem from the queue.

+

If item either was never in the queue or was removed from +it earlier, this function will do nothing, so it is safe +to call multiple times if unsure.

+
+ +
+ + + + + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
item
+
+

Type: ClapperMediaItem

+

A ClapperMediaItem.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Queue.select_item.html b/doc/clapper/method.Queue.select_item.html new file mode 100644 index 00000000..e12e858b --- /dev/null +++ b/doc/clapper/method.Queue.select_item.html @@ -0,0 +1,260 @@ + + + + + + Clapper.Queue.select_item + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperQueueselect_item

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
gboolean
+clapper_queue_select_item (
+  ClapperQueue* queue,
+  ClapperMediaItem* item
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Selects ClapperMediaItem from playlist as current one and +signals ClapperPlayer to play it.

+
+ +
+ + + + + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
item
+
+

Type: ClapperMediaItem

+

A ClapperMediaItem.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ + + +
+
+
+ + + +
+

+ Return value + +

+ +
+
+
+

Type: gboolean

+

TRUE if item could be selected, FALSE if it + was not in the queue.

+
+
+ + + + + + + +
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Queue.select_next_item.html b/doc/clapper/method.Queue.select_next_item.html new file mode 100644 index 00000000..84c8317f --- /dev/null +++ b/doc/clapper/method.Queue.select_next_item.html @@ -0,0 +1,227 @@ + + + + + + Clapper.Queue.select_next_item + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperQueueselect_next_item

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
gboolean
+clapper_queue_select_next_item (
+  ClapperQueue* queue
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Selects next ClapperMediaItem from playlist for playback.

+

Note that this will try to select next item in the order +of the queue, regardless of ClapperQueueProgressionMode set.

+
+ +
+ + + + + + +
+ + +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: gboolean

+

TRUE if there was another media item in queue, FALSE otherwise.

+
+
+ + + + + + + +
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Queue.select_previous_item.html b/doc/clapper/method.Queue.select_previous_item.html new file mode 100644 index 00000000..1c859dc1 --- /dev/null +++ b/doc/clapper/method.Queue.select_previous_item.html @@ -0,0 +1,227 @@ + + + + + + Clapper.Queue.select_previous_item + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperQueueselect_previous_item

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
gboolean
+clapper_queue_select_previous_item (
+  ClapperQueue* queue
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Selects previous ClapperMediaItem from playlist for playback.

+

Note that this will try to select previous item in the order +of the queue, regardless of ClapperQueueProgressionMode set.

+
+ +
+ + + + + + +
+ + +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: gboolean

+

TRUE if there was previous media item in queue, FALSE otherwise.

+
+
+ + + + + + + +
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.Queue.set_progression_mode.html b/doc/clapper/method.Queue.set_progression_mode.html new file mode 100644 index 00000000..bf934fdb --- /dev/null +++ b/doc/clapper/method.Queue.set_progression_mode.html @@ -0,0 +1,243 @@ + + + + + + Clapper.Queue.set_progression_mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperQueueset_progression_mode

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+clapper_queue_set_progression_mode (
+  ClapperQueue* queue,
+  ClapperQueueProgressionMode mode
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Set the ClapperQueueProgressionMode of the ClapperQueue.

+

Changing the mode set will alter next item selection at the +end of playback. For possible values and their descriptions, +see ClapperQueueProgressionMode documentation.

+
+ +
+ + + + + + +
+ + +
+ + + + +
Sets propertyClapper.Queue:progression-mode
+
+ +
+ + +
+

+ Parameters + +

+ +
+
+ +
mode
+
+

Type: ClapperQueueProgressionMode

+

A ClapperQueueProgressionMode.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/method.ThreadedObject.get_context.html b/doc/clapper/method.ThreadedObject.get_context.html new file mode 100644 index 00000000..6d24d9b2 --- /dev/null +++ b/doc/clapper/method.ThreadedObject.get_context.html @@ -0,0 +1,203 @@ + + + + + + Clapper.ThreadedObject.get_context + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Method

+

ClapperThreadedObjectget_context

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
GMainContext*
+clapper_threaded_object_get_context (
+  ClapperThreadedObject* threaded_object
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Get the GMainContext of the thread used by this object.

+

Useful when you want to invoke object thread to do some +action in it from a different thread.

+
+ +
+ + + + + + +
+ + +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: GMainContext

+

A GMainContext of the object used thread.

+
+
+ + + + + + + +
The caller of the method takes ownership of the data, and is responsible for freeing it.
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/opensearch.xml b/doc/clapper/opensearch.xml new file mode 100644 index 00000000..ea7a98d4 --- /dev/null +++ b/doc/clapper/opensearch.xml @@ -0,0 +1 @@ +ClapperClapper-0.0 Reference ManualUTF-8clapper-logo.svghttps://rafostar.github.io/clapper/doc/clapper/ \ No newline at end of file diff --git a/doc/clapper/property.MediaItem.container-format.html b/doc/clapper/property.MediaItem.container-format.html new file mode 100644 index 00000000..5ff74479 --- /dev/null +++ b/doc/clapper/property.MediaItem.container-format.html @@ -0,0 +1,196 @@ + + + + + + Clapper.MediaItem:container-format + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperMediaItem:container-format

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property container-format: utf8 [ read ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Media container format.

+
+ +
+ + + + + + + +
Type:gchar*
+
+ + + + +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableno
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.MediaItem.duration.html b/doc/clapper/property.MediaItem.duration.html new file mode 100644 index 00000000..63cd5b43 --- /dev/null +++ b/doc/clapper/property.MediaItem.duration.html @@ -0,0 +1,196 @@ + + + + + + Clapper.MediaItem:duration + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperMediaItem:duration

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property duration: float [ read ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Media duration as a decimal number in seconds.

+
+ +
+ + + + + + + +
Type:gfloat
+
+ + +
+ + + + +
Getter methodclapper_media_item_get_duration()
+
+ +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableno
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.MediaItem.suburis.html b/doc/clapper/property.MediaItem.suburis.html new file mode 100644 index 00000000..5a0625be --- /dev/null +++ b/doc/clapper/property.MediaItem.suburis.html @@ -0,0 +1,198 @@ + + + + + + Clapper.MediaItem:suburis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperMediaItem:suburis

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property suburis: string[] [ read, write ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

External Subtitle URIs.

+
+ +
+ + + + + + + +
Type:An array of char*
+
+ + +
+ + + + + + +
Setter methodclapper_media_item_set_suburis()
Getter methodclapper_media_item_get_suburis()
+
+ +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableyes
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.MediaItem.title.html b/doc/clapper/property.MediaItem.title.html new file mode 100644 index 00000000..70b40d1a --- /dev/null +++ b/doc/clapper/property.MediaItem.title.html @@ -0,0 +1,196 @@ + + + + + + Clapper.MediaItem:title + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperMediaItem:title

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property title: utf8 [ read ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Media title.

+
+ +
+ + + + + + + +
Type:gchar*
+
+ + +
+ + + + +
Getter methodclapper_media_item_get_title()
+
+ +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableno
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.MediaItem.uri.html b/doc/clapper/property.MediaItem.uri.html new file mode 100644 index 00000000..f3ec4696 --- /dev/null +++ b/doc/clapper/property.MediaItem.uri.html @@ -0,0 +1,196 @@ + + + + + + Clapper.MediaItem:uri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperMediaItem:uri

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property uri: utf8 [ read, write, construct-only ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Media URI.

+
+ +
+ + + + + + + +
Type:gchar*
+
+ + +
+ + + + +
Getter methodclapper_media_item_get_uri()
+
+ +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableyes
Constructno
Construct onlyyes
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Mpris.desktop-entry.html b/doc/clapper/property.Mpris.desktop-entry.html new file mode 100644 index 00000000..356a9cb0 --- /dev/null +++ b/doc/clapper/property.Mpris.desktop-entry.html @@ -0,0 +1,186 @@ + + + + + + Clapper.Mpris:desktop-entry + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperMpris:desktop-entry

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property desktop-entry: utf8 [ read, write, construct-only ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

The basename of an installed .desktop file with the “.desktop” extension stripped.

+
+ +
+ + + + + + + +
Type:gchar*
+
+ + +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableyes
Constructno
Construct onlyyes
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Mpris.fallback-art-url.html b/doc/clapper/property.Mpris.fallback-art-url.html new file mode 100644 index 00000000..68165467 --- /dev/null +++ b/doc/clapper/property.Mpris.fallback-art-url.html @@ -0,0 +1,196 @@ + + + + + + Clapper.Mpris:fallback-art-url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperMpris:fallback-art-url

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property fallback-art-url: utf8 [ read, write ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Fallback artwork to show when media does not provide one.

+
+ +
+ + + + + + + +
Type:gchar*
+
+ + + + +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableyes
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Mpris.identity.html b/doc/clapper/property.Mpris.identity.html new file mode 100644 index 00000000..83dc5cd2 --- /dev/null +++ b/doc/clapper/property.Mpris.identity.html @@ -0,0 +1,187 @@ + + + + + + Clapper.Mpris:identity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperMpris:identity

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property identity: utf8 [ read, write, construct-only ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

A friendly name to identify the media player.

+

Example: “My Player”

+
+ +
+ + + + + + + +
Type:gchar*
+
+ + +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableyes
Constructno
Construct onlyyes
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Mpris.own-name.html b/doc/clapper/property.Mpris.own-name.html new file mode 100644 index 00000000..184707c0 --- /dev/null +++ b/doc/clapper/property.Mpris.own-name.html @@ -0,0 +1,189 @@ + + + + + + Clapper.Mpris:own-name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperMpris:own-name

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property own-name: utf8 [ read, write, construct-only ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

DBus name to own on connection.

+

Must be written as a reverse DNS format starting with “org.mpris.MediaPlayer2.” prefix. +Each ClapperMpris instance running on the same system must have an unique.

+

Example: “org.mpris.MediaPlayer2.MyPlayer1”

+
+ +
+ + + + + + + +
Type:gchar*
+
+ + +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableyes
Constructno
Construct onlyyes
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Player.audio-filter.html b/doc/clapper/property.Player.audio-filter.html new file mode 100644 index 00000000..3d320e9d --- /dev/null +++ b/doc/clapper/property.Player.audio-filter.html @@ -0,0 +1,212 @@ + + + + + + Clapper.Player:audio-filter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperPlayer:audio-filter

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property audio-filter: Gst.Element [ read, write ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Optional audio filter to use (none by default).

+
+ +
+ + + + + + + +
Type:GstElement
+
+ + +
+ + + + + + +
Setter methodclapper_player_set_audio_filter()
Getter methodclapper_player_get_audio_filter()
+
+ +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableyes
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Player.audio-sink.html b/doc/clapper/property.Player.audio-sink.html new file mode 100644 index 00000000..dfcacc86 --- /dev/null +++ b/doc/clapper/property.Player.audio-sink.html @@ -0,0 +1,212 @@ + + + + + + Clapper.Player:audio-sink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperPlayer:audio-sink

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property audio-sink: Gst.Element [ read, write ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Audio sink to use (autoaudiosink by default).

+
+ +
+ + + + + + + +
Type:GstElement
+
+ + +
+ + + + + + +
Setter methodclapper_player_set_audio_sink()
Getter methodclapper_player_get_audio_sink()
+
+ +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableyes
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Player.current-audio-decoder.html b/doc/clapper/property.Player.current-audio-decoder.html new file mode 100644 index 00000000..9e68d28c --- /dev/null +++ b/doc/clapper/property.Player.current-audio-decoder.html @@ -0,0 +1,210 @@ + + + + + + Clapper.Player:current-audio-decoder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperPlayer:current-audio-decoder

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property current-audio-decoder: Gst.Element [ read ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Currently used audio decoder.

+
+ +
+ + + + + + + +
Type:GstElement
+
+ + + + +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableno
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Player.current-video-decoder.html b/doc/clapper/property.Player.current-video-decoder.html new file mode 100644 index 00000000..c029ae77 --- /dev/null +++ b/doc/clapper/property.Player.current-video-decoder.html @@ -0,0 +1,210 @@ + + + + + + Clapper.Player:current-video-decoder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperPlayer:current-video-decoder

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property current-video-decoder: Gst.Element [ read ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Currently used video decoder.

+
+ +
+ + + + + + + +
Type:GstElement
+
+ + + + +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableno
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Player.mute.html b/doc/clapper/property.Player.mute.html new file mode 100644 index 00000000..71ea3964 --- /dev/null +++ b/doc/clapper/property.Player.mute.html @@ -0,0 +1,212 @@ + + + + + + Clapper.Player:mute + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperPlayer:mute

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property mute: gboolean [ read, write ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Mute audio without changing volume.

+
+ +
+ + + + + + + +
Type:gboolean
+
+ + +
+ + + + + + +
Setter methodclapper_player_set_mute()
Getter methodclapper_player_get_mute()
+
+ +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableyes
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Player.position.html b/doc/clapper/property.Player.position.html new file mode 100644 index 00000000..88035ee4 --- /dev/null +++ b/doc/clapper/property.Player.position.html @@ -0,0 +1,210 @@ + + + + + + Clapper.Player:position + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperPlayer:position

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property position: float [ read ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Current playback position as a decimal number in seconds.

+
+ +
+ + + + + + + +
Type:gfloat
+
+ + +
+ + + + +
Getter methodclapper_player_get_position()
+
+ +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableno
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Player.queue.html b/doc/clapper/property.Player.queue.html new file mode 100644 index 00000000..8da3a67d --- /dev/null +++ b/doc/clapper/property.Player.queue.html @@ -0,0 +1,210 @@ + + + + + + Clapper.Player:queue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperPlayer:queue

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property queue: Clapper.Queue [ read ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Clapper playback queue.

+
+ +
+ + + + + + + +
Type:ClapperQueue
+
+ + +
+ + + + +
Getter methodclapper_player_get_queue()
+
+ +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableno
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Player.speed.html b/doc/clapper/property.Player.speed.html new file mode 100644 index 00000000..0304c44d --- /dev/null +++ b/doc/clapper/property.Player.speed.html @@ -0,0 +1,212 @@ + + + + + + Clapper.Player:speed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperPlayer:speed

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property speed: float [ read, write ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Current playback speed.

+
+ +
+ + + + + + + +
Type:gfloat
+
+ + +
+ + + + + + +
Setter methodclapper_player_set_speed()
Getter methodclapper_player_get_speed()
+
+ +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableyes
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Player.state.html b/doc/clapper/property.Player.state.html new file mode 100644 index 00000000..aab68bf2 --- /dev/null +++ b/doc/clapper/property.Player.state.html @@ -0,0 +1,210 @@ + + + + + + Clapper.Player:state + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperPlayer:state

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property state: Clapper.PlayerState [ read ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Current playback state.

+
+ +
+ + + + + + + +
Type:ClapperPlayerState
+
+ + +
+ + + + +
Getter methodclapper_player_get_state()
+
+ +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableno
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Player.video-filter.html b/doc/clapper/property.Player.video-filter.html new file mode 100644 index 00000000..b8cd2950 --- /dev/null +++ b/doc/clapper/property.Player.video-filter.html @@ -0,0 +1,212 @@ + + + + + + Clapper.Player:video-filter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperPlayer:video-filter

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property video-filter: Gst.Element [ read, write ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Optional video filter to use (none by default).

+
+ +
+ + + + + + + +
Type:GstElement
+
+ + +
+ + + + + + +
Setter methodclapper_player_set_video_filter()
Getter methodclapper_player_get_video_filter()
+
+ +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableyes
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Player.video-sink.html b/doc/clapper/property.Player.video-sink.html new file mode 100644 index 00000000..d8bf5cd6 --- /dev/null +++ b/doc/clapper/property.Player.video-sink.html @@ -0,0 +1,212 @@ + + + + + + Clapper.Player:video-sink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperPlayer:video-sink

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property video-sink: Gst.Element [ read, write ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Video sink to use (autovideosink by default).

+
+ +
+ + + + + + + +
Type:GstElement
+
+ + +
+ + + + + + +
Setter methodclapper_player_set_video_sink()
Getter methodclapper_player_get_video_sink()
+
+ +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableyes
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Player.volume.html b/doc/clapper/property.Player.volume.html new file mode 100644 index 00000000..29d092bc --- /dev/null +++ b/doc/clapper/property.Player.volume.html @@ -0,0 +1,215 @@ + + + + + + Clapper.Player:volume + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperPlayer:volume

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property volume: float [ read, write ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Current volume as a decimal number (1.0 = 100%).

+

Note that ClapperPlayer uses a CUBIC volume scale, meaning +that this property value reflects human hearing level and can +be easily bound to volume sliders as-is.

+
+ +
+ + + + + + + +
Type:gfloat
+
+ + +
+ + + + + + +
Setter methodclapper_player_set_volume()
Getter methodclapper_player_get_volume()
+
+ +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableyes
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Queue.current-item.html b/doc/clapper/property.Queue.current-item.html new file mode 100644 index 00000000..d4375e34 --- /dev/null +++ b/doc/clapper/property.Queue.current-item.html @@ -0,0 +1,192 @@ + + + + + + Clapper.Queue:current-item + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperQueue:current-item

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property current-item: Clapper.MediaItem [ read ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Currently selected media item for playback.

+
+ +
+ + + + + + + +
Type:ClapperMediaItem
+
+ + +
+ + + + +
Getter methodclapper_queue_get_current_item()
+
+ +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableno
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Queue.n-items.html b/doc/clapper/property.Queue.n-items.html new file mode 100644 index 00000000..4e60d169 --- /dev/null +++ b/doc/clapper/property.Queue.n-items.html @@ -0,0 +1,192 @@ + + + + + + Clapper.Queue:n-items + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperQueue:n-items

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property n-items: guint [ read ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Number of media items in the queue.

+
+ +
+ + + + + + + +
Type:guint
+
+ + +
+ + + + +
Getter methodclapper_queue_get_n_items()
+
+ +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableno
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/property.Queue.progression-mode.html b/doc/clapper/property.Queue.progression-mode.html new file mode 100644 index 00000000..1c4843bd --- /dev/null +++ b/doc/clapper/property.Queue.progression-mode.html @@ -0,0 +1,194 @@ + + + + + + Clapper.Queue:progression-mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Property

+

ClapperQueue:progression-mode

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
property progression-mode: Clapper.QueueProgressionMode [ read, write ]
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Queue progression mode.

+
+ +
+ + + + + + + +
Type:ClapperQueueProgressionMode
+
+ + + + +
+ +
+

+ Flags + +

+ +
+ + + + + +
Readableyes
Writableyes
Constructno
Construct onlyno
+
+
+ +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/search.js b/doc/clapper/search.js new file mode 100644 index 00000000..f635df65 --- /dev/null +++ b/doc/clapper/search.js @@ -0,0 +1,372 @@ +// SPDX-FileCopyrightText: 2021 GNOME Foundation +// +// SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later + +(function() { + +const QUERY_TYPES = [ + "alias", + "bitfield", + "callback", + "class", + "constant", + "content", + "ctor", + "domain", + "enum", + "function_macro", + "function", + "interface", + "method", + "property", + "record", + "signal", + "type_func", + "union", + "vfunc", +]; +const QUERY_PATTERN = new RegExp("^(" + QUERY_TYPES.join('|') + ")\\s*:\\s*", 'i'); + + +const fzy = window.fzy; +const searchParams = getSearchParams(); +const refs = { + input: null, + form: null, + search: null, + main: null, + toc: null, +}; + +let searchIndex = undefined; +let searchResults = []; + +// Exports +window.onInitSearch = onInitSearch; + +/* Event handlers */ + +function onInitSearch() { + fetchJSON('index.json', onDidLoadSearchIndex); +} + +function onDidLoadSearchIndex(data) { + searchIndex = new SearchIndex(data) + + refs.input = document.querySelector("#search-input"); + refs.form = document.querySelector("#search-form"); + refs.search = document.querySelector("#search"); + refs.main = document.querySelector("#main"); + refs.toc = document.querySelector("#toc"); + + attachInputHandlers(); + + if (searchParams.q) { + search(searchParams.q); + } +} + +function getNakedUrl() { + return window.location.href.split("?")[0].split("#")[0]; +} + +function onDidSearch() { + const query = refs.input.value; + if (query) { + search(query); + } + else { + hideSearchResults(); + } +} + +function onDidSubmit(ev) { + ev.preventDefault(); + if (searchResults.length == 1) { + window.location.href = searchResults[0].href; + } +} + +function attachInputHandlers() { + if (refs.input.value === "") { + refs.input.value === searchParams.q || ""; + } + + refs.input.addEventListener('keyup', debounce(500, onDidSearch)) + refs.form.addEventListener('submit', onDidSubmit) +} + +/* Searching */ + +function searchQuery(query) { + const q = matchQuery(query); + const docs = searchIndex.searchDocs(q.term, q.type); + + const results = docs.map(function(doc) { + return { + name: doc.name, + type: doc.type, + text: getLabelForDocument(doc, searchIndex.meta), + href: getLinkForDocument(doc), + summary: doc.summary, + }; + }); + + return results; +} + +function search(query) { + searchResults = searchQuery(query) + showResults(query, searchResults); +} + +/* Rendering */ + +function showSearchResults() { + addClass(refs.main, "hidden"); + if (refs.toc) { + addClass(refs.toc, "hidden"); + } + removeClass(refs.search, "hidden"); +} + +function hideSearchResults() { + addClass(refs.search, "hidden"); + removeClass(refs.main, "hidden"); + if (refs.toc) { + removeClass(refs.toc, "hidden"); + } +} + +function renderResults(query, results) { + let html = ""; + + html += "

Results for "" + query + "" (" + results.length + ")

" + + "
" + + if (results.length === 0) { + html += "No results found."; + } + else { + html += "" + + ""; + results.forEach(function(item) { + html += "" + + "" + + "" + + ""; + }); + html += "
NameDescription
" + + "" + item.text + "" + + "" + item.summary + "
"; + } + + html += "
"; + + return html; +} + +function showResults(query, results) { + if (window.history && typeof window.history.pushState === "function") { + let baseUrl = getNakedUrl(); + let extra = "?q=" + encodeURIComponent(refs.input.value); + window.history.replaceState(refs.input.value, "", baseUrl + extra + window.location.hash); + } + + window.title = "Results for: " + query; + window.scroll({ top: 0 }) + refs.search.innerHTML = renderResults(query, results); + showSearchResults(search); +} + + +/* Search data instance */ + +function SearchIndex(searchIndex) { + this.symbols = searchIndex.symbols; + this.meta = searchIndex.meta; +} +SearchIndex.prototype.searchDocs = function searchDocs(term, type) { + const filteredSymbols = !type ? + this.symbols : + this.symbols.filter(s => s.type === type); + const results = fzy.filter(term, filteredSymbols, doc => getTextForDocument(doc, this.meta)) + return results.map(i => i.item) +} + + +/* Search metadata selectors */ + +function getLinkForDocument(doc) { + switch (doc.type) { + case "alias": return "alias." + doc.name + ".html"; + case "bitfield": return "flags." + doc.name + ".html"; + case "callback": return "callback." + doc.name + ".html"; + case "class": return "class." + doc.name + ".html"; + case "class_method": return "class_method." + doc.struct_for + "." + doc.name + ".html"; + case "constant": return "const." + doc.name + ".html"; + case "content": return doc.href; + case "ctor": return "ctor." + doc.type_name + "." + doc.name + ".html"; + case "domain": return "error." + doc.name + ".html"; + case "enum": return "enum." + doc.name + ".html"; + case "function": return "func." + doc.name + ".html"; + case "function_macro": return "func." + doc.name + ".html"; + case "interface": return "iface." + doc.name + ".html"; + case "method": return "method." + doc.type_name + "." + doc.name + ".html"; + case "property": return "property." + doc.type_name + "." + doc.name + ".html"; + case "record": return "struct." + doc.name + ".html"; + case "signal": return "signal." + doc.type_name + "." + doc.name + ".html"; + case "type_func": return "type_func." + doc.type_name + "." + doc.name + ".html"; + case "union": return "union." + doc.name + ".html"; + case "vfunc": return "vfunc." + doc.type_name + "." + doc.name + ".html"; + } + return null; +} + +function getLabelForDocument(doc, meta) { + switch (doc.type) { + case "alias": + case "bitfield": + case "callback": + case "class": + case "domain": + case "enum": + case "interface": + case "record": + case "union": + return "" + doc.ctype + ""; + + case "class_method": + case "constant": + case "ctor": + case "function": + case "function_macro": + case "method": + case "type_func": + return "" + doc.ident + ""; + + // NOTE: meta.ns added for more consistent results, otherwise + // searching for "Button" would return all signals, properties + // and vfuncs (eg "Button.clicked") before the actual object + // (eg "GtkButton") because "Button" matches higher with starting + // sequences. + case "property": + return "" + meta.ns + doc.type_name + ":" + doc.name + ""; + case "signal": + return "" + meta.ns + doc.type_name + "::" + doc.name + ""; + case "vfunc": + return "" + meta.ns + doc.type_name + "." + doc.name + ""; + + case "content": + return doc.name; + } + + return null; +} + +function getTextForDocument(doc, meta) { + switch (doc.type) { + case "alias": + case "bitfield": + case "callback": + case "class": + case "domain": + case "enum": + case "interface": + case "record": + case "union": + return doc.ctype; + + case "class_method": + case "constant": + case "ctor": + case "function": + case "function_macro": + case "method": + case "type_func": + return doc.ident; + + // NOTE: meta.ns added for more consistent results, otherwise + // searching for "Button" would return all signals, properties + // and vfuncs (eg "Button.clicked") before the actual object + // (eg "GtkButton") because "Button" matches higher with starting + // sequences. + case "property": + return meta.ns + doc.type_name + ":" + doc.name; + case "signal": + return meta.ns + doc.type_name + "::" + doc.name; + case "vfunc": + return meta.ns + doc.type_name + "." + doc.name; + + case "content": + return doc.name; + } + + return null; +} + + +// Helpers + +function fetchJSON(url, callback) { + const request = new XMLHttpRequest(); + request.open('GET', url, true); + request.onreadystatechange = function() { + if (request.readyState === XMLHttpRequest.DONE) { + const status = request.status; + + if (status === 0 || (status >= 200 && status < 400)) { + callback(JSON.parse(request.responseText)); + } + } + } + request.send(null); +} + +function getSearchParams() { + const params = {}; + window.location.search.substring(1).split('&') + .map(function(s) { + const pair = s.split('='); + params[decodeURIComponent(pair[0])] = + typeof pair[1] === 'undefined' ? null : decodeURIComponent(pair[1].replace(/\+/g, '%20')); + }); + return params; +} + +function matchQuery(input) { + let type = null + let term = input + + const matches = term.match(QUERY_PATTERN); + if (matches) { + type = matches[1]; + term = term.substring(matches[0].length); + } + + // Remove all spaces, fzy will handle things gracefully. + term = term.replace(/\s+/g, '') + + return { type: type, term: term } +} + +function debounce(delay, fn) { + let timeout; + let savedArgs + + return function() { + const self = this; + savedArgs = Array.prototype.slice.call(arguments); + + if (timeout) { + clearTimeout(timeout); + } + + timeout = setTimeout(function() { + fn.apply(self, savedArgs) + timeout = undefined + }, delay) + } +} + +})() diff --git a/doc/clapper/signal.Player.error.html b/doc/clapper/signal.Player.error.html new file mode 100644 index 00000000..b7ab194a --- /dev/null +++ b/doc/clapper/signal.Player.error.html @@ -0,0 +1,236 @@ + + + + + + Clapper.Player::error + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Signal

+

ClapperPlayer::error

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
void
+error (
+  ClapperPlayer* self,
+  GError* error,
+  gchar* debug_info,
+  gpointer user_data
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

These are normal error messages. Upon emitting this signal, +playback will stop due to the error.

+
+ +
+ + + + + + + + + + + + + +
Default handler:

The default handler is called after the handlers added via g_signal_connect().

Signal emission will restart instead of recursing
Hooks are disabled for this signal
+
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
error
+
+

Type: GError

+

A GError.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ +
debug_info
+
+

Type: gchar*

+

An additional debug message.

+ + + + + + + + + + +
The argument can be NULL.
The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/signal.Player.missing-plugin.html b/doc/clapper/signal.Player.missing-plugin.html new file mode 100644 index 00000000..ae6bfd96 --- /dev/null +++ b/doc/clapper/signal.Player.missing-plugin.html @@ -0,0 +1,240 @@ + + + + + + Clapper.Player::missing-plugin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Signal

+

ClapperPlayer::missing-plugin

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
void
+missing_plugin (
+  ClapperPlayer* self,
+  gchar* description,
+  gchar* installer_detail,
+  gpointer user_data
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

A GStreamer plugin or one of its features needed for playback is missing.

+

The description and installer_detail can be used to present the user more info +about what is missing and prompt him to install it with an external installer.

+
+ +
+ + + + + + + + + + + + + +
Default handler:

The default handler is called after the handlers added via g_signal_connect().

Signal emission will restart instead of recursing
Hooks are disabled for this signal
+
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
description
+
+

Type: gchar*

+

A localised string describing the missing feature, for use in + error dialogs and the like.

+ + + + + + + + + + +
The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
+
+ +
installer_detail
+
+

Type: gchar*

+

A string containing all the details about the missing + element to be passed to an external installer called via either + gst_install_plugins_async() or gst_install_plugins_sync() function.

+ + + + + + + + + + +
The argument can be NULL.
The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/signal.Player.warning.html b/doc/clapper/signal.Player.warning.html new file mode 100644 index 00000000..b2280619 --- /dev/null +++ b/doc/clapper/signal.Player.warning.html @@ -0,0 +1,236 @@ + + + + + + Clapper.Player::warning + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Signal

+

ClapperPlayer::warning

+
+ +
+
+

+
+
+

+ Declaration + +

+ +
+
void
+warning (
+  ClapperPlayer* self,
+  GError* error,
+  gchar* debug_info,
+  gpointer user_data
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

These are some usually more minor error messages that should +be treated like warnings. Should not generally prevent/stop playback.

+
+ +
+ + + + + + + + + + + + + +
Default handler:

The default handler is called after the handlers added via g_signal_connect().

Signal emission will restart instead of recursing
Hooks are disabled for this signal
+
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
error
+
+

Type: GError

+

A GError.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ +
debug_info
+
+

Type: gchar*

+

An additional debug message.

+ + + + + + + + + + +
The argument can be NULL.
The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/solarized-dark.css b/doc/clapper/solarized-dark.css new file mode 100644 index 00000000..2edc59b8 --- /dev/null +++ b/doc/clapper/solarized-dark.css @@ -0,0 +1,88 @@ +/* + * SPDX-FileCopyrightText: 2014 John Louis Del Rosario, Hank Gay, John Mastro, Brandon Bennett + * SPDX-License-Identifier: MIT + */ + +pre { line-height: 125%; } +td.linenos pre { color: #586e75; background-color: #073642; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #586e75; background-color: #073642; padding-left: 5px; padding-right: 5px; } +td.linenos pre.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #073642 } +.codehilite { background: #002b36; color: #839496 } +.codehilite .c { color: #586e75; font-style: italic } /* Comment */ +.codehilite .err { color: #839496; background-color: #dc322f } /* Error */ +.codehilite .esc { color: #839496 } /* Escape */ +.codehilite .g { color: #839496 } /* Generic */ +.codehilite .k { color: #859900 } /* Keyword */ +.codehilite .l { color: #839496 } /* Literal */ +.codehilite .n { color: #839496 } /* Name */ +.codehilite .o { color: #586e75 } /* Operator */ +.codehilite .x { color: #839496 } /* Other */ +.codehilite .p { color: #839496 } /* Punctuation */ +.codehilite .ch { color: #586e75; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #586e75; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #d33682 } /* Comment.Preproc */ +.codehilite .cpf { color: #586e75 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #586e75; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #586e75; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #dc322f } /* Generic.Deleted */ +.codehilite .ge { color: #839496; font-style: italic } /* Generic.Emph */ +.codehilite .gr { color: #dc322f } /* Generic.Error */ +.codehilite .gh { color: #839496; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #859900 } /* Generic.Inserted */ +.codehilite .go { color: #839496 } /* Generic.Output */ +.codehilite .gp { color: #839496 } /* Generic.Prompt */ +.codehilite .gs { color: #839496; font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #839496; text-decoration: underline } /* Generic.Subheading */ +.codehilite .gt { color: #268bd2 } /* Generic.Traceback */ +.codehilite .kc { color: #2aa198 } /* Keyword.Constant */ +.codehilite .kd { color: #2aa198 } /* Keyword.Declaration */ +.codehilite .kn { color: #cb4b16 } /* Keyword.Namespace */ +.codehilite .kp { color: #859900 } /* Keyword.Pseudo */ +.codehilite .kr { color: #859900 } /* Keyword.Reserved */ +.codehilite .kt { color: #b58900 } /* Keyword.Type */ +.codehilite .ld { color: #839496 } /* Literal.Date */ +.codehilite .m { color: #2aa198 } /* Literal.Number */ +.codehilite .s { color: #2aa198 } /* Literal.String */ +.codehilite .na { color: #839496 } /* Name.Attribute */ +.codehilite .nb { color: #268bd2 } /* Name.Builtin */ +.codehilite .nc { color: #268bd2 } /* Name.Class */ +.codehilite .no { color: #268bd2 } /* Name.Constant */ +.codehilite .nd { color: #268bd2 } /* Name.Decorator */ +.codehilite .ni { color: #268bd2 } /* Name.Entity */ +.codehilite .ne { color: #268bd2 } /* Name.Exception */ +.codehilite .nf { color: #268bd2 } /* Name.Function */ +.codehilite .nl { color: #268bd2 } /* Name.Label */ +.codehilite .nn { color: #268bd2 } /* Name.Namespace */ +.codehilite .nx { color: #839496 } /* Name.Other */ +.codehilite .py { color: #839496 } /* Name.Property */ +.codehilite .nt { color: #268bd2 } /* Name.Tag */ +.codehilite .nv { color: #268bd2 } /* Name.Variable */ +.codehilite .ow { color: #859900 } /* Operator.Word */ +.codehilite .w { color: #839496 } /* Text.Whitespace */ +.codehilite .mb { color: #2aa198 } /* Literal.Number.Bin */ +.codehilite .mf { color: #2aa198 } /* Literal.Number.Float */ +.codehilite .mh { color: #2aa198 } /* Literal.Number.Hex */ +.codehilite .mi { color: #2aa198 } /* Literal.Number.Integer */ +.codehilite .mo { color: #2aa198 } /* Literal.Number.Oct */ +.codehilite .sa { color: #2aa198 } /* Literal.String.Affix */ +.codehilite .sb { color: #2aa198 } /* Literal.String.Backtick */ +.codehilite .sc { color: #2aa198 } /* Literal.String.Char */ +.codehilite .dl { color: #2aa198 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #586e75 } /* Literal.String.Doc */ +.codehilite .s2 { color: #2aa198 } /* Literal.String.Double */ +.codehilite .se { color: #2aa198 } /* Literal.String.Escape */ +.codehilite .sh { color: #2aa198 } /* Literal.String.Heredoc */ +.codehilite .si { color: #2aa198 } /* Literal.String.Interpol */ +.codehilite .sx { color: #2aa198 } /* Literal.String.Other */ +.codehilite .sr { color: #cb4b16 } /* Literal.String.Regex */ +.codehilite .s1 { color: #2aa198 } /* Literal.String.Single */ +.codehilite .ss { color: #2aa198 } /* Literal.String.Symbol */ +.codehilite .bp { color: #268bd2 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #268bd2 } /* Name.Function.Magic */ +.codehilite .vc { color: #268bd2 } /* Name.Variable.Class */ +.codehilite .vg { color: #268bd2 } /* Name.Variable.Global */ +.codehilite .vi { color: #268bd2 } /* Name.Variable.Instance */ +.codehilite .vm { color: #268bd2 } /* Name.Variable.Magic */ +.codehilite .il { color: #2aa198 } /* Literal.Number.Integer.Long */ diff --git a/doc/clapper/solarized-light.css b/doc/clapper/solarized-light.css new file mode 100644 index 00000000..f1fa80f7 --- /dev/null +++ b/doc/clapper/solarized-light.css @@ -0,0 +1,88 @@ +/* + * SPDX-FileCopyrightText: 2014 John Louis Del Rosario, Hank Gay, John Mastro, Brandon Bennett + * SPDX-License-Identifier: MIT + */ + +pre { line-height: 125%; } +td.linenos pre { color: #93a1a1; background-color: #eee8d5; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #93a1a1; background-color: #eee8d5; padding-left: 5px; padding-right: 5px; } +td.linenos pre.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.codehilite .hll { background-color: #eee8d5 } +.codehilite { background: #fdf6e3; color: #657b83 } +.codehilite .c { color: #93a1a1; font-style: italic } /* Comment */ +.codehilite .err { color: #657b83; background-color: #dc322f } /* Error */ +.codehilite .esc { color: #657b83 } /* Escape */ +.codehilite .g { color: #657b83 } /* Generic */ +.codehilite .k { color: #859900 } /* Keyword */ +.codehilite .l { color: #657b83 } /* Literal */ +.codehilite .n { color: #657b83 } /* Name */ +.codehilite .o { color: #93a1a1 } /* Operator */ +.codehilite .x { color: #657b83 } /* Other */ +.codehilite .p { color: #657b83 } /* Punctuation */ +.codehilite .ch { color: #93a1a1; font-style: italic } /* Comment.Hashbang */ +.codehilite .cm { color: #93a1a1; font-style: italic } /* Comment.Multiline */ +.codehilite .cp { color: #d33682 } /* Comment.Preproc */ +.codehilite .cpf { color: #93a1a1 } /* Comment.PreprocFile */ +.codehilite .c1 { color: #93a1a1; font-style: italic } /* Comment.Single */ +.codehilite .cs { color: #93a1a1; font-style: italic } /* Comment.Special */ +.codehilite .gd { color: #dc322f } /* Generic.Deleted */ +.codehilite .ge { color: #657b83; font-style: italic } /* Generic.Emph */ +.codehilite .gr { color: #dc322f } /* Generic.Error */ +.codehilite .gh { color: #657b83; font-weight: bold } /* Generic.Heading */ +.codehilite .gi { color: #859900 } /* Generic.Inserted */ +.codehilite .go { color: #657b83 } /* Generic.Output */ +.codehilite .gp { color: #657b83 } /* Generic.Prompt */ +.codehilite .gs { color: #657b83; font-weight: bold } /* Generic.Strong */ +.codehilite .gu { color: #657b83; text-decoration: underline } /* Generic.Subheading */ +.codehilite .gt { color: #268bd2 } /* Generic.Traceback */ +.codehilite .kc { color: #2aa198 } /* Keyword.Constant */ +.codehilite .kd { color: #2aa198 } /* Keyword.Declaration */ +.codehilite .kn { color: #cb4b16 } /* Keyword.Namespace */ +.codehilite .kp { color: #859900 } /* Keyword.Pseudo */ +.codehilite .kr { color: #859900 } /* Keyword.Reserved */ +.codehilite .kt { color: #b58900 } /* Keyword.Type */ +.codehilite .ld { color: #657b83 } /* Literal.Date */ +.codehilite .m { color: #2aa198 } /* Literal.Number */ +.codehilite .s { color: #2aa198 } /* Literal.String */ +.codehilite .na { color: #657b83 } /* Name.Attribute */ +.codehilite .nb { color: #268bd2 } /* Name.Builtin */ +.codehilite .nc { color: #268bd2 } /* Name.Class */ +.codehilite .no { color: #268bd2 } /* Name.Constant */ +.codehilite .nd { color: #268bd2 } /* Name.Decorator */ +.codehilite .ni { color: #268bd2 } /* Name.Entity */ +.codehilite .ne { color: #268bd2 } /* Name.Exception */ +.codehilite .nf { color: #268bd2 } /* Name.Function */ +.codehilite .nl { color: #268bd2 } /* Name.Label */ +.codehilite .nn { color: #268bd2 } /* Name.Namespace */ +.codehilite .nx { color: #657b83 } /* Name.Other */ +.codehilite .py { color: #657b83 } /* Name.Property */ +.codehilite .nt { color: #268bd2 } /* Name.Tag */ +.codehilite .nv { color: #268bd2 } /* Name.Variable */ +.codehilite .ow { color: #859900 } /* Operator.Word */ +.codehilite .w { color: #657b83 } /* Text.Whitespace */ +.codehilite .mb { color: #2aa198 } /* Literal.Number.Bin */ +.codehilite .mf { color: #2aa198 } /* Literal.Number.Float */ +.codehilite .mh { color: #2aa198 } /* Literal.Number.Hex */ +.codehilite .mi { color: #2aa198 } /* Literal.Number.Integer */ +.codehilite .mo { color: #2aa198 } /* Literal.Number.Oct */ +.codehilite .sa { color: #2aa198 } /* Literal.String.Affix */ +.codehilite .sb { color: #2aa198 } /* Literal.String.Backtick */ +.codehilite .sc { color: #2aa198 } /* Literal.String.Char */ +.codehilite .dl { color: #2aa198 } /* Literal.String.Delimiter */ +.codehilite .sd { color: #93a1a1 } /* Literal.String.Doc */ +.codehilite .s2 { color: #2aa198 } /* Literal.String.Double */ +.codehilite .se { color: #2aa198 } /* Literal.String.Escape */ +.codehilite .sh { color: #2aa198 } /* Literal.String.Heredoc */ +.codehilite .si { color: #2aa198 } /* Literal.String.Interpol */ +.codehilite .sx { color: #2aa198 } /* Literal.String.Other */ +.codehilite .sr { color: #cb4b16 } /* Literal.String.Regex */ +.codehilite .s1 { color: #2aa198 } /* Literal.String.Single */ +.codehilite .ss { color: #2aa198 } /* Literal.String.Symbol */ +.codehilite .bp { color: #268bd2 } /* Name.Builtin.Pseudo */ +.codehilite .fm { color: #268bd2 } /* Name.Function.Magic */ +.codehilite .vc { color: #268bd2 } /* Name.Variable.Class */ +.codehilite .vg { color: #268bd2 } /* Name.Variable.Global */ +.codehilite .vi { color: #268bd2 } /* Name.Variable.Instance */ +.codehilite .vm { color: #268bd2 } /* Name.Variable.Magic */ +.codehilite .il { color: #2aa198 } /* Literal.Number.Integer.Long */ diff --git a/doc/clapper/style.css b/doc/clapper/style.css new file mode 100644 index 00000000..2b537f36 --- /dev/null +++ b/doc/clapper/style.css @@ -0,0 +1,941 @@ +/* + * SPDX-FileCopyrightText: 2021 GNOME Foundation + * + * SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later + */ + +@import url("solarized-light.css") (prefers-color-scheme: light); +@import url("solarized-dark.css") (prefers-color-scheme: dark); + +@import url("fonts.css"); + +/********************************* + * LIGHT THEME + *********************************/ +:root { + + /* colors */ + --text-color: rgb(51, 51, 51); + --text-color-muted: rgba(51, 51, 51, 0.65); + --primary: rgb(28, 118, 228); + --body-bg: #fff; + --sidebar-primary: rgb(144, 194, 255); + --sidebar-bg: #151515; + --sidebar-selected-bg: var(--primary); + --sidebar-hover-bg: rgba(127, 127, 127, 0.2); + --sidebar-text-color: #fafafa; + --sidebar-search-bg: rgba(127, 127, 127, 0.25); + --sidebar-search-focus-bg: rgba(127, 127, 127, 0.3); + --sidebar-padding: 1.5em; + --warning-bg-color: #e5a50a; + --warning-fg-color: rgba(0, 0, 0, 0.8); + --error-bg-color: #e01b24; + --error-fg-color: #ffffff; + --accent-bg-color: #3584e4; + --accent-fg-color: #ffffff; + + /* boxes, e.g. code blocks */ + --box-bg: rgba(135, 135, 135, 0.085); + --box-radius: 0.35rem; + --box-padding: 0.75rem; + --box-margin: 0.75rem 0; + --box-text-color: #111; + + /* typography */ + --body-font-family: "Red Hat Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; + --body-font-scale: 0.95; + --body-font-size: calc(var(--body-font-scale) * clamp(16px, 1vw, 18px)); + --body-font-weight: normal; + + --monospace-font-family: "Source Code Pro", monospace; + --monospace-font-size: calc(0.86 * var(--body-font-size)); /* Monospace fonts are very different in terms of font-sizes. Adjust this value to scale it */ + + --heading-font-family: "Red Hat Display", var(--body-font-family); + --heading-weight: 900; + --heading-font-scale: 1.05; + + --heading-small-font-family: var(--heading-font-family); + --heading-small-weight: 600; + --heading-small-font-scale: 1; + + --heading-table-font-family: var(--heading-font-family); + --heading-table-weight: 600; + + --heading-docblock-color: #6d6d6d; /* docblocks have headings from source comments. we want them to differ.*/ + --heading-docblock-scale: 0.9; /* docblocks have headings from source comments. we want them to differ.*/ + + --symbol-font-family: var(--heading-font-family); + --symbol-font-weight: 500; + --symbol-font-scale: 1; + + --table-font-size: 0.92em; /* Tables often contain lots information. It's better to scale them down a big to get more sutff fitted inside */ + + /* misc */ + --preferred-content-width: 90ch; /* The preferred width for the readable content */ + --anchor-sign: "#"; + +} + +/********************************* + * DARK THEME (overrides) + *********************************/ + @media (prefers-color-scheme: dark) { + :root { + --primary: rgb(144, 194, 255); + --text-color: #f6f6f6; + --text-color-muted: #686868; + --body-bg: #121212; + --sidebar-primary: rgb(144, 194, 255); + --sidebar-bg: #1e1e1e; + --sidebar-selected-bg: rgb(17, 112, 228); + --sidebar-text-color: #fafafa; + --box-bg: rgba(135, 135, 135, 0.1); + --box-text-color: #fff; + --heading-docblock-color: #b7b7b7; + --warning-bg-color: #cd9309; + --warning-fg-color: rgba(0, 0, 0, 0.8); + --error-bg-color: #c01c28; + --error-fg-color: #ffffff; + --accent-bg-color: #3584e4; + --accent-fg-color: #ffffff; + } +} + +/********************************* + * GENERAL STYLING + *********************************/ +*, +*:before, +*:after { + box-sizing: border-box; +} + +::-moz-selection { + color: white; + background: var(--primary); +} + +::selection { + color: white; + background: var(--primary); +} + +body { + font: 16px/1.5 var(--body-font-family); + font-weight: var(--body-font-weight); + font-size: var(--body-font-size); + margin: 0; + padding: 0; + position: relative; + + -webkit-font-feature-settings: "kern", "liga"; + -moz-font-feature-settings: "kern", "liga"; + font-feature-settings: "kern", "liga"; + color: var(--text-color); + background: var(--body-bg); +} + +h1, h2, h3, h4, h5, h6 { + font-family: var(--heading-font-family); + font-weight: var(--heading-weight); + margin: 1.75em 0 0.75em 0; + display: flex; + align-items: center; +} + +h1 { + font-size: calc(1.75em * var(--heading-font-scale)); +} + + +header h1 { + margin-top: 0; +} + +h2 { + font-size: calc(1.4em * var(--heading-font-scale)); +} + +h3 { + font-size: calc(1.2em * var(--heading-font-scale)); +} + +header h3 { + color: var(--text-color-muted); + margin-bottom: 0; +} + +h4, h5 { + font-size: calc(1em * var(--heading-font-scale)); +} + +h6 { + font-size: calc(1em * var(--heading-small-font-scale)); + font-family: var(--heading-small-font-family); + font-weight: var(--heading-small-weight); +} + +ol, ul { + padding-left: 1rem; +} + +ul ul, ol ul, ul ol, ol ol { + margin-bottom: .6em; +} + +p { + margin: 0 0 .6em 0; +} + +a { + color: var(--primary); + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +summary { + outline: none; +} + +blockquote { + border-left: 3px solid var(--primary); + background: var(--box-bg); + padding: var(--box-padding); + border-radius: var(--box-radius); + margin: var(--box--margin); +} + +span.sep::after { + content: "▸"; +} + +span.sep { + font-size: calc(0.5em * var(--monospace-font-size)); + opacity: 0.55; + padding-left: .25em; + padding-right: .25em; +} + +code, +pre { + font-family: var(--monospace-font-family); + font-size: var(--monospace-font-size); + color: var(--box-text-color); +} + +pre { + background: var(--box-bg); + padding: var(--box-padding); + border-radius: var(--box-radius); + overflow: auto; +} + +code { + background: var(--box-bg); + padding: 0 0.35em; + border-radius: 0.35rem; + word-break: break-word; +} + +a > code { + color: var(--primary); +} + + +pre pre, +pre code { + padding: 0; + margin: 0; + font-size: 1em; + background: none; + color: inherit; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + font-family: inherit; + font-weight: inherit; + font-size: 0.85em; +} + +strong, b { + font-weight: 600; +} + +/* fix alignment of images on small screen */ +img, svg { + display: block; + max-width: 100%; + height: auto; +} + +svg .node polygon, svg .node path { + transition: fill 150ms ease; + fill: var(--box-bg); + stroke: none; +} + +svg .node a { + text-decoration: none !important; +} + +svg .node a text { + fill: var(--text-color); + font-family: var(--body-font-family); +} + +svg .node.link text { + fill: var(--primary); +} + +svg .node.link:hover polygon, svg .node.link:hover path { + fill: var(--sidebar-hover-bg); +} +svg .node.link:hover text { + fill: var(--box-text-color); +} +svg .edge path { + stroke: var(--text-color); +} + +/* fix unwanted margins in tables, code, lists and blockquotes */ +li > *:first-child, +li > *:first-child > *:first-child, +li > *:first-child > *:first-child > *:first-child, +td > *:first-child, +td > *:first-child > *:first-child, +td > *:first-child > *:first-child > *:first-child, +pre > *:first-child, +pre > *:first-child > *:first-child, +pre > *:first-child > *:first-child > *:first-child, +blockquote > *:first-child, +blockquote > *:first-child > *:first-child, +blockquote > *:first-child > *:first-child > *:first-child { + margin-top: 0; +} +li > *:last-child, +li > *:last-child > *:last-child, +li > *:last-child > *:last-child > *:last-child, +td > *:last-child, +td > *:last-child > *:last-child, +td > *:last-child > *:last-child > *:last-child, +pre > *:last-child, +pre > *:last-child > *:last-child, +pre > *:last-child > *:last-child > *:last-child, +blockquote > *:last-child, +blockquote > *:last-child > *:last-child, +blockquote > *:last-child > *:last-child > *:last-child { + margin-bottom: 0; +} + +/* allow easily adding a frame around images, by appending + * #frame to the url + */ +img[src$="#frame"] { + border: 1px solid var(--text-color); +} + +/********************************* + * PAGE STRUCTURE + *********************************/ +#body-wrapper { + display: flex; + flex-wrap: nowrap; + flex-direction: row; +} + +#body-wrapper:focus { + outline: none; +} + +#main { + position: relative; + flex-grow: 1; + min-width: 0; + box-shadow: 0 0 134px rgba(0, 0, 0, 0.1); +} + +footer { + width: 100%; + display: none; +} + +/********************************* + * Button + *********************************/ + +#btn-to-top { + position: fixed; + bottom: 12px; + right: 32px; + z-index: 1000; + border-radius: 50%; + width: 42px; + height: 42px; + border: 1px solid var(--primary); + background: var(--box-bg); + color: var(--text-color); + cursor: pointer; + text-transform: none; +} + +#btn-to-top > .up-arrow { + margin-left: -2px; +} + +#btn-to-top > .up-arrow:after { + content: url(go-up-symbolic.png); +} + +/********************************* + * SIDEBAR + *********************************/ +.sidebar { + background: var(--sidebar-bg); + border-right: 1px solid var(--sidebar-bg); + min-width: 35ch; + padding: var(--sidebar-padding); + color: var(--sidebar-text-color); + position: sticky; + top: 0; + z-index: 2; + height: 100vh; + overflow-y: auto; + color-scheme: dark; +} + +.sidebar a, +.sidebar a:hover { + text-decoration: none; +} + +.sidebar .logo { + display: block; + margin: 1rem auto 1.2rem auto; + width: 50%; +} + +.sidebar .section > ul > li { + margin-right: -10px; +} + +.sidebar .generator > p { + padding-left: 0.5rem; + padding-right: 0.5rem; + font-size: 0.8em; + opacity: 0.8; + position: relative; + bottom: 0; +} + +.sidebar .section h3, .sidebar .section h5 { + text-align: left; + padding-left: 0.5rem; + padding-right: 0.5rem; + font-weight: var(--heading-weight); +} + +.sidebar .section h5 { + font-size: 1em; + margin-bottom: 0.5em; +} + +.sidebar .namespace > h3 { + margin-bottom: 0; + padding: 0; + font-size: 1.5em; + text-transform: uppercase; + font-weight: 900; +} + +.sidebar .namespace > p { + font-size: 0.9em; + opacity: 0.8; + padding-left: 0.5rem; +} + +.sidebar .section { + padding-left: 0.5rem; + padding-right: 0.5rem; + font-size: 80%; +} + +.sidebar .links { + margin-bottom: 1rem; +} + +.sidebar .section a { + display: block; + text-overflow: ellipsis; + overflow: hidden; + transition: background-color 150ms ease; + color: var(--sidebar-primary); + border-radius: var(--box-radius); + padding: 0.2rem 0.5rem; + margin-bottom: 0.15rem; +} + +.sidebar .section a:hover { + background-color: var(--sidebar-hover-bg); + color: var(--sidebar-text-color); +} + +.sidebar .section a.current { + background-color: var(--sidebar-selected-bg); + color: white; +} + +.sidebar .search { + box-sizing: border-box; + text-align: center; +} + +.sidebar .search input[type="text"] { + border: none; + width: 100%; + border-radius: 50px; + padding: 8px 14px; + display: inline-block; + font-size: 14px; + outline: transparent; + background: var(--sidebar-search-bg); + color: var(--sidebar-text-color); + transition: background-color 150ms ease; +} + +.sidebar .search input[type="text"]:hover, +.sidebar .search input[type="text"]:focus { + background: var(--sidebar-search-focus-bg); +} + +.toc { + display: block; + margin-top: 2em; + z-index: 3; + min-width: 15ch; + font-size: 80%; +} + +.toc nav { + margin-left: 2em; + margin-right: 2em; +} + +#toc-title { + text-transform: uppercase; + font-weight: var(--heading-weight); +} + +.toc-list { + list-style-type: none; + margin: 0; + padding-left: 0; +} + +.toc-list-item { + padding-top: .25em; +} + +ul.toc-list > ul.toc-list { + padding-left: 1em; +} + +/********************************* + * ANCHORS & TOGGLERS + *********************************/ +.anchor, +.md-anchor { + position: relative; + z-index: 1; + text-decoration: none; + padding: 0 0.5em; + color: var(--text-color-muted); +} + +.anchor:hover, +.md-anchor:hover { + color: var(--primary); +} + +.anchor:not([href]), +.md-anchor:not([href]) { + display: none; +} + +.anchor:before, +.md-anchor:before { + content: var(--anchor-sign); /*'§'*/ +} + +.toggle-wrapper { + position: relative; +} + +.collapse-toggle { + position: absolute; + right: 0; + left: -2em; + white-space: nowrap; + text-decoration: none; + font-size: 0.8em; + color: transparent; +} + +.collapse-toggle > .inner { + width: 1rem; + height: 1rem; + border-radius: calc(0.75 * var(--box-radius)); + display: inline-flex; + justify-content: center; + align-items: center; + text-align: center; + vertical-align: middle; + color: var(--box-text-color); + position: relative; + left: -0.25rem; + font-family: monospace; + font-size: 0.7rem; + font-weight: bold; + background: var(--box-bg); +} + +/********************************* + * UTILITY + *********************************/ +.deprecated > h6 > a { + opacity: 0.65; +} + +.hidden { + display: none !important; +} + +/********************************* + * CONTENT STYLING + *********************************/ +.content { + padding: 2em 4em; + overflow: visible; + max-width: calc(var(--preferred-content-width) + 8em); +} + +.content table:not(.table-display) { + border-spacing: 0 0.25rem; +} + +.content td { + vertical-align: top; +} + +.content td:first-child { + padding-right: 1rem; +} + +.content td p:first-child { + margin-top: 0; +} + +.content td h1, .content td h2 { + margin-left: 0; + font-size: 1.1em; +} + +.content tr:first-child td { + border-top: 0; +} + +kbd { + display: inline-block; + padding: 8px; + font: 10px monospace; + line-height: 10px; + vertical-align: middle; + border: none; + border-radius: 6px; + box-shadow: 0 0 3px rgba(0,0,0,0.3); + margin: 3px; + background-color: var(--box-bg); + cursor: default; +} + +.content tr:first-child { + border-bottom: 1px solid rgba(0, 0, 0, 0.35); +} + +.content td { + vertical-align: top; +} + +.content td:first-child { + padding-right: 1rem; +} + +.content td p:first-child { + margin-top: 0; +} + +.content td h4, .content td h5 { + margin-left: 0; + font-size: 1.1em; +} + +.content tr:first-child td { + border-top: 0; +} + +.srclink { + color: var(--text-color-muted); + font-size: 1rem; + font-weight: var(--body-font-weight); + flex-grow: 0; + text-decoration: none; + margin-left: auto; + position: relative; + z-index: 1; +} + +.meta tr > td:not(:first-child) { + width: 100%; +} + +.meta tr > td:first-child { + white-space: nowrap; +} + +/********************************* + * DOCBLOCK STYLING + *********************************/ +.docblock { + position: relative; + text-align: left; +} + +.docblock h1 { + font-size: calc(1.3em * var(--heading-docblock-scale) * var(--heading-font-scale)); +} + +.docblock h2 { + font-size: calc(1.2em * var(--heading-docblock-scale) * var(--heading-font-scale)); +} + +.docblock h3 { + font-size: calc(1.1em * var(--heading-docblock-scale) * var(--heading-font-scale)); +} + +.docblock h4 { + font-size: calc(1.05em * var(--heading-docblock-scale) * var(--heading-font-scale)); +} + +.docblock h1, +.docblock h2, +.docblock h3, +.docblock h4, +.docblock h5, +.docblock h6 { + color: var(--heading-docblock-color) +} + +.docblock table { + margin: .25em 0; + max-width: 100%; + font-size: var(--table-font-size); +} + +.docblock table td { + padding: .25em; +} + +.docblock table th { + padding: .25em; + text-align: left; + font-family: var(--heading-table-font-family); + font-weight: var(--heading-table-weight); +} + +.docblock table tr th:first-child, +.docblock table tr td:first-child { + padding-left: 0; +} + +.docblock table tr th:last-child, +.docblock table tr td:last-child { + padding-right: 0; +} + +table.enum-members, +table.results { + border-radius: var(--box-radius); + border: 1px solid var(--text-color-muted); + border-spacing: 0 0 !important; + font-size: 80%; +} + +table.enum-members tr th, +table.results tr th { + border-top-color: var(--body-bg); + background-color: var(--box-bg); + border-bottom: 1px solid var(--text-color-muted); +} + +table.enum-members tr th:first-child, +table.enum-members tr td:first-child { + min-width: 25em; + padding-left: .5em; +} + +table.results tr th:first-child, +table.results tr td:first-child { + padding-left: .5em; +} + +table.enum-members tr th:last-child, +table.enum-members tr td:last-child, +table.results tr th:last-child, +table.results tr td:last-child { + max-width: 35em; + padding-right: .5em; +} + +table.results tr td code { + font-size: 100%; +} + +table.arguments tr td, +table.returns tr td { + color: var(--text-color-muted); +} + +table.arguments tr td:first-child, +table.returns tr td:first-child { + min-width: 12em; +} + +table.arguments tr.arg-name td, +table.arguments tr.arg-description td, +table.returns tr.arg-name td, +table.returns tr.arg-description td { + color: var(--text-color); +} + +.docblock ul li, +.docblock ol li { + padding-top: 0.15rem; + padding-bottom: 0.15rem; +} + +.docblock ul.type { + list-style: none; +} + +.docblock ul.type li::before { + content: "»"; + color: var(--text-color); + display: inline-block; + width: 1em; + margin-left: -1em; +} + +.docblock .codehilite { + position: relative; +} +.docblock .codehilite > .copy-button { + position: absolute; + top: 0; + right: 0; + + border: none; + background: none; + + margin: var(--box-padding); + cursor: pointer; +} + +.docblock .codehilite > .copy-button { + transition: background-color 150ms ease; + color: var(--primary); + border-radius: var(--box-radius); + padding: 0.2rem 0.5rem; + margin: var(--box-padding); +} + +.docblock .codehilite > .copy-button:hover { + background-color: var(--sidebar-hover-bg); + color: var(--text-color); +} + +.docblock .codehilite > .copy-button:active { + background-color: var(--primary); +} + +.emblem { + padding: 0 0.75em; + border-radius: 9999px; + font-size: 80%; +} + +.emblem.available-next { + background-color: var(--warning-bg-color); + color: var(--warning-fg-color); +} + +.emblem.deprecated { + background-color: var(--error-bg-color); + color: var(--error-fg-color); +} + +.emblem.available { + background-color: var(--accent-bg-color); + color: var(--accent-fg-color); +} + +/************************************************************* + SYMBOLS +**************************************************************/ +.symbol, +.constructors h6, +.methods h6, +.signals h6, +.properties h6, +.type-funcs h6, +.implements a, +.ancestors a, +.descendants a, +.implementations a, +.sidebar .links a +.toc a +{ + font-family: var(--symbol-font-family); + font-size: calc(1em * var(--symbol-font-scale)); + font-weight: var(--symbol-font-weight); +} + +/************************** + RESPONSIVENESS +**************************/ +@media (max-width: 700px) { + body { + padding-top: 0px; + } + + #body-wrapper { + flex-direction: column; + overflow: hidden; + } + + #main { + width: 100%; + padding: 2rem; + } + + .sidebar { + position: static; + height: initial; + order: 1; + } + + .toc { + display: hidden; + } +} diff --git a/doc/clapper/urlmap.js b/doc/clapper/urlmap.js new file mode 100644 index 00000000..2000424d --- /dev/null +++ b/doc/clapper/urlmap.js @@ -0,0 +1,11 @@ +doc_base_urls = [ + ['GLib', 'https://docs.gtk.org/glib/'], + ['GObject', 'https://docs.gtk.org/gobject/'], + ['Gio', 'https://docs.gtk.org/gio/'], + ['Gtk', 'https://docs.gtk.org/gtk4/'], + ['Gst', 'https://gstreamer.freedesktop.org/documentation/'], + ['GstBase', 'https://gstreamer.freedesktop.org/documentation/base/'], + ['GstAudio', 'https://gstreamer.freedesktop.org/documentation/audio/'], + ['GstTag', 'https://gstreamer.freedesktop.org/documentation/tag/'], + ['GstPbutils', 'https://gstreamer.freedesktop.org/documentation/pbutils/'], +] diff --git a/doc/clapper/vfunc.Feature.current_media_item_changed.html b/doc/clapper/vfunc.Feature.current_media_item_changed.html new file mode 100644 index 00000000..ce111cb3 --- /dev/null +++ b/doc/clapper/vfunc.Feature.current_media_item_changed.html @@ -0,0 +1,230 @@ + + + + + + Clapper.Feature.current_media_item_changed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Virtual Method

+

ClapperFeaturecurrent_media_item_changed

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+current_media_item_changed (
+  ClapperFeature* feature,
+  ClapperMediaItem* current_item
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Currently playing media item got changed. +Item will be NULL if no new item was selected.

+
+ +
+ + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
current_item
+
+

Type: ClapperMediaItem

+

A ClapperMediaItem that is now selected.

+ + + + + + + + + + +
The argument can be NULL.
The data is owned by the caller of the function.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/vfunc.Feature.media_item_updated.html b/doc/clapper/vfunc.Feature.media_item_updated.html new file mode 100644 index 00000000..ad435703 --- /dev/null +++ b/doc/clapper/vfunc.Feature.media_item_updated.html @@ -0,0 +1,231 @@ + + + + + + Clapper.Feature.media_item_updated + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Virtual Method

+

ClapperFeaturemedia_item_updated

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+media_item_updated (
+  ClapperFeature* feature,
+  ClapperMediaItem* item
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

An item in queue got updated. This might be (or not) currently +played item. Implementations can get parent player object +if they want to check that from its queue.

+
+ +
+ + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
item
+
+

Type: ClapperMediaItem

+

A ClapperMediaItem that was updated.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/vfunc.Feature.mute_changed.html b/doc/clapper/vfunc.Feature.mute_changed.html new file mode 100644 index 00000000..d6c21410 --- /dev/null +++ b/doc/clapper/vfunc.Feature.mute_changed.html @@ -0,0 +1,229 @@ + + + + + + Clapper.Feature.mute_changed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Virtual Method

+

ClapperFeaturemute_changed

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+mute_changed (
+  ClapperFeature* feature,
+  gboolean mute
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Player mute state was changed.

+
+ +
+ + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
mute
+
+

Type: gboolean

+

TRUE if player is muted, FALSE otherwise.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/vfunc.Feature.position_changed.html b/doc/clapper/vfunc.Feature.position_changed.html new file mode 100644 index 00000000..976a16ee --- /dev/null +++ b/doc/clapper/vfunc.Feature.position_changed.html @@ -0,0 +1,229 @@ + + + + + + Clapper.Feature.position_changed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Virtual Method

+

ClapperFeatureposition_changed

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+position_changed (
+  ClapperFeature* feature,
+  gfloat position
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Player position was changed.

+
+ +
+ + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
position
+
+

Type: gfloat

+

A decimal number with current position in seconds.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/vfunc.Feature.prepare.html b/doc/clapper/vfunc.Feature.prepare.html new file mode 100644 index 00000000..fba41bf4 --- /dev/null +++ b/doc/clapper/vfunc.Feature.prepare.html @@ -0,0 +1,225 @@ + + + + + + Clapper.Feature.prepare + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Virtual Method

+

ClapperFeatureprepare

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
gboolean
+prepare (
+  ClapperFeature* feature
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Prepare feature for operation (optional).

+

This is different from init() as its called from features thread once +feature is added to the player, so it can already access it parent using +gst_object_get_parent(). If it fails, no other method will be called.

+
+ +
+ + + +
+ + +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: gboolean

+

TRUE on success, FALSE otherwise.

+
+
+ + + + + + + +
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/vfunc.Feature.queue_cleared.html b/doc/clapper/vfunc.Feature.queue_cleared.html new file mode 100644 index 00000000..36202231 --- /dev/null +++ b/doc/clapper/vfunc.Feature.queue_cleared.html @@ -0,0 +1,198 @@ + + + + + + Clapper.Feature.queue_cleared + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Virtual Method

+

ClapperFeaturequeue_cleared

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+queue_cleared (
+  ClapperFeature* feature
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

All items were removed from queue. Note that in such event +queue_item_removed will NOT be called for each item for performance reasons. +You probably want to implement this function if you also implemented item removal.

+
+ +
+ + + +
+ + +
+ + + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/vfunc.Feature.queue_item_added.html b/doc/clapper/vfunc.Feature.queue_item_added.html new file mode 100644 index 00000000..2dd7b12f --- /dev/null +++ b/doc/clapper/vfunc.Feature.queue_item_added.html @@ -0,0 +1,247 @@ + + + + + + Clapper.Feature.queue_item_added + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Virtual Method

+

ClapperFeaturequeue_item_added

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+queue_item_added (
+  ClapperFeature* feature,
+  ClapperMediaItem* item,
+  guint index
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

An item was added to the queue.

+
+ +
+ + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
item
+
+

Type: ClapperMediaItem

+

A ClapperMediaItem that was added.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ +
index
+
+

Type: guint

+

Position at which item was placed in queue.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/vfunc.Feature.queue_item_removed.html b/doc/clapper/vfunc.Feature.queue_item_removed.html new file mode 100644 index 00000000..48743d97 --- /dev/null +++ b/doc/clapper/vfunc.Feature.queue_item_removed.html @@ -0,0 +1,229 @@ + + + + + + Clapper.Feature.queue_item_removed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Virtual Method

+

ClapperFeaturequeue_item_removed

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+queue_item_removed (
+  ClapperFeature* feature,
+  ClapperMediaItem* item
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

An item was removed from queue.

+
+ +
+ + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
item
+
+

Type: ClapperMediaItem

+

A ClapperMediaItem that was removed.

+ + + + + + + + + + +
The data is owned by the caller of the function.
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/vfunc.Feature.queue_progression_changed.html b/doc/clapper/vfunc.Feature.queue_progression_changed.html new file mode 100644 index 00000000..fb7694c9 --- /dev/null +++ b/doc/clapper/vfunc.Feature.queue_progression_changed.html @@ -0,0 +1,229 @@ + + + + + + Clapper.Feature.queue_progression_changed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Virtual Method

+

ClapperFeaturequeue_progression_changed

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+queue_progression_changed (
+  ClapperFeature* feature,
+  ClapperQueueProgressionMode mode
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

ClapperQueueProgressionMode of the queue was changed.

+
+ +
+ + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
mode
+
+

Type: ClapperQueueProgressionMode

+

A ClapperQueueProgressionMode.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/vfunc.Feature.speed_changed.html b/doc/clapper/vfunc.Feature.speed_changed.html new file mode 100644 index 00000000..557678f0 --- /dev/null +++ b/doc/clapper/vfunc.Feature.speed_changed.html @@ -0,0 +1,229 @@ + + + + + + Clapper.Feature.speed_changed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Virtual Method

+

ClapperFeaturespeed_changed

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+speed_changed (
+  ClapperFeature* feature,
+  gfloat speed
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Player speed was changed.

+
+ +
+ + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
speed
+
+

Type: gfloat

+

The playback speed multiplier.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/vfunc.Feature.state_changed.html b/doc/clapper/vfunc.Feature.state_changed.html new file mode 100644 index 00000000..37aefe7f --- /dev/null +++ b/doc/clapper/vfunc.Feature.state_changed.html @@ -0,0 +1,229 @@ + + + + + + Clapper.Feature.state_changed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Virtual Method

+

ClapperFeaturestate_changed

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+state_changed (
+  ClapperFeature* feature,
+  ClapperPlayerState state
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Player state was changed.

+
+ +
+ + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
state
+
+

Type: ClapperPlayerState

+

A ClapperPlayerState.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/vfunc.Feature.unprepare.html b/doc/clapper/vfunc.Feature.unprepare.html new file mode 100644 index 00000000..dcc0874e --- /dev/null +++ b/doc/clapper/vfunc.Feature.unprepare.html @@ -0,0 +1,222 @@ + + + + + + Clapper.Feature.unprepare + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Virtual Method

+

ClapperFeatureunprepare

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
gboolean
+unprepare (
+  ClapperFeature* feature
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Revert the changes done in prepare (optional).

+
+ +
+ + + +
+ + +
+ + + + +
+

+ Return value + +

+ +
+
+
+

Type: gboolean

+

TRUE on success, FALSE otherwise.

+
+
+ + + + + + + +
+
+
+
+
+ + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/vfunc.Feature.volume_changed.html b/doc/clapper/vfunc.Feature.volume_changed.html new file mode 100644 index 00000000..784d4c78 --- /dev/null +++ b/doc/clapper/vfunc.Feature.volume_changed.html @@ -0,0 +1,229 @@ + + + + + + Clapper.Feature.volume_changed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Virtual Method

+

ClapperFeaturevolume_changed

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+volume_changed (
+  ClapperFeature* feature,
+  gfloat volume
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Player volume was changed.

+
+ +
+ + + +
+ + +
+ + +
+

+ Parameters + +

+ +
+
+ +
volume
+
+

Type: gfloat

+

The volume level.

+ + + + + + + + + + +
+
+ + + +
+
+
+ + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/vfunc.ThreadedObject.thread_start.html b/doc/clapper/vfunc.ThreadedObject.thread_start.html new file mode 100644 index 00000000..6a73b362 --- /dev/null +++ b/doc/clapper/vfunc.ThreadedObject.thread_start.html @@ -0,0 +1,175 @@ + + + + + + Clapper.ThreadedObject.thread_start + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Virtual Method

+

ClapperThreadedObjectthread_start

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+thread_start (
+  ClapperThreadedObject* threaded_object
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Called right after thread started.

+

Useful for initializing objects that work within this new thread.

+
+ +
+ + + +
+ + +
+ + + + + +
+
+ + + + + + + +
+ + \ No newline at end of file diff --git a/doc/clapper/vfunc.ThreadedObject.thread_stop.html b/doc/clapper/vfunc.ThreadedObject.thread_stop.html new file mode 100644 index 00000000..cc679001 --- /dev/null +++ b/doc/clapper/vfunc.ThreadedObject.thread_stop.html @@ -0,0 +1,175 @@ + + + + + + Clapper.ThreadedObject.thread_stop + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+

Virtual Method

+

ClapperThreadedObjectthread_stop

+
+ +
+
+

+
+ +
+

+ Declaration + + + [src] + +

+ +
+
void
+thread_stop (
+  ClapperThreadedObject* threaded_object
+)
+
+
+
+
+ +
+

+ Description + + + [src] + +

+ +
+

Called when thread is going to stop.

+

Useful for cleanup of things created on thread start.

+
+ +
+ + + +
+ + +
+ + + + + +
+
+ + + + + + + +
+ + \ No newline at end of file