TotemObject

TotemObject — main Totem object

Stability Level

Unstable, unless otherwise indicated

Synopsis

#include <totem.h>

typedef             Totem;
                    TotemObject;
enum                TotemRemoteCommand;
enum                TotemRemoteSetting;
#define             TOTEM_GSETTINGS_SCHEMA
void                totem_object_plugins_init           (TotemObject *totem);
void                totem_object_plugins_shutdown       (TotemObject *totem);
void                totem_file_opened                   (TotemObject *totem,
                                                         const char *mrl);
void                totem_file_closed                   (TotemObject *totem);
void                totem_metadata_updated              (TotemObject *totem,
                                                         const char *artist,
                                                         const char *title,
                                                         const char *album,
                                                         guint track_num);
void                totem_object_action_error           (TotemObject *totem,
                                                         const char *title,
                                                         const char *reason);
void                totem_object_action_exit            (TotemObject *totem);
void                totem_object_add_to_playlist_and_play
                                                        (TotemObject *totem,
                                                         const char *uri,
                                                         const char *display_name);
void                totem_object_action_play            (TotemObject *totem);
void                totem_object_action_play_pause      (TotemObject *totem);
void                totem_action_pause                  (TotemObject *totem);
void                totem_object_action_stop            (TotemObject *totem);
void                totem_action_fullscreen             (TotemObject *totem,
                                                         gboolean state);
void                totem_object_action_fullscreen_toggle
                                                        (TotemObject *totem);
void                totem_object_action_next            (TotemObject *totem);
void                totem_object_action_previous        (TotemObject *totem);
void                totem_action_next_angle             (TotemObject *totem);
gboolean            totem_object_action_remote_get_setting
                                                        (TotemObject *totem,
                                                         TotemRemoteSetting setting);
void                totem_object_action_remote_set_setting
                                                        (TotemObject *totem,
                                                         TotemRemoteSetting setting,
                                                         gboolean value);
void                totem_object_action_seek_time       (TotemObject *totem,
                                                         gint64 msec,
                                                         gboolean accurate);
void                totem_action_seek_relative          (TotemObject *totem,
                                                         gint64 offset,
                                                         gboolean accurate);
void                totem_object_action_volume          (TotemObject *totem,
                                                         double volume);
void                totem_action_volume_relative        (TotemObject *totem,
                                                         double off_pct);
void                totem_action_volume_toggle_mute     (TotemObject *totem);
void                totem_action_toggle_aspect_ratio    (TotemObject *totem);
int                 totem_action_get_aspect_ratio       (TotemObject *totem);
void                totem_action_set_aspect_ratio       (TotemObject *totem,
                                                         int ratio);
void                totem_action_toggle_controls        (TotemObject *totem);
void                totem_action_set_scale_ratio        (TotemObject *totem,
                                                         gfloat ratio);
void                totem_action_set_playlist_index     (TotemObject *totem,
                                                         guint index);
void                totem_object_action_remote          (TotemObject *totem,
                                                         TotemRemoteCommand cmd,
                                                         const char *url);
gboolean            totem_is_fullscreen                 (TotemObject *totem);
gboolean            totem_object_is_playing             (TotemObject *totem);
gboolean            totem_object_is_paused              (TotemObject *totem);
gboolean            totem_object_is_seekable            (TotemObject *totem);
GtkWindow *         totem_object_get_main_window        (TotemObject *totem);
GtkUIManager *      totem_object_get_ui_manager         (TotemObject *totem);
char *              totem_object_get_current_mrl        (TotemObject *totem);
GtkWidget *         totem_object_get_video_widget       (TotemObject *totem);
gint64              totem_get_current_time              (TotemObject *totem);
void                totem_object_set_current_subtitle   (TotemObject *totem,
                                                         const char *subtitle_uri);
guint               totem_object_get_playlist_length    (TotemObject *totem);
int                 totem_object_get_playlist_pos       (TotemObject *totem);
char *              totem_object_get_title_at_playlist_pos
                                                        (TotemObject *totem,
                                                         guint playlist_index);
