![]() |
![]() |
![]() |
Totem Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Signals |
#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
);
"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
"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
TotemObject is the core object of Totem; a singleton which controls all Totem's main functions.
typedef struct _TotemObject Totem;
The Totem object is a handy synonym for TotemObject, and the two can be used interchangably.
typedef struct _TotemObject TotemObject;
All the fields in the TotemObject structure are private and should never be accessed directly.
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.
unknown command | |
play the current stream | |
pause the current stream | |
stop playing the current stream | |
toggle play/pause on the current stream | |
play the next playlist item | |
play the previous playlist item | |
seek forwards in the current stream | |
seek backwards in the current stream | |
increase the volume | |
decrease the volume | |
toggle fullscreen mode | |
quit the instance of Totem | |
enqueue a new playlist item | |
replace an item in the playlist | |
show the Totem instance | |
toggle the control visibility | |
go up (DVD controls) | |
go down (DVD controls) | |
go left (DVD controls) | |
go right (DVD controls) | |
select the current item (DVD controls) | |
go to the DVD menu | |
increase the zoom level | |
decrease the zoom level | |
eject the current disc | |
play a DVD in a drive | |
toggle mute | |
toggle the aspect ratio |
typedef enum { TOTEM_REMOTE_SETTING_SHUFFLE, TOTEM_REMOTE_SETTING_REPEAT } TotemRemoteSetting;
Represents a boolean setting or preference on a remote Totem instance.
#define TOTEM_GSETTINGS_SCHEMA "org.gnome.totem"
The GSettings schema under which all Totem settings are stored.
void totem_object_plugins_init (TotemObject *totem
);
Initialises the plugin engine and activates all the enabled plugins.
|
a TotemObject |
void totem_object_plugins_shutdown (TotemObject *totem
);
Shuts down the plugin engine and deactivates all the plugins.
|
a TotemObject |
void totem_file_opened (TotemObject *totem
,const char *mrl
);
Emits the "file-opened" signal on totem
, with the
specified mrl
.
|
a TotemObject |
|
the MRL opened |
void totem_file_closed (TotemObject *totem
);
Emits the "file-closed" signal on totem
.
|
a TotemObject |
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.
|
a TotemObject |
|
the stream's artist, or NULL
|
|
the stream's title, or NULL
|
|
the stream's album, or NULL
|
|
the track number of the stream |
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
.
|
a TotemObject |
|
the error dialog title |
|
the error dialog text |
void totem_object_action_exit (TotemObject *totem
);
Closes Totem.
|
a TotemObject |
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.
|
a TotemObject |
|
the URI to add to the playlist |
|
the display name of the URI |
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.
|
a TotemObject |
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.
|
a TotemObject |
void totem_action_pause (TotemObject *totem
);
Pauses the current stream. If Totem is already paused, it continues to be paused.
|
a TotemObject |
void totem_object_action_stop (TotemObject *totem
);
Stops the current stream.
|
a TotemObject |
void totem_action_fullscreen (TotemObject *totem
,gboolean state
);
Sets Totem's fullscreen state according to state
.
|
a TotemObject |
|
TRUE if Totem should be fullscreened |
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.
|
a TotemObject |
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.
|
a TotemObject |
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.
|
a TotemObject |
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.
|
a TotemObject |
gboolean totem_object_action_remote_get_setting (TotemObject *totem
,TotemRemoteSetting setting
);
Returns the value of setting
for this instance of Totem.
|
a TotemObject |
|
a TotemRemoteSetting |
Returns : |
TRUE if the setting is enabled, FALSE otherwise |
void totem_object_action_remote_set_setting (TotemObject *totem
,TotemRemoteSetting setting
,gboolean value
);
Sets setting
to value
on this instance of Totem.
|
a TotemObject |
|
a TotemRemoteSetting |
|
the new value for the setting |
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.
|
a TotemObject |
|
the time to seek to |
|
whether to use accurate seek, an accurate seek might be slower for some formats (see GStreamer docs) |
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.
|
a TotemObject |
|
the time offset to seek to |
|
whether to use accurate seek, an accurate seek might be slower for some formats (see GStreamer docs) |
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.
|
a TotemObject |
|
the new absolute volume value |
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.
|
a TotemObject |
|
the value by which to increase or decrease the volume |
void totem_action_volume_toggle_mute (TotemObject *totem
);
Toggles the mute status.
|
a TotemObject |
void totem_action_toggle_aspect_ratio (TotemObject *totem
);
Toggles the aspect ratio selected in the menu to the next one in the list.
|
a TotemObject |
int totem_action_get_aspect_ratio (TotemObject *totem
);
Gets the current aspect ratio as defined in BvwAspectRatio.
|
a TotemObject |
Returns : |
the current 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.
|
a TotemObject |
|
the aspect ratio to use |
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.
|
a TotemObject |
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.
|
a TotemObject |
|
the scale ratio to use |
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.
|
a TotemObject |
|
the new playlist index |
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.
|
a TotemObject |
|
a TotemRemoteCommand |
|
an MRL to play, or NULL
|
gboolean totem_is_fullscreen (TotemObject *totem
);
Returns TRUE
if Totem is fullscreened.
|
a TotemObject |
Returns : |
TRUE if Totem is fullscreened |
gboolean totem_object_is_playing (TotemObject *totem
);
Returns TRUE
if Totem is playing a stream.
|
a TotemObject |
Returns : |
TRUE if Totem is playing a stream |
gboolean totem_object_is_paused (TotemObject *totem
);
Returns TRUE
if playback is paused.
|
a TotemObject |
Returns : |
TRUE if playback is paused, FALSE otherwise |
gboolean totem_object_is_seekable (TotemObject *totem
);
Returns TRUE
if the current stream is seekable.
|
a TotemObject |
Returns : |
TRUE if the current stream is seekable |
GtkWindow * totem_object_get_main_window (TotemObject *totem
);
Gets Totem's main window and increments its reference count.
|
a TotemObject |
Returns : |
Totem's main window. [transfer full] |
GtkUIManager * totem_object_get_ui_manager (TotemObject *totem
);
Gets Totem's UI manager, but does not change its reference count.
|
a TotemObject |
Returns : |
Totem's UI manager. [transfer none] |
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()
.
|
a TotemObject |
Returns : |
a newly-allocated string containing the MRL of the current stream |
GtkWidget * totem_object_get_video_widget (TotemObject *totem
);
Gets Totem's video widget and increments its reference count.
|
a TotemObject |
Returns : |
Totem's video widget. [transfer full] |
gint64 totem_get_current_time (TotemObject *totem
);
Gets the current position's time in the stream as a gint64.
|
a TotemObject |
Returns : |
the current position in the stream |
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.
|
a TotemObject |
|
the URI of the subtitle file to add |
guint totem_object_get_playlist_length (TotemObject *totem
);
Returns the length of the current playlist.
|
a TotemObject |
Returns : |
the playlist length |
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.
|
a TotemObject |
Returns : |
the index of the current playlist entry, or -1
|
char * totem_object_get_title_at_playlist_pos (TotemObject *totem
,guint playlist_index
);
Gets the title of the playlist entry at index
.
|
a TotemObject |
|
the 0 -based entry index |
Returns : |
the entry title at index , or NULL ; free with g_free()
|
char * totem_get_short_title (TotemObject *totem
);
Gets the title of the current entry in the playlist.
|
a TotemObject |
Returns : |
the current entry's title, or NULL ; free with g_free()
|
double totem_object_get_volume (TotemObject *totem
);
Gets the current volume level, as a value between 0.0
and 1.0
.
|
a TotemObject |
Returns : |
the volume level |
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 |
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.
|
a TotemObject |
|
a string used to identify the page |
|
the page's title |
|
the main widget for the 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.
|
a TotemObject |
|
a string used to identify the page |
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
"current-content-type"
property"current-content-type" gchar* : Read
The content-type of the current stream.
Default value: NULL
"current-display-name"
property"current-display-name" gchar* : Read
The display name of the current stream.
Default value: NULL
"current-mrl"
property"current-mrl" gchar* : Read
The MRL of the current stream.
Default value: NULL
"current-time"
property"current-time" gint64 : Read
The player's position (time) in the current stream, in milliseconds.
Default value: 0
"fullscreen"
property"fullscreen" gboolean : Read
If TRUE
, Totem is in fullscreen mode.
Default value: FALSE
"playing"
property"playing" gboolean : Read
If TRUE
, Totem is playing an audio or video file.
Default value: FALSE
"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
"seekable"
property"seekable" gboolean : Read
If TRUE
, the current stream is seekable.
Default value: FALSE
"stream-length"
property"stream-length" gint64 : Read
The length of the current stream, in milliseconds.
Default value: 0
"file-closed"
signalvoid user_function (TotemObject *totem,
gpointer user_data) : Run Last
The "file-closed" signal is emitted when Totem closes a stream.
|
the TotemObject which received the signal |
|
user data set when the signal handler was connected. |
"file-has-played"
signalvoid 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.
|
the TotemObject which received the signal |
|
the MRL of the opened stream |
|
user data set when the signal handler was connected. |
"file-opened"
signalvoid 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.
|
the TotemObject which received the signal |
|
the MRL of the opened stream |
|
user data set when the signal handler was connected. |
"get-text-subtitle"
signalgchar* 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.
|
the TotemObject which received the signal |
|
the MRL of the opened stream |
|
user data set when the signal handler was connected. |
Returns : |
allocated string representing the URI of the subtitle to use for mrl
|
"get-user-agent"
signalgchar* 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.
|
the TotemObject which received the signal |
|
the MRL of the opened stream |
|
user data set when the signal handler was connected. |
Returns : |
allocated string representing the user-agent to use for mrl
|
"metadata-updated"
signalvoid 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.
|
the TotemObject which received the signal |
|
the name of the artist, or NULL
|
|
the stream title, or NULL
|
|
the name of the stream's album, or NULL
|
|
the stream's track number |
|
user data set when the signal handler was connected. |