![]() |
![]() |
![]() |
Totem Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Signals |
#include <totem.h> typedef Totem; typedef TotemObject; TotemObjectClass; enum TotemRemoteCommand; enum TotemRemoteSetting; #define TOTEM_GCONF_PREFIX void totem_object_plugins_init (TotemObject *totem); void totem_object_plugins_shutdown (void); 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_action_error (const char *title, const char *reason, Totem *totem); void totem_action_exit (Totem *totem); void totem_add_to_playlist_and_play (Totem *totem, const char *uri, const char *display_name, gboolean add_to_recent); void totem_action_play (Totem *totem); void totem_action_play_media (Totem *totem, TotemDiscMediaType type, const char *device); void totem_action_play_media_device (Totem *totem, const char *device); void totem_action_play_pause (Totem *totem); void totem_action_pause (Totem *totem); void totem_action_stop (Totem *totem); void totem_action_fullscreen (Totem *totem, gboolean state); void totem_action_fullscreen_toggle (Totem *totem); void totem_action_next (Totem *totem); void totem_action_previous (Totem *totem); void totem_action_next_angle (Totem *totem); gboolean totem_action_remote_get_setting (Totem *totem, TotemRemoteSetting setting); void totem_action_remote_set_setting (Totem *totem, TotemRemoteSetting setting, gboolean value); void totem_action_seek_time (Totem *totem, gint64 sec); void totem_action_seek_relative (Totem *totem, gint64 offset); void totem_action_volume_relative (Totem *totem, double off_pct); void totem_action_volume_toggle_mute (Totem *totem); void totem_action_toggle_aspect_ratio (Totem *totem); int totem_action_get_aspect_ratio (Totem *totem); void totem_action_set_aspect_ratio (Totem *totem, int ratio); void totem_action_toggle_controls (Totem *totem); void totem_action_set_scale_ratio (Totem *totem, gfloat ratio); void totem_action_set_playlist_index (Totem *totem, guint index); void totem_action_remote (Totem *totem, TotemRemoteCommand cmd, const char *url); gboolean totem_is_fullscreen (Totem *totem); gboolean totem_is_playing (Totem *totem); gboolean totem_is_paused (Totem *totem); gboolean totem_is_seekable (Totem *totem); GtkWindow * totem_get_main_window (Totem *totem); GtkUIManager * totem_get_ui_manager (Totem *totem); GtkWidget * totem_get_video_widget (Totem *totem); char * totem_get_video_widget_backend_name (Totem *totem); char * totem_get_current_mrl (Totem *totem); gint64 totem_get_current_time (Totem *totem); void totem_set_current_subtitle (Totem *totem, const char *subtitle_uri); guint totem_get_playlist_length (Totem *totem); int totem_get_playlist_pos (Totem *totem); char * totem_get_short_title (Totem *totem); char * totem_get_title_at_playlist_pos (Totem *totem, guint playlist_index); void totem_add_sidebar_page (Totem *totem, const char *page_id, const char *title, GtkWidget *main_widget); void totem_remove_sidebar_page (Totem *totem, const char *page_id);
"current-mrl" gchar* : Read "current-time" gint64 : Read "fullscreen" gboolean : Read "playing" gboolean : Read "seekable" gboolean : Read "stream-length" gint64 : Read
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 struct { GObjectClass parent_class; void (*file_opened) (Totem *totem, const char *mrl); void (*file_closed) (Totem *totem); void (*metadata_updated) (Totem *totem, const char *artist, const char *title, const char *album, guint track_num); } TotemObjectClass;
The class structure for the TotemPlParser type.
GObjectClass |
the parent class |
|
the generic signal handler for the "file-opened" signal, which can be overridden by inheriting classes |
|
the generic signal handler for the "file-closed" signal, which can be overridden by inheriting classes |
|
the generic signal handler for the "metadata-updated" signal, which can be overridden by inheriting classes |
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_GCONF_PREFIX "/apps/totem"
The GConf prefix under which all Totem GConf keys 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 (void);
Shuts down the plugin engine and deactivates all the plugins.
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_action_error (const char *title, const char *reason, Totem *totem);
Displays a non-blocking error dialog with the
given title
and reason
.
|
the error dialog title |
|
the error dialog text |
|
a TotemObject |
void totem_add_to_playlist_and_play (Totem *totem, const char *uri, const char *display_name, gboolean add_to_recent);
Add uri
to the playlist and play it immediately.
|
a TotemObject |
|
the URI to add to the playlist |
|
the display name of the URI |
|
if TRUE , add the URI to the recent items list
|
void totem_action_play (Totem *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_action_play_media (Totem *totem, TotemDiscMediaType type, const char *device);
Attempts to play the media found on device
(for example, a DVD in a drive or a DVB
tuner) by first adding it to the playlist, then playing it.
An error dialog will be displayed if Totem cannot support media of type
.
|
a TotemObject |
|
the type of disc media |
|
the media's device path |
void totem_action_play_media_device (Totem *totem, const char *device);
Attempts to play the media device (for example, a DVD drive or CD drive)
with the given device
path by first adding it to the playlist, then
playing it.
An error dialog will be displayed if Totem cannot read or play what's on the media device.
|
a TotemObject |
|
the media device's path |
void totem_action_play_pause (Totem *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 (Totem *totem);
Pauses the current stream. If Totem is already paused, it continues to be paused.
|
a TotemObject |
void totem_action_stop (Totem *totem);
Stops the current stream.
|
a TotemObject |
void totem_action_fullscreen (Totem *totem, gboolean state);
Sets Totem's fullscreen state according to state
.
|
a TotemObject |
|
TRUE if Totem should be fullscreened
|
void totem_action_fullscreen_toggle (Totem *totem);
Toggles Totem's fullscreen state; if Totem is fullscreened, calling this makes it unfullscreened and vice-versa.
|
a TotemObject |
void totem_action_next (Totem *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_action_previous (Totem *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 (Totem *totem);
Switches to the next angle, if watching a DVD. If not watching a DVD, this is a no-op.
|
a TotemObject |
gboolean totem_action_remote_get_setting (Totem *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_action_remote_set_setting (Totem *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_action_seek_time (Totem *totem, gint64 sec);
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 |
void totem_action_seek_relative (Totem *totem, gint64 offset);
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 |
void totem_action_volume_relative (Totem *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 (Totem *totem);
Toggles the mute status.
|
a TotemObject |
void totem_action_toggle_aspect_ratio (Totem *totem);
Toggles the aspect ratio selected in the menu to the next one in the list.
|
a TotemObject |
int totem_action_get_aspect_ratio (Totem *totem);
Gets the current aspect ratio as defined in BvwAspectRatio.
|
a TotemObject |
Returns : |
the current aspect ratio |
void totem_action_set_aspect_ratio (Totem *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 (Totem *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 (Totem *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 (Totem *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_action_remote (Totem *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 (Totem *totem);
Returns TRUE
if Totem is fullscreened.
|
a TotemObject |
Returns : |
TRUE if Totem is fullscreened
|
gboolean totem_is_playing (Totem *totem);
Returns TRUE
if Totem is playing a stream.
|
a TotemObject |
Returns : |
TRUE if Totem is playing a stream
|
gboolean totem_is_paused (Totem *totem);
Returns TRUE
if playback is paused.
|
a TotemObject |
Returns : |
TRUE if playback is paused, FALSE otherwise
|
gboolean totem_is_seekable (Totem *totem);
Returns TRUE
if the current stream is seekable.
|
a TotemObject |
Returns : |
TRUE if the current stream is seekable
|
GtkWindow * totem_get_main_window (Totem *totem);
Gets Totem's main window and increments its reference count.
|
a TotemObject |
Returns : |
Totem's main window |
GtkUIManager * totem_get_ui_manager (Totem *totem);
Gets Totem's UI manager, but does not change its reference count.
|
a TotemObject |
Returns : |
Totem's UI manager |
GtkWidget * totem_get_video_widget (Totem *totem);
Gets Totem's video widget and increments its reference count.
|
a TotemObject |
Returns : |
Totem's video widget |
char * totem_get_video_widget_backend_name (Totem *totem);
Gets the name string of the backend video widget, typically the video library's
version string (e.g. what's returned by gst_version_string()
). Free with g_free()
.
|
a TotemObject |
Returns : |
a newly-allocated string of the name of the backend video widget |
char * totem_get_current_mrl (Totem *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 |
gint64 totem_get_current_time (Totem *totem);
Gets the current position's time in the stream as a gint64.
|
a TotemObject |
Returns : |
the current position in the stream |
void totem_set_current_subtitle (Totem *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_get_playlist_length (Totem *totem);
Returns the length of the current playlist.
|
a TotemObject |
Returns : |
the playlist length |
int totem_get_playlist_pos (Totem *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_get_short_title (Totem *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()
|
char * totem_get_title_at_playlist_pos (Totem *totem, guint playlist_index);
Gets the title of the playlist entry at index
.
|
a TotemObject |
|
|
Returns : |
the entry title at index , or NULL ; free with g_free()
|
void totem_add_sidebar_page (Totem *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_remove_sidebar_page (Totem *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 |
"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
"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-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. |
"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. |