char *              totem_get_short_title               (TotemObject *totem);
double              totem_object_get_volume             (TotemObject *totem);
char *              totem_object_get_version            (void);
void                totem_object_add_sidebar_page       (TotemObject *totem,
                                                         const char *page_id,
                                                         const char *title,
                                                         GtkWidget *main_widget);
void                totem_object_remove_sidebar_page    (TotemObject *totem,
                                                         const char *page_id);
const gchar * const * totem_object_get_supported_content_types
                                                        (void);
const gchar * const * totem_object_get_supported_uri_schemes
                                                        (void);

Object Hierarchy

  GObject
   +----GApplication
         +----GtkApplication
               +----TotemObject

Implemented Interfaces

TotemObject implements GActionGroup and GActionMap.

Properties

  "current-content-type"     gchar*                : Read
  "current-display-name"     gchar*                : Read
  "current-mrl"              gchar*                : Read
  "current-time"             gint64                : Read
  "fullscreen"               gboolean              : Read
  "playing"                  gboolean              : Read
  "remember-position"        gboolean              : Read / Write
  "seekable"                 gboolean              : Read
  "stream-length"            gint64                : Read

Signals

  "file-closed"                                    : Run Last
  "file-has-played"                                : Run Last
  "file-opened"                                    : Run Last
  "get-text-subtitle"                              : Run Last
  "get-user-agent"                                 : Run Last
  "metadata-updated"                               : Run Last

Description

TotemObject is the core object of Totem; a singleton which controls all Totem's main functions.

Details

Totem

typedef struct _TotemObject Totem;

The Totem object is a handy synonym for TotemObject, and the two can be used interchangably.


TotemObject

typedef struct _TotemObject TotemObject;

All the fields in the TotemObject structure are private and should never be accessed directly.


enum TotemRemoteCommand

typedef enum {
	TOTEM_REMOTE_COMMAND_UNKNOWN = 0,
	TOTEM_REMOTE_COMMAND_PLAY,
	TOTEM_REMOTE_COMMAND_PAUSE,
	TOTEM_REMOTE_COMMAND_STOP,
	TOTEM_REMOTE_COMMAND_PLAYPAUSE,
	TOTEM_REMOTE_COMMAND_NEXT,
	TOTEM_REMOTE_COMMAND_PREVIOUS,
	TOTEM_REMOTE_COMMAND_SEEK_FORWARD,
	TOTEM_REMOTE_COMMAND_SEEK_BACKWARD,
	TOTEM_REMOTE_COMMAND_VOLUME_UP,
	TOTEM_REMOTE_COMMAND_VOLUME_DOWN,
	TOTEM_REMOTE_COMMAND_FULLSCREEN,
	TOTEM_REMOTE_COMMAND_QUIT,
	TOTEM_REMOTE_COMMAND_ENQUEUE,
	TOTEM_REMOTE_COMMAND_REPLACE,
	TOTEM_REMOTE_COMMAND_SHOW,
	TOTEM_REMOTE_COMMAND_TOGGLE_CONTROLS,
	TOTEM_REMOTE_COMMAND_UP,
	TOTEM_REMOTE_COMMAND_DOWN,
	TOTEM_REMOTE_COMMAND_LEFT,
	TOTEM_REMOTE_COMMAND_RIGHT,
	TOTEM_REMOTE_COMMAND_SELECT,
	TOTEM_REMOTE_COMMAND_DVD_MENU,
	TOTEM_REMOTE_COMMAND_ZOOM_UP,
	TOTEM_REMOTE_COMMAND_ZOOM_DOWN,
	TOTEM_REMOTE_COMMAND_EJECT,
	TOTEM_REMOTE_COMMAND_PLAY_DVD,
	TOTEM_REMOTE_COMMAND_MUTE,
	TOTEM_REMOTE_COMMAND_TOGGLE_ASPECT
} TotemRemoteCommand;

Represents a command which can be sent to a running Totem instance remotely.

TOTEM_REMOTE_COMMAND_UNKNOWN

unknown command

TOTEM_REMOTE_COMMAND_PLAY

