rb-header

rb-header — playback area widgetry

Synopsis

                    RBHeader;
                    RBHeaderClass;
RBHeader*           rb_header_new                       (RBShellPlayer *shell_player,
                                                         RhythmDB *db);
void                rb_header_set_playing_entry         (RBHeader *header,
                                                         RhythmDBEntry *entry,
                                                         gboolean seekable);
void                rb_header_sync                      (RBHeader *header);
void                rb_header_sync_time                 (RBHeader *header);
char*               rb_header_get_elapsed_string        (RBHeader *header);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkContainer
                           +----GtkBox
                                 +----GtkHBox
                                       +----RBHeader

Implemented Interfaces

RBHeader implements AtkImplementorIface and GtkBuildable.

Properties

  "db"                       RhythmDB*             : Read / Write
  "entry"                    RhythmDBEntry*        : Read / Write
  "seekable"                 gboolean              : Read / Write
  "shell-player"             RBShellPlayer*        : Read / Write / Construct Only
  "slider-dragging"          gboolean              : Read

Description

The RBHeader widget displays information about the current playing track (title, album, artist), the elapsed or remaining playback time, and a position slider indicating the playback position. It translates slider move and drag events into seek requests for the player backend.

For shoutcast-style streams, the title/artist/album display is supplemented by metadata extracted from the stream. See RBStreamingSource for more information on how the metadata is reported.

Details

RBHeader

typedef struct _RBHeader RBHeader;


RBHeaderClass

typedef struct {
	GtkHBoxClass parent;
} RBHeaderClass;


rb_header_new ()

RBHeader*           rb_header_new                       (RBShellPlayer *shell_player,
                                                         RhythmDB *db);

shell_player :

the RBShellPlayer instance

db :

the RhythmDB instance

Returns :

the header widget

rb_header_set_playing_entry ()

void                rb_header_set_playing_entry         (RBHeader *header,
                                                         RhythmDBEntry *entry,
                                                         gboolean seekable);

Sets a new playing entry to be displayed in the header.

header :

the RBHeader

entry :

the new playing RhythmDBEntry

seekable :

whether the new playing entry is seekable

rb_header_sync ()

void                rb_header_sync                      (RBHeader *header);

Updates the header widget to be consistent with the current playing entry including all streaming metadata.

header :

the RBHeader

rb_header_sync_time ()

void                rb_header_sync_time                 (RBHeader *header);

Updates the time display components of the header. If the position slider is being dragged, the display is not updated. If the duration of the playing entry is known, the position slider is updated along with the elapsed/remaining time display. Otherwise, the slider is made insensitive.

header :

the RBHeader

rb_header_get_elapsed_string ()

char*               rb_header_get_elapsed_string        (RBHeader *header);

header :

Returns :

Property Details

The "db" property

  "db"                       RhythmDB*             : Read / Write

RhythmDB instance


The "entry" property

  "entry"                    RhythmDBEntry*        : Read / Write

The RhythmDBEntry to display


The "seekable" property

  "seekable"                 gboolean              : Read / Write

If TRUE, the header should allow seeking by dragging the playback position slider

Default value: TRUE


The "shell-player" property

  "shell-player"             RBShellPlayer*        : Read / Write / Construct Only

The RBShellPlayer instance


The "slider-dragging" property

  "slider-dragging"          gboolean              : Read

Whether the song position slider is currently being dragged.

Default value: FALSE