play the current stream

TOTEM_REMOTE_COMMAND_PAUSE

pause the current stream

TOTEM_REMOTE_COMMAND_STOP

stop playing the current stream

TOTEM_REMOTE_COMMAND_PLAYPAUSE

toggle play/pause on the current stream

TOTEM_REMOTE_COMMAND_NEXT

play the next playlist item

TOTEM_REMOTE_COMMAND_PREVIOUS

play the previous playlist item

TOTEM_REMOTE_COMMAND_SEEK_FORWARD

seek forwards in the current stream

TOTEM_REMOTE_COMMAND_SEEK_BACKWARD

seek backwards in the current stream

TOTEM_REMOTE_COMMAND_VOLUME_UP

increase the volume

TOTEM_REMOTE_COMMAND_VOLUME_DOWN

decrease the volume

TOTEM_REMOTE_COMMAND_FULLSCREEN

toggle fullscreen mode

TOTEM_REMOTE_COMMAND_QUIT

quit the instance of Totem

TOTEM_REMOTE_COMMAND_ENQUEUE

enqueue a new playlist item

TOTEM_REMOTE_COMMAND_REPLACE

replace an item in the playlist

TOTEM_REMOTE_COMMAND_SHOW

show the Totem instance

TOTEM_REMOTE_COMMAND_TOGGLE_CONTROLS

toggle the control visibility

TOTEM_REMOTE_COMMAND_UP

go up (DVD controls)

TOTEM_REMOTE_COMMAND_DOWN

go down (DVD controls)

TOTEM_REMOTE_COMMAND_LEFT

go left (DVD controls)

TOTEM_REMOTE_COMMAND_RIGHT

go right (DVD controls)

TOTEM_REMOTE_COMMAND_SELECT

select the current item (DVD controls)

TOTEM_REMOTE_COMMAND_DVD_MENU

go to the DVD menu

TOTEM_REMOTE_COMMAND_ZOOM_UP

increase the zoom level

TOTEM_REMOTE_COMMAND_ZOOM_DOWN

decrease the zoom level

TOTEM_REMOTE_COMMAND_EJECT

eject the current disc

TOTEM_REMOTE_COMMAND_PLAY_DVD

play a DVD in a drive

TOTEM_REMOTE_COMMAND_MUTE

toggle mute

TOTEM_REMOTE_COMMAND_TOGGLE_ASPECT

toggle the aspect ratio

enum TotemRemoteSetting

typedef enum {
	TOTEM_REMOTE_SETTING_SHUFFLE,
	TOTEM_REMOTE_SETTING_REPEAT
} TotemRemoteSetting;

Represents a boolean setting or preference on a remote Totem instance.

TOTEM_REMOTE_SETTING_SHUFFLE

whether shuffle is enabled

TOTEM_REMOTE_SETTING_REPEAT

whether repeat is enabled

TOTEM_GSETTINGS_SCHEMA

#define TOTEM_GSETTINGS_SCHEMA "org.gnome.totem"

The GSettings schema under which all Totem settings are stored.


totem_object_plugins_init ()

void                totem_object_plugins_init           (TotemObject *totem);

Initialises the plugin engine and activates all the enabled plugins.

totem :

a TotemObject

totem_object_plugins_shutdown ()

void                totem_object_plugins_shutdown       (TotemObject *totem);

Shuts down the plugin engine and deactivates all the plugins.

totem :

a TotemObject

totem_file_opened ()

void                totem_file_opened                   (TotemObject *totem,
                                                         const char *mrl);

Emits the "file-opened" signal on totem, with the specified mrl.

totem :

a TotemObject

mrl :

the MRL opened

totem_file_closed ()

void                totem_file_closed                   (TotemObject *totem);

Emits the "file-closed" signal on totem.

totem :

a TotemObject

totem_metadata_updated ()

void                totem_metadata_updated              (TotemObject *totem,
                                                         const char *artist,
                                                         const char *title,
                                                         const char *album,
                                                         guint track_num);

Emits the "metadata-updated" signal on totem, with the specified stream data.

totem :

a TotemObject

artist :

the stream's artist, or NULL

title :

the stream's title, or NULL

album :

the stream's album, or NULL

track_num :

the track number of the stream

totem_object_action_error ()

void                totem_object_action_error           (TotemObject *totem,
                                                         const char *title,
                                                         const char *reason);

Displays a non-blocking error dialog with the given title and reason.

totem :

a TotemObject

title :

the error dialog title

reason :

the error dialog text

totem_object_action_exit ()

void                totem_object_action_exit            (TotemObject *totem);

Closes Totem.

totem :

a TotemObject

totem_object_add_to_playlist_and_play ()

void                totem_object_add_to_playlist_and_play
                                                        (TotemObject *totem,
                                                         const char *uri,
                                                         const char *display_name);

Add uri to the playlist and play it immediately.

totem :

a TotemObject

uri :

the URI to add to the playlist

display_name :

the display name of the URI

totem_object_action_play ()

void                totem_object_action_play            (TotemObject *totem);

Plays the current stream. If Totem is already playing, it continues to play. If the stream cannot be played, and error dialog is displayed.

totem :

a TotemObject

totem_object_action_play_pause ()

void                totem_object_action_play_pause      (TotemObject *totem);

Gets the current MRL from the playlist and attempts to play it. If the stream is already playing, playback is paused.

totem :

a TotemObject

totem_action_pause ()

void                totem_action_pause                  (TotemObject *totem);

Pauses the current stream. If Totem is already paused, it continues to be paused.

totem :

a TotemObject

totem_object_action_stop ()

void                totem_object_action_stop            (TotemObject *totem);

Stops the current stream.

totem :

a TotemObject

totem_action_fullscreen ()

void                totem_action_fullscreen             (TotemObject *totem,
                                                         gboolean state);

Sets Totem's fullscreen state according to state.

totem :

a TotemObject

state :

TRUE if Totem should be fullscreened

totem_object_action_fullscreen_toggle ()

void                totem_object_action_fullscreen_toggle
                                                        (TotemObject *totem);

Toggles Totem's fullscreen state; if Totem is fullscreened, calling this makes it unfullscreened and vice-versa.

totem :

a TotemObject

totem_object_action_next ()

void                totem_object_action_next            (TotemObject *totem);

If a DVD is being played, goes to the next chapter. If a normal stream is being played, plays the next entry in the playlist.

totem :

a TotemObject

totem_object_action_previous ()

void                totem_object_action_previous        (TotemObject *totem);

If a DVD is being played, goes to the previous chapter. If a normal stream is being played, goes to the start of the stream if possible. If seeking is not possible, plays the previous entry in the playlist.

totem :

a TotemObject

totem_action_next_angle ()

void                totem_action_next_angle             (TotemObject *totem);

Switches to the next angle, if watching a DVD. If not watching a DVD, this is a no-op.

totem :

a TotemObject

totem_object_action_remote_get_setting ()

gboolean            totem_object_action_remote_get_setting
                                                        (TotemObject *totem,
                                                         TotemRemoteSetting setting);

Returns the value of setting for this instance of Totem.

totem :

a TotemObject

setting :

a TotemRemoteSetting

Returns :

TRUE if the setting is enabled, FALSE otherwise

totem_object_action_remote_set_setting ()

void                totem_object_action_remote_set_setting
                                                        (TotemObject *totem,
                                                         TotemRemoteSetting setting,
                                                         gboolean value);

Sets setting to value on this instance of Totem.

totem :

a TotemObject

setting :

a TotemRemoteSetting

value :

the new value for the setting

totem_object_action_seek_time ()

void                totem_object_action_seek_time       (TotemObject *totem,
                                                         gint64 msec,
                                                         gboolean accurate);

Seeks to an absolute time in the stream, or displays an error dialog if that's not possible.

totem :

a TotemObject

msec :

the time to seek to

accurate :

whether to use accurate seek, an accurate seek might be slower for some formats (see GStreamer docs)

totem_action_seek_relative ()

void                totem_action_seek_relative          (TotemObject *totem,
                                                         gint64 offset,
                                                         gboolean accurate);

Seeks to an offset from the current position in the stream, or displays an error dialog if that's not possible.

totem :

a TotemObject

offset :

the time offset to seek to

accurate :

whether to use accurate seek, an accurate seek might be slower for some formats (see GStreamer docs)

totem_object_action_volume ()

void                totem_object_action_volume          (TotemObject *totem,
                                                         double volume);

Sets the volume, with 1.0 being the maximum, and 0.0 being the minimum level.

totem :

a TotemObject

volume :

the new absolute volume value

totem_action_volume_relative ()

void                totem_action_volume_relative        (TotemObject *totem,
                                                         double off_pct);

Sets the volume relative to its current level, with 1.0 being the maximum, and 0.0 being the minimum level.

totem :

a TotemObject

off_pct :

the value by which to increase or decrease the volume

totem_action_volume_toggle_mute ()

void                totem_action_volume_toggle_mute     (TotemObject *totem);

Toggles the mute status.

totem :

a TotemObject

totem_action_toggle_aspect_ratio ()

void                totem_action_toggle_aspect_ratio    (TotemObject *totem);

Toggles the aspect ratio selected in the menu to the next one in the list.

totem :

a TotemObject

totem_action_get_aspect_ratio ()

int                 totem_action_get_aspect_ratio       (TotemObject *totem);

Gets the current aspect ratio as defined in BvwAspectRatio.

totem :

a TotemObject

Returns :

the current aspect ratio

totem_action_set_aspect_ratio ()

void                totem_action_set_aspect_ratio       (TotemObject *totem,
                                                         int ratio);

Sets the aspect ratio selected in the menu to ratio, as defined in BvwAspectRatio.

totem :

a TotemObject

ratio :

the aspect ratio to use

totem_action_toggle_controls ()

void                totem_action_toggle_controls        (TotemObject *totem);

If Totem's not fullscreened, this toggles the state of the "Show Controls" menu entry, and consequently shows or hides the controls in the UI.

totem :

a TotemObject

totem_action_set_scale_ratio ()

void                totem_action_set_scale_ratio        (TotemObject *totem,
                                                         gfloat ratio);

Sets the video scale ratio, as a float where, for example, 1.0 is 1:1 and 2.0 is 2:1.

totem :

a TotemObject

ratio :

the scale ratio to use

totem_action_set_playlist_index ()

void                totem_action_set_playlist_index     (TotemObject *totem,
                                                         guint index);

Sets the 0-based playlist index to index, causing Totem to load and start playing that playlist entry.

If index is higher than the current length of the playlist, this has the effect of restarting the current playlist entry.

totem :

a TotemObject

index :

the new playlist index

totem_object_action_remote ()

void                totem_object_action_remote          (TotemObject *totem,
                                                         TotemRemoteCommand cmd,
                                                         const char *url);

Executes the specified cmd on this instance of Totem. If cmd is an operation requiring an MRL, url is required; it can be NULL otherwise.

If Totem's fullscreened and the operation is executed correctly, the controls will appear as if the user had moved the mouse.

totem :

a TotemObject

cmd :

a TotemRemoteCommand

url :

an MRL to play, or NULL

totem_is_fullscreen ()

gboolean            totem_is_fullscreen                 (TotemObject *totem);

Returns TRUE if Totem is fullscreened.

totem :

a TotemObject

Returns :

TRUE if Totem is fullscreened

totem_object_is_playing ()

gboolean            totem_object_is_playing             (TotemObject *totem);

Returns TRUE if Totem is playing a stream.

totem :

a TotemObject

Returns :

TRUE if Totem is playing a stream

totem_object_is_paused ()

gboolean            totem_object_is_paused              (TotemObject *totem);

Returns TRUE if playback is paused.

totem :

a TotemObject

Returns :

TRUE if playback is paused, FALSE otherwise

totem_object_is_seekable ()

gboolean            totem_object_is_seekable            (TotemObject *totem);

Returns TRUE if the current stream is seekable.

totem :

a TotemObject

Returns :

TRUE if the current stream is seekable

totem_object_get_main_window ()

GtkWindow *         totem_object_get_main_window        (TotemObject *totem);

Gets Totem's main window and increments its reference count.

totem :

a TotemObject

Returns :

Totem's main window. [transfer full]

totem_object_get_ui_manager ()

GtkUIManager *      totem_object_get_ui_manager         (TotemObject *totem);

Gets Totem's UI manager, but does not change its reference count.

totem :

a TotemObject

Returns :

Totem's UI manager. [transfer none]

totem_object_get_current_mrl ()

char *              totem_object_get_current_mrl        (TotemObject *totem);

Get the MRL of the current stream, or NULL if nothing's playing. Free with g_free().

totem :

a TotemObject

Returns :

a newly-allocated string containing the MRL of the current stream

totem_object_get_video_widget ()

GtkWidget *         totem_object_get_video_widget       (TotemObject *totem);

Gets Totem's video widget and increments its reference count.

totem :

a TotemObject

Returns :

Totem's video widget. [transfer full]

totem_get_current_time ()

gint64              totem_get_current_time              (TotemObject *totem);

Gets the current position's time in the stream as a gint64.

totem :

a TotemObject

Returns :

the current position in the stream

totem_object_set_current_subtitle ()

void                totem_object_set_current_subtitle   (TotemObject *totem,
                                                         const char *subtitle_uri);

Add the subtitle_uri subtitle file to the playlist, setting it as the subtitle for the current playlist entry.

totem :

a TotemObject

subtitle_uri :

the URI of the subtitle file to add

totem_object_get_playlist_length ()

guint               totem_object_get_playlist_length    (TotemObject *totem);

Returns the length of the current playlist.

totem :

a TotemObject

Returns :

the playlist length

totem_object_get_playlist_pos ()

int                 totem_object_get_playlist_pos       (TotemObject *totem);

Returns the 0-based index of the current entry in the playlist. If there is no current entry in the playlist, -1 is returned.

totem :

a TotemObject

Returns :

the index of the current playlist entry, or -1

totem_object_get_title_at_playlist_pos ()

char *              totem_object_get_title_at_playlist_pos
                                                        (TotemObject *totem,
                                                         guint playlist_index);

Gets the title of the playlist entry at index.

totem :

a TotemObject

playlist_index :

the 0-based entry index

Returns :

the entry title at index, or NULL; free with g_free()

totem_get_short_title ()

char *              totem_get_short_title               (TotemObject *totem);

Gets the title of the current entry in the playlist.

totem :

a TotemObject

Returns :

the current entry's title, or NULL; free with g_free()

totem_object_get_volume ()

double              totem_object_get_volume             (TotemObject *totem);

Gets the current volume level, as a value between 0.0 and 1.0.

totem :

a TotemObject

Returns :

the volume level

totem_object_get_version ()

char *              totem_object_get_version            (void);

Gets the application name and version (e.g. "Totem 2.28.0").

Returns :

a newly-allocated string of the name and version of the application

totem_object_add_sidebar_page ()

void                totem_object_add_sidebar_page       (TotemObject *totem,
                                                         const char *page_id,
                                                         const char *title,
                                                         GtkWidget *main_widget);

Adds a sidebar page to Totem's sidebar with the given page_id. main_widget is added into the page and shown automatically, while title is displayed as the page's title in the tab bar.

totem :

a TotemObject

page_id :

a string used to identify the page

title :

the page's title

main_widget :

the main widget for the page

totem_object_remove_sidebar_page ()

void                totem_object_remove_sidebar_page    (TotemObject *totem,
                                                         const char *page_id);

Removes the page identified by page_id from Totem's sidebar. If page_id doesn't exist in the sidebar, this function does nothing.

totem :

a TotemObject

page_id :

a string used to identify the page

totem_object_get_supported_content_types ()

const gchar * const * totem_object_get_supported_content_types
                                                        (void);

Get the full list of file content types which Totem supports playing.

Returns :

a NULL-terminated array of the content types Totem supports. [array zero-terminated=1][transfer none]

Since 3.1.5


totem_object_get_supported_uri_schemes ()

const gchar * const * totem_object_get_supported_uri_schemes
                                                        (void);

Get the full list of URI schemes which Totem supports accessing.

Returns :

a NULL-terminated array of the URI schemes Totem supports. [array zero-terminated=1][transfer none]

Since 3.1.5

Property Details

The "current-content-type" property

  "current-content-type"     gchar*                : Read

The content-type of the current stream.

Default value: NULL


The "current-display-name" property

  "current-display-name"     gchar*                : Read

The display name of the current stream.

Default value: NULL


The "current-mrl" property

  "current-mrl"              gchar*                : Read

The MRL of the current stream.

Default value: NULL


The "current-time" property

  "current-time"             gint64                : Read

The player's position (time) in the current stream, in milliseconds.

Default value: 0


The "fullscreen" property

  "fullscreen"               gboolean              : Read

If TRUE, Totem is in fullscreen mode.

Default value: FALSE


The "playing" property

  "playing"                  gboolean              : Read

If TRUE, Totem is playing an audio or video file.

Default value: FALSE


The "remember-position" property

  "remember-position"        gboolean              : Read / Write

If TRUE, Totem will remember the position it was at last time a given file was opened.

Default value: FALSE


The "seekable" property

  "seekable"                 gboolean              : Read

If TRUE, the current stream is seekable.

Default value: FALSE


The "stream-length" property

  "stream-length"            gint64                : Read

The length of the current stream, in milliseconds.

Default value: 0

Signal Details

The "file-closed" signal

void                user_function                      (TotemObject *totem,
                                                        gpointer     user_data)      : Run Last

The "file-closed" signal is emitted when Totem closes a stream.

totem :

the TotemObject which received the signal

user_data :

user data set when the signal handler was connected.

The "file-has-played" signal

void                user_function                      (TotemObject *totem,
                                                        gchar       *mrl,
                                                        gpointer     user_data)      : Run Last

The "file-has-played" signal is emitted when a new stream has started playing in Totem.

totem :

the TotemObject which received the signal

mrl :

the MRL of the opened stream

user_data :

user data set when the signal handler was connected.

The "file-opened" signal

void                user_function                      (TotemObject *totem,
                                                        gchar       *mrl,
                                                        gpointer     user_data)      : Run Last

The "file-opened" signal is emitted when a new stream is opened by Totem.

totem :

the TotemObject which received the signal

mrl :

the MRL of the opened stream

user_data :

user data set when the signal handler was connected.

The "get-text-subtitle" signal

gchar*              user_function                      (TotemObject *totem,
                                                        gchar       *mrl,
                                                        gpointer     user_data)      : Run Last

The "get-text-subtitle" signal is emitted before opening a stream, so that plugins have the opportunity to detect or download text subtitles for the stream if necessary.

totem :

the TotemObject which received the signal

mrl :

the MRL of the opened stream

user_data :

user data set when the signal handler was connected.

Returns :

allocated string representing the URI of the subtitle to use for mrl

The "get-user-agent" signal

gchar*              user_function                      (TotemObject *totem,
                                                        gchar       *mrl,
                                                        gpointer     user_data)      : Run Last

The "get-user-agent" signal is emitted before opening a stream, so that plugins have the opportunity to return the user-agent to be set.

totem :

the TotemObject which received the signal

mrl :

the MRL of the opened stream

user_data :

user data set when the signal handler was connected.

Returns :

allocated string representing the user-agent to use for mrl

The "metadata-updated" signal

void                user_function                      (TotemObject *totem,
                                                        gchar       *artist,
                                                        gchar       *title,
                                                        gchar       *album,
                                                        guint        track_number,
                                                        gpointer     user_data)         : Run Last

The "metadata-updated" signal is emitted when the metadata of a stream is updated, typically when it's being loaded.

totem :

the TotemObject which received the signal

artist :

the name of the artist, or NULL

title :

the stream title, or NULL

album :

the name of the stream's album, or NULL

track_number :

the stream's track number

user_data :

user data set when the signal handler was connected.